diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/gcc/gcc-4.3.1/fedora/gcc43-pr35751.patch | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) | |
download | openembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/gcc/gcc-4.3.1/fedora/gcc43-pr35751.patch')
-rw-r--r-- | recipes/gcc/gcc-4.3.1/fedora/gcc43-pr35751.patch | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.3.1/fedora/gcc43-pr35751.patch b/recipes/gcc/gcc-4.3.1/fedora/gcc43-pr35751.patch new file mode 100644 index 0000000000..37b84275e2 --- /dev/null +++ b/recipes/gcc/gcc-4.3.1/fedora/gcc43-pr35751.patch @@ -0,0 +1,114 @@ +2008-04-03 Jakub Jelinek <jakub@redhat.com> + + PR c/35751 + * c-decl.c (finish_decl): If extern or static var has variable + size, set TREE_TYPE (decl) to error_mark_node. + + * decl.c (layout_var_decl): If extern or static var has variable + size, set TREE_TYPE (decl) to error_mark_node. + + * gcc.dg/gomp/pr35751.c: New test. + * g++.dg/gomp/pr35751.C: New test. + +--- gcc/c-decl.c.jj 2008-04-03 09:41:42.000000000 +0200 ++++ gcc/c-decl.c 2008-04-03 18:20:52.000000000 +0200 +@@ -3481,7 +3481,10 @@ finish_decl (tree decl, tree init, tree + if (TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST) + constant_expression_warning (DECL_SIZE (decl)); + else +- error ("storage size of %q+D isn%'t constant", decl); ++ { ++ error ("storage size of %q+D isn%'t constant", decl); ++ TREE_TYPE (decl) = error_mark_node; ++ } + } + + if (TREE_USED (type)) +--- gcc/cp/decl.c.jj 2008-03-31 23:54:40.000000000 +0200 ++++ gcc/cp/decl.c 2008-04-03 18:30:19.000000000 +0200 +@@ -4442,7 +4442,10 @@ layout_var_decl (tree decl) + if (TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST) + constant_expression_warning (DECL_SIZE (decl)); + else +- error ("storage size of %qD isn't constant", decl); ++ { ++ error ("storage size of %qD isn't constant", decl); ++ TREE_TYPE (decl) = error_mark_node; ++ } + } + } + +--- gcc/testsuite/gcc.dg/gomp/pr35751.c.jj 2008-04-03 18:26:12.000000000 +0200 ++++ gcc/testsuite/gcc.dg/gomp/pr35751.c 2008-04-03 18:25:51.000000000 +0200 +@@ -0,0 +1,34 @@ ++/* PR c/35751 */ ++/* { dg-do compile } */ ++/* { dg-options "-fopenmp" } */ ++ ++void ++foo (int i) ++{ ++ extern int a[i]; /* { dg-error "must have no linkage|storage size of" } */ ++ static int b[i]; /* { dg-error "storage size of" } */ ++ ++#pragma omp parallel ++ { ++ a[0] = 0; ++ b[0] = 0; ++ } ++ ++#pragma omp parallel shared (a, b) ++ { ++ a[0] = 0; ++ b[0] = 0; ++ } ++ ++#pragma omp parallel private (a, b) ++ { ++ a[0] = 0; ++ b[0] = 0; ++ } ++ ++#pragma omp parallel firstprivate (a, b) ++ { ++ a[0] = 0; ++ b[0] = 0; ++ } ++} +--- gcc/testsuite/g++.dg/gomp/pr35751.C.jj 2008-04-03 18:32:13.000000000 +0200 ++++ gcc/testsuite/g++.dg/gomp/pr35751.C 2008-04-03 18:32:32.000000000 +0200 +@@ -0,0 +1,34 @@ ++// PR c/35751 ++// { dg-do compile } ++// { dg-options "-fopenmp" } ++ ++void ++foo (int i) ++{ ++ extern int a[i]; // { dg-error "storage size of" } ++ static int b[i]; // { dg-error "storage size of" } ++ ++#pragma omp parallel ++ { ++ a[0] = 0; ++ b[0] = 0; ++ } ++ ++#pragma omp parallel shared (a, b) ++ { ++ a[0] = 0; ++ b[0] = 0; ++ } ++ ++#pragma omp parallel private (a, b) ++ { ++ a[0] = 0; ++ b[0] = 0; ++ } ++ ++#pragma omp parallel firstprivate (a, b) ++ { ++ a[0] = 0; ++ b[0] = 0; ++ } ++} |