gcc/gcc
Richard Sandiford e7056ca417 Use function_arg_info for TARGET_SETUP_INCOMING_ARGS
The hook is passed the promoted mode instead of the original type mode.

2019-08-20  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* target.def (setup_incoming_varargs): Take a function_arg_info
	instead of a mode and tree.
	* doc/tm.texi: Regenerate.
	* targhooks.h (default_setup_incoming_varargs): Take a
	function_arg_info instead of a mode and tree.
	* targhooks.c (default_setup_incoming_varargs): Likewise.
	* config/aarch64/aarch64.c (aarch64_setup_incoming_varargs): Likewise.
	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
	* config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
	* config/arm/arm.c (arm_setup_incoming_varargs): Likewise.
	* config/bfin/bfin.c (setup_incoming_varargs): Likewise.
	* config/cris/cris.c (cris_setup_incoming_varargs): Likewise.
	* config/csky/csky.c (csky_setup_incoming_varargs): Likewise.
	* config/epiphany/epiphany.c (epiphany_setup_incoming_varargs):
	Likewise.
	* config/fr30/fr30.c (fr30_setup_incoming_varargs): Likewise.
	* config/frv/frv.c (frv_setup_incoming_varargs): Likewise.
	* config/ft32/ft32.c (ft32_setup_incoming_varargs): Likewise.
	* config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
	* config/ia64/ia64.c (ia64_setup_incoming_varargs): Likewise.
	* config/iq2000/iq2000.c (iq2000_setup_incoming_varargs): Likewise.
	* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
	* config/mcore/mcore.c (mcore_setup_incoming_varargs): Likewise.
	* config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
	* config/mmix/mmix.c (mmix_setup_incoming_varargs): Likewise.
	* config/moxie/moxie.c (moxie_setup_incoming_varargs): Likewise.
	* config/nds32/nds32.c (nds32_setup_incoming_varargs): Likewise.
	* config/nios2/nios2.c (nios2_setup_incoming_varargs): Likewise.
	* config/riscv/riscv.c (riscv_setup_incoming_varargs): Likewise.
	* config/rs6000/rs6000-internal.h (setup_incoming_varargs): Likewise.
	* config/rs6000/rs6000-call.c (setup_incoming_varargs): Likewise.
	* config/sh/sh.c (sh_setup_incoming_varargs): Likewise.
	* config/spu/spu.c (spu_setup_incoming_varargs): Likewise.
	* config/tilegx/tilegx.c (tilegx_setup_incoming_varargs): Likewise.
	* config/tilepro/tilepro.c (tilepro_setup_incoming_varargs): Likewise.
	* config/visium/visium.c (visium_setup_incoming_varargs): Likewise.
	* function.c (assign_parms_setup_varargs): Update call to
	targetm.calls.setup_incoming_varargs.

From-SVN: r274699
2019-08-20 08:52:48 +00:00
..
ada Use function_arg_info for TARGET_PASS_BY_REFERENCE 2019-08-20 08:52:40 +00:00
brig Assorted ChangeLog cleanups. 2019-08-10 11:59:17 +02:00
c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
c-family c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is enabled, define __SIZETYPE__. 2019-08-15 11:26:19 +00:00
common Add TIGERLAKE and COOPERLAKE to GCC. 2019-08-20 07:06:03 +00:00
config Use function_arg_info for TARGET_SETUP_INCOMING_ARGS 2019-08-20 08:52:48 +00:00
cp PR c++/91264 - detect modifying const objects in constexpr. 2019-08-19 13:59:13 +00:00
d Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
doc Use function_arg_info for TARGET_SETUP_INCOMING_ARGS 2019-08-20 08:52:48 +00:00
fortran Update BOZ constant documentation. 2019-08-19 08:53:49 +00:00
ginclude Define C11 macros such as FLT_DECIMAL_DIG for C++17 2019-06-24 13:09:47 +01:00
go compiler: new debugging output methods/functions 2019-08-19 21:15:49 +00:00
jit Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
lto Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
objc Assorted ChangeLog cleanups. 2019-08-10 11:59:17 +02:00
objcp Assorted ChangeLog cleanups. 2019-08-10 11:59:17 +02:00
po Assorted ChangeLog cleanups. 2019-08-10 11:59:17 +02:00
testsuite re PR target/91498 (STV change in r274481 causes 300.twolf regression on Haswell) 2019-08-20 08:45:56 +00:00
ABOUT-GCC-NLS
BASE-VER
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog Use function_arg_info for TARGET_SETUP_INCOMING_ARGS 2019-08-20 08:52:48 +00:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018 Fix missing name in ChangeLog 2019-06-21 15:02:46 +00:00
ChangeLog.dataflow
ChangeLog.gimple-classes
ChangeLog.graphite
ChangeLog.jit
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
DATESTAMP Daily bump. 2019-08-20 00:16:22 +00:00
DEV-PHASE
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES
Makefile.in Add zstd support for LTO bytecode compression. 2019-07-03 08:36:54 +00:00
ONEWS
README.Portability
acinclude.m4
aclocal.m4
addresses.h
alias.c Strengthen alias_ptr_types_compatible_p in LTO mode. 2019-08-09 12:06:30 +00:00
alias.h
align.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
alloc-pool.c
alloc-pool.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
asan.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
asan.h
attribs.c Protect some checks of DECL_FUNCTION_CODE 2019-08-13 21:35:10 +00:00
attribs.h
auto-inc-dec.c
auto-profile.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
auto-profile.h
backend.h
basic-block.h Make ifcvt clean up dead comparisons 2019-07-18 08:24:16 +00:00
bb-reorder.c Fix missing else keyword seen with clang-static-analyzer: 2019-06-26 06:44:28 +00:00
bb-reorder.h
bitmap.c re PR tree-optimization/91257 (Compile-time and memory-hog hog) 2019-07-30 14:16:24 +00:00
bitmap.h re PR tree-optimization/91257 (Compile-time and memory-hog hog) 2019-07-30 12:13:01 +00:00
brig-builtins.def
bt-load.c Remove quite obvious dead assignments. 2019-06-27 10:25:21 +00:00
builtin-attrs.def
builtin-types.def
builtins.c builtins.c (expand_builtin_init_descriptor): Set memory alignment. 2019-08-14 17:33:14 +00:00
builtins.def
builtins.h Enable math functions linking with static library for LTO 2019-08-14 02:18:33 +00:00
caller-save.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
calls.c Use function_arg_info for TARGET_PASS_BY_REFERENCE 2019-08-20 08:52:40 +00:00
calls.h Use function_arg_info for TARGET_PASS_BY_REFERENCE 2019-08-20 08:52:40 +00:00
ccmp.c
ccmp.h
cfg-flags.def
cfg.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfg.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfganal.c
cfganal.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfgbuild.c
cfgbuild.h
cfgcleanup.c Make ifcvt clean up dead comparisons 2019-07-18 08:24:16 +00:00
cfgcleanup.h
cfgexpand.c cfgexpand.c (expand_gimple_stmt_1): If the statement doesn't have location... 2019-07-12 09:35:21 +00:00
cfgexpand.h
cfghooks.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfghooks.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfgloop.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfgloop.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfgloopanal.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfgloopmanip.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfgloopmanip.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cfgrtl.c Handle casesi dispatch tablejumps in create_trace_edges (as well) 2019-08-13 11:04:52 +00:00
cfgrtl.h
cgraph.c Clean next_nested properly. 2019-08-15 06:58:36 +00:00
cgraph.h cgraph.h (cgraph_edge::maybe_hot_p): Tweak comment. 2019-08-01 20:15:19 +00:00
cgraphbuild.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
cgraphclones.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
cgraphunit.c cgraphunit.c (symbol_table::compile): Start and stop TV_CGRAPH_IPA_PASSES and TV_CGRAPH_FUNC_EXPANSION timers. 2019-07-24 13:10:36 -06:00
cif-code.def cif-code.def (NEVER_CALL): New code. 2019-07-25 16:07:29 +00:00
collect-utils.c
collect-utils.h
collect2-aix.c
collect2-aix.h
collect2.c Revert r254460 (collect2 LTO for AIX). 2019-07-08 09:53:02 +00:00
collect2.h
color-macros.h
combine-stack-adj.c
combine.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
common.md
common.opt Don't run DSE at -Og 2019-07-29 08:47:20 +00:00
compare-elim.c
conditions.h
config.build
config.gcc Add TIGERLAKE and COOPERLAKE to GCC. 2019-08-20 07:06:03 +00:00
config.host
config.in Add zstd support for LTO bytecode compression. 2019-07-03 08:36:54 +00:00
configure Add zstd support for LTO bytecode compression. 2019-07-03 08:36:54 +00:00
configure.ac configure.ac (ACX_PROG_CXX_WARNING_OPTS): Revert r273311. 2019-07-23 11:03:13 -06:00
context.c
context.h
convert.c Add rules to strip away unneeded type casts in expressions 2019-07-26 13:05:39 +00:00
convert.h
coretypes.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
coverage.c Come up with function_decl_type and use it in tree_function_decl. 2019-07-25 09:36:19 +00:00
coverage.h
cppbuiltin.c
cppbuiltin.h
cppdefault.c
cppdefault.h
cprop.c
cse.c
cselib.c Remove quite obvious dead assignments. 2019-06-27 10:25:21 +00:00
cselib.h
cstamp-h.in
data-streamer-in.c Make IPA predicate::size a poly_int64 2019-08-07 13:18:35 +00:00
data-streamer-out.c Make IPA predicate::size a poly_int64 2019-08-07 13:18:35 +00:00
data-streamer.c
data-streamer.h Make IPA predicate::size a poly_int64 2019-08-07 13:18:35 +00:00
dbgcnt.c
dbgcnt.def Add dbgcnt for gimple_match and generic_match. 2019-07-03 12:43:44 +00:00
dbgcnt.h
dbxout.c
dbxout.h
dce.c
dce.h
ddg.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ddg.h
debug.c
debug.h
defaults.h builtins.c (get_memory_rtx): Fix comment. 2019-06-27 09:45:36 -05:00
df-core.c re PR rtl-optimization/91136 (incorrect move of instruction to delay slot causes application crash in exception handling) 2019-07-12 10:15:39 +00:00
df-problems.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
df-scan.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
df.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
dfp.c
dfp.h
diagnostic-color.c
diagnostic-color.h
diagnostic-core.h
diagnostic-format-json.cc
diagnostic-show-locus.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
diagnostic.c PR driver/80545 - option -Wstringop-overflow not recognized by Fortran 2019-07-24 14:34:03 -06:00
diagnostic.def
diagnostic.h PR driver/80545 - option -Wstringop-overflow not recognized by Fortran 2019-07-24 14:34:03 -06:00
dojump.c Remove quite obvious dead assignments. 2019-06-27 10:25:21 +00:00
dojump.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
dominance.c
dominance.h
domwalk.c domwalk: use gcc_sort_r 2019-08-01 20:16:48 +03:00
domwalk.h
double-int.c
double-int.h
dse.c re PR rtl-optimization/91164 (ICE in verify_dominators, at dominance.c:1184 (error: dominator of 114 should be 112, not 16)) 2019-07-16 13:37:05 +02:00
dump-context.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
dumpfile.c
dumpfile.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
dwarf2asm.c
dwarf2asm.h
dwarf2cfi.c Handle casesi dispatch tablejumps in create_trace_edges (as well) 2019-08-13 11:04:52 +00:00
dwarf2out.c Use -flto instead of -flto=N in DWARF producer string. 2019-07-23 07:31:50 +00:00
dwarf2out.h
early-remat.c Remove quite obvious dead assignments. 2019-06-27 10:25:21 +00:00
edit-context.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
edit-context.h
emit-rtl.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
emit-rtl.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
errors.c
errors.h
et-forest.c
et-forest.h
except.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
except.h
exec-tool.in
explow.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
explow.h
expmed.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
expmed.h
expr.c Use function_arg_info for TARGET_ARG_PARTIAL_BYTES 2019-08-20 08:52:17 +00:00
expr.h
fibonacci_heap.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
fibonacci_heap.h
file-find.c
file-find.h
file-prefix-map.c
file-prefix-map.h
final.c
fixed-value.c
fixed-value.h
flag-types.h
flags.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
fold-const-call.c Optimise constant IFN_WHILE_ULTs 2019-08-13 21:33:51 +00:00
fold-const-call.h
fold-const.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
fold-const.h Replace int with boolean in predicate functions. 2019-08-07 12:45:57 +00:00
fp-test.c
function-tests.c
function.c Use function_arg_info for TARGET_SETUP_INCOMING_ARGS 2019-08-20 08:52:48 +00:00
function.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
fwprop.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gcc-ar.c
gcc-main.c
gcc-plugin.h
gcc-rich-location.c
gcc-rich-location.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gcc-symtab.h
gcc.c Fix file descriptor existence of MinGW. 2019-08-08 07:50:28 +00:00
gcc.h Properly detect working jobserver in gcc driver. 2019-08-02 09:23:56 +00:00
gcov-counter.def Rename SINGE_VALUE to TOPN_VALUES counters. 2019-07-03 12:42:23 +00:00
gcov-dump.c
gcov-io.c
gcov-io.h Rename SINGE_VALUE to TOPN_VALUES counters. 2019-07-03 12:42:23 +00:00
gcov-iov.c
gcov-tool.c
gcov.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gcse-common.c
gcse-common.h
gcse.c
gcse.h
gdbasan.in
gdbhooks.py make gdbhooks.py idempotent with respect to reloading 2019-07-23 13:57:43 +00:00
gdbinit.in gdbinit.in: add reload-gdbhooks (rh) command 2019-07-23 14:05:14 +00:00
gen-pass-instances.awk
genattr-common.c
genattr.c
genattrtab.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
genautomata.c
gencfn-macros.c
gencheck.c
genchecksum.c
gencodes.c
genconditions.c
genconfig.c
genconstants.c
genemit.c Support multiple operand counts for .md @ patterns 2019-07-12 07:54:23 +00:00
genenums.c
generic-match-head.c Add dbgcnt for gimple_match and generic_match. 2019-07-03 12:43:44 +00:00
generic-match.h
genextract.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
genflags.c
gengenrtl.c
gengtype-lex.l
gengtype-parse.c
gengtype-state.c
gengtype.c
gengtype.h
genhooks.c
genmatch.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
genmddeps.c
genmddump.c
genmodes.c
genmultilib
genopinit.c Support multiple operand counts for .md @ patterns 2019-07-12 07:54:23 +00:00
genoutput.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
genpeep.c
genpreds.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
genrecog.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gensupport.c [gensupport] PR 91255: Do not error out immediately on set_attr_alternative with define_subst 2019-08-16 09:32:36 +00:00
gensupport.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
gentarget-def.c
ggc-common.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
ggc-internal.h
ggc-none.c
ggc-page.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ggc-tests.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
ggc.h
gimple-builder.c
gimple-builder.h
gimple-expr.c
gimple-expr.h
gimple-fold.c PR tree-optimization/91294 - [10 Regression] wrong strlen result of a conditional with an offset 2019-08-14 10:27:59 -06:00
gimple-fold.h
gimple-iterator.c
gimple-iterator.h
gimple-laddress.c
gimple-loop-interchange.cc PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gimple-loop-jam.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gimple-loop-versioning.cc gimple-loop-versioning.cc (loop_versioning::prune_loop_conditions): Make value_range * temporary const. 2019-07-25 10:25:13 +00:00
gimple-low.c
gimple-low.h
gimple-match-head.c gimple-match.h (gimple_match_op::resimplify): New. 2019-07-09 12:22:10 +00:00
gimple-match.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
gimple-predict.h
gimple-pretty-print.c introduce EH_ELSE_EXPR tree and gimplifier 2019-07-04 15:00:00 +00:00
gimple-pretty-print.h
gimple-ssa-backprop.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
gimple-ssa-evrp-analyze.c Add type to VR_VARYING. 2019-08-16 06:54:23 +00:00
gimple-ssa-evrp-analyze.h vr-values.h (vr_values::swap_vr_value): New. 2019-07-31 10:55:27 +00:00
gimple-ssa-evrp.c gimple-loop-versioning.cc (loop_versioning::prune_loop_conditions): Make value_range * temporary const. 2019-07-25 10:25:13 +00:00
gimple-ssa-isolate-paths.c Protect some checks of DECL_FUNCTION_CODE 2019-08-13 21:35:10 +00:00
gimple-ssa-nonnull-compare.c
gimple-ssa-split-paths.c
gimple-ssa-sprintf.c gimple-loop-versioning.cc (loop_versioning::prune_loop_conditions): Make value_range * temporary const. 2019-07-25 10:25:13 +00:00
gimple-ssa-store-merging.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gimple-ssa-strength-reduction.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gimple-ssa-warn-alloca.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gimple-ssa-warn-restrict.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
gimple-ssa-warn-restrict.h
gimple-ssa.h
gimple-streamer-in.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gimple-streamer-out.c
gimple-streamer.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
gimple-walk.c
gimple-walk.h
gimple.c Add a gimple_move_vops helper function 2019-08-05 16:46:48 +00:00
gimple.def
gimple.h Add a gimple_move_vops helper function 2019-08-05 16:46:48 +00:00
gimplify-me.c
gimplify-me.h
gimplify.c gimplify.c (omp_add_variable): Use GOVD_PRIVATE | GOVD_EXPLICIT for VLA helper variables on target data even if... 2019-08-08 08:39:02 +02:00
gimplify.h
glimits.h
godump.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
graph.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
graph.h
graphds.c
graphds.h
graphite-dependences.c
graphite-isl-ast-to-gimple.c
graphite-optimize-isl.c
graphite-poly.c
graphite-scop-detection.c Remove quite obvious dead assignments. 2019-06-27 10:25:21 +00:00
graphite-sese-to-poly.c
graphite.c
graphite.h
gsstruct.def
gstab.h
gsyms.h
gsyslimits.h
gtm-builtins.def
haifa-sched.c
hard-reg-set.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
hash-map-tests.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
hash-map-traits.h
hash-map.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
hash-set-tests.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
hash-set.h PR middle-end/90923 - hash_map destroys elements without constructing them 2019-07-01 12:33:36 -06:00
hash-table.c Put hashtab_chk_error into hash-table.c. 2019-06-25 14:34:25 +00:00
hash-table.h PR middle-end/90923 - hash_map destroys elements without constructing them 2019-07-01 12:33:36 -06:00
hash-traits.h
highlev-plugin-common.h
hooks.c
hooks.h
host-default.c
hosthooks-def.h
hosthooks.h
hsa-brig-format.h
hsa-brig.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
hsa-builtins.def
hsa-common.c
hsa-common.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
hsa-dump.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
hsa-gen.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
hsa-regalloc.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
hw-doloop.c
hw-doloop.h
hwint.c
hwint.h
ifcvt.c Make ifcvt clean up dead comparisons 2019-07-18 08:24:16 +00:00
ifcvt.h
inchash.c
inchash.h Fix inchash handling of wide_ints (PR91242) 2019-07-29 18:50:25 +00:00
incpath.c
incpath.h
init-regs.c
input.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
input.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
insn-addr.h
insn-notes.def
int-vector-builder.h Implement more rtx vector folds on variable-length vectors 2019-07-29 08:40:21 +00:00
internal-fn.c Add support for conditional shifts 2019-08-15 08:05:50 +00:00
internal-fn.def Add support for conditional shifts 2019-08-15 08:05:50 +00:00
internal-fn.h
intl.c
intl.h
ipa-comdats.c
ipa-cp.c Add type to VR_VARYING. 2019-08-16 06:54:23 +00:00
ipa-devirt.c Protect some checks of DECL_FUNCTION_CODE 2019-08-13 21:35:10 +00:00
ipa-fnsummary.c Make IPA predicate::size a poly_int64 2019-08-07 13:18:35 +00:00
ipa-fnsummary.h ipa-fnsummary.c (ipa_dump_hints): Do not dump array_index. 2019-07-14 11:57:10 +00:00
ipa-hsa.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ipa-icf-gimple.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ipa-icf-gimple.h
ipa-icf.c Implement -fopt-info support for IPA ICF. 2019-08-09 07:50:12 +00:00
ipa-icf.h
ipa-inline-analysis.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ipa-inline-transform.c [PR 89330] Remove non-useful speculations from new_edges 2019-07-26 10:44:51 +02:00
ipa-inline.c [PR 89330] Remove non-useful speculations from new_edges 2019-07-26 10:44:51 +02:00
ipa-inline.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
ipa-param-manipulation.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
ipa-param-manipulation.h
ipa-polymorphic-call.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ipa-predicate.c Fix Ada comparison failure on SPARC 2019-08-12 08:47:34 +00:00
ipa-predicate.h Make IPA predicate::size a poly_int64 2019-08-07 13:18:35 +00:00
ipa-profile.c Generalize get_most_common_single_value to return n_th value & count 2019-07-25 09:20:13 +00:00
ipa-prop.c Protect some checks of DECL_FUNCTION_CODE 2019-08-13 21:35:10 +00:00
ipa-prop.h Make IPA predicate::size a poly_int64 2019-08-07 13:18:35 +00:00
ipa-pure-const.c PR driver/80545 - option -Wstringop-overflow not recognized by Fortran 2019-07-24 14:34:03 -06:00
ipa-ref.c
ipa-ref.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ipa-reference.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ipa-reference.h
ipa-split.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
ipa-utils.c
ipa-utils.h class.c (layout_class_type): Set TYPE_CXX_ODR_P for as-base type copy. 2019-06-27 12:07:43 +00:00
ipa-visibility.c
ipa.c
ira-build.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ira-color.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ira-conflicts.c Use alternative_mask for add_insn_allocno_copies 2019-07-01 08:57:59 +00:00
ira-costs.c
ira-emit.c * ira-emit.c (emit_moves): Skip DEBUG_INSNs when setting the location. 2019-07-09 09:58:51 +00:00
ira-int.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ira-lives.c Use ira_setup_alts for conflict detection 2019-07-01 08:58:44 +00:00
ira.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ira.h
is-a.h
json.cc
json.h
jump.c
langhooks-def.h
langhooks.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
langhooks.h
lcm.c
lcm.h
libfuncs.h
limitx.h
limity.h
lists.c
lock-and-run.sh
loop-doloop.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
loop-init.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
loop-invariant.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
loop-iv.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
loop-unroll.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
loop-unroll.h
lower-subreg.c subreg: Add -fsplit-wide-types-early (PR88233) 2019-07-08 19:35:12 +02:00
lower-subreg.h
lra-assigns.c
lra-coalesce.c
lra-constraints.c Make lra use per-alternative earlyclobber info 2019-07-31 07:33:11 +00:00
lra-eliminations.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
lra-int.h re PR tree-optimization/91109 ([arm] gcc.c-torture/execute/20040709-1.c fails since r273135) 2019-08-16 15:34:47 +00:00
lra-lives.c Make lra use per-alternative earlyclobber info 2019-07-31 07:33:11 +00:00
lra-remat.c re PR tree-optimization/91109 ([arm] gcc.c-torture/execute/20040709-1.c fails since r273135) 2019-08-07 13:45:06 +00:00
lra-spills.c re PR tree-optimization/91109 ([arm] gcc.c-torture/execute/20040709-1.c fails since r273135) 2019-08-16 15:34:47 +00:00
lra.c re PR tree-optimization/91109 ([arm] gcc.c-torture/execute/20040709-1.c fails since r273135) 2019-08-16 15:34:47 +00:00
lra.h
lto-cgraph.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
lto-compress.c Remove usage of ZSTD_CLEVEL_DEFAULT define. 2019-07-09 07:41:39 +00:00
lto-compress.h Add zstd support for LTO bytecode compression. 2019-07-03 08:36:54 +00:00
lto-opts.c
lto-section-in.c Simplify LTO section format. 2019-07-22 07:34:32 +00:00
lto-section-names.h
lto-section-out.c Add .gnu.lto_.lto section. 2019-07-03 08:36:35 +00:00
lto-streamer-in.c re PR debug/91231 (ICE in dwarf2out_inline_entry, at dwarf2out.c:27642) 2019-07-23 10:45:59 +00:00
lto-streamer-out.c Enable math functions linking with static library for LTO 2019-08-14 02:18:33 +00:00
lto-streamer.c lto-streamer.h (lto_bitmap_alloc): Remove. 2019-06-26 11:09:51 +00:00
lto-streamer.h Simplify LTO section format. 2019-07-22 07:34:32 +00:00
lto-wrapper.c Automatically detect GNU jobserver with -flto. 2019-08-13 07:30:57 +00:00
machmode.def
machmode.h [AArch64] Improve SVE constant moves 2019-08-13 10:40:02 +00:00
main.c
match.pd Add support for conditional shifts 2019-08-15 08:05:50 +00:00
mcf.c
mem-stats-traits.h
mem-stats.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
memmodel.h
memory-block.cc
memory-block.h
mkconfig.sh
mode-classes.def
mode-switching.c
modulo-sched.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
multiple_target.c Add to same comdate group only if set (PR middle-end/90899) 2019-07-03 08:31:35 +00:00
omp-builtins.def
omp-expand.c gimple.h (enum gf_mask): Remove GF_OMP_FOR_SIMD... 2019-07-17 09:13:52 +02:00
omp-expand.h
omp-general.c gimple.h (enum gf_mask): Remove GF_OMP_FOR_SIMD... 2019-07-17 09:13:52 +02:00
omp-general.h tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__SCANTEMP_ clause. 2019-07-03 07:03:58 +02:00
omp-grid.c gimple.h (enum gf_mask): Remove GF_OMP_FOR_SIMD... 2019-07-17 09:13:52 +02:00
omp-grid.h
omp-low.c gimplify.c (omp_add_variable): Use GOVD_PRIVATE | GOVD_EXPLICIT for VLA helper variables on target data even if... 2019-08-08 08:39:02 +02:00
omp-low.h
omp-offload.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
omp-offload.h
omp-simd-clone.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
omp-simd-clone.h
opt-functions.awk
opt-gather.awk
opt-include.awk
opt-problem.cc
opt-problem.h
opt-read.awk
opt-suggestions.c
opt-suggestions.h
optabs-libfuncs.c
optabs-libfuncs.h
optabs-query.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
optabs-query.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
optabs-tree.c
optabs-tree.h
optabs.c Add support for conditional shifts 2019-08-15 08:05:50 +00:00
optabs.def Add support for conditional shifts 2019-08-15 08:05:50 +00:00
optabs.h Add support for conditional shifts 2019-08-15 08:05:50 +00:00
optc-gen.awk
optc-save-gen.awk
opth-gen.awk
optinfo-emit-json.cc
optinfo-emit-json.h
optinfo.cc
optinfo.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
opts-common.c PR driver/80545 - option -Wstringop-overflow not recognized by Fortran 2019-07-24 14:34:03 -06:00
opts-diagnostic.h
opts-global.c Make a warning for -Werror=wrong-language (PR driver/91172). 2019-07-22 07:34:10 +00:00
opts.c Add -flto=auto option value. 2019-08-09 08:33:05 +00:00
opts.h PR driver/80545 - option -Wstringop-overflow not recognized by Fortran 2019-07-24 14:34:03 -06:00
output.h
params-enum.h
params-list.h
params-options.h
params.c
params.def invoke.texi (hot-bb-count-fraction): Rework description. 2019-08-02 10:09:04 +00:00
params.h
pass_manager.h
passes.c Properly register dead cgraph_nodes in passes.c. 2019-08-15 06:58:09 +00:00
passes.def subreg: Add -fsplit-wide-types-early (PR88233) 2019-07-08 19:35:12 +02:00
plugin.c
plugin.def
plugin.h
poly-int-types.h
poly-int.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
postreload-gcse.c
postreload.c
predict.c invoke.texi (hot-bb-count-fraction): Rework description. 2019-08-02 10:09:04 +00:00
predict.def
predict.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
prefix.c
prefix.h
pretty-print.c
pretty-print.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
print-rtl-function.c
print-rtl.c
print-rtl.h
print-tree.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
print-tree.h
profile-count.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
profile-count.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
profile.c Generalize get_most_common_single_value to return n_th value & count 2019-07-25 09:20:13 +00:00
profile.h
read-md.c Use file_location for md_reader's ptr_loc 2019-07-16 08:41:13 +00:00
read-md.h Report ambiguous uses of .md attributes 2019-07-16 08:41:21 +00:00
read-rtl-function.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
read-rtl-function.h
read-rtl.c Report ambiguous uses of .md attributes 2019-07-16 08:41:21 +00:00
real.c
real.h
realmpfr.c
realmpfr.h
recog.c
recog.h re PR target/90723 (pr88598-2.c segfaults with -msve-vector-bits=256) 2019-07-13 08:28:33 +00:00
ree.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
reg-notes.def
reg-stack.c emit-rtl.c (set_insn_locations): New function moved from... 2019-07-08 21:37:33 +00:00
regcprop.c
regcprop.h
reginfo.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
regrename.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
regrename.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
regs.h
regset.h
regstat.c
reload.c
reload.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
reload1.c reload1.c (finish_spills): Do not check ira_conflicts_p when handling spilled pseudos. 2019-08-09 15:22:22 -06:00
reorg.c Remove quite obvious dead assignments. 2019-06-27 10:25:21 +00:00
resource.c re PR rtl-optimization/91136 (incorrect move of instruction to delay slot causes application crash in exception handling) 2019-07-12 10:15:39 +00:00
resource.h
rtl-error.c
rtl-error.h
rtl-iter.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
rtl-tests.c
rtl.c
rtl.def
rtl.h Adjust placement of protoype for tablejump_casesi_pattern 2019-08-13 11:16:18 +00:00
rtlanal.c Handle casesi dispatch tablejumps in create_trace_edges (as well) 2019-08-13 11:04:52 +00:00
rtlhash.c
rtlhash.h
rtlhooks-def.h
rtlhooks.c
rtx-vector-builder.c
rtx-vector-builder.h Implement more rtx vector folds on variable-length vectors 2019-07-29 08:40:21 +00:00
run-rtl-passes.c
run-rtl-passes.h
sancov.c
sanitizer.def
sanopt.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sbitmap.c
sbitmap.h
sched-deps.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sched-ebb.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sched-int.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sched-rgn.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sel-sched-dump.c
sel-sched-dump.h
sel-sched-ir.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sel-sched-ir.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sel-sched.c
sel-sched.h
selftest-diagnostic.c
selftest-diagnostic.h
selftest-rtl.c
selftest-rtl.h
selftest-run-tests.c
selftest.c
selftest.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sese.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sese.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
shrink-wrap.c
shrink-wrap.h
signop.h
simplify-rtx.c Generalise VEC_DUPLICATE folding for variable-length vectors 2019-07-29 08:42:19 +00:00
sort.cc sort.cc: introduce gcc_sort_r 2019-08-01 20:14:53 +03:00
sparseset.c
sparseset.h
spellcheck-tree.c
spellcheck-tree.h
spellcheck.c
spellcheck.h
sreal.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
sreal.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
ssa-iterators.h
ssa.h
stab.def
stack-ptr-mod.c
statistics.c
statistics.h
stmt.c stmt.c (expand_case): Try to narrow the index type if it's larger than a word. 2019-07-25 16:16:32 +00:00
stmt.h
stor-layout.c Use function_arg_info for TARGET_PASS_BY_REFERENCE 2019-08-20 08:52:40 +00:00
stor-layout.h
store-motion.c
streamer-hooks.c
streamer-hooks.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
stringpool.c
stringpool.h
substring-locations.c
substring-locations.h
symbol-summary.h Fix warnings seen by clang in gcc/symbol-summary.h. 2019-06-27 08:21:47 +00:00
symtab.c Enable math functions linking with static library for LTO 2019-08-14 02:18:33 +00:00
sync-builtins.def
system.h sort.cc: introduce gcc_sort_r 2019-08-01 20:14:53 +03:00
target-def.h
target-globals.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
target-globals.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
target-hooks-macros.h
target-insns.def
target.def Use function_arg_info for TARGET_SETUP_INCOMING_ARGS 2019-08-20 08:52:48 +00:00
target.h Use function_arg_info for TARGET_ARG_PARTIAL_BYTES 2019-08-20 08:52:17 +00:00
targhooks.c Use function_arg_info for TARGET_SETUP_INCOMING_ARGS 2019-08-20 08:52:48 +00:00
targhooks.h Use function_arg_info for TARGET_SETUP_INCOMING_ARGS 2019-08-20 08:52:48 +00:00
timevar.c
timevar.def cgraphunit.c (symbol_table::compile): Start and stop TV_CGRAPH_IPA_PASSES and TV_CGRAPH_FUNC_EXPANSION timers. 2019-07-24 13:10:36 -06:00
timevar.h
tlink.c
toplev.c PR target/91441 - Turn off -fsanitize=kernel-address if TARGET_ASAN_SHADOW_OFFSET is not implemented. 2019-08-19 03:21:44 +00:00
toplev.h
tracer.c
tracer.h
trans-mem.c Protect some checks of DECL_FUNCTION_CODE 2019-08-13 21:35:10 +00:00
trans-mem.h
tree-affine.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-affine.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-call-cdce.c Add a gimple_move_vops helper function 2019-08-05 16:46:48 +00:00
tree-cfg.c Prevent -Og from deleting stores to write-only variables 2019-07-29 08:46:54 +00:00
tree-cfg.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-cfgcleanup.c
tree-cfgcleanup.h
tree-chrec.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-chrec.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-complex.c
tree-core.h Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
tree-data-ref.c re PR tree-optimization/91178 (Infinite recursion in split_constant_offset in slp after r260289) 2019-07-17 11:21:49 +00:00
tree-data-ref.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-dfa.c
tree-dfa.h
tree-diagnostic.c
tree-diagnostic.h
tree-dump.c introduce EH_ELSE_EXPR tree and gimplifier 2019-07-04 15:00:00 +00:00
tree-dump.h
tree-eh.c allow EH to escape from GIMPLE_EH_ELSE ELSE block 2019-07-12 13:51:00 +00:00
tree-eh.h
tree-emutls.c
tree-hash-traits.h
tree-hasher.h
tree-if-conv.c Add a gimple_move_vops helper function 2019-08-05 16:46:48 +00:00
tree-if-conv.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-inline.c Come up with function_decl_type and use it in tree_function_decl. 2019-07-25 09:36:19 +00:00
tree-inline.h
tree-into-ssa.c
tree-into-ssa.h
tree-iterator.c
tree-iterator.h
tree-loop-distribution.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-nested.c tree-core.h (enum omp_clause_code): Adjust OMP_CLAUSE_USE_DEVICE_PTR OpenMP description. 2019-08-07 09:27:10 +02:00
tree-nested.h
tree-nrv.c
tree-object-size.c
tree-object-size.h
tree-outof-ssa.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
tree-outof-ssa.h
tree-parloops.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-parloops.h
tree-pass.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-phinodes.c
tree-phinodes.h
tree-predcom.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-pretty-print.c tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DEVICE_TYPE. 2019-08-10 12:18:25 +02:00
tree-pretty-print.h utils.c (handle_nonnull_attribute): Quote attribute name. 2019-06-24 09:47:22 -06:00
tree-profile.c Rename SINGE_VALUE to TOPN_VALUES counters. 2019-07-03 12:42:23 +00:00
tree-scalar-evolution.c re PR tree-optimization/91403 (GCC fails with ICE.) 2019-08-19 14:45:38 +00:00
tree-scalar-evolution.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-sra.c tree-sra.c (build_reconstructed_reference): Return NULL_TREE instead of NULL. 2019-08-16 16:00:25 +00:00
tree-ssa-address.c re PR rtl-optimization/91173 (ICE: in int_mode_for_mode, at stor-layout.c:403) 2019-07-16 08:44:44 -06:00
tree-ssa-address.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-alias.c tree-ssa-alias.c (aliasing_component_refs_walk): Initialize same_p to 0. 2019-07-15 19:21:36 +00:00
tree-ssa-alias.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
tree-ssa-ccp.c Protect some checks of DECL_FUNCTION_CODE 2019-08-13 21:35:10 +00:00
tree-ssa-ccp.h
tree-ssa-coalesce.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
tree-ssa-coalesce.h
tree-ssa-copy.c re PR tree-optimization/90949 (null pointer check removed) 2019-06-21 10:36:00 -06:00
tree-ssa-dce.c Clean up dead condition for operators in DCE. 2019-08-15 11:29:37 +00:00
tree-ssa-dce.h
tree-ssa-dom.c gimple-loop-versioning.cc (loop_versioning::prune_loop_conditions): Make value_range * temporary const. 2019-07-25 10:25:13 +00:00
tree-ssa-dom.h
tree-ssa-dse.c tree-ssa-dse.c (initialize_ao_ref_for_dse): Handle strncpy. 2019-07-19 11:04:51 -06:00
tree-ssa-forwprop.c tree-ssa-forwprop.c (simplify_builtin_call): Do not remove stmt at gsi_p, instead replace it with a NOP removed later. 2019-08-16 09:27:34 +00:00
tree-ssa-ifcombine.c
tree-ssa-live.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-live.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-ch.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-im.c tree-ssa-loop-im: simplify casts in comparators 2019-08-02 16:44:58 +03:00
tree-ssa-loop-ivcanon.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-ivopts.c re PR tree-optimization/91137 (Wrong code with -O3) 2019-07-18 08:38:09 +00:00
tree-ssa-loop-ivopts.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-manip.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-manip.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-niter.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-niter.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-prefetch.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-split.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop-unswitch.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-loop.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-math-opts.c Add a gimple_move_vops helper function 2019-08-05 16:46:48 +00:00
tree-ssa-operands.c
tree-ssa-operands.h
tree-ssa-phiopt.c re PR tree-optimization/91200 (ICE on valid code at -O1: verify_ssa failed) 2019-07-19 12:24:53 +00:00
tree-ssa-phiprop.c
tree-ssa-pre.c tree-ssa-pre.c (has_abnormal_preds): Remove global var. 2019-08-01 11:37:22 +00:00
tree-ssa-propagate.c Add a gimple_move_vops helper function 2019-08-05 16:46:48 +00:00
tree-ssa-propagate.h
tree-ssa-reassoc.c re PR tree-optimization/88497 (Improve Accumulation in Auto-Vectorized Code) 2019-07-15 05:12:05 +00:00
tree-ssa-sccvn.c re PR tree-optimization/91178 (Infinite recursion in split_constant_offset in slp after r260289) 2019-07-31 09:46:18 +00:00
tree-ssa-sccvn.h re PR tree-optimization/91257 (Compile-time and memory-hog hog) 2019-07-29 14:19:07 +00:00
tree-ssa-scopedtables.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-scopedtables.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-sink.c Remove quite obvious dead assignments. 2019-06-27 10:25:21 +00:00
tree-ssa-strlen.c PR tree-optimization/91294 - [10 Regression] wrong strlen result of a conditional with an offset 2019-08-14 10:27:59 -06:00
tree-ssa-strlen.h PR tree-optimization/91294 - [10 Regression] wrong strlen result of a conditional with an offset 2019-08-14 10:27:59 -06:00
tree-ssa-structalias.c re PR tree-optimization/91280 (ICE in get_constraint_for_component_ref, at tree-ssa-structalias.c:3259 since r260354) 2019-07-31 14:38:21 +00:00
tree-ssa-tail-merge.c
tree-ssa-ter.c
tree-ssa-ter.h
tree-ssa-threadbackward.c
tree-ssa-threadedge.c Add type to VR_VARYING. 2019-08-16 06:54:23 +00:00
tree-ssa-threadedge.h
tree-ssa-threadupdate.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-threadupdate.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-ssa-uncprop.c
tree-ssa-uninit.c
tree-ssa.c re PR tree-optimization/91178 (Infinite recursion in split_constant_offset in slp after r260289) 2019-07-17 11:21:49 +00:00
tree-ssa.h
tree-ssanames.c Add type to VR_VARYING. 2019-08-16 06:54:23 +00:00
tree-ssanames.h
tree-stdarg.c
tree-stdarg.h
tree-streamer-in.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
tree-streamer-out.c Use checking forms of DECL_FUNCTION_CODE (PR 91421) 2019-08-13 21:35:20 +00:00
tree-streamer.c tree-core.h (enum tree_index): Add TI_CHREC_DONT_KNOW and TI_CHREC_KNOWN. 2019-07-02 09:35:12 +00:00
tree-streamer.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-switch-conversion.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-switch-conversion.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
tree-tailcall.c Reject tail calls that read from an escaped RESULT_DECL (PR90313) 2019-08-09 09:37:55 +00:00
tree-vect-data-refs.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-vect-generic.c re PR tree-optimization/91157 (ICE: verify_gimple failed (error: position plus size exceeds size of referenced object in 'bit_field_ref')) 2019-07-17 09:15:30 +02:00
tree-vect-loop-manip.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-vect-loop.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-vect-patterns.c Protect some checks of DECL_FUNCTION_CODE 2019-08-13 21:35:10 +00:00
tree-vect-slp.c re PR tree-optimization/91293 (Wrong code with -O3 -mavx2) 2019-07-31 14:15:37 +00:00
tree-vect-stmts.c Add missing check for BUILT_IN_MD (PR 91444) 2019-08-15 09:23:06 +00:00
tree-vector-builder.c Implement more rtx vector folds on variable-length vectors 2019-07-29 08:40:21 +00:00
tree-vector-builder.h Implement more rtx vector folds on variable-length vectors 2019-07-29 08:40:21 +00:00
tree-vectorizer.c Add a gimple_move_vops helper function 2019-08-05 16:46:48 +00:00
tree-vectorizer.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
tree-vrp.c Add type to VR_VARYING. 2019-08-16 06:54:23 +00:00
tree-vrp.h Add type to VR_VARYING. 2019-08-16 06:54:23 +00:00
tree.c Optimise constant IFN_WHILE_ULTs 2019-08-13 21:33:51 +00:00
tree.def tree.def (TYPE_SIZE): Clarify. 2019-08-16 09:53:29 -06:00
tree.h tree.def (TYPE_SIZE): Clarify. 2019-08-16 09:53:29 -06:00
treestruct.def
tsan.c
tsan.h
tsystem.h
typeclass.h
typed-splay-tree.c
typed-splay-tree.h
ubsan.c
ubsan.h
unique-ptr-tests.cc PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
valtrack.c
valtrack.h
value-prof.c Simplify dump_printf in value-prof.c 2019-08-13 07:31:25 +00:00
value-prof.h Generalize get_most_common_single_value to return n_th value & count 2019-07-25 09:20:13 +00:00
var-tracking.c Use function_arg_info for TARGET_PASS_BY_REFERENCE 2019-08-20 08:52:40 +00:00
varasm.c Add generic support for noinit attribute. 2019-08-14 15:14:59 +02:00
varasm.h
varpool.c
vec-perm-indices.c
vec-perm-indices.h
vec.c sort.cc: introduce gcc_sort_r 2019-08-01 20:14:53 +03:00
vec.h vec.h (vec::sort): Add gcc_qsort_r support. 2019-08-02 09:31:34 +00:00
vector-builder.h Implement more rtx vector folds on variable-length vectors 2019-07-29 08:40:21 +00:00
version.c
version.h
vmsdbg.h
vmsdbgout.c
vr-values.c Add type to VR_VARYING. 2019-08-16 06:54:23 +00:00
vr-values.h vr-values.h (vr_values::swap_vr_value): New. 2019-07-31 10:55:27 +00:00
vtable-verify.c
vtable-verify.h
web.c PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 12:32:49 -06:00
wide-int-bitmask.h PR c++/61339 - add mismatch between struct and class [-Wmismatched-tags] to non-bugs 2019-07-09 10:36:00 -06:00
wide-int-print.cc
wide-int-print.h
wide-int-range.cc
wide-int-range.h
wide-int.cc
wide-int.h Fix inchash handling of wide_ints (PR91242) 2019-07-29 18:50:25 +00:00
xcoff.h
xcoffout.c
xcoffout.h

README.Portability

Copyright (C) 2000-2019 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 now 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
---------------

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


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

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

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

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

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

needs to be coded in some other way.


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

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

  if (P)
    free (P);

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

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

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



Trigraphs
---------

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


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

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


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

errno
-----

errno might be declared as a macro.


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

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

  unsigned variable;

as shorthand for

  unsigned int variable;

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

  (unsigned) variable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

o Expecting ints shifted right to be sign extended.

o Modifying the same value twice within one sequence point.

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

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

o Passing incorrect types to fprintf and friends.

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