* symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 23 Mar 2010 15:58:51 +0000 (15:58 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 23 Mar 2010 15:58:51 +0000 (15:58 +0000)
include/ChangeLog
include/symcat.h

index db46654..9eb59aa 100644 (file)
@@ -1,3 +1,7 @@
+2010-03-23  Joseph Myers  <joseph@codesourcery.com>
+
+       * symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define.
+
 2010-01-13  Joel Brobecker  <brobecker@adacore.com>
 
        Add new DW_AT_use_GNAT_descriptive_type CU attribute.
index 03a1292..b461287 100644 (file)
@@ -1,6 +1,6 @@
 /* Symbol concatenation utilities.
 
-   Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2000, 2010 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,6 +23,8 @@
 #define CONCAT2(a,b)    a##b
 #define CONCAT3(a,b,c)  a##b##c
 #define CONCAT4(a,b,c,d) a##b##c##d
+#define CONCAT5(a,b,c,d,e) a##b##c##d##e
+#define CONCAT6(a,b,c,d,e,f) a##b##c##d##e##f
 #define STRINGX(s) #s
 #else
 /* Note one should never pass extra whitespace to the CONCATn macros,
 #define CONCAT2(a,b)    a/**/b
 #define CONCAT3(a,b,c)  a/**/b/**/c
 #define CONCAT4(a,b,c,d) a/**/b/**/c/**/d
+#define CONCAT5(a,b,c,d,e) a/**/b/**/c/**/d/**/e
+#define CONCAT6(a,b,c,d,e,f) a/**/b/**/c/**/d/**/e/**/f
 #define STRINGX(s) "s"
 #endif
 
 #define XCONCAT2(a,b)     CONCAT2(a,b)
 #define XCONCAT3(a,b,c)   CONCAT3(a,b,c)
 #define XCONCAT4(a,b,c,d) CONCAT4(a,b,c,d)
+#define XCONCAT5(a,b,c,d,e) CONCAT5(a,b,c,d,e)
+#define XCONCAT6(a,b,c,d,e,f) CONCAT6(a,b,c,d,e,f)
 
 /* Note the layer of indirection here is typically used to allow
    stringification of the expansion of macros.  I.e. "#define foo