MINOR: compiler: add a simple macro to concatenate resolved strings
authorWilly Tarreau <w@1wt.eu>
Wed, 12 Mar 2025 17:06:55 +0000 (18:06 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 20 Mar 2025 10:38:00 +0000 (11:38 +0100)
It's often useful to be able to concatenate strings after resolving
them (e.g. __FILE__, __LINE__ etc). Let's just have a CONCAT() macro
to do that, which calls _CONCAT() with the same arguments to make
sure the contents are resolved before being concatenated.

(cherry picked from commit bb4addabb742f2305ad6667ed42ebb12f5df2af3)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit af1e0b247e64678927793e9cd6e10907b0eebb27)
Signed-off-by: Willy Tarreau <w@1wt.eu>

include/haproxy/compiler.h

index d8e8a72..e719272 100644 (file)
 #define _TOSTR(x) #x
 #define TOSTR(x) _TOSTR(x)
 
+/* concatenates the two strings after resolving possible macros */
+#define _CONCAT(a,b) a ## b
+#define CONCAT(a,b) _CONCAT(a,b)
+
 /*
  * Gcc >= 3 provides the ability for the program to give hints to the
  * compiler about what branch of an if is most likely to be taken. This