]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(VERIFY): Rewrite to use string-concatenation
authorJim Meyering <jim@meyering.net>
Wed, 29 Jun 2005 16:23:15 +0000 (16:23 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 29 Jun 2005 16:23:15 +0000 (16:23 +0000)
and __LINE__ so as not to require a struct name parameter.
(GL_CONCAT, GL_CONCAT2, GL_LINE_CONCAT): Define helper macros.

src/system.h

index 0ffc8a58991f2e864533cbad017a35497ad2c6ee..79d6dbb39382271f84a190a98269fbcff2b285c9 100644 (file)
@@ -812,8 +812,12 @@ ptr_align (void const *ptr, size_t alignment)
   return (void *) (p1 - (size_t) p1 % alignment);
 }
 
+#define GL_CONCAT(x,y) x##y
+#define GL_CONCAT2(x,y) GL_CONCAT(x,y)
+#define GL_LINE_CONCAT(x) GL_CONCAT2(x, __LINE__)
 /* Verify a requirement at compile-time (unlike assert, which is runtime).  */
-#define VERIFY(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
+#define VERIFY(assertion) \
+  struct GL_LINE_CONCAT(compile_time_assert) { char a[(assertion) ? 1 : -1]; }
 
 /* Like the above, but use an expression rather than a struct declaration.
    This macro may be used in some contexts where the other may not.  */