⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch-tree.h

📁 gcc-2.95.3 Linux下最常用的C编译器
💻 H
📖 第 1 页 / 共 4 页
字号:
  CH_ALL_CLASS, CH_NULL_CLASS,  CH_VALUE_CLASS, CH_DERIVED_CLASS, CH_REFERENCE_CLASS};typedef struct ch_class {  enum ch_class_kind kind;  tree mode;  /* The 'M' in M-value, M-derived, or M-reference. */} ch_class;struct mode_chain;  /* Forward reference */#define CH_IS_REFERENCE_MODE(MODE) (TREE_CODE (MODE) == POINTER_TYPE)#define CH_IS_BOUND_REFERENCE_MODE(MODE) \  (TREE_CODE (MODE) == POINTER_TYPE && TREE_TYPE(MODE) != void_type_node)#define CH_IS_PROCEDURE_MODE(MODE) (TREE_CODE (MODE) == FUNCTION_TYPE)#define CH_IS_INSTANCE_MODE(MODE)  (CH_SIMILAR (MODE, instance_type_node))#define CH_IS_BUFFER_MODE(MODE)    (TYPE_LANG_FLAG_3(MODE))#define CH_IS_EVENT_MODE(MODE)     (TYPE_LANG_FLAG_4(MODE))/* This is TRUE if the set is numbered, which makes pred/succ   unusable */#define CH_ENUM_IS_NUMBERED(MODE)  (TYPE_LANG_FLAG_5(MODE))/* for ACCESS, and TEXT mode */#define CH_IS_ACCESS_MODE(MODE)        (TYPE_LANG_FLAG_2(MODE))#define CH_IS_TEXT_MODE(MODE)          (TYPE_LANG_FLAG_6(MODE))#define CH_IS_ASSOCIATION_MODE(MODE)   (CH_SIMILAR (MODE, association_type_node))#define CH_IS_USAGE_MODE(MODE)         (CH_SIMILAR (MODE, usage_type_node))#define CH_IS_WHERE_MODE(MODE)         (CH_SIMILAR (MODE, where_type_node))/* for RECORD or ARRAY type */#define CH_TYPE_NONVALUE_P(MODE)       (TYPE_LANG_FLAG_0(MODE))/* CH_NOVELTY is the novelty of a mode:  NULL_TREE means the novelty is nil;   otherwise a TYPE_DECL matching the defining occurrence of a newmode. */#define CH_NOVELTY(MODE)           TYPE_CONTEXT(MODE)/* Set the novelty of MODE to NOVELTY (which is assumed to be non-nil). */#define SET_CH_NOVELTY(MODE, NOVELTY) (CH_NOVELTY (MODE) = (NOVELTY))#define SET_CH_NOVELTY_NONNIL(MODE, NOVELTY) (CH_NOVELTY (MODE) = (NOVELTY))/* CH_DERIVED_FLAG is true the class of EXPR is X-derived for some X. */#define CH_DERIVED_FLAG(EXPR) TREE_LANG_FLAG_5(EXPR)#define CH_HAS_REFERENCING_PROPERTY(MODE) \  (TREE_CODE (MODE) == POINTER_TYPE) /* incomplete FIXME! *//* CH_COMPATIBLE(EXPR, MODE) is true if the class of EXPR is   "compatible" with the type MODE. */#define CH_COMPATIBLE(EXPR, MODE)           chill_compatible(EXPR, MODE)#define CH_COMPATIBLE_CLASSES(EXPR1, EXPR2) chill_compatible_classes(EXPR1, EXPR2)#define CH_STATIC_MODE(MODE)                  1 /* for now */#define CH_SIMILAR(MODE1, MODE2)              chill_similar(MODE1, MODE2, 0)#define CH_ROOT_MODE(MODE) chill_root_mode(MODE)#define CH_RESULTING_CLASS(C1, C2) chill_resulting_class(C1, C2)#define CH_ROOT_RESULTING_CLASS(E1, E2) \  CH_RESULTING_CLASS (chill_expr_class(E1), chill_expr_class(E2))#define CH_RESULTING_MODE(MODE1, MODE2) chill_resulting_mode(MODE1, MODE2)#define CH_V_EQUIVALENT(MODE1, MODE2) (CH_SIMILAR(MODE1, MODE2) \   && CH_NOVELTY(MODE1) == CH_NOVELTY(MODE2))#define CH_EQUIVALENT(MODE1, MODE2) \  (!integer_zerop (chill_equivalent (MODE1, MODE2, 0)))#define CH_RESTRICTABLE_TO(MODE1, MODE2)  \    CH_EQUIVALENT(MODE1, MODE2) /* && some more stuff FIXME! *//* pass an OFFSET_TYPE or REFERENCE_TYPE's underlying type to SCALAR_P */#define CH_READ_COMPATIBLE(modeM, modeN) chill_read_compatible(modeM, modeN)#define SCALAR_P(TYPE) (TYPE != NULL_TREE \			&& (TREE_CODE (TYPE) == INTEGER_TYPE \			    || TREE_CODE (TYPE) == REAL_TYPE \			    || TREE_CODE (TYPE) == ENUMERAL_TYPE \			    || TREE_CODE (TYPE) == BOOLEAN_TYPE \			    || TREE_CODE (TYPE) == CHAR_TYPE \			    || TREE_CODE (TYPE) == POINTER_TYPE \			    || TREE_CODE (TYPE) == INSTANCE_TYPE))#define CH_REFERABLE(EXPR) chill_referable(EXPR)#define CH_LOCATION_P(EXPR) chill_location (EXPR)extern int maybe_objc_comptypes ();extern tree maybe_building_objc_message_expr ();/* Standard named or nameless data types of the C compiler.  *//* Nonzero means `$' can be in an identifier.  */extern int dollars_in_ident;/* Nonzero means allow type mismatches in conditional expressions;   just make their values `void'.   */extern int flag_cond_mismatch;/* Nonzero means don't recognize the keyword `asm'.  */extern int flag_no_asm;/* Nonzero means warn about implicit declarations.  */extern int warn_implicit;/* Nonzero means give string constants the type `const char *'   to get extra warnings from them.  These warnings will be too numerous   to be useful, except in thoroughly ANSIfied programs.  */extern int warn_write_strings;/* Nonzero means warn about sizeof (function) or addition/subtraction   of function pointers.  */extern int warn_pointer_arith;/* Nonzero means warn for all old-style non-prototype function decls.  */extern int warn_strict_prototypes;/* Nonzero means warn about multiple (redundant) decls for the same single   variable or function.  */extern int warn_redundant_decls;/* Nonzero means warn about extern declarations of objects not at   file-scope level and about *all* declarations of functions (whether   extern or static) not at file-scope level.  Note that we exclude   implicit function declarations.  To get warnings about those, use   -Wimplicit.  */extern int warn_nested_externs;/* Nonzero means warn about pointer casts that can drop a type qualifier   from the pointer target type.  */extern int warn_cast_qual;/* Warn about traditional constructs whose meanings changed in ANSI C.  */extern int warn_traditional;/* Warn about *printf or *scanf format/argument anomalies. */extern int warn_format;/* Warn about a subscript that has type char.  */extern int warn_char_subscripts;/* Warn if a type conversion is done that might have confusing results.  */extern int warn_conversion;/* Warn if switch labels aren't complete, or are duplicated */extern int warn_switch;/* Nonzero means do some things the same way PCC does.  */extern int flag_traditional;/* Nonzero means warn about suggesting putting in ()'s.  */extern int warn_parentheses;/* Nonzero means this is a function to call to perform comptypes   on two record types.  */extern int (*comptypes_record_hook) ();/* Nonzero means we are reading code that came from a system header file.  */extern int system_header_p;/* One means range checking is on; <= 0 off; -1 permanently off. */extern int range_checking;/* 0 means empty checking is off, else it is on */extern int empty_checking;/* 1 means -fruntime-checking specified (default), o means -fno-runtime-checking */extern int runtime_checking_flag;/* Type node for boolean types.  */extern tree boolean_type_node;extern tree signed_boolean_type_node;extern tree string_one_type_node;extern tree bitstring_one_type_node, bit_zero_node, bit_one_node;extern tree float_type_node, double_type_node;extern tree void_type_node, ptr_type_node, const_ptr_type_node;/* a VOID_TYPE node, packaged in a TREE_LIST.  */extern tree void_list_node;/* Chill language-specific tree codes.  */#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,enum chill_tree_code {  __DUMMY = LAST_AND_UNUSED_TREE_CODE,#include "ch-tree.def"  LAST_CHILL_TREE_CODE};#undef DEFTREECODEenum chill_built_in_function{  DUMMY_FIRST_CHILL_BUILT_IN = END_BUILTINS,  BUILT_IN_CH_ABS,  BUILT_IN_ABSTIME,  BUILT_IN_ADDR,  BUILT_IN_ALLOCATE,  BUILT_IN_ALLOCATE_GLOBAL_MEMORY,  BUILT_IN_ALLOCATE_MEMORY,  BUILT_IN_ARCCOS,  BUILT_IN_ARCSIN,  BUILT_IN_ARCTAN,  BUILT_IN_ASSOCIATE,  BUILT_IN_CARD,  BUILT_IN_CONNECT,  BUILT_IN_COPY_NUMBER,  BUILT_IN_CH_COS,  BUILT_IN_CREATE,  BUILT_IN_DAYS,  BUILT_IN_CH_DELETE,  BUILT_IN_DESCR,  BUILT_IN_DISCONNECT,  BUILT_IN_DISSOCIATE,  BUILT_IN_EOLN,  BUILT_IN_EXP,  BUILT_IN_EXPIRED,  BUILT_IN_EXISTING,  BUILT_IN_GEN_CODE,  BUILT_IN_GEN_INST,  BUILT_IN_GEN_PTYPE,  BUILT_IN_GETASSOCIATION,  BUILT_IN_GETSTACK,  BUILT_IN_GETTEXTACCESS,  BUILT_IN_GETTEXTINDEX,  BUILT_IN_GETTEXTRECORD,  BUILT_IN_GETUSAGE,  BUILT_IN_HOURS,  BUILT_IN_INDEXABLE,  BUILT_IN_INTTIME,  BUILT_IN_ISASSOCIATED,  BUILT_IN_LENGTH,  BUILT_IN_LOG,  BUILT_IN_LOWER,  BUILT_IN_LN,  BUILT_IN_MAX,  BUILT_IN_MILLISECS,  BUILT_IN_MIN,  BUILT_IN_MINUTES,  BUILT_IN_MODIFY,  BUILT_IN_NUM,  BUILT_IN_OUTOFFILE,  BUILT_IN_PRED,  BUILT_IN_PROC_TYPE,  BUILT_IN_QUEUE_LENGTH,  BUILT_IN_READABLE,  BUILT_IN_READRECORD,  BUILT_IN_READTEXT,  BUILT_IN_RETURN_MEMORY,  BUILT_IN_SECS,  BUILT_IN_SETTEXTACCESS,  BUILT_IN_SETTEXTINDEX,  BUILT_IN_SETTEXTRECORD,  BUILT_IN_SEQUENCIBLE,  BUILT_IN_SIZE,  BUILT_IN_SQRT,  BUILT_IN_SUCC,  BUILT_IN_CH_SIN,  BUILT_IN_TAN,  BUILT_IN_TRUNC,  BUILT_IN_TERMINATE,  BUILT_IN_UPPER,  BUILT_IN_VARIABLE,  BUILT_IN_WAIT,  BUILT_IN_WRITEABLE,  BUILT_IN_WRITERECORD,  BUILT_IN_WRITETEXT,};/* name of additional (compiler generated) arguments for   functions which may propagate exceptions. */#define CALLER_FILE "__CALLER_FILE__"#define CALLER_LINE "__CALLER_LINE__"/* field-name strings for the fields of the structure which   represents a CHILL VARYING array.  The angle brackets assure   that no user-defined structure can match this one.   This field holds, at runtime, the current length of the   array, in UNITS, not including the length itself. It's an   integer_type_node */#define VAR_LENGTH "__var_length"/* This field is statically allocated to the user-defined   size, but contains valid array entries starting from the   first allocated space, proceeding for VAR_LENGTH bytes.   There are no holes in the data;  the user isn't allowed

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -