🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gmane.comp.gcc.patches
Article #307948

Re: [C++ PATCH] Fix -std=c++11 OpenMP UDR handling (PR c++/60331)

#307948
From: Jakub Jelinek
Date: Tue, 25 Mar 2014 10:31
102 lines
3635 bytes
On Mon, Mar 24, 2014 at 02:02:27PM -0400, Jason Merrill wrote:
> On 03/18/2014 11:16 AM, Jakub Jelinek wrote:
> >Jason, do you have better ideas how to fix this?
>
> Better would be to return false from potential_constant_expression_1
> for DECL_EXPR; just add another case to the various _STMT tree
> codes.

Thanks, here is what I've checked in after another bootstrap/regtest:

2014-03-25  Jakub Jelinek  <jakub@redhat.com>

	PR c++/60331
	* semantics.c (potential_constant_expression_1): Handle
	DECL_EXPR.

	* testsuite/libgomp.c++/udr-11.C: New test.
	* testsuite/libgomp.c++/udr-12.C: New test.
	* testsuite/libgomp.c++/udr-13.C: New test.
	* testsuite/libgomp.c++/udr-14.C: New test.
	* testsuite/libgomp.c++/udr-15.C: New test.
	* testsuite/libgomp.c++/udr-16.C: New test.
	* testsuite/libgomp.c++/udr-17.C: New test.
	* testsuite/libgomp.c++/udr-18.C: New test.
	* testsuite/libgomp.c++/udr-19.C: New test.

--- gcc/cp/semantics.c.jj	2014-03-13 19:01:19.000000000 +0100
+++ gcc/cp/semantics.c	2014-03-24 20:51:24.912546906 +0100
@@ -10253,6 +10253,7 @@ potential_constant_expression_1 (tree t,
     case DO_STMT:
     case FOR_STMT:
     case WHILE_STMT:
+    case DECL_EXPR:
       if (flags & tf_error)
         error ("expression %qE is not a constant-expression", t);
       return false;
--- libgomp/testsuite/libgomp.c++/udr-11.C.jj	2014-03-18 11:47:43.326846415 +0100
+++ libgomp/testsuite/libgomp.c++/udr-11.C	2014-03-18 11:47:43.329846576 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-1.C"
--- libgomp/testsuite/libgomp.c++/udr-12.C.jj	2014-03-18 11:47:43.330846623 +0100
+++ libgomp/testsuite/libgomp.c++/udr-12.C	2014-03-18 11:47:43.331846666 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-2.C"
--- libgomp/testsuite/libgomp.c++/udr-13.C.jj	2014-03-18 11:47:43.332846707 +0100
+++ libgomp/testsuite/libgomp.c++/udr-13.C	2014-03-18 11:47:43.332846707 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-3.C"
--- libgomp/testsuite/libgomp.c++/udr-14.C.jj	2014-03-18 11:47:43.333846744 +0100
+++ libgomp/testsuite/libgomp.c++/udr-14.C	2014-03-18 11:47:43.334846777 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-4.C"
--- libgomp/testsuite/libgomp.c++/udr-15.C.jj	2014-03-18 11:47:43.334846777 +0100
+++ libgomp/testsuite/libgomp.c++/udr-15.C	2014-03-18 11:47:43.335846809 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-5.C"
--- libgomp/testsuite/libgomp.c++/udr-16.C.jj	2014-03-18 11:47:43.336846840 +0100
+++ libgomp/testsuite/libgomp.c++/udr-16.C	2014-03-18 11:47:43.336846840 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-6.C"
--- libgomp/testsuite/libgomp.c++/udr-17.C.jj	2014-03-18 11:47:43.337846867 +0100
+++ libgomp/testsuite/libgomp.c++/udr-17.C	2014-03-18 11:47:43.337846867 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-7.C"
--- libgomp/testsuite/libgomp.c++/udr-18.C.jj	2014-03-18 11:47:43.338846892 +0100
+++ libgomp/testsuite/libgomp.c++/udr-18.C	2014-03-18 11:47:43.338846892 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-8.C"
--- libgomp/testsuite/libgomp.c++/udr-19.C.jj	2014-03-18 11:47:43.339846916 +0100
+++ libgomp/testsuite/libgomp.c++/udr-19.C	2014-03-18 11:47:43.339846916 +0100
@@ -0,0 +1,4 @@
+// { dg-do run }
+// { dg-options "-fopenmp -std=c++11" }
+
+#include "udr-9.C"


	Jakub

Message-ID: <20140325093117.GN1817@tucnak.redhat.com>
Path: gmane.pugleaf.net!archive.newsdeef.eu!g.newsdeef.eu!gmane.newsdeef.eu!news.gmane.org!not-for-mail
References: <20140318151645.GY22862@tucnak.redhat.com> <53307333.4020507@redhat.com>