diff options
Diffstat (limited to 'ACE/ace/config-g++-common.h')
-rw-r--r-- | ACE/ace/config-g++-common.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/ACE/ace/config-g++-common.h b/ACE/ace/config-g++-common.h index 4ced0ef10b6..9d60b39d174 100644 --- a/ACE/ace/config-g++-common.h +++ b/ACE/ace/config-g++-common.h @@ -38,7 +38,22 @@ # if __cplusplus > 201103L # define ACE_HAS_CPP14 # endif -#endif +#endif /* __GNUC__ >= 4.7 */ + +// *NOTE*: this feature may go back further, see e.g.: +// https://gcc.gnu.org/projects/cxx0x.html +#if defined (ACE_HAS_CPP11) +# if (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) +# define ACE_HAS_CPP11_EXTERN_TEMPLATES +# endif /* __GNUC__ >= 4.3 */ + +// *NOTE*: suppress a warning, g++ 5.2.1 does not support attributes on template +// instantiation declarations +// *TODO*: this probably goes back further than 5.2 +# if (__GNUC__ >= 6 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 2)) +# define ACE_LACKS_CPP11_EXTERN_TEMPLATE_ATTRIBUTES +# endif /* __GNUC__ >= 5.2 */ +#endif /* ACE_HAS_CPP11 */ #if (defined (i386) || defined (__i386__)) && !defined (ACE_SIZEOF_LONG_DOUBLE) # define ACE_SIZEOF_LONG_DOUBLE 12 |