Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/FSF]: src/external/gpl3/gcc/dist Import gcc 4.8.3 which has 98 bugs fixe...
details: https://anonhg.NetBSD.org/src/rev/4c0e32b4d6b7
branches: FSF
changeset: 746653:4c0e32b4d6b7
user: skrll <skrll%NetBSD.org@localhost>
date: Tue May 27 08:49:56 2014 +0000
description:
Import gcc 4.8.3 which has 98 bugs fixed on gcc-4-8-3-pre-r208254
diffstat:
external/gpl3/gcc/dist/config/ChangeLog | 4 +
external/gpl3/gcc/dist/gcc/builtins.c | 28 +-
external/gpl3/gcc/dist/gcc/c-family/ChangeLog | 64 +
external/gpl3/gcc/dist/gcc/c-family/c-common.c | 18 +-
external/gpl3/gcc/dist/gcc/c-family/c-opts.c | 25 +-
external/gpl3/gcc/dist/gcc/c-family/c-pragma.c | 13 +-
external/gpl3/gcc/dist/gcc/c-family/c.opt | 10 +-
external/gpl3/gcc/dist/gcc/c/ChangeLog | 20 +
external/gpl3/gcc/dist/gcc/c/c-decl.c | 4 +-
external/gpl3/gcc/dist/gcc/c/c-parser.c | 4 +-
external/gpl3/gcc/dist/gcc/c/c-tree.h | 2 +
external/gpl3/gcc/dist/gcc/c/c-typeck.c | 34 +-
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.c | 11 +-
external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.h | 6 +-
external/gpl3/gcc/dist/gcc/config/arm/arm.c | 47 +-
external/gpl3/gcc/dist/gcc/config/arm/arm.h | 11 +-
external/gpl3/gcc/dist/gcc/config/avr/avr.c | 25 +-
external/gpl3/gcc/dist/gcc/config/avr/avr.md | 8 +-
external/gpl3/gcc/dist/gcc/config/darwin.c | 60 +-
external/gpl3/gcc/dist/gcc/config/i386/i386.c | 29 +-
external/gpl3/gcc/dist/gcc/config/rs6000/altivec.h | 50 +
external/gpl3/gcc/dist/gcc/config/rs6000/altivec.md | 1956 +-
external/gpl3/gcc/dist/gcc/config/rs6000/constraints.md | 66 +-
external/gpl3/gcc/dist/gcc/config/rs6000/crypto.md | 101 +
external/gpl3/gcc/dist/gcc/config/rs6000/darwin.h | 3 +-
external/gpl3/gcc/dist/gcc/config/rs6000/dfp.md | 406 +-
external/gpl3/gcc/dist/gcc/config/rs6000/htm.md | 366 +
external/gpl3/gcc/dist/gcc/config/rs6000/htmintrin.h | 131 +
external/gpl3/gcc/dist/gcc/config/rs6000/htmxlintrin.h | 213 +
external/gpl3/gcc/dist/gcc/config/rs6000/linux64.h | 32 +-
external/gpl3/gcc/dist/gcc/config/rs6000/option-defaults.h | 1 +
external/gpl3/gcc/dist/gcc/config/rs6000/power8.md | 373 +
external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h | 25 +-
external/gpl3/gcc/dist/gcc/config/rs6000/predicates.md | 319 +-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-builtin.def | 540 +-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-c.c | 934 +-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-cpus.def | 28 +-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-modes.def | 6 +
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-opts.h | 11 +-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-protos.h | 19 +-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c | 6316 ++++++-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.h | 310 +-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.md | 4065 +++-
external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.opt | 81 +-
external/gpl3/gcc/dist/gcc/config/rs6000/sync.md | 369 +-
external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h | 32 +-
external/gpl3/gcc/dist/gcc/config/rs6000/sysv4le.h | 7 +-
external/gpl3/gcc/dist/gcc/config/rs6000/t-linux64 | 10 +-
external/gpl3/gcc/dist/gcc/config/rs6000/t-linux64bele | 7 +
external/gpl3/gcc/dist/gcc/config/rs6000/t-linux64le | 3 +
external/gpl3/gcc/dist/gcc/config/rs6000/t-linux64lebe | 7 +
external/gpl3/gcc/dist/gcc/config/rs6000/t-rs6000 | 3 +
external/gpl3/gcc/dist/gcc/config/rs6000/vector.md | 132 +-
external/gpl3/gcc/dist/gcc/config/rs6000/vsx.md | 1218 +-
external/gpl3/gcc/dist/gcc/config/s390/s390.c | 2 +-
external/gpl3/gcc/dist/gcc/config/sh/sh.c | 7 +-
external/gpl3/gcc/dist/gcc/config/sh/sh.md | 1 +
external/gpl3/gcc/dist/gcc/config/sparc/sparc-protos.h | 3 +-
external/gpl3/gcc/dist/gcc/config/sparc/sparc.c | 176 +-
external/gpl3/gcc/dist/gcc/config/sparc/sparc.md | 388 +-
external/gpl3/gcc/dist/gcc/config/sparc/sparc.opt | 4 +
external/gpl3/gcc/dist/gcc/config/sparc/sync.md | 19 +-
external/gpl3/gcc/dist/gcc/cp/ChangeLog | 26 +
external/gpl3/gcc/dist/gcc/cp/call.c | 21 +-
external/gpl3/gcc/dist/gcc/cp/decl.c | 8 +
external/gpl3/gcc/dist/gcc/cp/typeck.c | 2 +-
external/gpl3/gcc/dist/gcc/cp/typeck2.c | 15 +-
external/gpl3/gcc/dist/gcc/doc/aot-compile.1 | 6 +-
external/gpl3/gcc/dist/gcc/doc/cpp.1 | 73 +-
external/gpl3/gcc/dist/gcc/doc/cpp.info | Bin
external/gpl3/gcc/dist/gcc/doc/cppinternals.info | Bin
external/gpl3/gcc/dist/gcc/doc/extend.texi | 673 +-
external/gpl3/gcc/dist/gcc/doc/fsf-funding.7 | 2 +-
external/gpl3/gcc/dist/gcc/doc/g++.1 | 9205 +++++++---
external/gpl3/gcc/dist/gcc/doc/gc-analyze.1 | 6 +-
external/gpl3/gcc/dist/gcc/doc/gcc.1 | 9205 +++++++---
external/gpl3/gcc/dist/gcc/doc/gcc.info | Bin
external/gpl3/gcc/dist/gcc/doc/gccinstall.info | Bin
external/gpl3/gcc/dist/gcc/doc/gccint.info | Bin
external/gpl3/gcc/dist/gcc/doc/gcj-dbtool.1 | 6 +-
external/gpl3/gcc/dist/gcc/doc/gcj.1 | 8 +-
external/gpl3/gcc/dist/gcc/doc/gcj.info | Bin
external/gpl3/gcc/dist/gcc/doc/gcov.1 | 85 +-
external/gpl3/gcc/dist/gcc/doc/gfdl.7 | 104 +-
external/gpl3/gcc/dist/gcc/doc/gfortran.1 | 425 +-
external/gpl3/gcc/dist/gcc/doc/gij.1 | 6 +-
external/gpl3/gcc/dist/gcc/doc/gpl.7 | 2 +-
external/gpl3/gcc/dist/gcc/doc/grmic.1 | 6 +-
external/gpl3/gcc/dist/gcc/doc/invoke.texi | 140 +-
external/gpl3/gcc/dist/gcc/doc/jcf-dump.1 | 6 +-
external/gpl3/gcc/dist/gcc/doc/jv-convert.1 | 6 +-
external/gpl3/gcc/dist/gcc/doc/md.texi | 54 +-
external/gpl3/gcc/dist/gcc/doc/rebuild-gcj-db.1 | 6 +-
external/gpl3/gcc/dist/gcc/doc/sourcebuild.texi | 31 +-
external/gpl3/gcc/dist/gcc/dse.c | 3 +-
external/gpl3/gcc/dist/gcc/lto/ChangeLog | 4 +
external/gpl3/gcc/dist/gcc/objc/ChangeLog | 15 +
external/gpl3/gcc/dist/gcc/objc/objc-next-runtime-abi-01.c | 33 -
external/gpl3/gcc/dist/gcc/objc/objc-next-runtime-abi-02.c | 28 -
external/gpl3/gcc/dist/gcc/objcp/ChangeLog | 4 +
external/gpl3/gcc/dist/gcc/rtl.h | 2 +
external/gpl3/gcc/dist/gcc/tree.c | 54 +
102 files changed, 29410 insertions(+), 10023 deletions(-)
diffs (truncated from 60570 to 300 lines):
diff -r 9cf9df6d5500 -r 4c0e32b4d6b7 external/gpl3/gcc/dist/config/ChangeLog
--- a/external/gpl3/gcc/dist/config/ChangeLog Tue May 27 08:39:48 2014 +0000
+++ b/external/gpl3/gcc/dist/config/ChangeLog Tue May 27 08:49:56 2014 +0000
@@ -1,3 +1,7 @@
+2014-05-22 Release Manager
+
+ * GCC 4.8.3 released.
+
2013-10-16 Release Manager
* GCC 4.8.2 released.
diff -r 9cf9df6d5500 -r 4c0e32b4d6b7 external/gpl3/gcc/dist/gcc/builtins.c
--- a/external/gpl3/gcc/dist/gcc/builtins.c Tue May 27 08:39:48 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/builtins.c Tue May 27 08:49:56 2014 +0000
@@ -905,9 +905,24 @@
if (! HAVE_nonlocal_goto)
#endif
{
+ /* First adjust our frame pointer to its actual value. It was
+ previously set to the start of the virtual area corresponding to
+ the stacked variables when we branched here and now needs to be
+ adjusted to the actual hardware fp value.
+
+ Assignments to virtual registers are converted by
+ instantiate_virtual_regs into the corresponding assignment
+ to the underlying register (fp in this case) that makes
+ the original assignment true.
+ So the following insn will actually be decrementing fp by
+ STARTING_FRAME_OFFSET. */
emit_move_insn (virtual_stack_vars_rtx, hard_frame_pointer_rtx);
- /* This might change the hard frame pointer in ways that aren't
- apparent to early optimization passes, so force a clobber. */
+
+ /* Restoring the frame pointer also modifies the hard frame pointer.
+ Mark it used (so that the previous assignment remains live once
+ the frame pointer is eliminated) and clobbered (to represent the
+ implicit update from the assignment). */
+ emit_use (hard_frame_pointer_rtx);
emit_clobber (hard_frame_pointer_rtx);
}
@@ -948,8 +963,7 @@
/* We must not allow the code we just generated to be reordered by
scheduling. Specifically, the update of the frame pointer must
- happen immediately, not later. Similarly, we must block
- (frame-related) register values to be used across this code. */
+ happen immediately, not later. */
emit_insn (gen_blockage ());
}
@@ -5861,6 +5875,9 @@
switch (fcode)
{
CASE_FLT_FN (BUILT_IN_FABS):
+ case BUILT_IN_FABSD32:
+ case BUILT_IN_FABSD64:
+ case BUILT_IN_FABSD128:
target = expand_builtin_fabs (exp, target, subtarget);
if (target)
return target;
@@ -10313,6 +10330,9 @@
return fold_builtin_strlen (loc, type, arg0);
CASE_FLT_FN (BUILT_IN_FABS):
+ case BUILT_IN_FABSD32:
+ case BUILT_IN_FABSD64:
+ case BUILT_IN_FABSD128:
return fold_builtin_fabs (loc, arg0, type);
case BUILT_IN_ABS:
diff -r 9cf9df6d5500 -r 4c0e32b4d6b7 external/gpl3/gcc/dist/gcc/c-family/ChangeLog
--- a/external/gpl3/gcc/dist/gcc/c-family/ChangeLog Tue May 27 08:39:48 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/ChangeLog Tue May 27 08:49:56 2014 +0000
@@ -1,3 +1,67 @@
+2014-05-22 Release Manager
+
+ * GCC 4.8.3 released.
+
+2014-05-06 Richard Biener <rguenther%suse.de@localhost>
+
+ * c-opts.c (c_common_post_options): For -freestanding,
+ -fno-hosted and -fno-builtin disable pattern recognition
+ if not enabled explicitely.
+
+2014-04-10 Jakub Jelinek <jakub%redhat.com@localhost>
+
+ Backport from mainline
+ 2014-03-28 Jakub Jelinek <jakub%redhat.com@localhost>
+
+ PR c++/60689
+ * c-common.c (add_atomic_size_parameter): When creating new
+ params vector, push the size argument first.
+
+ 2014-03-22 Jakub Jelinek <jakub%redhat.com@localhost>
+
+ PR debug/60603
+ * c-opts.c (c_finish_options): Restore cb_file_change call to
+ <built-in>.
+
+ 2014-03-13 Jakub Jelinek <jakub%redhat.com@localhost>
+
+ PR middle-end/36282
+ * c-pragma.c (apply_pragma_weak): Only look at
+ TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
+ DECL_ASSEMBLER_NAME_SET_P (decl).
+ (maybe_apply_pending_pragma_weaks): Exit early if
+ vec_safe_is_empty (pending_weaks) rather than only when
+ !pending_weaks.
+ (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
+ set assembler name back to NULL afterwards.
+
+2014-04-07 Dominique d'Humieres <dominiq%lps.ens.fr@localhost>
+
+ Backport from mainline
+ 2013-09-14 Iain Sandoe <iains%gcc.gnu.org@localhost>
+
+ PR target/48094
+ * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
+ fobjc-gc, freplace-objc-classes): Accept for LTO.
+
+2014-03-06 Jakub Jelinek <jakub%redhat.com@localhost>
+
+ Backport from mainline
+ 2014-02-19 Jakub Jelinek <jakub%redhat.com@localhost>
+
+ PR c/37743
+ * c-common.c (c_common_nodes_and_builtins): When initializing
+ c_uint{16,32,64}_type_node, also set corresponding
+ uint{16,32,64}_type_node to the same value.
+
+ 2014-02-12 Jakub Jelinek <jakub%redhat.com@localhost>
+
+ PR c/60101
+ * c-common.c (merge_tlist): If copy is true, call new_tlist,
+ if false, add ADD itself, rather than vice versa.
+ (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
+ copy. For SAVE_EXPR, only call merge_tlist once.
+
2013-11-29 Jakub Jelinek <jakub%redhat.com@localhost>
PR c/59280
diff -r 9cf9df6d5500 -r 4c0e32b4d6b7 external/gpl3/gcc/dist/gcc/c-family/c-common.c
--- a/external/gpl3/gcc/dist/gcc/c-family/c-common.c Tue May 27 08:39:48 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/c-common.c Tue May 27 08:49:56 2014 +0000
@@ -2894,7 +2894,7 @@
}
if (!found)
{
- *end = copy ? add : new_tlist (NULL, add->expr, add->writer);
+ *end = copy ? new_tlist (NULL, add->expr, add->writer) : add;
end = &(*end)->next;
*end = 0;
}
@@ -3052,7 +3052,7 @@
verify_tree (TREE_OPERAND (x, 0), &tmp_before, &tmp_list2, NULL_TREE);
warn_for_collisions (tmp_list2);
merge_tlist (pbefore_sp, tmp_before, 0);
- merge_tlist (pbefore_sp, tmp_list2, 1);
+ merge_tlist (pbefore_sp, tmp_list2, 0);
tmp_list3 = tmp_nosp = 0;
verify_tree (TREE_OPERAND (x, 1), &tmp_list3, &tmp_nosp, NULL_TREE);
@@ -3156,12 +3156,7 @@
warn_for_collisions (tmp_nosp);
tmp_list3 = 0;
- while (tmp_nosp)
- {
- struct tlist *t = tmp_nosp;
- tmp_nosp = t->next;
- merge_tlist (&tmp_list3, t, 0);
- }
+ merge_tlist (&tmp_list3, tmp_nosp, 0);
t->cache_before_sp = tmp_before;
t->cache_after_sp = tmp_list3;
}
@@ -5511,13 +5506,13 @@
uint8_type_node =
TREE_TYPE (identifier_global_value (c_get_ident (UINT8_TYPE)));
if (UINT16_TYPE)
- c_uint16_type_node =
+ c_uint16_type_node = uint16_type_node =
TREE_TYPE (identifier_global_value (c_get_ident (UINT16_TYPE)));
if (UINT32_TYPE)
- c_uint32_type_node =
+ c_uint32_type_node = uint32_type_node =
TREE_TYPE (identifier_global_value (c_get_ident (UINT32_TYPE)));
if (UINT64_TYPE)
- c_uint64_type_node =
+ c_uint64_type_node = uint64_type_node =
TREE_TYPE (identifier_global_value (c_get_ident (UINT64_TYPE)));
if (INT_LEAST8_TYPE)
int_least8_type_node =
@@ -10207,6 +10202,7 @@
len = params->length ();
vec_alloc (v, len + 1);
+ v->quick_push (build_int_cst (size_type_node, n));
for (z = 0; z < len; z++)
v->quick_push ((*params)[z]);
f = build_function_call_vec (loc, function, v, NULL);
diff -r 9cf9df6d5500 -r 4c0e32b4d6b7 external/gpl3/gcc/dist/gcc/c-family/c-opts.c
--- a/external/gpl3/gcc/dist/gcc/c-family/c-opts.c Tue May 27 08:39:48 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/c-opts.c Tue May 27 08:49:56 2014 +0000
@@ -840,6 +840,12 @@
if (flag_objc_exceptions && !flag_objc_sjlj_exceptions)
flag_exceptions = 1;
+ /* If -ffreestanding, -fno-hosted or -fno-builtin then disable
+ pattern recognition. */
+ if (!global_options_set.x_flag_tree_loop_distribute_patterns
+ && flag_no_builtin)
+ flag_tree_loop_distribute_patterns = 0;
+
/* -Woverlength-strings is off by default, but is enabled by -Wpedantic.
It is never enabled in C++, as the minimum limit is not normative
in that standard. */
@@ -1258,17 +1264,18 @@
{
size_t i;
- {
- /* Make sure all of the builtins about to be declared have
- BUILTINS_LOCATION has their source_location. */
- source_location builtins_loc = BUILTINS_LOCATION;
- cpp_force_token_locations (parse_in, &builtins_loc);
+ cb_file_change (parse_in,
+ linemap_add (line_table, LC_RENAME, 0,
+ _("<built-in>"), 0));
+ /* Make sure all of the builtins about to be declared have
+ BUILTINS_LOCATION has their source_location. */
+ source_location builtins_loc = BUILTINS_LOCATION;
+ cpp_force_token_locations (parse_in, &builtins_loc);
- cpp_init_builtins (parse_in, flag_hosted);
- c_cpp_builtins (parse_in);
+ cpp_init_builtins (parse_in, flag_hosted);
+ c_cpp_builtins (parse_in);
- cpp_stop_forcing_token_locations (parse_in);
- }
+ cpp_stop_forcing_token_locations (parse_in);
/* We're about to send user input to cpplib, so make it warn for
things that we previously (when we sent it internal definitions)
diff -r 9cf9df6d5500 -r 4c0e32b4d6b7 external/gpl3/gcc/dist/gcc/c-family/c-pragma.c
--- a/external/gpl3/gcc/dist/gcc/c-family/c-pragma.c Tue May 27 08:39:48 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/c-pragma.c Tue May 27 08:49:56 2014 +0000
@@ -259,6 +259,7 @@
if (SUPPORTS_WEAK && DECL_EXTERNAL (decl) && TREE_USED (decl)
&& !DECL_WEAK (decl) /* Don't complain about a redundant #pragma. */
+ && DECL_ASSEMBLER_NAME_SET_P (decl)
&& TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)))
warning (OPT_Wpragmas, "applying #pragma weak %q+D after first use "
"results in unspecified behavior", decl);
@@ -276,7 +277,7 @@
/* Avoid asking for DECL_ASSEMBLER_NAME when it's not needed. */
/* No weak symbols pending, take the short-cut. */
- if (!pending_weaks)
+ if (vec_safe_is_empty (pending_weaks))
return;
/* If it's not visible outside this file, it doesn't matter whether
it's weak. */
@@ -288,7 +289,13 @@
if (TREE_CODE (decl) != FUNCTION_DECL && TREE_CODE (decl) != VAR_DECL)
return;
- id = DECL_ASSEMBLER_NAME (decl);
+ if (DECL_ASSEMBLER_NAME_SET_P (decl))
+ id = DECL_ASSEMBLER_NAME (decl);
+ else
+ {
+ id = DECL_ASSEMBLER_NAME (decl);
+ SET_DECL_ASSEMBLER_NAME (decl, NULL_TREE);
+ }
FOR_EACH_VEC_ELT (*pending_weaks, i, pe)
if (id == pe->name)
@@ -309,7 +316,7 @@
pending_weak *pe;
symtab_node target;
- if (!pending_weaks)
+ if (vec_safe_is_empty (pending_weaks))
return;
FOR_EACH_VEC_ELT (*pending_weaks, i, pe)
diff -r 9cf9df6d5500 -r 4c0e32b4d6b7 external/gpl3/gcc/dist/gcc/c-family/c.opt
--- a/external/gpl3/gcc/dist/gcc/c-family/c.opt Tue May 27 08:39:48 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/c.opt Tue May 27 08:49:56 2014 +0000
@@ -933,7 +933,7 @@
Recognize GNU-defined keywords
fgnu-runtime
-ObjC ObjC++ Report RejectNegative Var(flag_next_runtime,0) Init(NEXT_OBJC_RUNTIME)
+ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime,0) Init(NEXT_OBJC_RUNTIME)
Generate code for GNU runtime environment
Home |
Main Index |
Thread Index |
Old Index