PIPS
preprocessor-local.h File Reference

Go to the source code of this file.

Macros

#define SRCPATH   "PIPS_SRCPATH"
 Preprocessing and splitting of Fortran and C files. More...
 
#define CPP_PIPS_ENV   "PIPS_CPP"
 pre-processor and added options from environment More...
 
#define CPP_PIPS_OPTIONS_ENV   "PIPS_CPP_FLAGS"
 
#define FPP_PIPS_ENV   "PIPS_FPP"
 
#define FPP_PIPS_OPTIONS_ENV   "PIPS_FPP_FLAGS"
 
#define CPP_CPP   "cpp -C -std=c99"
 default preprocessor and basic options -C: do not discard comments... More...
 
#define CPP_CPPFLAGS   " -D__PIPS__ -D__HPFC__ -U__GNUC__ "
 #define CPP_CPPFLAGS " -P -D__PIPS__ -D__HPFC__ " More...
 
#define FPP_CPP   "gfortran -E"
 The preprocessor to use for Fortran files. More...
 
#define FPP_CPPFLAGS   " -P -D__PIPS__ -D__HPFC__ "
 The default preprocessor flags to use with Fortran files. More...
 
#define DEFAULT_PIPS_FLINT   "gfortran -Wall"
 
#define DEFAULT_PIPS_CC   "gcc -std=c99 -D__PIPS__ -D__HPFC__ -U__GNUC__ "
 See necessary definitions in pipsmake-rc.tex. More...
 
#define DEFAULT_PIPS_CC_FLAGS   " -Wall "
 
#define csplit_parser_warning(...)
 

Typedefs

typedef size_t yy_size_t
 symbols exported by lex / yacc More...
 

Functions

void MakeTypedefStack ()
 Define some functions from the .l or .y since cproto cannot dig them out: More...
 
void ResetTypedefStack ()
 
int splitc_lex ()
 
int splitc_lex_destroy ()
 
int splitc_parse ()
 
void splitc_error (const char *)
 

Variables

char * splitc_text
 
FILE * splitc_in
 

Macro Definition Documentation

◆ CPP_CPP

#define CPP_CPP   "cpp -C -std=c99"

default preprocessor and basic options -C: do not discard comments...

-P: inhibit linemakers (# 1 "file.c") -ffreestanding: ignore "stdc-predef.h"

Definition at line 44 of file preprocessor-local.h.

◆ CPP_CPPFLAGS

#define CPP_CPPFLAGS   " -D__PIPS__ -D__HPFC__ -U__GNUC__ "

#define CPP_CPPFLAGS " -P -D__PIPS__ -D__HPFC__ "

-U__GNUC__ seems to be still useful to avoid spoiling the libC files with too many GCC extensions:

Definition at line 49 of file preprocessor-local.h.

◆ CPP_PIPS_ENV

#define CPP_PIPS_ENV   "PIPS_CPP"

pre-processor and added options from environment

Definition at line 32 of file preprocessor-local.h.

◆ CPP_PIPS_OPTIONS_ENV

#define CPP_PIPS_OPTIONS_ENV   "PIPS_CPP_FLAGS"

Definition at line 33 of file preprocessor-local.h.

◆ csplit_parser_warning

#define csplit_parser_warning (   ...)
Value:
__VA_ARGS__)
#define CURRENT_FUNCTION
package arithmetique
void csplit_parser_warning_func(const char *, const char *, const int, const string,...)
Definition: splitc.c:174

Definition at line 73 of file preprocessor-local.h.

◆ DEFAULT_PIPS_CC

#define DEFAULT_PIPS_CC   "gcc -std=c99 -D__PIPS__ -D__HPFC__ -U__GNUC__ "

See necessary definitions in pipsmake-rc.tex.

Definition at line 66 of file preprocessor-local.h.

◆ DEFAULT_PIPS_CC_FLAGS

#define DEFAULT_PIPS_CC_FLAGS   " -Wall "

Definition at line 67 of file preprocessor-local.h.

◆ DEFAULT_PIPS_FLINT

#define DEFAULT_PIPS_FLINT   "gfortran -Wall"

Definition at line 62 of file preprocessor-local.h.

◆ FPP_CPP

#define FPP_CPP   "gfortran -E"

The preprocessor to use for Fortran files.

Alternative values: "gcc -E -C" or "fpp". The issue with cpp or gcc -E is that they don't undestand Fortran and chokes on unbalanced strings in Fortran comments and so on.

Definition at line 57 of file preprocessor-local.h.

◆ FPP_CPPFLAGS

#define FPP_CPPFLAGS   " -P -D__PIPS__ -D__HPFC__ "

The default preprocessor flags to use with Fortran files.

Definition at line 60 of file preprocessor-local.h.

◆ FPP_PIPS_ENV

#define FPP_PIPS_ENV   "PIPS_FPP"

Definition at line 34 of file preprocessor-local.h.

◆ FPP_PIPS_OPTIONS_ENV

#define FPP_PIPS_OPTIONS_ENV   "PIPS_FPP_FLAGS"

Definition at line 35 of file preprocessor-local.h.

◆ SRCPATH

#define SRCPATH   "PIPS_SRCPATH"

Preprocessing and splitting of Fortran and C files.

the name of the environment variable where source files are searched for.

Definition at line 28 of file preprocessor-local.h.

Typedef Documentation

◆ yy_size_t

typedef size_t yy_size_t

symbols exported by lex / yacc

Definition at line 78 of file preprocessor-local.h.

Function Documentation

◆ MakeTypedefStack()

void MakeTypedefStack ( )

Define some functions from the .l or .y since cproto cannot dig them out:

Definition at line 243 of file splitc.c.

244  {
245  pips_assert("TypedefStack is undefined", stack_undefined_p(TypedefStack));
247 }
@ int_domain
Definition: genC.h:166
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
Definition: misc-local.h:172
stack stack_make(int, int, int)
allocation
Definition: stack.c:246
#define stack_undefined_p(s)
Definition: newgen_stack.h:56
static stack TypedefStack
to know if this is a typedef name or not
Definition: splitc.c:227

References int_domain, pips_assert, stack_make(), stack_undefined_p, and TypedefStack.

Referenced by csplit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ResetTypedefStack()

void ResetTypedefStack ( )

Definition at line 249 of file splitc.c.

250  {
254  }
255  else
256  pips_internal_error("TypedefStack is not empty");
257  }
#define pips_internal_error
Definition: misc-local.h:149
#define stack_undefined
Definition: newgen_stack.h:55
bool stack_empty_p(const stack)
void stack_free(stack *)
type, bucket_size, policy
Definition: stack.c:292

References pips_internal_error, stack_empty_p(), stack_free(), stack_undefined, and TypedefStack.

+ Here is the call graph for this function:

◆ splitc_error()

void splitc_error ( const char *  )

◆ splitc_lex()

int splitc_lex ( )

◆ splitc_lex_destroy()

int splitc_lex_destroy ( )

Referenced by csplit_parser_error().

+ Here is the caller graph for this function:

◆ splitc_parse()

int splitc_parse ( )

Referenced by csplit().

+ Here is the caller graph for this function:

Variable Documentation

◆ splitc_in

FILE * splitc_in
extern

Definition at line 174 of file preprocessor.h.

Referenced by csplit(), and csplit_close_files().

◆ splitc_text

char * splitc_text
extern

Definition at line 178 of file preprocessor.h.