gcc/gcc
Martin Jambor 1360467133 loadpre1.c: Deleted trailing whitespace, renamed main to foo.
2010-03-26  Martin Jambor  <mjambor@suse.cz>

	* gcc/testsuite/gcc.dg/tree-ssa/loadpre1.c: Deleted trailing
	whitespace, renamed main to foo.
	* gcc/testsuite/gcc.dg/tree-ssa/loadpre14.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/loadpre15.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/loadpre16.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/loadpre17.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/loadpre19.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/loadpre20.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/loadpre3.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/loadpre5.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-1.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-4.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-6.c: Likewise.

From-SVN: r157748
2010-03-26 14:21:34 +01:00
..
ada sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32. 2010-03-10 23:25:37 +00:00
config rs6000.md (cmptf_internal2): Correct comparison. 2010-03-26 09:31:41 +10:30
cp re PR c++/43327 (ICE in unifiy.c) 2010-03-26 10:20:58 +01:00
doc tm.texi (Sections): Document TLS_COMMON_ASM_OP, TLS_SECTION_ASM_FLAG. 2010-03-25 18:42:05 +00:00
fortran re PR fortran/43450 (-fwhole-file: ICE in gfc_create_module_variable, at fortran/trans-decl.c:3386) 2010-03-20 16:01:17 +00:00
ginclude
java
lto re PR bootstrap/43276 (lto-elf.c:388:10: error: 'EM_SPARC') 2010-03-09 09:01:56 +00:00
objc re PR objc/43061 (47 new GCC HEAD@156527 regressions) 2010-02-19 19:06:38 +00:00
objcp
po * zh_CN.po: Update. 2010-03-09 15:18:43 +00:00
testsuite loadpre1.c: Deleted trailing whitespace, renamed main to foo. 2010-03-26 14:21:34 +01:00
ABOUT-GCC-NLS
acinclude.m4
aclocal.m4
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
alloc-pool.c
alloc-pool.h
attribs.c re PR c++/43116 (ICE when using attributes in a function alias declaration) 2010-03-19 16:37:27 +00:00
auto-inc-dec.c
BASE-VER
basic-block.h
bb-reorder.c
bitmap.c
bitmap.h
bt-load.c
builtin-attrs.def
builtin-types.def
builtins.c re PR middle-end/40106 (Weird interaction between optimize_insn_for_speed_p and -funsafe-math-optimizations) 2010-03-22 12:38:02 +00:00
builtins.def
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
c-common.h
c-config-lang.in
c-convert.c
c-cppbuiltin.c
c-decl.c re PR c/43211 (ICE with incomplete type in function argument) 2010-03-19 15:52:41 -07:00
c-dump.c
c-errors.c
c-format.c
c-format.h
c-gimplify.c
c-lang.c
c-lang.h
c-lex.c
c-objc-common.c
c-objc-common.h
c-omp.c
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
c-pch.c * c-pch.c (pch_init): Clear v. 2010-02-11 21:49:05 +01:00
c-ppoutput.c
c-pragma.c
c-pragma.h
c-pretty-print.c c-pretty-print.c (pp_c_specifier_qualifier_list): Use () rather than [], and move before the element type. 2010-03-22 16:38:35 -04:00
c-pretty-print.h
c-semantics.c
c-tree.h
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
cfg.c cfg.c (alloc_aux_for_block): Remove inline. 2010-02-24 15:27:46 +00:00
cfganal.c
cfgbuild.c
cfgcleanup.c re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
cfgexpand.c re PR debug/19192 (Current development gcc generates inaccurate line info for example code) 2010-03-24 14:41:30 +01:00
cfghooks.c
cfghooks.h
cfglayout.c
cfglayout.h
cfgloop.c
cfgloop.h
cfgloopanal.c
cfgloopmanip.c
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 middle-end/42450 (another GCC 4.5 ICE on C++ templated code) 2010-03-18 21:07:13 +01:00
cgraphbuild.c
cgraphunit.c re PR middle-end/42450 (another GCC 4.5 ICE on C++ templated code) 2010-03-18 21:07:13 +01:00
ChangeLog configure.ac: Fix sparc GOTDATA_OP bug check. 2010-03-25 22:40:32 -07:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007 Fix nit 2010-03-26 09:51:32 +00:00
ChangeLog-2008
ChangeLog-2009
ChangeLog.dataflow
ChangeLog.graphite Fix PR43354: Correctly handle default definitions. 2010-03-13 17:35:45 +00:00
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
cif-code.def
collect2-aix.c
collect2-aix.h
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
combine.c re PR rtl-optimization/43438 (possible wrong code bug) 2010-03-20 13:44:18 +00:00
common.opt common.opt (dumpdir): Remove redundant tab. 2010-03-18 03:01:09 +00:00
conditions.h
config.build
config.gcc re PR target/38118 (gcc emits non-TLS data as TLS on Solaris 11/SPARC) 2010-03-24 18:49:49 +00:00
config.host
config.in re PR target/38118 (gcc emits non-TLS data as TLS on Solaris 11/SPARC) 2010-03-24 18:49:49 +00:00
configure configure.ac: Fix sparc GOTDATA_OP bug check. 2010-03-25 22:40:32 -07:00
configure.ac configure.ac: Fix sparc GOTDATA_OP bug check. 2010-03-25 22:40:32 -07: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
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
coretypes.h
coverage.c
coverage.h
cppdefault.c
cppdefault.h
cppspec.c
crtstuff.c
cse.c
cselib.c re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
cselib.h re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
cstamp-h.in
DATESTAMP Daily bump. 2010-03-26 00:16:47 +00:00
dbgcnt.c
dbgcnt.def
dbgcnt.h
dbxout.c
dbxout.h
dce.c
dce.h
ddg.c
ddg.h
debug.c
debug.h
defaults.h re PR target/38118 (gcc emits non-TLS data as TLS on Solaris 11/SPARC) 2010-03-24 18:49:49 +00:00
DEV-PHASE
df-byte-scan.c
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
df-scan.c
df.h
dfp.c
dfp.h
diagnostic.c toplev.h (inform_n, error_n): Declare. 2010-03-01 09:56:41 +00:00
diagnostic.def
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
domwalk.c
domwalk.h
double-int.c
double-int.h
dse.c re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
dse.h
dummy-checksum.c
dwarf2asm.c
dwarf2asm.h
dwarf2out.c re PR debug/43508 (ICE when compiling SSE code with -ggdb) 2010-03-24 17:51:02 +01:00
dwarf2out.h
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
emit-rtl.c
emit-rtl.h
emutls.c
errors.c
errors.h
et-forest.c
et-forest.h
except.c set LABEL_PRESERVE_P for landing pad labels 2010-03-01 15:34:44 +01:00
except.h
exec-tool.in
explow.c
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 debug/19192 (Current development gcc generates inaccurate line info for example code) 2010-03-24 14:41:30 +01:00
expr.h re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
final.c
fixed-value.c
fixed-value.h
flags.h
fold-const.c
fp-test.c
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
function.c re PR debug/43190 (Used pointer typedefs eliminated from debug info) 2010-02-26 16:58:57 +01:00
function.h
fwprop.c
gbl-ctors.h
gcc-plugin.h
gcc.c re PR driver/43021 (Driver no longer handles fancy names) 2010-02-11 12:23:08 +00:00
gcc.h
gccbug.in
gccspec.c
gcov-dump.c
gcov-io.c
gcov-io.h
gcov-iov.c
gcov.c
gcse.c re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
gdbinit.in
genattr.c
genattrtab.c
genautomata.c
gencheck.c
genchecksum.c
gencodes.c
genconditions.c
genconfig.c
genconstants.c
genemit.c
genextract.c
genflags.c
gengenrtl.c
gengtype-lex.l
gengtype-parse.c
gengtype.c
gengtype.h
genmddeps.c
genmodes.c
genmultilib
genopinit.c
genoutput.c
genpeep.c
genpreds.c
genrecog.c
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
ggc-common.c
ggc-none.c
ggc-page.c
ggc-zone.c
ggc.h
gimple-iterator.c re PR debug/42897 (yet another ice in verify_ssa) 2010-03-06 20:30:10 +00:00
gimple-low.c
gimple-pretty-print.c
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
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 c/43385 (glibc regex testsuite failures) 2010-03-25 09:16:18 +01:00
glimits.h
graph.c
graph.h
graphds.c
graphds.h
graphite-blocking.c
graphite-clast-to-gimple.c Use ssizetype when long_long_integer_type_node is NULL. 2010-03-13 17:35:29 +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
graphite-interchange.c
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-sese-to-poly.c graphite-sese-to-poly.c (split_reduction_stmt): Skip debug statements before splitting block. 2010-03-16 20:04:04 +00:00
graphite-sese-to-poly.h Make build_poly_scop not return a bool. 2010-03-13 17:34:44 +00:00
graphite.c Add PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION. 2010-03-13 17:34:51 +00:00
graphite.h
gsstruct.def
gstab.h
gsyms.h
gsyslimits.h
gthr-aix.h
gthr-dce.h
gthr-gnat.c
gthr-gnat.h
gthr-lynx.h
gthr-mipssde.h
gthr-nks.h
gthr-posix95.h
gthr-posix.c
gthr-posix.h
gthr-rtems.h
gthr-single.h
gthr-solaris.h
gthr-tpf.h
gthr-vxworks.h
gthr-win32.h
gthr.h
haifa-sched.c
hard-reg-set.h
highlev-plugin-common.h
hooks.c
hooks.h
host-default.c
hosthooks-def.h
hosthooks.h
hwint.h
ifcvt.c
incpath.c
incpath.h
init-regs.c
input.h
insn-addr.h
insn-notes.def
integrate.c
integrate.h
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
ipa-inline.c
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
ipa-struct-reorg.c re PR tree-optimization/43317 (ICE: Segmentation fault with -fipa-struct-reorg -g) 2010-03-15 13:05:05 +00:00
ipa-struct-reorg.h
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
ipa-utils.c
ipa-utils.h
ipa.c re PR middle-end/42450 (another GCC 4.5 ICE on C++ templated code) 2010-03-18 21:07:13 +01:00
ira-build.c
ira-color.c re PR rtl-optimization/43413 (Powerpc generates worse code for -mvsx on gromacs even though there are no VSX instructions used) 2010-03-23 19:18:42 +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
ira-emit.c
ira-int.h
ira-lives.c re PR rtl-optimization/42258 (redundant register move around mul instruction) 2010-03-19 18:18:54 +00:00
ira.c re PR debug/43479 (Missing DW_TAG_lexical_block+DW_TAG_variable) 2010-03-24 17:50:11 +01:00
ira.h
jump.c
lambda-code.c re PR tree-optimization/42917 ("-fcompare-debug failure" with -ftree-loop-linear) 2010-03-16 11:33:45 +00:00
lambda-mat.c
lambda-trans.c
lambda.h
langhooks-def.h
langhooks.c
langhooks.h
LANGUAGES
lcm.c
libfuncs.h
libgcc2.c
libgcc2.h
libgcc-libsystem.ver
libgcc-std.ver
libgcov.c
limitx.h
limity.h
lists.c
longlong.h
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
loop-invariant.c Remove the REG_EQUAL note if we don't know its invariant status. 2010-03-18 06:10:49 -07:00
loop-iv.c
loop-unroll.c
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
lto-cgraph.c
lto-compress.c
lto-compress.h
lto-opts.c
lto-section-in.c
lto-section-out.c
lto-streamer-in.c re PR lto/43200 ([LTO] tree check: expected array_type, have pointer_type in array_ref_low_bound) 2010-03-11 13:13:53 +00: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
lto-streamer.h re PR c++/12909 (ambiguity in mangling vector types) 2010-03-03 14:02:08 -05:00
lto-symtab.c
lto-wpa-fixup.c
lto-wrapper.c
machmode.def
machmode.h
main.c
Makefile.in re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
matrix-reorg.c
mcf.c
mips-tdump.c
mips-tfile.c
mkconfig.sh
mkmap-flat.awk
mkmap-symver.awk
mode-classes.def
mode-switching.c
modulo-sched.c
omega.c
omega.h
omp-builtins.def
omp-low.c
ONEWS
opt-functions.awk
opt-gather.awk
optabs.c optabs.c (avoid_expensive_constant): Fix formatting. 2010-03-19 19:45:01 +00:00
optabs.h
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
opts.c common.opt (fsched2-use-traces): Preserved for backward compatibility. 2010-02-09 19:51:30 +03:00
opts.h
output.h
params.c
params.def Fix documentation of the new parameters. 2010-03-13 17:35:22 +00:00
params.h
passes.c If a pass occurs in several pass lists... 2010-02-22 14:18:10 +00:00
plugin.c
plugin.def
plugin.h
pointer-set.c
pointer-set.h
postreload-gcse.c
postreload.c re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
predict.c
predict.def
predict.h
prefix.c
prefix.h
pretty-print.c
pretty-print.h
print-rtl.c
print-tree.c
profile.c
profile.h
read-rtl.c
README.Portability
real.c
real.h
recog.c re PR middle-end/43475 (ICE in form_sum, at reload.c:5348) 2010-03-22 16:28:51 +00:00
recog.h
reg-notes.def re PR debug/43290 (ICE in dwarf2out_frame_debug_expr) 2010-03-10 19:17:10 +01:00
reg-stack.c
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
regmove.c
regrename.c re PR rtl-optimization/42216 (changes in scheduling regress 464.h264ref 20%) 2010-03-17 09:25:35 +00:00
regs.h
regstat.c
reload1.c reload1.c (rtx_p, [...]): Declare. 2010-03-02 11:56:50 -07:00
reload.c
reload.h
reorg.c reorg.c (delete_computation): Comment fixes. 2010-02-14 12:58:16 +00:00
resource.c
resource.h
rtl-error.c
rtl.c
rtl.def reorg.c (delete_computation): Comment fixes. 2010-02-14 12:58:16 +00:00
rtl.h re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
rtlanal.c
rtlhooks-def.h
rtlhooks.c
sbitmap.c
sbitmap.h
sched-deps.c re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
sched-ebb.c
sched-int.h
sched-rgn.c common.opt (fsched2-use-traces): Preserved for backward compatibility. 2010-02-09 19:51:30 +03:00
sched-vis.c
sdbout.c
sdbout.h
sel-sched-dump.c reorg.c (delete_computation): Comment fixes. 2010-02-14 12:58:16 +00:00
sel-sched-dump.h
sel-sched-ir.c
sel-sched-ir.h
sel-sched.c
sel-sched.h
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 re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
sparseset.c
sparseset.h
sreal.c
sreal.h
ssaexpand.h
stab.def
stack-ptr-mod.c
statistics.c
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
stringpool.c
stub-objc.c
sync-builtins.def
system.h
target-def.h re PR debug/43293 (Invalid unwind info for i?86 -fpic) 2010-03-24 21:44:48 +01:00
target.h re PR debug/43293 (Invalid unwind info for i?86 -fpic) 2010-03-24 21:44:48 +01:00
targhooks.c
targhooks.h
timevar.c
timevar.def
timevar.h
tlink.c
toplev.c re PR debug/43293 (Invalid unwind info for i?86 -fpic) 2010-03-24 21:44:48 +01:00
toplev.h toplev.h (inform_n, error_n): Declare. 2010-03-01 09:56:41 +00:00
tracer.c
tree-affine.c
tree-affine.h
tree-browser.c
tree-browser.def
tree-call-cdce.c
tree-cfg.c re PR tree-optimization/43379 (ICE: error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set with -O2 -ftracer) 2010-03-16 12:31:38 +00:00
tree-cfgcleanup.c re PR tree-optimization/43402 (dom1 miscompiles binary search) 2010-03-18 12:20:50 +00:00
tree-chrec.c Fix PR43306: correct evolution_function_right_is_integer_cst. 2010-03-13 17:34:59 +00:00
tree-chrec.h
tree-complex.c
tree-data-ref.c
tree-data-ref.h
tree-dfa.c
tree-dump.c
tree-dump.h
tree-eh.c re PR middle-end/43365 (Destructor not called when returning in exception handler) 2010-03-16 16:02:35 -07:00
tree-flow-inline.h
tree-flow.h
tree-if-conv.c
tree-inline.c re PR middle-end/42450 (another GCC 4.5 ICE on C++ templated code) 2010-03-18 21:07:13 +01:00
tree-inline.h
tree-into-ssa.c
tree-iterator.c
tree-iterator.h
tree-loop-distribution.c re PR tree-optimization/43236 (-ftree-loop-distribution produces wrong code in reload1.c:delete_output_reload(), bootstrap fails) 2010-03-10 15:53:51 +03: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
tree-mudflap.h
tree-nested.c
tree-nomudflap.c
tree-nrv.c
tree-object-size.c
tree-optimize.c
tree-outof-ssa.c re PR middle-end/43300 (ICE: in emit_move_insn, at expr.c:3432) 2010-03-15 16:13:28 +00:00
tree-parloops.c
tree-pass.h
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-pretty-print.c
tree-profile.c
tree-scalar-evolution.c
tree-scalar-evolution.h
tree-sra.c re PR tree-optimization/43347 (Warning about symbols generated by SRA being used uninitialized) 2010-03-17 13:02:35 +01:00
tree-ssa-address.c
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
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-copy.c
tree-ssa-copyrename.c
tree-ssa-dce.c
tree-ssa-dom.c
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
tree-ssa-ifcombine.c
tree-ssa-live.c
tree-ssa-live.h
tree-ssa-loop-ch.c
tree-ssa-loop-im.c
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
tree-ssa-loop-niter.c
tree-ssa-loop-prefetch.c
tree-ssa-loop-unswitch.c
tree-ssa-loop.c
tree-ssa-math-opts.c re PR tree-optimization/43280 (gcc4.5 -m32 -O2: misoptimizes sha256!) 2010-03-11 13:51:00 +00:00
tree-ssa-operands.c
tree-ssa-operands.h
tree-ssa-phiopt.c
tree-ssa-phiprop.c
tree-ssa-pre.c re PR tree-optimization/43415 (Consumes large amounts of memory and time in PRE at -O3) 2010-03-19 10:18:25 +00:00
tree-ssa-propagate.c
tree-ssa-propagate.h
tree-ssa-reassoc.c
tree-ssa-sccvn.c
tree-ssa-sccvn.h
tree-ssa-sink.c
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
tree-ssa-threadedge.c
tree-ssa-threadupdate.c
tree-ssa-uncprop.c
tree-ssa.c
tree-ssanames.c
tree-stdarg.c
tree-stdarg.h
tree-switch-conversion.c
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
tree-vect-generic.c
tree-vect-loop-manip.c
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
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 middle-end/43390 (ICE: integral result type precision does not match field size of BIT_FIELD_REF) 2010-03-22 12:39:04 +00:00
tree-vectorizer.c
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 re PR middle-end/43255 (ICE in extract_range_from_assert, at tree-vrp.c:1423) 2010-03-11 15:08:24 +00:00
tree.c re PR tree-optimization/43257 (IPA-SRA changes DECL_ASSEMBLER_NAME) 2010-03-11 23:27:26 +01:00
tree.def
tree.h tree.h: Declare make_decl_rtl_for_debug. 2010-03-18 20:41:40 +00:00
treestruct.def
tsystem.h
typeclass.h
unwind-c.c
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-darwin.c
unwind-dw2-fde-glibc.c
unwind-dw2-fde.c
unwind-dw2-fde.h
unwind-dw2.c
unwind-dw2.h
unwind-generic.h
unwind-pe.h
unwind-sjlj.c
unwind.inc
value-prof.c
value-prof.h
var-tracking.c re PR debug/43443 (We should yank ASM_OPERANDS locs from var-tracking preserved cselib VALUEs) 2010-03-22 11:26:33 +01:00
varasm.c re PR target/38118 (gcc emits non-TLS data as TLS on Solaris 11/SPARC) 2010-03-24 18:49:49 +00:00
varpool.c re PR c++/12909 (ambiguity in mangling vector types) 2010-03-03 14:01:58 -05:00
varray.c
varray.h
vec.c
vec.h
vecprim.h
version.c
version.h
vmsdbg.h
vmsdbgout.c
web.c
xcoff.h
xcoffout.c
xcoffout.h

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.