FINAL/OVERRIDE: Define to empty on g++ < 4.7
final/override were only implemented in g++ 4.7. include/ChangeLog 2016-10-14 Pedro Alves <palves@redhat.com> * ansidecl.h [__cplusplus >= 201103 && GCC_VERSION < 4007] (FINAL, OVERRIDE): Define as empty. [__cplusplus < 201103 && GCC_VERSION < 4007] (FINAL): Define as __final. [__cplusplus < 201103 && GCC_VERSION >= 4007] (OVERRIDE): Define as empty. From-SVN: r241167
This commit is contained in:
parent
2121e959e1
commit
30cd7c740c
@ -1,3 +1,12 @@
|
||||
2016-10-14 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* ansidecl.h [__cplusplus >= 201103 && GCC_VERSION < 4007] (FINAL,
|
||||
OVERRIDE): Define as empty.
|
||||
[__cplusplus < 201103 && GCC_VERSION < 4007] (FINAL): Define as
|
||||
__final.
|
||||
[__cplusplus < 201103 && GCC_VERSION >= 4007] (OVERRIDE): Define as
|
||||
empty.
|
||||
|
||||
2016-10-14 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* ansidecl.h (GCC_FINAL): Delete.
|
||||
|
@ -329,13 +329,23 @@ So instead we use the macro below and test it against specific values. */
|
||||
this by default (actually GNU++14). */
|
||||
|
||||
#if __cplusplus >= 201103
|
||||
/* C++11 claims to be available: use it: */
|
||||
#define OVERRIDE override
|
||||
#define FINAL final
|
||||
/* C++11 claims to be available: use it. final/override were only
|
||||
implemented in 4.7, though. */
|
||||
# if GCC_VERSION < 4007
|
||||
# define OVERRIDE
|
||||
# define FINAL
|
||||
# else
|
||||
# define OVERRIDE override
|
||||
# define FINAL final
|
||||
# endif
|
||||
#elif GCC_VERSION >= 4007
|
||||
/* G++ 4.7 supports __final in C++98. */
|
||||
# define OVERRIDE
|
||||
# define FINAL __final
|
||||
#else
|
||||
/* No C++11 support; leave the macros empty: */
|
||||
#define OVERRIDE
|
||||
#define FINAL
|
||||
# define OVERRIDE
|
||||
# define FINAL
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
Loading…
Reference in New Issue
Block a user