merge from gcc

This commit is contained in:
DJ Delorie 2009-06-03 21:02:16 +00:00
parent c801709ed5
commit f95df56a61
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2009-06-02 Ian Lance Taylor <iant@google.com>
* ansidecl.h (EXPORTED_CONST): Define.
2009-05-31 Ian Lance Taylor <iant@google.com> 2009-05-31 Ian Lance Taylor <iant@google.com>
* ansidecl.h: Add extern "C" when compiling with C++. Treat C++ * ansidecl.h: Add extern "C" when compiling with C++. Treat C++

View File

@ -395,6 +395,18 @@ So instead we use the macro below and test it against specific values. */
#define __extension__ #define __extension__
#endif #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 #ifdef __cplusplus
} }
#endif #endif