gcc/gcc
Tobias Grosser 68d3ff9044 Fix type problems in loop ivs.
Fix pr42644.
Fix pr42130 (dealII).

2010-03-03  Tobias Grosser  <grosser@fim.uni-passau.de>

	* gcc/graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
	handle conversions from pointer to integers.
	(gcc_type_for_cloog_iv): Choose the smalles signed integer as an
	induction variable, to be able to work with code generated by
	CLooG.
	* gcc/graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
	(build_poly_scop): Bail out if we cannot codegen a loop.
	* gcc/testsuite/gcc.dg/graphite/id-18.c: New.
	* gcc/testsuite/gcc.dg/graphite/run-id-pr42644.c: New.
	* libgomp/testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
	* libgomp/testsuite/libgomp.graphite/force-parallel-2.c: Adjust.

From-SVN: r157286
2010-03-08 17:49:36 +00:00
..
ada re PR ada/42253 (run time crash on null for thin pointers) 2010-02-27 14:27:27 +00:00
config config.gcc (sparc-*-linux*): Do not include sparc/gas.h. 2010-03-02 23:35:12 +00:00
cp mangle.c (mangle_decl): Give name collision error even without ASM_OUTPUT_DEF. 2010-03-05 17:44:56 -05:00
doc doc: normalize 3DNow! spelling and spacing. 2010-03-04 03:01:21 +00:00
fortran re PR fortran/43256 ([OOP] TBP with missing optional arg) 2010-03-08 10:35:04 +01:00
ginclude Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
java * jvspec.c (lang_specific_driver): Constify two variables named "p". 2010-01-20 10:35:38 +00:00
lto lto-elf.c (is_compatible_architecture): New static function. 2010-03-03 10:29:22 +00:00
objc re PR objc/43061 (47 new GCC HEAD@156527 regressions) 2010-02-19 19:06:38 +00:00
objcp configure.ac: Add install-html to target_list for Make-hooks. 2010-01-04 01:36:36 +00:00
po toplev.h (inform_n, error_n): Declare. 2010-03-01 09:56:41 +00:00
testsuite Fix type problems in loop ivs. 2010-03-08 17:49:36 +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 var-tracking.c (remove_cselib_value_chains): Define only for ENABLE_CHECKING. 2010-03-08 14:33:31 +01: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 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00: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 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 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-2009 Remove asterisk in LTO section name. 2010-01-01 08:49:15 -08:00
ChangeLog.dataflow ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.graphite Do not short-cut code generation with gloog_error. 2010-03-08 17:49:28 +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. 2010-03-08 00:16:32 +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 re PR debug/43176 (var-tracking fails to notice a value change) 2010-03-07 16:44:11 +01:00
ONEWS ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
README.Portability
acinclude.m4 Always pass --32 to ia32 Linux assembler. 2009-12-21 07:31:49 -08:00
aclocal.m4 [multiple changes] 2009-09-08 17:21:07 +02:00
addresses.h
alias.c alias.c (memrefs_conflict_p): Distinguish must-alias from don't know. 2010-02-16 10:01:51 +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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
alloc-pool.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
attribs.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
auto-inc-dec.c postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM with BLOCK_FOR_INSN. 2010-01-03 13:13:03 +00:00
basic-block.h postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM with BLOCK_FOR_INSN. 2010-01-03 13:13:03 +00:00
bb-reorder.c re PR rtl-optimization/42621 (Computed gotos on AMD 800% slower) 2010-01-10 23:31:30 +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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
builtin-attrs.def
builtin-types.def
builtins.c re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
builtins.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
c-aux-info.c
c-common.c re PR c++/43126 ("at this point in file" warnings are upside down) 2010-02-22 22:30:45 +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 re PR c/40885 (build_indirect_ref i18n problems) 2009-12-17 03:22:22 +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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
c-decl.c re PR c/43248 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1233) 2010-03-04 11:59:19 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08: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/40885 (build_indirect_ref i18n problems) 2009-12-17 03:22:22 +00:00
c-opts.c re PR c/20631 (Support -std=c90 as alias for -std=c89) 2010-02-26 17:09:29 +00:00
c-parser.c re PR c/40885 (build_indirect_ref i18n problems) 2009-12-17 03:22:22 +00:00
c-pch.c * c-pch.c (pch_init): Clear v. 2010-02-11 21:49:05 +01: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 ChangeLog for libcpp 2009-11-11 19:37:19 +01:00
c-pragma.h re PR c++/41774 (ice: vector VEC(visibility,base) pop domain error, in pop_visibility at c-pragma.c:757) 2009-11-02 14:39:46 +01:00
c-pretty-print.c * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size. 2010-03-03 00:11:13 -05: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
c-typeck.c re PR c/43128 (c-c++-common/pr41779.c doesn't work) 2010-02-24 13:09:37 +00:00
c.opt re PR c/20631 (Support -std=c90 as alias for -std=c89) 2010-02-26 17:09:29 +00:00
caller-save.c re PR debug/42918 ("-fcompare-debug failure" with "-O2 -ftracer" (2)) 2010-02-17 09:54:59 +01:00
calls.c tree.h (TYPE_TRANSPARENT_UNION): Replace with ... 2010-01-21 00:49:35 -05:00
cfg.c cfg.c (alloc_aux_for_block): Remove inline. 2010-02-24 15:27:46 +00:00
cfganal.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 re PR debug/43229 (ice expand_debug_expr, at cfgexpand.c:2957) 2010-03-03 10:58:11 +01:00
cfghooks.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfghooks.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfglayout.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfglayout.h
cfgloop.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfgloop.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfgloopanal.c re PR target/41279 (252.eon performance regression) 2009-09-30 11:57:56 +02:00
cfgloopmanip.c re PR middle-end/42229 (cancel_loop_tree: bad read causes ice) 2009-12-02 15:22:01 +00:00
cfgrtl.c re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
cgraph.c re PR middle-end/42344 (ICE in rs6000.md with ipa-sra for 252.eon) 2010-02-20 10:08:20 +10:30
cgraph.h re PR c++/12909 (ambiguity in mangling vector types) 2010-03-03 14:01:58 -05:00
cgraphbuild.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cgraphunit.c re PR middle-end/42344 (ICE in rs6000.md with ipa-sra for 252.eon) 2010-02-20 10:08:20 +10:30
cif-code.def Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 intl.c (fake_ngettext): New function. 2010-02-14 19:44:07 +00:00
collect2.h intl.c (fake_ngettext): New function. 2010-02-14 19:44:07 +00:00
combine-stack-adj.c re PR bootstrap/41241 (bootstrap comparison failure) 2009-09-06 21:15:45 +00:00
combine.c re PR rtl-optimization/42691 (problematic REG_EQUAL note added to SUBREG) 2010-01-15 21:54:01 +00:00
common.opt common.opt (Wlarger-than-): Add Undocumented. 2010-02-20 12:17:49 +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 (sparc64-*-solaris2*, [...]): Merge into... 2010-03-03 18:14:50 +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 configure.ac: Test if linker and assembler properly support GOTDATA_OP relocations. 2010-02-20 19:58:51 -08:00
configure configure.ac (gcc_cv_as_cfi_directive): Disable cfi directives unless GCC and gas agree on using read-only .eh_frame... 2010-03-01 18:09:19 +00:00
configure.ac configure.ac (gcc_cv_as_cfi_directive): Disable cfi directives unless GCC and gas agree on using read-only .eh_frame... 2010-03-01 18:09:19 +00:00
convert.c re PR c/43007 (No longer folds (unsigned int) ((long long unsigned int) spi_bias / 1008)) 2010-02-10 11:54:14 +00:00
convert.h
coretypes.h extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
coverage.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cse.c re PR rtl-optimization/42699 (ZERO_EXTRACT on lhs never optimized out) 2010-01-12 21:25:10 +01:00
cselib.c re PR debug/43176 (var-tracking fails to notice a value change) 2010-03-07 16:44:11 +01:00
cselib.h re PR debug/43176 (var-tracking fails to notice a value change) 2010-03-07 16:44:11 +01:00
cstamp-h.in
dbgcnt.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dbgcnt.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dbgcnt.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dbxout.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dbxout.h
dce.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dce.h
ddg.c re PR debug/42244 (var-tracking ICE for 300.twolf) 2009-12-07 23:37:21 +01:00
ddg.h Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 tm.texi (ARG_POINTER_CFA_OFFSET): Document new default. 2009-12-22 12:24:32 +00:00
df-byte-scan.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
df-core.c re PR rtl-optimization/42946 (bootstrap with --enable-checking=df (or =all) fails) 2010-02-07 15:22:49 -08:00
df-problems.c re PR rtl-optimization/41812 (test 20071030-1.c fails execution on powerpc64) 2009-11-30 07:34:55 +00:00
df-scan.c re PR rtl-optimization/42889 ("-fcompare-debug failure (length)" with "-O1 -fgcse") 2010-01-29 13:14:47 +01:00
df.h re PR rtl-optimization/42889 ("-fcompare-debug failure (length)" with "-O1 -fgcse") 2010-01-29 13:14:47 +01:00
dfp.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dfp.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
diagnostic.c toplev.h (inform_n, error_n): Declare. 2010-03-01 09:56:41 +00:00
diagnostic.def ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
diagnostic.h diagnostic.c (diagnostic_initialize): Update. 2010-02-26 22:06:56 +00:00
dojump.c re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 19:19:06 +01:00
dominance.c re PR bootstrap/41771 (Bootstrap with Sun Studio 12.1 fails) 2010-01-05 17:14:30 +00:00
domwalk.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
double-int.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dse.c re PR rtl-optimization/42952 (possible integer wrong code bug) 2010-02-04 16:14:17 +00:00
dse.h
dummy-checksum.c ansidecl.h (EXPORTED_CONST): Define. 2009-06-03 20:19:55 +00:00
dwarf2asm.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dwarf2asm.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dwarf2out.c re PR debug/43237 (Wrong DW_AT_upper_bound) 2010-03-03 08:02:37 +01: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 ebitmap.c: Change calls to verify_popcount with calls to sbitmap_verify_popcount. 2010-02-25 20:51:27 -05:00
ebitmap.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
emit-rtl.c emit-rtl.c (next_active_insn, [...]): Correct comment. 2009-11-27 12:00:28 +00: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 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
errors.h Makefile.in: Update dependencies. 2009-04-22 16:01:29 +00:00
et-forest.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
et-forest.h
except.c set LABEL_PRESERVE_P for landing pad labels 2010-03-01 15:34:44 +01:00
except.h cgraph.h (cgraph_set_nothrow_flag, [...]): New prototypes. 2009-12-14 17:53:57 +01:00
exec-tool.in collect2.c (main): Search PLUGIN_LD for plugin linker. 2009-11-08 14:36:51 -08:00
explow.c tm.texi (STACK_CHECK_PROBE_LOAD): Delete. 2009-12-13 23:00:53 +00:00
expmed.c re PR middle-end/32693 ([H8] : ICE: in gen_rtx_SUBREG, at emit-rtl.c:693) 2010-03-03 15:10:17 -07:00
expr.c re PR tree-optimization/43213 (Worse code generated with -O2) 2010-03-01 12:56:44 +00:00
expr.h re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
final.c final.c (rest_of_clean_state): If -fcompare-debug is given dump final insns without UIDs. 2009-12-01 10:02:24 +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 re PR bootstrap/41771 (Bootstrap with Sun Studio 12.1 fails) 2010-01-05 17:14:30 +00:00
fold-const.c re PR c++/40138 (ICE with invalid va_arg) 2010-02-03 16:53:41 -05:00
fp-test.c
function.c re PR debug/43190 (Used pointer typedefs eliminated from debug info) 2010-02-26 16:58:57 +01:00
function.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
fwprop.c re PR debug/42728 ("-fcompare-debug failure (length)" at -O1) 2010-01-19 13:38:25 +01:00
gbl-ctors.h gbl-ctors.h: Add header guard. 2009-06-07 21:53:14 +02:00
gcc-plugin.h * gcc-plugin.h (plugin_init): Use "C" likage for c++. 2010-01-22 21:01:49 +00:00
gcc.c re PR driver/43021 (Driver no longer handles fancy names) 2010-02-11 12:23:08 +00:00
gcc.h Pass -dumpbase and -dumpdir to gcc for LTO 2010-01-03 09:03:38 -08:00
gccbug.in
gccspec.c
gcov-dump.c gcc.c (process_command): Update copyright notice dates. 2010-01-09 01:00:42 +01:00
gcov-io.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gcov-io.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gcov-iov.c
gcov.c gcc.c (process_command): Update copyright notice dates. 2010-01-09 01:00:42 +01:00
gcse.c invoke.texi: Fix name of sched1 dump. 2010-02-03 12:36:27 +00:00
gdbinit.in * gdbinit.in (pgq): New function for printing gimple sequence. 2009-11-09 13:33:00 -05:00
genattr.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genattrtab.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genautomata.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gencheck.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
genchecksum.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gencodes.c
genconditions.c
genconfig.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genconstants.c
genemit.c i386.c (ix86_emit_restore_sse_regs_using_mov): Remove unused insn variable. 2009-11-27 12:37:06 +01:00
genextract.c genoutput.c (validate_optab_operands): New. 2009-04-08 15:00:34 +00:00
genflags.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gengenrtl.c
gengtype-lex.l gengtype-lex.l: Enable noinput flex option. 2009-11-21 21:24:25 +11:00
gengtype-parse.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gengtype.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gengtype.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genmddeps.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genmodes.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genmultilib
genopinit.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genoutput.c genoutput.c (validate_optab_operands): New. 2009-04-08 15:00:34 +00:00
genpeep.c
genpreds.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genrecog.c alias.c: Use REG_P... 2009-06-22 10:29:13 +00:00
gensupport.c gensupport.c (process_one_cond_exec): Derive name for COND_EXEC patterns from predicated pattern. 2010-02-17 15:05:40 +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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ggc-none.c
ggc-page.c ggc-page.c (struct free_object): Pull definition out ... 2009-12-03 02:04:16 +00:00
ggc-zone.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ggc.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gimple-iterator.c re PR debug/42897 (yet another ice in verify_ssa) 2010-03-06 20:30:10 +00:00
gimple-low.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gimple-pretty-print.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gimple.c re PR tree-optimization/43186 (A loop in tree_unroll_loops_completely never ends) 2010-02-26 16:01:52 +00:00
gimple.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gimple.h re PR tree-optimization/43186 (A loop in tree_unroll_loops_completely never ends) 2010-02-26 16:01:52 +00:00
gimplify.c re PR middle-end/41250 (hppa has DECL_VALUE_EXPR decls appearing in the function) 2010-03-01 15:43:32 +00: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
graphds.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
graphite-blocking.c Update loop-block testcases. 2010-01-07 18:33:01 +00:00
graphite-clast-to-gimple.c Fix type problems in loop ivs. 2010-03-08 17:49:36 +00:00
graphite-clast-to-gimple.h re PR tree-optimization/42771 ([graphite] ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c (2)) 2010-02-11 19:42:38 +00:00
graphite-dependences.c Cleanup data dep polyhedron construction. 2010-03-08 17:49:09 +00:00
graphite-dependences.h Correct the lexicographical function, add debug_pddr. 2010-02-06 17:41:34 +00:00
graphite-interchange.c Memoize memory strides per loop. 2010-01-08 04:35:43 +00:00
graphite-poly.c re PR tree-optimization/42771 ([graphite] ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c (2)) 2010-02-11 19:42:38 +00:00
graphite-poly.h New function combine_context_id_scat. 2010-03-08 17:49:02 +00:00
graphite-ppl.c graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed ppl_min_for_le_pointset. 2010-03-08 17:49:16 +00:00
graphite-ppl.h graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed ppl_min_for_le_pointset. 2010-03-08 17:49:16 +00:00
graphite-scop-detection.c Fix PR43083: Do not handle regions ending with multiple edges on the exit BB. 2010-02-23 12:59:48 +00:00
graphite-scop-detection.h graphite-dependences.c (reduction_ddr): New. 2009-11-25 04:54:30 +00:00
graphite-sese-to-poly.c Fix type problems in loop ivs. 2010-03-08 17:49:36 +00:00
graphite-sese-to-poly.h graphite-sese-to-poly.c (free_data_refs_aux): Update to free the new structure. 2009-11-25 05:19:32 +00:00
graphite.c re PR tree-optimization/42771 ([graphite] ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c (2)) 2010-02-11 19:42:38 +00:00
graphite.h New implementation of Graphite. 2009-07-31 02:44:28 +00:00
gsstruct.def gimple.h (union gimple_statement_d): Add gsmembase member. 2009-11-18 20:28:19 +00: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-posix.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-posix.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-posix95.h Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-solaris.h re PR target/41810 (Cannot build gcc: gthr-default.h:466: error: '__mutex' was not declared in this scope) 2009-11-27 15:17:04 +00:00
gthr-tpf.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-vxworks.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-win32.h gthr-win32.h (__UNUSED_PARAM): Define, if not already present. 2009-08-25 12:32:38 +02:00
gthr.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
haifa-sched.c sel-sched.c (create_speculation_check): Remove set but not used variable twin. 2010-01-20 12:30:05 +01:00
hard-reg-set.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
highlev-plugin-common.h cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
hooks.c target.h (targetm.vectorize.builtin_vec_perm_ok): New. 2009-11-25 17:52:19 -08:00
hooks.h target.h (targetm.vectorize.builtin_vec_perm_ok): New. 2009-11-25 17:52:19 -08:00
host-default.c
hosthooks-def.h
hosthooks.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
hwint.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ifcvt.c re PR rtl-optimization/42511 (bootstrap error in stage3 on alpha-linux-gnu) 2010-01-07 14:02:34 +01:00
incpath.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 (fake_ngettext): New function. 2010-02-14 19:44:07 +00:00
intl.h intl.c (fake_ngettext): New function. 2010-02-14 19:44:07 +00:00
ipa-cp.c re PR tree-optimization/42366 (ICE in ipa_write_node_info, at ipa-prop.c:2023) 2010-01-04 19:18:54 +01:00
ipa-inline.c re PR middle-end/37448 (cannot compile big function) 2010-01-29 11:26:27 +00:00
ipa-prop.c ipa-prop.h (struct ipa_param_descriptor): Removed the called field. 2010-03-08 12:00:07 +01:00
ipa-prop.h ipa-prop.h (struct ipa_param_descriptor): Removed the called field. 2010-03-08 12:00:07 +01:00
ipa-pure-const.c re PR objc/43061 (47 new GCC HEAD@156527 regressions) 2010-02-19 19:06:38 +00:00
ipa-reference.c re PR objc/43061 (47 new GCC HEAD@156527 regressions) 2010-02-19 19:06:38 +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 ipa-struct-reorg.c (make_field_acc_node, [...]): Use XCNEW instead of xcalloc. 2010-02-19 19:31:01 +01:00
ipa-struct-reorg.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ipa-type-escape.c re PR objc/43061 (47 new GCC HEAD@156527 regressions) 2010-02-19 19:06:38 +00:00
ipa-type-escape.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ipa-utils.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ipa-utils.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ipa.c re PR middle-end/42344 (ICE in rs6000.md with ipa-sra for 252.eon) 2010-02-20 10:08:20 +10:30
ira-build.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ira-color.c ira-color.c (put_allocno_into_bucket): Remove set but not used local variable hard_regs_num. 2009-11-28 09:49:56 +00:00
ira-conflicts.c ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note instead of loop. 2010-02-10 20:52:31 +00:00
ira-costs.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ira-emit.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ira-int.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ira-lives.c ira-color.c (put_allocno_into_bucket): Remove set but not used local variable hard_regs_num. 2009-11-28 09:49:56 +00:00
ira.c cgraph.c (same_body_alias_1): Break out of 2009-11-29 10:32:08 +00:00
ira.h invoke.texi (-fsched-pressure): Document it. 2009-09-02 18:54:25 +00:00
jump.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lambda-code.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lambda-mat.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lambda-trans.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lambda.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
langhooks-def.h cgraph.c (same_body_alias_1): Break out of 2009-11-29 10:32:08 +00:00
langhooks.c re PR lto/42392 ([LTO] ICE with top level asm) 2009-12-16 23:07:10 +00:00
langhooks.h cgraph.c (same_body_alias_1): Break out of 2009-11-29 10:32:08 +00:00
lcm.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
libfuncs.h Squash commit of EH in gimple 2009-09-14 12:18:58 -07: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 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 matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
limitx.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
limity.h
lists.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
longlong.h Oops - omitted this part of xstormy16 patch to use __clzhi2() instead of __stormy16_count_leading_zeros. 2009-12-02 11:15:50 +00:00
loop-doloop.c re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 13:47:18 +01:00
loop-init.c timevar.def (TV_LOOP_MOVE_INVARIANTS, [...]): New timevars. 2009-11-27 12:43:08 +00:00
loop-invariant.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
loop-iv.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
loop-unroll.c re PR debug/42630 ("-fcompare-debug failure (length)" with "-O1 -fvariable-expansion-in-unroller -funroll-loops") 2010-01-09 14:41:35 +00:00
loop-unswitch.c re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
lower-subreg.c ira-color.c (put_allocno_into_bucket): Remove set but not used local variable hard_regs_num. 2009-11-28 09:49:56 +00:00
lto-cgraph.c lto-cgraph.c (lto_output_node): Also stream the alias for regular aliases. 2009-12-15 11:28:10 +00:00
lto-compress.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lto-compress.h Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
lto-opts.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lto-section-in.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lto-section-out.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lto-streamer-in.c re PR c++/12909 (ambiguity in mangling vector types) 2010-03-03 14:02:08 -05:00
lto-streamer-out.c re PR c++/12909 (ambiguity in mangling vector types) 2010-03-03 14:02:08 -05:00
lto-streamer.c Remove asterisk in LTO section name. 2010-01-01 08:49:15 -08:00
lto-streamer.h re PR c++/12909 (ambiguity in mangling vector types) 2010-03-03 14:02:08 -05:00
lto-symtab.c re PR middle-end/42320 (link error with -flto (undefined reference to 'non-virtual thunk ...)) 2009-12-11 10:56:17 +00:00
lto-wpa-fixup.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lto-wrapper.c Pass -dumpbase and -dumpdir to gcc for LTO 2010-01-03 09:03:38 -08: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 matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
mcf.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
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
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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
modulo-sched.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
omega.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
omega.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
omp-builtins.def
omp-low.c re PR fortran/42866 (ICE for REDUCTION with ALLOCATABLE array as variable on SECTIONS) 2010-01-26 10:47:45 +01: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/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
optabs.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
optc-gen.awk c.opt (-ftemplate-depth=): New. 2010-02-24 20:41:01 +00:00
opth-gen.awk c.opt (-ftemplate-depth=): New. 2010-02-24 20:41:01 +00:00
opts-common.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
opts.c common.opt (fsched2-use-traces): Preserved for backward compatibility. 2010-02-09 19:51:30 +03: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 cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
params.def re PR tree-optimization/43186 (A loop in tree_unroll_loops_completely never ends) 2010-02-27 23:28:46 +00:00
params.h cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
passes.c If a pass occurs in several pass lists... 2010-02-22 14:18:10 +00:00
plugin.c decl.c (finish_function): Rename pre-genericize event. 2009-12-21 20:37:49 +00:00
plugin.def decl.c (finish_function): Rename pre-genericize event. 2009-12-21 20:37:49 +00:00
plugin.h cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
pointer-set.c
pointer-set.h
postreload-gcse.c postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM with BLOCK_FOR_INSN. 2010-01-03 13:13:03 +00:00
postreload.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
predict.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
predict.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
predict.h predict.c (compute_function_frequency): Export. 2009-11-18 13:09:15 +00:00
prefix.c
prefix.h
pretty-print.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
pretty-print.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
print-rtl.c re PR debug/42896 (Random debug generation differences, bootstrap fails) 2010-02-03 15:00:33 +00:00
print-tree.c tree.h (TYPE_TRANSPARENT_UNION): Replace with ... 2010-01-21 00:49:35 -05:00
profile.c re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
profile.h
read-rtl.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
real.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
real.h re PR bootstrap/41771 (Bootstrap with Sun Studio 12.1 fails) 2010-01-05 17:14:30 +00:00
recog.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
regcprop.c re PR debug/43161 (Wrong debug info in guality/vla-1.c (f2)) 2010-02-26 12:01:28 +01:00
reginfo.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
regmove.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
regrename.c re PR middle-end/42220 (FAIL: gfortran.dg/complex_intrinsic_5.f90 -m64 -O -frename-registers) 2010-03-07 15:20:12 +00:00
regs.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
regstat.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
reload.c re PR rtl-optimization/42429 (Miscompilation of 2fish on s390) 2009-12-21 17:32:44 +01:00
reload.h tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
reload1.c reload1.c (rtx_p, [...]): Declare. 2010-03-02 11:56:50 -07:00
reorg.c reorg.c (delete_computation): Comment fixes. 2010-02-14 12:58:16 +00:00
resource.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
rtl.def reorg.c (delete_computation): Comment fixes. 2010-02-14 12:58:16 +00:00
rtl.h re PR bootstrap/43121 (Bootstrap failure) 2010-02-19 23:12:25 +01:00
rtlanal.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sbitmap.h
sched-deps.c re PR rtl-optimization/42941 (-fsched-pressure -fschedule-insns - valgrind warns about using uninitialized variable) 2010-02-03 19:01:31 +00:00
sched-ebb.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sched-int.h postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM with BLOCK_FOR_INSN. 2010-01-03 13:13:03 +00:00
sched-rgn.c common.opt (fsched2-use-traces): Preserved for backward compatibility. 2010-02-09 19:51:30 +03:00
sched-vis.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sdbout.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sdbout.h
sel-sched-dump.c reorg.c (delete_computation): Comment fixes. 2010-02-14 12:58:16 +00:00
sel-sched-dump.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sel-sched-ir.c sel-sched.c: Add 2010 to copyright years. 2010-01-14 16:50:09 +03:00
sel-sched-ir.h sel-sched.c: Add 2010 to copyright years. 2010-01-14 16:50:09 +03:00
sel-sched.c sel-sched.c (create_speculation_check): Remove set but not used variable twin. 2010-01-20 12:30:05 +01:00
sel-sched.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sese.c Fold convert SSA_NAMEs in the scalar expander. 2010-03-08 17:49:22 +00:00
sese.h re PR tree-optimization/42771 ([graphite] ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c (2)) 2010-02-11 19:42:38 +00:00
simplify-rtx.c Update Copyright years. 2010-01-12 10:49:51 +01: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
stor-layout.c re PR c++/42837 (FAIL: g++.dg/abi/packed1.C execution test) 2010-02-23 13:31:58 -05:00
store-motion.c gcse.c (execute_rtl_cprop, [...]): Do not add the DF_NOTE problem. 2010-01-07 11:49:25 +00:00
stringpool.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
stub-objc.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sync-builtins.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
system.h tm.texi (STACK_CHECK_PROBE_LOAD): Delete. 2009-12-13 23:00:53 +00:00
target-def.h target.h (targetm.vectorize.builtin_vec_perm_ok): New. 2009-11-25 17:52:19 -08:00
target.h target.h (struct gcc_target): Change type of last argument to secondary_reload_info *. 2010-01-19 08:22:22 +00:00
targhooks.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
targhooks.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
timevar.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
timevar.def timevar.def (TV_LOOP_MOVE_INVARIANTS, [...]): New timevars. 2009-11-27 12:43:08 +00:00
timevar.h df.h: Include "timevar.h". 2009-04-17 05:40:46 +00:00
tlink.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
toplev.c diagnostic.c (diagnostic_initialize): Update. 2010-02-26 22:06:56 +00:00
toplev.h toplev.h (inform_n, error_n): Declare. 2010-03-01 09:56:41 +00:00
tracer.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-affine.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-affine.h Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-call-cdce.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-cfg.c re PR tree-optimization/42927 (type mismatch in shift expression produces ice with -O3) 2010-02-03 11:13:17 +00:00
tree-cfgcleanup.c re PR tree-optimization/43186 (A loop in tree_unroll_loops_completely never ends) 2010-02-26 16:01:52 +00:00
tree-chrec.c Fix PR42326: Handle more carefully convert expressions in chrec_fold_plus and chrec_fold_mult. 2010-03-05 20:37:44 +00:00
tree-chrec.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-complex.c re PR middle-end/42678 (ICE with lto1 in expand_mult, at expmed.c:3253) 2010-01-13 10:07:47 +00:00
tree-data-ref.c re PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp) 2010-01-19 16:05:57 +00:00
tree-data-ref.h tree-data-ref.h (dot_rdg): Remove prototype. 2009-12-16 23:32:14 +11:00
tree-dfa.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-dump.c * tree-dump.c (dump_options): Don't set TDF_NOUID for all. 2009-12-31 11:52:56 +01:00
tree-dump.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-eh.c re PR tree-optimization/42806 ("-fcompare-debug failure (length)" at -O1 in recent builds) 2010-01-26 15:09:43 +00:00
tree-flow-inline.h gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING. 2010-01-07 16:14:02 +00:00
tree-flow.h gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING. 2010-01-07 16:14:02 +00:00
tree-if-conv.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-inline.c re PR middle-end/43045 ([lto] ICE non-trivial conversion at assignment) 2010-02-22 15:53:27 +00:00
tree-inline.h Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
tree-into-ssa.c tree-into-ssa.c (maybe_register_def): If stmt ends the bb, insert the debug stmt on the single non-EH edge from the stmt. 2010-01-22 20:20:51 +01: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 Fix PR42640: Correctly initialize the value of the new induction variable. 2010-03-02 10:22:30 +00:00
tree-loop-linear.c re PR tree-optimization/42931 (-ftree-loop-linear - valgrind warns about using uninitialized variable) 2010-02-08 16:47:01 +01:00
tree-mudflap.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-mudflap.h
tree-nested.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-nomudflap.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-nrv.c re PR middle-end/42183 (internal compiler error: verify_stmts failed) 2009-11-28 19:11:22 +00:00
tree-object-size.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-optimize.c cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
tree-outof-ssa.c re PR tree-optimization/42719 ("-fcompare-debug failure" with "-O2 -ftracer") 2010-01-19 13:39:42 +01:00
tree-parloops.c 28-01-2010 Razya Ladelsky <razya@il.ibm.com> 2010-01-28 14:24:25 +00:00
tree-pass.h re PR middle-end/42678 (ICE with lto1 in expand_mult, at expmed.c:3253) 2010-01-13 10:07:47 +00:00
tree-phinodes.c re PR debug/42897 (yet another ice in verify_ssa) 2010-03-06 20:30:10 +00:00
tree-predcom.c tree-predcom.c (combine_chains): Return NULL, not false. 2010-01-23 14:33:26 +00:00
tree-pretty-print.c tree-dump.c (dump_option_value_in): Add TDF_NOUID. 2009-11-30 10:36:54 +00:00
tree-profile.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-scalar-evolution.c re PR tree-optimization/42732 ([graphite] ICE: verify_ssa failed) 2010-01-14 07:38:15 +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/43164 (ice in completely_scalarize_record, at tree-sra.c:85) 2010-03-04 19:16:32 +01:00
tree-ssa-address.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-alias.c re PR ada/43096 (miscompilation of ACATS c37105a at -O2) 2010-02-26 23:10:24 +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 re PR tree-optimization/43220 (Paritially optimized __builtin_save_stack/__builtin_restore_stack causes segmentation fault) 2010-03-01 16:57:02 +00:00
tree-ssa-coalesce.c tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate a new entry only if needed. 2010-01-04 21:02:42 +00:00
tree-ssa-copy.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-copyrename.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-dce.c re PR tree-optimization/42717 (ice: verify_ssa failed) 2010-01-20 12:30:15 +00:00
tree-ssa-dom.c tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate a new entry only if needed. 2010-01-04 21:02:42 +00:00
tree-ssa-dse.c re PR tree-optimization/43269 (removing non dead store) 2010-03-08 13:30:27 +00:00
tree-ssa-forwprop.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-ifcombine.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-live.c final.c (rest_of_clean_state): If -fcompare-debug is given dump final insns without UIDs. 2009-12-01 10:02:24 +00:00
tree-ssa-live.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-loop-ch.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-loop-im.c tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru. 2010-01-15 10:34:24 +00:00
tree-ssa-loop-ivcanon.c re PR tree-optimization/43186 (A loop in tree_unroll_loops_completely never ends) 2010-02-27 23:28:46 +00:00
tree-ssa-loop-ivopts.c Fix PR43209: Do not decrease the cost of an IV candidate when the cost is infinite. 2010-03-04 12:12:50 +00:00
tree-ssa-loop-manip.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-loop-niter.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-ssa-loop-prefetch.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-loop-unswitch.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-loop.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-math-opts.c re PR rtl-optimization/42589 (bswap optimization does not work for 32bit (but for 64bit) on 64bit registers) 2010-01-03 15:23:29 +00:00
tree-ssa-operands.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-ssa-operands.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-phiopt.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-phiprop.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-pre.c re PR rtl-optimization/40761 (IRA memory hog for insanely nested loops) 2010-03-04 13:25:27 +00:00
tree-ssa-propagate.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 tree-optimization/42705 (verify_flow_info failed with -O) 2010-01-13 15:04:38 +00:00
tree-ssa-sccvn.c tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate a new entry only if needed. 2010-01-04 21:02:42 +00: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 matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-ssa-structalias.c re PR tree-optimization/43008 (Attribute malloc not handled correctly) 2010-02-09 16:11:34 +00:00
tree-ssa-ter.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-threadedge.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-threadupdate.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-ssa-uncprop.c tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI node existence check. 2010-01-17 16:22:17 +00:00
tree-ssa.c re PR debug/42299 (another verify_ssa failure with -g -O2) 2009-12-07 14:42:10 -08:00
tree-ssanames.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-tailcall.c re PR middle-end/42749 (-O2 and verify_stmts failed again) 2010-02-22 14:09:26 +00:00
tree-vect-data-refs.c re PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp) 2010-01-19 16:05:57 +00:00
tree-vect-generic.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-vect-loop-manip.c re PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp) 2010-01-19 16:05:57 +00:00
tree-vect-loop.c re PR debug/42897 (yet another ice in verify_ssa) 2010-03-06 20:28:04 +00:00
tree-vect-patterns.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-vect-slp.c tree-vect-slp.c (vect_slp_analyze_bb): Fix typo. 2010-02-22 09:47:59 +00:00
tree-vect-stmts.c re PR tree-optimization/43188 ("error: alignment of array elements is greater than element size") 2010-02-26 13:34:38 +00:00
tree-vectorizer.c tree-vectorizer.c (vectorize_loops): Properly guard vectorizer verboseness. 2009-12-10 14:16:28 +00:00
tree-vectorizer.h re PR tree-optimization/43074 (ICE in vectorizable_reduction, at tree-vect-loop.c:3491) 2010-02-16 11:35:03 +00:00
tree-vrp.c tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis to loop PHI nodes. 2010-02-17 09:45:31 +00:00
tree.c re PR c/43007 (No longer folds (unsigned int) ((long long unsigned int) spi_bias / 1008)) 2010-02-10 11:54:14 +00:00
tree.def * tree.def (PLACEHOLDER_EXPR): Fix comment. 2010-01-20 09:47:41 +00:00
tree.h Improve wording.. 2010-02-18 21:04:40 +00:00
treestruct.def Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 i386.c (ix86_emit_restore_sse_regs_using_mov): Remove unused insn variable. 2009-11-27 12:37:06 +01:00
unwind-compat.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 re PR java/41991 (gcj segfaults on i686-apple-darwin9 and x86_64-apple-darwin9) 2010-02-02 09:18:08 +01:00
unwind-dw2-fde-glibc.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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 dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead of MOD... 2010-01-20 09:13:50 +01: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 matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
value-prof.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
var-tracking.c var-tracking.c (remove_cselib_value_chains): Define only for ENABLE_CHECKING. 2010-03-08 14:33:31 +01:00
varasm.c re PR middle-end/42803 (c++ compilation hang) 2010-01-20 12:08:24 +01:00
varpool.c re PR c++/12909 (ambiguity in mangling vector types) 2010-03-03 14:01:58 -05: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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
vec.h Update copyright notices of my recent commits. 2010-01-09 14:46:25 +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 Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
web.c re PR tree-optimization/42685 ("-fcompare-debug failure" with "-O1 -funroll-loops" (2)) 2010-01-26 16:27:34 +00:00
xcoff.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
xcoffout.c Remove trailing white spaces. 2009-11-25 02:55:54 -08: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.