aboutsummaryrefslogtreecommitdiff
path: root/include/ansidecl.h
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2009-06-03 21:02:16 +0000
committerDJ Delorie <dj@redhat.com>2009-06-03 21:02:16 +0000
commit8466c6d4d39ac880edc6c44e60585517c20e4068 (patch)
tree7e88633e1ea67911fc5ce2e1830867c111206043 /include/ansidecl.h
parentc121c67179b6efad582135a65934f7a01fe7cdfc (diff)
downloadgdb-8466c6d4d39ac880edc6c44e60585517c20e4068.zip
gdb-8466c6d4d39ac880edc6c44e60585517c20e4068.tar.gz
gdb-8466c6d4d39ac880edc6c44e60585517c20e4068.tar.bz2
merge from gcc
Diffstat (limited to 'include/ansidecl.h')
-rw-r--r--include/ansidecl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/ansidecl.h b/include/ansidecl.h
index c83b8c0..f9864cd 100644
--- a/include/ansidecl.h
+++ b/include/ansidecl.h
@@ -395,6 +395,18 @@ So instead we use the macro below and test it against specific values. */
#define __extension__
#endif
+/* This is used to declare a const variable which should be visible
+ outside of the current compilation unit. Use it as
+ EXPORTED_CONST int i = 1;
+ This is because the semantics of const are different in C and C++.
+ "extern const" is permitted in C but it looks strange, and gcc
+ warns about it when -Wc++-compat is not used. */
+#ifdef __cplusplus
+#define EXPORTED_CONST extern const
+#else
+#define EXPORTED_CONST const
+#endif
+
#ifdef __cplusplus
}
#endif