gcc/gcc
Eric Botcazou c80c1ce951 decl.c (Has_Thiscall_Convention): New macro.
* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
	(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
	calling convention
	(get_minimal_subprog_decl): Likewise.
	(gnat_first_param_is_class): New predicate.

	* gcc-interface/misc.c (gnat_handle_option): Fix formatting.
	* gcc-interface/Makefile.in: Likewise.

From-SVN: r187676
2012-05-19 09:32:50 +00:00
..
ada decl.c (Has_Thiscall_Convention): New macro. 2012-05-19 09:32:50 +00:00
c-family c.opt (--pedantic-errors,-pedantic-errors): Do not handle here. 2012-05-17 11:50:37 +00:00
common
config rs6000.c (print_operand): Revise code that unsafely relied on signed overflow behavior. 2012-05-18 16:01:17 +00:00
cp re PR c++/39681 (Compile error is not descriptive) 2012-05-17 18:54:37 +00:00
doc m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm. 2012-05-17 09:13:35 +00:00
fortran
ginclude
go compiler: Fix erroneous use of VEC. 2012-05-18 20:15:42 +00:00
java
lto lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. 2012-05-17 16:37:33 +00:00
objc re PR objc++/53388 (Removal of build_min_nt breaks bootstrap for objc++) 2012-05-17 15:28:53 +00:00
objcp
po
testsuite decl.c (gnat_to_gnu_entity): For an object at global level with unconstrained nominal subtype and a... 2012-05-18 20:33:49 +00:00
ABOUT-GCC-NLS
acinclude.m4 mmap.m4: Use *vms* instead of vms*. 2012-04-03 12:07:28 +00:00
aclocal.m4 mmap.m4: Use *vms* instead of vms*. 2012-04-03 12:07:28 +00:00
addresses.h tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument. 2011-11-08 17:36:45 +00:00
alias.c
alias.h re PR bootstrap/53021 (bootstrap failure on Linux/ia32) 2012-04-21 18:55:18 +00:00
alloc-pool.c
alloc-pool.h
attribs.c
auto-inc-dec.c rtl.h (set_src_cost, [...]): New functions. 2011-08-18 12:37:27 +00:00
BASE-VER BASE-VER: Set to 4.8.0. 2012-03-02 11:09:25 +00:00
basic-block.h basic-block.h (struct rtl_bb_info): Remove visited member and move head_ member to ... 2012-05-08 15:54:13 +00:00
bb-reorder.c
bb-reorder.h function.c (bb_active_p): Delete. 2011-11-09 11:50:14 +10:30
bitmap.c
bitmap.h
bt-load.c rtl.texi (simple_return): Document. 2011-08-27 17:38:58 +00:00
builtin-attrs.def attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
builtin-types.def
builtins.c
builtins.def
builtins.h Makefile.in (target-globals.o): Depend on builtins.h. 2010-07-12 19:03:35 +00:00
c-aux-info.c c-aux-info.c (gen_formal_list_for_type): Use prototype_p. 2010-12-22 19:45:58 +00:00
c-config-lang.in Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
c-convert.c
c-decl.c PR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokens 2012-05-16 12:51:15 +02:00
c-errors.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
c-lang.c ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. 2011-04-13 03:09:53 +00:00
c-lang.h
c-objc-common.c langhooks-def.h (lhd_init_options, [...]): New. 2010-07-27 10:59:51 +01:00
c-objc-common.h
c-parser.c PR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokens 2012-05-16 12:51:15 +02:00
c-tree.h PR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokens 2012-05-16 12:51:15 +02:00
c-typeck.c re PR c++/51033 (generic vector subscript and shuffle support was not added to C++) 2012-04-30 13:23:28 -04:00
caller-save.c attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
calls.c attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
cfg.c cfg.c (disconnect_src): Do df_mark_solutions_dirty in the right place. 2012-04-27 11:12:52 +00:00
cfganal.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
cfgbuild.c
cfgcleanup.c
cfgexpand.c rtl.h (plus_constant, [...]): Merge into a single plus_constant function. 2012-05-05 17:41:49 +00:00
cfghooks.c
cfghooks.h
cfglayout.c basic-block.h (struct rtl_bb_info): Remove visited member and move head_ member to ... 2012-05-08 15:54:13 +00:00
cfglayout.h
cfgloop.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
cfgloop.h re PR tree-optimization/44688 (Excessive code-size growth at -O3) 2012-04-18 11:33:51 +00:00
cfgloopanal.c
cfgloopmanip.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
cfgrtl.c basic-block.h (struct rtl_bb_info): Remove visited member and move head_ member to ... 2012-05-08 15:54:13 +00:00
cgraph.c lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. 2012-05-17 16:37:33 +00:00
cgraph.h lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. 2012-05-17 16:37:33 +00:00
cgraphbuild.c
cgraphclones.c
cgraphunit.c cgraphunit.c (varpool_finalize_decl): Allow external decls. 2012-05-18 11:44:52 +00:00
ChangeLog Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of $(libsubdir) as libexecsubdir. 2012-05-18 16:30:24 +00:00
ChangeLog-1997
ChangeLog-1998 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-1999
ChangeLog-2000 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2001
ChangeLog-2002 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
ChangeLog-2003
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 Fix nit 2010-03-26 09:51:32 +00:00
ChangeLog-2008
ChangeLog-2009 Add missing entry. 2011-06-01 14:31:00 +00:00
ChangeLog-2010
ChangeLog-2011 Fix ChangeLog record for 171649: 2012-03-05 15:01:48 +00:00
ChangeLog.dataflow
ChangeLog.graphite
ChangeLog.lib ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
cif-code.def cif-code.def (OVERWRITABLE): Fix typo and move around. 2011-07-19 20:20:27 +00:00
collect2-aix.c
collect2-aix.h Makefile.in (COLLECT2_OBJS): Add collect2-aix.o. 2009-06-02 19:06:56 +00:00
collect2.c
collect2.h collect2.c (may_unlink_output_file): New global. 2012-05-04 08:05:52 +00:00
combine-stack-adj.c
combine.c
common.opt c.opt (Wclobbered,Wempty-body,Wignored-qualifiers, [...]): Use EnabledBy. 2012-05-13 17:38:41 +00:00
compare-elim.c
conditions.h
config.build
config.gcc rs6000-opts.h (enum processor_type): Add PROCESSOR_PPC8548. 2012-05-16 08:43:41 +00:00
config.host 2012-03-16 Tristan Gingold <gingold@adacore.com> 2012-03-16 09:18:57 +00:00
config.in
configure Regenerate configure files for libtool.m4 change 2012-05-16 15:11:18 -07:00
configure.ac configure.ac: Stack protector enabling for Android targets. 2012-05-16 09:59:04 +00:00
convert.c
convert.h stdfix.h: New file. 2007-09-07 01:24:09 +00:00
COPYING
COPYING3 COPYING_v3: New file. 2007-07-17 08:37:53 +00:00
COPYING3.LIB COPYING_v3: New file. 2007-07-17 08:37:53 +00:00
COPYING.LIB Update FSF address. 2005-06-25 02:02:01 +00:00
coretypes.h basic-block.h (struct rtl_bb_info, [...]): Move in front of basic_block_def. 2012-05-03 14:34:07 +00:00
coverage.c
coverage.h gcov-io.h (struct gcov_info): Replace trailing array with pointer to array. 2011-12-04 18:27:19 +00:00
cppbuiltin.c
cppbuiltin.h
cppdefault.c
cppdefault.h Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
cppspec.c re PR preprocessor/48677 (cpp.exe broken ?) 2011-05-16 19:34:31 +01:00
cprop.c
cse.c re PR rtl-optimization/53352 (Incorrect CSE optimization on RTL expressions with a paradoxical subreg) 2012-05-18 09:04:38 +00:00
cselib.c re PR bootstrap/53249 (Bootstrap failure) 2012-05-09 09:22:57 +00:00
cselib.h
cstamp-h.in Initial revision 1997-08-11 09:56:58 -06:00
data-streamer-in.c
data-streamer-out.c
data-streamer.c
data-streamer.h
DATESTAMP Daily bump. 2012-05-19 00:18:29 +00:00
dbgcnt.c
dbgcnt.def dbgcnt.def (ira_move): New counter. 2012-04-12 12:53:17 +00:00
dbgcnt.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dbxout.c
dbxout.h Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
dce.c
dce.h
ddg.c
ddg.h
debug.c emit-rtl.c (try_split): Don't call copy_call_info debug hook. 2011-03-16 09:40:07 +01:00
debug.h
defaults.h tree.h (enum size_type_kind): Add stk_ prefix to constants, convert in lowercase. 2012-03-20 08:47:27 +00:00
DEV-PHASE gcc-version.m4: Delete. 2005-03-16 06:04:10 +00:00
df-core.c remove useless if-before-free tests 2011-04-20 18:19:03 +00:00
df-problems.c re PR debug/48866 (gcc hangs when -g is set) 2012-04-13 15:56:21 +00:00
df-scan.c
df.h re PR debug/48866 (gcc hangs when -g is set) 2012-04-13 15:56:21 +00:00
dfp.c
dfp.h
diagnostic-core.h
diagnostic.c
diagnostic.def ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
diagnostic.h
dojump.c
dominance.c
domwalk.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
domwalk.h
double-int.c re PR tree-optimization/53058 (Another ice in remove_range_assertions) 2012-04-25 13:35:38 +02:00
double-int.h re PR tree-optimization/53058 (Another ice in remove_range_assertions) 2012-04-25 13:35:38 +02:00
dse.c
dwarf2asm.c final.c, output.h (fprint_whex, [...]): New functions serving as fast replacements for fprintf() integer to string... 2011-11-10 23:00:39 -05:00
dwarf2asm.h This patch adds the end prologue and begin epilogue markers in Dwarf2 2010-06-16 19:40:46 +00:00
dwarf2cfi.c dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name. 2012-04-27 14:14:14 +00:00
dwarf2out.c
dwarf2out.h
ebitmap.c bitmap.c: Delete unnecessary includes. 2010-11-16 13:57:21 +00:00
ebitmap.h
emit-rtl.c
emit-rtl.h
errors.c
errors.h Makefile.in: Update dependencies. 2009-04-22 16:01:29 +00:00
et-forest.c
et-forest.h
except.c
except.h tree-pass.h (pass_rtl_eh): Remove. 2012-03-20 09:52:02 +00:00
exec-tool.in Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
explow.c
expmed.c rtl.h (plus_constant, [...]): Merge into a single plus_constant function. 2012-05-05 17:41:49 +00:00
expmed.h expmed.h (MAX_BITS_PER_WORD): Move to... 2010-07-13 19:48:58 +00:00
expr.c attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
expr.h expr.h (move_by_pieces_ninsns): Declare. 2012-01-02 13:56:36 +00:00
final.c final.c (final_scan_insn): Guard the call to begin_epilogue debug hook. 2011-12-13 13:41:12 +00:00
fixed-value.c diagnostic-core.h: Include bversion.h. 2010-11-30 11:41:24 +00:00
fixed-value.h
flag-types.h
flags.h flags.h (flag_permissive): Do not declare. 2012-05-03 22:28:21 +00:00
fold-const.c
fp-test.c
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
function.c
function.h coretypes.h (gimple_seq, [...]): Typedef as gimple. 2012-05-02 16:41:48 +00:00
fwprop.c fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs. 2012-04-10 13:50:43 +00:00
gcc-ar.c
gcc-plugin.h Include coretypes.h in gcc-plugin.h & Add hard-reg-set.h in FUNCTION_H. 2010-11-30 07:13:29 +00:00
gcc.c
gcc.h
gccspec.c
gcov-dump.c
gcov-io.c
gcov-io.h This patch adds functionality to libgcov to enable user applications to collect... 2012-05-08 21:22:28 +00:00
gcov-iov.c
gcov.c gcov.c (STRING_SIZE): Remove. 2012-01-11 18:58:30 +00:00
gcse.c recog.c (insn_invalid_p): Add IN_GROUP parameter and use validate_change to add clobbers if... 2012-04-24 07:01:52 +00:00
gcse.h
gdbinit.in Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
genattr-common.c
genattr.c rtl.def (ATTR_FLAG): Remove probability indicating flags. 2012-05-04 19:37:59 +00:00
genattrtab.c
genautomata.c
gencheck.c Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
genchecksum.c Build compiler checksum from object files v2 2010-10-11 13:06:50 +00:00
gencodes.c
genconditions.c
genconfig.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
genconstants.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
genemit.c genemit.c (gen_exp): Remove ADDRESS handling. 2012-04-16 18:52:05 +00:00
genenums.c
genextract.c hwint.c: New. 2010-11-30 16:36:19 +00:00
genflags.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
gengenrtl.c
gengtype-lex.l
gengtype-parse.c gengtype-state.c: Include "bconfig.h" if GENERATOR_FILE is defined, "config.h" otherwise. 2011-08-04 13:30:45 +02:00
gengtype-state.c
gengtype.c
gengtype.h
genhooks.c
genmddeps.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
genmodes.c re PR middle-end/52940 (conversion from MODE_PARTIAL_INT uses sign extension for unsigned types) 2012-04-26 14:20:39 +00:00
genmultilib genmultilib: Update copyright dates. 2012-05-09 11:52:11 +00:00
genopinit.c Delete VEC_EXTRACT_EVEN/ODD_EXPR. 2011-12-23 14:07:16 -08:00
genoutput.c
genpeep.c genemit.c (gen_exp): Remove ADDRESS handling. 2012-04-16 18:52:05 +00:00
genpreds.c
genrecog.c
gensupport.c
gensupport.h
ggc-common.c
ggc-internal.h
ggc-none.c
ggc-page.c
ggc-zone.c
ggc.h Reduce memory waste due to non-power-of-2 allocs 2011-10-17 12:00:07 +02:00
gimple-fold.c lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. 2012-05-17 16:37:33 +00:00
gimple-fold.h re PR tree-optimization/46562 (CCP currently needs iteration for &a[i]) 2011-03-24 11:23:29 +00:00
gimple-iterator.c basic-block.h (struct rtl_bb_info, [...]): Move in front of basic_block_def. 2012-05-03 14:34:07 +00:00
gimple-low.c coretypes.h (gimple_seq, [...]): Typedef as gimple. 2012-05-02 16:41:48 +00:00
gimple-pretty-print.c builtins.c (get_object_alignment_1): Return whether we can determine the alignment or conservatively assume byte... 2012-05-03 17:48:56 +02:00
gimple-pretty-print.h
gimple-streamer-in.c
gimple-streamer-out.c opts.c (finish_options): Do not fail for -fgnu-tm. 2011-11-22 18:37:16 +00:00
gimple-streamer.h rebase 2011-08-08 12:49:34 -04:00
gimple.c gimple.c (gimple_set_modified): Move ... 2012-05-15 09:20:37 +00:00
gimple.def Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
gimple.h gimple.c (gimple_set_modified): Move ... 2012-05-15 09:20:37 +00:00
gimplify.c gimplify.c (gimplify_init_constructor): Do a block move for very small objects as well. 2012-05-15 07:21:37 +00:00
glimits.h
godump.c
graph.c system.h: Include "safe-ctype.h" instead of <safe-ctype.h>. 2010-11-29 14:09:41 +00:00
graph.h Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
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 Fix PR47654: Loop blocking should strip-mine at least two loops. 2011-07-05 14:50:34 +00:00
graphite-clast-to-gimple.c
graphite-clast-to-gimple.h
graphite-cloog-compat.h re PR bootstrap/48102 (Bootstrap failure: error: macro "build_cloog_prog" requires 4 arguments, but only 3 given) 2011-03-14 09:18:52 +01:00
graphite-cloog-util.c Do not include unnecessary .h files. 2010-12-28 17:09:16 +00:00
graphite-cloog-util.h
graphite-dependences.c Start counting nesting level from 0 and use the standard "Polyhedral SCattering Transformed" psct_* interface. 2011-07-21 22:56:29 +00:00
graphite-dependences.h Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
graphite-interchange.c Fix PR47654: Loop blocking should strip-mine at least two loops. 2011-07-05 14:50:34 +00:00
graphite-poly.c
graphite-poly.h Fix PR47654: Loop blocking should strip-mine at least two loops. 2011-07-05 14:50:34 +00:00
graphite-ppl.c Pass 0 as the number of parameters to PIP when testing for integer feasibility. 2011-01-25 06:46:43 +00:00
graphite-ppl.h Infer types based on lb and ub. 2011-07-21 22:57:59 +00:00
graphite-scop-detection.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
graphite-scop-detection.h
graphite-sese-to-poly.c
graphite-sese-to-poly.h
graphite.c Fix PR47127: call cloog_state_malloc and cloog_state_free only once. 2011-03-12 22:05:38 +00:00
gsstruct.def
gstab.h
gsyms.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
gsyslimits.h
gtm-builtins.def re PR lto/51698 ([trans-mem] TM runtime and application with LTO) 2012-01-25 20:32:57 +00:00
haifa-sched.c
hard-reg-set.h
highlev-plugin-common.h
hooks.c
hooks.h system.h (OUTPUT_ADDR_CONST_EXTRA): Poison. 2011-10-06 23:25:53 +04:00
host-default.c Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
hosthooks-def.h Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
hosthooks.h
hw-doloop.c
hw-doloop.h hw-doloop.c: New file. 2011-07-07 15:42:41 +00:00
hwint.c
hwint.h Change random seeds to 64bit and drop re-crcing 2011-09-29 13:14:51 +00:00
ifcvt.c re PR bootstrap/53249 (Bootstrap failure) 2012-05-09 09:22:57 +00:00
incpath.c
incpath.h
init-regs.c
input.c Make conversion warnings work on NULL with -ftrack-macro-expansion 2012-04-30 13:42:38 +02:00
input.h Make conversion warnings work on NULL with -ftrack-macro-expansion 2012-04-30 13:42:38 +02:00
insn-addr.h Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
insn-notes.def
integrate.c Makefile.in (cfgexpand.o): Add $(REGS_H) and $(INTEGRATE_H) dependencies. 2012-03-21 08:02:21 +00:00
integrate.h reload.h (reg_equiv_constant): Move into new structure reg_equivs, define accessor macro. 2011-03-30 09:18:30 -06:00
internal-fn.c
internal-fn.def
internal-fn.h internal-fn.h (internal_fn_name_array): Declare. 2011-04-28 01:25:01 +00:00
intl.c
intl.h Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
ipa-cp.c cgraph.h (cgraph_remove_unreachable_nodes): Rename to ... 2012-05-10 20:17:36 +00:00
ipa-inline-analysis.c cgraph.h (FOR_EACH_VARIABLE, [...]): New macros. 2012-04-16 12:04:17 +00:00
ipa-inline-transform.c
ipa-inline.c ipa-inline.c (update_all_callee_keys): Remove. 2012-05-10 21:50:22 +00:00
ipa-inline.h lto-symtab.c (lto_cgraph_replace_node): Update. 2012-04-18 09:57:53 +00:00
ipa-prop.c
ipa-prop.h ipa-cp.c (ipa_value_from_jfunc): Make global. 2011-11-15 03:46:08 +00:00
ipa-pure-const.c
ipa-ref-inline.h
ipa-ref.c lto-symtab.c (lto_cgraph_replace_node): Update. 2012-04-18 09:57:53 +00:00
ipa-ref.h
ipa-reference.c ipa-reference.c (is_proper_for_analysis): Do not check flags that might change as result of global optimization. 2012-05-17 09:22:02 +00:00
ipa-reference.h Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
ipa-split.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-utils.c lto-symtab.c (lto_cgraph_replace_node): Update. 2012-04-18 09:57:53 +00:00
ipa-utils.h ipa-utils.c (ipa_dfs_info): New field scc_no. 2011-06-01 15:07:26 +02:00
ipa.c cgraphunit.c (varpool_finalize_decl): Allow external decls. 2012-05-18 11:44:52 +00:00
ira-build.c attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
ira-color.c ira-color.c (move_spill_restore): Add a guard. 2012-05-15 07:57:57 +00:00
ira-conflicts.c
ira-costs.c
ira-emit.c dbgcnt.def (ira_move): New counter. 2012-04-12 12:53:17 +00:00
ira-int.h attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
ira-lives.c attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
ira.c ira.c (pseudo_move_insn): Delete. 2012-05-16 09:01:54 +00:00
ira.h target.def (class_max_nregs): New hook. 2011-07-20 02:34:31 +04:00
jump.c Fix var tracking ICE due to reorg. 2012-05-16 13:11:46 -07:00
langhooks-def.h cgraphunit.c: Update toplevel comment. 2012-04-25 16:31:42 +00:00
langhooks.c
langhooks.h
LANGUAGES
lcm.c re PR rtl-optimization/39077 (GCSE-optimization causes enormous binary size increase (~20 times !)) 2011-01-13 06:41:03 -07:00
libfuncs.h
limitx.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
limity.h cppinit.c (cpp_post_options): Shut off macro expansion if -fpreprocessed. 2001-05-10 00:07:23 +00:00
lists.c reg-notes.def (DEP_CONTROL): New. 2011-10-21 13:35:44 +00:00
loop-doloop.c
loop-init.c re PR rtl-optimization/52803 (ICE: in ira, at ira.c:3616 with -fno-move-loop-invariants on almost any code) 2012-04-02 11:59:47 +00:00
loop-invariant.c
loop-iv.c
loop-unroll.c re PR tree-optimization/44688 (Excessive code-size growth at -O3) 2012-04-19 08:51:50 +00:00
loop-unswitch.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
lower-subreg.c re PR rtl-optimization/53278 (internal compiler error: in df_uses_record, at df-scan.c:3179 when compiling libgcc2.c __mulvdi3 on armv5tel-linux) 2012-05-08 21:42:03 +00:00
lower-subreg.h Makefile.in (lower-subreg.o, [...]): Depend on lower-subreg.h. 2012-05-01 14:45:24 +00:00
lto-cgraph.c lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. 2012-05-17 16:37:33 +00:00
lto-compress.c
lto-compress.h
lto-opts.c re PR regression/50999 (g++.dg/lto/20081109 execute -O2 -flto -flto-partition=1to1 -fno-use-linker-plugin) 2011-11-08 13:41:57 +00:00
lto-section-in.c lto-streamer-out.c (write_symbol): Use proper 64-bit host type. 2011-12-13 21:59:39 +00:00
lto-section-out.c
lto-streamer-in.c basic-block.h (struct rtl_bb_info, [...]): Move in front of basic_block_def. 2012-05-03 14:34:07 +00:00
lto-streamer-out.c lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. 2012-05-17 16:37:33 +00:00
lto-streamer.c
lto-streamer.h
lto-symtab.c lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. 2012-05-17 16:37:33 +00:00
lto-wrapper.c re PR lto/50602 (ICE in tree_nrv, at tree-nrv.c:155 during large LTO build) 2012-05-04 11:47:06 +00:00
machmode.def machmode.def: Fixed comments. 2011-01-24 20:08:06 +00:00
machmode.h re PR middle-end/52940 (conversion from MODE_PARTIAL_INT uses sign extension for unsigned types) 2012-04-26 14:20:39 +00:00
main.c
Makefile.in Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of $(libsubdir) as libexecsubdir. 2012-05-18 16:30:24 +00:00
matrix-reorg.c tree-vect-data-refs.c (vect_setup_realignment): Remove call to mark_symbols_for_renaming. 2012-05-14 15:06:40 +00:00
mcf.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
mkconfig.sh Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
mode-classes.def
mode-switching.c
modulo-sched.c re PR rtl-optimization/52095 (ICE compiling gcc.dg/sms-7.c: SEGV in fprintf) 2012-02-04 17:51:31 +01:00
omega.c
omega.h
omp-builtins.def
omp-low.c
ONEWS
opt-functions.awk re PR c/53063 (encode group options in the .opt files) 2012-05-14 13:30:32 +00:00
opt-gather.awk
opt-include.awk Add PowerPC target attribute/pragma support 2010-11-19 17:27:18 +00:00
opt-read.awk
optabs.c re PR bootstrap/53249 (Bootstrap failure) 2012-05-09 09:22:57 +00:00
optabs.h re PR middle-end/52353 (-ftrapv -fnon-call-exceptions does not work) 2012-03-05 13:08:55 +00:00
optc-gen.awk c.opt (--pedantic-errors,-pedantic-errors): Do not handle here. 2012-05-17 11:50:37 +00:00
optc-save-gen.awk Allow HOST_WIDE_INT for option variable. 2011-08-18 07:52:06 -07:00
opth-gen.awk re PR c/53063 (encode group options in the .opt files) 2012-05-14 13:30:32 +00:00
opts-common.c opts-common.c (generate_canonical_option): Free opt_text it it has been allocated here and not stored anywhere. 2011-11-11 09:15:56 +01:00
opts-diagnostic.h
opts-global.c
opts.c c.opt (--pedantic-errors,-pedantic-errors): Do not handle here. 2012-05-17 11:50:37 +00:00
opts.h
output.h
params.c params.c: Include common/common-target.h. 2011-06-23 11:41:42 +01:00
params.def
params.h Check in patch/merge from cxx-mem-model Branch 2011-11-06 14:55:48 +00:00
passes.c tree-pass.h (pass_rest_of_compilation, [...]): Remove. 2012-05-11 14:07:38 +00:00
plugin.c [multiple changes] 2011-10-19 13:20:22 +00:00
plugin.def plugin.def: Add event for finish_decl. 2011-08-11 11:57:38 -04:00
plugin.h opts-common.c (handle_option, [...]): Add diagnostic_context parameter. 2010-10-05 15:28:39 +01:00
pointer-set.c
pointer-set.h c-common.c (const_strip_array_types): New. 2007-08-16 14:31:21 +00:00
postreload-gcse.c
postreload.c
predict.c predict.c (find_qualified_ssa_name): New 2012-05-08 10:01:44 +00:00
predict.def predict.c (find_qualified_ssa_name): New 2012-05-08 10:01:44 +00:00
predict.h
prefix.c common-target-def.h, [...]: New files. 2011-06-14 21:11:37 +01:00
prefix.h
pretty-print.c Makefile.in (READ_MD_H): New variable. 2010-06-10 20:21:23 +00:00
pretty-print.h
print-rtl.c
print-tree.c cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use. 2012-05-10 07:58:27 +00:00
profile.c
profile.h Remove cgraph pid 2011-04-22 00:03:41 +00:00
read-md.c
read-md.h re PR other/29442 (insn-attrtab has grown too large) 2012-05-04 20:04:47 +00:00
read-rtl.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
README.Portability discourage unnecessary use of if before free 2011-04-20 18:18:43 +00:00
real.c re PR middle-end/47903 (var-tracking.c: valgrind error) 2011-02-27 20:37:35 +01:00
real.h real: Do not include gmp.h, mpfr.h, and mpc.h. 2010-05-21 18:13:54 +00:00
realmpfr.c real: Do not include gmp.h, mpfr.h, and mpc.h. 2010-05-21 18:13:54 +00:00
realmpfr.h real: Do not include gmp.h, mpfr.h, and mpc.h. 2010-05-21 18:13:54 +00:00
recog.c
recog.h
ree.c
reg-notes.def attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
reg-stack.c re PR debug/52132 (ICE in loc_descriptor) 2012-02-11 09:27:30 +01:00
regcprop.c attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
reginfo.c Check for incompatible pointer sign extension 2012-04-11 12:31:45 -07:00
regmove.c
regrename.c
regrename.h
regs.h
regset.h
regstat.c re PR rtl-optimization/53125 (Very slow compilation on SPARC) 2012-05-17 17:54:52 +00:00
reload1.c
reload.c re PR bootstrap/53249 (Bootstrap failure) 2012-05-09 09:22:57 +00:00
reload.h
reorg.c rtl.def (ATTR_FLAG): Remove probability indicating flags. 2012-05-04 19:37:59 +00:00
resource.c resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK if there is in epilogue. 2011-12-05 19:32:16 +00:00
resource.h
rtl-error.c
rtl-error.h
rtl.c
rtl.def
rtl.h re PR bootstrap/53249 (Bootstrap failure) 2012-05-09 09:22:57 +00:00
rtlanal.c re PR bootstrap/53249 (Bootstrap failure) 2012-05-09 09:22:57 +00:00
rtlhooks-def.h Update Copyright years for files modified in 2008 and/or 2009. 2009-02-20 16:20:38 +01:00
rtlhooks.c
sbitmap.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
sbitmap.h
sched-deps.c attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN. 2012-05-14 12:08:31 +00:00
sched-ebb.c
sched-int.h
sched-rgn.c
sched-vis.c
sdbout.c
sdbout.h
sel-sched-dump.c re PR bootstrap/53249 (Bootstrap failure) 2012-05-09 09:22:57 +00:00
sel-sched-dump.h
sel-sched-ir.c re PR rtl-optimization/52250 (ICE: in sel_remove_bb, at sel-sched-ir.c:5213 with -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 and other flags) 2012-03-06 11:31:43 +04:00
sel-sched-ir.h
sel-sched.c
sel-sched.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sese.c
sese.h Fix PR47691: do not abort compilation when code generation fails 2011-07-27 16:52:52 +00:00
simplify-rtx.c
sparseset.c
sparseset.h system.h: Include "safe-ctype.h" instead of <safe-ctype.h>. 2010-11-29 14:09:41 +00:00
sreal.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
sreal.h Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
ssaexpand.h ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap. 2009-04-27 12:16:00 +00:00
stab.def Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
stack-ptr-mod.c
statistics.c Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
statistics.h tree-pass.h (current_pass): Declare. 2008-05-15 13:39:39 +00:00
stmt.c vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code, unset flag_jump_tables. 2012-05-02 22:18:11 +00:00
stor-layout.c stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype into a PLUS_EXPR byte offset. 2012-05-14 08:46:33 +00:00
store-motion.c
streamer-hooks.c rebase 2011-08-08 12:49:34 -04:00
streamer-hooks.h
stringpool.c
symtab.c
sync-builtins.def
system.h Remove MIPS_DEBUGGING_INFO support 2012-03-14 18:01:06 +00:00
target-def.h
target-globals.c
target-globals.h
target-hooks-macros.h
target.def ChangeLog entry: 2012-05-02 15:32:01 +00:00
target.h
targhooks.c
targhooks.h
timevar.c timevar.c (timevar_print): Increase width for display of timevar name. 2011-06-25 09:57:31 +00:00
timevar.def re PR target/50038 (redundant zero extensions) 2011-12-21 11:52:27 +00:00
timevar.h Upgrade the utility of timevars. 2011-05-02 22:19:48 +00:00
tlink.c
toplev.c
toplev.h
tracer.c re PR bootstrap/52808 (LTO bootstrap failed with bootstrap-profiled) 2012-04-04 12:12:00 +00:00
trans-mem.c [multiple changes] 2012-05-17 02:57:56 +00:00
trans-mem.h Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
tree-affine.c tree-affine.h (print_aff): Remove. 2012-03-30 08:52:32 +00:00
tree-affine.h tree-affine.h (print_aff): Remove. 2012-03-30 08:52:32 +00:00
tree-browser.c
tree-browser.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-call-cdce.c dumping cleanup phase 1 -- Removing TODO_dump_func 2011-06-14 19:39:36 +00:00
tree-cfg.c tree-cfg.c (verify_gimple_switch): Tighten checks. 2012-05-07 13:47:11 +00:00
tree-cfgcleanup.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
tree-chrec.c
tree-chrec.h
tree-complex.c coretypes.h (gimple_seq, [...]): Typedef as gimple. 2012-05-02 16:41:48 +00:00
tree-data-ref.c re PR tree-optimization/53295 (Vectorizer support for non-constant strided loads depends on gather support overwriting the data-ref with bogus data) 2012-05-11 12:03:10 +00:00
tree-data-ref.h re PR tree-optimization/53295 (Vectorizer support for non-constant strided loads depends on gather support overwriting the data-ref with bogus data) 2012-05-11 12:03:10 +00:00
tree-dfa.c tree-flow.h (mark_symbols_for_renaming): Remove. 2012-05-18 10:19:22 +00:00
tree-diagnostic.c re PR c++/24985 (caret diagnostics) 2012-05-04 00:31:55 +00:00
tree-diagnostic.h
tree-dump.c
tree-dump.h Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
tree-eh.c
tree-emutls.c re PR middle-end/53093 (tls/alias-1.c ICE, emutls) 2012-05-03 19:22:03 +00:00
tree-flow-inline.h basic-block.h (struct rtl_bb_info, [...]): Move in front of basic_block_def. 2012-05-03 14:34:07 +00:00
tree-flow.h tree-flow.h (mark_symbols_for_renaming): Remove. 2012-05-18 10:19:22 +00:00
tree-if-conv.c
tree-inline.c tree-flow.h (mark_symbols_for_renaming): Remove. 2012-05-18 10:19:22 +00:00
tree-inline.h
tree-into-ssa.c tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap of new names. 2012-05-16 13:21:38 +00:00
tree-iterator.c
tree-iterator.h
tree-loop-distribution.c re PR target/53346 (Bad if conversion in cptrf2 of rnflow.f90) 2012-05-18 13:10:01 +00:00
tree-mudflap.c coretypes.h (gimple_seq, [...]): Typedef as gimple. 2012-05-02 16:41:48 +00:00
tree-mudflap.h
tree-nested.c
tree-nomudflap.c re PR middle-end/51764 (mudflap does not work with LTO) 2012-01-05 15:08:42 +00:00
tree-nrv.c tree-nrv.c (tree_nrv): Release VDEFs. 2012-04-05 09:45:18 +00:00
tree-object-size.c builtins.def (BUILT_IN_STPNCPY_CHK): New definition. 2011-12-15 18:26:10 +01:00
tree-optimize.c Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency. 2012-04-12 15:11:17 +00:00
tree-outof-ssa.c
tree-parloops.c
tree-pass.h
tree-phinodes.c
tree-predcom.c
tree-pretty-print.c
tree-pretty-print.h
tree-profile.c
tree-scalar-evolution.c
tree-scalar-evolution.h Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
tree-sra.c builtins.c (get_object_alignment_1): Return whether we can determine the alignment or conservatively assume byte... 2012-05-03 17:48:56 +02:00
tree-ssa-address.c builtins.c (get_object_alignment_1): Return whether we can determine the alignment or conservatively assume byte... 2012-05-03 17:48:56 +02:00
tree-ssa-alias.c re PR tree-optimization/53364 (Wrong code generation) 2012-05-16 13:11:01 +00:00
tree-ssa-alias.h
tree-ssa-ccp.c builtins.c (get_object_alignment_1): Return whether we can determine the alignment or conservatively assume byte... 2012-05-03 17:48:56 +02:00
tree-ssa-coalesce.c re PR debug/51517 (Wrong debug information for pointers with negative strides.) 2011-12-15 12:05:37 +01:00
tree-ssa-copy.c
tree-ssa-copyrename.c tree-ssa-copyrename.c (rename_ssa_copies): Zero statistics. 2011-07-12 14:38:41 +00:00
tree-ssa-dce.c
tree-ssa-dom.c
tree-ssa-dse.c re PR bootstrap/53197 (bootstrap comparison failure) 2012-05-03 02:32:08 +00:00
tree-ssa-forwprop.c re PR tree-optimization/53226 (Endless loop in forwprop) 2012-05-09 14:19:34 +02:00
tree-ssa-ifcombine.c dumping cleanup phase 1 -- Removing TODO_dump_func 2011-06-14 19:39:36 +00:00
tree-ssa-live.c re PR debug/50317 (missing DW_OP_GNU_implicit_pointer) 2011-12-03 17:39:56 +01:00
tree-ssa-live.h Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
tree-ssa-loop-ch.c
tree-ssa-loop-im.c
tree-ssa-loop-ivcanon.c
tree-ssa-loop-ivopts.c
tree-ssa-loop-manip.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
tree-ssa-loop-niter.c
tree-ssa-loop-prefetch.c tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return whether we failed to compute data dependences. 2012-05-07 08:48:44 +00:00
tree-ssa-loop-unswitch.c
tree-ssa-loop.c cfgloop.h (estimate_numbers_of_iterations_loop): Remove use_undefined_p parameter. 2012-04-18 08:55:41 +00:00
tree-ssa-math-opts.c
tree-ssa-operands.c
tree-ssa-operands.h
tree-ssa-phiopt.c
tree-ssa-phiprop.c dumping cleanup phase 1 -- Removing TODO_dump_func 2011-06-14 19:39:36 +00:00
tree-ssa-pre.c tree-vect-data-refs.c (vect_setup_realignment): Remove call to mark_symbols_for_renaming. 2012-05-14 15:06:40 +00:00
tree-ssa-propagate.c
tree-ssa-propagate.h gimple-fold.c (gimplify_and_update_call_from_tree): Set gctx.into_ssa after push_gimplify_context. 2011-09-26 18:19:55 +02:00
tree-ssa-reassoc.c tree-ssa-reassoc.c (bip_map): Remove decl. 2012-05-18 12:02:54 +00:00
tree-ssa-sccvn.c
tree-ssa-sccvn.h
tree-ssa-sink.c tree-flow.h (is_hidden_global_store): Remove. 2012-04-27 11:58:20 +00:00
tree-ssa-strlen.c tree-ssa-strlen.c (get_string_length): Convert lhs if needed. 2012-05-15 09:31:45 +00:00
tree-ssa-structalias.c lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of force flags. 2012-04-20 14:09:11 +00:00
tree-ssa-tail-merge.c tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of same_succ_hash, with local_def inlined. 2012-04-14 05:49:15 +00:00
tree-ssa-ter.c re PR inline-asm/23200 (rejects "i"(&var + 1)) 2011-02-04 16:50:51 +01:00
tree-ssa-threadedge.c
tree-ssa-threadupdate.c
tree-ssa-uncprop.c
tree-ssa-uninit.c re PR middle-end/50040 (missed warning: ‘x.y’ is used uninitialized in this function) 2011-08-11 14:28:36 +00:00
tree-ssa.c tree-pass.h (pass_rest_of_compilation, [...]): Remove. 2012-05-11 14:07:38 +00:00
tree-ssanames.c
tree-stdarg.c re PR tree-optimization/51091 (FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg) 2011-11-11 20:57:23 +01:00
tree-stdarg.h Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. 2007-07-26 08:37:01 +00:00
tree-streamer-in.c re PR c/52977 (internal compiler error: Segmentation fault with -x c-header' or -x cxx-header' option) 2012-04-16 13:21:30 +00:00
tree-streamer-out.c tree.h (TREE_VECTOR_CST_ELTS): Remove. 2012-03-16 09:47:09 +00:00
tree-streamer.c
tree-streamer.h Split out LTO's writing of top level asm nodes in preparation of extending what... 2011-09-30 14:56:01 +00:00
tree-switch-conversion.c tree-switch-conversion.c (gen_inbound_check): Free post-dominance information as early as possible. 2012-05-03 11:14:15 +00:00
tree-tailcall.c re PR middle-end/52285 (libgcrypt _gcry_burn_stack slowdown) 2012-02-16 23:20:27 +01:00
tree-vect-data-refs.c re PR tree-optimization/53390 (ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host) 2012-05-18 12:09:49 +00:00
tree-vect-generic.c Update Copyright year. 2012-03-28 16:45:21 +02:00
tree-vect-loop-manip.c tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap of new names. 2012-05-16 13:21:38 +00:00
tree-vect-loop.c
tree-vect-patterns.c
tree-vect-slp.c
tree-vect-stmts.c tree-vect-data-refs.c (vect_setup_realignment): Remove call to mark_symbols_for_renaming. 2012-05-14 15:06:40 +00:00
tree-vectorizer.c
tree-vectorizer.h
tree-vrp.c re PR tree-optimization/53355 (Autovectorization of a simple loop could be improved.) 2012-05-15 13:18:32 +00:00
tree.c
tree.def
tree.h tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P. 2012-05-15 19:44:49 +00:00
treestruct.def
tsystem.h tsystem.h (CONST_CAST2, CONST_CAST): Define. 2011-08-05 12:14:55 +00:00
typeclass.h
value-prof.c cgraph.h (FOR_EACH_VARIABLE, [...]): New macros. 2012-04-16 12:04:17 +00:00
value-prof.h
var-tracking.c re PR bootstrap/53249 (Bootstrap failure) 2012-05-09 09:22:57 +00:00
varasm.c
varpool.c lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without. 2012-05-17 16:37:33 +00:00
vec.c
vec.h vec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if P is NULL. 2011-11-10 16:40:34 +01:00
vecir.h
vecprim.h
version.c ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
version.h
vmsdbg.h Committed as obvious. 2010-06-29 19:04:12 +00:00
vmsdbgout.c vmsdbgout.c (vmsdbgout_write_source_line): New function. 2011-12-13 13:30:18 +00:00
web.c
xcoff.h
xcoffout.c
xcoffout.h dbxout.c (dbxout_source_line): Add is_stmt parameter. 2009-06-17 16:54:40 -07:00

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.