Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/gcc/dist Import gcc 4.8.3 which has 98 bugs fi...



details:   https://anonhg.NetBSD.org/src/rev/a5d5b7538ef3
branches:  trunk
changeset: 329495:a5d5b7538ef3
user:      skrll <skrll%NetBSD.org@localhost>
date:      Tue May 27 08:50:03 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/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/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/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.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/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/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.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.opt           |     4 +
 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/extend.texi                  |   673 +-
 external/gpl3/gcc/dist/gcc/doc/md.texi                      |    54 +-
 external/gpl3/gcc/dist/gcc/doc/sourcebuild.texi             |    31 +-
 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 +
 68 files changed, 10506 insertions(+), 2794 deletions(-)

diffs (truncated from 18208 to 300 lines):

diff -r a0005f95c741 -r a5d5b7538ef3 external/gpl3/gcc/dist/config/ChangeLog
--- a/external/gpl3/gcc/dist/config/ChangeLog   Tue May 27 08:39:52 2014 +0000
+++ b/external/gpl3/gcc/dist/config/ChangeLog   Tue May 27 08:50:03 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 a0005f95c741 -r a5d5b7538ef3 external/gpl3/gcc/dist/gcc/c-family/ChangeLog
--- a/external/gpl3/gcc/dist/gcc/c-family/ChangeLog     Tue May 27 08:39:52 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/ChangeLog     Tue May 27 08:50:03 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 a0005f95c741 -r a5d5b7538ef3 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:52 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/c-common.c    Tue May 27 08:50:03 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 a0005f95c741 -r a5d5b7538ef3 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:52 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/c-opts.c      Tue May 27 08:50:03 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 a0005f95c741 -r a5d5b7538ef3 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:52 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/c-pragma.c    Tue May 27 08:50:03 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 a0005f95c741 -r a5d5b7538ef3 external/gpl3/gcc/dist/gcc/c-family/c.opt
--- a/external/gpl3/gcc/dist/gcc/c-family/c.opt Tue May 27 08:39:52 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c-family/c.opt Tue May 27 08:50:03 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
 
 fgnu89-inline
@@ -1007,7 +1007,7 @@
 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
 
 fnext-runtime
-ObjC ObjC++ Report RejectNegative Var(flag_next_runtime)
+ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime)
 Generate code for NeXT (Apple Mac OS X) runtime environment
 
 fnil-receivers
@@ -1025,7 +1025,7 @@
 Treat a throw() exception specification as noexcept to improve code size
 
 fobjc-abi-version=
-ObjC ObjC++ Joined Report RejectNegative UInteger Var(flag_objc_abi)
+ObjC ObjC++ LTO Joined Report RejectNegative UInteger Var(flag_objc_abi)
 Specify which ABI to use for Objective-C family code and meta-data generation.
 
 ; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
@@ -1045,7 +1045,7 @@
 Enable Objective-C exception and synchronization syntax
 
 fobjc-gc
-ObjC ObjC++ Var(flag_objc_gc)
+ObjC ObjC++ LTO Var(flag_objc_gc)
 Enable garbage collection (GC) in Objective-C/Objective-C++ programs
 
 fobjc-nilcheck
@@ -1105,7 +1105,7 @@
 -fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments
 
 freplace-objc-classes
-ObjC ObjC++ Var(flag_replace_objc_classes)
+ObjC ObjC++ LTO Var(flag_replace_objc_classes)
 Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
 
 frepo
diff -r a0005f95c741 -r a5d5b7538ef3 external/gpl3/gcc/dist/gcc/c/ChangeLog
--- a/external/gpl3/gcc/dist/gcc/c/ChangeLog    Tue May 27 08:39:52 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/c/ChangeLog    Tue May 27 08:50:03 2014 +0000
@@ -1,3 +1,23 @@
+2014-05-22  Release Manager
+
+       * GCC 4.8.3 released.
+
+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-tree.h (c_build_function_call_vec): New prototype.
+       * c-typeck.c (build_function_call_vec): Don't call
+       resolve_overloaded_builtin here.
+       (c_build_function_call_vec): New wrapper function around
+       build_function_call_vec.  Call resolve_overloaded_builtin here.
+       (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
+       Call c_build_function_call_vec instead of build_function_call_vec.
+       * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.



Home | Main Index | Thread Index | Old Index