!46 Fix PR c++/81589 - error with is_trivially_constructible.
From: @jeff200902 Reviewed-by: @haijianzhang Signed-off-by: @haijianzhang
This commit is contained in:
commit
0c6f22c481
42
fix-trivially_constructible-PR81589.patch
Normal file
42
fix-trivially_constructible-PR81589.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 57b9683f0ce55a410c567fcb2dc365a2cc848d6a Mon Sep 17 00:00:00 2001
|
||||||
|
From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||||
|
Date: Mon, 26 Feb 2018 06:09:07 +0000
|
||||||
|
Subject: [PATCH] PR c++/81589 - error with is_trivially_constructible.
|
||||||
|
|
||||||
|
* method.c (constructible_expr): Set cp_unevaluated.
|
||||||
|
|
||||||
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@257981 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||||
|
---
|
||||||
|
gcc/cp/method.c | 1 +
|
||||||
|
gcc/testsuite/g++.dg/ext/is_trivially_constructible6.C | 10 ++++++++++
|
||||||
|
2 files changed, 11 insertions(+)
|
||||||
|
create mode 100644 gcc/testsuite/g++.dg/ext/is_trivially_constructible6.C
|
||||||
|
|
||||||
|
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
|
||||||
|
index 59ad43f73fee..a2d4c071efa3 100644
|
||||||
|
--- a/gcc/cp/method.c
|
||||||
|
+++ b/gcc/cp/method.c
|
||||||
|
@@ -1165,6 +1165,7 @@ constructible_expr (tree to, tree from)
|
||||||
|
{
|
||||||
|
tree ctype = to;
|
||||||
|
vec<tree, va_gc> *args = NULL;
|
||||||
|
+ cp_unevaluated cp_uneval_guard;
|
||||||
|
if (TREE_CODE (to) != REFERENCE_TYPE)
|
||||||
|
to = cp_build_reference_type (to, /*rval*/false);
|
||||||
|
tree ob = build_stub_object (to);
|
||||||
|
diff --git a/gcc/testsuite/g++.dg/ext/is_trivially_constructible6.C b/gcc/testsuite/g++.dg/ext/is_trivially_constructible6.C
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000000..10a8dfbb8f0b
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/g++.dg/ext/is_trivially_constructible6.C
|
||||||
|
@@ -0,0 +1,10 @@
|
||||||
|
+// PR c++/81589
|
||||||
|
+
|
||||||
|
+template <typename k>
|
||||||
|
+struct z {
|
||||||
|
+ z() {
|
||||||
|
+ k::error;
|
||||||
|
+ }
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+int x = __is_trivially_constructible(z<int>);
|
||||||
8
gcc.spec
8
gcc.spec
@ -36,7 +36,7 @@
|
|||||||
Summary: Various compilers (C, C++, Objective-C, Java, ...)
|
Summary: Various compilers (C, C++, Objective-C, Java, ...)
|
||||||
Name: gcc
|
Name: gcc
|
||||||
Version: 7.3.0
|
Version: 7.3.0
|
||||||
Release: %{gcc_release}.34
|
Release: %{gcc_release}.35
|
||||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
|
||||||
Group: Development/Languages
|
Group: Development/Languages
|
||||||
#Source0: hcc-aarch64-linux-release.tar.bz2
|
#Source0: hcc-aarch64-linux-release.tar.bz2
|
||||||
@ -84,7 +84,7 @@ Patch29: Big-endian-union-bitfield-bugfix.patch
|
|||||||
Patch31: fstack-clash-protection.patch
|
Patch31: fstack-clash-protection.patch
|
||||||
Patch34: mark-pattern-as-clobbering-CC-REGNUM.patch
|
Patch34: mark-pattern-as-clobbering-CC-REGNUM.patch
|
||||||
Patch35: turn-on-funwind-tables-by-default.patch
|
Patch35: turn-on-funwind-tables-by-default.patch
|
||||||
|
Patch36: fix-trivially_constructible-PR81589.patch
|
||||||
|
|
||||||
#AutoReqProv: off
|
#AutoReqProv: off
|
||||||
AutoReq: true
|
AutoReq: true
|
||||||
@ -508,6 +508,7 @@ package or when debugging this package.
|
|||||||
%patch31 -p1
|
%patch31 -p1
|
||||||
%patch34 -p1
|
%patch34 -p1
|
||||||
%patch35 -p1
|
%patch35 -p1
|
||||||
|
%patch36 -p1
|
||||||
|
|
||||||
%if 0%{?_enable_debug_packages}
|
%if 0%{?_enable_debug_packages}
|
||||||
cat > split-debuginfo.sh <<\EOF
|
cat > split-debuginfo.sh <<\EOF
|
||||||
@ -3140,6 +3141,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Oct 28 2020 jeff200902 <gaojianxing@huawei.com> - 7.3.0-20190804.35
|
||||||
|
- fixed PR c++/81589, error with is_trivially_constructible.
|
||||||
|
|
||||||
* Tue Aug 21 2020 openEuler Buildteam <buildteam@openeuler.org> - 7.3.0-20190804.34
|
* Tue Aug 21 2020 openEuler Buildteam <buildteam@openeuler.org> - 7.3.0-20190804.34
|
||||||
- Type:rebuild
|
- Type:rebuild
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user