7.0.1-0.15

This commit is contained in:
Jakub Jelinek 2017-04-21 12:10:21 +02:00
parent ecfa641ec4
commit 0ec4e456b8
4 changed files with 28 additions and 277 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@
/gcc-7.0.1-20170309.tar.bz2
/gcc-7.0.1-20170327.tar.bz2
/gcc-7.0.1-20170410.tar.bz2
/gcc-7.0.1-20170421.tar.bz2

View File

@ -1,10 +1,10 @@
%global DATE 20170410
%global SVNREV 246806
%global DATE 20170421
%global SVNREV 247058
%global gcc_version 7.0.1
%global gcc_major 7
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 0.14
%global gcc_release 0.15
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
%global _unpackaged_files_terminate_build 0
@ -74,7 +74,7 @@
%else
%global attr_ifunc 0
%endif
%ifarch x86_64
%ifarch x86_64 ppc64le
%global build_offload_nvptx 1
%else
%global build_offload_nvptx 0
@ -232,7 +232,6 @@ Patch8: gcc7-no-add-needed.patch
Patch9: gcc7-aarch64-async-unw-tables.patch
Patch10: gcc7-foffload-default.patch
Patch11: gcc7-Wno-format-security.patch
Patch12: gcc7-pr80321.patch
Patch1000: nvptx-tools-no-ptxas.patch
Patch1001: nvptx-tools-build.patch
@ -821,7 +820,6 @@ package or when debugging this package.
%patch9 -p0 -b .aarch64-async-unw-tables~
%patch10 -p0 -b .foffload-default~
%patch11 -p0 -b .Wno-format-security~
%patch12 -p0 -b .pr80321~
cd nvptx-tools-%{nvptx_tools_gitrev}
%patch1000 -p1 -b .nvptx-tools-no-ptxas~
@ -3238,6 +3236,28 @@ fi
%endif
%changelog
* Fri Apr 21 2017 Jakub Jelinek <jakub@redhat.com> 7.0.1-0.15
- update from the trunk and 7 branch
- PRs bootstrap/77661, c++/80176, c++/80241, c++/80244, c++/80287,
c++/80294, c++/80363, c++/80370, c++/80415, c++/80459, c++/80473,
c/80163, debug/80263, debug/80436, debug/80461, fortran/80046,
fortran/80361, fortran/80440, gcov-profile/78783, gcov-profile/80413,
gcov-profile/80435, ipa/65972, libgomp/80394, libstdc++/80446,
libstdc++/80448, lto/50345, lto/69953, middle-end/79671,
middle-end/79788, middle-end/80100, middle-end/80364,
middle-end/80375, middle-end/80422, middle-end/80423,
rtl-optimization/80343, rtl-optimization/80357,
rtl-optimization/80385, rtl-optimization/80429, sanitizer/70878,
sanitizer/80349, sanitizer/80403, sanitizer/80404, sanitizer/80405,
sanitizer/80414, sanitizer/80444, target/74563, target/79453,
target/80057, target/80098, target/80099, target/80108, target/80315,
target/80376, target/80381, target/80382, target/80389, target/80462,
testsuite/79867, testsuite/80221, testsuite/80416,
tree-optimization/80153, tree-optimization/80359,
tree-optimization/80374, tree-optimization/80426,
tree-optimization/80443
- reenable {gcc,libgomp}-offload-nvptx on ppc64le
* Mon Apr 10 2017 Jakub Jelinek <jakub@redhat.com> 7.0.1-0.14
- update from the trunk
- PRs ada/80117, ada/80146, c++/60992, c++/69487, c++/79572, c++/80095,

View File

@ -1,270 +0,0 @@
2017-04-07 Jakub Jelinek <jakub@redhat.com>
PR debug/80321
* dwarf2out.c (decls_for_scope): Ignore declarations of
current_function_decl in BLOCK_NONLOCALIZED_VARS.
* gcc.dg/debug/pr80321.c: New test.
2017-04-07 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/debug10.adb: New test.
* gnat.dg/debug10_pkg.ads: New helper.
--- gcc/dwarf2out.c.jj 2017-04-07 11:46:48.000000000 +0200
+++ gcc/dwarf2out.c 2017-04-07 20:00:43.503772542 +0200
@@ -24889,7 +24889,12 @@ decls_for_scope (tree stmt, dw_die_ref c
for (i = 0; i < BLOCK_NUM_NONLOCALIZED_VARS (stmt); i++)
{
decl = BLOCK_NONLOCALIZED_VAR (stmt, i);
- if (TREE_CODE (decl) == FUNCTION_DECL)
+ if (decl == current_function_decl)
+ /* Ignore declarations of the current function, while they
+ are declarations, gen_subprogram_die would treat them
+ as definitions again, because they are equal to
+ current_function_decl and endlessly recurse. */;
+ else if (TREE_CODE (decl) == FUNCTION_DECL)
process_scope_var (stmt, decl, NULL_TREE, context_die);
else
process_scope_var (stmt, NULL_TREE, decl, context_die);
--- gcc/testsuite/gcc.dg/debug/pr80321.c.jj 2017-04-07 21:39:01.930615179 +0200
+++ gcc/testsuite/gcc.dg/debug/pr80321.c 2017-04-07 21:39:49.722982635 +0200
@@ -0,0 +1,26 @@
+/* PR debug/80321 */
+/* { dg-do compile } */
+/* { dg-options "-fkeep-inline-functions" } */
+
+void bar (void);
+
+static inline void
+test (int x)
+{
+ inline void
+ foo (int x)
+ {
+ test (0);
+ asm volatile ("" : : : "memory");
+ }
+ if (x != 0)
+ foo (x);
+ else
+ bar ();
+}
+
+void
+baz (int x)
+{
+ test (x);
+}
--- gcc/testsuite/gnat.dg/debug10.adb.jj 2017-04-07 20:24:44.232473780 +0200
+++ gcc/testsuite/gnat.dg/debug10.adb 2017-04-07 20:26:40.493980722 +0200
@@ -0,0 +1,68 @@
+-- PR debug/80321
+
+-- { dg-do compile }
+-- { dg-options "-O2 -g" }
+
+with Debug10_Pkg; use Debug10_Pkg;
+
+procedure Debug10 (T : Entity_Id) is
+
+ procedure Inner (E : Entity_Id);
+ pragma Inline (Inner);
+
+ procedure Inner (E : Entity_Id) is
+ begin
+ if E /= Empty
+ and then not Nodes (E + 3).Flag16
+ then
+ Debug10 (E);
+ end if;
+ end Inner;
+
+ function Ekind (E : Entity_Id) return Entity_Kind is
+ begin
+ return N_To_E (Nodes (E + 1).Nkind);
+ end Ekind;
+
+begin
+
+ if T = Empty then
+ return;
+ end if;
+
+ Nodes (T + 3).Flag16 := True;
+
+ if Ekind (T) in Object_Kind then
+ Inner (T);
+
+ elsif Ekind (T) in Type_Kind then
+ Inner (T);
+
+ if Ekind (T) in Record_Kind then
+
+ if Ekind (T) = E_Class_Wide_Subtype then
+ Inner (T);
+ end if;
+
+ elsif Ekind (T) in Array_Kind then
+ Inner (T);
+
+ elsif Ekind (T) in Access_Kind then
+ Inner (T);
+
+ elsif Ekind (T) in Scalar_Kind then
+
+ if My_Scalar_Range (T) /= Empty
+ and then My_Test (My_Scalar_Range (T))
+ then
+ if My_Is_Entity_Name (T) then
+ Inner (T);
+ end if;
+
+ if My_Is_Entity_Name (T) then
+ Inner (T);
+ end if;
+ end if;
+ end if;
+ end if;
+end;
--- gcc/testsuite/gnat.dg/debug10_pkg.ads.jj 2017-04-07 20:24:47.384433302 +0200
+++ gcc/testsuite/gnat.dg/debug10_pkg.ads 2017-04-07 20:24:22.000000000 +0200
@@ -0,0 +1,138 @@
+with Unchecked_Conversion;
+
+package Debug10_Pkg is
+
+ type Node_Id is range 0 .. 99_999_999;
+
+ Empty : constant Node_Id := 0;
+
+ subtype Entity_Id is Node_Id;
+
+ type Union_Id is new Integer;
+
+ function My_Is_Entity_Name (N : Node_Id) return Boolean;
+
+ function My_Scalar_Range (Id : Entity_Id) return Node_Id;
+
+ function My_Test (N : Node_Id) return Boolean;
+
+ type Node_Kind is (N_Unused_At_Start, N_Unused_At_End);
+
+ type Entity_Kind is (
+
+ E_Void,
+ E_Component,
+ E_Constant,
+ E_Discriminant,
+ E_Loop_Parameter,
+ E_Variable,
+ E_Out_Parameter,
+ E_In_Out_Parameter,
+ E_In_Parameter,
+ E_Generic_In_Out_Parameter,
+ E_Generic_In_Parameter,
+ E_Named_Integer,
+ E_Named_Real,
+ E_Enumeration_Type,
+ E_Enumeration_Subtype,
+ E_Signed_Integer_Type,
+ E_Signed_Integer_Subtype,
+ E_Modular_Integer_Type,
+ E_Modular_Integer_Subtype,
+ E_Ordinary_Fixed_Point_Type,
+ E_Ordinary_Fixed_Point_Subtype,
+ E_Decimal_Fixed_Point_Type,
+ E_Decimal_Fixed_Point_Subtype,
+ E_Floating_Point_Type,
+ E_Floating_Point_Subtype,
+ E_Access_Type,
+ E_Access_Subtype,
+ E_Access_Attribute_Type,
+ E_Allocator_Type,
+ E_General_Access_Type,
+ E_Access_Subprogram_Type,
+ E_Anonymous_Access_Subprogram_Type,
+ E_Access_Protected_Subprogram_Type,
+ E_Anonymous_Access_Protected_Subprogram_Type,
+ E_Anonymous_Access_Type,
+ E_Array_Type,
+ E_Array_Subtype,
+ E_String_Literal_Subtype,
+ E_Class_Wide_Type,
+ E_Class_Wide_Subtype,
+ E_Record_Type,
+ E_Record_Subtype,
+ E_Record_Type_With_Private,
+ E_Record_Subtype_With_Private,
+ E_Private_Type,
+ E_Private_Subtype,
+ E_Limited_Private_Type,
+ E_Limited_Private_Subtype,
+ E_Incomplete_Type,
+ E_Incomplete_Subtype,
+ E_Task_Type,
+ E_Task_Subtype,
+ E_Protected_Type,
+ E_Protected_Subtype,
+ E_Exception_Type,
+ E_Subprogram_Type,
+ E_Enumeration_Literal,
+ E_Function,
+ E_Operator,
+ E_Procedure,
+ E_Abstract_State,
+ E_Entry,
+ E_Entry_Family,
+ E_Block,
+ E_Entry_Index_Parameter,
+ E_Exception,
+ E_Generic_Function,
+ E_Generic_Procedure,
+ E_Generic_Package,
+ E_Label,
+ E_Loop,
+ E_Return_Statement,
+ E_Package,
+ E_Package_Body,
+ E_Protected_Object,
+ E_Protected_Body,
+ E_Task_Body,
+ E_Subprogram_Body
+ );
+
+ subtype Access_Kind is Entity_Kind range
+ E_Access_Type ..
+ E_Anonymous_Access_Type;
+
+ subtype Array_Kind is Entity_Kind range
+ E_Array_Type ..
+ E_String_Literal_Subtype;
+
+ subtype Object_Kind is Entity_Kind range
+ E_Component ..
+ E_Generic_In_Parameter;
+
+ subtype Record_Kind is Entity_Kind range
+ E_Class_Wide_Type ..
+ E_Record_Subtype_With_Private;
+
+ subtype Scalar_Kind is Entity_Kind range
+ E_Enumeration_Type ..
+ E_Floating_Point_Subtype;
+
+ subtype Type_Kind is Entity_Kind range
+ E_Enumeration_Type ..
+ E_Subprogram_Type;
+
+ type Node_Record (Is_Extension : Boolean := False) is record
+ Flag16 : Boolean;
+ Nkind : Node_Kind;
+ end record;
+
+ function N_To_E is new Unchecked_Conversion (Node_Kind, Entity_Kind);
+
+ type Arr is array (Node_Id) of Node_Record;
+
+ Nodes : Arr;
+
+end Debug10_Pkg;

View File

@ -1,3 +1,3 @@
SHA512 (gcc-7.0.1-20170410.tar.bz2) = 62a8043b150c7b8612fc82681c9913d933d324e08e97abbe3925c621a646e097dd41ae3702a44d5eb8054dd01152ac051ac28c323fa9fc091114c402d164ebf0
SHA512 (gcc-7.0.1-20170421.tar.bz2) = 3ea745b17d10a2b9e534495264dbfdd70949aee34ea0a039746489b3ae45eb0cb7977eab7d5c0a1c4bcc38fb736775f2928df23e5a531cfac17a31d10e495e60
SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.bz2) = 38f97c9297ad108568352a4d28277455a3c01fd8b7864e798037e5006b6f757022e874bbf3f165775fe3b873781bc108137bbeb42dd5ed3c7d3e6747746fa918
SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.bz2) = 95b577a06a93bb044dbc8033e550cb36bcf2ab2687da030a7318cdc90e7467ed49665e247dcafb5ff4a7e92cdc264291d19728bd17fab902fb64b22491269330