gcc/gcc
Steven Bosscher c082f9f317 configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO.
ChangeLog:
	* configure.ac (--enable-lto): Add x86_64-apple-darwin* as
	a platform that supports LTO.
	* configure: Regenerate.

gcc/ChangeLog:
	* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
	lto-macho as lto_binary_reader.
	* target.h (struct gcc_target): New hooks lto_start and	lto_end.
	* target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
	* cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
	in lto_start and lto_end calls.
	(is_elf_or_coff): Rename to maybe_lto_object_file.  Add Mach-O
	magic numbers.
	(scan_prog_file): Update is_elf_or_coff call.
	* doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.

	* collect2.c (main): Fix enum comparison.

	* config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
	Add prototypes.
	* darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
	* darwin.h (LINK_COMMAND_SPEC): Likewise.  Define TARGET_ASM_LTO_START
	and TARGET_ASM_LTO_END.
	* darwin.c: Include obstack.h and lto-streamer.h.
	(lto_section_names_offset, lto_section_names_obstack,
	lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
	global variables.
	(LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
	(darwin_asm_lto_start): New function.  Redirect output to asm_out_file
	to a temporary file.
	(darwin_asm_lto_end): New function.  Restore asm_out_file.
	(darwin_asm_named_section): For LTO sections, replace the name with
	the offset of the section name in a string table, and build this
	table.
	(darwin_file_start): Initialize global vars for LTO support.
	(darwin_file_end): If output to asm_out_file was redirected, append it
	to the proper asm_out_file here.  Add the section names section.

lto/ChangeLog:
	* lto.h (struct lto_file_struct): Document offset member.
	* lto-endian.h: New file.
	* lto-macho.h: New file.
	* lto-macho.c: New file.
	* Make-lang.in: Add rule for lto-macho.o.

From-SVN: r159173
2010-05-07 21:37:43 +00:00
..
ada re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags) 2010-05-07 10:25:54 +00:00
config configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
cp re PR c++/43951 (Revision 158918 miscompiled 483.xalancbmk in SPEC CPU 2006) 2010-05-07 11:52:06 -04:00
doc configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
fortran re PR fortran/40728 (Bogus error "Error: Can't convert UNKNOWN to REAL(8) at (1)") 2010-05-07 11:36:45 -04:00
ginclude c-common.c (flag_isoc1x): New. 2010-04-25 22:54:22 +01:00
java re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags) 2010-05-06 10:12:36 +00:00
lto configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
objc [multiple changes] 2010-05-01 00:32:13 +00:00
objcp toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
po * sv.po: Update. 2010-05-01 16:23:59 +01:00
testsuite re PR c++/43951 (Revision 158918 miscompiled 483.xalancbmk in SPEC CPU 2006) 2010-05-07 11:52:06 -04:00
ABOUT-GCC-NLS ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
BASE-VER * BASE-VER: Change to 4.6.0. 2010-04-06 13:14:22 +02:00
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
ChangeLog-1997 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-1998 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-1999 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2000 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2001 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2002 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
ChangeLog-2003 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2004 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2005 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
ChangeLog-2006 re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
ChangeLog-2007 Fix nit 2010-03-26 09:51:32 +00:00
ChangeLog-2008 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog-2009 Remove asterisk in LTO section name. 2010-01-01 08:49:15 -08:00
ChangeLog.dataflow ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.graphite Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
ChangeLog.lib ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.ptr ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.tree-ssa ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
ChangeLog.tuples ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
DATESTAMP Daily bump. 2010-05-07 00:18:37 +00:00
DEV-PHASE
FSFChangeLog ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
FSFChangeLog.10 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
FSFChangeLog.11 ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
LANGUAGES ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
Makefile.in cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
ONEWS ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
README.Portability
acinclude.m4 Always pass --32 to ia32 Linux assembler. 2009-12-21 07:31:49 -08:00
aclocal.m4 Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
addresses.h
alias.c Handle the same VALUE for true dependence. 2010-05-04 08:47:25 -07:00
alias.h
alloc-pool.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
alloc-pool.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
attribs.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
auto-inc-dec.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
basic-block.h toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
bb-reorder.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
bitmap.c hwint.h (HOST_LONG_FORMAT): New macro 2009-08-25 23:19:16 +00:00
bitmap.h bitmap.h (bitmap_ior_and_into): New. 2009-06-27 14:46:56 +00:00
bt-load.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
builtin-attrs.def
builtin-types.def
builtins.c target.h (struct calls): Add function_value_regno_p field. 2010-05-02 14:49:10 +04:00
builtins.def builtins.c (build_complex_cproj, [...]): New. 2010-04-20 20:09:17 +00:00
c-aux-info.c
c-common.c Add support for C++0x nullptr. 2010-05-06 16:51:52 -04:00
c-common.def
c-common.h Add support for C++0x nullptr. 2010-05-06 16:51:52 -04:00
c-config-lang.in c-objc-common.h (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Do not define. 2009-08-20 16:11:37 +00:00
c-convert.c re PR c/40435 (Revision 148442 caused many regressions on trunk) 2009-07-16 22:29:52 +00:00
c-cppbuiltin.c c-common.c (flag_isoc1x): New. 2010-04-25 22:54:22 +01:00
c-decl.c stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *. 2010-05-05 21:32:44 +00:00
c-dump.c
c-errors.c
c-format.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
c-format.h Changelog gcc/ 2009-08-24 08:17:33 +02:00
c-gimplify.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
c-lang.c [multiple changes] 2009-09-03 00:07:12 -04:00
c-lang.h c-objc-common.h (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Do not define. 2009-08-20 16:11:37 +00:00
c-lex.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
c-objc-common.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
c-objc-common.h tree-flow.h (mark_addressable): Move declaration ... 2009-09-01 08:38:10 +00:00
c-omp.c re PR c/43893 (Error: Invalid controlling predicate with -fopenmp) 2010-04-26 22:07:10 +02:00
c-opts.c re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags) 2010-05-06 10:12:36 +00:00
c-parser.c re PR c/43981 (-Wunused-but-set-variable does not consider array sizing use of a variable) 2010-05-04 21:08:37 +02:00
c-pch.c Makefile.in (c-pch.o, [...]): Depend on timevar.h. 2010-04-13 09:30:31 -04:00
c-ppoutput.c re PR preprocessor/41445 (Debug information is wrong with and without --save-temps.) 2009-10-09 21:55:34 +02:00
c-pragma.c c-pragma.c (pending_weak_d, [...]): New. 2010-05-07 20:49:29 +00:00
c-pragma.h re PR c++/41774 (ice: vector VEC(visibility,base) pop domain error, in pop_visibility at c-pragma.c:757) 2009-11-02 14:39:46 +01:00
c-pretty-print.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
c-pretty-print.h c-objc-common.c (c_tree_printer): Print identifiers with pp_identifier, not pp_string. 2009-05-01 15:09:20 +01:00
c-semantics.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
c-tree.h stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *. 2010-05-05 21:32:44 +00:00
c-typeck.c c-typeck.c (build_binary_op): Warn ordered comparison of pointer with null pointer and also warn about... 2010-05-07 08:18:06 +00:00
c.opt re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags) 2010-05-06 10:12:36 +00:00
caller-save.c re PR other/43562 (GCC ICE on optimize attribute) 2010-03-31 02:44:10 +00:00
calls.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
cfg.c cfg.c (alloc_aux_for_block): Remove inline. 2010-02-24 15:27:46 +00:00
cfganal.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfgbuild.c re PR middle-end/41360 (Revision 151696 breaks gcc.c-torture/compile/builtin_unreachable-1.c) 2009-09-16 13:12:35 -07:00
cfgcleanup.c re PR rtl-optimization/21803 ([ia64] gcc produces really odd predicated code) 2010-04-14 20:42:02 +00:00
cfgexpand.c re PR middle-end/29274 (not using mulsidi3) 2010-04-22 09:30:27 +00:00
cfghooks.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfghooks.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfglayout.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfglayout.h
cfgloop.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cfgloop.h cfgloop.h (struct loop): Move can_be_parallel field up. 2010-04-26 18:21:17 +00:00
cfgloopanal.c re PR target/41279 (252.eon performance regression) 2009-09-30 11:57:56 +02:00
cfgloopmanip.c re PR middle-end/42229 (cancel_loop_tree: bad read causes ice) 2009-12-02 15:22:01 +00:00
cfgrtl.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
cgraph.c cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
cgraph.h cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
cgraphbuild.c cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
cgraphunit.c configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
cif-code.def cgraph.h (struct cgraph_node): New field indirect_calls. 2010-04-28 16:05:54 +02:00
collect2-aix.c Makefile.in (COLLECT2_OBJS): Add collect2-aix.o. 2009-06-02 19:06:56 +00:00
collect2-aix.h Makefile.in (COLLECT2_OBJS): Add collect2-aix.o. 2009-06-02 19:06:56 +00:00
collect2.c configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
collect2.h collect2.c (vflag): Change type from int to bool. 2010-04-29 17:42:54 +00:00
combine-stack-adj.c re PR bootstrap/41241 (bootstrap comparison failure) 2009-09-06 21:15:45 +00:00
combine.c target.h (struct calls): Add function_value_regno_p field. 2010-05-02 14:49:10 +04:00
common.opt Sanitize the behavior of -Wcoverage-mismatch. 2010-05-04 23:45:58 +00:00
conditions.h
config.build config.build (alpha*-dec-osf4*): Remove. 2010-04-12 18:36:30 +00:00
config.gcc configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
config.host re PR bootstrap/37739 (bootstrap broken with core gcc > gcc-4.2.x) 2009-10-08 07:09:54 +02:00
config.in collect2.c (TARGET_64BIT): Redefine to target's default. 2010-04-27 19:48:58 +02:00
configure collect2.c (TARGET_64BIT): Redefine to target's default. 2010-04-27 19:48:58 +02:00
configure.ac collect2.c (TARGET_64BIT): Redefine to target's default. 2010-04-27 19:48:58 +02:00
convert.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
convert.h
coretypes.h extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
coverage.c Sanitize the behavior of -Wcoverage-mismatch. 2010-05-04 23:45:58 +00:00
coverage.h
cppdefault.c
cppdefault.h
cppspec.c
crtstuff.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
cse.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
cselib.c re PR bootstrap/43596 (Failed to boostrap) 2010-03-31 17:26:57 +02:00
cselib.h re PR debug/42977 ("-fcompare-debug failure" with "-O2 -finline-functions -fomit-frame-pointer -ftracer -fsched2-use-superblocks -fPIC") 2010-03-30 23:00:47 +02:00
cstamp-h.in
dbgcnt.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dbgcnt.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dbgcnt.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dbxout.c Add support for C++0x nullptr. 2010-05-06 16:51:52 -04:00
dbxout.h
dce.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dce.h
ddg.c re PR debug/42244 (var-tracking ICE for 300.twolf) 2009-12-07 23:37:21 +01:00
ddg.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
debug.c re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
debug.h re PR debug/41700 (g++.dg/debug/dwarf2/icf.C) 2009-10-29 11:13:27 -07:00
defaults.h re PR target/38118 (gcc emits non-TLS data as TLS on Solaris 11/SPARC) 2010-03-24 18:49:49 +00:00
df-byte-scan.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
df-core.c df-core.c (df_ref_debug): Change format string placeholder from 0x%x to %#x. 2010-04-14 17:08:54 +02:00
df-problems.c re PR bootstrap/43994 (Revision 159063 failed to bootstrap on Linux/ia64) 2010-05-06 19:34:47 +02:00
df-scan.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
df.h ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and df_simulate_find_noclobber_defs as appropriate. 2010-04-22 10:42:21 +00:00
dfp.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dfp.h
diagnostic.c re PR other/42966 (add some indication that a warning has been converted to an error) 2010-04-14 16:08:23 +00:00
diagnostic.def ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
diagnostic.h re PR other/42965 (no "warnings being treated as errors" for individual -Werror=x options) 2010-04-09 15:45:52 +00:00
dojump.c double-int.h (double_int_setbit): Declare. 2010-04-20 20:33:46 +04:00
dominance.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
domwalk.c re PR tree-optimization/43571 (domwalk sucks) 2010-05-06 09:08:57 +00:00
domwalk.h domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and... 2009-06-27 14:45:51 +00:00
double-int.c double-int.h (tree_to_double_int): Remove macro. 2010-05-03 20:21:15 +04:00
double-int.h double-int.h (tree_to_double_int): Remove macro. 2010-05-03 20:21:15 +04:00
dse.c re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
dse.h
dummy-checksum.c ansidecl.h (EXPORTED_CONST): Define. 2009-06-03 20:19:55 +00:00
dwarf2asm.c df-core.c (df_ref_debug): Change format string placeholder from 0x%x to %#x. 2010-04-14 17:08:54 +02:00
dwarf2asm.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
dwarf2out.c Add support for C++0x nullptr. 2010-05-06 16:51:52 -04:00
dwarf2out.h cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK. 2009-05-29 17:33:46 -07:00
ebitmap.c ebitmap.c: Change calls to verify_popcount with calls to sbitmap_verify_popcount. 2010-02-25 20:51:27 -05:00
ebitmap.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
emit-rtl.c rtl.h (CONST_DOUBLE_P): Define. 2010-05-01 21:52:02 +04:00
emit-rtl.h extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
emutls.c re PR other/40024 (trunk/gcc-4.3/gcc: * emutls.c (emutls_destroy): Don' t fall out of the array bound.) 2009-06-01 20:03:26 +02:00
errors.c re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
errors.h Makefile.in: Update dependencies. 2009-04-22 16:01:29 +00:00
et-forest.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
et-forest.h
except.c Remove lang_eh_type_covers, which is dead, and the corresponding 2010-04-13 09:21:12 +00:00
except.h Remove lang_eh_type_covers, which is dead, and the corresponding 2010-04-13 09:21:12 +00:00
exec-tool.in collect2.c (main): Search PLUGIN_LD for plugin linker. 2009-11-08 14:36:51 -08:00
explow.c tm.texi (STACK_CHECK_PROBE_LOAD): Delete. 2009-12-13 23:00:53 +00:00
expmed.c re PR middle-end/29274 (not using mulsidi3) 2010-04-22 09:30:27 +00:00
expr.c expr.c (expand_expr_real_1): Only use conversion between modes if both types are integral. 2010-04-23 16:16:50 +00:00
expr.h re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
final.c cgraph.c (cgraph_create_node): Set node frequency to normal. 2010-04-26 13:33:24 +00:00
fixed-value.c collect2.c (is_ctor_dtor): Change type of ret field in struct names to symkind. 2009-04-27 20:25:48 +00:00
fixed-value.h hashtab.h: Update GTY annotations to new syntax 2009-04-22 14:29:36 -04:00
flags.h re PR debug/43516 ("-fcompare-debug failure" at -O2) 2010-03-26 17:18:51 +01:00
fold-const.c re PR tree-optimization/41442 (missed optimization for boolean expression) 2010-04-24 18:53:47 +00:00
fp-test.c
function.c cgraph.c (cgraph_create_node): Set node frequency to normal. 2010-04-26 13:33:24 +00:00
function.h cgraph.c (cgraph_create_node): Set node frequency to normal. 2010-04-26 13:33:24 +00:00
fwprop.c df-problems.c (df_simulate_initialize_forwards): Set, don't clear, bits for artificial defs at the top of the block. 2010-04-26 21:17:17 +00:00
gbl-ctors.h gbl-ctors.h: Add header guard. 2009-06-07 21:53:14 +02:00
gcc-plugin.h gcc.c (cc1_options): Handle -iplugindir before processing the cc1 spec. 2010-04-12 23:58:18 +00:00
gcc.c re PR lto/43857 (-fresolution causes an ICE) 2010-05-07 15:53:40 +00:00
gcc.h re PR driver/42485 (-V switch broken) 2010-04-08 17:21:26 +00:00
gccbug.in
gccspec.c
gcov-dump.c vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x. 2010-05-02 21:39:31 +02:00
gcov-io.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gcov-io.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gcov-iov.c vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x. 2010-05-02 21:39:31 +02:00
gcov.c gcc.c (process_command): Update copyright notice dates. 2010-01-09 01:00:42 +01:00
gcse.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
gdbinit.in * gdbinit.in (pgq): New function for printing gimple sequence. 2009-11-09 13:33:00 -05:00
genattr.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genattrtab.c df-core.c (df_ref_debug): Change format string placeholder from 0x%x to %#x. 2010-04-14 17:08:54 +02:00
genautomata.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gencheck.c
genchecksum.c vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x. 2010-05-02 21:39:31 +02:00
gencodes.c
genconditions.c
genconfig.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genconstants.c
genemit.c tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable. 2010-04-07 22:27:37 +02:00
genextract.c genoutput.c (validate_optab_operands): New. 2009-04-08 15:00:34 +00:00
genflags.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gengenrtl.c
gengtype-lex.l gengtype-lex.l: Enable noinput flex option. 2009-11-21 21:24:25 +11:00
gengtype-parse.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gengtype.c Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies. 2010-05-05 10:06:37 +00:00
gengtype.h Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies. 2010-05-05 10:06:37 +00:00
genmddeps.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genmodes.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genmultilib
genopinit.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genoutput.c recog.h (struct recog_data): New field is_operator. 2010-04-16 09:32:21 +00:00
genpeep.c
genpreds.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
genrecog.c alias.c: Use REG_P... 2009-06-22 10:29:13 +00:00
gensupport.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
gensupport.h
ggc-common.c Makefile.in (c-pch.o, [...]): Depend on timevar.h. 2010-04-13 09:30:31 -04:00
ggc-none.c
ggc-page.c ggc-page.c (struct free_object): Pull definition out ... 2009-12-03 02:04:16 +00:00
ggc-zone.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
ggc.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gimple-fold.c fold-const.c (fold_comparison): Use ssizetype. 2010-04-18 21:49:29 +00:00
gimple-iterator.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
gimple-low.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
gimple-pretty-print.c gimple-pretty-print.c (dump_gimple_phi): Dump alias info. 2010-04-16 09:49:20 +00:00
gimple.c re PR c++/43080 (ICE with anonymous union and -flto) 2010-04-26 09:19:24 +00:00
gimple.def gsstruct.def (GSS_CALL): New. 2010-04-12 15:20:48 +00:00
gimple.h gimple.h (create_tmp_reg): Declare. 2010-04-19 19:58:54 +02:00
gimplify.c gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate. 2010-05-06 15:46:14 -04:00
glimits.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
graph.c
graph.h
graphds.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
graphds.h
graphite-blocking.c Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
graphite-clast-to-gimple.c Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
graphite-clast-to-gimple.h Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
graphite-dependences.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
graphite-dependences.h Correct the lexicographical function, add debug_pddr. 2010-02-06 17:41:34 +00:00
graphite-interchange.c Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
graphite-poly.c Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
graphite-poly.h Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
graphite-ppl.c Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
graphite-ppl.h Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
graphite-scop-detection.c Avoid calling verify_ssa twice in verify_loop_closed_ssa. 2010-04-06 19:20:47 +00:00
graphite-scop-detection.h graphite-dependences.c (reduction_ddr): New. 2009-11-25 04:54:30 +00:00
graphite-sese-to-poly.c Replace Value with mpz_t 2010-05-06 21:53:35 +00:00
graphite-sese-to-poly.h Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
graphite.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
graphite.h New implementation of Graphite. 2009-07-31 02:44:28 +00:00
gsstruct.def gsstruct.def (GSS_CALL): New. 2010-04-12 15:20:48 +00:00
gstab.h gstab.h (stab_code_type): Define, to be used instead of the __stab_debug_code enum, made anonymous. 2009-05-20 12:44:44 +00:00
gsyms.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
gsyslimits.h
gthr-aix.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-dce.h gthr-dce.h (CONST_CAST2): Define if not defined. 2009-08-02 01:38:27 +00:00
gthr-gnat.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-gnat.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-lynx.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-mipssde.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-nks.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-posix.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-posix.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-posix95.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-rtems.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gthr-single.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-solaris.h re PR target/41810 (Cannot build gcc: gthr-default.h:466: error: '__mutex' was not declared in this scope) 2009-11-27 15:17:04 +00:00
gthr-tpf.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-vxworks.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
gthr-win32.h gthr-win32.h (__UNUSED_PARAM): Define, if not already present. 2009-08-25 12:32:38 +02:00
gthr.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
haifa-sched.c sel-sched.c (create_speculation_check): Remove set but not used variable twin. 2010-01-20 12:30:05 +01:00
hard-reg-set.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
highlev-plugin-common.h cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
hooks.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
hooks.h tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
host-default.c
hosthooks-def.h
hosthooks.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
hwint.h revert: hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string placeholder from 0x%x to %#x. 2010-05-02 15:10:40 +02:00
ifcvt.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
incpath.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
incpath.h
init-regs.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
input.h re PR preprocessor/41543 (BUILTINS_LOCATION wrong with -fpreprocessed) 2009-10-14 12:04:22 +02:00
insn-addr.h
insn-notes.def cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK. 2009-05-29 17:33:46 -07:00
integrate.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
integrate.h toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
intl.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
intl.h Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
ipa-cp.c gengtype.c (open_base_files): Add lto-streamer.h 2010-04-29 22:44:18 +00:00
ipa-inline.c re PR tree-optimization/43791 (kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009) 2010-05-06 14:15:22 +00:00
ipa-prop.c cgraph.h (struct cgraph_node): New field indirect_calls. 2010-04-28 16:05:54 +02:00
ipa-prop.h cgraph.h (struct cgraph_node): New field indirect_calls. 2010-04-28 16:05:54 +02:00
ipa-pure-const.c * lto-symtab.c (lto_symtab_entry_def) Add vnode. 2010-04-29 07:10:38 +00:00
ipa-ref-inline.h cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
ipa-ref.c cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
ipa-ref.h cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
ipa-reference.c * lto-symtab.c (lto_symtab_entry_def) Add vnode. 2010-04-29 07:10:38 +00:00
ipa-reference.h
ipa-struct-reorg.c re PR tree-optimization/43317 (ICE: Segmentation fault with -fipa-struct-reorg -g) 2010-03-15 13:05:05 +00:00
ipa-struct-reorg.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ipa-type-escape.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
ipa-type-escape.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ipa-utils.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ipa-utils.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ipa.c gengtype.c (open_base_files): Add lto-streamer.h 2010-04-29 22:44:18 +00:00
ira-build.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ira-color.c re PR bootstrap/43964 (4.6-20100501 (r158965) bootstrap failure on ARM, ira-color.c triggers -Werror) 2010-05-04 10:49:41 +00:00
ira-conflicts.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
ira-costs.c ira-costs.c (record_reg_classes): Ignore alternatives that are not enabled. 2010-04-10 12:28:25 +00:00
ira-emit.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ira-int.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
ira-lives.c re PR rtl-optimization/43520 (gcc.dg/pr43058.c uses way too memory on ia64) 2010-04-20 22:29:11 -07:00
ira.c re PR target/42895 (Low registers are preferred than register ip in thumb2 mode) 2010-04-29 21:37:01 +00:00
ira.h invoke.texi (-fsched-pressure): Document it. 2009-09-02 18:54:25 +00:00
jump.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lambda-code.c tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
lambda-mat.c tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
lambda-trans.c tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
lambda.h tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
langhooks-def.h cgraph.c (same_body_alias_1): Break out of 2009-11-29 10:32:08 +00:00
langhooks.c re PR lto/42392 ([LTO] ICE with top level asm) 2009-12-16 23:07:10 +00:00
langhooks.h re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags) 2010-05-06 10:12:36 +00:00
lcm.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
libfuncs.h Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
libgcc-libsystem.ver re PR java/41991 (gcj segfaults on i686-apple-darwin9 and x86_64-apple-darwin9) 2010-02-02 09:18:08 +01:00
libgcc-std.ver re PR other/25232 (libgcc-std.ver should include __unordxf2 and __unordtf2) 2010-03-30 13:35:08 +01:00
libgcc2.c libgcc2.c (L_trampoline): Prototype for getpagesize and mprotect in WINNT case. 2009-09-24 21:02:44 +02:00
libgcc2.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
libgcov.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
limitx.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
limity.h
lists.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
longlong.h s390.md: Replace TARGET_64BIT with TARGET_ZARCH. 2010-04-13 09:04:31 +00:00
loop-doloop.c re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 13:47:18 +01:00
loop-init.c timevar.def (TV_LOOP_MOVE_INVARIANTS, [...]): New timevars. 2009-11-27 12:43:08 +00:00
loop-invariant.c loop-invariant.c (replace_uses): New static function. 2010-04-09 20:13:59 +00:00
loop-iv.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
loop-unroll.c Implement target hook for loop unrolling 2010-04-08 15:07:57 +00:00
loop-unswitch.c re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
lower-subreg.c ira-color.c (put_allocno_into_bucket): Remove set but not used local variable hard_regs_num. 2009-11-28 09:49:56 +00:00
lto-cgraph.c cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
lto-compress.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
lto-compress.h Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
lto-opts.c re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags) 2010-05-06 10:12:36 +00:00
lto-section-in.c cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
lto-section-out.c lto-cgraph.c (output_varpool): Forward declare; work on encoder. 2010-05-05 10:21:42 +00:00
lto-streamer-in.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
lto-streamer-out.c lto-cgraph.c (output_varpool): Forward declare; work on encoder. 2010-05-05 10:21:42 +00:00
lto-streamer.c cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
lto-streamer.h cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
lto-symtab.c cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
lto-wrapper.c lto-wrapper.c (DUMPBASE_SUFFIX): Define. 2010-05-07 15:52:01 +00:00
machmode.def
machmode.h Fix enum conversions which are invalid in C++: 2009-04-20 19:35:00 +00:00
main.c re PR other/31567 (cc1, cc1plus, etc. don't support @file mechanism) 2009-04-17 17:11:46 -04:00
matrix-reorg.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
mcf.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
mips-tdump.c gcc.c (process_command): Update copyright notice dates. 2010-01-09 01:00:42 +01:00
mips-tfile.c gcc.c (process_command): Update copyright notice dates. 2010-01-09 01:00:42 +01:00
mkconfig.sh
mkmap-flat.awk
mkmap-symver.awk
mode-classes.def
mode-switching.c target.h (struct calls): Add function_value_regno_p field. 2010-05-02 14:49:10 +04:00
modulo-sched.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
omega.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
omega.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
omp-builtins.def
omp-low.c re PR middle-end/43570 (OpenMP: Invalid read of size 1 (libgomp.fortran/vla6.f90)) 2010-04-21 13:57:42 +02:00
opt-functions.awk opt-functions.awk (opt_sanitized_name): New. 2010-04-13 14:27:22 +00:00
opt-gather.awk
optabs.c double-int.h (double_int_setbit): Declare. 2010-04-20 20:33:46 +04:00
optabs.h optabs.h (expand_widening_mult): Declare. 2010-04-22 11:47:52 +00:00
optc-gen.awk vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x. 2010-05-02 14:31:18 +02:00
opth-gen.awk opt-functions.awk (opt_sanitized_name): New. 2010-04-13 14:27:22 +00:00
opts-common.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
opts.c re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags) 2010-05-06 10:12:36 +00:00
opts.h re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags) 2010-05-06 10:12:36 +00:00
output.h tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. 2009-10-26 21:57:10 +00:00
params.c cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
params.def Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
params.h cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
passes.c re PR lto/43946 (SPEC2000 GCC fails to build with -fprofile-generate -O2 -ffast-math -flto -fwhole-program) 2010-04-30 13:23:25 +00:00
plugin.c plugin.h (invoke_plugin_callbacks): New inline function. 2010-04-29 09:01:56 +00:00
plugin.def decl.c (finish_function): Rename pre-genericize event. 2009-12-21 20:37:49 +00:00
plugin.h Move flag_plugin_added out of invoke_plugin_callbacks. 2010-04-29 09:29:10 -07:00
pointer-set.c
pointer-set.h
postreload-gcse.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
postreload.c re PR debug/43051 (VTA causes a stack living parameter unavailable in most of the function) 2010-03-16 11:50:42 +01:00
predict.c cgraph.c (cgraph_create_node): Set node frequency to normal. 2010-04-26 13:33:24 +00:00
predict.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
predict.h predict.c (compute_function_frequency): Export. 2009-11-18 13:09:15 +00:00
prefix.c
prefix.h
pretty-print.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
pretty-print.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
print-rtl.c df-core.c (df_ref_debug): Change format string placeholder from 0x%x to %#x. 2010-04-14 17:08:54 +02:00
print-tree.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
profile.c re PR other/42537 ([PATCH] misc spelling fixes) 2009-12-30 10:53:31 +00:00
profile.h
read-rtl.c read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'. 2010-04-02 16:51:01 +01:00
real.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
real.h re PR bootstrap/41771 (Bootstrap with Sun Studio 12.1 fails) 2010-01-05 17:14:30 +00:00
recog.c recog.h (struct recog_data): New field is_operator. 2010-04-16 09:32:21 +00:00
recog.h recog.h (struct recog_data): New field is_operator. 2010-04-16 09:32:21 +00:00
reg-notes.def re PR debug/43290 (ICE in dwarf2out_frame_debug_expr) 2010-03-10 19:17:10 +01:00
reg-stack.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
regcprop.c re PR debug/43161 (Wrong debug info in guality/vla-1.c (f2)) 2010-02-26 12:01:28 +01:00
reginfo.c re PR target/43662 (ICE in insert_save with ms_abi attribute) 2010-04-19 10:02:52 +00:00
regmove.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
regrename.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
regs.h tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
regstat.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
reload.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
reload.h Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
reload1.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
reorg.c reorg.c (delete_computation): Comment fixes. 2010-02-14 12:58:16 +00:00
resource.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
resource.h resource.c (mark_referenced_resources): Change include_delayed_effects parameter to bool. 2009-06-16 18:55:20 +00:00
rtl-error.c
rtl.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
rtl.def Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
rtl.h re PR debug/43478 (Missing DW_AT_location for a variable) 2010-05-05 12:43:36 +02:00
rtlanal.c target.h (struct calls): Add function_value_regno_p field. 2010-05-02 14:49:10 +04:00
rtlhooks-def.h
rtlhooks.c extend.texi (Named Address Spaces): New section. 2009-10-26 21:55:59 +00:00
sbitmap.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sbitmap.h
sched-deps.c tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. 2010-05-03 17:47:47 +00:00
sched-ebb.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sched-int.h Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
sched-rgn.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
sched-vis.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sdbout.c Add support for C++0x nullptr. 2010-05-06 16:51:52 -04:00
sdbout.h
sel-sched-dump.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
sel-sched-dump.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sel-sched-ir.c sel-sched.c: Add 2010 to copyright years. 2010-01-14 16:50:09 +03:00
sel-sched-ir.h sel-sched.c: Add 2010 to copyright years. 2010-01-14 16:50:09 +03:00
sel-sched.c sel-sched.c (create_speculation_check): Remove set but not used variable twin. 2010-01-20 12:30:05 +01:00
sel-sched.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sese.c sese.h (create_if_region_on_edge): Remove. 2010-04-23 06:02:06 +00:00
sese.h sese.h (create_if_region_on_edge): Remove. 2010-04-23 06:02:06 +00:00
simplify-rtx.c double-int.h (double_int_setbit): Declare. 2010-04-20 20:33:46 +04:00
sparseset.c
sparseset.h
sreal.c
sreal.h
ssaexpand.h ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap. 2009-04-27 12:16:00 +00:00
stab.def
stack-ptr-mod.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
statistics.c statistics.c (statistics_counter_event): Do not record event in pass dump if its number == -1. 2009-06-03 18:36:47 +04:00
statistics.h
stmt.c re PR middle-end/42233 (c++ builtin_expect code generation regression) 2010-02-19 10:53:51 +01:00
stor-layout.c stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *. 2010-05-05 21:32:44 +00:00
store-motion.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
stringpool.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
stub-objc.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
sync-builtins.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
system.h re PR target/42895 (Low registers are preferred than register ip in thumb2 mode) 2010-04-29 21:37:01 +00:00
target-def.h configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
target.h configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. 2010-05-07 21:37:43 +00:00
targhooks.c target.h (struct calls): Add function_value_regno_p field. 2010-05-02 14:49:10 +04:00
targhooks.h target.h (struct calls): Add function_value_regno_p field. 2010-05-02 14:49:10 +04:00
timevar.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
timevar.def gengtype.c (open_base_files): Add lto-streamer.h 2010-04-29 22:44:18 +00:00
timevar.h df.h: Include "timevar.h". 2009-04-17 05:40:46 +00:00
tlink.c collect2.c (TARGET_64BIT): Redefine to target's default. 2010-04-27 19:48:58 +02:00
toplev.c sdbout.c: Include vec.h, do not include varray.h. 2010-04-30 14:58:54 +00:00
toplev.h toplev.h (inform_n, error_n): Declare. 2010-03-01 09:56:41 +00:00
tracer.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-affine.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-affine.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-browser.c
tree-browser.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-call-cdce.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-cfg.c re PR middle-end/29274 (not using mulsidi3) 2010-04-22 09:30:27 +00:00
tree-cfgcleanup.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-chrec.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-chrec.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-complex.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-data-ref.c tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
tree-data-ref.h tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
tree-dfa.c gimple.h (create_tmp_reg): Declare. 2010-04-19 19:58:54 +02:00
tree-dump.c tree-ssa-structalias.c (struct variable_info): Add is_fn_info flag. 2010-04-15 13:16:44 +00:00
tree-dump.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-eh.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-flow-inline.h re PR tree-optimization/43572 (FAIL: gfortran.dg/PR19872.f execution test; formatted read - wrong numbers) 2010-04-16 13:21:38 +00:00
tree-flow.h re PR tree-optimization/43934 (LIM should handle PHI nodes) 2010-05-06 09:04:00 +00:00
tree-if-conv.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
tree-inline.c cgraph.h (struct cgraph_node): New field indirect_calls. 2010-04-28 16:05:54 +02:00
tree-inline.h Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
tree-into-ssa.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
tree-iterator.c tree-iterator.c (expr_only): Remove. 2009-04-18 11:47:22 +00:00
tree-iterator.h tree-iterator.c (tsi_split_statement_list_after, [...]): Remove. 2009-04-16 18:50:07 +00:00
tree-loop-distribution.c fold-const.c (fold_comparison): Use ssizetype. 2010-04-18 21:49:29 +00:00
tree-loop-linear.c tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
tree-mudflap.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-mudflap.h
tree-nested.c re PR middle-end/43337 (ICE: in lookup_decl_in_outer_ctx, at omp-low.c:2103) 2010-04-19 23:50:16 +02:00
tree-nomudflap.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
tree-nrv.c re PR tree-optimization/43572 (FAIL: gfortran.dg/PR19872.f execution test; formatted read - wrong numbers) 2010-04-16 13:21:38 +00:00
tree-object-size.c fold-const.c (fold_comparison): Use ssizetype. 2010-04-18 21:49:29 +00:00
tree-optimize.c cgraphunit.c (plugin.h): Include. 2009-12-01 19:12:29 +00:00
tree-outof-ssa.c tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable. 2010-04-07 22:27:37 +02:00
tree-parloops.c tree-parloops.c (loop_parallel_p): New argument parloop_obstack. 2010-04-22 12:42:15 +00:00
tree-pass.h * lto-symtab.c (lto_symtab_entry_def) Add vnode. 2010-04-29 07:10:38 +00:00
tree-phinodes.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
tree-predcom.c gimple.h (create_tmp_reg): Declare. 2010-04-19 19:58:54 +02:00
tree-pretty-print.c tree-ssa-structalias.c (struct variable_info): Add is_fn_info flag. 2010-04-15 13:16:44 +00:00
tree-profile.c tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as needed. 2010-04-30 14:24:44 +00:00
tree-scalar-evolution.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-scalar-evolution.h re PR tree-optimization/42732 ([graphite] ICE: verify_ssa failed) 2010-01-14 07:38:15 +00:00
tree-sra.c tree-sra.c (build_access_from_expr_1): The first parameter type changed to simple tree. 2010-05-04 19:34:01 +02:00
tree-ssa-address.c double-int.h (double_int_setbit): Declare. 2010-04-20 20:33:46 +04:00
tree-ssa-alias.c re PR tree-optimization/43572 (FAIL: gfortran.dg/PR19872.f execution test; formatted read - wrong numbers) 2010-04-16 13:21:38 +00:00
tree-ssa-alias.h re PR tree-optimization/43572 (FAIL: gfortran.dg/PR19872.f execution test; formatted read - wrong numbers) 2010-04-16 13:21:38 +00:00
tree-ssa-ccp.c Makefile.in (OBJS-common): Add gimple-fold.o. 2010-04-15 12:58:05 +00:00
tree-ssa-coalesce.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-ssa-copy.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-ssa-copyrename.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-dce.c re PR tree-optimization/42906 (Empty loop not removed) 2010-04-06 15:18:18 +00:00
tree-ssa-dom.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-ssa-dse.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-ssa-forwprop.c ipa-reference.c (mark_load): Use get_base_address. 2010-04-07 15:31:37 +00:00
tree-ssa-ifcombine.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-live.c final.c (rest_of_clean_state): If -fcompare-debug is given dump final insns without UIDs. 2009-12-01 10:02:24 +00:00
tree-ssa-live.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-loop-ch.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-loop-im.c re PR tree-optimization/43934 (LIM should handle PHI nodes) 2010-05-06 09:04:00 +00:00
tree-ssa-loop-ivcanon.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-ssa-loop-ivopts.c tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of the variable part of the offset as well. 2010-04-30 21:10:53 +00:00
tree-ssa-loop-manip.c Avoid calling verify_ssa twice in verify_loop_closed_ssa. 2010-04-06 19:20:47 +00:00
tree-ssa-loop-niter.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-ssa-loop-prefetch.c Define the TRIP_COUNT_TO_AHEAD_RATIO heuristic. 2010-05-07 17:26:02 +00:00
tree-ssa-loop-unswitch.c Fix a problematic logic at unswitch-loops pass. 2010-04-08 18:16:57 +00:00
tree-ssa-loop.c re PR tree-optimization/43934 (LIM should handle PHI nodes) 2010-05-06 09:04:00 +00:00
tree-ssa-math-opts.c re PR middle-end/29274 (not using mulsidi3) 2010-04-22 09:30:27 +00:00
tree-ssa-operands.c ipa-reference.c (mark_load): Use get_base_address. 2010-04-07 15:31:37 +00:00
tree-ssa-operands.h tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable. 2010-04-07 22:27:37 +02:00
tree-ssa-phiopt.c gimple.h (create_tmp_reg): Declare. 2010-04-19 19:58:54 +02:00
tree-ssa-phiprop.c gimple.h (create_tmp_reg): Declare. 2010-04-19 19:58:54 +02:00
tree-ssa-pre.c re PR middle-end/44020 (Failed to build 200.sixtrack in SPEC CPU 2K) 2010-05-07 11:55:21 +00:00
tree-ssa-propagate.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
tree-ssa-propagate.h tree-ssa-propagate.h (ssa_prop_fold_stmt_fn): Declare. 2009-09-22 08:30:34 +00:00
tree-ssa-reassoc.c tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR to simplify a + ~a. 2010-04-22 16:44:30 +04:00
tree-ssa-sccvn.c re PR tree-optimization/43270 (array-bounds false negative) 2010-04-07 12:31:32 +00:00
tree-ssa-sccvn.h re PR tree-optimization/43270 (array-bounds false negative) 2010-04-07 12:31:32 +00:00
tree-ssa-sink.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-ssa-structalias.c re PR middle-end/43987 (type-punning causes broken binaries unless -O0 is used) 2010-05-06 08:53:19 +00:00
tree-ssa-ter.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-threadedge.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-ssa-threadupdate.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
tree-ssa-uncprop.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree-ssa-uninit.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
tree-ssa.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
tree-ssanames.c toplev.c: Include varray.h for statistics dumping. 2010-04-30 11:58:49 +00:00
tree-stdarg.c invoke.texi (-fvar-tracking-assignments): New. 2009-09-02 02:42:21 +00:00
tree-stdarg.h
tree-switch-conversion.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-tailcall.c re PR tree-optimization/43879 (-fipa-pta causes various miscompilations) 2010-05-02 18:10:53 +00:00
tree-vect-data-refs.c tree-vectorizer.h (struct _stmt_vec_info): Add new field to determine if the statement is vectorizable... 2010-04-26 06:39:27 +00:00
tree-vect-generic.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tree-vect-loop-manip.c re PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp) 2010-01-19 16:05:57 +00:00
tree-vect-loop.c re PR tree-optimization/43842 (ice in vect_create_epilog_for_reduction) 2010-04-22 18:03:01 +00:00
tree-vect-patterns.c re PR tree-optimization/37027 (SLP loop vectorization missing support for reductions) 2010-04-19 09:10:45 +00:00
tree-vect-slp.c tree-vectorizer.h (struct _stmt_vec_info): Add new field to determine if the statement is vectorizable... 2010-04-26 06:39:27 +00:00
tree-vect-stmts.c re PR middle-end/43901 (FAIL: gcc.c-torture/compile/pr42196-2.c) 2010-05-06 06:42:51 +00:00
tree-vectorizer.c tree-vectorizer.c (vectorize_loops): Properly guard vectorizer verboseness. 2009-12-10 14:16:28 +00:00
tree-vectorizer.h cfgloop.h (struct loop): Move can_be_parallel field up. 2010-04-26 18:21:17 +00:00
tree-vrp.c re PR tree-optimization/43949 (bogus warning: array subscript is above array bounds) 2010-05-04 09:53:28 +00:00
tree.c * tree.c (initializer_zerop): Handle STRING_CST. 2010-05-06 10:28:46 +00:00
tree.def Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
tree.h tree.h (TREE_ADDRESSABLE): Adjust comment to say that this is also meaningful on PARM_DECLs and RESULT_DECLs. 2010-05-07 17:47:52 +02:00
treestruct.def Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
tsystem.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
typeclass.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-c.c i386.c (ix86_emit_restore_sse_regs_using_mov): Remove unused insn variable. 2009-11-27 12:37:06 +01:00
unwind-compat.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
unwind-compat.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-dw2-fde-compat.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-dw2-fde-darwin.c Make-lang.in, [...]: Update copyright years. 2010-04-02 19:54:46 +00:00
unwind-dw2-fde-glibc.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
unwind-dw2-fde.c dwarf2out.c (output_call_frame_info): For dw_cie_version >= 4 add also address size and segment size fields into CIE... 2010-04-21 08:57:37 +02:00
unwind-dw2-fde.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-dw2.c * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes. 2010-04-27 11:40:46 +02:00
unwind-dw2.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-generic.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-pe.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind-sjlj.c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unwind.inc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
value-prof.c matrix-reorg.c (analyze_matrix_allocation_site): Remove unused malloc_fname variable. 2009-11-28 17:21:00 +01:00
value-prof.h Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
var-tracking.c var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value in a temporary instead of invoking the macro... 2010-05-05 11:25:01 +02:00
varasm.c re PR debug/43478 (Missing DW_AT_location for a variable) 2010-05-05 12:43:36 +02:00
varpool.c cgraphbuild.c (record_reference_ctx): Add varpool_node. 2010-05-06 08:39:32 +00:00
vec.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
vec.h Update copyright notices of my recent commits. 2010-01-09 14:46:25 +00:00
vecprim.h Squash commit of EH in gimple 2009-09-14 12:18:58 -07:00
version.c ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
version.h
vmsdbg.h
vmsdbgout.c vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x. 2010-05-02 14:31:18 +02:00
web.c Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H). 2010-04-10 12:30:29 +00:00
xcoff.h ABOUT-GCC-NLS, [...]: Add copyright and license notices. 2009-04-21 20:03:23 +01:00
xcoffout.c Remove trailing white spaces. 2009-11-25 02:55:54 -08:00
xcoffout.h dbxout.c (dbxout_source_line): Add is_stmt parameter. 2009-06-17 16:54:40 -07:00

README.Portability

Copyright (C) 2000, 2003 Free Software Foundation, Inc.

This file is intended to contain a few notes about writing C code
within GCC so that it compiles without error on the full range of
compilers GCC needs to be able to compile on.

The problem is that many ISO-standard constructs are not accepted by
either old or buggy compilers, and we keep getting bitten by them.
This knowledge until know has been sparsely spread around, so I
thought I'd collect it in one useful place.  Please add and correct
any problems as you come across them.

I'm going to start from a base of the ISO C90 standard, since that is
probably what most people code to naturally.  Obviously using
constructs introduced after that is not a good idea.

For the complete coding style conventions used in GCC, please read
http://gcc.gnu.org/codingconventions.html


String literals
---------------

Irix6 "cc -n32" and OSF4 "cc" have problems with constant string
initializers with parens around it, e.g.

const char string[] = ("A string");

This is unfortunate since this is what the GNU gettext macro N_
produces.  You need to find a different way to code it.

Some compilers like MSVC++ have fairly low limits on the maximum
length of a string literal; 509 is the lowest we've come across.  You
may need to break up a long printf statement into many smaller ones.


Empty macro arguments
---------------------

ISO C (6.8.3 in the 1990 standard) specifies the following:

If (before argument substitution) any argument consists of no
preprocessing tokens, the behavior is undefined.

This was relaxed by ISO C99, but some older compilers emit an error,
so code like

#define foo(x, y) x y
foo (bar, )

needs to be coded in some other way.


free and realloc
----------------

Some implementations crash upon attempts to free or realloc the null
pointer.  Thus if mem might be null, you need to write

  if (mem)
    free (mem);


Trigraphs
---------

You weren't going to use them anyway, but some otherwise ISO C
compliant compilers do not accept trigraphs.


Suffixes on Integer Constants
-----------------------------

You should never use a 'l' suffix on integer constants ('L' is fine),
since it can easily be confused with the number '1'.


			Common Coding Pitfalls
			======================

errno
-----

errno might be declared as a macro.


Implicit int
------------

In C, the 'int' keyword can often be omitted from type declarations.
For instance, you can write

  unsigned variable;

as shorthand for

  unsigned int variable;

There are several places where this can cause trouble.  First, suppose
'variable' is a long; then you might think

  (unsigned) variable

would convert it to unsigned long.  It does not.  It converts to
unsigned int.  This mostly causes problems on 64-bit platforms, where
long and int are not the same size.

Second, if you write a function definition with no return type at
all:

  operate (int a, int b)
  {
    ...
  }

that function is expected to return int, *not* void.  GCC will warn
about this.

Implicit function declarations always have return type int.  So if you
correct the above definition to

  void
  operate (int a, int b)
  ...

but operate() is called above its definition, you will get an error
about a "type mismatch with previous implicit declaration".  The cure
is to prototype all functions at the top of the file, or in an
appropriate header.

Char vs unsigned char vs int
----------------------------

In C, unqualified 'char' may be either signed or unsigned; it is the
implementation's choice.  When you are processing 7-bit ASCII, it does
not matter.  But when your program must handle arbitrary binary data,
or fully 8-bit character sets, you have a problem.  The most obvious
issue is if you have a look-up table indexed by characters.

For instance, the character '\341' in ISO Latin 1 is SMALL LETTER A
WITH ACUTE ACCENT.  In the proper locale, isalpha('\341') will be
true.  But if you read '\341' from a file and store it in a plain
char, isalpha(c) may look up character 225, or it may look up
character -31.  And the ctype table has no entry at offset -31, so
your program will crash.  (If you're lucky.)

It is wise to use unsigned char everywhere you possibly can.  This
avoids all these problems.  Unfortunately, the routines in <string.h>
take plain char arguments, so you have to remember to cast them back
and forth - or avoid the use of strxxx() functions, which is probably
a good idea anyway.

Another common mistake is to use either char or unsigned char to
receive the result of getc() or related stdio functions.  They may
return EOF, which is outside the range of values representable by
char.  If you use char, some legal character value may be confused
with EOF, such as '\377' (SMALL LETTER Y WITH UMLAUT, in Latin-1).
The correct choice is int.

A more subtle version of the same mistake might look like this:

  unsigned char pushback[NPUSHBACK];
  int pbidx;
  #define unget(c) (assert(pbidx < NPUSHBACK), pushback[pbidx++] = (c))
  #define get(c) (pbidx ? pushback[--pbidx] : getchar())
  ...
  unget(EOF);

which will mysteriously turn a pushed-back EOF into a SMALL LETTER Y
WITH UMLAUT.


Other common pitfalls
---------------------

o Expecting 'plain' char to be either sign or unsigned extending.

o Shifting an item by a negative amount or by greater than or equal to
  the number of bits in a type (expecting shifts by 32 to be sensible
  has caused quite a number of bugs at least in the early days).

o Expecting ints shifted right to be sign extended.

o Modifying the same value twice within one sequence point.

o Host vs. target floating point representation, including emitting NaNs
  and Infinities in a form that the assembler handles.

o qsort being an unstable sort function (unstable in the sense that
  multiple items that sort the same may be sorted in different orders
  by different qsort functions).

o Passing incorrect types to fprintf and friends.

o Adding a function declaration for a module declared in another file to
  a .c file instead of to a .h file.