gcc/gcc
Richard Guenther b207f90082 re PR lto/41858 (-flto -O2 crashes when many source files.)
2009-10-30  Richard Guenther  <rguenther@suse.de>

	PR lto/41858
	* lto-streamer.h (struct lto_file_decl_data): Remove fd member.

	lto/
	* lto.c (lto_file_read): Do not set file_data->fd.
	(lto_read_section_data): Use a single-entry file-descriptor cache.
	Do not check the result of xmalloc.
	(free_section_data): Do not use file_data->fd.
	(lto_read_all_file_options): Likewise.

From-SVN: r153758
2009-10-30 15:58:57 +00:00
..
ada utils.c (MAX_FIXED_MODE_SIZE): Delete. 2009-10-30 15:08:27 +00:00
config target-def.h (TARGET_ASM_TTYPE): Correct typo of TARGET_ARM_TTYPE. 2009-10-30 14:55:10 +00:00
cp tinfo.cc (operator=(const type_info&)): Revert 153734. 2009-10-30 12:20:38 +00:00
doc invoke.texi (mmcount-ra-address): Document new command line option. 2009-10-29 17:39:52 +00:00
fortran re PR fortran/41777 (Wrong-code with POINTER-returning GENERIC function) 2009-10-29 16:24:38 +01:00
ginclude Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
java re PR java/28474 (mangle_name.c mangles names unecessarily) 2009-10-20 16:01:21 +00:00
lto re PR lto/41858 (-flto -O2 crashes when many source files.) 2009-10-30 15:58:57 +00:00
objc Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
objcp re PR objc++/41430 (exception handling testsuite failures in objc++) 2009-09-22 13:49:03 +00:00
po * gcc.pot: Regenerate. 2009-10-17 14:46:08 +01:00
testsuite utils.c (MAX_FIXED_MODE_SIZE): Delete. 2009-10-30 15:08:27 +00:00
ABOUT-GCC-NLS ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
BASE-VER * BASE-VER: Change to 4.5.0. 2009-03-27 20:56:48 +00:00
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog re PR lto/41858 (-flto -O2 crashes when many source files.) 2009-10-30 15:58:57 +00:00
ChangeLog-1997 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-1998 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-1999 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2000 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2001 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2002 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2003 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2004 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2005 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2006 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2007 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2008 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.dataflow ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.graphite graphite-dependences.c (graphite_legal_transform_bb): Call pbb_remove_duplicate_pdrs. 2009-08-28 20:41:53 +00:00
ChangeLog.lib ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.ptr ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.tree-ssa ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.tuples ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
DATESTAMP Daily bump. 2009-10-30 00:16:44 +00:00
DEV-PHASE
FSFChangeLog ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
FSFChangeLog.10 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
FSFChangeLog.11 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
LANGUAGES ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
Makefile.in tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
ONEWS ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
README.Portability
acinclude.m4 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
aclocal.m4 [multiple changes] 2009-09-08 17:21:07 +02:00
addresses.h
alias.c re PR middle-end/41855 (ICE in refs_may_alias_p_1, at tree-ssa-alias.c:855) 2009-10-28 13:28:32 +00:00
alias.h re PR middle-end/13146 (inheritance for nonoverlapping_component_refs_p) 2009-04-03 10:24:28 +00:00
alloc-pool.c ggc-page.c: Include cfgloop.h. 2009-10-20 14:15:52 +00:00
alloc-pool.h
attribs.c attribs.c (register_attribute): Use CONST_CAST. 2009-06-01 16:35:01 +00:00
auto-inc-dec.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
basic-block.h gengtype.c (main): Handle uint64_t. 2009-08-27 08:56:10 +00:00
bb-reorder.c target.h (have_conditional_execution): Add a new target hook function. 2009-10-27 09:06:36 +00:00
bitmap.c hwint.h (HOST_LONG_FORMAT): New macro 2009-08-25 23:19:16 +00:00
bitmap.h bitmap.h (bitmap_ior_and_into): New. 2009-06-27 14:46:56 +00:00
bt-load.c df.h: Include "timevar.h". 2009-04-17 05:40:46 +00:00
builtin-attrs.def
builtin-types.def
builtins.c re PR debug/41801 (VTA: ICE in loc_cmp.) 2009-10-28 15:43:04 +01:00
builtins.def except.h (struct eh_region_d): Add use_cxa_end_cleanup. 2009-09-28 09:44:32 -07:00
c-aux-info.c
c-common.c re PR middle-end/37565 (__optimize__ attribute doesn't work correctly) 2009-10-29 16:44:02 +00:00
c-common.def re PR middle-end/323 (optimized code gives strange floating point results) 2009-03-30 02:50:44 +01:00
c-common.h tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document. 2009-10-26 21:58:06 +00:00
c-config-lang.in c-objc-common.h (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Do not define. 2009-08-20 16:11:37 +00:00
c-convert.c re PR c/40435 (Revision 148442 caused many regressions on trunk) 2009-07-16 22:29:52 +00:00
c-cppbuiltin.c extend.texi (Symbol-Renaming Pragmas): redefine_extname is supported on all platforms. 2009-08-14 17:25:48 -04:00
c-decl.c tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document. 2009-10-26 21:58:06 +00:00
c-dump.c
c-errors.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
c-format.c Changelog gcc/ 2009-08-24 08:17:33 +02:00
c-format.h Changelog gcc/ 2009-08-24 08:17:33 +02:00
c-gimplify.c re PR c/40401 (ICE: verify_gimple failed) 2009-07-17 15:49:34 +00:00
c-lang.c [multiple changes] 2009-09-03 00:07:12 -04:00
c-lang.h c-objc-common.h (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Do not define. 2009-08-20 16:11:37 +00:00
c-lex.c charset.c (cpp_init_iconv): Initialize utf8_cset_desc. 2009-10-19 23:41:15 +02:00
c-objc-common.c c-objc-common.c (c_tree_printer): Print identifiers with pp_identifier, not pp_string. 2009-05-01 15:09:20 +01:00
c-objc-common.h tree-flow.h (mark_addressable): Move declaration ... 2009-09-01 08:38:10 +00:00
c-omp.c re PR c/40401 (ICE: verify_gimple failed) 2009-07-17 15:49:34 +00:00
c-opts.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
c-parser.c tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document. 2009-10-26 21:58:06 +00:00
c-pch.c c-pch.c (get_ident): Don't set size of templ array. 2009-06-17 13:21:23 +00:00
c-ppoutput.c re PR preprocessor/41445 (Debug information is wrong with and without --save-temps.) 2009-10-09 21:55:34 +02:00
c-pragma.c extend.texi (Symbol-Renaming Pragmas): redefine_extname is supported on all platforms. 2009-08-14 17:25:48 -04:00
c-pragma.h charset.c (cpp_init_iconv): Initialize utf8_cset_desc. 2009-10-19 23:41:15 +02:00
c-pretty-print.c tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document. 2009-10-26 21:58:06 +00:00
c-pretty-print.h c-objc-common.c (c_tree_printer): Print identifiers with pp_identifier, not pp_string. 2009-05-01 15:09:20 +01:00
c-semantics.c java-gimplify.c (java_gimplify_block): New argument to build_empty_stmt. 2009-06-12 22:06:47 +00:00
c-tree.h tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document. 2009-10-26 21:58:06 +00:00
c-typeck.c re PR c/41842 (ICE on invalid variable length array declaration) 2009-10-27 16:50:50 +01:00
c.opt Fix check_warning_flags warnings. 2009-10-05 19:54:18 +00:00
caller-save.c hard-reg-set.h (call_fixed_regs): Remove. 2009-09-03 02:20:52 +04:00
calls.c re PR rtl-optimization/41646 (Reload ICE due to combiner extending life time of a hard register) 2009-10-09 21:01:53 +02:00
cfg.c ira-conflicts.c: Use fputs or putc instead of fprintf where appropriate. 2009-09-10 18:21:45 +02:00
cfganal.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
cfgbuild.c re PR middle-end/41360 (Revision 151696 breaks gcc.c-torture/compile/builtin_unreachable-1.c) 2009-09-16 13:12:35 -07:00
cfgcleanup.c re PR bootstrap/41345 (bootstrap comparison failure with --disable-checking) 2009-10-26 21:21:09 +01:00
cfgexpand.c Optimize -mstackrealign. 2009-10-30 07:32:26 -07:00
cfghooks.c cfghooks.c (split_block): Copy discriminator to new block. 2009-07-24 15:37:05 -07:00
cfghooks.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
cfglayout.c cfglayout.c (fixup_reorder_chain): Accept conditional jumps without a fallthrough edge. 2009-09-17 07:52:40 +00:00
cfglayout.h
cfgloop.c New implementation of Graphite. 2009-07-31 02:44:28 +00:00
cfgloop.h cfgloopmanip.c (duplicate_subloops): Export. 2009-10-22 14:43:40 +00:00
cfgloopanal.c re PR target/41279 (252.eon performance regression) 2009-09-30 11:57:56 +02:00
cfgloopmanip.c cfgloopmanip.c (duplicate_subloops): Export. 2009-10-22 14:43:40 +00:00
cfgrtl.c builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec. 2009-09-14 13:17:24 -07:00
cgraph.c cgraph.c (cgraph_create_edge): Check for NULL call_stmt before calling stmt_can_throw_external. 2009-10-09 13:22:22 +00:00
cgraph.h Fix 41626 from Jan Hubicka 2009-10-08 18:52:57 +00:00
cgraphbuild.c Fix 41626 from Jan Hubicka 2009-10-08 18:52:57 +00:00
cgraphunit.c * cgraphunit.c (cgraph_optimize): Maintain timevar stack properly. 2009-10-27 16:25:54 -07:00
cif-code.def Bring from lto-branch: 2009-03-28 11:10:06 +00:00
collect2-aix.c Makefile.in (COLLECT2_OBJS): Add collect2-aix.o. 2009-06-02 19:06:56 +00:00
collect2-aix.h Makefile.in (COLLECT2_OBJS): Add collect2-aix.o. 2009-06-02 19:06:56 +00:00
collect2.c * collect2.c (add_lto_object): Only define if OBJECT_FORMAT_NONE. 2009-10-08 11:08:52 +00:00
collect2.h Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
combine-stack-adj.c re PR bootstrap/41241 (bootstrap comparison failure) 2009-09-06 21:15:45 +00:00
combine.c re PR target/39715 ([cond-optab] extra sign extensions on Thumb) 2009-10-28 10:27:15 +00:00
common.opt common.opt (fuse-linker-plugin): New option. 2009-10-28 18:40:42 +00:00
conditions.h
config.build config.build (ia64-hp-*vms*): New target. 2009-08-09 07:05:11 +00:00
config.gcc config.gcc (spu-*-elf*): Add spu_cache.h to extra_headers. 2009-10-26 21:59:17 +00:00
config.host re PR bootstrap/37739 (bootstrap broken with core gcc > gcc-4.2.x) 2009-10-08 07:09:54 +02:00
config.in Rebuild config.in, configure. 2009-10-12 14:29:10 -07:00
configure Rebuild config.in, configure. 2009-10-12 14:29:10 -07:00
configure.ac i386.md (vswapmov): New. 2009-10-12 09:36:37 -07:00
convert.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
convert.h
coretypes.h extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
coverage.c java-gimplify.c (java_gimplify_block): New argument to build_empty_stmt. 2009-06-12 22:06:47 +00:00
coverage.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
cppdefault.c
cppdefault.h
cppspec.c
crtstuff.c unwind-dw2-fde-glibc.c: Define and use USE_PT_GNU_EH_FRAME. 2009-09-22 16:28:26 +00:00
cse.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
cselib.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
cselib.h invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
cstamp-h.in
dbgcnt.c dbgcnt.c (dbg_cnt_process_single_pair): constify. 2009-09-12 15:46:45 -04:00
dbgcnt.def dbgcnt.def (cprop1, [...]): Remove 2009-04-27 17:21:27 +00:00
dbgcnt.h
dbxout.c re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
dbxout.h
dce.c Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
dce.h
ddg.c re PR debug/41535 (Broken var location info after scheduling) 2009-10-17 06:28:43 +00:00
ddg.h invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
debug.c re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
debug.h re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
defaults.h hooks.h (hook_bool_const_int_const_int_true): Declare. 2009-08-26 01:09:00 +04:00
df-byte-scan.c re PR middle-end/37448 (cannot compile big function) 2008-10-11 23:39:21 +00:00
df-core.c * df-core.c (df_ref_debug): Honor -fdump-noaddr. 2009-06-02 08:08:57 +00:00
df-problems.c re PR rtl-optimization/41812 (test 20071030-1.c fails execution on powerpc64) 2009-10-28 12:37:30 +00:00
df-scan.c re PR target/41246 (should "sorry" when regparm=3 and nested functions are encountered) 2009-09-22 08:11:37 -07:00
df.h invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
dfp.c re PR middle-end/39986 (decimal float constant is incorrect when cc1 is a 64-bit binary) 2009-05-06 16:59:53 +00:00
dfp.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
diagnostic.c [multiple changes] 2009-09-03 00:07:12 -04:00
diagnostic.def ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
diagnostic.h [multiple changes] 2009-09-03 00:07:12 -04:00
dojump.c expr.h (jumpifnot_1, [...]): Declare. 2009-08-25 13:35:39 +00:00
dominance.c basic-block.h (get_all_dominated_blocks): Declare. 2009-04-20 14:01:52 +00:00
domwalk.c domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and... 2009-06-27 14:45:51 +00:00
domwalk.h domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and... 2009-06-27 14:45:51 +00:00
double-int.c Fix enum conversions which are invalid in C++: 2009-04-20 19:35:00 +00:00
double-int.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
dse.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
dse.h
dummy-checksum.c ansidecl.h (EXPORTED_CONST): Define. 2009-06-03 20:19:55 +00:00
dwarf2asm.c configure.ac (gcc_cv_ld_mips_personality_relaxation): New feature check. 2009-09-20 10:36:05 +00:00
dwarf2asm.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
dwarf2out.c re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
dwarf2out.h cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK. 2009-05-29 17:33:46 -07:00
ebitmap.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
ebitmap.h basic-block.h (dump_regset, [...]): Remove duplicate prototypes. 2009-07-08 11:35:18 +00:00
emit-rtl.c re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
emit-rtl.h extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
emutls.c re PR other/40024 (trunk/gcc-4.3/gcc: * emutls.c (emutls_destroy): Don' t fall out of the array bound.) 2009-06-01 20:03:26 +02:00
errors.c errors.c (internal_error): Commentary typo fix. 2009-06-07 21:29:43 +02:00
errors.h Makefile.in: Update dependencies. 2009-04-22 16:01:29 +00:00
et-forest.c
et-forest.h
except.c re PR middle-end/41573 (segfault in trunk related to strings) 2009-10-08 16:03:11 +00:00
except.h except.h (struct eh_region_d): Add use_cxa_end_cleanup. 2009-09-28 09:44:32 -07:00
exec-tool.in Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
explow.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
expmed.c expmed.c (emit_store_flag): Check costs before transforming to the opposite representation. 2009-10-28 09:54:01 +00:00
expr.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
expr.h extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
final.c target.h (have_conditional_execution): Add a new target hook function. 2009-10-27 09:06:36 +00:00
fixed-value.c collect2.c (is_ctor_dtor): Change type of ret field in struct names to symkind. 2009-04-27 20:25:48 +00:00
fixed-value.h hashtab.h: Update GTY annotations to new syntax 2009-04-22 14:29:36 -04:00
flags.h Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
fold-const.c re PR bootstrap/41451 (Bootstrap failure with fold checking) 2009-10-27 11:18:12 +00:00
fp-test.c
function.c function.c (current_function_name): If there is no current function just return "<none>". 2009-09-29 09:31:41 +00:00
function.h re PR debug/41065 (DW_TAG_enumeration_type+DW_TAG_enumerator is sometimes missing) 2009-09-23 18:07:13 +02:00
fwprop.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
gbl-ctors.h gbl-ctors.h: Add header guard. 2009-06-07 21:53:14 +02:00
gcc-plugin.h tree-pass.h (register_pass_info): New structure. 2009-09-28 23:15:35 +00:00
gcc.c common.opt (fuse-linker-plugin): New option. 2009-10-28 18:40:42 +00:00
gcc.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
gccbug.in
gccspec.c
gcov-dump.c gcc.c (process_command): Update copyright notice dates. 2009-02-03 21:48:23 +01:00
gcov-io.c gcov-io.c (gcov_open): Open files read-only when MODE < 0 2009-10-02 20:21:43 +00:00
gcov-io.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gcov-iov.c
gcov.c df-problems.c (df_simulate_one_insn_forwards): Fix braces in switch. 2009-06-16 05:12:15 +00:00
gcse.c rtl.h (simplify_replace_fn_rtx): Declare. 2009-10-20 19:50:38 +00:00
gdbinit.in ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
genattr.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
genattrtab.c tree-ssa-reassoc.c (find_operand_rank): Cast pointer via intptr_t to long type. 2009-09-08 17:26:50 +02:00
genautomata.c Makefile.in: Update dependencies. 2009-04-22 16:01:29 +00:00
gencheck.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
genchecksum.c ansidecl.h (EXPORTED_CONST): Define. 2009-06-03 20:19:55 +00:00
gencodes.c
genconditions.c
genconfig.c
genconstants.c
genemit.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
genextract.c genoutput.c (validate_optab_operands): New. 2009-04-08 15:00:34 +00:00
genflags.c genoutput.c (validate_optab_operands): New. 2009-04-08 15:00:34 +00:00
gengenrtl.c
gengtype-lex.l hashtab.h: Update GTY annotations to new syntax 2009-04-22 14:29:36 -04:00
gengtype-parse.c gengtype-parse.c (parse_error): Add newline after message. 2009-04-24 09:46:47 -04:00
gengtype.c ipa-cp.c (ipcp_write_summary, [...]): New functions. 2009-10-22 10:02:29 +00:00
gengtype.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
genmddeps.c
genmodes.c
genmultilib
genopinit.c re PR testsuite/40491 (Revision 148663 caused extra failures) 2009-06-19 16:22:16 +02:00
genoutput.c genoutput.c (validate_optab_operands): New. 2009-04-08 15:00:34 +00:00
genpeep.c
genpreds.c alias.c: Use REG_P... 2009-06-22 10:29:13 +00:00
genrecog.c alias.c: Use REG_P... 2009-06-22 10:29:13 +00:00
gensupport.c collect2.c (is_ctor_dtor): Change type of ret field in struct names to symkind. 2009-04-27 20:25:48 +00:00
gensupport.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
ggc-common.c Add support for using ggc cache tables from plugins. 2009-09-28 08:50:39 +00:00
ggc-none.c
ggc-page.c ggc-page.c: Include cfgloop.h. 2009-10-20 14:15:52 +00:00
ggc-zone.c plugins.texi (Loading plugins): typo. 2009-05-26 17:33:33 +00:00
ggc.h Add support for using ggc cache tables from plugins. 2009-09-28 08:50:39 +00:00
gimple-iterator.c re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
gimple-low.c gimple-low.c (struct lower_data): Add cannot_fallthru field. 2009-10-19 18:15:49 +00:00
gimple-pretty-print.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
gimple.c re PR lto/41808 (error: non-trivial conversion at assignment) 2009-10-28 14:48:34 +00:00
gimple.def builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec. 2009-09-14 13:17:24 -07:00
gimple.h re PR fortran/41714 ([OOP] ALLOCATE SOURCE= does not properly copy the value from SOURCE) 2009-10-26 10:08:03 +01:00
gimplify.c re PR fortran/41714 ([OOP] ALLOCATE SOURCE= does not properly copy the value from SOURCE) 2009-10-26 10:08:03 +01:00
glimits.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
graph.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
graph.h
graphds.c
graphds.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
graphite-blocking.c graphite-blocking.c (pbb_strip_mine_loop_depth): Renamed pbb_strip_mine_time_depth. 2009-08-28 20:33:10 +00:00
graphite-clast-to-gimple.c Measure time spent in DD analysis and in code gen. 2009-08-12 14:18:17 +00:00
graphite-clast-to-gimple.h New Graphite files. 2009-07-31 02:43:11 +00:00
graphite-dependences.c graphite-dependences.c (graphite_legal_transform_bb): Call pbb_remove_duplicate_pdrs. 2009-08-28 20:41:53 +00:00
graphite-dependences.h graphite-dependences.c (pddr_original_scattering): New. 2009-08-28 20:31:28 +00:00
graphite-interchange.c graphite-interchange.c (pbb_interchange_profitable_p): Adjust the strides by multiplying by PDR_NB_REFS. 2009-08-28 20:40:59 +00:00
graphite-poly.c graphite-dependences.c (graphite_legal_transform_bb): Call pbb_remove_duplicate_pdrs. 2009-08-28 20:41:53 +00:00
graphite-poly.h graphite-dependences.c (graphite_legal_transform_bb): Call pbb_remove_duplicate_pdrs. 2009-08-28 20:41:53 +00:00
graphite-ppl.c graphite-ppl.c (ppl_max_for_le): Renamed ppl_max_for_le_pointset. 2009-08-28 20:32:20 +00:00
graphite-ppl.h graphite-ppl.c (ppl_max_for_le): Renamed ppl_max_for_le_pointset. 2009-08-28 20:32:20 +00:00
graphite-scop-detection.c graphite-dependences.c (pddr_original_scattering): New. 2009-08-28 20:31:28 +00:00
graphite-scop-detection.h New Graphite files. 2009-07-31 02:43:11 +00:00
graphite-sese-to-poly.c graphite-sese-to-poly.c (check_poly_representation): Fix compile without checking. 2009-10-26 11:16:10 +00:00
graphite-sese-to-poly.h New Graphite files. 2009-07-31 02:43:11 +00:00
graphite.c Remove pragma GCC diagnostic warning "-Wc++-compat". 2009-08-12 15:13:52 +00:00
graphite.h New implementation of Graphite. 2009-07-31 02:44:28 +00:00
gsstruct.def Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
gstab.h gstab.h (stab_code_type): Define, to be used instead of the __stab_debug_code enum, made anonymous. 2009-05-20 12:44:44 +00:00
gsyms.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
gsyslimits.h
gthr-aix.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-dce.h gthr-dce.h (CONST_CAST2): Define if not defined. 2009-08-02 01:38:27 +00:00
gthr-gnat.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-gnat.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-lynx.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-mipssde.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-nks.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-posix.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-posix.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-posix95.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-rtems.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-single.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-solaris.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-tpf.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-vxworks.h gthr-vxworks.h (struct __gthread_once_t): Add alignment and padding for PPC. 2009-04-22 10:53:53 +00:00
gthr-win32.h gthr-win32.h (__UNUSED_PARAM): Define, if not already present. 2009-08-25 12:32:38 +02:00
gthr.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
haifa-sched.c re PR debug/41739 (Failed to bootstrap on Linux/ia64) 2009-10-20 17:09:43 +02:00
hard-reg-set.h hard-reg-set.h (call_fixed_regs): Remove. 2009-09-03 02:20:52 +04:00
hooks.c hooks.h (hook_bool_const_int_const_int_true): Declare. 2009-08-26 01:09:00 +04:00
hooks.h hooks.h (hook_bool_const_int_const_int_true): Declare. 2009-08-26 01:09:00 +04:00
host-default.c
hosthooks-def.h
hosthooks.h
hwint.h hwint.h (HOST_LONG_FORMAT): New macro 2009-08-25 23:19:16 +00:00
ifcvt.c target.h (have_conditional_execution): Add a new target hook function. 2009-10-27 09:06:36 +00:00
incpath.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
incpath.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
init-regs.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
input.h re PR preprocessor/41543 (BUILTINS_LOCATION wrong with -fpreprocessed) 2009-10-14 12:04:22 +02:00
insn-addr.h
insn-notes.def cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK. 2009-05-29 17:33:46 -07:00
integrate.c integrate.c (set_block_abstract_flags): Call set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs. 2009-09-16 15:35:23 +02:00
integrate.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
intl.c intl.c (locale_encoding, [...]): New. 2009-05-04 13:23:50 +01:00
intl.h intl.c (locale_encoding, [...]): New. 2009-05-04 13:23:50 +01:00
ipa-cp.c re PR tree-optimization/40556 (ICE in IPA-CP with recursion) 2009-10-22 13:31:48 +00:00
ipa-inline.c re PR tree-optimization/40556 (ICE in IPA-CP with recursion) 2009-10-22 13:31:48 +00:00
ipa-prop.c ipa-cp.c (ipcp_write_summary, [...]): New functions. 2009-10-22 10:02:29 +00:00
ipa-prop.h ipa-cp.c (ipcp_write_summary, [...]): New functions. 2009-10-22 10:02:29 +00:00
ipa-pure-const.c re PR tree-optimization/40556 (ICE in IPA-CP with recursion) 2009-10-22 11:40:18 +00:00
ipa-reference.c ipa-reference.c (check_call): Noreturn notrhow calls do not write to memory. 2009-10-24 13:32:12 +00:00
ipa-reference.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
ipa-struct-reorg.c re PR middle-end/41837 (Using '-O -fipa-struct-reorg -fwhole-program -fprofile-generate' gives 'internal compiler error: Segmentation fault') 2009-10-28 15:45:03 +01:00
ipa-struct-reorg.h tree-parloops.c: Change license to GPLv3. 2009-02-10 17:59:08 +00:00
ipa-type-escape.c Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
ipa-type-escape.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
ipa-utils.c Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
ipa-utils.h re PR middle-end/40147 (Memory leak in revision 147436) 2009-05-14 08:45:32 -07:00
ipa.c re PR bootstrap/41620 (Bootstrap failure) 2009-10-08 10:06:52 +00:00
ira-build.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
ira-color.c re PR rtl-optimization/39762 (IRA ICE with -msoft-float) 2009-04-16 15:15:48 +00:00
ira-conflicts.c ira-conflicts.c: Use fputs or putc instead of fprintf where appropriate. 2009-09-10 18:21:45 +02:00
ira-costs.c params.def (PARAM_IRA_LOOP_RESERVED_REGS): New. 2009-10-14 16:24:11 +00:00
ira-emit.c re PR rtl-optimization/39762 (IRA ICE with -msoft-float) 2009-04-16 15:15:48 +00:00
ira-int.h invoke.texi (-fsched-pressure): Document it. 2009-09-02 18:54:25 +00:00
ira-lives.c ira-lives.c (process_single_reg_class_operands): Update the hard reg costs for all the hard registers desired by the single reg... 2009-10-22 21:43:14 -06:00
ira.c params.def (PARAM_IRA_LOOP_RESERVED_REGS): New. 2009-10-14 16:24:11 +00:00
ira.h invoke.texi (-fsched-pressure): Document it. 2009-09-02 18:54:25 +00:00
jump.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
lambda-code.c Add source_location support to PHI arguments. 2009-07-30 18:36:30 +00:00
lambda-mat.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
lambda-trans.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
lambda.h re PR tree-optimization/37031 (ICE for h264ref in gather_interchange_stats with -ftree-loop-linear) 2009-01-08 17:01:42 +01:00
langhooks-def.h Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
langhooks.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
langhooks.h Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
lcm.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
libfuncs.h Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
libgcc-std.ver ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
libgcc2.c libgcc2.c (L_trampoline): Prototype for getpagesize and mprotect in WINNT case. 2009-09-24 21:02:44 +02:00
libgcc2.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
libgcov.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
limitx.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
limity.h
lists.c Fix enum conversions which are invalid in C++: 2009-04-20 19:35:00 +00:00
longlong.h re PR target/41015 (SH: miscompilation for sh4-linux) 2009-08-10 20:57:35 +00:00
loop-doloop.c re PR rtl-optimization/37782 (Stage2 ada compiler miscompiled) 2008-11-03 12:01:11 -08:00
loop-init.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
loop-invariant.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
loop-iv.c loop-iv.c (iv_analyze_op): Use function_invariant_p, not CONSTANT_P, to test for GRD_INVARIANT. 2009-09-27 16:56:57 +00:00
loop-unroll.c loop-unroll.c (struct iv_to_split): Add pointer to next. 2009-06-02 17:47:33 +00:00
loop-unswitch.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
lower-subreg.c Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
lto-cgraph.c ipa-cp.c (ipcp_write_summary, [...]): New functions. 2009-10-22 10:02:29 +00:00
lto-compress.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
lto-compress.h Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
lto-opts.c re PR lto/41565 (-m32 causes an ICE when the object files were compiled with 64bit) 2009-10-13 12:42:30 +00:00
lto-section-in.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
lto-section-out.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
lto-streamer-in.c lto-streamer-in.c (unpack_ts_decl_common_value_fields): Stream DECL_RESTRICTED_P. 2009-10-25 20:50:07 +00:00
lto-streamer-out.c lto-streamer-in.c (unpack_ts_decl_common_value_fields): Stream DECL_RESTRICTED_P. 2009-10-25 20:50:07 +00:00
lto-streamer.c ipa-cp.c (ipcp_write_summary, [...]): New functions. 2009-10-22 10:02:29 +00:00
lto-streamer.h re PR lto/41858 (-flto -O2 crashes when many source files.) 2009-10-30 15:58:57 +00:00
lto-symtab.c lto-streamer.h (lto_symtab_merge_cgraph_nodes): Declare. 2009-10-22 15:38:23 +00:00
lto-wpa-fixup.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
lto-wrapper.c re PR driver/41637 (testsuite (-flto/-fwhopr) leaves does not clean up in /tmp) 2009-10-09 13:24:59 +00:00
machmode.def
machmode.h Fix enum conversions which are invalid in C++: 2009-04-20 19:35:00 +00:00
main.c re PR other/31567 (cc1, cc1plus, etc. don't support @file mechanism) 2009-04-17 17:11:46 -04:00
matrix-reorg.c tree-flow.h (make_value_handle, [...]): Remove prototypes for removed functions. 2009-06-07 21:44:39 +02:00
mcf.c combine.c (record_value_for_reg): Change 0 to VOIDmode, twice. 2009-04-24 15:31:38 +00:00
mips-tdump.c alpha.c (alpha_initialize_trampoline): Change 0 to LCT_NORMAL in function call. 2009-05-14 10:10:23 +00:00
mips-tfile.c hwint.h (HOST_LONG_FORMAT): New macro 2009-08-25 23:19:16 +00:00
mkconfig.sh
mkmap-flat.awk Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
mkmap-symver.awk
mode-classes.def
mode-switching.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
modulo-sched.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
omega.c alias.c (struct alias_set_entry_d): Rename from struct alias_set_entry. 2009-05-16 06:54:11 +00:00
omega.h alias.c (struct alias_set_entry_d): Rename from struct alias_set_entry. 2009-05-16 06:54:11 +00:00
omp-builtins.def
omp-low.c Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
opt-functions.awk opt-functions.awk (opt_args): Allow argument to be enclosed in curly braces. 2009-07-30 07:22:28 +00:00
opt-gather.awk
optabs.c re PR middle-end/41738 (optabs expands rotate using wrong mode) 2009-10-17 22:42:17 +00:00
optabs.h ifcvt.c (noce_try_abs): Recognize pattern and call expand_one_cmpl_abs_nojump. 2009-09-28 21:26:31 +00:00
optc-gen.awk re PR middle-end/37565 (__optimize__ attribute doesn't work correctly) 2009-10-29 16:44:02 +00:00
opth-gen.awk common.opt (gdwarf-): Accept a version number. 2009-06-11 20:08:11 -07:00
opts-common.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
opts.c common.opt (fuse-linker-plugin): New option. 2009-10-28 18:40:42 +00:00
opts.h re PR lto/41565 (-m32 causes an ICE when the object files were compiled with 64bit) 2009-10-13 12:42:30 +00:00
output.h tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
params.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
params.def params.def (PARAM_IRA_LOOP_RESERVED_REGS): New. 2009-10-14 16:24:11 +00:00
params.h params.def (PARAM_IRA_LOOP_RESERVED_REGS): New. 2009-10-14 16:24:11 +00:00
passes.c tree-ssa-math-opts.c (execute_convert_to_rsqrt): Remove. 2009-10-29 16:41:10 +00:00
plugin.c plugin.c (try_init_one_plugin): Improve constness of variable err. 2009-10-11 09:17:09 +00:00
plugin.h 2009-05-13 Taras Glek <tglek@mozilla.com> 2009-05-14 01:38:33 +00:00
pointer-set.c
pointer-set.h
postreload-gcse.c
postreload.c re PR rtl-optimization/30807 (postreload bug (might be generic in trunk)) 2009-07-06 13:28:22 +00:00
predict.c Recompute profile after Graphite. 2009-08-12 14:19:33 +00:00
predict.def Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
predict.h Recompute profile after Graphite. 2009-08-12 14:19:33 +00:00
prefix.c
prefix.h
pretty-print.c pretty-print.c (pp_base_format): Remove %J. 2009-07-07 15:29:12 +00:00
pretty-print.h pretty-print.h (struct pretty_print_info): Add translate_identifiers. 2009-05-10 11:28:34 +01:00
print-rtl.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
print-tree.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
profile.c profile.c (total_num_never_executed): Don't define. 2009-06-17 20:23:57 +00:00
profile.h
read-rtl.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
real.c real.c: Fix comment to reflect actual exponent size. 2009-10-07 21:15:27 +00:00
real.h builtins.c (fold_builtin_1): Support complex "arc" functions. 2009-10-14 01:14:53 +00:00
recog.c target.h (have_conditional_execution): Add a new target hook function. 2009-10-27 09:06:36 +00:00
recog.h extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
reg-notes.def cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK. 2009-05-29 17:33:46 -07:00
reg-stack.c builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec. 2009-09-14 13:17:24 -07:00
regcprop.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
reginfo.c params.def (PARAM_IRA_LOOP_RESERVED_REGS): New. 2009-10-14 16:24:11 +00:00
regmove.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
regrename.c Update REG_DEAD notes 2009-09-15 15:15:51 +02:00
regs.h
regstat.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
reload.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
reload.h tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
reload1.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
reorg.c re PR bootstrap/41349 (bootstrap comparison failure on sparc-linux) 2009-09-15 22:18:34 +00:00
resource.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
resource.h resource.c (mark_referenced_resources): Change include_delayed_effects parameter to bool. 2009-06-16 18:55:20 +00:00
rtl-error.c
rtl.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
rtl.def re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
rtl.h tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
rtlanal.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
rtlhooks-def.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
rtlhooks.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
sbitmap.c
sbitmap.h
sched-deps.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
sched-ebb.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
sched-int.h re PR rtl-optimization/41239 (Scheduler reorders division by zero before a call that might not return) 2009-09-08 11:25:47 +02:00
sched-rgn.c target.h (have_conditional_execution): Add a new target hook function. 2009-10-27 09:06:36 +00:00
sched-vis.c re PR target/41693 (RTL Check Failure in expand_debug_expr, at cfgexpand.c:2371) 2009-10-13 15:56:07 +02:00
sdbout.c re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
sdbout.h
sel-sched-dump.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
sel-sched-dump.h
sel-sched-ir.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
sel-sched-ir.h re PR rtl-optimization/41697 (ICE on gcc.c-torture/compile/20090917-1.c) 2009-10-15 21:49:29 +00:00
sel-sched.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
sel-sched.h
sese.c Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
sese.h New Graphite files. 2009-07-31 02:43:11 +00:00
simplify-rtx.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
sparseset.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
sparseset.h
sreal.c
sreal.h
ssaexpand.h ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap. 2009-04-27 12:16:00 +00:00
stab.def
stack-ptr-mod.c df.h: Include "timevar.h". 2009-04-17 05:40:46 +00:00
statistics.c statistics.c (statistics_counter_event): Do not record event in pass dump if its number == -1. 2009-06-03 18:36:47 +04:00
statistics.h
stmt.c re PR target/41246 (should "sorry" when regparm=3 and nested functions are encountered) 2009-09-22 08:11:37 -07:00
stor-layout.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
store-motion.c * store-motion.c Do not include params.h 2009-05-14 20:14:18 +00:00
stringpool.c hashtab.h: Update GTY annotations to new syntax 2009-04-22 14:29:36 -04:00
stub-objc.c java-gimplify.c (java_gimplify_block): New argument to build_empty_stmt. 2009-06-12 22:06:47 +00:00
sync-builtins.def
system.h tm.texi (STATIC_CHAIN, [...]): Remove. 2009-09-23 15:24:42 -07:00
target-def.h target-def.h (TARGET_ASM_TTYPE): Correct typo of TARGET_ARM_TTYPE. 2009-10-30 14:55:10 +00:00
target.h re PR middle-end/37565 (__optimize__ attribute doesn't work correctly) 2009-10-29 16:44:02 +00:00
targhooks.c target.h (have_conditional_execution): Add a new target hook function. 2009-10-27 09:06:36 +00:00
targhooks.h target.h (have_conditional_execution): Add a new target hook function. 2009-10-27 09:06:36 +00:00
timevar.c
timevar.def Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
timevar.h df.h: Include "timevar.h". 2009-04-17 05:40:46 +00:00
tlink.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
toplev.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
toplev.h params.def (PARAM_IRA_LOOP_RESERVED_REGS): New. 2009-10-14 16:24:11 +00:00
tracer.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
tree-affine.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
tree-affine.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
tree-browser.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
tree-browser.def
tree-call-cdce.c java-gimplify.c (java_gimplify_block): New argument to build_empty_stmt. 2009-06-12 22:06:47 +00:00
tree-cfg.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
tree-cfgcleanup.c Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
tree-chrec.c Implement evolution_function_right_is_integer_cst. 2009-07-31 02:39:06 +00:00
tree-chrec.h re PR tree-optimization/41497 (apparent integer wrong code bug) 2009-10-21 23:05:39 +00:00
tree-complex.c tree-complex.c (expand_complex_div_wide): Check for INTEGER_CST, not TREE_CONSTANT on comparison folding result. 2009-10-27 15:16:35 +00:00
tree-data-ref.c Add a new driver to data reference analysis. 2009-07-31 02:37:11 +00:00
tree-data-ref.h Add a new driver to data reference analysis. 2009-07-31 02:37:11 +00:00
tree-dfa.c re PR middle-end/41463 (Another get_ref_base_and_extent problem) 2009-09-25 12:12:51 +00:00
tree-dump.c re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
tree-dump.h Fix enum conversions which are invalid in C++: 2009-04-20 19:35:00 +00:00
tree-eh.c re PR c++/41819 (ICE with try/catch and -fno-exceptions) 2009-10-27 13:09:07 -07:00
tree-flow-inline.h re PR tree-optimization/34011 (Memory load is not eliminated from tight vectorized loop) 2009-09-16 08:50:46 +00:00
tree-flow.h tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
tree-if-conv.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-inline.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
tree-inline.h Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
tree-into-ssa.c re PR debug/41616 (Variables promoted to Gimple registers by aliasing are not getting debug statements.) 2009-10-12 05:15:02 +00:00
tree-iterator.c tree-iterator.c (expr_only): Remove. 2009-04-18 11:47:22 +00:00
tree-iterator.h tree-iterator.c (tsi_split_statement_list_after, [...]): Remove. 2009-04-16 18:50:07 +00:00
tree-loop-distribution.c Add source_location support to PHI arguments. 2009-07-30 18:36:30 +00:00
tree-loop-linear.c re PR tree-optimization/37031 (ICE for h264ref in gather_interchange_stats with -ftree-loop-linear) 2009-01-08 17:01:42 +01:00
tree-mudflap.c re PR c/40435 (Revision 148442 caused many regressions on trunk) 2009-07-16 22:29:52 +00:00
tree-mudflap.h
tree-nested.c tree-nested.c (convert_nonlocal_reference_stmt): New case. 2009-10-17 22:21:24 +00:00
tree-nomudflap.c ansidecl.h (EXPORTED_CONST): Define. 2009-06-03 20:19:55 +00:00
tree-nrv.c passes.c (init_optimization_passes): Strip now incorrect comment. 2009-05-11 12:19:00 +00:00
tree-object-size.c tree-object-size.c (addr_object_size): Always use object_size_type 0 or 2 when determining the pointer pointed object size. 2009-09-02 14:25:14 +02:00
tree-optimize.c Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
tree-outof-ssa.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-parloops.c cfgloopmanip.c (duplicate_subloops): Export. 2009-10-22 14:43:40 +00:00
tree-pass.h tree-ssa-math-opts.c (execute_convert_to_rsqrt): Remove. 2009-10-29 16:41:10 +00:00
tree-phinodes.c Add source_location support to PHI arguments. 2009-07-30 18:36:30 +00:00
tree-predcom.c Add source_location support to PHI arguments. 2009-07-30 18:36:30 +00:00
tree-pretty-print.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
tree-profile.c java-gimplify.c (java_gimplify_block): New argument to build_empty_stmt. 2009-06-12 22:06:47 +00:00
tree-scalar-evolution.c re PR tree-optimization/41497 (apparent integer wrong code bug) 2009-10-21 23:05:39 +00:00
tree-scalar-evolution.h tree-scalar-evolution.c (compute_overall_effect_of_inner_loop): Not static anymore. 2009-07-31 02:28:50 +00:00
tree-sra.c tree-sra.c (build_ref_for_offset_1): Remove a comment. 2009-10-30 15:38:48 +01:00
tree-ssa-address.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
tree-ssa-alias.c re PR middle-end/41855 (ICE in refs_may_alias_p_1, at tree-ssa-alias.c:855) 2009-10-28 13:28:32 +00:00
tree-ssa-alias.h re PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp) 2009-10-26 13:00:36 +00:00
tree-ssa-ccp.c builtins.c (interclass_mathfn_icode): New helper. 2009-09-28 12:54:23 +00:00
tree-ssa-coalesce.c re PR lto/40758 ([LTO] ICE in partition_view_bitmap, at tree-ssa-live.c:331) 2009-09-26 16:46:43 +00:00
tree-ssa-copy.c tree-ssa-propagate.h (ssa_prop_fold_stmt_fn): Declare. 2009-09-22 08:30:34 +00:00
tree-ssa-copyrename.c re PR tree-optimization/38964 (TBAA side-effects of C++ new still missing) 2009-05-22 20:41:31 +00:00
tree-ssa-dce.c tree-ssa-dce.c (eliminate_unnecessary_stmts): Don't regard the removal of a debug stmt as a significant change. 2009-10-20 10:37:26 +02:00
tree-ssa-dom.c re PR tree-optimization/41728 (error: SSA name in freelist but still referenced) 2009-10-16 16:57:31 +00:00
tree-ssa-dse.c domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and... 2009-06-27 14:45:51 +00:00
tree-ssa-forwprop.c re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
tree-ssa-ifcombine.c re PR tree-optimization/41654 (ICE: in gimple_cond_get_ops_from_tree, at gimple.c:417) 2009-10-10 14:53:27 +00:00
tree-ssa-live.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-ssa-live.h ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap. 2009-04-27 12:16:00 +00:00
tree-ssa-loop-ch.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-ssa-loop-im.c re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
tree-ssa-loop-ivcanon.c loop-24.c: Update dump file matching; enable -O2. 2009-07-03 13:18:28 +00:00
tree-ssa-loop-ivopts.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
tree-ssa-loop-manip.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-ssa-loop-niter.c c-lex.c: Replace %H by an explicit location. 2009-07-07 02:10:19 +00:00
tree-ssa-loop-prefetch.c 2009-08-13 Ghassan Shobaki <ghassan.shobaki@amd.com> 2009-08-13 21:37:24 +00:00
tree-ssa-loop-unswitch.c domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and... 2009-06-27 14:45:51 +00:00
tree-ssa-loop.c Rename -fgraphite-force-parallel to -floop-parallelize-all. 2009-08-01 18:22:58 +00:00
tree-ssa-math-opts.c tree-ssa-math-opts.c (execute_convert_to_rsqrt): Remove. 2009-10-29 16:41:10 +00:00
tree-ssa-operands.c re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
tree-ssa-operands.h tree-ssa-operands.h (push_stmt_changes, [...]): Delete. 2009-05-24 11:20:29 +00:00
tree-ssa-phiopt.c re PR debug/41232 (VTA: SSA name in freelist but still referenced) 2009-09-08 17:39:42 +00:00
tree-ssa-phiprop.c Add source_location support to PHI arguments. 2009-07-30 18:36:30 +00:00
tree-ssa-pre.c re PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp) 2009-10-26 13:00:36 +00:00
tree-ssa-propagate.c builtins.c (interclass_mathfn_icode): New helper. 2009-09-28 12:54:23 +00:00
tree-ssa-propagate.h tree-ssa-propagate.h (ssa_prop_fold_stmt_fn): Declare. 2009-09-22 08:30:34 +00:00
tree-ssa-reassoc.c re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
tree-ssa-sccvn.c Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
tree-ssa-sccvn.h tree-flow.h (make_value_handle, [...]): Remove prototypes for removed functions. 2009-06-07 21:44:39 +02:00
tree-ssa-sink.c re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
tree-ssa-structalias.c re PR middle-end/41855 (ICE in refs_may_alias_p_1, at tree-ssa-alias.c:855) 2009-10-28 13:28:32 +00:00
tree-ssa-ter.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-ssa-threadedge.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-ssa-threadupdate.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-ssa-uncprop.c domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and... 2009-06-27 14:45:51 +00:00
tree-ssa.c re PR lto/41808 (error: non-trivial conversion at assignment) 2009-10-28 14:48:34 +00:00
tree-ssanames.c re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
tree-stdarg.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-stdarg.h
tree-switch-conversion.c ira-conflicts.c: Use fputs or putc instead of fprintf where appropriate. 2009-09-10 18:21:45 +02:00
tree-tailcall.c tree-tailcall.c (process_assignment): Don't check if a multiplication or an addition are already present. 2009-09-21 16:41:58 +00:00
tree-vect-data-refs.c Fix PR40648 -- Fix misaligned store vectorizer patch 2009-10-27 11:46:07 +00:00
tree-vect-generic.c re PR tree-optimization/40550 (Segmentation fault caused by alignment error in sse code) 2009-06-28 20:33:54 +02:00
tree-vect-loop-manip.c Add source_location support to PHI arguments. 2009-07-30 18:36:30 +00:00
tree-vect-loop.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-vect-patterns.c omp-low.c (optimize_omp_library_calls): Use types_compatible_p instead of comparing TYPE_MAIN_VARIANT for equality. 2009-08-19 14:29:52 +00:00
tree-vect-slp.c re PR tree-optimization/39129 (The meaning of 'BB' in "too many BBs in loop") 2009-06-01 08:15:01 +00:00
tree-vect-stmts.c tree-vect-stmts.c (exist_non_indexing_operands_for_use_p): Tweak order of checks. 2009-10-21 10:08:39 +00:00
tree-vectorizer.c tree-vectorizer.c (increase_alignment): Handle nested arrays. 2009-07-21 12:35:38 +00:00
tree-vectorizer.h tree-vectorizer.h (vectorizable_condition): Add parameters. 2009-07-20 11:59:10 +00:00
tree-vrp.c re PR tree-optimization/23821 (DOM and VRP creating harder to optimize code) 2009-10-05 13:18:09 +00:00
tree.c tree.c (free_lang_data_in_type): Do not call get_alias_set. 2009-10-28 13:52:20 +00:00
tree.def extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
tree.h tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
treestruct.def tree.c: Include debug.h. 2009-07-06 13:06:26 -04:00
tsystem.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
typeclass.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-c.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-compat.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-compat.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-dw2-fde-compat.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-dw2-fde-darwin.c unwind-dw2-fde-darwin.c: Include dwarf2.h. 2009-07-09 19:41:25 +00:00
unwind-dw2-fde-glibc.c unwind-dw2-fde-glibc.c: Define and use USE_PT_GNU_EH_FRAME. 2009-09-22 16:28:26 +00:00
unwind-dw2-fde.c unwind-dw2-fde.c (classify_object_over_fdes): Cast the constant 1 to _Unwind_Ptr. 2009-09-20 13:03:33 +02:00
unwind-dw2-fde.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-dw2.c unwind-dw2.c (execute_stack_op): Fix operand order for DW_OP_le, DW_OP_ge, DW_OP_lt and DW_OP_gt. 2009-10-19 21:54:11 +02:00
unwind-dw2.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-generic.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-pe.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-sjlj.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind.inc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
value-prof.c value-prof.c (gimple_ic): Purge old EH edges only after building the new ones. 2009-09-23 15:29:22 +00:00
value-prof.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
var-tracking.c var-tracking.c (emit_note_insn_var_location): Don't call the second vt_expand_loc unnecessarily when... 2009-10-28 15:37:24 +01:00
varasm.c tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
varpool.c Fix 41626 from Jan Hubicka 2009-10-08 18:52:57 +00:00
varray.c alloc-pool.c (alloc_pool_descriptor): Use an insert_opion value instead of an int. 2009-04-30 16:24:31 +00:00
varray.h hashtab.h: Update GTY annotations to new syntax 2009-04-22 14:29:36 -04:00
vec.c df-problems.c (df_byte_lr_alloc): Don't set problem_data to itself. 2009-06-16 19:01:18 +00:00
vec.h vec.h (VEC_stack_alloc): Define different version if GATHER_STATISTICS is defined... 2009-06-17 00:10:23 +00:00
vecprim.h Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
version.c ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
version.h
vmsdbg.h
vmsdbgout.c re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
web.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
xcoff.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
xcoffout.c dbxout.c (dbxout_source_line): Add is_stmt parameter. 2009-06-17 16:54:40 -07:00
xcoffout.h dbxout.c (dbxout_source_line): Add is_stmt parameter. 2009-06-17 16:54:40 -07:00

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.