aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-06-20 04:18:07 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2008-06-20 04:18:07 +0200
commit2368a460c8d49c4d9aa1aab2b79d6727d19f5b2c (patch)
treef28feb4e7a51182a0bf7d4ca97a21a4def2af406 /libgomp
parentc598874b4bc7d816b81b8f839f75029122e4fe92 (diff)
downloadgcc-2368a460c8d49c4d9aa1aab2b79d6727d19f5b2c.zip
gcc-2368a460c8d49c4d9aa1aab2b79d6727d19f5b2c.tar.gz
gcc-2368a460c8d49c4d9aa1aab2b79d6727d19f5b2c.tar.bz2
re PR c++/36523 (OpenMP task construct fails to instantiate copy constructor)
PR c++/36523 * cgraphunit.c (cgraph_process_new_functions): Don't clear node->needed and node->reachable. * cgraphbuild.c (record_reference): Handle OMP_PARALLEL and OMP_TASK. * omp-low.c (delete_omp_context): Call finalize_task_copyfn. (expand_task_call): Don't call expand_task_copyfn. (expand_task_copyfn): Renamed to... (finalize_task_copyfn): ... this. * testsuite/libgomp.c++/task-7.C: New function. From-SVN: r136977
Diffstat (limited to 'libgomp')
-rw-r--r--libgomp/ChangeLog3
-rw-r--r--libgomp/testsuite/libgomp.c++/task-7.C18
2 files changed, 21 insertions, 0 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 784d59f..ed27454 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -2,6 +2,9 @@
* testsuite/libgomp.c/nqueens-1.c: New test.
+ PR c++/36523
+ * testsuite/libgomp.c++/task-7.C: New function.
+
2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.
diff --git a/libgomp/testsuite/libgomp.c++/task-7.C b/libgomp/testsuite/libgomp.c++/task-7.C
new file mode 100644
index 0000000..e9828cd
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/task-7.C
@@ -0,0 +1,18 @@
+// PR c++/36523
+// { dg-do run }
+
+template<typename T>
+struct A
+{
+ A() { }
+ A(const A&) { }
+ void foo() { }
+};
+
+int main()
+{
+ A<int> a;
+ #pragma omp task firstprivate (a)
+ a.foo();
+ return 0;
+}