aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2015-05-01 18:43:40 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2015-05-01 18:43:40 +0000
commit38920aec4c036782cd362e27ae154dfa68b86428 (patch)
tree904cb4c00e2286b81ff05a3f034a7a054c6df464
parent0f770b013e710f7225ddb1f75a0fb28bcf8ebf31 (diff)
downloadgcc-38920aec4c036782cd362e27ae154dfa68b86428.zip
gcc-38920aec4c036782cd362e27ae154dfa68b86428.tar.gz
gcc-38920aec4c036782cd362e27ae154dfa68b86428.tar.bz2
re PR c++/65858 (ICE in varpool_node::get_constructor during chromium build on arm-linux-gnueabihf with LTO during LINK chrome)
/cp 2015-05-01 Paolo Carlini <paolo.carlini@oracle.com> Prathamesh Kulharni <prathamesh.kulkarni@linaro.org> PR c++/65858 * typeck2.c (check_narrowing): Set ok = true when pedwarn returns false. /testsuite 2015-05-01 Paolo Carlini <paolo.carlini@oracle.com> Prathamesh Kulharni <prathamesh.kulkarni@linaro.org> PR c++/65858 * g++.dg/cpp0x/Wnarrowing4.C: New. Co-Authored-By: Prathamesh Kulharni <prathamesh.kulkarni@linaro.org> From-SVN: r222699
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/typeck2.c7
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/Wnarrowing4.C6
4 files changed, 23 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 14279fe..65cb5be 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
+ Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
+
+ PR c++/65858
+ * typeck2.c (check_narrowing): Set ok = true when pedwarn returns
+ false.
+
2015-04-30 David Malcolm <dmalcolm@redhat.com>
* cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove spurious
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index 884957b..9a491aa 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -959,9 +959,10 @@ check_narrowing (tree type, tree init, tsubst_flags_t complain)
else if (complain & tf_error)
{
global_dc->pedantic_errors = 1;
- pedwarn (EXPR_LOC_OR_LOC (init, input_location), OPT_Wnarrowing,
- "narrowing conversion of %qE from %qT to %qT inside { }",
- init, ftype, type);
+ if (!pedwarn (EXPR_LOC_OR_LOC (init, input_location), OPT_Wnarrowing,
+ "narrowing conversion of %qE from %qT to %qT "
+ "inside { }", init, ftype, type))
+ ok = true;
global_dc->pedantic_errors = flag_pedantic_errors;
}
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2aedc46..e6ccf47 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
+ Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
+
+ PR c++/65858
+ * g++.dg/cpp0x/Wnarrowing4.C: New.
+
2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
* gcc.dg/20150120-1.c: New test.
diff --git a/gcc/testsuite/g++.dg/cpp0x/Wnarrowing4.C b/gcc/testsuite/g++.dg/cpp0x/Wnarrowing4.C
new file mode 100644
index 0000000..d2dd383
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/Wnarrowing4.C
@@ -0,0 +1,6 @@
+// PR c++/65858
+// { dg-do compile { target c++11 } }
+// { dg-require-effective-target lto }
+// { dg-options "-flto -Wno-narrowing" }
+
+int x { 0.5 };