gcc/gcc
Simon Baldwin c047ce9383 cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined.
* include/cpplib.h (struct cpp_options): Add new boolean flag
	warn_builtin_macro_redefined.
	* init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined.
	* (struct builtin_operator): Split out from previous struct builtin,
	enhance extra const correctness.
	* (struct builtin_macro): Split out from previous struct builtin, add
	new always_warn_if_redefined flag, enhance const correctness.
	* (mark_named_operators): Use struct builtin_operator.
	* (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN
	to builtins selectively.
	* macro.c (warn_of_redefinition): Return false if a builtin macro
	is not flagged with NODE_WARN.

	* c-opts.c (c_common_handle_option): Add handling for
	-Wbuiltin-macro-redefined command line option.
	* c.opt: Added builtin-macro-redefined option.
	* doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined
	documentation.

	* gcc.dg/builtin-redefine.c: New.

From-SVN: r140461
2008-09-18 15:39:08 +00:00
..
ada re PR ada/21327 (gnat_ugn.texi invalid @direntry) 2008-09-17 07:58:12 +00:00
config sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to... 2008-09-18 14:25:39 +00:00
cp re PR c++/22374 (C++ front-end produces mis-match types in MODIFY_EXPR (dynamic_cast)) 2008-09-17 19:07:27 +00:00
doc cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined. 2008-09-18 15:39:08 +00:00
fortran re PR fortran/37507 (Print location in (DE)ALLOCATION errors) 2008-09-18 14:02:50 +02:00
ginclude float.h (DEC_EVAL_METHOD): Correct the macro name. 2008-09-11 22:50:51 +00:00
java re PR objc/37460 (NeXT runtime ICEs) 2008-09-17 14:39:13 -07:00
objc re PR objc/37460 (NeXT runtime ICEs) 2008-09-17 14:39:13 -07:00
objcp re PR objc/37460 (NeXT runtime ICEs) 2008-09-17 14:39:13 -07:00
po Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
testsuite cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined. 2008-09-18 15:39:08 +00:00
ABOUT-GCC-NLS
BASE-VER * BASE-VER: Set to 4.4.0. 2008-02-18 23:41:06 +01:00
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined. 2008-09-18 15:39:08 +00:00
ChangeLog-1997
ChangeLog-1998 Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
ChangeLog-1999 Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
ChangeLog-2000 Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003 Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
ChangeLog-2004 Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
ChangeLog-2005
ChangeLog-2006 Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
ChangeLog-2007 Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
ChangeLog.dataflow
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
DATESTAMP Daily bump. 2008-09-18 00:16:44 +00:00
DEV-PHASE
FSFChangeLog Convert ChangeLog files to UTF-8. 2008-09-05 13:07:45 +02:00
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES
Makefile.in cgraph.c: Include value-prof.h 2008-09-13 22:32:57 +00:00
ONEWS
README.Portability
acinclude.m4 configure.ac: Drop unneeded backslash ending up in config.in. 2008-06-02 19:37:45 +00:00
aclocal.m4 re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
addresses.h
alias.c re PR middle-end/37385 (ICE in set_mem_alias_set with the vectorizer and function pointers) 2008-09-17 11:42:11 +00:00
alias.h * alias.h (alias_set_type): Change from HOST_WIDE_INT to int. 2008-03-06 01:18:51 +00:00
alloc-pool.c alloc-pool.c (hash_descriptor, [...]): Fix -Wc++-compat warnings. 2008-07-04 00:22:31 +00:00
alloc-pool.h re PR tree-optimization/34176 (SCCVN breaks gettext) 2007-11-23 14:28:59 +00:00
attribs.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
auto-inc-dec.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
basic-block.h postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p. 2008-08-31 12:52:07 +00:00
bb-reorder.c parse.c (parse_interface): Silence uninitialized var warning. 2008-08-30 10:38:55 +00:00
bitmap.c alloc-pool.c (hash_descriptor, [...]): Fix -Wc++-compat warnings. 2008-07-04 00:22:31 +00:00
bitmap.h bitmap.h (bitmap_set_bit): Return bool. 2008-07-02 08:07:41 +00:00
bt-load.c bt-load.c (add_btr_def, [...]): Avoid C++ keywords. 2008-07-15 17:34:40 +00:00
builtin-attrs.def builtin-attrs.def (ATTR_NONNULL_3): New. 2007-09-06 01:22:51 +02:00
builtin-types.def targhooks.h (struct gcc_target): New member unwind_word_mode. 2008-06-18 20:49:12 +00:00
builtins.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
builtins.def targhooks.h (struct gcc_target): New member unwind_word_mode. 2008-06-18 20:49:12 +00:00
c-aux-info.c
c-common.c c-common.c (c_expand_decl): Remove. 2008-09-09 08:56:58 +00:00
c-common.def
c-common.h c-common.c (c_expand_decl): Remove. 2008-09-09 08:56:58 +00:00
c-config-lang.in
c-convert.c stdfix.h: New file. 2007-09-07 01:24:09 +00:00
c-cppbuiltin.c real.h (struct real_format): New member round_towards_zero. 2008-08-12 13:19:40 +00:00
c-decl.c c-common.c (c_expand_decl): Remove. 2008-09-09 08:56:58 +00:00
c-dump.c c-common.c (vector_types_convertible_p, [...]): Constify. 2007-08-25 15:10:40 +00:00
c-errors.c diagnostic.c (pedwarn_at): Rename as pedwarn. 2008-08-21 10:55:13 +00:00
c-format.c * c-format.c (check_format_types): Revert unwanted checkin. 2008-07-29 18:27:50 +02:00
c-format.h c-lex.c (narrowest_unsigned_type): Change itk to int. 2008-06-22 14:56:08 +00:00
c-gimplify.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
c-lang.c tree.h (enum tree_code): Include all-tree.def, not tree.def. 2008-06-21 21:17:40 +00:00
c-lex.c diagnostic.c (pedwarn_at): Rename as pedwarn. 2008-08-21 10:55:13 +00:00
c-objc-common.c c-common.c (vector_types_convertible_p, [...]): Constify. 2007-08-25 15:10:40 +00:00
c-objc-common.h c-common.c (c_expand_decl): Remove. 2008-09-09 08:56:58 +00:00
c-omp.c tree.c (protected_set_expr_location): New. 2008-09-01 15:02:27 +00:00
c-opts.c cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined. 2008-09-18 15:39:08 +00:00
c-parser.c function.h (struct function): Add function_start_locus. 2008-09-09 10:56:23 +00:00
c-pch.c diagnostic.c (inform): Add an explicit location_t parameter. 2008-08-20 13:35:00 +00:00
c-ppoutput.c * c-ppoutput.c (init_pp_output): Initialize src_line to 1. 2008-08-22 08:51:32 +00:00
c-pragma.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
c-pragma.h c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
c-pretty-print.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
c-pretty-print.h
c-semantics.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
c-tree.h tree.c (protected_set_expr_location): New. 2008-09-01 15:02:27 +00:00
c-typeck.c diagnostic.c (error_at): New. 2008-09-03 01:00:04 +00:00
c.opt cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined. 2008-09-18 15:39:08 +00:00
caller-save.c re PR rtl-optimization/37435 (ICE with volatiles) 2008-09-09 16:58:57 -07:00
calls.c rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND or REG_LABEL_TARGET. 2008-09-04 17:32:38 +00:00
cfg.c cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
cfganal.c cfganal.c: Include vec.h and vecprim.h. 2008-06-26 20:06:49 +00:00
cfgbuild.c rtl.h (emit_clobber, [...]): Declare. 2008-06-01 09:47:28 +00:00
cfgcleanup.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
cfgexpand.c re PR debug/34037 (Bounds for VLAs not emitted into debuginfo) 2008-09-18 17:17:10 +02:00
cfghooks.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cfghooks.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cfglayout.c function.c (free_after_compilation): Call insn_locators_free. 2008-09-11 12:31:40 +00:00
cfglayout.h
cfgloop.c backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
cfgloop.h backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
cfgloopanal.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
cfgloopmanip.c backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
cfgrtl.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
cgraph.c cgraph.c: Include value-prof.h 2008-09-13 22:32:57 +00:00
cgraph.h ipa-prop.h (struct ipa_param_flags): Removed. 2008-09-11 19:03:23 +02:00
cgraphbuild.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
cgraphunit.c re PR middle-end/37293 (r139762 breaks libstdc++ build on darwin) 2008-09-03 11:48:27 -07:00
collect2.c collect2.c (symkind): New enum. 2008-07-26 14:26:45 +00:00
collect2.h
combine-stack-adj.c c-pch.c (get_ident): Avoid C++ keywords. 2008-07-16 17:55:42 +00:00
combine.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
common.opt invoke.texi (-fconserve-stack): Document. 2008-09-14 17:05:39 +00:00
conditions.h
config.build re PR bootstrap/35273 (Bootstrap of mingw32 using non-MSYS shell broken) 2008-02-21 19:55:39 +00:00
config.gcc Add picoChip port. 2008-09-03 12:10:49 +00:00
config.host config.host: Add x-aix to host_xmake_file. 2008-09-14 09:55:29 -04:00
config.in configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check. 2008-09-04 09:43:08 +00:00
configure configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check. 2008-09-04 09:43:08 +00:00
configure.ac configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check. 2008-09-04 09:43:08 +00:00
convert.c pa.c (reloc_needed): Use CASE_CONVERT. 2008-05-09 16:57:39 +02:00
convert.h stdfix.h: New file. 2007-09-07 01:24:09 +00:00
coretypes.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
coverage.c diagnostic.c (inform): Add an explicit location_t parameter. 2008-08-20 13:35:00 +00:00
coverage.h coverage.h (tree_coverage_counter_addr): Declare. 2008-03-08 20:52:50 +00:00
cppdefault.c
cppdefault.h
cppspec.c invoke.texi (Overall Options): Add .sx file extension as a synonym for .S. 2007-09-09 18:29:24 -04:00
crtstuff.c * crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define for uClibc. 2007-08-24 02:50:23 +00:00
cse.c re PR rtl-optimization/37489 (const_true_rtx returned for float compare) 2008-09-13 08:47:41 -07:00
cselib.c alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:28:15 +00:00
cselib.h Remove libcall notes. 2008-06-17 05:57:04 +00:00
cstamp-h.in
dbgcnt.c alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:28:15 +00:00
dbgcnt.def sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
dbgcnt.h
dbxout.c re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
dbxout.h
dce.c ggc-common.c (loc_array): Make static. 2008-09-11 12:48:53 +00:00
dce.h re PR rtl-optimization/33644 (ICE in local_cprop_pass with -ftrapv for crafty) 2007-10-22 19:28:23 +00:00
ddg.c df.h (struct df_ref): Replace 'insn' field with 'insn_info' field. 2008-06-18 05:42:23 +00:00
ddg.h
debug.c re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
debug.h re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
defaults.h defaults.h (TARGET_FLOAT_FORMAT): Remove. 2008-08-12 13:27:30 +00:00
df-byte-scan.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
df-core.c On behalf of Tianwei, for the following change: 2008-07-08 17:08:40 +00:00
df-problems.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
df-scan.c df-scan.c (df_get_entry_block_def_set): Add STACK_POINTER_REGNUM regardless of epilogue_completed. 2008-09-04 19:16:14 +00:00
df.h alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:28:15 +00:00
dfp.c dfp.h, [...]: Remove references to IEEE 754R. 2008-06-19 11:13:53 +10:00
dfp.h dfp.h, [...]: Remove references to IEEE 754R. 2008-06-19 11:13:53 +10:00
diagnostic.c diagnostic.c (error_at): New. 2008-09-03 01:00:04 +00:00
diagnostic.def re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors) 2008-08-08 23:57:19 +00:00
diagnostic.h re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors) 2008-08-08 23:57:19 +00:00
dojump.c dojump.c (do_jump): Move below. 2008-09-11 14:45:05 +00:00
dominance.c alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:28:15 +00:00
domwalk.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
domwalk.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
double-int.c alias.c (component_uses_parent_alias_set): Constify. 2007-08-14 15:18:11 +00:00
double-int.h re PR bootstrap/35051 (Build machine requires GMP and MPFR for building cross-host gccs) 2008-02-08 19:10:25 +00:00
dse.c re PR target/37382 (ICE in extract_insn: <var_decl 0x7fda26ff4b40 swig_module>) 0)) 2008-09-11 09:33:23 +02:00
dse.h
dummy-checksum.c
dwarf.h
dwarf2.h re PR fortran/22244 (dimension information is lost for multi-dimension array) 2007-12-09 18:08:06 +01:00
dwarf2asm.c re PR other/37265 (mt_allocator.cc:646: ICE: in gt_ggc_m_S, at ggc-page.c:1281) 2008-09-09 23:57:41 +00:00
dwarf2asm.h Makefile.in (c-cppbuiltin.o): Depend on debug.h. 2008-08-05 10:24:37 -07:00
dwarf2out.c re PR bootstrap/37441 (dwarf2 unwind info patches produce undefined symbols) 2008-09-17 12:26:43 +00:00
dwarf2out.h re PR fortran/22244 (dimension information is lost for multi-dimension array) 2007-12-09 18:08:06 +01:00
ebitmap.c dwarf2out.c (new_cfi, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:25:08 +00:00
ebitmap.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
emit-rtl.c emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment information passed to mark_reg_pointer. 2008-09-12 13:31:51 +00:00
emit-rtl.h
emutls.c
errors.c re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors) 2008-08-08 23:57:19 +00:00
errors.h re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors) 2008-08-08 23:57:19 +00:00
et-forest.c dwarf2out.c (new_cfi, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:25:08 +00:00
et-forest.h
except.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
except.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
exec-tool.in exec-tool.in: Use an environment variable (private) instead of a file (shared) as a semaphore... 2008-05-30 15:19:45 -04:00
explow.c emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment information passed to mark_reg_pointer. 2008-09-12 13:31:51 +00:00
expmed.c re PR target/37382 (ICE in extract_insn: <var_decl 0x7fda26ff4b40 swig_module>) 0)) 2008-09-11 09:33:23 +02:00
expr.c expr.c (emit_group_store): Do not shift before moving via a stack slot. 2008-09-18 02:09:40 +01:00
expr.h expr.c (MOVE_BY_PIECES_P, [...]): Pass speed operand. 2008-09-01 09:27:39 +00:00
final.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
fix-header.c scan.c (make_sstring_space): Add explicit conversions of allocator's return value. 2008-07-30 07:44:09 +00:00
fixed-value.c Reapply reverted change: 2007-09-07 16:42:48 +00:00
fixed-value.h
fixproto Committed with RM approval this time. 2008-01-25 07:52:56 +11:00
flags.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
fold-const.c tree-vectorizer.c (slpeel_add_loop_guard): Fix types. 2008-09-11 14:53:20 +00:00
fp-test.c
function.c re PR debug/34037 (Bounds for VLAs not emitted into debuginfo) 2008-09-18 17:17:10 +02:00
function.h cgraph.c (cgraph_release_function_body): Plug memory leak on ipa_transforms_to_apply and CFG... 2008-09-11 12:41:36 +00:00
fwprop.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
gbl-ctors.h
gcc.c re PR libgomp/26165 (Cannot find libgomp.spec after 'make install' on x86_64 and ppc64) 2008-08-12 18:19:08 +00:00
gcc.h re PR fortran/35019 (Gfortran does not support "-J <dir>" only "-J<dir>") 2008-04-21 13:10:15 -04:00
gccbug.in
gccspec.c
gcov-dump.c gcov-dump.c (tag_summary): Only print summaries for the first GCOV_COUNTERS_SUMMABLE counters. 2008-04-10 18:21:26 +00:00
gcov-io.c dwarf2out.c (new_cfi, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:25:08 +00:00
gcov-io.h * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden. 2008-03-18 14:47:14 +00:00
gcov-iov.c
gcov.c gcov.c (main): Call expandargv. 2008-08-29 10:07:23 +00:00
gcse.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
gdbinit.in backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
gen-protos.c
genattr.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
genattrtab.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
genautomata.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
gencheck.c tree.h (enum tree_code): Include all-tree.def, not tree.def. 2008-06-21 21:17:40 +00:00
genchecksum.c
gencodes.c
genconditions.c
genconfig.c
genconstants.c
genemit.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
genextract.c cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:22:12 +00:00
genflags.c
gengenrtl.c rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes in DEF_RTL_EXPR. 2007-08-23 00:30:39 +00:00
gengtype-lex.l cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:22:12 +00:00
gengtype-parse.c system.h (CONST_CAST2, [...]): New macros for type-specific casts. 2007-09-03 17:09:20 +00:00
gengtype.c Makefile.in (write_entries_to_file): Quote words. 2008-08-06 16:10:22 +00:00
gengtype.h genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
genmddeps.c
genmodes.c
genmultilib
genopinit.c Add SSE5 vector shift/rotate; Update SSE5 vector multiply 2008-05-14 20:07:53 +00:00
genoutput.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
genpeep.c
genpreds.c cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:22:12 +00:00
genrecog.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
gensupport.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
gensupport.h gensupport.h (pred_data): Add a "num_codes" field. 2008-05-08 21:28:27 +00:00
ggc-common.c ggc-common.c (loc_array): Make static. 2008-09-11 12:48:53 +00:00
ggc-none.c
ggc-page.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ggc-zone.c ggc-zone.c (lookup_page_table_if_allocated, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-07-04 04:47:55 +00:00
ggc.h ggc.h (GGC_RESIZEVAR): New, reorder macros. 2008-06-20 18:34:07 +00:00
gimple-iterator.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
gimple-low.c rtlanal.c: Fix uses of "it's" with "its" where appropriate. 2008-08-26 23:27:31 +10:00
gimple-pretty-print.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
gimple.c rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND or REG_LABEL_TARGET. 2008-09-04 17:32:38 +00:00
gimple.def backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
gimple.h re PR tree-optimization/37315 (gcc.c-torture/execute/931018-1.c int-compare.c ieee/inf-2.c mzero6.c) 2008-09-03 18:16:26 +00:00
gimplify.c re PR debug/34037 (Bounds for VLAs not emitted into debuginfo) 2008-09-18 17:17:10 +02:00
glimits.h
global.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
graph.c cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
graph.h
graphds.c
graphds.h invoke.texi: Document -ftree-loop-distribution. 2008-02-28 12:37:24 +00:00
graphite.c re PR middle-end/37484 ([graphite] Valgrind gives invalid reads/writes on CPU2006 403.gcc benchmark) 2008-09-12 23:03:54 +00:00
graphite.h backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
gsstruct.def backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
gstab.h
gsyms.h
gsyslimits.h
gthr-aix.h
gthr-dce.h re PR libfortran/35063 (Clean up use of destroy_unit_mutex()) 2008-03-01 12:46:31 +02:00
gthr-gnat.c
gthr-gnat.h
gthr-lynx.h cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
gthr-mipssde.h re PR libfortran/35063 (Clean up use of destroy_unit_mutex()) 2008-03-01 12:46:31 +02:00
gthr-nks.h re PR libfortran/35063 (Clean up use of destroy_unit_mutex()) 2008-03-01 12:46:31 +02:00
gthr-posix.c gtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix rule that a symbolic constant... 2008-08-28 22:00:46 +00:00
gthr-posix.h gtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix rule that a symbolic constant... 2008-08-28 22:00:46 +00:00
gthr-posix95.h gthr-posix.h (__gthread_active_p): Use the Solaris implementation for FreeBSD as well. 2008-04-18 02:16:35 +00:00
gthr-rtems.h gthr-rtems.h: Implement __gthread_mutex_destroy. 2008-03-05 13:16:57 +00:00
gthr-single.h gthr-single.h: Add in required interface elements as per gthr.h. 2008-05-05 17:42:26 +00:00
gthr-solaris.h re PR libfortran/35063 (Clean up use of destroy_unit_mutex()) 2008-03-01 12:46:31 +02:00
gthr-tpf.h re PR libfortran/35063 (Clean up use of destroy_unit_mutex()) 2008-03-01 12:46:31 +02:00
gthr-vxworks.h * gthr-vxworks.h (UNUSED): Define. 2008-03-24 11:18:22 +00:00
gthr-win32.h gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is defined. 2008-09-03 06:07:34 +00:00
gthr.h gthr-posix.h (__gthread_create, [...]): New functions. 2008-08-28 09:20:57 +00:00
haifa-sched.c haifa-sched.c (dep_cost_1): Recognize the producer even if the consumer is an asm. 2008-09-18 05:24:57 +00:00
hard-reg-set.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
hooks.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
hooks.h fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
host-default.c
hosthooks-def.h
hosthooks.h
hwint.h cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
ifcvt.c re PR rtl-optimization/37483 (Segfault in noce_try_sign_mask (ifcvt.c): b_unconditional) 2008-09-16 22:15:49 +00:00
incpath.c cpplib.h (struct cpp_dir): Add new field, canonical_name. 2008-05-30 00:57:56 +00:00
incpath.h re PR fortran/18428 (No preprocessing option -cpp for gfortran) 2008-05-25 18:37:41 -04:00
init-regs.c re PR other/35094 (RTL dump file letters hosed and partly undocumented) 2008-03-19 11:22:40 +00:00
input.h Makefile.in: Replace toplev.h with TOPLEV_H. 2008-07-21 14:29:27 +00:00
insn-addr.h
insn-notes.def
integrate.c driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:18:25 +00:00
integrate.h function.h (incomming_args): Break out of struct function. 2008-04-08 08:59:34 +00:00
intl.c alloc-pool.c (create_alloc_pool): Fix -Wc++-compat warnings. 2008-06-29 04:39:16 +00:00
intl.h
ipa-cp.c ipa-prop.h (struct ipa_param_flags): Removed. 2008-09-11 19:03:23 +02:00
ipa-inline.c ipa-prop.h (struct ipa_param_flags): Removed. 2008-09-11 19:03:23 +02:00
ipa-prop.c ipa-prop.h (struct ipa_param_flags): Removed. 2008-09-11 19:03:23 +02:00
ipa-prop.h ipa-prop.h (struct ipa_param_flags): Removed. 2008-09-11 19:03:23 +02:00
ipa-pure-const.c cgraph.c (first_cgraph_function_insertion_hook): New variable. 2008-08-21 15:26:59 +00:00
ipa-reference.c ipa-reference.c (analyze_function): Declare step only if ENABLE_CHECKING is defined. 2008-09-17 08:46:03 -07:00
ipa-reference.h
ipa-struct-reorg.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-struct-reorg.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-type-escape.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-type-escape.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-utils.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-utils.h
ipa.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
ira-build.c re PR rtl-optimization/37377 (Bootstrap failure compiling libgcc) 2008-09-12 22:55:23 +00:00
ira-color.c ira-color.c (finish_cost_update): Free update_cost_queue_elems rather than update_cost_queue. 2008-09-15 23:57:17 +02:00
ira-conflicts.c ira-conflicts.c (process_regs_for_copy): Check that the hard regno is in the right range. 2008-09-09 16:52:55 +00:00
ira-costs.c [multiple changes] 2008-08-26 12:39:58 +00:00
ira-emit.c re PR rtl-optimization/37377 (Bootstrap failure compiling libgcc) 2008-09-12 22:55:23 +00:00
ira-int.h ira-int.h (ira_zero_hard_reg_set, [...]): Delete. 2008-09-06 08:08:49 +00:00
ira-lives.c re PR middle-end/37359 (IRA miscompiled transfer.o in libgfortran, sejmp) 2008-09-04 12:02:33 -07:00
ira.c ira-int.h (ira_zero_hard_reg_set, [...]): Delete. 2008-09-06 08:08:49 +00:00
ira.h re PR rtl-optimization/37296 (Bootstrap failure compiling libgcc) 2008-09-03 19:49:30 +00:00
jump.c rtlanal.c: Fix uses of "it's" with "its" where appropriate. 2008-08-26 23:27:31 +10:00
lambda-code.c backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
lambda-mat.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
lambda-trans.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
lambda.h backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
langhooks-def.h re PR objc/37460 (NeXT runtime ICEs) 2008-09-17 14:39:13 -07:00
langhooks.c c-common.c (c_expand_decl): Remove. 2008-09-09 08:56:58 +00:00
langhooks.h re PR objc/37460 (NeXT runtime ICEs) 2008-09-17 14:39:13 -07:00
lcm.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
libfuncs.h libfuncs.h (LTI_synchronize): New libfunc_index. 2008-06-26 21:28:30 +00:00
libgcc-std.ver Fix conflict with another recent patch. 2008-07-03 19:42:41 +00:00
libgcc2.c MAINTAINERS (mt port): Remove. 2008-06-07 19:00:15 +01:00
libgcc2.h libgcc2.c (__fixunstfDI, [...]): Make return type unsigned. 2007-11-05 11:41:40 +00:00
libgcov.c
limitx.h
limity.h
lists.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
local-alloc.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
longlong.h longlong.h (__arm__): Define count_leading_zeros. 2008-06-12 17:29:47 +00:00
loop-doloop.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
loop-init.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
loop-invariant.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
loop-iv.c driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:18:25 +00:00
loop-unroll.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
loop-unswitch.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
lower-subreg.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
machmode.def
machmode.h real.h (struct real_format): New member has_sign_dependent_rounding. 2008-08-12 13:25:22 +00:00
main.c
matrix-reorg.c see.c (see_merge_one_def_extension): Silence used uninitialized warning. 2008-08-29 21:32:41 +00:00
mcf.c mcf.c: Really add it. 2008-08-18 12:16:30 -07:00
mips-tdump.c Makefile.in (mips-tfile.o-warn): Don't error out on mips-tfile.c warnings. 2008-09-09 16:36:14 +00:00
mips-tfile.c Makefile.in (mips-tfile.o-warn): Don't error out on mips-tfile.c warnings. 2008-09-09 16:36:14 +00:00
mkconfig.sh
mkmap-flat.awk configure.ac (RPATH_ENVVAR): Use PATH on Windows. 2008-08-31 12:14:25 -06:00
mkmap-symver.awk re PR target/36669 (Wrong versioning for __float128) 2008-07-02 08:59:19 -07:00
mode-classes.def
mode-switching.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
modulo-sched.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
omega.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
omega.h
omp-builtins.def c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
omp-low.c rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND or REG_LABEL_TARGET. 2008-09-04 17:32:38 +00:00
opt-functions.awk Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
opt-gather.awk
optabs.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
optabs.h optabs.c (emit_unop_insn): Break out to ... 2008-08-07 07:35:51 +00:00
optc-gen.awk Fix PR 36907, breakage in building libobj with function specific changes 2008-07-23 19:03:40 +00:00
opth-gen.awk Fix PR 36907, breakage in building libobj with function specific changes 2008-07-23 19:03:40 +00:00
opts-common.c driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:18:25 +00:00
opts.c invoke.texi (-fconserve-stack): Document. 2008-09-14 17:05:39 +00:00
opts.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
output.h fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
params.c driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:18:25 +00:00
params.def sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
params.h [multiple changes] 2008-08-26 12:39:58 +00:00
passes.c re PR tree-optimization/14703 (Inadequate optimization of inline templated functions, infinite loop in ipa-reference and memory hog) 2008-09-06 17:10:00 +00:00
pointer-set.c c-common.c (const_strip_array_types): New. 2007-08-16 14:31:21 +00:00
pointer-set.h c-common.c (const_strip_array_types): New. 2007-08-16 14:31:21 +00:00
postreload-gcse.c postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p. 2008-08-31 12:52:07 +00:00
postreload.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
predict.c re PR middle-end/37414 (ICE with -ffast-math) 2008-09-08 23:30:23 +02:00
predict.def cold-attribute-1.c: New testcase. 2008-08-31 11:40:11 +00:00
predict.h tree-pretty-print.c: Include predict.h. 2008-03-18 15:21:06 +00:00
prefix.c system.h (CONST_CAST2, [...]): New macros for type-specific casts. 2007-09-03 17:09:20 +00:00
prefix.h
pretty-print.c re PR debug/37156 (Hang with -g -O2 (or higher) (discovered with malloc.c in sqlite3)) 2008-08-19 13:44:42 +02:00
pretty-print.h cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
print-rtl.c dwarf2asm.c (dw2_assemble_integer): Cast to unsigned HOST_WIDE_INT for hex printing. 2008-04-15 19:56:20 +00:00
print-tree.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
profile.c profile.c (is_edge_inconsistent): Add debug output; ignore negative count on fake edges. 2008-09-09 15:28:19 +00:00
profile.h profile.h: Really add it. 2008-08-18 12:22:36 -07:00
protoize.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
ra-conflict.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
ra.h cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
read-rtl.c read-rtl.c (join_c_conditions): Return the first string if the two strings are equal. 2008-05-08 21:29:00 +00:00
real.c re PR testsuite/36332 (FAIL: gcc.dg/torture/type-generic-1.c execution test on powerpc-*) 2008-09-02 20:46:29 +02:00
real.h real.h (dconst_e, [...]): Declare. 2008-08-18 16:17:16 +00:00
recog.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
recog.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
reg-notes.def Remove libcall notes. 2008-06-17 05:57:04 +00:00
reg-stack.c cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
regclass.c [multiple changes] 2008-08-26 12:39:58 +00:00
regmove.c [multiple changes] 2008-08-26 12:39:58 +00:00
regrename.c re PR rtl-optimization/37544 (Conversion double -> unsigned long long -> unsigned -> double gives wrong results) 2008-09-18 12:17:42 +02:00
regs.h [multiple changes] 2008-08-26 12:39:58 +00:00
regstat.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
reload.c rtl.h (simplify_subreg_regno): Declare. 2008-08-28 20:02:54 +00:00
reload.h [multiple changes] 2008-08-26 12:39:58 +00:00
reload1.c reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed by assign_stack_local on the IRA... 2008-09-11 11:17:57 -06:00
reorg.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
resource.c resource.c (mark_referenced_resources): Look inside UNSPEC_VOLATILEs and ASM_INPUTs. 2008-07-02 18:05:42 +00:00
resource.h
rtl-error.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
rtl-factoring.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
rtl.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
rtl.def system.h (USE_MAPPED_LOCATION): Poison. 2008-02-26 16:05:24 +00:00
rtl.h function.c (free_after_compilation): Call insn_locators_free. 2008-09-11 12:31:40 +00:00
rtlanal.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
rtlhooks-def.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
rtlhooks.c recog.c (validate_change_1, [...]): Avoid C++ keywords. 2008-07-16 17:52:19 +00:00
sbitmap.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
sbitmap.h sbitmap.c (sbitmap_range_empty_p): New function. 2008-04-21 20:15:38 +00:00
scan-decls.c
scan-types.sh
scan.c scan.c (make_sstring_space): Add explicit conversions of allocator's return value. 2008-07-30 07:44:09 +00:00
scan.h cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
sched-deps.c value-prof.c (gimple_ic): Fix tuplification bug. 2008-09-10 11:37:18 +00:00
sched-ebb.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sched-int.h re PR middle-end/37499 (Scheduling pass 2 time increases by order of magnitude) 2008-09-18 12:29:48 +04:00
sched-rgn.c re PR middle-end/37499 (Scheduling pass 2 time increases by order of magnitude) 2008-09-18 12:29:48 +04:00
sched-vis.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sdbout.c re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
sdbout.h
see.c rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND or REG_LABEL_TARGET. 2008-09-04 17:32:38 +00:00
sel-sched-dump.c sel-sched-dump.c: Surround with #ifdef INSN_SCHEDULING. 2008-09-01 16:38:44 +04:00
sel-sched-dump.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sel-sched-ir.c sel-sched-ir.c (cmp_v_in_regset_pool): Surround with #ifdef ENABLE_CHECKING. 2008-09-01 16:40:32 +04:00
sel-sched-ir.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sel-sched.c * sel-sched.c (fur_orig_expr_found): Mark arguments unused. 2008-09-02 21:41:16 +00:00
sel-sched.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
simplify-rtx.c simplify-rtx.c (simplify_binary_operation_1): Check for CONST... 2008-09-02 18:39:32 +00:00
sort-protos
sparseset.c re PR rtl-optimization/33796 (valgrind error with -O2 for linux kernel code) 2008-01-16 21:21:36 -06:00
sparseset.h sparseset.c: Include config.h and system.h before sparseset.h. 2007-12-05 13:47:22 +01:00
sreal.c
sreal.h
stab.def
stack-ptr-mod.c re PR testsuite/35843 (-fdump-rtl-expand does not exist anymore) 2008-04-25 23:14:40 +00:00
statistics.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
statistics.h tree-pass.h (current_pass): Declare. 2008-05-15 13:39:39 +00:00
stmt.c cgraph.c (cgraph_release_function_body): Plug memory leak on ipa_transforms_to_apply and CFG... 2008-09-11 12:41:36 +00:00
stor-layout.c recog.c (validate_change_1, [...]): Avoid C++ keywords. 2008-07-16 17:52:19 +00:00
stringpool.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
stub-objc.c
sync-builtins.def
sys-protos.h
sys-types.h
system.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
target-def.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
target.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
targhooks.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
targhooks.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
timevar.c
timevar.def backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
timevar.h
tlink.c collect2.c (main, [...]): Fix for -Wc++-compat. 2008-06-20 03:46:09 +00:00
toplev.c toplev.c (dump_memory_report): Call dump_vec_loc_statistics. 2008-09-11 12:17:22 +00:00
toplev.h diagnostic.c (error_at): New. 2008-09-03 01:00:04 +00:00
tracer.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-affine.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-affine.h tree-affine.h (aff_combination_expand): Declare. 2008-03-27 10:25:36 +00:00
tree-browser.c tree.h (enum tree_code): Include all-tree.def, not tree.def. 2008-06-21 21:17:40 +00:00
tree-browser.def
tree-call-cdce.c * tree-call-cdce.c (check_target_format): Accept Motorola formats. 2008-09-14 17:58:14 +00:00
tree-cfg.c re PR middle-end/37284 (ICE on valid code with -fstrict-aliasing) 2008-09-18 12:52:31 +00:00
tree-cfgcleanup.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-chrec.c backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
tree-chrec.h backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
tree-complex.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-data-ref.c tree-predcom.c (filter_suitable_components): Free all refs in act->refs vector before calling release_component. 2008-09-15 23:55:05 +02:00
tree-data-ref.h backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
tree-dfa.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-dump.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
tree-dump.h re PR other/35094 (RTL dump file letters hosed and partly undocumented) 2008-03-19 11:22:40 +00:00
tree-eh.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-flow-inline.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-flow.h Fix comments and formatrting 2008-09-18 14:13:54 +00:00
tree-if-conv.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-inline.c re PR middle-end/18071 (-Winline does not respect -fno-default-inline) 2008-09-17 15:00:59 +00:00
tree-inline.h tree.c (build_function_type_skip_args, [...]): New functions. 2008-08-29 11:31:40 +00:00
tree-into-ssa.c backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
tree-iterator.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-iterator.h tree-flow.h (const_block_stmt_iterator): Remove. 2007-09-07 12:38:46 -04:00
tree-loop-distribution.c backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
tree-loop-linear.c tree-predcom.c (filter_suitable_components): Free all refs in act->refs vector before calling release_component. 2008-09-15 23:55:05 +02:00
tree-mudflap.c re PR libmudflap/36397 (ICE with pointer cast and -fmudflap) 2008-09-15 23:52:53 +02:00
tree-mudflap.h
tree-nested.c re PR middle-end/30141 (nested function can produce invalid gimple) 2008-09-13 16:29:22 +00:00
tree-nomudflap.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-nrv.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-object-size.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-optimize.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-outof-ssa.c Fix comments and formatrting 2008-09-18 14:13:54 +00:00
tree-parloops.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-pass.h backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
tree-phinodes.c backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
tree-predcom.c tree-predcom.c (filter_suitable_components): Free all refs in act->refs vector before calling release_component. 2008-09-15 23:55:05 +02:00
tree-pretty-print.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
tree-profile.c re PR middle-end/32581 (make profiledbootstrap - stageprofile - gcc/ada/a-except.adb:1301: error: control flow in the middle of basic block 20) 2008-09-13 21:39:44 +00:00
tree-scalar-evolution.c tree-scalar-evolution.c (set_instantiated_value): Set instantiated_below. 2008-09-12 23:02:24 +00:00
tree-scalar-evolution.h re PR middle-end/37375 ([graphite] Parameter detection and scev only take a surrounding loop as border) 2008-09-09 18:39:45 +00:00
tree-sra.c re PR middle-end/37380 (../../gcc/libcpp/charset.c:1103: error: 'cvt.77.width' is used uninitialized in this function) 2008-09-16 12:34:01 +00:00
tree-ssa-address.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
tree-ssa-alias-warnings.c re PR middle-end/37042 (Strict-aliasing warnings are printed for _mm_load_si128, even though __m128i is __attribute__((__may_alias__)).) 2008-08-07 10:01:48 +00:00
tree-ssa-alias.c tree-ssa-alias.c (init_alias_info): Call bitmap_obstack_release in every call starting with the second one... 2008-09-15 23:56:35 +02:00
tree-ssa-ccp.c re PR tree-optimization/37433 (tree check: expected function_decl, have string_cst in ccp_fold, at tree-ssa-ccp.c:1050) 2008-09-09 10:06:54 +00:00
tree-ssa-coalesce.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-copy.c common.opt (ftree-store-ccp): Mark as preserved for backward compatibility. 2008-08-29 11:43:22 +00:00
tree-ssa-copyrename.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-dce.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-dom.c re PR middle-end/37337 (ICE: verify_flow_info failed) 2008-09-08 21:31:18 +02:00
tree-ssa-dse.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-forwprop.c tree-vectorizer.c (slpeel_add_loop_guard): Fix types. 2008-09-11 14:53:20 +00:00
tree-ssa-ifcombine.c re PR tree-optimization/37387 (ICE in extract_range_from_binary_expr, at tree-vrp.c:2145) 2008-09-09 10:05:49 +00:00
tree-ssa-live.c re PR tree-optimization/14703 (Inadequate optimization of inline templated functions, infinite loop in ipa-reference and memory hog) 2008-09-06 17:10:00 +00:00
tree-ssa-live.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-loop-ch.c tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Check that loop is not cold. 2008-08-29 08:58:52 +00:00
tree-ssa-loop-im.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-ssa-loop-ivcanon.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-loop-ivopts.c re PR rtl-optimization/37263 (extra code for doloop with unsigned 32bit types on LP64) 2008-09-16 09:21:35 -07:00
tree-ssa-loop-manip.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-loop-niter.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-ssa-loop-prefetch.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-loop-unswitch.c tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Check that loop is optimized for speed. 2008-08-31 15:54:54 +00:00
tree-ssa-loop.c backport: configure: Regenerate. 2008-09-02 16:31:04 +00:00
tree-ssa-math-opts.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-operands.c re PR middle-end/37236 (ICE: in mark_operand_necessary, at tree-ssa-dce.c:242) 2008-08-29 11:40:47 +00:00
tree-ssa-operands.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-phiopt.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-phiprop.c tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid entering the weaker equivalence recording. 2008-09-11 21:48:11 +00:00
tree-ssa-pre.c * tree-ssa-pre.c (phi_translate_1): Fix memory leak 2008-09-11 12:36:53 +00:00
tree-ssa-propagate.c dojump.c (do_jump): Move below. 2008-09-11 14:45:05 +00:00
tree-ssa-propagate.h common.opt (ftree-store-ccp): Mark as preserved for backward compatibility. 2008-08-29 11:43:22 +00:00
tree-ssa-reassoc.c re PR middle-end/37456 (ICE: verify_flow_info failed: control flow in the middle of basic block) 2008-09-18 11:28:18 +00:00
tree-ssa-sccvn.c re PR tree-optimization/37258 (ice in simplify_subreg, at simplify-rtx.c:4957) 2008-09-18 15:27:21 +00:00
tree-ssa-sccvn.h tree-ssa-pre.c (insert_into_preds_of_block): Before inserting a PHI ask VN if it is already available. 2008-08-21 15:18:58 +00:00
tree-ssa-sink.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-structalias.c tree-ssa-structalias.c (create_variable_info_for): Do not create fields for heap vars or vars with a noalias state. 2008-08-29 11:47:01 +00:00
tree-ssa-structalias.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-ter.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-threadedge.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-ssa-threadupdate.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-uncprop.c tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid entering the weaker equivalence recording. 2008-09-11 21:48:11 +00:00
tree-ssa.c tree-ssa.c (redirect_edge_var_map_clear): Fix formatting. 2008-09-11 12:36:05 +00:00
tree-ssanames.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-stdarg.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-stdarg.h
tree-switch-conversion.c re PR middle-end/37343 (ICE in expand_expr_real_1, at expr.c:7290) 2008-09-04 10:45:57 +00:00
tree-tailcall.c re PR tree-optimization/37024 (bad tail call from tuples merge) 2008-08-05 11:23:07 -07:00
tree-vect-analyze.c re PR tree-optimization/37474 (vect_supported_slp_permutation_p memory corruption) 2008-09-11 12:08:01 +00:00
tree-vect-generic.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-vect-patterns.c tree-vectorizer.c (supportable_widening_operation): Support multi-step conversion... 2008-08-19 08:31:41 +00:00
tree-vect-transform.c re PR middle-end/37385 (ICE in set_mem_alias_set with the vectorizer and function pointers) 2008-09-17 11:42:11 +00:00
tree-vectorizer.c tree-vectorizer.c (slpeel_add_loop_guard): Fix types. 2008-09-11 14:53:20 +00:00
tree-vectorizer.h target.h (struct vectorize): Add new target builtin. 2008-08-28 11:11:14 +00:00
tree-vrp.c re PR tree-optimization/37508 (ICE in in simplify_truth_ops_using_ranges, at tree-vrp.c:6334) 2008-09-16 12:31:51 +00:00
tree.c re PR objc/37460 (NeXT runtime ICEs) 2008-09-17 14:39:13 -07:00
tree.def tree-cfg.c (verify_types_in_gimple_assign): Rename to ... 2008-09-17 21:42:55 +00:00
tree.h re PR middle-end/18071 (-Winline does not respect -fno-default-inline) 2008-09-17 15:00:59 +00:00
treestruct.def Add ability to set target options (ix86 only) and optimization options on a function specific basis 2008-07-23 10:28:06 +00:00
tsystem.h
typeclass.h
unwind-c.c
unwind-compat.c tm.texi (LIBGCC2_UNWIND_ATTRIBUTE): Document. 2007-09-14 14:35:12 -04:00
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-darwin.c
unwind-dw2-fde-glibc.c
unwind-dw2-fde.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
unwind-dw2-fde.h
unwind-dw2.c
unwind-dw2.h
unwind-generic.h targhooks.h (struct gcc_target): New member unwind_word_mode. 2008-06-18 20:49:12 +00:00
unwind-pe.h re PR target/34780 (Bootstrapping libstdc++-v3 failed) 2008-07-07 18:16:04 +00:00
unwind-sjlj.c
unwind.inc cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
value-prof.c value-prof.c (gimple_ic): Fix tuplification bug. 2008-09-10 11:37:18 +00:00
value-prof.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
var-tracking.c ggc.h (GGC_RESIZEVAR): New, reorder macros. 2008-06-20 18:34:07 +00:00
varasm.c varasm.c (initializer_constant_valid_p): Forbid view-conversions from aggregate to non-aggregate type if... 2008-09-17 21:48:08 +00:00
varpool.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
varray.c alloc-pool.c (hash_descriptor, [...]): Fix -Wc++-compat warnings. 2008-07-04 00:22:31 +00:00
varray.h
vec.c toplev.c (dump_memory_report): Call dump_vec_loc_statistics. 2008-09-11 12:17:22 +00:00
vec.h toplev.c (dump_memory_report): Call dump_vec_loc_statistics. 2008-09-11 12:17:22 +00:00
vecprim.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
version.c configure.ac: Add --with-pkgversion and --with-bugurl. 2007-08-21 16:35:30 +01:00
version.h configure.ac: Add --with-pkgversion and --with-bugurl. 2007-08-21 16:35:30 +01:00
vmsdbg.h
vmsdbgout.c re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
web.c df.h (struct df_ref): Replace 'insn' field with 'insn_info' field. 2008-06-18 05:42:23 +00:00
xcoff.h
xcoffout.c c-format.c (handle_format_attribute): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-27 16:53:54 +00:00
xcoffout.h

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.