Red Hat ENTERPRISE LINUX 3 - USING CPP Using Instructions page 28

Using cpp, the c preprocessor
Hide thumbs Also See for ENTERPRISE LINUX 3 - USING CPP:
Table of Contents

Advertisement

24
__BASE_FILE__
This macro expands to the name of the main input file, in the form of a C string constant. This is
the source file that was specified on the command line of the preprocessor or C compiler.
__INCLUDE_LEVEL__
This macro expands to a decimal integer constant that represents the depth of nesting in include
files. The value of this macro is incremented on every
the end of every included file. It starts out at 0, it's value within the base file specified on the
command line.
__VERSION__
This macro expands to a string constant which describes the version of the compiler in use. You
should not rely on its contents having any particular form, but it can be counted on to contain at
least the release number.
__OPTIMIZE__
__OPTIMIZE_SIZE__
__NO_INLINE__
These macros describe the compilation mode.
pilations.
__OPTIMIZE_SIZE__
__NO_INLINE__
ing, or when inlining has been specifically disabled by
These macros cause certain GNU header files to provide optimized definitions, using macros or
inline functions, of system library functions. You should not use these macros in any way unless
you make sure that programs will execute with the same effect whether or not they are defined.
If they are defined, their value is 1.
__CHAR_UNSIGNED__
GCC defines this macro if and only if the data type
It exists to cause the standard header file
macro yourself; instead, refer to the standard macros defined in
__REGISTER_PREFIX__
This macro expands to a single token (not a string constant) which is the prefix applied to CPU
register names in assembly language for this target. You can use it to write assembly that is usable
in multiple environments. For example, in the
but in the
m68k-coff
__USER_LABEL_PREFIX__
This macro expands to a single token which is the prefix applied to user labels (symbols visible
to C code) in assembly. For example, in the
the
m68k-coff
This macro will have the correct definition even if
will not be correct if target-specific options that adjust this prefix are used (e.g. the OSF/rose
-mno-underscores
__SIZE_TYPE__
__PTRDIFF_TYPE__
__WCHAR_TYPE__
__WINT_TYPE__
These macros are defined to the correct underlying types for the
and
typedefs, respectively. They exist to make the standard header files
wint_t
is defined if the compiler is optimizing for size, not speed.
is defined if no functions will be inlined into their callers (when not optimiz-
environment it expands to a single
environment it expands to nothing.
option).
#include
__OPTIMIZE__
-fno-inline
is unsigned on the target machine.
char
to work correctly. You should not use this
limits.h
environment it expands to nothing,
m68k-aout
.
%
environment it expands to an
m68k-aout
-f(no-)underscores
Chapter 3. Macros
directive and decremented at
is defined in all optimizing com-
).
.
limits.h
is in use, but it
,
size_t
ptrdiff_t
stddef.h
, but in
_
,
,
wchar_t
and

Advertisement

Table of Contents
loading

This manual is also suitable for:

Enterprise linux 3

Table of Contents