diff options
author | DJ Delorie <dj@redhat.com> | 2009-06-03 21:02:16 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2009-06-03 21:02:16 +0000 |
commit | f95df56a61ab3ac473a1ac1ff1f78aade0a3082c (patch) | |
tree | fd1788c977cd6eb51ba3428d6f0e5b2e50d15671 /include/ansidecl.h | |
parent | c801709ed5776bf9d2af4c50b63405f2b6199f2e (diff) | |
download | cygnal-f95df56a61ab3ac473a1ac1ff1f78aade0a3082c.tar.gz cygnal-f95df56a61ab3ac473a1ac1ff1f78aade0a3082c.tar.bz2 cygnal-f95df56a61ab3ac473a1ac1ff1f78aade0a3082c.zip |
merge from gcc
Diffstat (limited to 'include/ansidecl.h')
-rw-r--r-- | include/ansidecl.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/ansidecl.h b/include/ansidecl.h index c83b8c039..f9864cd38 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 |