gcc/gcc
Steven Bosscher 2c895bd193 rtl.h (print_insn_with_notes): Remove prototype.
* rtl.h (print_insn_with_notes): Remove prototype.
	(rtl_dump_bb_for_graph): New prototype.
	* sched-vis.c (print_insn_with_notes): Make static again.  Fix
	printing of notes.
	(rtl_dump_bb_for_graph): New function.
	* cfghooks.h (struct cfg_hooks) <dump_bb_for_graph>: New hook.
	(dump_bb_for_graph): New prototype.
	* cfghooks.c (dump_bb_for_graph): New function.
	* tree-cfg.c (gimple_cfg_hooks): Register gimple_dump_bb_for_graph
	as dump_bb_for_graph hook implementation for GIMPLE.
	* cfgrtl.c (rtl_cfg_hooks): Likewise for rtl_dump_bb_for_graph.
	(cfg_layout_rtl_cfg_hooks): Likewise.
	* graph.c (draw_cfg_node): Don't include sbitmap.h, rtl.h, tree.h,
	gimple.h, and gimple-pretty-print.h.
	(draw_cfg_node, draw_cfg_node_succ_edges): Use the uniqe function
	definition number instead of the function declaration UID.
	(print_graph_cfg): Take a struct function instead of a tree.
	Use the dump_bb_for_graph hook to dump the basic block content.
	* graph.h (print_graph_cfg): Update prototype.
	* passes.c (execute_function_dump): Update print_graph_cfg call.
	* Makefile.in (graph.o): Fixup dependencies.

From-SVN: r194157
2012-12-04 18:38:26 +00:00
..
ada re PR ada/52110 (s-osinte.ads:447:09: "clockid_t" conflicts with declaration at line 194) 2012-12-01 19:43:04 +00:00
c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
c-family Fix PR c/55570. 2012-12-03 13:02:04 +00:00
common Update copyright 2012-10-26 19:12:45 +00:00
config AArch64: Fix ICE due to missing TYPE_STUB_DECL on builtin va_list. 2012-12-04 14:52:50 +00:00
cp re PR c++/54170 (Call to lambda elided) 2012-12-03 16:01:32 +00:00
doc arm.opt (cirrus-fix-invalid-insns): Delete option. 2012-12-04 13:45:53 +00:00
fortran re PR fortran/55548 (SYSTEM_CLOCK with integer(8) provides nanosecond resolution, but only microsecond precision (without -lrt)) 2012-12-03 23:06:41 +01:00
ginclude
go compiler: Give error for constant inverted slice range. 2012-12-04 09:09:56 +00:00
java This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
lto Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
objc Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
objcp
po
testsuite quad_3.f90: Really fix an if condition. 2012-12-04 17:44:00 +01:00
ABOUT-GCC-NLS
BASE-VER
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog.dataflow
ChangeLog.graphite
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
DATESTAMP Daily bump. 2012-12-04 00:18:53 +00:00
DEV-PHASE
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES
Makefile.in rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
ONEWS
README.Portability
acinclude.m4
aclocal.m4
addresses.h
alias.c re PR rtl-optimization/55489 (insane PRE memory usage with PIE (translate.i)) 2012-11-27 20:29:15 +00:00
alias.h
alloc-pool.c Change hash_table to support a comparator type different from the value type stored in the hash table. 2012-10-25 21:45:28 +00:00
alloc-pool.h
asan.c re PR sanitizer/55439 (ThreadSanitizer: handle atomic operations) 2012-12-04 14:20:20 +01:00
asan.h sanitizer.def: Add Address Sanitizer builtins. 2012-12-03 18:28:10 +01:00
attribs.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
auto-inc-dec.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
basic-block.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
bb-reorder.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
bb-reorder.h
bitmap.c
bitmap.h This patch renames sbitmap iterators to unify them with the bitmap iterators. 2012-11-01 21:02:15 +00:00
bt-load.c This patch renames sbitmap iterators to unify them with the bitmap iterators. 2012-11-01 21:02:15 +00:00
builtin-attrs.def
builtin-types.def re PR sanitizer/55439 (ThreadSanitizer: handle atomic operations) 2012-12-04 14:20:20 +01:00
builtins.c re PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)) 2012-11-26 03:22:15 +00:00
builtins.def sanitizer.def: Add Address Sanitizer builtins. 2012-12-03 18:28:10 +01:00
builtins.h
caller-save.c
calls.c re PR middle-end/55321 (Ada bootstrap failure on armv5tel-linux-gnueabi) 2012-11-29 22:58:23 +00:00
cfg-flags.def tm: Add uninstrumented code path 2012-11-06 15:55:39 -08:00
cfg.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
cfganal.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
cfgbuild.c This patch normalizes more bitmap function names. 2012-11-01 19:23:35 +00:00
cfgcleanup.c re PR debug/55094 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2224) 2012-11-20 09:38:11 +01:00
cfgexpand.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
cfghooks.c rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
cfghooks.h rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
cfgloop.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
cfgloop.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
cfgloopanal.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
cfgloopmanip.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
cfgrtl.c rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
cgraph.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
cgraph.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
cgraphbuild.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
cgraphclones.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
cgraphunit.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
cif-code.def
collect2-aix.c
collect2-aix.h
collect2.c collect2.c (main): Call find_file_set_debug. 2012-11-27 16:55:47 +00:00
collect2.h
combine-stack-adj.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
combine.c Makefile.in (recog.o): Add insn-codes.h. 2012-11-18 17:33:38 +00:00
common.opt invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
compare-elim.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
conditions.h
config.build
config.gcc t-linux: New file; define MULTIARCH_DIRNAME. 2012-11-21 23:33:40 +00:00
config.host
config.in Add support for sparc fused compare-and-branch. 2012-11-15 13:24:22 -08:00
configure configure.ac (multiarch): Use $enableval instead of $withval. 2012-11-24 02:25:50 +00:00
configure.ac configure.ac (multiarch): Use $enableval instead of $withval. 2012-11-24 02:25:50 +00:00
convert.c
convert.h
coretypes.h coretypes.h (struct pretty_print_info): Make a coretype. 2012-11-30 09:46:02 +00:00
coverage.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
coverage.h
cppbuiltin.c Define __SANITIZE_ADDRESS__ for -fsanitize=address 2012-11-21 12:20:42 -08:00
cppbuiltin.h
cppdefault.c invoke.texi: Document -print-multiarch. 2012-11-14 21:29:15 +00:00
cppdefault.h invoke.texi: Document -print-multiarch. 2012-11-14 21:29:15 +00:00
cprop.c re PR middle-end/54838 (ICE: in merge_latch_edges, at cfgloop.c:678 with -ftracer) 2012-12-02 20:16:09 +00:00
cse.c gcse.c (struct reg_use): Remove unused struct. 2012-12-03 23:28:42 +00:00
cselib.c re PR debug/36728 ([stack]: gdb doesn't work with stack alignment) 2012-11-29 00:01:03 +01:00
cselib.h re PR middle-end/54921 (wrong code with -Os -fno-omit-frame-pointer -fsched2-use-superblocks -fstack-protector -ftree-slp-vectorize) 2012-11-20 09:34:43 +01:00
cstamp-h.in
data-streamer-in.c
data-streamer-out.c
data-streamer.c
data-streamer.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
dbgcnt.c
dbgcnt.def
dbgcnt.h
dbxout.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
dbxout.h
dce.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
dce.h
ddg.c invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
ddg.h
debug.c
debug.h
defaults.h defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition. 2012-10-30 19:07:28 +00:00
df-core.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
df-problems.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
df-scan.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
df.h
dfp.c
dfp.h
diagnostic-core.h
diagnostic.c diagnostic.c (diagnostic_append_note): Also call va_end when inhibit_notes_p is true. 2012-11-12 12:00:58 +01:00
diagnostic.def
diagnostic.h re PR c++/54928 (Infinite output with after ICE with macro) 2012-10-24 22:01:50 +00:00
dojump.c
dominance.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
domwalk.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
domwalk.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
double-int.c
double-int.h
dse.c re PR other/55358 (Valgrind errors) 2012-11-28 17:49:35 +01:00
dumpfile.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
dumpfile.h re PR other/55164 (-fdump-*-all not working) 2012-11-01 17:55:23 +00:00
dwarf2asm.c
dwarf2asm.h
dwarf2cfi.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
dwarf2out.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
dwarf2out.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
emit-rtl.c ipa-prop.c (ipa_modify_call_arguments): Set loc correctly. 2012-11-27 16:16:10 +00:00
emit-rtl.h
errors.c
errors.h
et-forest.c
et-forest.h
except.c function.h (struct rtl_data): Remove epilogue_delay_list. 2012-12-02 15:43:16 +00:00
except.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
exec-tool.in
explow.c
expmed.c re PR middle-end/55438 (tmpdir-gcc.dg-struct-layout-1/t001 - t028, gcc.c-torture/execute/991118-1.c, gcc.c-torture/execute/bf64-1.c, ICE) 2012-11-28 20:13:22 +00:00
expmed.h
expr.c expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here. 2012-11-18 17:31:38 +00:00
expr.h Makefile.in (recog.o): Add insn-codes.h. 2012-11-18 17:33:38 +00:00
file-find.c collect2.c (main): Call find_file_set_debug. 2012-11-27 16:55:47 +00:00
file-find.h collect2.c (main): Call find_file_set_debug. 2012-11-27 16:55:47 +00:00
final.c function.h (struct rtl_data): Remove epilogue_delay_list. 2012-12-02 15:43:16 +00:00
fixed-value.c
fixed-value.h
flag-types.h invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
flags.h invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
fold-const.c re PR c++/53094 (constexpr vector subscripting) 2012-11-29 15:40:16 +00:00
fp-test.c
function.c re PR middle-end/52650 (FAIL: gcc.dg/torture/pr51106-2.c * (internal compiler error)) 2012-11-27 14:38:32 +01:00
function.h function.h (struct rtl_data): Remove epilogue_delay_list. 2012-12-02 15:43:16 +00:00
fwprop.c optabs.c (add_equal_note): Do not create self-referencing REG_EQUAL notes. 2012-12-02 15:46:26 +00:00
gcc-ar.c collect2.c (main): Call find_file_set_debug. 2012-11-27 16:55:47 +00:00
gcc-plugin.h
gcc.c builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins. 2012-11-22 21:56:58 +00:00
gcc.h
gcov-dump.c
gcov-io.c Revised patch to ensure that histograms from the profile summary are streamed... 2012-11-30 16:47:04 +00:00
gcov-io.h Revised patch to ensure that histograms from the profile summary are streamed... 2012-11-30 16:47:04 +00:00
gcov-iov.c
gcov.c
gcse.c gcse.c (struct reg_use): Remove unused struct. 2012-12-03 23:28:42 +00:00
gcse.h
gdbinit.in
genattr-common.c
genattr.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
genattrtab.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
genautomata.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
gencheck.c
genchecksum.c
gencodes.c
genconditions.c
genconfig.c
genconstants.c
genemit.c
genenums.c
genextract.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
genflags.c
gengenrtl.c
gengtype-lex.l This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
gengtype-parse.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
gengtype-state.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
gengtype.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
gengtype.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
genhooks.c
genmddeps.c
genmddump.c Adding missed in r194086 file. 2012-12-03 13:59:38 +00:00
genmodes.c
genmultilib invoke.texi: Document -print-multiarch. 2012-11-14 21:29:15 +00:00
genopinit.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
genoutput.c
genpeep.c
genpreds.c
genrecog.c
gensupport.c gensupport.c (maybe_eval_c_test): Remove not-null check for expr. 2012-11-30 08:43:07 +00:00
gensupport.h
ggc-common.c re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32) 2012-12-03 08:05:26 +01:00
ggc-internal.h
ggc-none.c
ggc-page.c
ggc-zone.c
ggc.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
gimple-fold.c gimple-fold.c (fold_stmt_1): Remove unnecessary code. 2012-11-27 12:06:52 +00:00
gimple-fold.h
gimple-iterator.c
gimple-low.c re PR c++/54046 (wrong control reaches end of non-void function for switch case with throw and default) 2012-11-23 17:04:03 +01:00
gimple-pretty-print.c rtl.h (print_insn_with_notes): Prototype. 2012-12-03 13:16:55 +00:00
gimple-pretty-print.h rtl.h (print_insn_with_notes): Prototype. 2012-12-03 13:16:55 +00:00
gimple-ssa-strength-reduction.c re PR tree-optimization/55350 (verify_gimple failed with invalid (pointer) operands to plus/minus) 2012-11-20 18:28:09 +00:00
gimple-streamer-in.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
gimple-streamer-out.c
gimple-streamer.h
gimple.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
gimple.def
gimple.h re PR c/35634 (operand of pre-/postin-/decrement not promoted) 2012-11-28 09:27:10 +00:00
gimplify.c re PR c/35634 (operand of pre-/postin-/decrement not promoted) 2012-11-28 09:27:10 +00:00
glimits.h
godump.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graph.c rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
graph.h rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
graphds.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
graphds.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-blocking.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-clast-to-gimple.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-clast-to-gimple.h
graphite-dependences.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-interchange.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-optimize-isl.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-poly.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-poly.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-scop-detection.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
graphite-scop-detection.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-sese-to-poly.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
graphite-sese-to-poly.h
graphite.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
gsstruct.def
gstab.h
gsyms.h
gsyslimits.h
gtm-builtins.def
haifa-sched.c coretypes.h (struct pretty_print_info): Make a coretype. 2012-11-30 09:46:02 +00:00
hard-reg-set.h
hash-table.c
hash-table.h Change hash_table to support a comparator type different from the value type stored in the hash table. 2012-10-25 21:45:28 +00:00
highlev-plugin-common.h
hooks.c md.texi (Defining Attributes): Document that we are defining HAVE_ATTR_name macors as 1 for defined attributes... 2012-11-05 15:18:10 +00:00
hooks.h md.texi (Defining Attributes): Document that we are defining HAVE_ATTR_name macors as 1 for defined attributes... 2012-11-05 15:18:10 +00:00
host-default.c
hosthooks-def.h
hosthooks.h
hw-doloop.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
hw-doloop.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
hwint.c
hwint.h
ifcvt.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
incpath.c invoke.texi: Document -print-multiarch. 2012-11-14 21:29:15 +00:00
incpath.h
init-regs.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
input.c
input.h
insn-addr.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
insn-notes.def
internal-fn.c
internal-fn.def
internal-fn.h
intl.c
intl.h
ipa-cp.c ipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to do_clone_for_all_contexts. 2012-11-21 18:13:48 +01:00
ipa-inline-analysis.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
ipa-inline-transform.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
ipa-inline.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
ipa-inline.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ipa-prop.c re PR middle-end/52890 (Revision 185336 causes 10% degradation on cpu2000 benchmark 252.eon) 2012-11-30 17:11:33 +01:00
ipa-prop.h ipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to do_clone_for_all_contexts. 2012-11-21 18:13:48 +01:00
ipa-pure-const.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ipa-ref-inline.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ipa-ref.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ipa-ref.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ipa-reference.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ipa-reference.h
ipa-split.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
ipa-utils.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
ipa-utils.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ipa.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ira-build.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
ira-color.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ira-conflicts.c
ira-costs.c rtl.h (CONST_SCALAR_INT_P): New macro. 2012-11-09 13:18:49 +00:00
ira-emit.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ira-int.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
ira-lives.c rtl.h (CONST_SCALAR_INT_P): New macro. 2012-11-09 13:18:49 +00:00
ira.c rtl.h (debug_bb_n_slim, [...]): Remove prototypes. 2012-11-27 22:26:15 +00:00
ira.h
is-a.h This patch implements generic type query and conversion functions, 2012-10-31 23:15:10 +00:00
jump.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
langhooks-def.h re PR c++/54046 (wrong control reaches end of non-void function for switch case with throw and default) 2012-11-23 17:04:03 +01:00
langhooks.c
langhooks.h re PR c++/54046 (wrong control reaches end of non-void function for switch case with throw and default) 2012-11-23 17:04:03 +01:00
lcm.c This patch normalizes more bitmap function names. 2012-11-01 19:23:35 +00:00
libfuncs.h
limitx.h
limity.h
lists.c
loop-doloop.c
loop-init.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
loop-invariant.c loop-invariant.c (check_invariant_table_size): Take sizeof of the right type. 2012-11-27 00:17:25 +00:00
loop-iv.c
loop-unroll.c re PR rtl-optimization/55006 (aermod.f90 is miscompiled with '-m64 -O2 -funroll-loops' after revision 192526) 2012-11-28 00:17:34 +00:00
loop-unswitch.c
lower-subreg.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
lower-subreg.h
lra-assigns.c re PR rtl-optimization/55512 (Various LRA ICEs with inline-asm) 2012-11-28 17:42:39 +00:00
lra-coalesce.c Remove trailing white spaces 2012-10-29 14:56:35 -07:00
lra-constraints.c re PR middle-end/55456 (454.calculix in SPEC CPU 2006 is miscompiled) 2012-11-29 19:00:38 +00:00
lra-eliminations.c lra-eliminations.c (lra_eliminate_regs_1): Use simplify_gen_subreg rather than gen_rtx_SUBREG. 2012-10-30 14:33:48 +00:00
lra-int.h re PR middle-end/55456 (454.calculix in SPEC CPU 2006 is miscompiled) 2012-11-29 19:00:38 +00:00
lra-lives.c re PR middle-end/55430 (LRA miscompilation of ree.c) 2012-11-23 01:29:07 +00:00
lra-spills.c Remove trailing white spaces 2012-10-29 14:56:35 -07:00
lra.c re PR middle-end/55456 (454.calculix in SPEC CPU 2006 is miscompiled) 2012-11-29 19:00:38 +00:00
lra.h
lto-cgraph.c re PR gcov-profile/55551 (Revision 193999 breaks lto/profiledbootstrap) 2012-12-02 16:40:28 +00:00
lto-compress.c
lto-compress.h
lto-opts.c Handle OPT_SPECIAL_XXX in LTO 2012-11-27 05:56:31 -08:00
lto-section-in.c re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement) 2012-11-07 16:55:54 +01:00
lto-section-out.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
lto-streamer-in.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
lto-streamer-out.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
lto-streamer.c
lto-streamer.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
lto-symtab.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
lto-wrapper.c Handle OPT_SPECIAL_XXX in LTO 2012-11-27 05:56:31 -08:00
machmode.def
machmode.h machmode.h (bit_field_mode_iterator): New class. 2012-11-18 17:33:01 +00:00
main.c
mcf.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
mkconfig.sh
mode-classes.def
mode-switching.c mode-switching.c (create_pre_exit): Use NONDEBUG_INSN_P. 2012-11-13 18:22:04 +01:00
modulo-sched.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
omega.c
omega.h
omp-builtins.def
omp-low.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
opt-functions.awk optc-gen.awk: Factor code out to... 2012-11-07 18:11:01 +00:00
opt-gather.awk
opt-include.awk
opt-read.awk
optabs.c optabs.c (add_equal_note): Do not create self-referencing REG_EQUAL notes. 2012-12-02 15:46:26 +00:00
optabs.def gcc/ 2012-11-18 17:34:06 +00:00
optabs.h Makefile.in (recog.o): Add insn-codes.h. 2012-11-18 17:33:38 +00:00
optc-gen.awk optc-gen.awk: Factor code out to... 2012-11-07 18:11:01 +00:00
optc-save-gen.awk
opth-gen.awk
opts-common.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
opts-diagnostic.h
opts-global.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
opts.c invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
opts.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
output.h
params.c
params.def predict.c (maybe_hot_count_p): Use threshold from profiled working set instead of hard limit. 2012-11-23 08:49:43 +00:00
params.h
passes.c rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
plugin.c
plugin.def
plugin.h
pointer-set.c re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32) 2012-12-03 07:56:16 +01:00
pointer-set.h
postreload-gcse.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
postreload.c re PR middle-end/55263 (ICE: pre_and_rev_post_order_compute, at cfganal.c:875 with -O -fgcse-after-reload -fnon-call-exceptions) 2012-11-11 20:29:11 +00:00
predict.c predict.c (maybe_hot_count_p): Use threshold from profiled working set instead of hard limit. 2012-11-23 08:49:43 +00:00
predict.def
predict.h
prefix.c re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32) 2012-11-29 19:40:27 +01:00
prefix.h
pretty-print.c coretypes.h (struct pretty_print_info): Make a coretype. 2012-11-30 09:46:02 +00:00
pretty-print.h coretypes.h (struct pretty_print_info): Make a coretype. 2012-11-30 09:46:02 +00:00
print-rtl.c invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
print-tree.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
profile.c Revised patch to ensure that histograms from the profile summary are streamed... 2012-11-30 16:47:04 +00:00
profile.h Revised patch to ensure that histograms from the profile summary are streamed... 2012-11-30 16:47:04 +00:00
read-md.c
read-md.h
read-rtl.c gensupport.c (maybe_eval_c_test): Remove not-null check for expr. 2012-11-30 08:43:07 +00:00
real.c
real.h
realmpfr.c
realmpfr.h
recog.c Makefile.in (recog.o): Add insn-codes.h. 2012-11-18 17:33:38 +00:00
recog.h
ree.c * ree.c (struct ext_modified): Add ATTRIBUTE_PACKED. 2012-11-22 11:09:15 +01:00
reg-notes.def
reg-stack.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
regcprop.c This patch normalizes more bitmap function names. 2012-11-01 19:23:35 +00:00
reginfo.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
regmove.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
regrename.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
regrename.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
regs.h
regset.h
regstat.c
reload.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
reload.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
reload1.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
reorg.c function.h (struct rtl_data): Remove epilogue_delay_list. 2012-12-02 15:43:16 +00:00
resource.c
resource.h
rtl-error.c
rtl-error.h
rtl.c
rtl.def md.texi: Document define_subst. 2012-11-19 10:19:20 +00:00
rtl.h rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
rtlanal.c re PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)) 2012-11-26 03:22:15 +00:00
rtlhooks-def.h
rtlhooks.c
sanitizer.def re PR sanitizer/55439 (ThreadSanitizer: handle atomic operations) 2012-12-04 14:20:20 +01:00
sbitmap.c This patch removes the unused ebitmap, and then removes some sbitmap functions only used by ebitmap. 2012-11-01 22:39:26 +00:00
sbitmap.h This patch removes the unused ebitmap, and then removes some sbitmap functions only used by ebitmap. 2012-11-01 22:39:26 +00:00
sched-deps.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
sched-ebb.c
sched-int.h invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
sched-rgn.c This patch renames sbitmap iterators to unify them with the bitmap iterators. 2012-11-01 21:02:15 +00:00
sched-vis.c rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
sdbout.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
sdbout.h
sel-sched-dump.c coretypes.h (struct pretty_print_info): Make a coretype. 2012-11-30 09:46:02 +00:00
sel-sched-dump.h
sel-sched-ir.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
sel-sched-ir.h Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
sel-sched.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
sel-sched.h
sese.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
sese.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
simplify-rtx.c re PR tree-optimization/55052 (vect-widening tests are failing and giving wrong results) 2012-11-28 21:45:03 +00:00
sparseset.c
sparseset.h
sreal.c
sreal.h
ssaexpand.h
stab.def
stack-ptr-mod.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
statistics.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
statistics.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
stmt.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
stor-layout.c stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Deal with degenerate cases where the bitsize isn't positive. 2012-11-30 22:36:07 +00:00
store-motion.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
streamer-hooks.c
streamer-hooks.h
stringpool.c
symtab.c This patch implements generic type query and conversion functions, 2012-10-31 23:15:10 +00:00
sync-builtins.def
system.h tm.texi.in (DELAY_SLOTS_FOR_EPILOGUE): Remove documentation. 2012-11-25 00:05:33 +00:00
target-def.h
target-globals.c target-globals.c (save_target_globals): Save lra_int struct. 2012-11-01 23:11:50 +00:00
target-globals.h
target-hooks-macros.h
target.def target.def (use_blocks_for_decl_p): New hook. 2012-11-28 15:22:58 -05:00
target.h
targhooks.c
targhooks.h
timevar.c
timevar.def
timevar.h
tlink.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
toplev.c invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
toplev.h
tracer.c This patch normalizes more bitmap function names. 2012-11-01 19:23:35 +00:00
trans-mem.c re PR middle-end/55401 (uninstrumented path in TM clones are still instrumented) 2012-12-03 16:11:21 +00:00
trans-mem.h tm: Add uninstrumented code path 2012-11-06 15:55:39 -08:00
tree-affine.c
tree-affine.h
tree-browser.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-browser.def
tree-call-cdce.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-cfg.c rtl.h (print_insn_with_notes): Remove prototype. 2012-12-04 18:38:26 +00:00
tree-cfgcleanup.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-chrec.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-chrec.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-complex.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-data-ref.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-data-ref.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-dfa.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-diagnostic.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-diagnostic.h
tree-dump.c re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32) 2012-12-03 08:02:17 +01:00
tree-dump.h
tree-eh.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-emutls.c tree.h (DECL_RESTRICTED_P): Delete. 2012-11-26 13:56:23 +00:00
tree-flow-inline.h
tree-flow.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-if-conv.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-inline.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-inline.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-into-ssa.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-iterator.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-iterator.h
tree-loop-distribution.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-mudflap.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-mudflap.h
tree-nested.c
tree-nomudflap.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-nrv.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-object-size.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-optimize.c invoke.texi: Remove -dv documentation. 2012-11-26 16:47:58 +00:00
tree-outof-ssa.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-parloops.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-pass.h builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins. 2012-11-22 21:56:58 +00:00
tree-phinodes.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-predcom.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-pretty-print.c rtl.h (print_insn_with_notes): Prototype. 2012-12-03 13:16:55 +00:00
tree-pretty-print.h
tree-profile.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-scalar-evolution.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-scalar-evolution.h
tree-sra.c re PR middle-end/52890 (Revision 185336 causes 10% degradation on cpu2000 benchmark 252.eon) 2012-11-30 17:11:33 +01:00
tree-ssa-address.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-alias.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-alias.h
tree-ssa-ccp.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-coalesce.c re PR middle-end/54630 (GCC 4.8 --enable-languages=c build fails: Undefined symbols: ___cxa_guard_acquire and ___cxa_guard_release) 2012-11-19 14:44:15 +01:00
tree-ssa-copy.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-ssa-copyrename.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-ssa-dce.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-dom.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-dse.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-ssa-forwprop.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-ifcombine.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-ssa-live.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-live.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-loop-ch.c re PR debug/54693 (VTA guality issues with loops) 2012-11-07 08:50:01 +01:00
tree-ssa-loop-im.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-loop-ivcanon.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-loop-ivopts.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-loop-manip.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-loop-niter.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-loop-prefetch.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-loop-unswitch.c
tree-ssa-loop.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-ssa-math-opts.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-operands.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-operands.h
tree-ssa-phiopt.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-phiprop.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-pre.c re PR tree-optimization/55124 (ICE in find_or_generate_expression, at tree-ssa-pre.c:2803) 2012-12-04 09:19:05 +00:00
tree-ssa-propagate.c re PR middle-end/55266 (vector expansion: 24 movs for 4 adds) 2012-11-28 10:11:27 +00:00
tree-ssa-propagate.h
tree-ssa-reassoc.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-sccvn.c tree-ssa-sccvn.c (run_scc_vn): Remove iteration propagating value_ids. 2012-11-30 10:58:22 +00:00
tree-ssa-sccvn.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-sink.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-ssa-strlen.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-structalias.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-tail-merge.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-ter.c
tree-ssa-threadedge.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa-threadupdate.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-uncprop.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-ssa-uninit.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-ssa.c tree-ssa.c (warn_uninitialized_var): Use OPT_Wmaybe_uninitialized tag in the non-always executed case. 2012-12-03 12:08:35 +00:00
tree-ssanames.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-stdarg.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-stdarg.h
tree-streamer-in.c tree.h (DECL_RESTRICTED_P): Delete. 2012-11-26 13:56:23 +00:00
tree-streamer-out.c tree.h (DECL_RESTRICTED_P): Delete. 2012-11-26 13:56:23 +00:00
tree-streamer.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-streamer.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-switch-conversion.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-tailcall.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
tree-vect-data-refs.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-vect-generic.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-vect-loop-manip.c re PR c/35634 (operand of pre-/postin-/decrement not promoted) 2012-11-28 09:27:10 +00:00
tree-vect-loop.c re PR tree-optimization/55110 (Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633) 2012-11-27 14:34:11 +01:00
tree-vect-patterns.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-vect-slp.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-vect-stmts.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
tree-vectorizer.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-vectorizer.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
tree-vrp.c re PR tree-optimization/54547 (FAIL: gcc.dg/tree-ssa/pr37508.c scan-tree-dump-times vrp1 "Folding" 3) 2012-11-28 12:18:39 +00:00
tree.c fold-const.c (const_binop): Adjust comment. 2012-11-26 12:01:07 +00:00
tree.def
tree.h tree.h (DECL_RESTRICTED_P): Delete. 2012-11-26 13:56:23 +00:00
treestruct.def
tsan.c tsan.c (instrument_expr): If expr_ptr isn't a gimple val, first store it into a SSA_NAME. 2012-12-04 14:25:07 +01:00
tsan.h builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins. 2012-11-22 21:56:58 +00:00
tsystem.h
typeclass.h
valtrack.c re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily) 2012-10-30 23:47:35 +00:00
valtrack.h re PR debug/54953 (New sra-1.c FAILs on powerpc) 2012-10-30 09:08:01 +01:00
value-prof.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
value-prof.h This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
var-tracking.c re PR middle-end/54921 (wrong code with -Os -fno-omit-frame-pointer -fsched2-use-superblocks -fstack-protector -ftree-slp-vectorize) 2012-11-20 09:34:43 +01:00
varasm.c function.h (struct rtl_data): Remove epilogue_delay_list. 2012-12-02 15:43:16 +00:00
varpool.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
vec.c Introduce vNULL to use as a nil initializer for vec<>. 2012-11-20 16:21:30 -05:00
vec.h Fix bootstrap failure with --enable-gather-detailed-mem-stats. 2012-11-27 13:20:30 -05:00
version.c
version.h
vmsdbg.h
vmsdbgout.c This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'. 2012-11-17 21:54:30 -05:00
web.c invoke.texi: Update -fopt-info documentation. 2012-11-01 07:34:44 +00:00
xcoff.h
xcoffout.c xcoffout.c (xcoff_tls_data_section_name): Define. 2012-11-30 12:54:07 -05:00
xcoffout.h xcoffout.c (xcoff_tls_data_section_name): Define. 2012-11-30 12:54:07 -05: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.


Avoid unnecessary test before free
----------------------------------

Since SunOS 4 stopped being a reasonable portability target,
(which happened around 2007) there has been no need to guard
against "free (NULL)".  Thus, any guard like the following
constitutes a redundant test:

  if (P)
    free (P);

It is better to avoid the test.[*]
Instead, simply free P, regardless of whether it is NULL.

[*] However, if your profiling exposes a test like this in a
performance-critical loop, say where P is nearly always NULL, and
the cost of calling free on a NULL pointer would be prohibitively
high, consider using __builtin_expect, e.g., like this:

  if (__builtin_expect (ptr != NULL, 0))
    free (ptr);



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.