public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gcc] rhel-f41-base: 8.0.1-0.23
Date: Mon, 29 Jun 2026 12:27:59 GMT	[thread overview]
Message-ID: <178273607904.1.18423758753382043989.rpms-gcc-b7ec01b44a3e@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : b7ec01b44a3eb9d3c70e396fb220570da6884312
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2018-04-25T16:15:39+02:00
Stats  : +14/-340 in 4 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/b7ec01b44a3eb9d3c70e396fb220570da6884312?branch=rhel-f41-base

Log:
8.0.1-0.23

---
diff --git a/.gitignore b/.gitignore
index 8784820..6ef3585 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,3 +45,4 @@
 /gcc-8.0.1-20180324.tar.xz
 /gcc-8.0.1-20180410.tar.xz
 /gcc-8.0.1-20180424.tar.xz
+/gcc-8.0.1-20180425.tar.xz

diff --git a/gcc.spec b/gcc.spec
index c632dba..0abf13b 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20180424
-%global SVNREV 259617
+%global DATE 20180425
+%global SVNREV 259651
 %global gcc_version 8.0.1
 %global gcc_major 8
 # 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.22
+%global gcc_release 0.23
 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
 %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
 %global _unpackaged_files_terminate_build 0
@@ -244,8 +244,7 @@ Patch8: gcc8-no-add-needed.patch
 Patch9: gcc8-foffload-default.patch
 Patch10: gcc8-Wno-format-security.patch
 Patch11: gcc8-rh1512529-aarch64.patch
-Patch12: gcc8-pr85437.patch
-Patch13: gcc8-mcet.patch
+Patch12: gcc8-mcet.patch
 
 Patch1000: nvptx-tools-no-ptxas.patch
 Patch1001: nvptx-tools-build.patch
@@ -804,8 +803,7 @@ to NVidia PTX capable devices if available.
 %patch9 -p0 -b .foffload-default~
 %patch10 -p0 -b .Wno-format-security~
 %patch11 -p0 -b .rh1512529-aarch64~
-%patch12 -p0 -b .pr85437~
-%patch13 -p0 -b .mcet~
+%patch12 -p0 -b .mcet~
 
 cd nvptx-tools-%{nvptx_tools_gitrev}
 %patch1000 -p1 -b .nvptx-tools-no-ptxas~
@@ -2240,6 +2238,7 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pconfigintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wbnoinvdintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/movdirintrin.h
 %endif
 %ifarch ia64
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
@@ -3072,6 +3071,12 @@ fi
 %endif
 
 %changelog
+* Wed Apr 25 2018 Jakub Jelinek <jakub@redhat.com> 8.0.1-0.23
+- update from the trunk and 8 branch
+  - GCC 8.1 rc1
+  - PR bootstrap/85490, c++/49171, c++/85437, fortran/85520, target/85512
+- include movdirintrin.h header on x86 (#1571808)
+
 * Tue Apr 24 2018 Jakub Jelinek <jakub@redhat.com> 8.0.1-0.22
 - update from the trunk
   - PRs c++/69560, c++/70808, c++/80290, c++/84463, c++/84611, c++/84630,

diff --git a/gcc8-pr85437.patch b/gcc8-pr85437.patch
deleted file mode 100644
index 2b324b6..0000000
--- a/gcc8-pr85437.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-2018-04-24  Nathan Sidwell  <nathan@acm.org>
-
-	PR c++/85437
-	PR c++/49171
-	* cp-tree.h (REINTERPRET_CAST_P): New.
-	* constexpr.c (cxx_eval_constant_expression) <case NOP_EXPR>:
-	Reject REINTERPET_CAST_P conversions.  Use cplus_expand_constant
-	for non-trivial PTRMEM_CST cases.
-	* typeck.c (build_nop_reinterpret): New.
-	(build_reinterpret_cast_1): Use it.  Set REINTERPRET_CAST_P on
-	NOP_EXPRs returned by cp_convert.
-
-2018-04-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/85437
-	PR c++/49171
-	* g++.dg/cpp0x/addressof1.C: Make reinterpret cases runtime checks.
-	* g++.dg/cpp0x/constexpr-cast.C: Remove xfails
-	* g++.dg/cpp0x/constexpr-nullptr-2.C: Likewise.
-	* g++.dg/cpp0x/constexpr-pmf1.C: Check when optimized.
-	* g++.dg/cpp0x/pr85437-1.C: New.
-	* g++.dg/cpp0x/pr85437-2.C: New.
-	* g++.dg/cpp0x/pr85437-3.C: New.
-	* g++.dg/cpp0x/pr85437-4.C: New.
-
---- gcc/cp/constexpr.c	(revision 259592)
-+++ gcc/cp/constexpr.c	(working copy)
-@@ -1822,8 +1822,8 @@ reduced_constant_expression_p (tree t)
- }
- 
- /* Some expressions may have constant operands but are not constant
--   themselves, such as 1/0.  Call this function (or rather, the macro
--   following it) to check for that condition.
-+   themselves, such as 1/0.  Call this function to check for that
-+   condition.
- 
-    We only call this in places that require an arithmetic constant, not in
-    places where we might have a non-constant expression that can be a
-@@ -4579,9 +4579,18 @@ cxx_eval_constant_expression (const cons
- 				       non_constant_p, overflow_p);
-       break;
- 
-+    case NOP_EXPR:
-+      if (REINTERPRET_CAST_P (t))
-+	{
-+	  if (!ctx->quiet)
-+	    error_at (EXPR_LOC_OR_LOC (t, input_location),
-+		      "a reinterpret_cast is not a constant expression");
-+	  *non_constant_p = true;
-+	  return t;
-+	}
-+      /* FALLTHROUGH.  */
-     case CONVERT_EXPR:
-     case VIEW_CONVERT_EXPR:
--    case NOP_EXPR:
-     case UNARY_PLUS_EXPR:
-       {
- 	tree oldop = TREE_OPERAND (t, 0);
-@@ -4595,20 +4604,13 @@ cxx_eval_constant_expression (const cons
- 	if (TREE_CODE (op) == PTRMEM_CST
- 	    && !TYPE_PTRMEM_P (type))
- 	  op = cplus_expand_constant (op);
-+
- 	if (TREE_CODE (op) == PTRMEM_CST && tcode == NOP_EXPR)
- 	  {
--	    if (same_type_ignoring_top_level_qualifiers_p (type,
--							   TREE_TYPE (op))
--		|| can_convert_qual (type, op))
--	      return cp_fold_convert (type, op);
--	    else
--	      {
--		if (!ctx->quiet)
--		  error_at (EXPR_LOC_OR_LOC (t, input_location),
--			    "a reinterpret_cast is not a constant expression");
--		*non_constant_p = true;
--		return t;
--	      }
-+	    if (!same_type_ignoring_top_level_qualifiers_p (type, TREE_TYPE (op))
-+		&& !can_convert_qual (type, op))
-+	      op = cplus_expand_constant (op);
-+	    return cp_fold_convert (type, op);
- 	  }
- 
- 	if (POINTER_TYPE_P (type) && TREE_CODE (op) == INTEGER_CST)
-@@ -4653,14 +4655,17 @@ cxx_eval_constant_expression (const cons
- 		return t;
- 	      }
- 	  }
-+
- 	if (op == oldop && tcode != UNARY_PLUS_EXPR)
- 	  /* We didn't fold at the top so we could check for ptr-int
- 	     conversion.  */
- 	  return fold (t);
-+
- 	if (tcode == UNARY_PLUS_EXPR)
- 	  r = fold_convert (TREE_TYPE (t), op);
- 	else
- 	  r = fold_build1 (tcode, type, op);
-+
- 	/* Conversion of an out-of-range value has implementation-defined
- 	   behavior; the language considers it different from arithmetic
- 	   overflow, which is undefined.  */
---- gcc/cp/cp-tree.h	(revision 259592)
-+++ gcc/cp/cp-tree.h	(working copy)
-@@ -372,6 +372,7 @@ extern GTY(()) tree cp_global_trees[CPTI
-       TEMPLATE_TYPE_PARM_FOR_CLASS (TEMPLATE_TYPE_PARM)
-       DECL_NAMESPACE_INLINE_P (in NAMESPACE_DECL)
-       SWITCH_STMT_ALL_CASES_P (in SWITCH_STMT)
-+      REINTERPRET_CAST_P (in NOP_EXPR)
-       ALIGNOF_EXPR_STD_P (in ALIGNOF_EXPR)
-    1: IDENTIFIER_KIND_BIT_1 (in IDENTIFIER_NODE)
-       TI_PENDING_TEMPLATE_FLAG.
-@@ -632,6 +633,11 @@ typedef struct ptrmem_cst * ptrmem_cst_t
- #define COND_EXPR_IS_VEC_DELETE(NODE) \
-   TREE_LANG_FLAG_0 (COND_EXPR_CHECK (NODE))
- 
-+/* Nonzero if this NOP_EXPR is a reinterpret_cast.  Such conversions
-+   are not constexprs.  Other NOP_EXPRs are.  */
-+#define REINTERPRET_CAST_P(NODE)		\
-+  TREE_LANG_FLAG_0 (NOP_EXPR_CHECK (NODE))
-+
- /* Returns nonzero iff TYPE1 and TYPE2 are the same type, in the usual
-    sense of `same'.  */
- #define same_type_p(TYPE1, TYPE2) \
---- gcc/cp/typeck.c	(revision 259592)
-+++ gcc/cp/typeck.c	(working copy)
-@@ -7280,6 +7280,18 @@ convert_member_func_to_ptr (tree type, t
-   return build_nop (type, expr);
- }
- 
-+/* Build a NOP_EXPR to TYPE, but mark it as a reinterpret_cast so that
-+   constexpr evaluation knows to reject it.  */
-+
-+static tree
-+build_nop_reinterpret (tree type, tree expr)
-+{
-+  tree ret = build_nop (type, expr);
-+  if (ret != expr)
-+    REINTERPRET_CAST_P (ret) = true;
-+  return ret;
-+}
-+
- /* Return a representation for a reinterpret_cast from EXPR to TYPE.
-    If C_CAST_P is true, this reinterpret cast is being done as part of
-    a C-style cast.  If VALID_P is non-NULL, *VALID_P is set to
-@@ -7414,7 +7426,7 @@ build_reinterpret_cast_1 (tree type, tre
- 	warning (OPT_Wcast_function_type,
- 		 "cast between incompatible function types"
- 		 " from %qH to %qI", intype, type);
--      return build_nop (type, expr);
-+      return build_nop_reinterpret (type, expr);
-     }
-   else if (TYPE_PTRMEMFUNC_P (type) && TYPE_PTRMEMFUNC_P (intype))
-     {
-@@ -7425,7 +7437,7 @@ build_reinterpret_cast_1 (tree type, tre
- 	warning (OPT_Wcast_function_type,
- 		 "cast between incompatible pointer to member types"
- 		 " from %qH to %qI", intype, type);
--      return build_nop (type, expr);
-+      return build_nop_reinterpret (type, expr);
-     }
-   else if ((TYPE_PTRDATAMEM_P (type) && TYPE_PTRDATAMEM_P (intype))
- 	   || (TYPE_PTROBV_P (type) && TYPE_PTROBV_P (intype)))
-@@ -7451,7 +7463,7 @@ build_reinterpret_cast_1 (tree type, tre
- 	/* strict_aliasing_warning STRIP_NOPs its expr.  */
- 	strict_aliasing_warning (EXPR_LOCATION (expr), type, expr);
- 
--      return build_nop (type, expr);
-+      return build_nop_reinterpret (type, expr);
-     }
-   else if ((TYPE_PTRFN_P (type) && TYPE_PTROBV_P (intype))
- 	   || (TYPE_PTRFN_P (intype) && TYPE_PTROBV_P (type)))
-@@ -7462,7 +7474,7 @@ build_reinterpret_cast_1 (tree type, tre
- 	warning (OPT_Wconditionally_supported,
- 		 "casting between pointer-to-function and pointer-to-object "
- 		 "is conditionally-supported");
--      return build_nop (type, expr);
-+      return build_nop_reinterpret (type, expr);
-     }
-   else if (VECTOR_TYPE_P (type))
-     return convert_to_vector (type, expr);
-@@ -7478,7 +7490,11 @@ build_reinterpret_cast_1 (tree type, tre
-       return error_mark_node;
-     }
- 
--  return cp_convert (type, expr, complain);
-+  expr = cp_convert (type, expr, complain);
-+  if (TREE_CODE (expr) == NOP_EXPR)
-+    /* Mark any nop_expr that created as a reintepret_cast.  */
-+    REINTERPRET_CAST_P (expr) = true;
-+  return expr;
- }
- 
- tree
---- gcc/testsuite/g++.dg/cpp0x/addressof1.C	(revision 259592)
-+++ gcc/testsuite/g++.dg/cpp0x/addressof1.C	(working copy)
-@@ -18,9 +18,7 @@ static_assert (addressof (j) == &i, "");
- 
- struct S { int s; } s;
- static_assert (__builtin_addressof (s) == &s, "");
--static_assert ((int *) __builtin_addressof (s) == &s.s, "");
- static_assert (addressof (s) == &s, "");
--static_assert ((int *) addressof (s) == &s.s, "");
- 
- struct T
- {
-@@ -31,9 +29,7 @@ struct T
- };
- constexpr T t;
- T T::tt;
--static_assert (__builtin_addressof (t) == (const T *) &t.p, "");
- static_assert (&t == __builtin_addressof (T::tt), "");
--static_assert (addressof (t) == (const T *) &t.p, "");
- static_assert (&t == addressof (T::tt), "");
- 
- struct S x, y;
-@@ -76,8 +72,6 @@ constexpr int a = 1;
- static_assert (__builtin_addressof (a) == &a, "");
- static_assert (addressof (a) == &a, "");
- constexpr int c[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
--static_assert ((const int *) __builtin_addressof (c) == &c[0], "");
--static_assert ((const int *) addressof (c) == &c[0], "");
- 
- void
- baz ()
-@@ -93,4 +87,15 @@ main ()
-       || __builtin_addressof (baz) != baz
-       || addressof (baz) != baz)
-     __builtin_abort ();
-+
-+  // reinterpret casts are not constexprs
-+  if (! (((int *) __builtin_addressof (s) == &s.s)
-+	 && ((int *) addressof (s) == &s.s)
-+	 && (__builtin_addressof (t) == (const T *) &t.p)
-+	 && (addressof (t) == (const T *) &t.p)
-+	 && ((const int *) __builtin_addressof (c) == &c[0])
-+	 && ((const int *) addressof (c) == &c[0])))
-+    __builtin_abort ();
-+
-+  return 0;
- }
---- gcc/testsuite/g++.dg/cpp0x/constexpr-cast.C	(revision 259592)
-+++ gcc/testsuite/g++.dg/cpp0x/constexpr-cast.C	(working copy)
-@@ -4,8 +4,8 @@
- 
- int i;
- 
--// The following is accepted due to bug 49171.
--constexpr void *q = reinterpret_cast<void*>(&i);    // { dg-error "" "bug c++/49171" { xfail *-*-* } }
-+// The following was accepted due to bug 49171.
-+constexpr void *q = reinterpret_cast<void*>(&i);    // { dg-error "not a constant expression" }
- 
- constexpr void *r0 = reinterpret_cast<void*>(1);    // { dg-error "not a constant expression|reinterpret_cast from integer to pointer" }
- constexpr void *r1 = reinterpret_cast<void*>(sizeof 'x');  // { dg-error ".reinterpret_cast<void\\*>\\(1\[ul\]\*\\). is not a constant expression" }
---- gcc/testsuite/g++.dg/cpp0x/constexpr-nullptr-2.C	(revision 259592)
-+++ gcc/testsuite/g++.dg/cpp0x/constexpr-nullptr-2.C	(working copy)
-@@ -99,9 +99,8 @@ constexpr const volatile void* pv3 = p0;
- constexpr void* pv4 = static_cast<void*>(p0);
- constexpr const void* pv5 = static_cast<const void*>(p0);
- 
--// The following should be rejected but isn't because of bug c++/49171
--// - [C++0x][constexpr] Constant expressions support reinterpret_cast
--constexpr void* pv6 = reinterpret_cast<void*>(p0);   // { dg-error "" "bug c++/49171" { xfail *-*-* } }
-+// The following was accepted due to bug c++/49171
-+constexpr void* pv6 = reinterpret_cast<void*>(p0);   // { dg-error "not a constant expression" }
- 
- // Adding or subtracting zero from a null pointer is valid in C++.
- constexpr int* p1 = p0 + 0;
---- gcc/testsuite/g++.dg/cpp0x/constexpr-pmf1.C	(revision 259592)
-+++ gcc/testsuite/g++.dg/cpp0x/constexpr-pmf1.C	(working copy)
-@@ -1,6 +1,6 @@
- // PR c++/77775
--// { dg-options -fdump-tree-gimple }
--// { dg-final { scan-tree-dump "== viewAdded" "gimple" { target c++11 } } }
-+// { dg-options "-fdump-tree-fre1 -O1" }
-+// { dg-final { scan-tree-dump "== viewAdded" "fre1" { target c++11 } } }
- 
- namespace Sublime {
- struct View;
---- gcc/testsuite/g++.dg/cpp0x/pr85437-1.C	(revision 0)
-+++ gcc/testsuite/g++.dg/cpp0x/pr85437-1.C	(working copy)
-@@ -0,0 +1,17 @@
-+// PR c++/85437
-+// { dg-do compile { target c++11 } }
-+
-+struct A { int a; constexpr A() : a(0) {} };
-+struct B : A { int x; constexpr B() : x(0) {} };
-+struct X { int z; constexpr X() : z(0) {} };
-+struct C : X, B {};
-+constexpr int C::*cbx = &B::x;
-+constexpr int B::*bx = &B::x;
-+constexpr int A::*abx = static_cast<int(A::*)>(&B::x);	// { dg-bogus "not a constant expression" }
-+
-+constexpr const C y;
-+constexpr const B& yb = y;
-+constexpr const A& ya = y;
-+constexpr int const *pcbx = &(y.*cbx);
-+constexpr int const *pbx = &(y.*bx);
-+constexpr int const *pabx = &(ya.*abx);
---- gcc/testsuite/g++.dg/cpp0x/pr85437-2.C	(revision 0)
-+++ gcc/testsuite/g++.dg/cpp0x/pr85437-2.C	(working copy)
-@@ -0,0 +1,8 @@
-+// PR c++/85437
-+// { dg-do compile { target c++11 } }
-+
-+struct A { };
-+struct B : A { int x; };
-+
-+constexpr int A::*abx
-+= reinterpret_cast<int(A::*)>(&B::x); // { dg-error "reinterpret.*constant" }
---- gcc/testsuite/g++.dg/cpp0x/pr85437-3.C	(revision 0)
-+++ gcc/testsuite/g++.dg/cpp0x/pr85437-3.C	(working copy)
-@@ -0,0 +1,8 @@
-+// PR c++/85437
-+// { dg-do compile { target c++11 } }
-+
-+struct A { int y; };
-+struct B { int x; };
-+struct C : A, B {};
-+constexpr int C::*pci = &B::x;
-+constexpr int A::*pai = static_cast<int A::*>(static_cast<int C::*>(&B::x)); // { dg-bogus "not a constant expression" }
---- gcc/testsuite/g++.dg/cpp0x/pr85437-4.C	(revision 0)
-+++ gcc/testsuite/g++.dg/cpp0x/pr85437-4.C	(working copy)
-@@ -0,0 +1,8 @@
-+// PR c++/85437
-+// { dg-do compile { target c++11 } }
-+
-+struct A { };
-+struct B { int x; };
-+struct C : A, B {};
-+constexpr int C::*pci = &B::x;
-+constexpr int A::*pai = static_cast<int A::*>(pci);	// { dg-bogus "not a constant expression" }

diff --git a/sources b/sources
index 7456890..d7feea8 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (gcc-8.0.1-20180424.tar.xz) = 8c7d9cbfaa616b5f9e2e8e82cedbf1fc259cff52e7c0bbb03ca72880c42133ff018fa679ce32b3c58b909d1dfd75af4668806d9a608d394afba219c40dd99f9f
+SHA512 (gcc-8.0.1-20180425.tar.xz) = 3a5737f670e843a2e0314232d0ffac8d554153816f7489065a4bf54ea13e781d7005826b0410975b9b8eb71ce264ce97cece0e703d6bbf24c5977fbe520ee05e
 SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1

                 reply	other threads:[~2026-06-29 12:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178273607904.1.18423758753382043989.rpms-gcc-b7ec01b44a3e@fedoraproject.org \
    --to=jakub@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox