pike.git / src / cpp.cmod

version» Context lines:

pike.git/src/cpp.cmod:5300:    }    }       if(compat_major)    cpp_change_compat(this, compat_major, compat_minor);       this->picky_cpp = picky_cpp;    pop_n_elems(args);    }    +  /*! @decl void define_macro(string name, string|void value) +  *! +  *! Define a cpp macro. +  */ +  PIKEFUN void define_macro(string name, string|void value) +  { +  struct CPP_struct *this = THIS; +  +  if (!value) value = empty_pike_string; +  +  add_define(this, name, value); +  } +     /*! @decl void define_ansi_macros()    *!    *! Adds some cpp macros defined by the ANSI-C standards,    *! such as @[__FILE__], @[__LINE__], etc.    *!    *! @seealso -  *! @[define_pike_macros()] +  *! @[define_macro()], @[define_pike_macros()]    */    PIKEFUN void define_ansi_macros()    {    struct CPP_struct *this = THIS;       /* These attempt to be compatible with the C standard. */    do_magic_define(this,"__LINE__",insert_current_line);    do_magic_define(this,"__FILE__",insert_current_file_as_string);    do_magic_define(this,"__DATE__",insert_current_date_as_string);    do_magic_define(this,"__TIME__",insert_current_time_as_string);
pike.git/src/cpp.cmod:5329:    do_magic_define(this,"_Pragma",insert_pragma)->args = 1;    simple_add_define(this, "static_assert", "_Static_assert");    }       /*! @decl void define_pike_macros()    *!    *! Adds some pike-specific cpp macros,    *! such as @[__DIR__], @[__VERSION__], [__PIKE__], etc.    *!    *! @seealso -  *! @[define_ansi_macros()] +  *! @[define_macro()], @[define_ansi_macros()]    */    PIKEFUN void define_pike_macros()    {    struct CPP_struct *this = THIS;       /* These are Pike extensions. */    do_magic_define(this,"__DIR__",insert_current_dir_as_string);    do_magic_define(this,"__VERSION__",insert_current_version);    do_magic_define(this,"__MAJOR__",insert_current_major);    do_magic_define(this,"__MINOR__",insert_current_minor);