
_clang_minor_ Defined to the minor version number of Clang (e.g., the 0 in 2.0.1). Instead, use the Feature Checking Macros. Language features, as different vendors use different numbering schemes. Note that marketing version numbers should not be used to check for _clang_ Defined when compiling with Clang _clang_major_ Defined to the major marketing version number of Clang (e.g., the 2 inĢ.0.1). _TIMESTAMP_ Defined to the date and time of the last modification of the current sourceįile. _INCLUDE_LEVEL_ Defined to an integral value that is the include depth of the file currentlyīeing translated. _COUNTER_ Defined to an integer value that starts at zero and is incremented each time
#MAX MACRO IN C FULL#
Renders the last path component (the filename) instead of an invocationĭependent full path to that file. _FILE_NAME_ Clang-specific extension that functions similar to _FILE_ but only For instance, _cxx_rvalue_references_ can be used insteadīuiltin Macros ¶ _BASE_FILE_ Defined to a string that contains the name of the main input file passed toĬlang. The feature name or extension name can also be specified with a preceding andįollowing _ (double underscore) to avoid interference from a macro with The feature tag is described along with the language feature below. If the -pedantic-errors option is given, _has_extension is equivalent features not prefixed c_,Īnother use of _has_feature is to check for compiler features not related #endifįor backward compatibility, _has_feature can also be used to testįor support for non-standardized features, i.e.
#MAX MACRO IN C CODE#
#endif #if _has_extension(cxx_rvalue_references) // This code will be compiled with the -std=c++11, -std=gnu++11, -std=c++98 // and -std=gnu++98 options, because rvalue references are supported as a // language extension in C++98. #if _has_feature(cxx_rvalue_references) // This code will only be compiled with the -std=c++11 and -std=gnu++11 // options, because rvalue references are only standardized in C++11. #endif #ifndef _has_extension #define _has_extension _has_feature // Compatibility with pre-3.0 compilers. #define _has_feature(x) 0 // Compatibility with non-clang compilers. #ifndef _has_feature // Optional of course.

Specifying Linker Options on ELF Targets.Specifying section names for global objects (#pragma clang section).Specifying an attribute for multiple declarations (#pragma clang attribute).Extensions to specify floating-point flags.

