(cpp.info.gz) Defined

Info Catalog (cpp.info.gz) If (cpp.info.gz) Conditional Syntax (cpp.info.gz) Else
 
 4.2.3 Defined
 -------------
 
 The special operator `defined' is used in `#if' and `#elif' expressions
 to test whether a certain name is defined as a macro.  `defined NAME'
 and `defined (NAME)' are both expressions whose value is 1 if NAME is
 defined as a macro at the current point in the program, and 0
 otherwise.  Thus,  `#if defined MACRO' is precisely equivalent to
 `#ifdef MACRO'.
 
    `defined' is useful when you wish to test more than one macro for
 existence at once.  For example,
 
      #if defined (__vax__) || defined (__ns16000__)
 
 would succeed if either of the names `__vax__' or `__ns16000__' is
 defined as a macro.
 
    Conditionals written like this:
 
      #if defined BUFSIZE && BUFSIZE >= 1024
 
 can generally be simplified to just `#if BUFSIZE >= 1024', since if
 `BUFSIZE' is not defined, it will be interpreted as having the value
 zero.
 
    If the `defined' operator appears as a result of a macro expansion,
 the C standard says the behavior is undefined.  GNU cpp treats it as a
 genuine `defined' operator and evaluates it normally.  It will warn
 wherever your code uses this feature if you use the command-line option
 `-pedantic', since other compilers may handle it differently.
 
Info Catalog (cpp.info.gz) If (cpp.info.gz) Conditional Syntax (cpp.info.gz) Else
automatically generated by info2html