summaryrefslogtreecommitdiff
path: root/gcc/flags.h
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-12 11:25:16 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-12 11:25:16 +0000
commita317e77eebafbc58028cc347bb4264d0a95609b7 (patch)
tree613335312107799d45a0405c8cd02ce350389985 /gcc/flags.h
parent39e1f22f0716c308e7b25b4d045dbe522f4debb2 (diff)
downloadgcc-a317e77eebafbc58028cc347bb4264d0a95609b7.tar.gz
* flag-types.h: New.
* Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H). (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of options.h. (OPTIONS_H): Define. (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead of options.h. * configure.ac (tm_include_list): Include options.h not flags.h. * configure: Regenerate. * flags.h: Include flag-types.h. Include options.h at top of file again. (enum debug_info_type, enum debug_info_level, enum debug_info_usage, enum symbol_visibility, struct visibility_flags, enum ira_algorithm, enum ira_region, enum excess_precision, enum graph_dump_types, enum stack_check_type, enum warn_strict_overflow_code): Move to flag-types.h * opth-gen.awk: Include flag-types.h in options.h. ada: * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTIONS_H) instead of options.h. java: * Make-lang.in (java/lang.o): Use $(OPTIONS_H) instead of options.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165362 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flags.h')
-rw-r--r--gcc/flags.h134
1 files changed, 2 insertions, 132 deletions
diff --git a/gcc/flags.h b/gcc/flags.h
index 99b69812e8d..1125440ea3f 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -23,54 +23,20 @@ along with GCC; see the file COPYING3. If not see
#define GCC_FLAGS_H
#include "coretypes.h"
+#include "flag-types.h"
+#include "options.h"
#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)
-enum debug_info_type
-{
- NO_DEBUG, /* Write no debug info. */
- DBX_DEBUG, /* Write BSD .stabs for DBX (using dbxout.c). */
- SDB_DEBUG, /* Write COFF for (old) SDB (using sdbout.c). */
- DWARF2_DEBUG, /* Write Dwarf v2 debug info (using dwarf2out.c). */
- XCOFF_DEBUG, /* Write IBM/Xcoff debug info (using dbxout.c). */
- VMS_DEBUG, /* Write VMS debug info (using vmsdbgout.c). */
- VMS_AND_DWARF2_DEBUG /* Write VMS debug info (using vmsdbgout.c).
- and DWARF v2 debug info (using dwarf2out.c). */
-};
-
/* Specify which kind of debugging info to generate. */
extern enum debug_info_type write_symbols;
/* Names of debug_info_type, for error messages. */
extern const char *const debug_type_names[];
-enum debug_info_level
-{
- DINFO_LEVEL_NONE, /* Write no debugging info. */
- DINFO_LEVEL_TERSE, /* Write minimal info to support tracebacks only. */
- DINFO_LEVEL_NORMAL, /* Write info for all declarations (and line table). */
- DINFO_LEVEL_VERBOSE /* Write normal info plus #define/#undef info. */
-};
-
/* Specify how much debugging info to generate. */
extern enum debug_info_level debug_info_level;
-/* A major contribution to object and executable size is debug
- information size. A major contribution to debug information
- size is struct descriptions replicated in several object files.
- The following function determines whether or not debug information
- should be generated for a given struct. The indirect parameter
- indicates that the struct is being handled indirectly, via
- a pointer. See opts.c for the implementation. */
-
-enum debug_info_usage
-{
- DINFO_USAGE_DFN, /* A struct definition. */
- DINFO_USAGE_DIR_USE, /* A direct use, such as the type of a variable. */
- DINFO_USAGE_IND_USE, /* An indirect use, such as through a pointer. */
- DINFO_USAGE_NUM_ENUMS /* The number of enumerators. */
-};
-
extern bool should_emit_struct_debug (tree type_decl, enum debug_info_usage);
extern void set_struct_debug_option (const char *value);
@@ -83,28 +49,9 @@ extern bool use_gnu_debug_info_extensions;
an actual variable not a macro. */
extern int flag_compare_debug;
-/* Enumerate visibility settings. This is deliberately ordered from most
- to least visibility. */
-#ifndef SYMBOL_VISIBILITY_DEFINED
-#define SYMBOL_VISIBILITY_DEFINED
-enum symbol_visibility
-{
- VISIBILITY_DEFAULT,
- VISIBILITY_PROTECTED,
- VISIBILITY_HIDDEN,
- VISIBILITY_INTERNAL
-};
-#endif
-
/* The default visibility for all symbols (unless overridden). */
extern enum symbol_visibility default_visibility;
-struct visibility_flags
-{
- unsigned inpragma : 1; /* True when in #pragma GCC visibility. */
- unsigned inlines_hidden : 1; /* True when -finlineshidden in effect. */
-};
-
/* Global visibility options. */
extern struct visibility_flags visibility_options;
@@ -189,29 +136,6 @@ extern int flag_next_runtime;
extern int flag_dump_rtl_in_asm;
-/* The algorithm used for the integrated register allocator (IRA). */
-enum ira_algorithm
-{
- IRA_ALGORITHM_CB,
- IRA_ALGORITHM_PRIORITY
-};
-
-/* The regions used for the integrated register allocator (IRA). */
-enum ira_region
-{
- IRA_REGION_ONE,
- IRA_REGION_ALL,
- IRA_REGION_MIXED
-};
-
-/* The options for excess precision. */
-enum excess_precision
-{
- EXCESS_PRECISION_DEFAULT,
- EXCESS_PRECISION_FAST,
- EXCESS_PRECISION_STANDARD
-};
-
/* The excess precision specified on the command line, or defaulted by
the front end. */
extern enum excess_precision flag_excess_precision_cmdline;
@@ -263,33 +187,8 @@ extern struct target_flag_state *this_target_flag_state;
/* Nonzero if we dump in VCG format, not plain text. */
extern int dump_for_graph;
-/* Selection of the graph form. */
-enum graph_dump_types
-{
- no_graph = 0,
- vcg
-};
extern enum graph_dump_types graph_dump_format;
-/* Type of stack check. */
-enum stack_check_type
-{
- /* Do not check the stack. */
- NO_STACK_CHECK = 0,
-
- /* Check the stack generically, i.e. assume no specific support
- from the target configuration files. */
- GENERIC_STACK_CHECK,
-
- /* Check the stack and rely on the target configuration files to
- check the static frame of functions, i.e. use the generic
- mechanism only for dynamic stack allocations. */
- STATIC_BUILTIN_STACK_CHECK,
-
- /* Check the stack and entirely rely on the target configuration
- files, i.e. do not use the generic mechanism at all. */
- FULL_BUILTIN_STACK_CHECK
-};
extern enum stack_check_type flag_stack_check;
/* Returns TRUE if generated code should match ABI version N or
@@ -326,38 +225,9 @@ extern bool flag_instrument_functions_exclude_p (tree fndecl);
/* True if pointer types have undefined overflow. */
#define POINTER_TYPE_OVERFLOW_UNDEFINED (flag_strict_overflow)
-/* Names for the different levels of -Wstrict-overflow=N. The numeric
- values here correspond to N. */
-
-enum warn_strict_overflow_code
-{
- /* Overflow warning that should be issued with -Wall: a questionable
- construct that is easy to avoid even when using macros. Example:
- folding (x + CONSTANT > x) to 1. */
- WARN_STRICT_OVERFLOW_ALL = 1,
- /* Overflow warning about folding a comparison to a constant because
- of undefined signed overflow, other than cases covered by
- WARN_STRICT_OVERFLOW_ALL. Example: folding (abs (x) >= 0) to 1
- (this is false when x == INT_MIN). */
- WARN_STRICT_OVERFLOW_CONDITIONAL = 2,
- /* Overflow warning about changes to comparisons other than folding
- them to a constant. Example: folding (x + 1 > 1) to (x > 0). */
- WARN_STRICT_OVERFLOW_COMPARISON = 3,
- /* Overflow warnings not covered by the above cases. Example:
- folding ((x * 10) / 5) to (x * 2). */
- WARN_STRICT_OVERFLOW_MISC = 4,
- /* Overflow warnings about reducing magnitude of constants in
- comparison. Example: folding (x + 2 > y) to (x + 1 >= y). */
- WARN_STRICT_OVERFLOW_MAGNITUDE = 5
-};
-
/* Whether to emit an overflow warning whose code is C. */
#define issue_strict_overflow_warning(c) (warn_strict_overflow >= (int) (c))
#endif
-/* This is included last because options may use types declared
- above. */
-#include "options.h"
-
#endif /* ! GCC_FLAGS_H */