Other macros

These macros are supported by XL C/C++. They do not have predefined values.

Table 1. Other macros
Macro name Description Example
__has_include Checks for the existence of a given include file.

You must use this macro as expressions in #if or #elif preprocessing directives. The macro evaluates to 1 if the given include file is found in the include paths; otherwise, it evaluates to 0.

__has_include("include_file_name.h")

__has_include(<include_file_name.h>)

__has_include_next Checks for a second instance of a given include file.

You must use this macro as expressions in #if or #elif preprocessing directives. You can use this macro only in headers. If the macro is used in the top-level compilation file, the compiler will issue a warning message. The compiler will also issue a warning message if an absolute path is used in the file argument.

The macro evaluates to 1 if a second instance of the given include file is found in the include paths; otherwise, it evaluates to 0.

__has_include_next("include_file_name.h")

__has_include_next(<include_file_name.h>)



Voice your opinion on getting help information Ask IBM compiler experts a technical question in the IBM XL compilers forum Reach out to us