gcc/gcc
Jakub Jelinek c1a9c36961 gcc.c (process_command): Update copyright notice dates.
gcc/
	* gcc.c (process_command): Update copyright notice dates.
	* gcov-dump.c (print_version): Ditto.
	* gcov.c (print_version): Ditto.
	* gcov-tool.c (print_version): Ditto.
	* gengtype.c (create_file): Ditto.
	* doc/cpp.texi: Bump @copying's copyright year.
	* doc/cppinternals.texi: Ditto.
	* doc/gcc.texi: Ditto.
	* doc/gccint.texi: Ditto.
	* doc/gcov.texi: Ditto.
	* doc/install.texi: Ditto.
	* doc/invoke.texi: Ditto.
gcc/fortran/
	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.
	* gfc-internals.texi: Bump @copying's copyright year.
	* gfortran.texi: Ditto.
	* intrinsic.texi: Ditto.
	* invoke.texi: Ditto.
gcc/ada/
	* gnat_ugn.texi: Bump @copying's copyright year.
	* gnat_rm.texi: Likewise.
gcc/go/
	* gccgo.texi: Bump @copyrights-go year.
libitm/
	* libitm.texi: Bump @copying's copyright year.
libgomp/
	* libgomp.texi: Bump @copying's copyright year.
libquadmath/
	* libquadmath.texi: Bump @copying's copyright year.

From-SVN: r243992
2017-01-01 12:31:28 +01:00
..
ada gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
c re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-21 23:15:59 +01:00
c-family Add RejectNegative for a c option. 2016-12-29 10:35:33 +00:00
common re PR rtl-optimization/11488 (Pre-regalloc scheduling severely worsens performance) 2016-12-21 19:15:32 +00:00
config i386.md (*testqi_ext_3): Merge insn pattern and corresponding splitter to define_insn_and_split. 2016-12-30 18:14:16 +01:00
cp re PR middle-end/78901 (ICE: verify_gimple failed (error: statement marked for throw in middle of block)) 2016-12-24 12:15:44 +01:00
doc gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
fortran gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
ginclude
go gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
jit
lto re PR lto/78562 (Wrong warning for built-in functions with -flto) 2016-11-30 11:08:37 +00:00
objc
objcp
po Regenerate .pot files. 2017-01-01 00:55:25 +00:00
testsuite c11-atomic-exec-5.c: Lower ITER_COUNT to 100 for AARCH64. 2016-12-29 20:24:40 -08:00
ABOUT-GCC-NLS
BASE-VER
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01: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 gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
ChangeLog.dataflow
ChangeLog.gimple-classes
ChangeLog.graphite
ChangeLog.jit
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
DATESTAMP Daily bump. 2017-01-01 00:16:16 +00:00
DEV-PHASE
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES
Makefile.in Introduce selftest::locate_file 2016-12-15 01:47:48 +00:00
ONEWS
README.Portability
acinclude.m4
aclocal.m4
addresses.h
alias.c
alias.h
alloc-pool.c
alloc-pool.h
asan.c Rename BUILT_IN_ASAN_CLOBBER_N to 2016-12-13 13:33:35 +00:00
asan.h Add pretty printer for ASAN_MARK and add a helper fn 2016-12-13 09:14:47 +00:00
attribs.c
attribs.h
auto-inc-dec.c
auto-profile.c
auto-profile.h
backend.h
basic-block.h
bb-reorder.c
bb-reorder.h
bitmap.c
bitmap.h
bt-load.c
builtin-attrs.def PR c/78673 - sprintf missing attribute nonnull on destination argument 2016-12-14 10:23:16 -07:00
builtin-types.def
builtins.c re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-21 23:15:59 +01:00
builtins.def PR c/78673 - sprintf missing attribute nonnull on destination argument 2016-12-14 10:23:16 -07:00
builtins.h
caller-save.c
calls.c re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-21 23:15:59 +01:00
calls.h re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-21 23:15:59 +01:00
ccmp.c
ccmp.h
cfg-flags.def
cfg.c
cfg.h
cfganal.c
cfganal.h
cfgbuild.c
cfgbuild.h
cfgcleanup.c
cfgcleanup.h
cfgexpand.c Introduce rtl_data::init_stack_alignment 2016-12-07 16:41:05 +00:00
cfgexpand.h
cfghooks.c
cfghooks.h
cfgloop.c
cfgloop.h
cfgloopanal.c
cfgloopmanip.c re PR tree-optimization/71595 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu: in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:704) 2016-11-24 12:25:22 +00:00
cfgloopmanip.h re PR tree-optimization/71595 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu: in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:704) 2016-11-24 12:25:22 +00:00
cfgrtl.c
cfgrtl.h
cgraph.c re PR tree-optimization/78692 (ICE (segfault)) 2016-12-07 20:10:50 +01:00
cgraph.h Introduce -fdump-ipa-clones dump output 2016-11-30 09:28:19 +00:00
cgraphbuild.c
cgraphclones.c Introduce -fdump-ipa-clones dump output 2016-11-30 09:28:19 +00:00
cgraphunit.c
chkp-builtins.def
cif-code.def
cilk-builtins.def
cilk-common.c
cilk.h
cilkplus.def
collect-utils.c
collect-utils.h
collect2-aix.c
collect2-aix.h
collect2.c
collect2.h
combine-stack-adj.c
combine.c combine: Omit redundant AND in change_zero_ext. 2016-12-19 09:51:11 +00:00
common.md
common.opt [Patch] Turn -fexcess-precision=fast on when in -ffast-math 2016-12-20 16:17:27 +00:00
compare-elim.c
conditions.h
config.build
config.gcc config.gcc (i386-*-netbsd*): Make i486 the default arch on NetBSD. 2016-12-10 21:07:10 +00:00
config.host
config.in [Darwin] fix PR67710 by updating 'as' specs to handle newer assembler versions. 2016-11-27 15:07:22 +00:00
configure [Darwin, configury] No longer expect to find cross-target headers on the host. 2016-12-11 19:37:05 +00:00
configure.ac [Darwin, configury] No longer expect to find cross-target headers on the host. 2016-12-11 19:37:05 +00:00
context.c
context.h
convert.c re PR c++/78550 (bit field and std::initializer_list) 2016-12-09 12:18:36 +00:00
convert.h
coretypes.h
coverage.c Don't use priority {cd}tors if not supported by a target (PR 2016-11-25 14:23:25 +00:00
coverage.h
cppbuiltin.c
cppbuiltin.h
cppdefault.c
cppdefault.h
cprop.c
cse.c
cselib.c
cselib.h
cstamp-h.in
data-streamer-in.c
data-streamer-out.c
data-streamer.c
data-streamer.h
dbgcnt.c
dbgcnt.def
dbgcnt.h
dbxout.c re PR debug/66149 (ICE: tree check: expected field_decl, have template_decl in int_bit_position, at tree.h:5012 with -std=c++14 -gstabs) 2016-12-01 13:58:47 -05:00
dbxout.h
dce.c
dce.h
ddg.c
ddg.h
debug.c
debug.h
defaults.h
df-core.c
df-problems.c
df-scan.c
df.h
dfp.c
dfp.h
diagnostic-color.c
diagnostic-color.h
diagnostic-core.h
diagnostic-show-locus.c
diagnostic.c diagnostic.c (diagnostic_check_max_errors): New, broken out of ... 2016-12-05 12:24:39 +00:00
diagnostic.def
diagnostic.h diagnostic.c (diagnostic_check_max_errors): New, broken out of ... 2016-12-05 12:24:39 +00:00
dojump.c
dojump.h
dominance.c
dominance.h
domwalk.c
domwalk.h
double-int.c
double-int.h
dse.c
dumpfile.c Introduce -fdump-ipa-clones dump output 2016-11-30 09:28:19 +00:00
dumpfile.h Introduce -fdump-ipa-clones dump output 2016-11-30 09:28:19 +00:00
dwarf2asm.c
dwarf2asm.h
dwarf2cfi.c
dwarf2out.c dwarf2out.c: fix jit issue with early_dwarf_finished 2016-12-01 21:56:09 +00:00
dwarf2out.h
edit-context.c
edit-context.h
emit-rtl.c Introduce emit_status::ensure_regno_capacity 2016-12-08 17:29:41 +00:00
emit-rtl.h Introduce rtl_data::init_stack_alignment 2016-12-07 16:41:05 +00:00
errors.c
errors.h
et-forest.c
et-forest.h
except.c
except.h
exec-tool.in
explow.c
explow.h
expmed.c
expmed.h
expr.c re PR middle-end/71632 (hang at -O3 on x86_64-linux-gnu) 2016-12-16 09:38:18 +00:00
expr.h
fibonacci_heap.c
fibonacci_heap.h
file-find.c
file-find.h
final.c common.opt (flimit-function-alignment): New. 2016-11-24 12:54:56 +00:00
fixed-value.c
fixed-value.h
flag-types.h
flags.h
fold-const-call.c builtins.c (fold_builtin_strstr): Removed. 2016-12-07 20:45:45 +01:00
fold-const-call.h
fold-const.c re PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.) 2016-12-06 10:24:36 +01:00
fold-const.h
fp-test.c
function-tests.c
function.c [Patch] New hook TARGET_STACK_PROTECT_RUNTIME_ENABLED_P to disable SSP runtime 2016-11-29 11:47:48 +00:00
function.h Introduce emit_status::ensure_regno_capacity 2016-12-08 17:29:41 +00:00
fwprop.c
gcc-ar.c
gcc-main.c
gcc-plugin.h
gcc-rich-location.c
gcc-rich-location.h
gcc-symtab.h
gcc.c gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
gcc.h
gcov-counter.def
gcov-dump.c gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
gcov-io.c
gcov-io.h
gcov-iov.c
gcov-tool.c gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
gcov.c gcc.c (process_command): Update copyright notice dates. 2017-01-01 12:31:28 +01:00
gcse-common.c
gcse-common.h
gcse.c
gcse.h
gdbasan.in
gdbhooks.py
gdbinit.in
gen-pass-instances.awk
genattr-common.c
genattr.c
genattrtab.c
genautomata.c
gencfn-macros.c
gencheck.c
genchecksum.c
gencodes.c
genconditions.c
genconfig.c
genconstants.c
genemit.c
genenums.c
generic-match-head.c
generic-match.h
genextract.c
genflags.c
gengenrtl.c
gengtype-lex.l
gengtype-parse.c
gengtype-state.c
gengtype.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
gengtype.h
genhooks.c
genmatch.c
genmddeps.c
genmddump.c
genmodes.c
genmultilib
genopinit.c
genoutput.c
genpeep.c
genpreds.c Split class rtx_reader into md_reader vs rtx_reader 2016-12-08 01:51:04 +00:00
genrecog.c
gensupport.c
gensupport.h
gentarget-def.c
ggc-common.c
ggc-internal.h
ggc-none.c
ggc-page.c
ggc-tests.c
ggc.h
gimple-builder.c
gimple-builder.h
gimple-expr.c
gimple-expr.h Make it cheaper to test whether an SSA name is a virtual operand 2016-12-24 14:30:18 +00:00
gimple-fold.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
gimple-fold.h
gimple-iterator.c
gimple-iterator.h
gimple-laddress.c
gimple-low.c
gimple-low.h
gimple-match-head.c
gimple-match.h
gimple-predict.h
gimple-pretty-print.c Print 2 digits after decimal delimiter for BB frequencies 2016-12-14 10:33:10 +00:00
gimple-pretty-print.h
gimple-ssa-backprop.c
gimple-ssa-isolate-paths.c
gimple-ssa-nonnull-compare.c
gimple-ssa-split-paths.c
gimple-ssa-sprintf.c PR middle-end/78519 - missing warning for sprintf %s with null pointer 2016-12-14 21:35:31 -07:00
gimple-ssa-store-merging.c
gimple-ssa-strength-reduction.c re PR tree-optimization/78777 (ICE in mark_reachable_handlers, at tree-eh.c:3823 (aarch64-linux-gnu)) 2016-12-12 23:02:52 +01:00
gimple-ssa-warn-alloca.c re PR middle-end/78328 (wrong wording for unbounded alloc case in -Walloca-larger-than note) 2016-12-02 12:20:42 +00:00
gimple-ssa.h
gimple-streamer-in.c
gimple-streamer-out.c
gimple-streamer.h
gimple-walk.c
gimple-walk.h
gimple.c Add pretty printer for ASAN_MARK and add a helper fn 2016-12-13 09:14:47 +00:00
gimple.def
gimple.h
gimplify-me.c
gimplify-me.h
gimplify.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
gimplify.h
glimits.h
godump.c
graph.c
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
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
hash-map-tests.c
hash-map-traits.h
hash-map.h
hash-set-tests.c
hash-set.h
hash-table.c
hash-table.h
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
hsa-builtins.def
hsa-dump.c
hsa-gen.c
hsa-regalloc.c
hsa.c [hsa] Exclude parallel outlines from hsa_callable_functions_p 2016-12-02 15:42:15 +01:00
hsa.h
hw-doloop.c
hw-doloop.h
hwint.c
hwint.h
ifcvt.c re PR rtl-optimization/78120 (If conversion no longer performed) 2016-11-24 12:22:16 +00:00
ifcvt.h
inchash.c
inchash.h
incpath.c
incpath.h
init-regs.c
input.c Fix use-after-free lexing unterminated raw strings (PR preprocessor/78811) 2016-12-15 18:05:05 +00:00
input.h
insn-addr.h
insn-notes.def
internal-fn.c
internal-fn.def
internal-fn.h
intl.c
intl.h
ipa-chkp.c
ipa-chkp.h
ipa-comdats.c
ipa-cp.c ipa-cp.c (class ipcp_bits_lattice): Formatting fixes. 2016-12-15 21:51:39 +01:00
ipa-devirt.c
ipa-hsa.c
ipa-icf-gimple.c
ipa-icf-gimple.h
ipa-icf.c re PR ipa/78027 (ICE in new_oacc_loop_routine, at omp-low.c:19000) 2016-12-09 06:45:54 -08:00
ipa-icf.h re PR lto/78211 (-fcompare-debug failure with -flto -fno-use-linker-plugin) 2016-11-28 11:00:43 +01:00
ipa-inline-analysis.c re PR middle-end/78306 ([CilkPlus] "inlining failed in call to always_inline ‘memset’: function not inlinable" with -fcilkplus) 2016-11-17 08:42:50 +00:00
ipa-inline-transform.c Introduce -fdump-ipa-clones dump output 2016-11-30 09:28:19 +00:00
ipa-inline.c
ipa-inline.h
ipa-polymorphic-call.c
ipa-profile.c
ipa-prop.c re PR ipa/78515 (ICE: in fold_binary_loc, at fold-const.c:8999 with -Os -mavx512bw) 2016-11-25 14:05:04 +00:00
ipa-prop.h
ipa-pure-const.c re PR ipa/77905 (ICE at -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in ipa_comdats, at ipa-comdats.c:352)) 2016-12-13 09:48:45 +01:00
ipa-ref.c
ipa-ref.h
ipa-reference.c
ipa-reference.h
ipa-split.c
ipa-utils.c
ipa-utils.h
ipa-visibility.c
ipa.c
ira-build.c
ira-color.c
ira-conflicts.c
ira-costs.c re PR rtl-optimization/78580 (Segfault in gcc with multilib (-m32) and -ffixed-*) 2016-12-21 22:20:11 +00:00
ira-emit.c
ira-int.h
ira-lives.c
ira.c re PR rtl-optimization/78669 (ICE: in combine_and_move_insns, at ira.c:3665 with -Os -fno-tree-ter -mavx512bw) 2016-12-12 13:29:48 +00:00
ira.h
is-a.h
jump.c
langhooks-def.h re PR c++/71694 (store-data race with bitfields and tail-padding in C++) 2016-12-16 09:40:03 +00:00
langhooks.c re PR c++/71694 (store-data race with bitfields and tail-padding in C++) 2016-12-16 09:40:03 +00:00
langhooks.h re PR c++/71694 (store-data race with bitfields and tail-padding in C++) 2016-12-16 09:40:03 +00:00
lcm.c
lcm.h
libfuncs.h
limitx.h
limity.h
lists.c
lock-and-run.sh
loop-doloop.c
loop-init.c
loop-invariant.c
loop-iv.c
loop-unroll.c
loop-unroll.h
lower-subreg.c
lower-subreg.h
lra-assigns.c re PR rtl-optimization/78671 (ICE: in extract_constrain_insn, at recog.c:2213 with -Og -march=skylake-avx512) 2016-12-08 21:14:42 +00:00
lra-coalesce.c
lra-constraints.c lra-constraints.c (process_address): Add forward declaration. 2016-12-18 08:33:38 +00:00
lra-eliminations.c
lra-int.h
lra-lives.c lra-lives.c (process_bb_lives): Update biggest mode for implicitly used hard reg. 2016-12-06 20:02:03 +00:00
lra-remat.c re PR rtl-optimization/78617 (LRA clobbers live register during rematerialization) 2016-12-07 17:56:53 +00:00
lra-spills.c Tweak LRA handling of shared spill slots 2016-11-25 08:23:08 +00:00
lra.c
lra.h
lto-cgraph.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
lto-compress.c
lto-compress.h
lto-opts.c
lto-section-in.c
lto-section-names.h
lto-section-out.c
lto-streamer-in.c re PR sanitizer/78708 ([ASAN][LTO] ICE in expand_ASAN_MARK, at internal-fn.c:380 - when compiling but not linking with ASAN) 2016-12-10 09:01:17 +01:00
lto-streamer-out.c
lto-streamer.c
lto-streamer.h
lto-wrapper.c
machmode.def
machmode.h
main.c
match.pd match.pd (max:c @0 (plus@2 @0 INTEGER_CST@1)): New Pattern. 2016-12-21 08:37:47 +00:00
mcf.c
mem-stats-traits.h
mem-stats.h
memmodel.h
memory-block.cc
memory-block.h
mkconfig.sh
mode-classes.def
mode-switching.c
modulo-sched.c
multiple_target.c
omp-builtins.def
omp-expand.c Coding style fixes 2016-12-14 23:36:45 +01:00
omp-expand.h Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
omp-general.c Coding style fixes 2016-12-14 23:36:45 +01:00
omp-general.h Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
omp-grid.c Coding style fixes 2016-12-14 23:36:45 +01:00
omp-grid.h Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
omp-low.c Coding style fixes 2016-12-14 23:36:45 +01:00
omp-low.h Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
omp-offload.c Coding style fixes 2016-12-14 23:36:45 +01:00
omp-offload.h Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
omp-simd-clone.c
opt-functions.awk re PR other/78766 (GCC Awk scripts use the non-POSIX /^{/ regex) 2016-12-12 23:01:41 +01:00
opt-gather.awk
opt-include.awk
opt-read.awk
optabs-libfuncs.c
optabs-libfuncs.h
optabs-query.c
optabs-query.h
optabs-tree.c
optabs-tree.h
optabs.c
optabs.def
optabs.h
optc-gen.awk
optc-save-gen.awk
opth-gen.awk opth-gen.awk: Use unsigned shifts for bit masks. 2016-11-23 14:53:12 -07:00
opts-common.c
opts-diagnostic.h
opts-global.c
opts.c [Patch] Turn -fexcess-precision=fast on when in -ffast-math 2016-12-20 16:17:27 +00:00
opts.h
output.h [Patch PR78561 PowerPC] Revert to old behaviour for counting constant pools 2016-12-07 14:01:59 +00:00
params-enum.h
params-list.h
params-options.h
params.c
params.def
params.h
pass_manager.h
passes.c passes.c (execute_one_pass): Handle going out of SSA w/o hitting pass_startwith. 2016-12-20 12:49:31 +00:00
passes.def re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-21 23:15:59 +01:00
plugin.c
plugin.def
plugin.h
postreload-gcse.c
postreload.c PR78255: Make postreload aware of NO_FUNCTION_CSE 2016-12-09 16:46:42 +00:00
predict.c
predict.def
predict.h
prefix.c
prefix.h
pretty-print.c
pretty-print.h
print-rtl-function.c print_rtx_function: update example in comment 2016-12-19 20:33:05 +00:00
print-rtl.c print-rtl.c: use '<' and '>' rather than % for pseudos in compact mode 2016-12-19 15:24:47 +00:00
print-rtl.h print_rtx: implement support for reuse IDs (v2) 2016-12-06 21:03:33 +00:00
print-tree.c Fix print_node for CONSTRUCTORs 2016-11-24 09:42:18 +00:00
print-tree.h Fix print_node for CONSTRUCTORs 2016-11-24 09:42:18 +00:00
profile.c
profile.h
read-md.c Split class rtx_reader into md_reader vs rtx_reader 2016-12-08 01:51:04 +00:00
read-md.h Split class rtx_reader into md_reader vs rtx_reader 2016-12-08 01:51:04 +00:00
read-rtl.c Split class rtx_reader into md_reader vs rtx_reader 2016-12-08 01:51:04 +00:00
real.c Fix part of PR78555 - gcc/real.c:2890:25: runtime error: left shift of negative value -125 2016-11-30 12:22:55 +00:00
real.h
realmpfr.c
realmpfr.h
recog.c
recog.h
ree.c re PR rtl-optimization/78437 (invalid sign-extend conversion in REE pass) 2016-11-24 15:01:32 +00:00
reg-notes.def
reg-stack.c
regcprop.c
regcprop.h
reginfo.c
regrename.c
regrename.h
regs.h
regset.h
regstat.c
reload.c
reload.h
reload1.c
reorg.c
resource.c
resource.h
rtl-chkp.c
rtl-chkp.h
rtl-error.c
rtl-error.h
rtl-iter.h
rtl-tests.c print-rtl.c: use '<' and '>' rather than % for pseudos in compact mode 2016-12-19 15:24:47 +00:00
rtl.c re PR target/78614 (ICE error: invalid rtl sharing found in the insn (verify_rtx_sharing) gcc/emit-rtl.c:2743) 2016-12-02 16:42:04 +01:00
rtl.def
rtl.h Prevent use of MEM_* attr accessor macros as lvalues 2016-12-09 14:34:48 +00:00
rtlanal.c Fix PR78588 - rtlanal.c:5210:38: runtime error: shift exponent 4294967295 is too large for 64-bit type 2016-11-30 07:30:55 +00:00
rtlhash.c
rtlhash.h
rtlhooks-def.h
rtlhooks.c
sancov.c
sanitizer.def Rename BUILT_IN_ASAN_CLOBBER_N to 2016-12-13 13:33:35 +00:00
sanopt.c re PR sanitizer/78832 (-fcompare-debug failure (length) with -fsanitize=address) 2016-12-17 20:10:39 +01:00
sbitmap.c
sbitmap.h
sched-deps.c
sched-ebb.c
sched-int.h
sched-rgn.c
sdbout.c
sdbout.h
sel-sched-dump.c
sel-sched-dump.h
sel-sched-ir.c
sel-sched-ir.h
sel-sched.c
sel-sched.h
selftest-rtl.h print_rtx: implement support for reuse IDs (v2) 2016-12-06 21:03:33 +00:00
selftest-run-tests.c Introduce selftest::locate_file 2016-12-15 01:47:48 +00:00
selftest.c Introduce selftest::locate_file 2016-12-15 01:47:48 +00:00
selftest.h Introduce selftest::locate_file 2016-12-15 01:47:48 +00:00
sese.c
sese.h
shrink-wrap.c shrink-wrap: New spread_components 2016-11-29 03:19:04 +01:00
shrink-wrap.h
signop.h
simplify-rtx.c simplify-rtx: Fix the last fix (PR78638) 2016-12-03 00:51:31 +01:00
sparseset.c
sparseset.h
spellcheck-tree.c
spellcheck-tree.h
spellcheck.c spellcheck bugfixes: don't offer the goal string as a suggestion 2016-11-29 16:25:01 +00:00
spellcheck.h spellcheck bugfixes: don't offer the goal string as a suggestion 2016-11-29 16:25:01 +00:00
sreal.c Fix runtime error: left shift of negative value (PR 2016-12-02 08:36:01 +00:00
sreal.h Fix runtime error: left shift of negative value (PR 2016-12-02 08:36:01 +00:00
ssa-iterators.h
ssa.h
stab.def
stack-ptr-mod.c
statistics.c
statistics.h
stmt.c
stmt.h
stor-layout.c re PR c++/71694 (store-data race with bitfields and tail-padding in C++) 2016-12-16 09:40:03 +00:00
stor-layout.h
store-motion.c
streamer-hooks.c
streamer-hooks.h
stringpool.c
stringpool.h
substring-locations.c
substring-locations.h
symbol-summary.h
symtab.c
sync-builtins.def
system.h
target-def.h
target-globals.c
target-globals.h
target-hooks-macros.h
target-insns.def
target.def PR tree-optimization/78512 - [7 Regression] r242674 miscompiles Linux kernel 2016-11-29 14:08:02 -07:00
target.h
targhooks.c PR tree-optimization/78512 - [7 Regression] r242674 miscompiles Linux kernel 2016-11-29 14:08:02 -07:00
targhooks.h PR tree-optimization/78512 - [7 Regression] r242674 miscompiles Linux kernel 2016-11-29 14:08:02 -07:00
timevar.c
timevar.def
timevar.h
tlink.c
toplev.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
toplev.h
tracer.c
tracer.h
trans-mem.c
trans-mem.h
tree-affine.c
tree-affine.h
tree-call-cdce.c
tree-cfg.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
tree-cfg.h
tree-cfgcleanup.c
tree-cfgcleanup.h
tree-chkp-opt.c
tree-chkp.c c.opt (flag_chkp_flexible_struct_trailing_arrays): Add new option. 2016-12-27 13:31:43 +00:00
tree-chkp.h
tree-chrec.c
tree-chrec.h
tree-complex.c
tree-core.h Make it cheaper to test whether an SSA name is a virtual operand 2016-12-24 14:30:18 +00:00
tree-data-ref.c tree-data-ref.c (compute_overlap_steps_for_affine_univar): Change parameters' type from int to HOST_WIDE_INT. 2016-12-13 14:19:12 +00:00
tree-data-ref.h
tree-dfa.c
tree-dfa.h
tree-diagnostic.c
tree-diagnostic.h
tree-dump.c
tree-dump.h
tree-eh.c
tree-eh.h
tree-emutls.c
tree-hash-traits.h
tree-hasher.h
tree-if-conv.c
tree-if-conv.h
tree-inline.c
tree-inline.h
tree-into-ssa.c
tree-into-ssa.h
tree-iterator.c
tree-iterator.h
tree-loop-distribution.c
tree-nested.c re PR fortran/78298 (ICE in lookup_decl_in_outer_ctx, bei omp-low.c:4115) 2016-11-28 18:31:37 +01:00
tree-nested.h
tree-nrv.c
tree-object-size.c re PR tree-optimization/78742 (internal compiler error: in int_cst_value, at tree.c:10782) 2016-12-13 09:17:42 +00:00
tree-object-size.h
tree-outof-ssa.c
tree-outof-ssa.h
tree-parloops.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
tree-parloops.h
tree-pass.h re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-21 23:15:59 +01:00
tree-phinodes.c
tree-phinodes.h
tree-predcom.c
tree-pretty-print.c tree-pretty-print.c (dump_generic_node): Change dump format for REALPART_EXPR and IMAGPART_EXPR with TDF_GIMPLE. 2016-12-22 20:30:33 +00:00
tree-pretty-print.h
tree-profile.c Make one extra BB to prevent PHI argument clash (PR 2016-11-29 13:20:00 +00:00
tree-scalar-evolution.c
tree-scalar-evolution.h
tree-sra.c
tree-ssa-address.c
tree-ssa-address.h
tree-ssa-alias.c re PR tree-optimization/67955 (tree-dse does not use pointer info) 2016-12-06 16:18:17 -07:00
tree-ssa-alias.h
tree-ssa-ccp.c re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-21 23:15:59 +01:00
tree-ssa-ccp.h
tree-ssa-coalesce.c
tree-ssa-coalesce.h
tree-ssa-copy.c
tree-ssa-dce.c re PR tree-optimization/78343 (Loop is not eliminated) 2016-11-25 10:22:57 +00:00
tree-ssa-dom.c
tree-ssa-dom.h
tree-ssa-dse.c
tree-ssa-forwprop.c
tree-ssa-ifcombine.c
tree-ssa-live.c
tree-ssa-live.h
tree-ssa-loop-ch.c
tree-ssa-loop-im.c
tree-ssa-loop-ivcanon.c re PR tree-optimization/71595 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu: in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:704) 2016-11-24 12:25:22 +00:00
tree-ssa-loop-ivopts.c re PR tree-optimization/78574 (ice on valid C code at -O2 and -O3 in both 32- and 64-bit modes on x86_64-linux-gnu (internal compiler error: Segmentation fault (program cc1))) 2016-11-30 14:41:09 +00:00
tree-ssa-loop-ivopts.h
tree-ssa-loop-manip.c
tree-ssa-loop-manip.h
tree-ssa-loop-niter.c
tree-ssa-loop-niter.h
tree-ssa-loop-prefetch.c Fix PR tree-optimization/78598 - tree-ssa-loop-prefetch.c:835:16: runtime error: signed integer overflow 2016-12-01 14:59:03 +00:00
tree-ssa-loop-split.c Fix pr78725 2016-12-13 14:14:41 +00:00
tree-ssa-loop-unswitch.c
tree-ssa-loop.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
tree-ssa-loop.h
tree-ssa-math-opts.c Improve comment for struct symbolic_number in bswap pass 2016-11-25 10:03:46 +00:00
tree-ssa-operands.c
tree-ssa-operands.h
tree-ssa-phionlycprop.c
tree-ssa-phiopt.c
tree-ssa-phiprop.c
tree-ssa-pre.c
tree-ssa-propagate.c
tree-ssa-propagate.h
tree-ssa-reassoc.c re PR middle-end/78726 (Incorrect unsigned arithmetic optimization) 2016-12-09 10:21:36 +01:00
tree-ssa-sccvn.c
tree-ssa-sccvn.h
tree-ssa-scopedtables.c
tree-ssa-scopedtables.h
tree-ssa-sink.c
tree-ssa-strlen.c Fix tree-optimization/78886. 2016-12-22 13:09:11 +00:00
tree-ssa-structalias.c
tree-ssa-tail-merge.c
tree-ssa-ter.c [TER] PR target/48863 : Don't replace expressions across local register variable definitions 2016-11-24 15:22:34 +00:00
tree-ssa-ter.h
tree-ssa-threadbackward.c
tree-ssa-threadbackward.h
tree-ssa-threadedge.c * tree-ssa-threadedge.c 2016-12-01 23:40:57 -07:00
tree-ssa-threadedge.h
tree-ssa-threadupdate.c
tree-ssa-threadupdate.h
tree-ssa-uncprop.c
tree-ssa-uninit.c re PR middle-end/78548 (ICE on valid C code on x86_64-linux-gnu at -O2 and -O3 in 64-bit mode with -Wall (*** Error in `/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/cc1': double free or corruption (fasttop): 0x0000000003c15810 ***)) 2016-12-06 10:35:37 +00:00
tree-ssa.c
tree-ssa.h
tree-ssanames.c
tree-ssanames.h
tree-stdarg.c
tree-stdarg.h
tree-streamer-in.c
tree-streamer-out.c
tree-streamer.c
tree-streamer.h
tree-switch-conversion.c
tree-tailcall.c Tighten check for whether sibcall references local variables 2016-11-25 08:17:46 +00:00
tree-vect-data-refs.c re PR tree-optimization/78699 (ICE (segfault) on powerpc64le-linux-gnu (memory-hog)) 2016-12-13 09:19:19 +00:00
tree-vect-generic.c
tree-vect-loop-manip.c re PR middle-end/78684 (ICE in create_intersect_range_checks_index, at tree-vect-loop-manip.c:2074) 2016-12-08 10:56:41 +00:00
tree-vect-loop.c re PR tree-optimization/78675 (ICE: verify_gimple failed (error: integral result type precision does not match field size of BIT_FIELD_REF)) 2016-12-06 10:21:13 +01:00
tree-vect-patterns.c
tree-vect-slp.c
tree-vect-stmts.c
tree-vectorizer.c re PR tree-optimization/78396 (gcc.dg/vect/bb-slp-cond-1.c FAILs after fix for PR77848) 2016-11-25 08:59:28 +00:00
tree-vectorizer.h
tree-vrp.c re PR tree-optimization/78819 (Wrong code with VRP caused by register assertions along default switch labels) 2016-12-16 14:19:44 +00:00
tree-vrp.h
tree.c re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-21 23:15:59 +01:00
tree.def re PR ipa/78515 (ICE: in fold_binary_loc, at fold-const.c:8999 with -Os -mavx512bw) 2016-11-25 14:05:04 +00:00
tree.h Make it cheaper to test whether an SSA name is a virtual operand 2016-12-24 14:30:18 +00:00
treestruct.def
tsan.c
tsan.h
tsystem.h
typeclass.h
typed-splay-tree.c
typed-splay-tree.h
ubsan.c
ubsan.h
valtrack.c re PR debug/77844 (Compilation of simple C++ example exhaust memory) 2016-12-14 20:40:05 +01:00
valtrack.h
value-prof.c
value-prof.h
var-tracking.c
varasm.c varasm: Propagate litpool decl alignment to generated RTX. 2016-12-22 14:50:29 +00:00
varasm.h
varpool.c Split omp-low into multiple files 2016-12-14 23:30:41 +01:00
vec.c
vec.h re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661) 2016-12-22 09:53:56 +01:00
version.c
version.h
vmsdbg.h
vmsdbgout.c
vtable-verify.c
vtable-verify.h
web.c
wide-int-print.cc
wide-int-print.h
wide-int.cc
wide-int.h
xcoff.h
xcoffout.c
xcoffout.h

README.Portability

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

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

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

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

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


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

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

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

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

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

needs to be coded in some other way.


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

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

  if (P)
    free (P);

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

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

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



Trigraphs
---------

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


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

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


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

errno
-----

errno might be declared as a macro.


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

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

  unsigned variable;

as shorthand for

  unsigned int variable;

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

  (unsigned) variable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

o Expecting ints shifted right to be sign extended.

o Modifying the same value twice within one sequence point.

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

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

o Passing incorrect types to fprintf and friends.

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