gcc/gcc
David Malcolm 082284da9d Fix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852)
PR c/84852 reports an ICE inside diagnostic_show_locus when printing
a diagnostic for a source file with a #line >= 2^31:

  #line 7777777777
  int foo (void) { return strlen(""); }

where we're attempting to print a fix-it hint at the top of the file
and underline the "strlen" (two "line spans").

The
  #line 7777777777
won't fix within the 32-bit linenum_type, and is truncated from
  0x1cf977871
to
   0xcf977871
i.e. 3482810481 in decimal.

Such a #line is reported by -pedantic and -pedantic-errors, but we
shouldn't ICE.

The ICE is an assertion failure within layout::calculate_line_spans,
where the line spans have not been properly sorted.

The layout_ranges are stored as int, rather than linenum_type,
giving line -812156815 for the error, and line 1 for the fix-it hint.

However, line_span uses linenum_type rather than int.

line_span::comparator compares these values as int, and hence
decides that (linenum_type)3482810481 aka (int)-812156815 is less
than line 1.

This leads to this assertion failing in layout::calculate_line_spans:

1105	      gcc_assert (next->m_first_line >= current->m_first_line);

since it isn't the case that 1 >= 3482810481.

The underlying problem is the mix of types for storing line numbers:
in parts of libcpp and diagnostic-show-locus.c we use linenum_type;
in other places (including libcpp's expanded_location) we use int.

I looked at using linenum_type throughout, but doing so turned into
a large patch, so this patch fixes the ICE in a less invasive way
by merely using linenum_type more consistently just within
diagnostic-show-locus.c, and fixing line_span::comparator to properly
handle line numbers (and line number differences) >= 2^31, by using
a new helper function for linenum_type differences, computing the
difference using long long, and using the sign of the difference
(as the difference might not fit in the "int" return type imposed
by qsort).

gcc/ChangeLog:
	PR c/84852
	* diagnostic-show-locus.c (class layout_point): Convert m_line
	from int to linenum_type.
	(line_span::comparator): Use linenum "compare" function when
	comparing line numbers.
	(test_line_span): New function.
	(layout_range::contains_point): Convert param "row" from int to
	linenum_type.
	(layout_range::intersects_line_p): Likewise.
	(layout::will_show_line_p): Likewise.
	(layout::print_source_line): Likewise.
	(layout::should_print_annotation_line_p): Likewise.
	(layout::print_annotation_line): Likewise.
	(layout::print_leading_fixits): Likewise.
	(layout::annotation_line_showed_range_p): Likewise.
	(struct line_corrections): Likewise for field m_row.
	(line_corrections::line_corrections): Likewise for param "row".
	(layout::print_trailing_fixits): Likewise.
	(layout::get_state_at_point): Likewise.
	(layout::get_x_bound_for_row): Likewise.
	(layout::print_line): Likewise.
	(diagnostic_show_locus): Likewise for locals "last_line" and
	"row".
	(selftest::diagnostic_show_locus_c_tests): Call test_line_span.
	* input.c (selftest::test_linenum_comparisons): New function.
	(selftest::input_c_tests): Call it.
	* selftest.c (selftest::test_assertions): Test ASSERT_GT,
	ASSERT_GT_AT, ASSERT_LT, and ASSERT_LT_AT.
	* selftest.h (ASSERT_GT): New macro.
	(ASSERT_GT_AT): New macro.
	(ASSERT_LT): New macro.
	(ASSERT_LT_AT): New macro.

gcc/testsuite/ChangeLog:
	PR c/84852
	* gcc.dg/fixits-pr84852-1.c: New test.
	* gcc.dg/fixits-pr84852-2.c: New test.

libcpp/ChangeLog:
	* include/line-map.h (compare): New function on linenum_type.

From-SVN: r258526
2018-03-14 13:58:13 +00:00
..
ada re PR ada/82813 (warning: '.builtin_memcpy' writing between 2 and 6 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]) 2018-03-12 22:40:05 +00:00
brig poly_int: TYPE_VECTOR_SUBPARTS 2018-01-03 21:42:12 +00:00
c PR c/46921 Lost side effect when struct initializer expression uses comma operator 2018-03-13 18:10:09 +00:00
c-family PR tree-optimization/84725 - enable attribute nonstring for all narrow character types 2018-03-13 09:33:16 -06:00
common [arm] PR target/83193: Do not print arch/cpu hints twice on invalid -march/-mcpu 2018-03-09 15:42:10 +00:00
config Split-up -march=icelake on -march=icelake-server and -march=icelake-client 2018-03-14 11:26:38 +01:00
cp re PR c++/84596 (internal compiler error: unexpected expression '(bool)c' of kind implicit_conv_expr (cxx_eval_constant_expression)) 2018-03-14 06:14:57 +00:00
doc Split-up -march=icelake on -march=icelake-server and -march=icelake-client 2018-03-14 11:26:38 +01:00
fortran check.c (gfc_check_kill_sub): Remove check for INTEGER(4) or (8). 2018-03-14 00:56:48 +00:00
ginclude Update copyright years. 2018-01-03 11:03:58 +01:00
go commit ce28919112dbb234366816ab39ce060ad45e8ca9 2018-03-09 18:21:42 +00:00
jit jit: use 'configure' to replace hard-coded linker options (PR jit/64089 and PR jit/84288) 2018-03-09 15:24:44 +00:00
lto * lto-partition.c (lto_balanced_map): Watch overflow. 2018-02-23 18:18:07 +00:00
objc Update copyright years. 2018-01-03 11:03:58 +01:00
objcp Update copyright years. 2018-01-03 11:03:58 +01:00
po * de.po, es.po, sv.po: Update. 2018-03-12 17:23:38 +00:00
testsuite Fix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852) 2018-03-14 13:58:13 +00:00
ABOUT-GCC-NLS Update copyright years. 2018-01-03 11:03:58 +01:00
BASE-VER BASE-VER: Bump to 8.0.1. 2018-01-15 08:28:13 +00:00
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog Fix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852) 2018-03-14 13:58:13 +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 gcc.c (process_command): Update copyright notice dates. 2018-01-03 10:17:54 +01:00
ChangeLog.dataflow
ChangeLog.gimple-classes
ChangeLog.graphite
ChangeLog.jit
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
DATESTAMP Daily bump. 2018-03-14 00:16:27 +00:00
DEV-PHASE
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.in jit: use 'configure' to replace hard-coded linker options (PR jit/64089 and PR jit/84288) 2018-03-09 15:24:44 +00:00
ONEWS
README.Portability Update copyright years. 2018-01-03 11:03:58 +01:00
acinclude.m4 Update copyright years. 2018-01-03 11:03:58 +01:00
aclocal.m4
addresses.h Update copyright years. 2018-01-03 11:03:58 +01:00
alias.c Tighten use of HARD_FRAME_POINTER_REGNUM in alias.c (PR 84538) 2018-03-01 08:22:06 +00:00
alias.h Update copyright years. 2018-01-03 11:03:58 +01:00
alloc-pool.c Update copyright years. 2018-01-03 11:03:58 +01:00
alloc-pool.h Update copyright years. 2018-01-03 11:03:58 +01:00
asan.c Add gcc_assert about stack alignment (PR sanitizer/82517). 2018-01-09 11:47:26 +00:00
asan.h Update copyright years. 2018-01-03 11:03:58 +01:00
attribs.c PR c++/84314 - ICE with templates and fastcall attribute. 2018-02-21 17:12:08 -05:00
attribs.h Update copyright years. 2018-01-03 11:03:58 +01:00
auto-inc-dec.c [PR81611] turn inc-and-use-of-dead-orig into auto-inc 2018-02-28 05:25:34 +00:00
auto-profile.c Update copyright years. 2018-01-03 11:03:58 +01:00
auto-profile.h Update copyright years. 2018-01-03 11:03:58 +01:00
backend.h Update copyright years. 2018-01-03 11:03:58 +01:00
basic-block.h Clean up partitioning in try_optimize_cfg (PR bootstrap/82831). 2018-01-10 10:54:20 +00:00
bb-reorder.c re PR debug/81155 (Debug make check regressions in GCC 8.0) 2018-01-12 19:20:49 +01:00
bb-reorder.h Update copyright years. 2018-01-03 11:03:58 +01:00
bitmap.c Update copyright years. 2018-01-03 11:03:58 +01:00
bitmap.h Update copyright years. 2018-01-03 11:03:58 +01:00
brig-builtins.def Update copyright years. 2018-01-03 11:03:58 +01:00
bt-load.c Update copyright years. 2018-01-03 11:03:58 +01:00
builtin-attrs.def Update copyright years. 2018-01-03 11:03:58 +01:00
builtin-types.def Update copyright years. 2018-01-03 11:03:58 +01:00
builtins.c re PR c++/84444 (ICE with __builtin_launder and cast) 2018-02-19 20:36:41 +01:00
builtins.def Update copyright years. 2018-01-03 11:03:58 +01:00
builtins.h Add a fixed_size_mode_pod class 2018-01-03 21:39:45 +00:00
caller-save.c caller-save.c (insert_save): Drop unnecessary parameter. 2018-01-16 09:28:36 -07:00
calls.c re PR tree-optimization/84224 (ICE in execute, at gimple-ssa-warn-alloca.c:448) 2018-02-08 11:16:25 +00:00
calls.h Update copyright years. 2018-01-03 11:03:58 +01:00
ccmp.c Update copyright years. 2018-01-03 11:03:58 +01:00
ccmp.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfg-flags.def Update copyright years. 2018-01-03 11:03:58 +01:00
cfg.c Update copyright years. 2018-01-03 11:03:58 +01:00
cfg.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfganal.c Update copyright years. 2018-01-03 11:03:58 +01:00
cfganal.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfgbuild.c Update copyright years. 2018-01-03 11:03:58 +01:00
cfgbuild.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfgcleanup.c re PR rtl-optimization/84614 (wrong code with u16->u128 extension at aarch64 -fno-split-wide-types -g3 --param=max-combine-insns=3) 2018-03-02 10:16:50 +01:00
cfgcleanup.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfgexpand.c [IEPM] Introduce inline entry point markers 2018-02-09 02:22:11 +00:00
cfgexpand.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfghooks.c Update copyright years. 2018-01-03 11:03:58 +01:00
cfghooks.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfgloop.c Update copyright years. 2018-01-03 11:03:58 +01:00
cfgloop.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfgloopanal.c Update copyright years. 2018-01-03 11:03:58 +01:00
cfgloopmanip.c Update copyright years. 2018-01-03 11:03:58 +01:00
cfgloopmanip.h Update copyright years. 2018-01-03 11:03:58 +01:00
cfgrtl.c re PR target/84146 (ICE with -mcet in dwarf2out_var_location, involving sigsetjmp) 2018-02-19 22:58:04 +01:00
cfgrtl.h Update copyright years. 2018-01-03 11:03:58 +01:00
cgraph.c re PR ipa/83619 (ICE in inliner: caller edge count does not match BB count) 2018-01-18 15:57:48 +00:00
cgraph.h re PR ipa/81360 (ice in estimate_edge_growth, at ipa-inline.h:86) 2018-02-08 14:51:51 +00:00
cgraphbuild.c Update copyright years. 2018-01-03 11:03:58 +01:00
cgraphclones.c re PR ipa/82256 (clones created by create_version_clone_with_body are not observable to insertion hooks) 2018-01-18 16:26:54 +00:00
cgraphunit.c Avoid Solaris/SPARC comparison failures with Solaris as (PR bootstrap/81926) 2018-01-04 21:47:35 +00:00
chkp-builtins.def Update copyright years. 2018-01-03 11:03:58 +01:00
cif-code.def Do not inline variadic thunks (PR ipa/83549). 2018-01-03 14:15:58 +00:00
collect-utils.c Update copyright years. 2018-01-03 11:03:58 +01:00
collect-utils.h Update copyright years. 2018-01-03 11:03:58 +01:00
collect2-aix.c Update copyright years. 2018-01-03 11:03:58 +01:00
collect2-aix.h Update copyright years. 2018-01-03 11:03:58 +01:00
collect2.c Update copyright years. 2018-01-03 11:03:58 +01:00
collect2.h Update copyright years. 2018-01-03 11:03:58 +01:00
color-macros.h Update copyright years. 2018-01-03 11:03:58 +01:00
combine-stack-adj.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
combine.c combine: Don't make log_links for pc_rtx (PR84780 #c10) 2018-03-14 13:24:21 +01:00
common.md Mostly revert r254296 2018-01-10 08:46:07 +00:00
common.opt common.opt (gas-loc-support, [...]): New. 2018-02-13 09:18:37 -07:00
compare-elim.c Update copyright years. 2018-01-03 11:03:58 +01:00
conditions.h Update copyright years. 2018-01-03 11:03:58 +01:00
config.build Update copyright years. 2018-01-03 11:03:58 +01:00
config.gcc Split-up -march=icelake on -march=icelake-server and -march=icelake-client 2018-03-14 11:26:38 +01:00
config.host Update copyright years. 2018-01-03 11:03:58 +01:00
config.in [LVU] Introduce location views 2018-02-09 02:21:57 +00:00
configure jit: use 'configure' to replace hard-coded linker options (PR jit/64089 and PR jit/84288) 2018-03-09 15:24:44 +00:00
configure.ac jit: use 'configure' to replace hard-coded linker options (PR jit/64089 and PR jit/84288) 2018-03-09 15:24:44 +00:00
context.c Update copyright years. 2018-01-03 11:03:58 +01:00
context.h Update copyright years. 2018-01-03 11:03:58 +01:00
convert.c re PR c++/83713 (ICE in do_narrow at gcc/convert.c:474) 2018-01-08 13:24:38 +00:00
convert.h Update copyright years. 2018-01-03 11:03:58 +01:00
coretypes.h Add a fixed_size_mode_pod class 2018-01-03 21:39:45 +00:00
coverage.c Update copyright years. 2018-01-03 11:03:58 +01:00
coverage.h Update copyright years. 2018-01-03 11:03:58 +01:00
cppbuiltin.c Update copyright years. 2018-01-03 11:03:58 +01:00
cppbuiltin.h Update copyright years. 2018-01-03 11:03:58 +01:00
cppdefault.c Update copyright years. 2018-01-03 11:03:58 +01:00
cppdefault.h Update copyright years. 2018-01-03 11:03:58 +01:00
cprop.c Update copyright years. 2018-01-03 11:03:58 +01:00
cse.c cse.c (try_back_substitute_reg): Move any REG_ARGS_SIZE note when successfully back substituting a reg. 2018-02-12 11:32:18 -07:00
cselib.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
cselib.h Update copyright years. 2018-01-03 11:03:58 +01:00
cstamp-h.in
data-streamer-in.c Update copyright years. 2018-01-03 11:03:58 +01:00
data-streamer-out.c Update copyright years. 2018-01-03 11:03:58 +01:00
data-streamer.c Update copyright years. 2018-01-03 11:03:58 +01:00
data-streamer.h poly_int: GET_MODE_NUNITS 2018-01-03 21:41:49 +00:00
dbgcnt.c Update copyright years. 2018-01-03 11:03:58 +01:00
dbgcnt.def Update copyright years. 2018-01-03 11:03:58 +01:00
dbgcnt.h Update copyright years. 2018-01-03 11:03:58 +01:00
dbxout.c Add ability to remap file names in __FILE__, etc (PR other/70268) 2018-01-18 13:17:37 +00:00
dbxout.h Update copyright years. 2018-01-03 11:03:58 +01:00
dce.c re PR rtl-optimization/83985 (Compile time hog for 32-bit BE powerpc targets) 2018-01-26 12:48:05 +01:00
dce.h Update copyright years. 2018-01-03 11:03:58 +01:00
ddg.c Update copyright years. 2018-01-03 11:03:58 +01:00
ddg.h Update copyright years. 2018-01-03 11:03:58 +01:00
debug.c Update copyright years. 2018-01-03 11:03:58 +01:00
debug.h common.opt (gas-loc-support, [...]): New. 2018-02-13 09:18:37 -07:00
defaults.h Update copyright years. 2018-01-03 11:03:58 +01:00
df-core.c Update copyright years. 2018-01-03 11:03:58 +01:00
df-problems.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
df-scan.c Update copyright years. 2018-01-03 11:03:58 +01:00
df.h Update copyright years. 2018-01-03 11:03:58 +01:00
dfp.c Update copyright years. 2018-01-03 11:03:58 +01:00
dfp.h Update copyright years. 2018-01-03 11:03:58 +01:00
diagnostic-color.c Update copyright years. 2018-01-03 11:03:58 +01:00
diagnostic-color.h Update copyright years. 2018-01-03 11:03:58 +01:00
diagnostic-core.h PR translation/84207 - Hard coded plural in gimple-fold.c 2018-02-27 15:06:03 -07:00
diagnostic-show-locus.c Fix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852) 2018-03-14 13:58:13 +00:00
diagnostic.c PR translation/84207 - Hard coded plural in gimple-fold.c 2018-02-27 15:06:03 -07:00
diagnostic.def Update copyright years. 2018-01-03 11:03:58 +01:00
diagnostic.h Update copyright years. 2018-01-03 11:03:58 +01:00
dojump.c re PR tree-optimization/83081 ([arm] gcc.dg/pr80218.c fails since r254888) 2018-01-22 23:59:33 +01:00
dojump.h Update copyright years. 2018-01-03 11:03:58 +01:00
dominance.c Update copyright years. 2018-01-03 11:03:58 +01:00
dominance.h Update copyright years. 2018-01-03 11:03:58 +01:00
domwalk.c domwalk.h (dom_walker::dom_walker): Add additional constructor for specifying RPO order and allow NULL for that. 2018-02-01 12:51:24 +00:00
domwalk.h domwalk.h (dom_walker::dom_walker): Add additional constructor for specifying RPO order and allow NULL for that. 2018-02-01 12:51:24 +00:00
double-int.c Update copyright years. 2018-01-03 11:03:58 +01:00
double-int.h Update copyright years. 2018-01-03 11:03:58 +01:00
dse.c re PR rtl-optimization/84003 (FAIL: g++.dg/torture/pr77745.C with noinline foo) 2018-01-26 14:50:25 +00:00
dumpfile.c Update copyright years. 2018-01-03 11:03:58 +01:00
dumpfile.h Update copyright years. 2018-01-03 11:03:58 +01:00
dwarf2asm.c [LVU] Introduce location views 2018-02-09 02:21:57 +00:00
dwarf2asm.h [LVU] Introduce location views 2018-02-09 02:21:57 +00:00
dwarf2cfi.c re PR debug/81570 (create_pseudo_cfg assumes that INCOMING_FRAME_SP_OFFSET is a constant) 2018-01-19 23:36:04 +01:00
dwarf2out.c re PR debug/58150 (debug info about definition of enum class not emitted if the declaration was already used in a class) 2018-03-11 17:50:08 +01:00
dwarf2out.h [IEPM] [PR debug/84620] use constant form for DW_AT_GNU_entry_view 2018-03-10 06:42:40 +00:00
early-remat.c Add an "early rematerialisation" pass 2018-01-13 18:00:51 +00:00
edit-context.c Update copyright years. 2018-01-03 11:03:58 +01:00
edit-context.h Update copyright years. 2018-01-03 11:03:58 +01:00
emit-rtl.c re PR rtl-optimization/84614 (wrong code with u16->u128 extension at aarch64 -fno-split-wide-types -g3 --param=max-combine-insns=3) 2018-03-02 10:16:50 +01:00
emit-rtl.h Update copyright years. 2018-01-03 11:03:58 +01:00
errors.c Update copyright years. 2018-01-03 11:03:58 +01:00
errors.h Update copyright years. 2018-01-03 11:03:58 +01:00
et-forest.c Update copyright years. 2018-01-03 11:03:58 +01:00
et-forest.h Update copyright years. 2018-01-03 11:03:58 +01:00
except.c re PR target/84277 (A lot of new acats testsuite failures) 2018-03-07 15:54:59 +00:00
except.h re PR target/84277 (A lot of new acats testsuite failures) 2018-03-07 15:54:59 +00:00
exec-tool.in Update copyright years. 2018-01-03 11:03:58 +01:00
explow.c re PR middle-end/83654 (-fstack-clash-protection probes below the stack pointer for VLA with constant size) 2018-01-03 11:22:28 -07:00
explow.h Update copyright years. 2018-01-03 11:03:58 +01:00
expmed.c re PR target/83850 (Spills on vector extract, gcc.target/i386/pr80846-1.c FAILs) 2018-01-15 14:43:52 +00:00
expmed.h Update copyright years. 2018-01-03 11:03:58 +01:00
expr.c re PR ipa/84628 (attribute(warning/error) functions should not be merged together) 2018-03-02 17:19:43 +01:00
expr.h Update copyright years. 2018-01-03 11:03:58 +01:00
fibonacci_heap.c Update copyright years. 2018-01-03 11:03:58 +01:00
fibonacci_heap.h Update copyright years. 2018-01-03 11:03:58 +01:00
file-find.c Update copyright years. 2018-01-03 11:03:58 +01:00
file-find.h Update copyright years. 2018-01-03 11:03:58 +01:00
file-prefix-map.c Add ability to remap file names in __FILE__, etc (PR other/70268) 2018-01-18 13:17:37 +00:00
file-prefix-map.h Add ability to remap file names in __FILE__, etc (PR other/70268) 2018-01-18 13:17:37 +00:00
final.c re PR target/84277 (A lot of new acats testsuite failures) 2018-03-07 15:54:59 +00:00
fixed-value.c Update copyright years. 2018-01-03 11:03:58 +01:00
fixed-value.h Update copyright years. 2018-01-03 11:03:58 +01:00
flag-types.h Update copyright years. 2018-01-03 11:03:58 +01:00
flags.h Update copyright years. 2018-01-03 11:03:58 +01:00
fold-const-call.c Add support for in-order addition reduction using SVE FADDA 2018-01-13 18:01:24 +00:00
fold-const-call.h Update copyright years. 2018-01-03 11:03:58 +01:00
fold-const.c re PR c++/83659 (ICE on compilable C++ code: in tree_to_shwi, at tree.c:6821) 2018-02-09 06:46:18 +01:00
fold-const.h Update copyright years. 2018-01-03 11:03:58 +01:00
fp-test.c Update copyright years. 2018-01-03 11:03:58 +01:00
function-tests.c Update copyright years. 2018-01-03 11:03:58 +01:00
function.c re PR sanitizer/81715 (asan-stack=1 redzone allocation is too inflexible) 2018-01-18 21:30:33 +01:00
function.h re PR sanitizer/81715 (asan-stack=1 redzone allocation is too inflexible) 2018-01-18 21:30:33 +01:00
fwprop.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcc-ar.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcc-main.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcc-plugin.h Update copyright years. 2018-01-03 11:03:58 +01:00
gcc-rich-location.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcc-rich-location.h Update copyright years. 2018-01-03 11:03:58 +01:00
gcc-symtab.h Update copyright years. 2018-01-03 11:03:58 +01:00
gcc.c re PR sanitizer/84285 (Fail to statically link with -fsanitize=undefined) 2018-02-09 07:44:06 +01:00
gcc.h Update copyright years. 2018-01-03 11:03:58 +01:00
gcov-counter.def Update copyright years. 2018-01-03 11:03:58 +01:00
gcov-dump.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcov-io.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcov-io.h Document gcov-io (PR gcov-profile/84735). 2018-03-08 09:05:26 +00:00
gcov-iov.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcov-tool.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcov.c Make groups more generic (PR gcov-profile/84548). 2018-02-27 14:11:08 +00:00
gcse-common.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcse-common.h Update copyright years. 2018-01-03 11:03:58 +01:00
gcse.c Update copyright years. 2018-01-03 11:03:58 +01:00
gcse.h Update copyright years. 2018-01-03 11:03:58 +01:00
gdbasan.in
gdbhooks.py Update copyright years. 2018-01-03 11:03:58 +01:00
gdbinit.in Update copyright years. 2018-01-03 11:03:58 +01:00
gen-pass-instances.awk Update copyright years. 2018-01-03 11:03:58 +01:00
genattr-common.c Update copyright years. 2018-01-03 11:03:58 +01:00
genattr.c Update copyright years. 2018-01-03 11:03:58 +01:00
genattrtab.c Update copyright years. 2018-01-03 11:03:58 +01:00
genautomata.c Update copyright years. 2018-01-03 11:03:58 +01:00
gencfn-macros.c Update copyright years. 2018-01-03 11:03:58 +01:00
gencheck.c Update copyright years. 2018-01-03 11:03:58 +01:00
genchecksum.c Update copyright years. 2018-01-03 11:03:58 +01:00
gencodes.c Update copyright years. 2018-01-03 11:03:58 +01:00
genconditions.c Update copyright years. 2018-01-03 11:03:58 +01:00
genconfig.c Update copyright years. 2018-01-03 11:03:58 +01:00
genconstants.c Update copyright years. 2018-01-03 11:03:58 +01:00
genemit.c Update copyright years. 2018-01-03 11:03:58 +01:00
genenums.c Update copyright years. 2018-01-03 11:03:58 +01:00
generic-match-head.c re PR middle-end/84309 (Wrong-code with -ffast-math) 2018-02-13 09:34:42 +01:00
generic-match.h Update copyright years. 2018-01-03 11:03:58 +01:00
genextract.c Support >26 operands in generation code. 2018-02-07 16:25:28 +00:00
genflags.c Update copyright years. 2018-01-03 11:03:58 +01:00
gengenrtl.c Update copyright years. 2018-01-03 11:03:58 +01:00
gengtype-lex.l Update copyright years. 2018-01-03 11:03:58 +01:00
gengtype-parse.c Update copyright years. 2018-01-03 11:03:58 +01:00
gengtype-state.c Update copyright years. 2018-01-03 11:03:58 +01:00
gengtype.c re PR target/84146 (ICE with -mcet in dwarf2out_var_location, involving sigsetjmp) 2018-02-19 22:58:04 +01:00
gengtype.h Update copyright years. 2018-01-03 11:03:58 +01:00
genhooks.c Update copyright years. 2018-01-03 11:03:58 +01:00
genmatch.c re PR c/84607 (Side effects discarded in address computation inside 'if') 2018-02-28 13:40:41 +00:00
genmddeps.c Update copyright years. 2018-01-03 11:03:58 +01:00
genmddump.c Update copyright years. 2018-01-03 11:03:58 +01:00
genmodes.c re PR target/79242 (ICE in simplify_subreg, at simplify-rtx.c:6029) 2018-02-14 00:21:11 -07:00
genmultilib Update copyright years. 2018-01-03 11:03:58 +01:00
genopinit.c Add support for SVE scatter stores 2018-01-13 18:01:59 +00:00
genoutput.c Update copyright years. 2018-01-03 11:03:58 +01:00
genpeep.c Update copyright years. 2018-01-03 11:03:58 +01:00
genpreds.c Update copyright years. 2018-01-03 11:03:58 +01:00
genrecog.c poly_int: GET_MODE_NUNITS 2018-01-03 21:41:49 +00:00
gensupport.c Update copyright years. 2018-01-03 11:03:58 +01:00
gensupport.h Update copyright years. 2018-01-03 11:03:58 +01:00
gentarget-def.c Update copyright years. 2018-01-03 11:03:58 +01:00
ggc-common.c Fix --enable-gather-detailed-mem-stats build. 2018-01-12 14:43:58 +00:00
ggc-internal.h Update copyright years. 2018-01-03 11:03:58 +01:00
ggc-none.c Update copyright years. 2018-01-03 11:03:58 +01:00
ggc-page.c Update copyright years. 2018-01-03 11:03:58 +01:00
ggc-tests.c Update copyright years. 2018-01-03 11:03:58 +01:00
ggc.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-builder.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-builder.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-expr.c re PR c++/84704 (internal compiler error: gimplification failed) 2018-03-07 10:19:36 +01:00
gimple-expr.h Allow ADDR_EXPRs of TARGET_MEM_REFs 2018-01-13 17:59:08 +00:00
gimple-fold.c PR tree-optimization/83456 - -Wrestrict false positive on a non-overlapping memcpy in an inline function 2018-03-12 12:04:16 -06:00
gimple-fold.h re PR tree-optimization/84478 (pdftex miscompilation on i386) 2018-02-21 11:35:46 +01:00
gimple-iterator.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-iterator.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-laddress.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-loop-interchange.cc re PR tree-optimization/83695 (ICE on valid code at -O3: Segmentation fault) 2018-01-11 15:41:41 +00:00
gimple-loop-jam.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-low.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-low.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-match-head.c re PR middle-end/84309 (Wrong-code with -ffast-math) 2018-02-13 09:34:42 +01:00
gimple-match.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-predict.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-pretty-print.c [IEPM] Introduce inline entry point markers 2018-02-09 02:22:11 +00:00
gimple-pretty-print.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-ssa-backprop.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-ssa-evrp-analyze.c re PR middle-end/82123 (spurious -Wformat-overflow warning for converted vars) 2018-02-20 11:49:46 -07:00
gimple-ssa-evrp-analyze.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-ssa-evrp.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-ssa-isolate-paths.c re PR tree-optimization/83189 (internal compiler error: in probability_in, at profile-count.h:1050) 2018-01-11 17:47:20 +00:00
gimple-ssa-nonnull-compare.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-ssa-split-paths.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-ssa-sprintf.c substring-locations.h (format_warning_va): Formatting fix for ATTRIBUTE_GCC_DIAG. 2018-03-02 20:04:58 +01:00
gimple-ssa-store-merging.c re PR tree-optimization/84503 (store-merging miscompilation on powerpc64 with -O3 since r241789) 2018-02-22 09:28:42 +01:00
gimple-ssa-strength-reduction.c re PR tree-optimization/83605 (ICE: verify_gimple failed (error: dead STMT in EH table)) 2018-01-05 09:51:32 +01:00
gimple-ssa-warn-alloca.c re PR tree-optimization/84224 (ICE in execute, at gimple-ssa-warn-alloca.c:448) 2018-02-08 11:16:25 +00:00
gimple-ssa-warn-restrict.c re PR tree-optimization/84526 (ICE in generic_overlap at gcc/gimple-ssa-warn-restrict.c:927 since r257860) 2018-03-09 12:06:26 -07:00
gimple-ssa-warn-restrict.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-ssa.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-streamer-in.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-streamer-out.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-streamer.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-walk.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimple-walk.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimple.c [IEPM] Introduce inline entry point markers 2018-02-09 02:22:11 +00:00
gimple.def Update copyright years. 2018-01-03 11:03:58 +01:00
gimple.h [IEPM] Introduce inline entry point markers 2018-02-09 02:22:11 +00:00
gimplify-me.c Update copyright years. 2018-01-03 11:03:58 +01:00
gimplify-me.h Update copyright years. 2018-01-03 11:03:58 +01:00
gimplify.c re PR sanitizer/81715 (asan-stack=1 redzone allocation is too inflexible) 2018-01-18 21:30:33 +01:00
gimplify.h re PR libgomp/83590 ([nvptx] openacc reduction C regressions) 2018-01-16 16:18:24 +01:00
glimits.h Update copyright years. 2018-01-03 11:03:58 +01:00
godump.c Update copyright years. 2018-01-03 11:03:58 +01:00
graph.c Update copyright years. 2018-01-03 11:03:58 +01:00
graph.h Update copyright years. 2018-01-03 11:03:58 +01:00
graphds.c Update copyright years. 2018-01-03 11:03:58 +01:00
graphds.h Update copyright years. 2018-01-03 11:03:58 +01:00
graphite-dependences.c Update copyright years. 2018-01-03 11:03:58 +01:00
graphite-isl-ast-to-gimple.c re PR tree-optimization/84204 ([graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:206) 2018-02-07 10:14:25 +00:00
graphite-optimize-isl.c Update copyright years. 2018-01-03 11:03:58 +01:00
graphite-poly.c Update copyright years. 2018-01-03 11:03:58 +01:00
graphite-scop-detection.c re PR tree-optimization/84584 ([graphite] ICE: Segmentation fault (in dominated_by_p)) 2018-02-28 15:33:33 +00:00
graphite-sese-to-poly.c Update copyright years. 2018-01-03 11:03:58 +01:00
graphite.c re PR tree-optimization/83435 (ICE in set_value_range, at tree-vrp.c:211) 2018-01-11 13:42:29 +00:00
graphite.h Update copyright years. 2018-01-03 11:03:58 +01:00
gsstruct.def Update copyright years. 2018-01-03 11:03:58 +01:00
gstab.h Update copyright years. 2018-01-03 11:03:58 +01:00
gsyms.h Update copyright years. 2018-01-03 11:03:58 +01:00
gsyslimits.h
gtm-builtins.def
haifa-sched.c PR84068, PR83459: Fix sort order of SCHED_PRESSURE_MODEL 2018-02-08 12:29:28 +00:00
hard-reg-set.h Update copyright years. 2018-01-03 11:03:58 +01:00
hash-map-tests.c Update copyright years. 2018-01-03 11:03:58 +01:00
hash-map-traits.h Update copyright years. 2018-01-03 11:03:58 +01:00
hash-map.h Update copyright years. 2018-01-03 11:03:58 +01:00
hash-set-tests.c Update copyright years. 2018-01-03 11:03:58 +01:00
hash-set.h Update copyright years. 2018-01-03 11:03:58 +01:00
hash-table.c Update copyright years. 2018-01-03 11:03:58 +01:00
hash-table.h re PR bootstrap/84405 (Fails to bootstrap with GCC 4.1.2, GCC 4.2.4) 2018-02-16 10:05:35 +01:00
hash-traits.h Update copyright years. 2018-01-03 11:03:58 +01:00
highlev-plugin-common.h Update copyright years. 2018-01-03 11:03:58 +01:00
hooks.c common.opt (gas-loc-support, [...]): New. 2018-02-13 09:18:37 -07:00
hooks.h common.opt (gas-loc-support, [...]): New. 2018-02-13 09:18:37 -07:00
host-default.c Update copyright years. 2018-01-03 11:03:58 +01:00
hosthooks-def.h Update copyright years. 2018-01-03 11:03:58 +01:00
hosthooks.h Update copyright years. 2018-01-03 11:03:58 +01:00
hsa-brig-format.h Update copyright years. 2018-01-03 11:03:58 +01:00
hsa-brig.c poly_int: TYPE_VECTOR_SUBPARTS 2018-01-03 21:42:12 +00:00
hsa-builtins.def Update copyright years. 2018-01-03 11:03:58 +01:00
hsa-common.c Update copyright years. 2018-01-03 11:03:58 +01:00
hsa-common.h Update copyright years. 2018-01-03 11:03:58 +01:00
hsa-dump.c Update copyright years. 2018-01-03 11:03:58 +01:00
hsa-gen.c [hsa] Set program allocation for static local variables 2018-02-08 14:03:52 +01:00
hsa-regalloc.c Update copyright years. 2018-01-03 11:03:58 +01:00
hw-doloop.c Update copyright years. 2018-01-03 11:03:58 +01:00
hw-doloop.h Update copyright years. 2018-01-03 11:03:58 +01:00
hwint.c Update copyright years. 2018-01-03 11:03:58 +01:00
hwint.h Update copyright years. 2018-01-03 11:03:58 +01:00
ifcvt.c Update copyright years. 2018-01-03 11:03:58 +01:00
ifcvt.h Update copyright years. 2018-01-03 11:03:58 +01:00
inchash.c Update copyright years. 2018-01-03 11:03:58 +01:00
inchash.h Update copyright years. 2018-01-03 11:03:58 +01:00
incpath.c Update copyright years. 2018-01-03 11:03:58 +01:00
incpath.h Update copyright years. 2018-01-03 11:03:58 +01:00
init-regs.c Update copyright years. 2018-01-03 11:03:58 +01:00
input.c Fix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852) 2018-03-14 13:58:13 +00:00
input.h Update copyright years. 2018-01-03 11:03:58 +01:00
insn-addr.h Update copyright years. 2018-01-03 11:03:58 +01:00
insn-notes.def re PR target/84146 (ICE with -mcet in dwarf2out_var_location, involving sigsetjmp) 2018-02-19 22:58:04 +01:00
int-vector-builder.h Update copyright years. 2018-01-03 11:03:58 +01:00
internal-fn.c Fix incorrect TARGET_MEM_REF alignment (PR 84419) 2018-02-20 14:44:24 +00:00
internal-fn.def Set proper internal functions fnspec (PR sanitizer/84307). 2018-02-16 10:03:47 +00:00
internal-fn.h Add support for SVE scatter stores 2018-01-13 18:01:59 +00:00
intl.c Update copyright years. 2018-01-03 11:03:58 +01:00
intl.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-chkp.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-chkp.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-comdats.c re PR c++/80763 (-O3 causes error: inline clone in same comdat group list) 2018-01-09 08:22:28 +00:00
ipa-cp.c * ipa-cp.c (determine_versionability): Fix comment typos. 2018-02-21 20:11:15 +00:00
ipa-devirt.c re PR lto/84805 (ICE in get_odr_type, at ipa-devirt.c:2096 since r258133) 2018-03-13 10:04:51 +00:00
ipa-fnsummary.c re PR middle-end/83977 (ICE in simd_clone_clauses_extract, at omp-simd-clone.c:184) 2018-01-25 16:32:02 +01:00
ipa-fnsummary.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-hsa.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-icf-gimple.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-icf-gimple.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-icf.c Fix PTA info in IPA ICF (PR ipa/84658). 2018-03-13 08:20:27 +00:00
ipa-icf.h Fix PTA info in IPA ICF (PR ipa/84658). 2018-03-13 08:20:27 +00:00
ipa-inline-analysis.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-inline-transform.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-inline.c re PR ipa/84425 (Hang in ipa-inline.c starting with r250048) 2018-02-17 00:05:00 +01:00
ipa-inline.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-param-manipulation.c [PR 83990] Fix location handling in ipa_modify_call_arguments 2018-02-13 13:25:36 +01:00
ipa-param-manipulation.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-polymorphic-call.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-predicate.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-predicate.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-profile.c ipa-profile.c (ipa_propagate_frequency_1): Fix logic skipping calls with zero counts. 2018-01-24 16:18:18 +00:00
ipa-prop.c ipa-prop.c (ipa_vr_ggc_hash_traits::hash): Hash p->min and p->max as pointers rather than using iterative_hash_expr. 2018-02-23 19:27:28 +01:00
ipa-prop.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-pure-const.c PR c/83559 - -Wsuggest-attribute=const conflicts with -Wattributes warning about const attribute on function returning void 2018-01-03 13:43:47 -07:00
ipa-ref.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-ref.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-reference.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-reference.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-split.c re PR middle-end/83665 (Big code size regression and some code quality improvement at Jan 2 2018) 2018-02-12 09:48:06 +00:00
ipa-utils.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-utils.h Update copyright years. 2018-01-03 11:03:58 +01:00
ipa-visibility.c Update copyright years. 2018-01-03 11:03:58 +01:00
ipa.c Update copyright years. 2018-01-03 11:03:58 +01:00
ira-build.c re PR target/84014 (ICE in setup_min_max_allocno_live_range_point, at ira-build.c:2762) 2018-01-24 19:45:55 +00:00
ira-color.c re PR rtl-optimization/57193 (suboptimal register allocation for SSE registers) 2018-02-09 18:23:58 +00:00
ira-conflicts.c Update copyright years. 2018-01-03 11:03:58 +01:00
ira-costs.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
ira-emit.c Update copyright years. 2018-01-03 11:03:58 +01:00
ira-int.h Update copyright years. 2018-01-03 11:03:58 +01:00
ira-lives.c Update copyright years. 2018-01-03 11:03:58 +01:00
ira.c Adjust ira_init_register_move_cost comment 2018-02-05 10:47:56 +00:00
ira.h Update copyright years. 2018-01-03 11:03:58 +01:00
is-a.h Update copyright years. 2018-01-03 11:03:58 +01:00
jump.c re PR target/84146 (ICE with -mcet in dwarf2out_var_location, involving sigsetjmp) 2018-02-19 22:58:04 +01:00
langhooks-def.h Update copyright years. 2018-01-03 11:03:58 +01:00
langhooks.c Update copyright years. 2018-01-03 11:03:58 +01:00
langhooks.h Update copyright years. 2018-01-03 11:03:58 +01:00
lcm.c Update copyright years. 2018-01-03 11:03:58 +01:00
lcm.h Update copyright years. 2018-01-03 11:03:58 +01:00
libfuncs.h Update copyright years. 2018-01-03 11:03:58 +01:00
limitx.h Update copyright years. 2018-01-03 11:03:58 +01:00
limity.h
lists.c Update copyright years. 2018-01-03 11:03:58 +01:00
lock-and-run.sh
loop-doloop.c Update copyright years. 2018-01-03 11:03:58 +01:00
loop-init.c Update copyright years. 2018-01-03 11:03:58 +01:00
loop-invariant.c Update copyright years. 2018-01-03 11:03:58 +01:00
loop-iv.c Update copyright years. 2018-01-03 11:03:58 +01:00
loop-unroll.c Update copyright years. 2018-01-03 11:03:58 +01:00
loop-unroll.h Update copyright years. 2018-01-03 11:03:58 +01:00
lower-subreg.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
lower-subreg.h Update copyright years. 2018-01-03 11:03:58 +01:00
lra-assigns.c re PR target/83712 ("Unable to find a register to spill" when compiling for thumb1) 2018-03-13 20:42:49 +00:00
lra-coalesce.c Update copyright years. 2018-01-03 11:03:58 +01:00
lra-constraints.c re PR target/83712 ("Unable to find a register to spill" when compiling for thumb1) 2018-03-13 20:42:49 +00:00
lra-eliminations.c re PR target/81572 (gcc-7 regression: unnecessary vector regmove on compare) 2018-02-22 21:17:51 +00:00
lra-int.h re PR target/83712 ("Unable to find a register to spill" when compiling for thumb1) 2018-03-13 20:42:49 +00:00
lra-lives.c Fix liveness analysis in lra for spilled-into hard regs 2018-03-01 05:51:08 +00:00
lra-remat.c Update copyright years. 2018-01-03 11:03:58 +01:00
lra-spills.c Fix liveness analysis in lra for spilled-into hard regs 2018-03-01 05:51:08 +00:00
lra.c re PR target/83712 ("Unable to find a register to spill" when compiling for thumb1) 2018-03-13 20:42:49 +00:00
lra.h Update copyright years. 2018-01-03 11:03:58 +01:00
lto-cgraph.c Update copyright years. 2018-01-03 11:03:58 +01:00
lto-compress.c Update copyright years. 2018-01-03 11:03:58 +01:00
lto-compress.h Update copyright years. 2018-01-03 11:03:58 +01:00
lto-opts.c Update copyright years. 2018-01-03 11:03:58 +01:00
lto-section-in.c Update copyright years. 2018-01-03 11:03:58 +01:00
lto-section-names.h Update copyright years. 2018-01-03 11:03:58 +01:00
lto-section-out.c Update copyright years. 2018-01-03 11:03:58 +01:00
lto-streamer-in.c Add support for MODE_VECTOR_BOOL 2018-01-03 21:43:02 +00:00
lto-streamer-out.c re PR ipa/81360 (ice in estimate_edge_growth, at ipa-inline.h:86) 2018-02-08 14:51:51 +00:00
lto-streamer.c Update copyright years. 2018-01-03 11:03:58 +01:00
lto-streamer.h Update copyright years. 2018-01-03 11:03:58 +01:00
lto-wrapper.c Update copyright years. 2018-01-03 11:03:58 +01:00
machmode.def re PR target/79242 (ICE in simplify_subreg, at simplify-rtx.c:6029) 2018-02-14 00:21:11 -07:00
machmode.h Add support for adjusting the number of units in a mode 2018-01-03 21:43:28 +00:00
main.c Update copyright years. 2018-01-03 11:03:58 +01:00
match.pd re PR middle-end/84834 (ICE: tree check: expected integer_cst, have complex_cst in to_wide, at tree.h:5527) 2018-03-13 09:12:59 +01:00
mcf.c Update copyright years. 2018-01-03 11:03:58 +01:00
mem-stats-traits.h Update copyright years. 2018-01-03 11:03:58 +01:00
mem-stats.h Fix --enable-gather-detailed-mem-stats build. 2018-01-12 14:43:58 +00:00
memmodel.h Update copyright years. 2018-01-03 11:03:58 +01:00
memory-block.cc Update copyright years. 2018-01-03 11:03:58 +01:00
memory-block.h Update copyright years. 2018-01-03 11:03:58 +01:00
mkconfig.sh Update copyright years. 2018-01-03 11:03:58 +01:00
mode-classes.def Add support for MODE_VECTOR_BOOL 2018-01-03 21:43:02 +00:00
mode-switching.c Update copyright years. 2018-01-03 11:03:58 +01:00
modulo-sched.c re PR target/83507 (ICE in internal_dfa_insn_code_* for powerpc targets) 2018-01-09 09:03:45 +01:00
multiple_target.c re PR middle-end/84723 (ICE in create_target_clone, at multiple_target.c:275) 2018-03-07 10:16:07 +01:00
omp-builtins.def Update copyright years. 2018-01-03 11:03:58 +01:00
omp-expand.c [openacc] Fix diff_type in expand_oacc_collapse_init 2018-02-07 10:37:55 +00:00
omp-expand.h Update copyright years. 2018-01-03 11:03:58 +01:00
omp-general.c Update copyright years. 2018-01-03 11:03:58 +01:00
omp-general.h Update copyright years. 2018-01-03 11:03:58 +01:00
omp-grid.c Update copyright years. 2018-01-03 11:03:58 +01:00
omp-grid.h Update copyright years. 2018-01-03 11:03:58 +01:00
omp-low.c re PR sanitizer/83987 (ICE with OpenMP, sanitizer and virtual bases) 2018-02-10 00:22:43 +01:00
omp-low.h Update copyright years. 2018-01-03 11:03:58 +01:00
omp-offload.c Update copyright years. 2018-01-03 11:03:58 +01:00
omp-offload.h Update copyright years. 2018-01-03 11:03:58 +01:00
omp-simd-clone.c re PR tree-optimization/84687 (error: invalid conversion in gimple call with -O3 and -ffast-math) 2018-03-06 08:06:44 +01:00
omp-simd-clone.h re PR middle-end/84309 (Wrong-code with -ffast-math) 2018-02-13 09:34:42 +01:00
opt-functions.awk Update copyright years. 2018-01-03 11:03:58 +01:00
opt-gather.awk Update copyright years. 2018-01-03 11:03:58 +01:00
opt-include.awk Update copyright years. 2018-01-03 11:03:58 +01:00
opt-read.awk Update copyright years. 2018-01-03 11:03:58 +01:00
optabs-libfuncs.c Update copyright years. 2018-01-03 11:03:58 +01:00
optabs-libfuncs.h Update copyright years. 2018-01-03 11:03:58 +01:00
optabs-query.c re PR target/84406 ([MSP430] ICE on valid code in find_widening_optab_handler_and_mode, at optabs-query.c:476) 2018-02-20 12:11:34 -07:00
optabs-query.h Add support for SVE scatter stores 2018-01-13 18:01:59 +00:00
optabs-tree.c Add support for SVE gather loads 2018-01-13 18:01:34 +00:00
optabs-tree.h Update copyright years. 2018-01-03 11:03:58 +01:00
optabs.c optabs.c (prepare_cmp_insn): Try harder to emit a direct comparison instead of a libcall for UNORDERED. 2018-02-09 12:33:40 +00:00
optabs.def Add support for SVE scatter stores 2018-01-13 18:01:59 +00:00
optabs.h Update copyright years. 2018-01-03 11:03:58 +01:00
optc-gen.awk Update copyright years. 2018-01-03 11:03:58 +01:00
optc-save-gen.awk Update copyright years. 2018-01-03 11:03:58 +01:00
opth-gen.awk Update copyright years. 2018-01-03 11:03:58 +01:00
opts-common.c Update copyright years. 2018-01-03 11:03:58 +01:00
opts-diagnostic.h Update copyright years. 2018-01-03 11:03:58 +01:00
opts-global.c Add ability to remap file names in __FILE__, etc (PR other/70268) 2018-01-18 13:17:37 +00:00
opts.c Add limit for maximal alignment options (PR c/84310). 2018-02-20 10:04:13 +00:00
opts.h Update copyright years. 2018-01-03 11:03:58 +01:00
output.h re PR middle-end/84237 (xen build faiulre only zero initializers are allowed in section '.bss.page_aligned.const') 2018-02-09 06:47:24 +01:00
params-enum.h Update copyright years. 2018-01-03 11:03:58 +01:00
params-list.h Update copyright years. 2018-01-03 11:03:58 +01:00
params-options.h Update copyright years. 2018-01-03 11:03:58 +01:00
params.c Update copyright years. 2018-01-03 11:03:58 +01:00
params.def Fix documentation typos (PR other/80589). 2018-02-19 09:54:09 +00:00
params.h Update copyright years. 2018-01-03 11:03:58 +01:00
pass_manager.h Update copyright years. 2018-01-03 11:03:58 +01:00
passes.c Update copyright years. 2018-01-03 11:03:58 +01:00
passes.def Put pass_sancov_O0 before pass_lower_switch with -O0 (PR sanitizer/82183). 2018-02-19 18:30:31 +00:00
plugin.c Update copyright years. 2018-01-03 11:03:58 +01:00
plugin.def Update copyright years. 2018-01-03 11:03:58 +01:00
plugin.h Update copyright years. 2018-01-03 11:03:58 +01:00
poly-int-types.h Update copyright years. 2018-01-03 11:03:58 +01:00
poly-int.h Update copyright years. 2018-01-03 11:03:58 +01:00
postreload-gcse.c Update copyright years. 2018-01-03 11:03:58 +01:00
postreload.c Update copyright years. 2018-01-03 11:03:58 +01:00
predict.c predict.c (test_prediction_value_range): Use PROB_UNINITIALIZED instead of -1U in last predictors element's probability... 2018-03-02 16:10:10 +01:00
predict.def Remove predictors that are unrealiable. 2018-01-23 15:43:59 +00:00
predict.h Introduce PROB_UNINITIALIZED constant and use it in predict.def. 2018-01-19 12:05:20 +00:00
prefix.c Update copyright years. 2018-01-03 11:03:58 +01:00
prefix.h Update copyright years. 2018-01-03 11:03:58 +01:00
pretty-print.c Update copyright years. 2018-01-03 11:03:58 +01:00
pretty-print.h Update copyright years. 2018-01-03 11:03:58 +01:00
print-rtl-function.c Update copyright years. 2018-01-03 11:03:58 +01:00
print-rtl.c re PR target/84146 (ICE with -mcet in dwarf2out_var_location, involving sigsetjmp) 2018-02-19 22:58:04 +01:00
print-rtl.h Update copyright years. 2018-01-03 11:03:58 +01:00
print-tree.c PR c++/83871 - wrong code for attribute const and pure on distinct template specializations 2018-02-27 15:28:21 -07:00
print-tree.h Update copyright years. 2018-01-03 11:03:58 +01:00
profile-count.c profile-count.c (profile_count::combine_with_ipa_count): Handle zeros correctly. 2018-01-30 12:46:19 +00:00
profile-count.h cfgcleanup.c (try_crossjump_to_edge): Use combine_with_count to merge probabilities. 2018-01-24 08:12:40 +00:00
profile.c Update copyright years. 2018-01-03 11:03:58 +01:00
profile.h Update copyright years. 2018-01-03 11:03:58 +01:00
read-md.c Update copyright years. 2018-01-03 11:03:58 +01:00
read-md.h Update copyright years. 2018-01-03 11:03:58 +01:00
read-rtl-function.c Update copyright years. 2018-01-03 11:03:58 +01:00
read-rtl-function.h Update copyright years. 2018-01-03 11:03:58 +01:00
read-rtl.c Update copyright years. 2018-01-03 11:03:58 +01:00
real.c Update copyright years. 2018-01-03 11:03:58 +01:00
real.h Update copyright years. 2018-01-03 11:03:58 +01:00
realmpfr.c Update copyright years. 2018-01-03 11:03:58 +01:00
realmpfr.h Update copyright years. 2018-01-03 11:03:58 +01:00
recog.c re PR rtl-optimization/84682 (internal compiler error: Segmentation fault (process_address_1)) 2018-03-09 11:50:56 -07:00
recog.h re PR rtl-optimization/84682 (internal compiler error: Segmentation fault (process_address_1)) 2018-03-09 11:50:56 -07:00
ree.c re PR target/82682 (FAIL: gcc.target/i386/pr50038.c scan-assembler-times movzbl 2 (found 3 times) since r253958) 2018-01-11 20:34:56 +01:00
reg-notes.def re PR target/84146 (ICE with -mcet in dwarf2out_var_location, involving sigsetjmp) 2018-02-19 22:58:04 +01:00
reg-stack.c re PR target/84828 (ICE in verify_flow_info at gcc/cfghooks.c:265) 2018-03-13 09:04:54 +01:00
regcprop.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
regcprop.h Update copyright years. 2018-01-03 11:03:58 +01:00
reginfo.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
regrename.c regrename.c (regrename_do_replace): If replacing the same reg multiple times, try to reuse last created gen_raw_REG. 2018-01-12 21:04:14 +01:00
regrename.h Update copyright years. 2018-01-03 11:03:58 +01:00
regs.h Update copyright years. 2018-01-03 11:03:58 +01:00
regset.h Update copyright years. 2018-01-03 11:03:58 +01:00
regstat.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
reload.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
reload.h Update copyright years. 2018-01-03 11:03:58 +01:00
reload1.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
reorg.c reorg.c (stop_search_p): Handle DEBUG_INSN. 2018-03-02 16:47:56 -07:00
resource.c reorg.c (stop_search_p): Handle DEBUG_INSN. 2018-03-02 16:47:56 -07:00
resource.h Update copyright years. 2018-01-03 11:03:58 +01:00
rtl-chkp.c Update copyright years. 2018-01-03 11:03:58 +01:00
rtl-chkp.h Update copyright years. 2018-01-03 11:03:58 +01:00
rtl-error.c Update copyright years. 2018-01-03 11:03:58 +01:00
rtl-error.h Update copyright years. 2018-01-03 11:03:58 +01:00
rtl-iter.h Update copyright years. 2018-01-03 11:03:58 +01:00
rtl-tests.c Update copyright years. 2018-01-03 11:03:58 +01:00
rtl.c Update copyright years. 2018-01-03 11:03:58 +01:00
rtl.def Update copyright years. 2018-01-03 11:03:58 +01:00
rtl.h re PR rtl-optimization/84614 (wrong code with u16->u128 extension at aarch64 -fno-split-wide-types -g3 --param=max-combine-insns=3) 2018-03-02 10:16:50 +01:00
rtlanal.c re PR rtl-optimization/81443 (build/genrecog.o: virtual memory exhausted: Cannot allocate memory) 2018-02-16 08:20:32 +00:00
rtlhash.c Update copyright years. 2018-01-03 11:03:58 +01:00
rtlhash.h Update copyright years. 2018-01-03 11:03:58 +01:00
rtlhooks-def.h Update copyright years. 2018-01-03 11:03:58 +01:00
rtlhooks.c Update copyright years. 2018-01-03 11:03:58 +01:00
rtx-vector-builder.c Add support for MODE_VECTOR_BOOL 2018-01-03 21:43:02 +00:00
rtx-vector-builder.h Update copyright years. 2018-01-03 11:03:58 +01:00
run-rtl-passes.c Avoid Solaris/SPARC comparison failures with Solaris as (PR bootstrap/81926) 2018-01-04 21:47:35 +00:00
run-rtl-passes.h Update copyright years. 2018-01-03 11:03:58 +01:00
sancov.c Update copyright years. 2018-01-03 11:03:58 +01:00
sanitizer.def Update copyright years. 2018-01-03 11:03:58 +01:00
sanopt.c re PR sanitizer/83392 (FAIL: c-c++-common/ubsan/ptr-overflow-sanitization-1.c scan-tree-dump-times) 2018-03-14 09:50:23 +01:00
sbitmap.c Fix memory leaks in sbitmap.c selftests 2018-01-23 11:01:55 +00:00
sbitmap.h Update copyright years. 2018-01-03 11:03:58 +01:00
sched-deps.c re PR target/83986 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2348) 2018-01-30 21:03:04 +01:00
sched-ebb.c Update copyright years. 2018-01-03 11:03:58 +01:00
sched-int.h Update copyright years. 2018-01-03 11:03:58 +01:00
sched-rgn.c Update copyright years. 2018-01-03 11:03:58 +01:00
sel-sched-dump.c Update copyright years. 2018-01-03 11:03:58 +01:00
sel-sched-dump.h Update copyright years. 2018-01-03 11:03:58 +01:00
sel-sched-ir.c Update copyright years. 2018-01-03 11:03:58 +01:00
sel-sched-ir.h Update copyright years. 2018-01-03 11:03:58 +01:00
sel-sched.c Update copyright years. 2018-01-03 11:03:58 +01:00
sel-sched.h Update copyright years. 2018-01-03 11:03:58 +01:00
selftest-diagnostic.c Update copyright years. 2018-01-03 11:03:58 +01:00
selftest-diagnostic.h Update copyright years. 2018-01-03 11:03:58 +01:00
selftest-rtl.c Update copyright years. 2018-01-03 11:03:58 +01:00
selftest-rtl.h Update copyright years. 2018-01-03 11:03:58 +01:00
selftest-run-tests.c Update copyright years. 2018-01-03 11:03:58 +01:00
selftest.c Fix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852) 2018-03-14 13:58:13 +00:00
selftest.h Fix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852) 2018-03-14 13:58:13 +00:00
sese.c Update copyright years. 2018-01-03 11:03:58 +01:00
sese.h Update copyright years. 2018-01-03 11:03:58 +01:00
shrink-wrap.c re PR rtl-optimization/84308 (Memory leak in spread_components) 2018-02-10 00:21:35 +01:00
shrink-wrap.h Update copyright years. 2018-01-03 11:03:58 +01:00
signop.h Update copyright years. 2018-01-03 11:03:58 +01:00
simplify-rtx.c re PR target/83930 (ICE: RTL check: expected code 'const_int', have 'mem' in simplify_binary_operation_1, at simplify-rtx.c:3302) 2018-01-20 10:54:06 +01:00
sparseset.c Update copyright years. 2018-01-03 11:03:58 +01:00
sparseset.h Update copyright years. 2018-01-03 11:03:58 +01:00
spellcheck-tree.c Update copyright years. 2018-01-03 11:03:58 +01:00
spellcheck-tree.h Update copyright years. 2018-01-03 11:03:58 +01:00
spellcheck.c Update copyright years. 2018-01-03 11:03:58 +01:00
spellcheck.h Update copyright years. 2018-01-03 11:03:58 +01:00
sreal.c Update copyright years. 2018-01-03 11:03:58 +01:00
sreal.h Update copyright years. 2018-01-03 11:03:58 +01:00
ssa-iterators.h Update copyright years. 2018-01-03 11:03:58 +01:00
ssa.h Update copyright years. 2018-01-03 11:03:58 +01:00
stab.def Update copyright years. 2018-01-03 11:03:58 +01:00
stack-ptr-mod.c Update copyright years. 2018-01-03 11:03:58 +01:00
statistics.c Update copyright years. 2018-01-03 11:03:58 +01:00
statistics.h Update copyright years. 2018-01-03 11:03:58 +01:00
stmt.c re PR middle-end/84831 (Invalid memory read in parse_output_constraint) 2018-03-13 09:12:07 +01:00
stmt.h Update copyright years. 2018-01-03 11:03:58 +01:00
stor-layout.c re PR target/52991 (attribute packed broken on mingw32?) 2018-02-28 18:17:29 +01:00
stor-layout.h Update copyright years. 2018-01-03 11:03:58 +01:00
store-motion.c Update copyright years. 2018-01-03 11:03:58 +01:00
streamer-hooks.c Update copyright years. 2018-01-03 11:03:58 +01:00
streamer-hooks.h Update copyright years. 2018-01-03 11:03:58 +01:00
stringpool.c Update copyright years. 2018-01-03 11:03:58 +01:00
stringpool.h Update copyright years. 2018-01-03 11:03:58 +01:00
substring-locations.c substring-locations.h (format_warning_va): Formatting fix for ATTRIBUTE_GCC_DIAG. 2018-03-02 20:04:58 +01:00
substring-locations.h substring-locations.h (format_warning_va): Formatting fix for ATTRIBUTE_GCC_DIAG. 2018-03-02 20:04:58 +01:00
symbol-summary.h Update copyright years. 2018-01-03 11:03:58 +01:00
symtab.c re PR ipa/81360 (ice in estimate_edge_growth, at ipa-inline.h:86) 2018-02-08 14:51:51 +00:00
sync-builtins.def Update copyright years. 2018-01-03 11:03:58 +01:00
system.h re PR bootstrap/84405 (Fails to bootstrap with GCC 4.1.2, GCC 4.2.4) 2018-02-16 10:05:35 +01:00
target-def.h Update copyright years. 2018-01-03 11:03:58 +01:00
target-globals.c Update copyright years. 2018-01-03 11:03:58 +01:00
target-globals.h Update copyright years. 2018-01-03 11:03:58 +01:00
target-hooks-macros.h Update copyright years. 2018-01-03 11:03:58 +01:00
target-insns.def Update copyright years. 2018-01-03 11:03:58 +01:00
target.def common.opt (gas-loc-support, [...]): New. 2018-02-13 09:18:37 -07:00
target.h Update copyright years. 2018-01-03 11:03:58 +01:00
targhooks.c Rework the legitimize_address_displacement hook 2018-01-13 18:00:59 +00:00
targhooks.h Rework the legitimize_address_displacement hook 2018-01-13 18:00:59 +00:00
timevar.c Fix timevar format and fix tests (PR testsuite/84597). 2018-02-28 13:45:59 +00:00
timevar.def Add an "early rematerialisation" pass 2018-01-13 18:00:51 +00:00
timevar.h Update copyright years. 2018-01-03 11:03:58 +01:00
tlink.c Update copyright years. 2018-01-03 11:03:58 +01:00
toplev.c common.opt (gas-loc-support, [...]): New. 2018-02-13 09:18:37 -07:00
toplev.h Update copyright years. 2018-01-03 11:03:58 +01:00
tracer.c Update copyright years. 2018-01-03 11:03:58 +01:00
tracer.h Update copyright years. 2018-01-03 11:03:58 +01:00
trans-mem.c Update copyright years. 2018-01-03 11:03:58 +01:00
trans-mem.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-affine.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-affine.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-call-cdce.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-cfg.c Fix ICE in find_taken_edge_computed_goto (PR 84136) 2018-02-09 01:07:11 +00:00
tree-cfg.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-cfgcleanup.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-cfgcleanup.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-chkp-opt.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-chkp.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-chkp.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-chrec.c re PR tree-optimization/84204 ([graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:206) 2018-02-07 10:14:25 +00:00
tree-chrec.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-complex.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-core.h Fix integer overflow in stats of trees. 2018-01-12 14:45:35 +00:00
tree-data-ref.c Check array indices in object_address_invariant_in_loop_p (PR 84357) 2018-02-14 13:14:51 +00:00
tree-data-ref.h Support for aliasing with variable strides 2018-01-13 18:02:10 +00:00
tree-dfa.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-dfa.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-diagnostic.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-diagnostic.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-dump.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-dump.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-eh.c tree-eh.c (operation_could_trap_helper_p): Ignore honor_trapv for *DIV_EXPR and *MOD_EXPR. 2018-02-07 13:53:31 +01:00
tree-eh.h re PR tree-optimization/81661 (ICE in gimplify_modify_expr, at gimplify.c:5638) 2018-02-01 11:08:26 +01:00
tree-emutls.c re PR middle-end/83945 (internal compiler error: Segmentation fault with -O -fcode-hoisting) 2018-01-20 10:58:31 +01:00
tree-hash-traits.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-hasher.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-if-conv.c re PR tree-optimization/84803 (ICE from ifcvt_memrefs_wont_trap with -O3) 2018-03-12 12:32:28 +00:00
tree-if-conv.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-inline.c re PR c++/84767 (ICE with pointer to VLA) 2018-03-09 20:12:29 +01:00
tree-inline.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-into-ssa.c domwalk.h (dom_walker::dom_walker): Add additional constructor for specifying RPO order and allow NULL for that. 2018-02-01 12:51:24 +00:00
tree-into-ssa.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-iterator.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-iterator.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-loop-distribution.c re PR tree-optimization/82604 (SPEC CPU2006 410.bwaves ~50% performance regression with trunk@253679 when ftree-parallelize-loops is used) 2018-01-23 16:47:03 +00:00
tree-nested.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-nested.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-nrv.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-object-size.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-object-size.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-outof-ssa.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-outof-ssa.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-parloops.c Add support for in-order addition reduction using SVE FADDA 2018-01-13 18:01:24 +00:00
tree-parloops.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-pass.h Add an "early rematerialisation" pass 2018-01-13 18:00:51 +00:00
tree-phinodes.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-phinodes.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-predcom.c Handle polynomial DR_INIT 2018-01-12 14:48:53 +00:00
tree-pretty-print.c re PR c++/84704 (internal compiler error: gimplification failed) 2018-03-07 10:19:36 +01:00
tree-pretty-print.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-profile.c Clean-up IPA profile dump output. 2018-01-23 12:26:37 +00:00
tree-scalar-evolution.c re PR tree-optimization/84552 (Compile time hog w/ -O2 -floop-nest-optimize -fno-tree-copy-prop -fno-tree-fre -fno-tree-loop-ivcanon) 2018-03-08 14:41:39 +00:00
tree-scalar-evolution.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-sra.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-address.c Improve canonicalisation of TARGET_MEM_REFs 2018-01-13 17:50:01 +00:00
tree-ssa-address.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-alias.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-alias.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-ccp.c PR tree-optimization/83369 - Missing diagnostics during inlining 2018-02-05 15:45:04 -07:00
tree-ssa-ccp.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-coalesce.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-coalesce.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-copy.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-dce.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-dce.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-dom.c [PR81611] accept copies in simple_iv_increment_p 2018-01-30 17:40:50 +00:00
tree-ssa-dom.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-dse.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-forwprop.c Allow VEC_PERM_EXPR folding to fail 2018-01-04 18:04:54 +00:00
tree-ssa-ifcombine.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-live.c [IEPM] don't preserve lexical blocks just for debug inline markers 2018-02-27 03:37:10 +00:00
tree-ssa-live.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop-ch.c re PR tree-optimization/84777 (-Os inhibits all vectorization) 2018-03-12 08:45:54 +00:00
tree-ssa-loop-im.c re PR tree-optimization/84650 ([graphite] ICE: Segmentation fault (in create_new_iv)) 2018-03-05 12:49:07 +00:00
tree-ssa-loop-ivcanon.c re PR tree-optimization/84111 (Compile time hog w/ -O2) 2018-01-30 16:58:22 +01:00
tree-ssa-loop-ivopts.c Make ivopts handle calls to internal functions 2018-01-13 17:59:15 +00:00
tree-ssa-loop-ivopts.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop-manip.c re PR tree-optimization/83189 (internal compiler error: in probability_in, at profile-count.h:1050) 2018-01-11 08:14:33 +00:00
tree-ssa-loop-manip.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop-niter.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop-niter.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop-prefetch.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop-split.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop-unswitch.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-loop.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-math-opts.c Deferring FMA transformations in tight loops 2018-01-12 15:06:10 +01:00
tree-ssa-operands.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-operands.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-phionlycprop.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-phiopt.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-phiprop.c re PR middle-end/84233 (ICE (segfault) in gimple_assign_rhs_code) 2018-02-08 13:29:15 +00:00
tree-ssa-pre.c tree-ssa-pre.c (compute_antic_aux): Remove code that asserts that the value-set of ANTIC_IN doesn't grow. 2018-03-14 10:55:45 +00:00
tree-ssa-propagate.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-propagate.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-reassoc.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-sccvn.c -Warray-bounds: Fix false positive in some "switch" stmts (PR tree-optimization/83510) 2018-01-23 11:10:47 +00:00
tree-ssa-sccvn.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-scopedtables.c re PR tree-optimization/84235 (Miscompilation of floating point code by dom2) 2018-02-07 09:29:58 +01:00
tree-ssa-scopedtables.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-sink.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-strlen.c PR tree-optimization/83456 - -Wrestrict false positive on a non-overlapping memcpy in an inline function 2018-03-12 12:04:16 -06:00
tree-ssa-strlen.h PR tree-optimization/84480 - bogus -Wstringop-truncation despite assignment with an inlined string literal 2018-02-22 10:35:29 -07:00
tree-ssa-structalias.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-tail-merge.c cfgcleanup.c (try_crossjump_to_edge): Use combine_with_count to merge probabilities. 2018-01-24 08:12:40 +00:00
tree-ssa-ter.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-ter.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-threadbackward.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-threadedge.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-threadedge.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-threadupdate.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-threadupdate.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-uncprop.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssa-uninit.c re PR middle-end/81897 (spurious -Wmaybe-uninitialized warning) 2018-01-10 21:39:20 +00:00
tree-ssa.c re PR tree-optimization/84417 (internal compiler error: verify_gimple failed) 2018-02-16 12:01:23 +00:00
tree-ssa.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-ssanames.c re PR libgomp/84086 ([8 Regresssion] segfault in instantiate_scev_r for libgomp.fortran/examples-4/simd-2.f90 -O1) 2018-01-29 15:22:55 +00:00
tree-ssanames.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-stdarg.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-stdarg.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-streamer-in.c lto-streamer-out.c (DFS::DFS_write_tree_body): Process DECL_DEBUG_EXPR conditional on DECL_HAS_DEBUG_EXPR_P. 2018-01-12 08:22:16 +00:00
tree-streamer-out.c lto-streamer-out.c (DFS::DFS_write_tree_body): Process DECL_DEBUG_EXPR conditional on DECL_HAS_DEBUG_EXPR_P. 2018-01-12 08:22:16 +00:00
tree-streamer.c Update copyright years. 2018-01-03 11:03:58 +01:00
tree-streamer.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-switch-conversion.c re PR tree-optimization/84740 (ICE in build_constructors, at tree-switch-conversion.c:965) 2018-03-08 08:29:42 +01:00
tree-tailcall.c re PR tree-optimization/84739 (ICE in get_value_for_expr, at tree-ssa-ccp.c:649) 2018-03-08 07:56:59 +01:00
tree-vect-data-refs.c Use loop->safelen rather than loop->force_vectorize 2018-03-02 09:45:51 +00:00
tree-vect-generic.c Add support for MODE_VECTOR_BOOL 2018-01-03 21:43:02 +00:00
tree-vect-loop-manip.c [SLP/AArch64] Fix unpack handling for big-endian SVE 2018-03-13 15:13:37 +00:00
tree-vect-loop.c re PR tree-optimization/84512 (Missed optimization: should be precalculated in compile-time) 2018-02-27 15:25:33 +00:00
tree-vect-patterns.c Make fix for PR 83965 handle SLP reduction chains 2018-02-26 16:17:00 +00:00
tree-vect-slp.c re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644) 2018-02-12 13:55:04 +00:00
tree-vect-stmts.c Avoid &LOOP_VINFO_MASKS for bb vectorisation (PR 84634) 2018-03-02 09:46:43 +00:00
tree-vector-builder.c poly_int: TYPE_VECTOR_SUBPARTS 2018-01-03 21:42:12 +00:00
tree-vector-builder.h Update copyright years. 2018-01-03 11:03:58 +01:00
tree-vectorizer.c Add an empty_mask_is_expensive hook 2018-01-13 17:59:40 +00:00
tree-vectorizer.h re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644) 2018-02-07 15:46:17 +00:00
tree-vrp.c re PR tree-optimization/84321 (ice in intersect_range_with_nonzero_bits, at tree-vrp.c:213) 2018-02-13 08:48:38 -07:00
tree-vrp.h Use nonzero bits to refine range in split_constant_offset (PR 81635) 2018-02-08 15:16:29 +00:00
tree.c Fix tree statistics with -fmem-report. 2018-03-14 11:17:01 +00:00
tree.def Update copyright years. 2018-01-03 11:03:58 +01:00
tree.h re PR middle-end/82694 (Linux kernel miscompiled since r250765) 2018-01-15 10:05:59 +01:00
treestruct.def Update copyright years. 2018-01-03 11:03:58 +01:00
tsan.c Update copyright years. 2018-01-03 11:03:58 +01:00
tsan.h Update copyright years. 2018-01-03 11:03:58 +01:00
tsystem.h Update copyright years. 2018-01-03 11:03:58 +01:00
typeclass.h Update copyright years. 2018-01-03 11:03:58 +01:00
typed-splay-tree.c Update copyright years. 2018-01-03 11:03:58 +01:00
typed-splay-tree.h Update copyright years. 2018-01-03 11:03:58 +01:00
ubsan.c poly_int: GET_MODE_PRECISION 2018-01-03 21:42:20 +00:00
ubsan.h Update copyright years. 2018-01-03 11:03:58 +01:00
unique-ptr-tests.cc Update copyright years. 2018-01-03 11:03:58 +01:00
valtrack.c poly_int: GET_MODE_SIZE 2018-01-03 21:42:52 +00:00
valtrack.h Update copyright years. 2018-01-03 11:03:58 +01:00
value-prof.c Clean-up IPA profile dump output. 2018-01-23 12:26:37 +00:00
value-prof.h Update copyright years. 2018-01-03 11:03:58 +01:00
var-tracking.c re PR target/84146 (ICE with -mcet in dwarf2out_var_location, involving sigsetjmp) 2018-02-19 22:58:04 +01:00
varasm.c re PR middle-end/84237 (xen build faiulre only zero initializers are allowed in section '.bss.page_aligned.const') 2018-02-09 06:47:24 +01:00
varasm.h Update copyright years. 2018-01-03 11:03:58 +01:00
varpool.c Update copyright years. 2018-01-03 11:03:58 +01:00
vec-perm-indices.c Expand vec_perm_indices::series_p comment 2018-01-30 09:45:40 +00:00
vec-perm-indices.h Update copyright years. 2018-01-03 11:03:58 +01:00
vec.c Fix --enable-gather-detailed-mem-stats build. 2018-01-12 14:43:58 +00:00
vec.h re PR bootstrap/84405 (Fails to bootstrap with GCC 4.1.2, GCC 4.2.4) 2018-02-26 15:37:45 +01:00
vector-builder.h Update copyright years. 2018-01-03 11:03:58 +01:00
version.c Update copyright years. 2018-01-03 11:03:58 +01:00
version.h
vmsdbg.h Update copyright years. 2018-01-03 11:03:58 +01:00
vmsdbgout.c Add ability to remap file names in __FILE__, etc (PR other/70268) 2018-01-18 13:17:37 +00:00
vr-values.c Update copyright years. 2018-01-03 11:03:58 +01:00
vr-values.h Update copyright years. 2018-01-03 11:03:58 +01:00
vtable-verify.c Update copyright years. 2018-01-03 11:03:58 +01:00
vtable-verify.h Update copyright years. 2018-01-03 11:03:58 +01:00
web.c Update copyright years. 2018-01-03 11:03:58 +01:00
wide-int-bitmask.h Move omp bitmask to general to use it in x86 backend. 2018-02-02 14:39:30 +01:00
wide-int-print.cc Update copyright years. 2018-01-03 11:03:58 +01:00
wide-int-print.h Update copyright years. 2018-01-03 11:03:58 +01:00
wide-int.cc Use nonzero bits to refine range in split_constant_offset (PR 81635) 2018-02-08 15:16:29 +00:00
wide-int.h Use nonzero bits to refine range in split_constant_offset (PR 81635) 2018-02-08 15:16:29 +00:00
xcoff.h Update copyright years. 2018-01-03 11:03:58 +01:00
xcoffout.c Add ability to remap file names in __FILE__, etc (PR other/70268) 2018-01-18 13:17:37 +00:00
xcoffout.h Update copyright years. 2018-01-03 11:03:58 +01:00

README.Portability

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