flag-types.h: New.
* 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. From-SVN: r165362
This commit is contained in:
parent
beacce0274
commit
f938f60cb6
|
@ -1,3 +1,23 @@
|
||||||
|
2010-10-12 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2010-10-12 Jakub Jelinek <jakub@redhat.com>
|
2010-10-12 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* expr.c (store_expr): Share code for STRING_CST and
|
* expr.c (store_expr): Share code for STRING_CST and
|
||||||
|
|
|
@ -823,7 +823,7 @@ CONFIG_H = config.h $(host_xm_file_list)
|
||||||
TCONFIG_H = tconfig.h $(xm_file_list)
|
TCONFIG_H = tconfig.h $(xm_file_list)
|
||||||
TM_P_H = tm_p.h $(tm_p_file_list)
|
TM_P_H = tm_p.h $(tm_p_file_list)
|
||||||
GTM_H = tm.h $(tm_file_list) insn-constants.h
|
GTM_H = tm.h $(tm_file_list) insn-constants.h
|
||||||
TM_H = $(GTM_H) insn-flags.h $(FLAGS_H)
|
TM_H = $(GTM_H) insn-flags.h $(OPTIONS_H)
|
||||||
|
|
||||||
# Variables for version information.
|
# Variables for version information.
|
||||||
BASEVER := $(srcdir)/BASE-VER # 4.x.y
|
BASEVER := $(srcdir)/BASE-VER # 4.x.y
|
||||||
|
@ -898,7 +898,8 @@ DEMANGLE_H = $(srcdir)/../include/demangle.h
|
||||||
RECOG_H = recog.h
|
RECOG_H = recog.h
|
||||||
ALIAS_H = alias.h coretypes.h
|
ALIAS_H = alias.h coretypes.h
|
||||||
EMIT_RTL_H = emit-rtl.h
|
EMIT_RTL_H = emit-rtl.h
|
||||||
FLAGS_H = flags.h coretypes.h options.h
|
FLAGS_H = flags.h coretypes.h flag-types.h $(OPTIONS_H)
|
||||||
|
OPTIONS_H = options.h flag-types.h
|
||||||
FUNCTION_H = function.h $(TREE_H) $(HASHTAB_H) vecprim.h $(TM_H)
|
FUNCTION_H = function.h $(TREE_H) $(HASHTAB_H) vecprim.h $(TM_H)
|
||||||
EXPR_H = expr.h insn-config.h $(FUNCTION_H) $(RTL_H) $(FLAGS_H) $(TREE_H) $(MACHMODE_H) $(EMIT_RTL_H)
|
EXPR_H = expr.h insn-config.h $(FUNCTION_H) $(RTL_H) $(FLAGS_H) $(TREE_H) $(MACHMODE_H) $(EMIT_RTL_H)
|
||||||
OPTABS_H = optabs.h insn-codes.h
|
OPTABS_H = optabs.h insn-codes.h
|
||||||
|
@ -2126,7 +2127,7 @@ c-family/c-omp.o : c-family/c-omp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||||
c-family/c-opts.o : c-family/c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
c-family/c-opts.o : c-family/c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||||
$(TREE_H) $(C_PRAGMA_H) $(FLAGS_H) $(TOPLEV_H) langhooks.h \
|
$(TREE_H) $(C_PRAGMA_H) $(FLAGS_H) $(TOPLEV_H) langhooks.h \
|
||||||
$(DIAGNOSTIC_H) intl.h debug.h $(C_COMMON_H) \
|
$(DIAGNOSTIC_H) intl.h debug.h $(C_COMMON_H) \
|
||||||
opts.h options.h $(MKDEPS_H) incpath.h cppdefault.h
|
opts.h $(OPTIONS_H) $(MKDEPS_H) incpath.h cppdefault.h
|
||||||
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
|
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
|
||||||
$< $(OUTPUT_OPTION) @TARGET_SYSTEM_ROOT_DEFINE@
|
$< $(OUTPUT_OPTION) @TARGET_SYSTEM_ROOT_DEFINE@
|
||||||
|
|
||||||
|
@ -2327,7 +2328,7 @@ lto-symtab.o: lto-symtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||||
toplev.h $(TREE_H) $(GIMPLE_H) $(GGC_H) $(LAMBDA_H) $(HASHTAB_H) \
|
toplev.h $(TREE_H) $(GIMPLE_H) $(GGC_H) $(LAMBDA_H) $(HASHTAB_H) \
|
||||||
$(LTO_STREAMER_H) $(LINKER_PLUGIN_API_H) gt-lto-symtab.h
|
$(LTO_STREAMER_H) $(LINKER_PLUGIN_API_H) gt-lto-symtab.h
|
||||||
lto-opts.o: lto-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
|
lto-opts.o: lto-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
|
||||||
$(HASHTAB_H) $(GGC_H) $(BITMAP_H) $(FLAGS_H) opts.h options.h \
|
$(HASHTAB_H) $(GGC_H) $(BITMAP_H) $(FLAGS_H) opts.h $(OPTIONS_H) \
|
||||||
$(TARGET_H) $(TOPLEV_H) $(DIAGNOSTIC_H) $(LTO_STREAMER_H)
|
$(TARGET_H) $(TOPLEV_H) $(DIAGNOSTIC_H) $(LTO_STREAMER_H)
|
||||||
lto-streamer.o: lto-streamer.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
lto-streamer.o: lto-streamer.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||||
$(TM_H) $(TREE_H) $(GIMPLE_H) $(BITMAP_H) $(LTO_STREAMER_H) $(FLAGS_H) \
|
$(TM_H) $(TREE_H) $(GIMPLE_H) $(BITMAP_H) $(LTO_STREAMER_H) $(FLAGS_H) \
|
||||||
|
@ -2819,7 +2820,7 @@ fold-const.o : fold-const.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
||||||
$(GIMPLE_H) realmpfr.h $(TREE_FLOW_H)
|
$(GIMPLE_H) realmpfr.h $(TREE_FLOW_H)
|
||||||
diagnostic.o : diagnostic.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
diagnostic.o : diagnostic.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||||
version.h $(INPUT_H) intl.h $(DIAGNOSTIC_H) diagnostic.def
|
version.h $(INPUT_H) intl.h $(DIAGNOSTIC_H) diagnostic.def
|
||||||
opts.o : opts.c opts.h options.h $(TOPLEV_H) $(DIAGNOSTIC_CORE_H) $(CONFIG_H) $(SYSTEM_H) \
|
opts.o : opts.c opts.h $(OPTIONS_H) $(TOPLEV_H) $(DIAGNOSTIC_CORE_H) $(CONFIG_H) $(SYSTEM_H) \
|
||||||
coretypes.h $(TREE_H) $(TM_H) langhooks.h $(GGC_H) $(EXPR_H) $(RTL_H) \
|
coretypes.h $(TREE_H) $(TM_H) langhooks.h $(GGC_H) $(EXPR_H) $(RTL_H) \
|
||||||
output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h $(TARGET_H) \
|
output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h $(TARGET_H) \
|
||||||
$(FLAGS_H) $(PARAMS_H) $(TREE_PASS_H) $(DBGCNT_H) debug.h \
|
$(FLAGS_H) $(PARAMS_H) $(TREE_PASS_H) $(DBGCNT_H) debug.h \
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2010-10-12 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTIONS_H)
|
||||||
|
instead of options.h.
|
||||||
|
|
||||||
2010-10-12 Robert Dewar <dewar@adacore.com>
|
2010-10-12 Robert Dewar <dewar@adacore.com>
|
||||||
|
|
||||||
* gnat_rm.texi: Clarify that 'Old can be used in preconditions and
|
* gnat_rm.texi: Clarify that 'Old can be used in preconditions and
|
||||||
|
|
|
@ -1234,7 +1234,7 @@ ada/decl.o : ada/gcc-interface/decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||||
ada/misc.o : ada/gcc-interface/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
ada/misc.o : ada/gcc-interface/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||||
$(TM_H) $(TREE_H) $(DIAGNOSTIC_H) $(TARGET_H) $(FUNCTION_H) \
|
$(TM_H) $(TREE_H) $(DIAGNOSTIC_H) $(TARGET_H) $(FUNCTION_H) \
|
||||||
$(FLAGS_H) debug.h toplev.h langhooks.h \
|
$(FLAGS_H) debug.h toplev.h langhooks.h \
|
||||||
$(LANGHOOKS_DEF_H) opts.h options.h $(TREE_INLINE_H) $(PLUGIN_H) \
|
$(LANGHOOKS_DEF_H) opts.h $(OPTIONS_H) $(TREE_INLINE_H) $(PLUGIN_H) \
|
||||||
ada/gcc-interface/ada.h ada/adadecode.h ada/types.h ada/atree.h \
|
ada/gcc-interface/ada.h ada/adadecode.h ada/types.h ada/atree.h \
|
||||||
ada/elists.h ada/namet.h ada/nlists.h ada/stringt.h ada/uintp.h ada/fe.h \
|
ada/elists.h ada/namet.h ada/nlists.h ada/stringt.h ada/uintp.h ada/fe.h \
|
||||||
ada/sinfo.h ada/einfo.h $(ADA_TREE_H) ada/gcc-interface/gigi.h \
|
ada/sinfo.h ada/einfo.h $(ADA_TREE_H) ada/gcc-interface/gigi.h \
|
||||||
|
|
|
@ -10843,7 +10843,7 @@ tmake_file="${tmake_file_}"
|
||||||
out_object_file=`basename $out_file .c`.o
|
out_object_file=`basename $out_file .c`.o
|
||||||
|
|
||||||
tm_file_list="options.h"
|
tm_file_list="options.h"
|
||||||
tm_include_list="flags.h insn-constants.h"
|
tm_include_list="options.h insn-constants.h"
|
||||||
for f in $tm_file; do
|
for f in $tm_file; do
|
||||||
case $f in
|
case $f in
|
||||||
./* )
|
./* )
|
||||||
|
|
|
@ -1609,7 +1609,7 @@ tmake_file="${tmake_file_}"
|
||||||
out_object_file=`basename $out_file .c`.o
|
out_object_file=`basename $out_file .c`.o
|
||||||
|
|
||||||
tm_file_list="options.h"
|
tm_file_list="options.h"
|
||||||
tm_include_list="flags.h insn-constants.h"
|
tm_include_list="options.h insn-constants.h"
|
||||||
for f in $tm_file; do
|
for f in $tm_file; do
|
||||||
case $f in
|
case $f in
|
||||||
./* )
|
./* )
|
||||||
|
|
|
@ -0,0 +1,155 @@
|
||||||
|
/* Compilation switch flag type definitions for GCC.
|
||||||
|
Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
|
||||||
|
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GCC.
|
||||||
|
|
||||||
|
GCC is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License as published by the Free
|
||||||
|
Software Foundation; either version 3, or (at your option) any later
|
||||||
|
version.
|
||||||
|
|
||||||
|
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with GCC; see the file COPYING3. If not see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef GCC_FLAG_TYPES_H
|
||||||
|
#define GCC_FLAG_TYPES_H
|
||||||
|
|
||||||
|
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). */
|
||||||
|
};
|
||||||
|
|
||||||
|
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. */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 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. */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
struct visibility_flags
|
||||||
|
{
|
||||||
|
unsigned inpragma : 1; /* True when in #pragma GCC visibility. */
|
||||||
|
unsigned inlines_hidden : 1; /* True when -finlineshidden in effect. */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Selection of the graph form. */
|
||||||
|
enum graph_dump_types
|
||||||
|
{
|
||||||
|
no_graph = 0,
|
||||||
|
vcg
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* ! GCC_FLAG_TYPES_H */
|
134
gcc/flags.h
134
gcc/flags.h
|
@ -23,54 +23,20 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#define GCC_FLAGS_H
|
#define GCC_FLAGS_H
|
||||||
|
|
||||||
#include "coretypes.h"
|
#include "coretypes.h"
|
||||||
|
#include "flag-types.h"
|
||||||
|
#include "options.h"
|
||||||
|
|
||||||
#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)
|
#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. */
|
/* Specify which kind of debugging info to generate. */
|
||||||
extern enum debug_info_type write_symbols;
|
extern enum debug_info_type write_symbols;
|
||||||
|
|
||||||
/* Names of debug_info_type, for error messages. */
|
/* Names of debug_info_type, for error messages. */
|
||||||
extern const char *const debug_type_names[];
|
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. */
|
/* Specify how much debugging info to generate. */
|
||||||
extern enum debug_info_level debug_info_level;
|
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 bool should_emit_struct_debug (tree type_decl, enum debug_info_usage);
|
||||||
extern void set_struct_debug_option (const char *value);
|
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. */
|
an actual variable not a macro. */
|
||||||
extern int flag_compare_debug;
|
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). */
|
/* The default visibility for all symbols (unless overridden). */
|
||||||
extern enum symbol_visibility default_visibility;
|
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. */
|
/* Global visibility options. */
|
||||||
extern struct visibility_flags visibility_options;
|
extern struct visibility_flags visibility_options;
|
||||||
|
|
||||||
|
@ -189,29 +136,6 @@ extern int flag_next_runtime;
|
||||||
|
|
||||||
extern int flag_dump_rtl_in_asm;
|
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 excess precision specified on the command line, or defaulted by
|
||||||
the front end. */
|
the front end. */
|
||||||
extern enum excess_precision flag_excess_precision_cmdline;
|
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. */
|
/* Nonzero if we dump in VCG format, not plain text. */
|
||||||
extern int dump_for_graph;
|
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;
|
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;
|
extern enum stack_check_type flag_stack_check;
|
||||||
|
|
||||||
/* Returns TRUE if generated code should match ABI version N or
|
/* 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. */
|
/* True if pointer types have undefined overflow. */
|
||||||
#define POINTER_TYPE_OVERFLOW_UNDEFINED (flag_strict_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. */
|
/* Whether to emit an overflow warning whose code is C. */
|
||||||
#define issue_strict_overflow_warning(c) (warn_strict_overflow >= (int) (c))
|
#define issue_strict_overflow_warning(c) (warn_strict_overflow >= (int) (c))
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* This is included last because options may use types declared
|
|
||||||
above. */
|
|
||||||
#include "options.h"
|
|
||||||
|
|
||||||
#endif /* ! GCC_FLAGS_H */
|
#endif /* ! GCC_FLAGS_H */
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2010-10-12 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* Make-lang.in (java/lang.o): Use $(OPTIONS_H) instead of
|
||||||
|
options.h.
|
||||||
|
|
||||||
2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
|
2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
|
||||||
|
|
||||||
* decl.c (java_init_decl_processing): Use build_function_type_list
|
* decl.c (java_init_decl_processing): Use build_function_type_list
|
||||||
|
|
|
@ -302,7 +302,7 @@ java/jvgenmain.o: java/jvgenmain.c $(CONFIG_H) $(JAVA_TREE_H) $(SYSTEM_H) \
|
||||||
coretypes.h $(TM_H) intl.h
|
coretypes.h $(TM_H) intl.h
|
||||||
java/lang.o: java/lang.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h input.h \
|
java/lang.o: java/lang.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h input.h \
|
||||||
toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(DIAGNOSTIC_H) \
|
toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(DIAGNOSTIC_H) \
|
||||||
langhooks.h $(LANGHOOKS_DEF_H) gt-java-lang.h opts.h options.h \
|
langhooks.h $(LANGHOOKS_DEF_H) gt-java-lang.h opts.h $(OPTIONS_H) \
|
||||||
$(TARGET_H)
|
$(TARGET_H)
|
||||||
java/mangle.o: java/mangle.c $(CONFIG_H) java/jcf.h $(JAVA_TREE_H) $(SYSTEM_H) \
|
java/mangle.o: java/mangle.c $(CONFIG_H) java/jcf.h $(JAVA_TREE_H) $(SYSTEM_H) \
|
||||||
coretypes.h $(TM_H) toplev.h $(GGC_H) gt-java-mangle.h $(LANGHOOKS_DEF_H)
|
coretypes.h $(TM_H) toplev.h $(GGC_H) gt-java-mangle.h $(LANGHOOKS_DEF_H)
|
||||||
|
|
|
@ -70,6 +70,8 @@ print ""
|
||||||
print "#ifndef OPTIONS_H"
|
print "#ifndef OPTIONS_H"
|
||||||
print "#define OPTIONS_H"
|
print "#define OPTIONS_H"
|
||||||
print ""
|
print ""
|
||||||
|
print "#include \"flag-types.h\""
|
||||||
|
print ""
|
||||||
|
|
||||||
have_save = 0;
|
have_save = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue