rpms/gcc/devel gcc41-gomp-pr25246.patch, NONE, 1.1 gcc41-gomp-tests1.patch, NONE, 1.1 gcc41-gomp-tests2.patch, NONE, 1.1 gcc41.spec, 1.3, 1.4

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Dec 7 22:52:06 UTC 2005


Author: jakub

Update of /cvs/dist/rpms/gcc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv28180

Modified Files:
	gcc41.spec 
Added Files:
	gcc41-gomp-pr25246.patch gcc41-gomp-tests1.patch 
	gcc41-gomp-tests2.patch 
Log Message:
4.1.0-0.6


gcc41-gomp-pr25246.patch:
 c-parser.c                          |   12 ++++++++++++
 testsuite/gcc.target/i386/pr25246.c |   29 +++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+)

--- NEW FILE gcc41-gomp-pr25246.patch ---
2005-12-07  Jakub Jelinek  <jakub at redhat.com>

	PR c/25246
	* c-parser.c (c_parser_struct_or_union_specifier,
	c_parser_objc_class_instance_variables): Handle #pragma
	at struct or class scope.

--- gcc/c-parser.c.jj	2005-11-24 13:24:34.000000000 +0100
+++ gcc/c-parser.c	2005-12-07 23:38:24.000000000 +0100
@@ -1879,6 +1879,12 @@ c_parser_struct_or_union_specifier (c_pa
 	      c_parser_consume_token (parser);
 	      break;
 	    }
+	  /* Accept #pragmas at struct scope.  */
+	  if (c_parser_next_token_is (parser, CPP_PRAGMA))
+	    {
+	      c_parser_pragma (parser, pragma_external);
+	      continue;
+	    }
 	  /* Parse some comma-separated declarations, but not the
 	     trailing semicolon if any.  */
 	  decls = c_parser_struct_declaration (parser);
@@ -5694,6 +5700,12 @@ c_parser_objc_class_instance_variables (
 	  objc_set_visibility (1);
 	  continue;
 	}
+      else if (c_parser_next_token_is (parser, CPP_PRAGMA))
+	{
+	  c_parser_pragma (parser, pragma_external);
+	  continue;
+	}
+
       /* Parse some comma-separated declarations.  */
       decls = c_parser_struct_declaration (parser);
       {
--- gcc/testsuite/gcc.target/i386/pr25246.c.jj	2005-12-07 23:41:20.000000000 +0100
+++ gcc/testsuite/gcc.target/i386/pr25246.c	2005-12-07 17:59:05.000000000 +0100
@@ -0,0 +1,29 @@
+/* PR c/25246 */
+/* { dg-do run } */
+
+extern void abort (void);
+
+#pragma pack(1)
+struct S
+{
+  char h;
+  struct T { int h1; char h2[3]; } t;
+  int i;
+#pragma pack()
+  int j;
+};
+struct S s;
+
+int
+main (void)
+{
+  char *p = (char *) &s;
+  if (sizeof (s) != 16)
+    abort ();
+  if ((char *) &s.t.h1 != p + 1
+      || &s.t.h2[0] != p + 5
+      || (char *) &s.i != p + 8
+      || (char *) &s.j != p + 12)
+    abort ();
+  return 0;
+}

gcc41-gomp-tests1.patch:
 gcc.dg/gomp/appendix-a/a.24.1.c        |   10 +++++-----
 gfortran.dg/gomp/appendix-a/a.24.1.f90 |    6 +++---
 2 files changed, 8 insertions(+), 8 deletions(-)

--- NEW FILE gcc41-gomp-tests1.patch ---
2005-12-07  Jakub Jelinek  <jakub at redhat.com>

	* gcc.dg/gomp/appendix-a/a.24.1.c: Adjust line numbers.
	* gfortran.dg/gomp/appendix-a/a.24.1.f90: Likewise.

--- gcc/testsuite/gcc.dg/gomp/appendix-a/a.24.1.c.jj	2005-12-07 21:19:24.000000000 +0100
+++ gcc/testsuite/gcc.dg/gomp/appendix-a/a.24.1.c	2005-12-07 21:19:24.000000000 +0100
@@ -19,9 +19,9 @@ a24 (int a)
     x = c;			/* O.K.  -  x is threadprivate */
     				/*       -  c has const-qualified type */
     z[i] = y;
-    /* { dg-error "'i' not specified" "" { target *-*-* } 20 } */
-    /* { dg-error "enclosing parallel" "" { target *-*-* } 12 } */
-    /* { dg-error "'y' not specified" "" { target *-*-* } 20 }  */
+    /* { dg-error "'i' not specified" "" { target *-*-* } 21 } */
+    /* { dg-error "enclosing parallel" "" { target *-*-* } 13 } */
+    /* { dg-error "'y' not specified" "" { target *-*-* } 21 }  */
 #pragma omp for firstprivate(y)
     for (i = 0; i < 10; i++)
       {
@@ -29,7 +29,7 @@ a24 (int a)
 				/*      - y is listed in firstprivate clause */
       }
     z[l] = t;
-    /* { dg-error "'l' not specified" "" { target *-*-* } 30 } */
-    /* { dg-error "'t' not specified" "" { target *-*-* } 30 }  */
+    /* { dg-error "'l' not specified" "" { target *-*-* } 31 } */
+    /* { dg-error "'t' not specified" "" { target *-*-* } 31 }  */
   }
 }
--- gcc/testsuite/gfortran.dg/gomp/appendix-a/a.24.1.f90.jj	2005-12-07 21:20:02.000000000 +0100
+++ gcc/testsuite/gfortran.dg/gomp/appendix-a/a.24.1.f90	2005-12-07 21:20:02.000000000 +0100
@@ -18,9 +18,9 @@
                !       - Z is listed in SHARED clause
       X=1      ! O.K. - X is THREADPRIVATE
       Z(I) = Y ! Error - cannot reference I or Y here
-! { dg-error "'i' not specified" "" { target *-*-* } 19 } */
-! { dg-error "enclosing parallel" "" { target *-*-* } 13 } */
-! { dg-error "'y' not specified" "" { target *-*-* } 19 }  */
+! { dg-error "'i' not specified" "" { target *-*-* } 20 } */
+! { dg-error "enclosing parallel" "" { target *-*-* } 14 } */
+! { dg-error "'y' not specified" "" { target *-*-* } 20 }  */
 !$OMP DO firstprivate(y)
       DO I = 1,10
         Z(I) = Y ! O.K. - I is the loop iteration variable

gcc41-gomp-tests2.patch:
 g++.dg/gomp/atomic-3.C |    2 +-
 g++.dg/gomp/atomic-9.C |    2 +-
 gcc.dg/gomp/atomic-3.c |    2 +-
 gcc.dg/gomp/atomic-9.c |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

--- NEW FILE gcc41-gomp-tests2.patch ---
2005-12-07  Jakub Jelinek  <jakub at redhat.com>

	* gcc.dg/gomp/atomic-3.c: Conditionalize scan test on targets that
	implement __sync_fetch_and_add.
	* gcc.dg/gomp/atomic-9.c: Likewise.
	* g++.dg/gomp/atomic-3.C: Likewise.
	* g++.dg/gomp/atomic-9.C: Likewise.

--- gcc/testsuite/gcc.dg/gomp/atomic-3.c.jj	2005-10-28 22:55:08.000000000 +0200
+++ gcc/testsuite/gcc.dg/gomp/atomic-3.c	2005-12-07 23:07:34.000000000 +0100
@@ -9,5 +9,5 @@ void f1(void)
     xyzzy++;
 }
 
-/* { dg-final { scan-tree-dump-times "xyzzy, 4" 1 "gimple" } } */
+/* { dg-final { scan-tree-dump-times "xyzzy, 4" 1 "gimple" { target i?86-*-* x86_64-*-* ia64-*-* powerpc*-*-* alpha*-*-* } } } */
 /* { dg-final { cleanup-tree-dump "gimple" } } */
--- gcc/testsuite/gcc.dg/gomp/atomic-9.c.jj	2005-10-28 22:55:08.000000000 +0200
+++ gcc/testsuite/gcc.dg/gomp/atomic-9.c	2005-12-07 23:08:25.000000000 +0100
@@ -9,5 +9,5 @@ void f1(void)
     *bar() += 1;
 }
 
-/* { dg-final { scan-tree-dump-times "__sync_fetch_and_add" 1 "gimple" } } */
+/* { dg-final { scan-tree-dump-times "__sync_fetch_and_add" 1 "gimple" { target i?86-*-* x86_64-*-* ia64-*-* powerpc*-*-* alpha*-*-* } } } */
 /* { dg-final { cleanup-tree-dump "gimple" } } */
--- gcc/testsuite/g++.dg/gomp/atomic-3.C.jj	2005-10-28 22:58:24.000000000 +0200
+++ gcc/testsuite/g++.dg/gomp/atomic-3.C	2005-12-07 23:08:49.000000000 +0100
@@ -9,5 +9,5 @@ void f1(void)
     xyzzy++;
 }
 
-/* { dg-final { scan-tree-dump-times "xyzzy, 4" 1 "gimple" } } */
+/* { dg-final { scan-tree-dump-times "xyzzy, 4" 1 "gimple" { target i?86-*-* x86_64-*-* ia64-*-* powerpc*-*-* alpha*-*-* } } } */
 /* { dg-final { cleanup-tree-dump "gimple" } } */
--- gcc/testsuite/g++.dg/gomp/atomic-9.C.jj	2005-10-28 22:58:24.000000000 +0200
+++ gcc/testsuite/g++.dg/gomp/atomic-9.C	2005-12-07 23:09:01.000000000 +0100
@@ -9,5 +9,5 @@ void f1(void)
     *bar() += 1;
 }
 
-/* { dg-final { scan-tree-dump-times "__sync_fetch_and_add" 1 "gimple" } } */
+/* { dg-final { scan-tree-dump-times "__sync_fetch_and_add" 1 "gimple" { target i?86-*-* x86_64-*-* ia64-*-* powerpc*-*-* alpha*-*-* } } } */
 /* { dg-final { cleanup-tree-dump "gimple" } } */


Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gcc41.spec	7 Dec 2005 18:06:53 -0000	1.3
+++ gcc41.spec	7 Dec 2005 22:52:03 -0000	1.4
@@ -1,6 +1,6 @@
 %define DATE 20051207
 %define gcc_version 4.1.0
-%define gcc_release 0.5
+%define gcc_release 0.6
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64
@@ -109,6 +109,9 @@
 Patch28: gcc41-s390-atomic1.patch
 Patch29: gcc41-s390-atomic2.patch
 Patch30: gcc41-s390-atomic3.patch
+Patch31: gcc41-gomp-tests1.patch
+Patch32: gcc41-gomp-tests2.patch
+Patch33: gcc41-gomp-pr25246.patch
 
 %define _gnu %{nil}
 %ifarch sparc
@@ -467,6 +470,9 @@
 %patch28 -p0 -b .s390-atomic1~
 %patch29 -p0 -b .s390-atomic2~
 %patch30 -p0 -b .s390-atomic3~
+%patch31 -p0 -b .gomp-tests1~
+%patch32 -p0 -b .gomp-tests2~
+%patch33 -p0 -b .gomp-pr25246~
 
 sed -i -e 's/4\.1\.0/4.1.0/' gcc/BASE-VER gcc/version.c
 sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@@ -1546,6 +1552,11 @@
 %endif
 
 %changelog
+* Wed Dec  7 2005 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.6
+- allow #pragmas at C struct scope as well as ObjC class scope
+  (PR c/25246)
+- some gomp testcase fixes
+
 * Wed Dec  7 2005 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.5
 - update from gcc-4_1-branch (-r107810:108157)
   - PRs bootstrap/25207, c++/24103, c++/24138, c++/24173, fortran/15809,




More information about the fedora-cvs-commits mailing list