gcc/gcc
Ian Lance Taylor c6a13190a1 godump.c: New file.
gcc/:
	* godump.c: New file.
	* common.opt (fdump-go-spec=): New option.
	* tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
	(TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
	(TYPE_SYMTAB_IS_DIE): Define.
	(struct tree_type): Change GTY for symtab field to use
	TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
	to pick the union field.
	* debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
	(dump_go_spec_init): Declare.
	* toplev.c (process_options): Handle flag_dump_go_spec.
	* debug.c: Include "tree.h".
	(do_nothing_debug_hooks): Set tree_type_symtab_field.
	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
	* dbxout.c (dbx_debug_hooks): Likewise.
	(xcoff_debug_hooks): Likewise.
	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
	* sdbout.c (sdb_debug_hooks): Likewise.  Do not define if
	SDB_DEBUGGING_INFO is not defined.
	* doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
	(Overall Options): Document -fdump-go-spec.
	* Makefile.in (OBJS-common): Add godump.o.
	(debug.o): Add dependency on $(TREE_H).
	(godump.o): New target.
	(GTFILES): Add $(srcdir)/godump.c.
gcc/c-family/:
	* c-lex.c (init_c_lex): Set macro debug callbacks if
	flag_dump_go_spec is set.

From-SVN: r166770
2010-11-15 21:38:40 +00:00
..
ada Fix a couple of formatting issues 2010-11-13 15:15:02 +00:00
c-family godump.c: New file. 2010-11-15 21:38:40 +00:00
config re PR debug/46095 (ICE: in dwarf2out_frame_debug_expr, at dwarf2out.c:2341 with -fstack-protector) 2010-11-15 21:09:24 +01:00
cp In gcc/: 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com> 2010-11-15 18:46:42 +00:00
doc godump.c: New file. 2010-11-15 21:38:40 +00:00
fortran re PR fortran/46484 (Should reject ALLOCATED(non-variable expression )) 2010-11-15 21:44:26 +01:00
ginclude c-common.c (flag_isoc1x): New. 2010-04-25 22:54:22 +01:00
java Makefile.in (OPTS_H): Define. 2010-11-12 23:26:56 +00:00
lto Makefile.in (OPTS_H): Define. 2010-11-12 23:26:56 +00:00
objc In gcc/: 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com> 2010-11-15 18:46:42 +00:00
objcp In gcc/cp/: 2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com> 2010-10-24 02:44:03 +00:00
po be.po, [...]: Update. 2010-11-14 21:48:32 +00:00
testsuite re PR fortran/46484 (Should reject ALLOCATED(non-variable expression )) 2010-11-15 21:44:26 +01:00
ABOUT-GCC-NLS
BASE-VER * BASE-VER: Change to 4.6.0. 2010-04-06 13:14:22 +02:00
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog godump.c: New file. 2010-11-15 21:38:40 +00:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
ChangeLog-2006 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
ChangeLog-2007 Fix nit 2010-03-26 09:51:32 +00:00
ChangeLog-2008
ChangeLog-2009 Remove asterisk in LTO section name. 2010-01-01 08:49:15 -08:00
ChangeLog.dataflow
ChangeLog.graphite Fix PR45758: reset scevs before Graphite. 2010-09-30 21:22:07 +00:00
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
DATESTAMP Daily bump. 2010-11-15 00:18:24 +00:00
DEV-PHASE
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES
Makefile.in godump.c: New file. 2010-11-15 21:38:40 +00:00
ONEWS
README.Portability
acinclude.m4 Always pass --32 to ia32 Linux assembler. 2009-12-21 07:31:49 -08:00
aclocal.m4 configure: Regenerate. 2010-09-03 13:16:24 +00:00
addresses.h re PR rtl-optimization/44764 (ok_for_base_p_1: unused parameter regno) 2010-11-10 10:07:18 +00:00
alias.c re PR debug/46387 (ICE in add_stores, at var-tracking.c:5415) 2010-11-15 21:07:39 +01:00
alias.h ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of alias_sets_conflict_p. 2010-08-09 14:44:03 +00:00
alloc-pool.c bitmap.c (bitmap_and, [...]): Turn internal datastructure checks into checking asserts. 2010-06-13 14:50:26 +00:00
alloc-pool.h
attribs.c re PR target/44290 (__naked attribute is broken) 2010-07-23 14:47:46 +00:00
auto-inc-dec.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
basic-block.h Revert revision 164552. 2010-11-03 10:07:04 -07:00
bb-reorder.c re PR middle-end/45458 (ICE: in add_labels_and_missing_jumps, at bb-reorder.c:1306 with-fnon-call-exceptions -freorder-blocks-and-partition -fprofile-use) 2010-09-01 21:46:21 +02:00
bb-reorder.h Makefile.in (bb-reorder.o, [...]): Depend on bb-reorder.h 2010-07-12 19:04:11 +00:00
bitmap.c * bitmap.c (bitmap_clear_bit): Micro optimize. 2010-06-22 14:44:24 +00:00
bitmap.h bitmap.h (+bmp_iter_next_bit): New. 2010-06-11 21:56:08 +00:00
bt-load.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
builtin-attrs.def builtin-attrs.def (ATTR_LEAF): New attribute. 2010-09-28 16:34:36 +00:00
builtin-types.def demangle-expected: Add tests for __int128 and unsigned __int128 types. 2010-05-26 18:13:55 +02:00
builtins.c tree.def (FMA_EXPR): New tree code. 2010-11-04 10:56:22 +00:00
builtins.def builtins.def (BUILT_IN_CALLOC, [...]): Mark as leaf. 2010-10-06 09:48:46 +02:00
builtins.h Makefile.in (target-globals.o): Depend on builtins.h. 2010-07-12 19:03:35 +00:00
c-aux-info.c builtins.c (fold_builtin_next_arg): Use stdarg_p. 2010-08-09 14:07:58 +00:00
c-config-lang.in re PR bootstrap/44509 (Revision 160626 breaks bootstrap on *-apple-darwin*) 2010-06-14 14:30:29 +02:00
c-convert.c c-common.c: Move to c-family/. 2010-06-05 20:33:22 +00:00
c-decl.c re PR c/46462 (Revision 166700 caused new C test failures) 2010-11-14 13:10:41 +00:00
c-errors.c
c-lang.c In gcc/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> 2010-10-20 09:08:57 +00:00
c-lang.h c-lang.h (struct lang_type): Add variable_size GTY option. 2010-09-15 03:08:22 +00:00
c-objc-common.c langhooks-def.h (lhd_init_options, [...]): New. 2010-07-27 10:59:51 +01:00
c-objc-common.h Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h. 2010-10-08 16:17:32 +01:00
c-parser.c re PR c/46462 (Revision 166700 caused new C test failures) 2010-11-14 13:10:41 +00:00
c-tree.h c-tree.h (enum c_typespec_kind): Add ctsk_none. 2010-11-13 09:52:00 +00:00
c-typeck.c In gcc/: 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com> 2010-11-15 18:46:42 +00:00
caller-save.c caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails... 2010-11-08 15:07:32 +00:00
calls.c expr.c (emit_group_load_1): Update calls to extract_bit_field. 2010-10-22 00:40:15 +00:00
cfg.c basic-block.h (alloc_aux_for_block, [...]): Delete. 2010-08-10 14:31:52 +00:00
cfganal.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
cfgbuild.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
cfgcleanup.c Revert revision 164552. 2010-11-03 10:07:04 -07:00
cfgexpand.c re PR target/43808 (-fipa-reference -fschedule-insns -fstrict-aliasing causes two gfortran check failures) 2010-11-09 20:31:45 +01:00
cfghooks.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
cfghooks.h
cfglayout.c cfglayout.c (fixup_reorder_chain): When ensuring that there is at least one insn with a locus corresponding to an... 2010-10-24 07:45:26 +00:00
cfglayout.h
cfgloop.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
cfgloop.h tree-vrp.c (adjust_range_with_scev): Use number of iteration estimate. 2010-09-01 11:39:55 +00:00
cfgloopanal.c Makefile.in (target-globals.o): Depend on $(CFGLOOP_H). 2010-07-12 19:02:55 +00:00
cfgloopmanip.c re PR tree-optimization/46107 (-ftree-loop-distribute-patterns caused verify_loop_structure problem) 2010-11-03 10:49:16 +01:00
cfgrtl.c basic-block.h (insert_insn_end_bb_new): Delete. 2010-11-02 19:31:59 +00:00
cgraph.c re PR tree-optimization/46228 (code produced for STL container is worse in 4.5.1 than in 4.4.5) 2010-11-10 20:10:46 +00:00
cgraph.h re PR lto/45736 (ICE: in cgraph_remove_unreachable_nodes, at ipa.c:245 with -flto and attribute((constructor))) 2010-10-26 16:40:16 +00:00
cgraphbuild.c * cgraphbuild.c (build_cgraph_edges): Use ipa-reference to represent OMP. 2010-10-26 22:32:47 +00:00
cgraphunit.c invoke.texi (-fwhopr): Merge into -flto section. 2010-11-11 22:54:53 +00:00
cif-code.def tree-inline.c (tree_inlinable_function_p): Do not test DECL_REPLACEABLE_P. 2010-09-07 21:26:34 +00:00
collect2-aix.c
collect2-aix.h
collect2.c invoke.texi (-fwhopr): Merge into -flto section. 2010-11-11 22:54:53 +00:00
collect2.h collect2.c (vflag): Change type from int to bool. 2010-04-29 17:42:54 +00:00
combine-stack-adj.c common.opt: Add -fcombine-stack-adjustments. 2010-10-01 12:48:50 +00:00
combine.c combine.c (try_combine): Fix formatting issues, improve comments and fix a pasto. 2010-11-03 17:53:51 +00:00
common.opt godump.c: New file. 2010-11-15 21:38:40 +00:00
conditions.h
config.build config.build (alpha*-dec-osf4*): Remove. 2010-04-12 18:36:30 +00:00
config.gcc xtensa: Convert to fma. 2010-11-12 09:53:36 -08:00
config.host config.host: Update copyright year. 2010-10-07 21:04:47 +00:00
config.in configure.ac: Test assembler support for DSP Rev1 mult. 2010-11-05 00:26:14 +00:00
configure configure.ac: Test assembler support for DSP Rev1 mult. 2010-11-05 00:26:14 +00:00
configure.ac configure.ac: Test assembler support for DSP Rev1 mult. 2010-11-05 00:26:14 +00:00
convert.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
convert.h
coretypes.h Move enum unwind_info_type from target.h to coretypes.h. 2010-10-07 13:03:13 -07:00
coverage.c * coverage.c (ctr_labels): Delete. 2010-08-10 19:27:18 +00:00
coverage.h
cppbuiltin.c re PR bootstrap/46456 (cppbuiltin.o fails to build for arm-eabi) 2010-11-12 21:43:54 +00:00
cppbuiltin.h cppbuiltin.c: New file. 2010-10-03 19:00:55 +00:00
cppdefault.c cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before LOCAL_INCLUDE_DIR. 2010-07-31 22:00:22 +02:00
cppdefault.h
cppspec.c Makefile.in (gccspec.o, cppspec.o): Update dependencies. 2010-08-22 13:19:01 +01:00
crtstuff.c crtstuff.c (__JCR_LIST__, [...]): Mark as used. 2010-05-11 15:44:26 +00:00
cse.c cse.c (is_dead_reg): Change into inline function that is not called through for_each_rtx. 2010-10-14 09:17:54 +02:00
cselib.c rtl.def (DEBUG_IMPLICIT_PTR): New rtl code. 2010-09-09 08:43:47 +02:00
cselib.h re PR debug/44694 (Long var tracking compile time of GiNaC tests) 2010-06-30 08:12:22 +02:00
cstamp-h.in
dbgcnt.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
dbgcnt.def Add more debug counter guards. 2010-08-11 20:24:55 +00:00
dbgcnt.h
dbxout.c godump.c: New file. 2010-11-15 21:38:40 +00:00
dbxout.h
dce.c re PR rtl-optimization/45162 (ARM bootstrap comparison failures after stage 3) 2010-08-04 21:07:05 +00:00
dce.h re PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness) 2010-07-29 12:39:57 +00:00
ddg.c ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead of gcc_checking_assert. 2010-10-21 21:39:13 +00:00
ddg.h
debug.c godump.c: New file. 2010-11-15 21:38:40 +00:00
debug.h godump.c: New file. 2010-11-15 21:38:40 +00:00
defaults.h defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG, [...]): Remove. 2010-11-05 13:06:27 +00:00
df-core.c re PR rtl-optimization/42889 ("-fcompare-debug failure (length)" with "-O1 -fgcse") 2010-11-13 18:51:57 +00:00
df-problems.c re PR debug/46171 (ICE: in gen_rtx_SUBREG, at emit-rtl.c:774 with -fno-tree-dce -g) 2010-11-09 20:04:44 +01:00
df-scan.c re PR rtl-optimization/42889 ("-fcompare-debug failure (length)" with "-O1 -fgcse") 2010-11-13 18:51:57 +00:00
df.h re PR rtl-optimization/42889 ("-fcompare-debug failure (length)" with "-O1 -fgcse") 2010-11-13 18:51:57 +00:00
dfp.c tree.h: Include real.h and fixed-value.h as basic datatypes. 2010-05-21 13:53:22 +00:00
dfp.h
diagnostic-core.h diagnostic.h (diagnostic_classification_change_t): New. 2010-06-21 16:58:57 -04:00
diagnostic.c re PR c/44782 (implement -ferror-limit=) 2010-11-12 03:38:15 +00:00
diagnostic.def
diagnostic.h re PR c/44782 (implement -ferror-limit=) 2010-11-12 03:38:15 +00:00
dojump.c double-int.h (double_int_ior): New function. 2010-05-20 00:09:57 +04:00
dominance.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
domwalk.c coretypes.h (struct simple_bitmap_def, [...]): New core types. 2010-05-22 22:24:53 +00:00
domwalk.h
double-int.c Fix PR/46316 2010-11-09 02:01:06 +00:00
double-int.h Fix PR/46316 2010-11-09 02:01:06 +00:00
dse.c dse.c (group_info.base_mem, [...]): Use BLKmode to cover all the possible offsets from this base. 2010-08-27 10:48:32 +00:00
dse.h re PR other/44644 (type/data name clash makes --enable-build-with-cxx cc1 hard to debug) 2010-06-23 15:25:33 +01:00
dwarf2asm.c re PR middle-end/45862 (SUPPORTS_WEAK is documented as a C expression, used as a compile time constant) 2010-10-11 16:52:12 +00:00
dwarf2asm.h This patch adds the end prologue and begin epilogue markers in Dwarf2 2010-06-16 19:40:46 +00:00
dwarf2out.c godump.c: New file. 2010-11-15 21:38:40 +00:00
dwarf2out.h re PR middle-end/45484 (Invalid memory access in gcc.c-torture/execute/builtins/sprintf-chk.c) 2010-09-03 16:46:39 +02:00
ebitmap.c tree-vrp.c (debug_value_range, [...]): Annotate with DEBUG_FUNCTION. 2010-05-29 20:31:45 +00:00
ebitmap.h
emit-rtl.c re PR debug/46375 (-fcompare-debug failure (length) with -O -fgcse -fno-tree-dominator-opts) 2010-11-12 09:57:20 +00:00
emit-rtl.h cgraph.h (varpool_first_static_initializer, [...]): Make checking only when checking enabled. 2010-06-09 15:41:23 +00:00
emutls.c
errors.c re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
errors.h
et-forest.c et-forest.c (et_nca): Return NULL immediately when the dominance forest has disjoint components. 2010-10-14 11:08:45 +04:00
et-forest.h
except.c Hookize TARGET_UNWIND_INFO et al. 2010-09-28 13:44:58 -07:00
except.h system.h: Poison GCC_EXCEPT_H for front-end files. 2010-06-28 10:52:46 +00:00
exec-tool.in Support '-plugin' as the second option to the linker. 2010-10-12 09:40:39 -07:00
explow.c explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT. 2010-11-06 03:44:58 +00:00
expmed.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
expmed.h expmed.h (MAX_BITS_PER_WORD): Move to... 2010-07-13 19:48:58 +00:00
expr.c re PR middle-end/46388 (ICE in int_mode_for_mode, at stor-layout.c:493) 2010-11-11 16:48:39 +01:00
expr.h expr.c (emit_group_load_1): Update calls to extract_bit_field. 2010-10-22 00:40:15 +00:00
final.c re PR middle-end/44769 (warning for split_double when HOST_BITS_PER_WIDE_INT < BITS_PER_WORD) 2010-11-12 17:24:16 +00:00
fixed-value.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
fixed-value.h
flag-types.h tree.def (FMA_EXPR): New tree code. 2010-11-04 10:56:22 +00:00
flags.h common.opt (flag_excess_precision_cmdline, [...]): New Variable declarations. 2010-11-10 22:35:13 +00:00
fold-const.c tree.def (FMA_EXPR): New tree code. 2010-11-04 10:56:22 +00:00
fp-test.c
function.c function.c (expand_function_end): Set the locator of the prologue on the stack checking insns. 2010-11-12 18:17:41 +00:00
function.h Stack usage support 2010-08-30 20:04:49 +00:00
fwprop.c fwprop.c (forward_propagate_and_simplify): Only attach a REG_EQUAL note to an insn if the destination is a register. 2010-09-13 14:18:31 +00:00
gbl-ctors.h
gcc-plugin.h re PR testsuite/42843 (--enable-build-with-cxx plugin tests fail) 2010-06-09 11:40:28 +01:00
gcc.c Makefile.in (OPTS_H): Define. 2010-11-12 23:26:56 +00:00
gcc.h Makefile.in (gccspec.o, cppspec.o): Update dependencies. 2010-08-22 13:19:01 +01:00
gccspec.c Makefile.in (gccspec.o, cppspec.o): Update dependencies. 2010-08-22 13:19:01 +01:00
gcov-dump.c vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x. 2010-05-02 21:39:31 +02:00
gcov-io.c
gcov-io.h
gcov-iov.c vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x. 2010-05-02 21:39:31 +02:00
gcov.c gcov.c (flag_display_progress): New static variable. 2010-08-05 15:21:13 +00:00
gcse.c re PR tree-optimization/46183 (ICE: in calc_dfs_tree, at dominance.c:396 with -O -fno-dse -fgcse -ftree-pre) 2010-11-04 15:19:19 +00:00
gcse.h Makefile.in (gcse.o, [...]): Depend on gcse.h.. 2010-07-12 19:04:03 +00:00
gdbinit.in print-tree.c (debug_vec_tree): New fn. 2010-05-27 14:39:56 -04:00
genattr.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
genattrtab.c genrecog.c: Include diagnostic-core.h before toplev.h. 2010-07-09 01:34:40 +00:00
genautomata.c vec.h (VEC_qsort): Define. 2010-10-11 15:08:28 +00:00
gencheck.c
genchecksum.c Build compiler checksum from object files v2 2010-10-11 13:06:50 +00:00
gencodes.c Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H). 2010-06-10 20:23:13 +00:00
genconditions.c genrecog.c: Include diagnostic-core.h before toplev.h. 2010-07-09 01:34:40 +00:00
genconfig.c Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H). 2010-06-10 20:23:13 +00:00
genconstants.c md.texi: Document the "unspec" and "unspecv" enum names. 2010-06-10 20:24:45 +00:00
genemit.c genrecog.c: Include diagnostic-core.h before toplev.h. 2010-07-09 01:34:40 +00:00
genenums.c re PR bootstrap/44512 (--enable-build-with-cxx bootstrap fails in revision 160669) 2010-07-05 21:18:07 +01:00
genextract.c genrecog.c: Include diagnostic-core.h before toplev.h. 2010-07-09 01:34:40 +00:00
genflags.c Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H). 2010-06-10 20:23:13 +00:00
gengenrtl.c gegenrtl.c: Remove unnecesary prototypes. 2010-06-01 14:21:57 +00:00
gengtype-lex.l gengtype.c (get_output_file_name): Declaration moved to gengtype.h. 2010-11-09 07:36:26 +00:00
gengtype-parse.c Call get_input_file_name to get file name. 2010-11-09 05:14:48 -08:00
gengtype.c gengtype.c (get_output_file_name): Declaration moved to gengtype.h. 2010-11-09 07:36:26 +00:00
gengtype.h gengtype.c (get_output_file_name): Declaration moved to gengtype.h. 2010-11-09 07:36:26 +00:00
genhooks.c genhooks.c (emit_findices): Cast field precision to int. 2010-06-29 20:54:53 +00:00
genmddeps.c Makefile.in (BUILD_RTL): Move build/read-md.o to... 2010-06-10 20:23:23 +00:00
genmodes.c tm.texi.in (OVERRIDE_OPTIONS): Remove documentation. 2010-09-16 12:59:39 +01:00
genmultilib
genopinit.c re PR bootstrap/44756 ([meta-bug] --enable-werror-always issues) 2010-11-04 20:51:43 +00:00
genoutput.c genrecog.c: Include diagnostic-core.h before toplev.h. 2010-07-09 01:34:40 +00:00
genpeep.c genrecog.c: Include diagnostic-core.h before toplev.h. 2010-07-09 01:34:40 +00:00
genpreds.c genrecog.c: Include diagnostic-core.h before toplev.h. 2010-07-09 01:34:40 +00:00
genrecog.c genrecog.c: Include diagnostic-core.h before toplev.h. 2010-07-09 01:34:40 +00:00
gensupport.c md.texi (define_enum_attr): Document. 2010-06-10 20:24:17 +00:00
gensupport.h Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H). 2010-06-10 20:23:13 +00:00
ggc-common.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
ggc-internal.h utils.c (init_gnat_to_gnu): Use typed GC allocation. 2010-06-08 07:25:24 +00:00
ggc-none.c utils.c (init_gnat_to_gnu): Use typed GC allocation. 2010-06-08 07:25:24 +00:00
ggc-page.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
ggc-zone.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
ggc.h utils.c (init_gnat_to_gnu): Use typed GC allocation. 2010-06-08 07:25:24 +00:00
gimple-fold.c builtins.c (fold_builtin_signbit): Use build_zero_cst instead of fold_convert. 2010-11-03 00:49:00 +00:00
gimple-iterator.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
gimple-low.c builtins.c (fold_builtin_signbit): Use build_zero_cst instead of fold_convert. 2010-11-03 00:49:00 +00:00
gimple-pretty-print.c tree.def (FMA_EXPR): New tree code. 2010-11-04 10:56:22 +00:00
gimple-pretty-print.h gimplify.c: Do not include except.h and optabs.h. 2010-06-01 22:00:56 +00:00
gimple.c tree.def (FMA_EXPR): New tree code. 2010-11-04 10:56:22 +00:00
gimple.def gsstruct.def (GSS_CALL): New. 2010-04-12 15:20:48 +00:00
gimple.h gimple.h (gimple_register_canonical_type): Declare. 2010-10-22 17:50:19 +00:00
gimplify.c re PR middle-end/43690 (Internal compiler error detected by avr-gcc.) 2010-11-05 12:11:50 +01:00
glimits.h
godump.c godump.c: New file. 2010-11-15 21:38:40 +00:00
graph.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
graph.h
graphds.c
graphds.h
graphite-blocking.c Outline lst_niter_for_loop. 2010-09-30 21:20:14 +00:00
graphite-clast-to-gimple.c Fix Graphite memory leaks. 2010-09-30 21:21:29 +00:00
graphite-clast-to-gimple.h Introduce compatibility to newer CLooG's CloogState and mask the use with macros where possible. 2010-08-11 20:30:41 +00:00
graphite-cloog-compat.h New flag: -fgraphite-dump-cloog. 2010-09-30 21:21:21 +00:00
graphite-cloog-util.c Remove warning because of CLooG isl/ppl difference 2010-11-12 22:08:48 +00:00
graphite-cloog-util.h Enable graphite to read an OpenScop file. 2010-09-30 21:17:12 +00:00
graphite-dependences.c Avoid set but not used warning. 2010-09-30 21:19:26 +00:00
graphite-dependences.h Correct the lexicographical function, add debug_pddr. 2010-02-06 17:41:34 +00:00
graphite-flattening.c Fix comments. 2010-09-30 21:20:52 +00:00
graphite-interchange.c Fix pbb_number_of_iterations_at_time. 2010-09-30 21:20:30 +00:00
graphite-poly.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
graphite-poly.h New pass: loop flattening. 2010-09-30 21:20:45 +00:00
graphite-ppl.c Partially removing cloog.h and graphite-clast-to-gimple.h where possible. Removing unused function check_poly_representation. 2010-08-11 20:26:46 +00:00
graphite-ppl.h Move cloog-related functions from graphite-ppl.{c,h} to new graphite-cloog-util.{c,h}. 2010-08-11 20:26:38 +00:00
graphite-scop-detection.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
graphite-scop-detection.h
graphite-sese-to-poly.c vec.h (VEC_qsort): Define. 2010-10-11 15:08:28 +00:00
graphite-sese-to-poly.h Partially removing cloog.h and graphite-clast-to-gimple.h where possible. Removing unused function check_poly_representation. 2010-08-11 20:26:46 +00:00
graphite.c Fix PR45758: reset scevs before Graphite. 2010-09-30 21:22:07 +00:00
graphite.h
gsstruct.def gsstruct.def (GSS_CALL): New. 2010-04-12 15:20:48 +00:00
gstab.h
gsyms.h
gsyslimits.h
gthr-aix.h
gthr-dce.h
gthr-gnat.c
gthr-gnat.h
gthr-lynx.h
gthr-mipssde.h
gthr-nks.h
gthr-posix.c
gthr-posix.h re PR libobjc/19850 (libobjc leaks threads on posix) 2010-09-06 15:57:44 +00:00
gthr-posix95.h re PR libobjc/19850 (libobjc leaks threads on posix) 2010-09-06 15:57:44 +00:00
gthr-rtems.h
gthr-single.h
gthr-solaris.h
gthr-tpf.h
gthr-vxworks.h
gthr-win32.h
gthr.h
haifa-sched.c re PR bootstrap/44756 ([meta-bug] --enable-werror-always issues) 2010-11-05 16:27:25 +00:00
hard-reg-set.h defaults.h (MAX_MOVE_MAX, [...]): Define if not defined. 2010-07-12 18:54:17 +00:00
highlev-plugin-common.h
hooks.c target.def (target_option.init_struct): New hook. 2010-10-15 20:19:05 +01:00
hooks.h target.def (target_option.init_struct): New hook. 2010-10-15 20:19:05 +01:00
host-default.c
hosthooks-def.h
hosthooks.h
hwint.h revert: hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string placeholder from 0x%x to %#x. 2010-05-02 15:10:40 +02:00
ifcvt.c re PR bootstrap/44756 ([meta-bug] --enable-werror-always issues) 2010-11-04 14:58:40 +00:00
implicit-zee.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
incpath.c incpath.c (remove_duplicates): If name is not a directory, issue a warning rather than an error. 2010-09-15 17:27:24 +00:00
incpath.h
init-regs.c
input.c input.c: New file. 2010-05-27 12:33:27 +01:00
input.h input.c: New file. 2010-05-27 12:33:27 +01:00
insn-addr.h
insn-notes.def
integrate.c tree.h (DECL_CHAIN): Define. 2010-07-15 14:31:28 +00:00
integrate.h toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
intl.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
intl.h Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
ipa-cp.c re PR lto/45736 (ICE: in cgraph_remove_unreachable_nodes, at ipa.c:245 with -flto and attribute((constructor))) 2010-10-26 16:40:16 +00:00
ipa-inline.c re PR tree-optimization/40436 (0.5% code size regression caused by r147852) 2010-11-11 22:08:26 +00:00
ipa-prop.c re PR tree-optimization/45722 (FAIL: gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os) 2010-11-14 11:24:47 +00:00
ipa-prop.h tree-sra.c (build_ref_for_offset): Loc made a parameter. 2010-09-14 16:09:38 +02:00
ipa-pure-const.c re PR tree-optimization/46233 (ICE: verify_flow_info failed: control flow in the middle of basic block 3 with -foptimize-sibling-calls) 2010-11-04 19:45:06 +01:00
ipa-ref-inline.h cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
ipa-ref.c cgraph.c (cgraph_edge_cannot_lead_to_return): Also check if caller is noreturn. 2010-06-07 15:33:34 +00:00
ipa-ref.h cgraph.c (cgraph_edge_cannot_lead_to_return): Also check if caller is noreturn. 2010-06-07 15:33:34 +00:00
ipa-reference.c extend.texi: (attribute leaf): Document. 2010-09-24 19:14:51 +00:00
ipa-reference.h tree.h (memory_identifier_string): Remove. 2010-05-15 09:46:55 +00:00
ipa-split.c invoke.texi (-fwhopr): Merge into -flto section. 2010-11-11 22:54:53 +00:00
ipa-struct-reorg.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
ipa-struct-reorg.h
ipa-type-escape.c cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to bitmap_bit_p. 2010-08-19 16:51:39 +00:00
ipa-type-escape.h
ipa-utils.c
ipa-utils.h
ipa.c invoke.texi (-fwhopr): Merge into -flto section. 2010-11-11 22:54:53 +00:00
ira-build.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
ira-color.c common.opt (fira-coalesce): Remove. 2010-10-04 20:37:57 +00:00
ira-conflicts.c re PR rtl-optimization/46237 (SPECint2006 403.gcc fails with -mzarch -m31) 2010-11-09 15:52:24 +00:00
ira-costs.c re PR rtl-optimization/45912 (Patch for PR tree-optimization/44972 caused 2500+ FAILs on Solaris 2/SPARC) 2010-10-13 21:43:42 +00:00
ira-emit.c re PR fortran/42169 (gfortran.dg/pr41928.f90:47: internal compiler error: in store_can_be_removed_p, at ira-emit.c:371) 2010-10-20 13:51:31 +00:00
ira-int.h ira-int.h (ira_remove_allocno_copy_from_list): Remove. 2010-08-11 22:09:53 +00:00
ira-lives.c re PR bootstrap/45445 (ARM bootstrap failure: comparison failures after stage 3) 2010-10-11 19:39:37 +00:00
ira.c ira.c (validate_equiv_mem): Remove code to avoid invalidation of readonly memory equivalances for... 2010-11-04 07:15:33 -06:00
ira.h Makefile.in (target-globals.o): Depend on $(IRA_INT_H). 2010-07-12 19:03:06 +00:00
jump.c diagnostic-core.h: New. 2010-05-27 21:16:07 +01:00
lambda-code.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
lambda-mat.c tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
lambda-trans.c tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
lambda.h builtins.c (fold_builtin_signbit): Use build_zero_cst instead of fold_convert. 2010-11-03 00:49:00 +00:00
langhooks-def.h Makefile.in (OPTS_H): Define. 2010-11-12 23:26:56 +00:00
langhooks.c Makefile.in (OPTS_H): Define. 2010-11-12 23:26:56 +00:00
langhooks.h Makefile.in (OPTS_H): Define. 2010-11-12 23:26:56 +00:00
lcm.c coretypes.h (struct simple_bitmap_def, [...]): New core types. 2010-05-22 22:24:53 +00:00
libfuncs.h Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H). 2010-07-12 18:55:48 +00:00
libgcc-libsystem.ver re PR java/41991 (gcj segfaults on i686-apple-darwin9 and x86_64-apple-darwin9) 2010-02-02 09:18:08 +01:00
libgcc-std.ver common.opt (fsplit-stack): New option. 2010-09-27 19:48:20 +00:00
libgcc2.c libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE. 2010-10-09 21:12:56 +00:00
libgcc2.h cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __BYTE_ORDER__... 2010-10-23 03:05:47 +00:00
libgcov.c defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef GCC_INSN_FLAGS_H. 2010-11-01 20:38:40 +00:00
limitx.h
limity.h
lists.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
longlong.h s390.md: Replace TARGET_64BIT with TARGET_ZARCH. 2010-04-13 09:04:31 +00:00
loop-doloop.c ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes of a loop. 2010-07-19 09:18:14 +00:00
loop-init.c utils.c (init_gnat_to_gnu): Use typed GC allocation. 2010-06-08 07:25:24 +00:00
loop-invariant.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
loop-iv.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
loop-unroll.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
loop-unswitch.c loop-unswitch.c (compare_and_jump_seq): Assert that the last insn in the sequence is a jump insn before setting its label. 2010-06-24 10:01:57 +00:00
lower-subreg.c re PR middle-end/46292 (FAIL: gcc.c-torture/execute/vector-shift2.c compilation, -O3 -g) 2010-11-04 17:06:45 +01:00
lto-cgraph.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
lto-compress.c diagnostic-core.h: New. 2010-05-27 21:16:07 +01:00
lto-compress.h
lto-opts.c re PR lto/44150 (g++.dg/lto/20081109 cp_lto_20081109_0.o-cp_lto_20081109_1.o) 2010-11-15 09:43:01 +00:00
lto-section-in.c lto-section-in.c (lto_section_name): Synchronize names with lto_get_section_name. 2010-07-23 05:24:47 +00:00
lto-section-out.c re PR lto/44992 (ld -r breaks LTO) 2010-07-23 05:33:51 +00:00
lto-streamer-in.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
lto-streamer-out.c lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than assembling high and low parts of size if... 2010-11-11 13:29:46 +00:00
lto-streamer.c tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL is TS_TRANSLATION_UNIT_DECL. 2010-09-16 09:38:13 +00:00
lto-streamer.h tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL is TS_TRANSLATION_UNIT_DECL. 2010-09-16 09:38:13 +00:00
lto-symtab.c re PR lto/46376 (LTO, MinGW and virtual base classes don't work together) 2010-11-12 10:06:37 +01:00
lto-wrapper.c invoke.texi (-fwhopr): Merge into -flto section. 2010-11-11 22:54:53 +00:00
machmode.def tm.texi.in (OVERRIDE_OPTIONS): Remove documentation. 2010-09-16 12:59:39 +01:00
machmode.h machmode.h (mode_for_vector): Declare. 2010-10-07 14:36:38 +00:00
main.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
matrix-reorg.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
mcf.c
mips-tdump.c gcc.c (process_command): Update copyright notice dates. 2010-01-09 01:00:42 +01:00
mips-tfile.c gcc.c (process_command): Update copyright notice dates. 2010-01-09 01:00:42 +01:00
mkconfig.sh configure.ac (tm_include_list): Add insn-constants.h. 2010-06-10 20:23:43 +00:00
mkmap-flat.awk
mkmap-symver.awk
mode-classes.def
mode-switching.c target.def (class_likely_spilled_p): New hook. 2010-09-02 18:29:37 +04:00
modulo-sched.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
omega.c Fix violations of self-assignment check in GCC source. 2010-07-23 22:20:45 +00:00
omega.h
omp-builtins.def re PR middle-end/45838 (FAIL: libgomp.c/pr34513.c execution test) 2010-10-06 09:47:28 +02:00
omp-low.c builtins.c (fold_builtin_signbit): Use build_zero_cst instead of fold_convert. 2010-11-03 00:49:00 +00:00
opt-functions.awk defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG, [...]): Remove. 2010-11-05 13:06:27 +00:00
opt-gather.awk
optabs.c * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly. 2010-11-11 17:10:12 -08:00
optabs.h tree.def (FMA_EXPR): New tree code. 2010-11-04 10:56:22 +00:00
optc-gen.awk Fix PR bootstrap/35855: awk character classes. 2010-10-11 17:58:53 +00:00
opth-gen.awk flag-types.h: New. 2010-10-12 12:25:16 +01:00
opts-common.c opts-common.c (control_warning_option): New. 2010-11-12 23:30:42 +00:00
opts-diagnostic.h diagnostic.c: Don't include opts.h. 2010-05-26 14:40:53 +01:00
opts.c opts-common.c (control_warning_option): New. 2010-11-12 23:30:42 +00:00
opts.h opts-common.c (control_warning_option): New. 2010-11-12 23:30:42 +00:00
output.h tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro. 2010-11-13 23:04:26 +00:00
params.c params.c (params_finished): New. 2010-10-14 11:22:43 +01:00
params.def invoke.texi (early-inlining-insns): Update default. 2010-11-12 16:29:10 +00:00
params.h params.c (params_finished): New. 2010-10-14 11:22:43 +01:00
passes.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
plugin.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
plugin.def decl.c (finish_function): Rename pre-genericize event. 2009-12-21 20:37:49 +00:00
plugin.h opts-common.c (handle_option, [...]): Add diagnostic_context parameter. 2010-10-05 15:28:39 +01:00
pointer-set.c
pointer-set.h
postreload-gcse.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
postreload.c re PR target/40457 (use stm and ldm to access consecutive memory words) 2010-09-29 20:06:55 +00:00
predict.c re PR tree-optimization/46288 (ICE: SIGSEGV in walk_gimple_op (gimple.c:2857) with -O -fno-tree-dce and __builtin_expect()) 2010-11-03 16:58:50 +00:00
predict.def
predict.h predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is unreachable. 2010-06-29 14:14:15 +00:00
prefix.c
prefix.h
pretty-print.c Makefile.in (READ_MD_H): New variable. 2010-06-10 20:21:23 +00:00
pretty-print.h toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
print-rtl.c re PR middle-end/45234 (ICE in expand_call, at calls.c:2845 when passing aligned function argument from unaligned stack after alloca) 2010-09-24 16:37:02 +02:00
print-tree.c * print-tree.c (print_node): Print in-constant-pool. 2010-09-27 10:16:44 +00:00
profile.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
profile.h
read-md.c md.texi (define_enum_attr): Document. 2010-06-10 20:24:17 +00:00
read-md.h md.texi (define_enum_attr): Document. 2010-06-10 20:24:17 +00:00
read-rtl.c Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H). 2010-06-10 20:23:13 +00:00
real.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
real.h real: Do not include gmp.h, mpfr.h, and mpc.h. 2010-05-21 18:13:54 +00:00
realmpfr.c real: Do not include gmp.h, mpfr.h, and mpc.h. 2010-05-21 18:13:54 +00:00
realmpfr.h real: Do not include gmp.h, mpfr.h, and mpc.h. 2010-05-21 18:13:54 +00:00
recog.c recog.c (split_all_insns): Remove dead code. 2010-10-28 21:20:01 +00:00
recog.h target.def (preferred_output_reload_class): New hook. 2010-10-17 19:27:53 +04:00
reg-notes.def Describe unwinding for realigned frames explicitly. 2010-08-04 16:58:26 -07:00
reg-stack.c reg-stack.c (convert_regs_1): Return boolean value, true if the CFG has been modified. 2010-10-24 20:50:20 +00:00
regcprop.c re PR bootstrap/45028 (ICE building 64-bit libjava on Solaris 2/SPARC: output_operand: invalid expression as operand) 2010-07-22 22:48:42 +02:00
reginfo.c tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro. 2010-11-13 23:04:26 +00:00
regmove.c target.def (class_likely_spilled_p): New hook. 2010-09-02 18:29:37 +04:00
regrename.c optc-gen.awk: Generate global_options initializer instead of individual variables. 2010-09-29 15:49:14 +01:00
regs.h target.def (class_likely_spilled_p): New hook. 2010-09-02 18:29:37 +04:00
regset.h coretypes.h (struct simple_bitmap_def, [...]): New core types. 2010-05-22 22:24:53 +00:00
regstat.c cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to bitmap_bit_p. 2010-08-19 16:51:39 +00:00
reload.c target.def (preferred_output_reload_class): New hook. 2010-10-17 19:27:53 +04:00
reload.h reload.h (register_move_cost, [...]): Adjust prototype. 2010-08-15 01:46:11 +04:00
reload1.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
reorg.c re PR rtl-optimization/45593 (segfault with -Os) 2010-09-15 22:48:00 +00:00
resource.c optc-gen.awk: Generate global_options initializer instead of individual variables. 2010-09-29 15:49:14 +01:00
resource.h
rtl-error.c toplev.h (_fatal_insn_not_found, [...]): Move declarations to rtl.h. 2010-06-30 17:12:36 +00:00
rtl-error.h toplev.h (_fatal_insn_not_found, [...]): Move declarations to rtl.h. 2010-06-30 17:12:36 +00:00
rtl.c rtl.h: Include hashtab.h. 2010-10-12 08:24:07 +02:00
rtl.def Add fma support 2010-10-15 17:42:05 +00:00
rtl.h re PR debug/46387 (ICE in add_stores, at var-tracking.c:5415) 2010-11-15 21:07:39 +01:00
rtlanal.c re PR target/40457 (use stm and ldm to access consecutive memory words) 2010-09-29 20:06:55 +00:00
rtlhooks-def.h
rtlhooks.c
sbitmap.c tree-vrp.c (debug_value_range, [...]): Annotate with DEBUG_FUNCTION. 2010-05-29 20:31:45 +00:00
sbitmap.h sbitmap.h (sbitmap_ptr, [...]): Move from here... 2010-05-23 00:11:55 +00:00
sched-deps.c sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke may_trap_or_fault_p instead of may_trap_p predicate. 2010-10-14 13:39:18 +00:00
sched-ebb.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
sched-int.h Model decoder of Core 2/i7 for multipass scheduling. 2010-11-02 16:02:09 +00:00
sched-rgn.c basic-block.h (find_fallthru_edge): Define. 2010-10-21 02:33:33 +00:00
sched-vis.c sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE on RTX_FRAME_RELATED_P insns and the insn to which... 2010-10-14 11:59:57 +04:00
sdbout.c godump.c: New file. 2010-11-15 21:38:40 +00:00
sdbout.h
sel-sched-dump.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
sel-sched-dump.h re PR bootstrap/44426 (gcc 4.5.0 requires c9x compiler to build) 2010-06-21 18:26:25 +02:00
sel-sched-ir.c re PR rtl-optimization/46204 (g++.dg/torture/stackalign/throw-1.C fails to compile on IA64) 2010-11-13 12:28:52 +03:00
sel-sched-ir.h sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment. 2010-10-14 11:39:07 +04:00
sel-sched.c re PR rtl-optimization/45352 (ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7058) 2010-11-08 11:11:38 +03:00
sel-sched.h
sese.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
sese.h Fix miscompilation of 416.gamess. 2010-09-30 21:21:56 +00:00
simplify-rtx.c tree-vrp.c (extract_range_from_binary_expr): If flag_non_call_exceptions don't eliminate division by zero. 2010-10-23 16:18:32 +00:00
sparseset.c
sparseset.h
sreal.c
sreal.h
ssaexpand.h
stab.def
stack-ptr-mod.c
statistics.c
statistics.h
stmt.c tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro. 2010-11-13 23:04:26 +00:00
stor-layout.c stor-layout.c (place_union_field): Do not put location information on offset expressions. 2010-11-13 22:38:04 +00:00
store-motion.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
stringpool.c utils.c (init_gnat_to_gnu): Use typed GC allocation. 2010-06-08 07:25:24 +00:00
sync-builtins.def builtin-attrs.def (ATTR_LEAF): New attribute. 2010-09-28 16:34:36 +00:00
system.h tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove. 2010-11-10 12:40:51 +00:00
target-def.h re PR other/44034 (target hooks are hard to maintain) 2010-06-29 19:22:00 +01:00
target-globals.c reginfo.c (init_reg_sets): Don't zero globals here. 2010-07-12 19:04:21 +00:00
target-globals.h Makefile.in (bb-reorder.o, [...]): Depend on bb-reorder.h 2010-07-12 19:04:11 +00:00
target.def re PR middle-end/46314 (frontends use ASM_GENERATE_INTERNAL_LABEL) 2010-11-06 15:04:52 +00:00
target.h target.h (enum opt_levels, [...]): New. 2010-10-22 13:14:45 +01:00
targhooks.c re PR bootstrap/44335 (gcc-4.6-20100529 java bootstrap failure on arm-linux-gnueabi) 2010-11-03 10:45:40 +00:00
targhooks.h re PR bootstrap/44335 (gcc-4.6-20100529 java bootstrap failure on arm-linux-gnueabi) 2010-11-03 10:45:40 +00:00
timevar.c Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars. 2010-05-21 23:00:23 +00:00
timevar.def Schedule a copy_prop pass before graphite. 2010-08-11 20:24:47 +00:00
timevar.h Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars. 2010-05-21 23:00:23 +00:00
tlink.c collect2.c (TARGET_64BIT): Redefine to target's default. 2010-04-27 19:48:58 +02:00
toplev.c godump.c: New file. 2010-11-15 21:38:40 +00:00
toplev.h common.opt (flag_excess_precision_cmdline, [...]): New Variable declarations. 2010-11-10 22:35:13 +00:00
tracer.c
tree-affine.c re PR middle-end/42834 (memcpy folding overeager) 2010-07-01 08:49:19 +00:00
tree-affine.h
tree-browser.c tree-browser.c (TB_history_stack): Convert to a VEC. 2010-06-28 13:06:43 +00:00
tree-browser.def
tree-call-cdce.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
tree-cfg.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
tree-cfgcleanup.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
tree-chrec.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
tree-chrec.h A function is affine when CHREC_RIGHT is invariant. 2010-09-30 21:18:27 +00:00
tree-complex.c basic-block.h (find_fallthru_edge): Define. 2010-10-21 02:33:33 +00:00
tree-data-ref.c re PR tree-optimization/44913 (-ftree-vectorize causes FAIL: gcc.dg/pr44838.c execution test) 2010-10-14 15:51:15 +00:00
tree-data-ref.h Use DR_IS_WRITE instead of !DR_IS_READ. 2010-09-03 20:05:42 +00:00
tree-dfa.c tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE. 2010-09-03 09:50:17 +00:00
tree-diagnostic.c diagnostic.c: Don't include flags.h. 2010-05-24 19:55:44 +01:00
tree-diagnostic.h diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or langhooks-def.h. 2010-05-21 23:34:26 +01:00
tree-dump.c tree.def (MISALIGNED_INDIRECT_REF): Remove. 2010-09-06 13:26:13 +00:00
tree-dump.h re PR other/44874 (TDF_NOUID dumps miss information about DECL_UID ordering) 2010-07-13 22:55:57 +01:00
tree-eh.c re PR middle-end/45854 (ICE in redirect_eh_edge_1, at tree-eh.c:2131) 2010-10-01 12:07:47 +00:00
tree-emutls.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
tree-flow-inline.h basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
tree-flow.h tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare. 2010-10-18 16:44:38 +00:00
tree-if-conv.c Fix PR45971: do not predicate condition phi nodes that are scev analyzable. 2010-11-10 16:06:47 +00:00
tree-inline.c Check preferred vector mode for vector type in estimate_move_cost. 2010-11-10 12:08:27 -08:00
tree-inline.h re PR tree-optimization/40436 (0.5% code size regression caused by r147852) 2010-11-10 02:35:19 +00:00
tree-into-ssa.c tree-into-ssa.c (rewrite_update_enter_block): Remove unused variables. 2010-10-21 14:05:57 +00:00
tree-iterator.c utils.c (init_gnat_to_gnu): Use typed GC allocation. 2010-06-08 07:25:24 +00:00
tree-iterator.h vecir.h: New file with VEC primitives for tree, gimple, and rtl. 2010-05-15 20:02:11 +00:00
tree-loop-distribution.c re PR tree-optimization/46355 (ICE: SIGSEGV in create_preheader (cfgloopmanip.c:1336) with -O -fstrict-overflow -ftree-loop-distribution) 2010-11-09 16:54:05 +00:00
tree-loop-linear.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
tree-mudflap.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
tree-mudflap.h
tree-nested.c tree-nested.c (build_addr): Use build_fold_addr_expr. 2010-11-04 15:15:39 +00:00
tree-nomudflap.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
tree-nrv.c re PR tree-optimization/43784 (-Os -fkeep-inline-functions causes FAIL: gcc.c-torture/execute/builtins/pr22237.c execution) 2010-07-26 16:01:55 +00:00
tree-object-size.c builtins.c (fold_builtin_signbit): Use build_zero_cst instead of fold_convert. 2010-11-03 00:49:00 +00:00
tree-optimize.c tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges if there is a call statement to pure or const... 2010-10-20 17:30:10 +00:00
tree-outof-ssa.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
tree-parloops.c re PR tree-optimization/46099 (ICE: in replace_ssa_name, at tree-cfg.c:5643 with -ftree-parallelize-loops -g) 2010-11-05 12:15:28 +01:00
tree-pass.h value-prof.c (gimple_divmod_fixed_value): Work on SSA form. 2010-10-05 10:42:24 +00:00
tree-phinodes.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
tree-predcom.c vec.h (VEC_qsort): Define. 2010-10-11 15:08:28 +00:00
tree-pretty-print.c re PR debug/46307 (ICE with FMA_EXPR in DEBUG stmts) 2010-11-05 10:00:50 +01:00
tree-pretty-print.h gimplify.c: Do not include except.h and optabs.h. 2010-06-01 22:00:56 +00:00
tree-profile.c re PR lto/45736 (ICE: in cgraph_remove_unreachable_nodes, at ipa.c:245 with -flto and attribute((constructor))) 2010-10-26 16:40:16 +00:00
tree-scalar-evolution.c Also handle ARRAY_REFs in instantiate_scev_r. 2010-09-30 21:18:48 +00:00
tree-scalar-evolution.h re PR tree-optimization/42732 ([graphite] ICE: verify_ssa failed) 2010-01-14 07:38:15 +00:00
tree-sra.c re PR tree-optimization/46349 (incorrect scalarization) 2010-11-15 17:32:18 +01:00
tree-ssa-address.c re PR middle-end/45534 (ICE in refs_may_alias_p_1, at tree-ssa-alias.c:1031) 2010-09-06 12:14:02 +00:00
tree-ssa-alias.c re PR tree-optimization/44913 (-ftree-vectorize causes FAIL: gcc.dg/pr44838.c execution test) 2010-10-14 15:51:15 +00:00
tree-ssa-alias.h re PR tree-optimization/44913 (-ftree-vectorize causes FAIL: gcc.dg/pr44838.c execution test) 2010-10-14 15:51:15 +00:00
tree-ssa-ccp.c re PR tree-optimization/45919 (ICE: SIGSEGV in fold_ctor_reference (tree-ssa-ccp.c:1527) at -O1) 2010-10-20 23:17:30 +02:00
tree-ssa-coalesce.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
tree-ssa-copy.c builtins.c (fold_builtin_signbit): Use build_zero_cst instead of fold_convert. 2010-11-03 00:49:00 +00:00
tree-ssa-copyrename.c gimplify.c: Do not include except.h and optabs.h. 2010-06-01 22:00:56 +00:00
tree-ssa-dce.c re PR tree-optimization/44485 (ICE in get_expr_operands, at tree-ssa-operands.c:1020) 2010-08-26 18:39:26 +02:00
tree-ssa-dom.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
tree-ssa-dse.c re PR tree-optimization/45970 (tree DSE misses many obvious dead stores) 2010-10-13 13:03:31 +00:00
tree-ssa-forwprop.c re PR tree-optimization/46346 (fma testsuite failures) 2010-11-07 18:49:11 +01:00
tree-ssa-ifcombine.c re PR tree-optimization/39874 (missing VRP (submission)) 2010-06-08 14:15:53 -04:00
tree-ssa-live.c vec.h (VEC_qsort): Define. 2010-10-11 15:08:28 +00:00
tree-ssa-live.h cgraph.h (varpool_first_static_initializer, [...]): Make checking only when checking enabled. 2010-06-09 15:41:23 +00:00
tree-ssa-loop-ch.c gimplify.c: Do not include except.h and optabs.h. 2010-06-01 22:00:56 +00:00
tree-ssa-loop-im.c * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst. 2010-10-31 02:32:20 +00:00
tree-ssa-loop-ivcanon.c re PR tree-optimization/45605 (Missed devirtualization) 2010-09-20 15:48:42 +00:00
tree-ssa-loop-ivopts.c re PR debug/46150 (-fcompare-debug failure (length) with -fPIC -O2) 2010-11-11 09:09:46 +01:00
tree-ssa-loop-manip.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
tree-ssa-loop-niter.c tree-vrp.c (adjust_range_with_scev): Use number of iteration estimate. 2010-09-01 11:39:55 +00:00
tree-ssa-loop-prefetch.c tree.def (MISALIGNED_INDIRECT_REF): Remove. 2010-09-06 13:26:13 +00:00
tree-ssa-loop-unswitch.c re PR middle-end/43866 (wrong code with -fbounds-check -funswitch-loops) 2010-06-25 14:10:42 +02:00
tree-ssa-loop.c New pass: loop flattening. 2010-09-30 21:20:45 +00:00
tree-ssa-math-opts.c re PR bootstrap/46474 (powerpc64-linux bootstrap comparison failure in libcpp/symtab.o) 2010-11-15 12:04:46 +00:00
tree-ssa-operands.c re PR debug/46307 (ICE with FMA_EXPR in DEBUG stmts) 2010-11-05 10:00:50 +01:00
tree-ssa-operands.h utils.c (init_gnat_to_gnu): Use typed GC allocation. 2010-06-08 07:25:24 +00:00
tree-ssa-phiopt.c re PR tree-optimization/46009 (?: vectorized, very similar if is not) 2010-11-03 16:18:50 +01:00
tree-ssa-phiprop.c vec.h (FOR_EACH_VEC_ELT): Define. 2010-08-20 12:48:59 +00:00
tree-ssa-pre.c re PR tree-optimization/46165 (ICE: verify_flow_info failed when casting-out attribute noreturn with -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce) 2010-11-03 11:34:34 +01:00
tree-ssa-propagate.c re PR middle-end/46360 (ICE in release_defs, at tree-ssanames.c:313) 2010-11-09 12:54:32 +01:00
tree-ssa-propagate.h tree-ssa-propagate.h (struct prop_value_d, [...]): Move ... 2010-08-04 12:29:48 +00:00
tree-ssa-reassoc.c builtins.c (fold_builtin_signbit): Use build_zero_cst instead of fold_convert. 2010-11-03 00:49:00 +00:00
tree-ssa-sccvn.c re PR tree-optimization/46398 (early FRE miscompiles simple testcase) 2010-11-10 10:59:20 +00:00
tree-ssa-sccvn.h re PR middle-end/42834 (memcpy folding overeager) 2010-07-01 08:49:19 +00:00
tree-ssa-sink.c re PR tree-optimization/33244 (Missed opportunities for vectorization) 2010-09-08 12:34:52 +00:00
tree-ssa-structalias.c re PR tree-optimization/46467 (gcc.dg/torture/pta-structcopy-1.c FAILs with -fipa-pta without inlining) 2010-11-15 14:15:33 +00:00
tree-ssa-ter.c basic-block.h (single_succ_edge): Use gcc_checking_assert. 2010-10-21 13:08:28 +00:00
tree-ssa-threadedge.c With large parts from Jim Wilson: 2010-06-25 08:56:24 +00:00
tree-ssa-threadupdate.c gimplify.c: Do not include except.h and optabs.h. 2010-06-01 22:00:56 +00:00
tree-ssa-uncprop.c gimplify.c: Do not include except.h and optabs.h. 2010-06-01 22:00:56 +00:00
tree-ssa-uninit.c uninit var analysis enhancement 2010-10-15 23:16:59 +00:00
tree-ssa.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
tree-ssanames.c tree-ssanames.c (release_dead_ssa_names): Do not remove callee edges here. 2010-09-22 12:15:56 +00:00
tree-stdarg.c builtins.def (BUILT_IN_ARGS_INFO): Remove. 2010-07-23 14:31:20 +00:00
tree-stdarg.h
tree-switch-conversion.c foldconst-1.c: New testcase. 2010-09-04 16:02:38 +00:00
tree-tailcall.c tree-tailcall.c (find_tail_calls): Convert the operands to the type of the result before building binary expressions. 2010-11-03 17:33:31 +00:00
tree-vect-data-refs.c re PR tree-optimization/46190 (ICE in vect_enhance_data_refs_alignment when building fma3d) 2010-11-03 13:30:48 +00:00
tree-vect-generic.c passes.c (init_optimization_passes): Move veclower after SSA. 2010-11-04 10:54:33 +00:00
tree-vect-loop-manip.c re PR middle-end/45720 (Revision 164367 miscompiled SPEC CPU 2K) 2010-10-22 14:44:48 +00:00
tree-vect-loop.c re PR tree-optimization/46213 (gfortran.dg/aliasing_array_result_1.f90 ICE: in vectorizable_reduction, at tree-vect-loop.c:4046 with custom compiler flags) 2010-11-04 11:51:09 +00:00
tree-vect-patterns.c re PR tree-optimization/46167 (ICE: SIGSEGV in flow_bb_inside_loop_p (cfgloop.c:776) with -O -ftree-vectorize) 2010-10-26 15:53:28 +00:00
tree-vect-slp.c fold-const.c (build_zero_vector): Use build_vector_from_val. 2010-10-31 02:20:22 +00:00
tree-vect-stmts.c re PR tree-optimization/45733 (ICE: verify_stmts failed: invalid conversion in gimple call with -fstrict-overflow -ftree-vectorize) 2010-11-04 12:42:57 +00:00
tree-vectorizer.c tree-vectorizer.c: Fix documentation. 2010-09-16 10:35:14 +00:00
tree-vectorizer.h re PR tree-optimization/46049 (ICE: in expand_widen_pattern_expr, at optabs.c:522 with -ftree-vectorize) 2010-10-21 13:36:56 +00:00
tree-vrp.c Fix PR/46316 2010-11-09 02:01:06 +00:00
tree.c re PR tree-optimization/46383 (ICE: in get_binfo_at_offset, at tree.c:10947) 2010-11-11 13:03:59 +01:00
tree.def tree.def (FMA_EXPR): New tree code. 2010-11-04 10:56:22 +00:00
tree.h godump.c: New file. 2010-11-15 21:38:40 +00:00
treestruct.def tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL is TS_TRANSLATION_UNIT_DECL. 2010-09-16 09:38:13 +00:00
tsystem.h
typeclass.h
unwind-c.c
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-darwin.c only use _darwin10_Unwind_FindEnclosingFunction on darwin >= 10 2010-08-17 14:54:10 +00:00
unwind-dw2-fde-glibc.c Include <link.h> only if USE_PT_GNU_EH_FRAME is defined. 2010-09-07 14:14:41 -07:00
unwind-dw2-fde.c dwarf2out.c (output_call_frame_info): For dw_cie_version >= 4 add also address size and segment size fields into CIE... 2010-04-21 08:57:37 +02:00
unwind-dw2-fde.h
unwind-dw2.c * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes. 2010-04-27 11:40:46 +02:00
unwind-dw2.h
unwind-generic.h
unwind-pe.h
unwind-sjlj.c
unwind.inc
value-prof.c cfgloop.c (verify_loop_structure): Use %' in diagnostics. 2010-11-10 23:23:15 +00:00
value-prof.h
var-tracking.c re PR debug/46387 (ICE in add_stores, at var-tracking.c:5415) 2010-11-15 21:07:39 +01:00
varasm.c tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro. 2010-11-13 23:04:26 +00:00
varpool.c invoke.texi (-fwhopr): Merge into -flto section. 2010-11-11 22:54:53 +00:00
vec.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
vec.h vec.h (VEC_qsort): Define. 2010-10-11 15:08:28 +00:00
vecir.h vecir.h: New file with VEC primitives for tree, gimple, and rtl. 2010-05-15 20:02:11 +00:00
vecprim.h
version.c
version.h
vmsdbg.h Committed as obvious. 2010-06-29 19:04:12 +00:00
vmsdbgout.c godump.c: New file. 2010-11-15 21:38:40 +00:00
web.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
xcoff.h
xcoffout.c toplev.h: Do not include diagnostic-core.h. 2010-07-08 04:22:54 +00:00
xcoffout.h

README.Portability

Copyright (C) 2000, 2003 Free Software Foundation, Inc.

This file is intended to contain a few notes about writing C code
within GCC so that it compiles without error on the full range of
compilers GCC needs to be able to compile on.

The problem is that many ISO-standard constructs are not accepted by
either old or buggy compilers, and we keep getting bitten by them.
This knowledge until know has been sparsely spread around, so I
thought I'd collect it in one useful place.  Please add and correct
any problems as you come across them.

I'm going to start from a base of the ISO C90 standard, since that is
probably what most people code to naturally.  Obviously using
constructs introduced after that is not a good idea.

For the complete coding style conventions used in GCC, please read
http://gcc.gnu.org/codingconventions.html


String literals
---------------

Irix6 "cc -n32" and OSF4 "cc" have problems with constant string
initializers with parens around it, e.g.

const char string[] = ("A string");

This is unfortunate since this is what the GNU gettext macro N_
produces.  You need to find a different way to code it.

Some compilers like MSVC++ have fairly low limits on the maximum
length of a string literal; 509 is the lowest we've come across.  You
may need to break up a long printf statement into many smaller ones.


Empty macro arguments
---------------------

ISO C (6.8.3 in the 1990 standard) specifies the following:

If (before argument substitution) any argument consists of no
preprocessing tokens, the behavior is undefined.

This was relaxed by ISO C99, but some older compilers emit an error,
so code like

#define foo(x, y) x y
foo (bar, )

needs to be coded in some other way.


free and realloc
----------------

Some implementations crash upon attempts to free or realloc the null
pointer.  Thus if mem might be null, you need to write

  if (mem)
    free (mem);


Trigraphs
---------

You weren't going to use them anyway, but some otherwise ISO C
compliant compilers do not accept trigraphs.


Suffixes on Integer Constants
-----------------------------

You should never use a 'l' suffix on integer constants ('L' is fine),
since it can easily be confused with the number '1'.


			Common Coding Pitfalls
			======================

errno
-----

errno might be declared as a macro.


Implicit int
------------

In C, the 'int' keyword can often be omitted from type declarations.
For instance, you can write

  unsigned variable;

as shorthand for

  unsigned int variable;

There are several places where this can cause trouble.  First, suppose
'variable' is a long; then you might think

  (unsigned) variable

would convert it to unsigned long.  It does not.  It converts to
unsigned int.  This mostly causes problems on 64-bit platforms, where
long and int are not the same size.

Second, if you write a function definition with no return type at
all:

  operate (int a, int b)
  {
    ...
  }

that function is expected to return int, *not* void.  GCC will warn
about this.

Implicit function declarations always have return type int.  So if you
correct the above definition to

  void
  operate (int a, int b)
  ...

but operate() is called above its definition, you will get an error
about a "type mismatch with previous implicit declaration".  The cure
is to prototype all functions at the top of the file, or in an
appropriate header.

Char vs unsigned char vs int
----------------------------

In C, unqualified 'char' may be either signed or unsigned; it is the
implementation's choice.  When you are processing 7-bit ASCII, it does
not matter.  But when your program must handle arbitrary binary data,
or fully 8-bit character sets, you have a problem.  The most obvious
issue is if you have a look-up table indexed by characters.

For instance, the character '\341' in ISO Latin 1 is SMALL LETTER A
WITH ACUTE ACCENT.  In the proper locale, isalpha('\341') will be
true.  But if you read '\341' from a file and store it in a plain
char, isalpha(c) may look up character 225, or it may look up
character -31.  And the ctype table has no entry at offset -31, so
your program will crash.  (If you're lucky.)

It is wise to use unsigned char everywhere you possibly can.  This
avoids all these problems.  Unfortunately, the routines in <string.h>
take plain char arguments, so you have to remember to cast them back
and forth - or avoid the use of strxxx() functions, which is probably
a good idea anyway.

Another common mistake is to use either char or unsigned char to
receive the result of getc() or related stdio functions.  They may
return EOF, which is outside the range of values representable by
char.  If you use char, some legal character value may be confused
with EOF, such as '\377' (SMALL LETTER Y WITH UMLAUT, in Latin-1).
The correct choice is int.

A more subtle version of the same mistake might look like this:

  unsigned char pushback[NPUSHBACK];
  int pbidx;
  #define unget(c) (assert(pbidx < NPUSHBACK), pushback[pbidx++] = (c))
  #define get(c) (pbidx ? pushback[--pbidx] : getchar())
  ...
  unget(EOF);

which will mysteriously turn a pushed-back EOF into a SMALL LETTER Y
WITH UMLAUT.


Other common pitfalls
---------------------

o Expecting 'plain' char to be either sign or unsigned extending.

o Shifting an item by a negative amount or by greater than or equal to
  the number of bits in a type (expecting shifts by 32 to be sensible
  has caused quite a number of bugs at least in the early days).

o Expecting ints shifted right to be sign extended.

o Modifying the same value twice within one sequence point.

o Host vs. target floating point representation, including emitting NaNs
  and Infinities in a form that the assembler handles.

o qsort being an unstable sort function (unstable in the sense that
  multiple items that sort the same may be sorted in different orders
  by different qsort functions).

o Passing incorrect types to fprintf and friends.

o Adding a function declaration for a module declared in another file to
  a .c file instead of to a .h file.