This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C++ PATCH: New parser


I'm going back to sleep now to keep the Norwalk virus at bay,
Gotta cut back on those raw oysters, buddy!
I'm a vegetarian, so that wasn't it.  Unless someone slipped me an
oyster mickey. :-)

Autocrasher sees two regressions:

    g++.sum g++.dg/tls/diag-1.C
    g++.sum g++.dg/tls/diag-2.C
Dang it; forgot to configure with --enable-threads when testing.

I'm testing this fix now, which I'll check in if it works.  It may
take me all day to get this in; if anyone's bothered, feel free to
check this patch in if it works for you.

--
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com

Index: decl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/decl.c,v
retrieving revision 1.972
diff -c -5 -p -r1.972 decl.c
*** decl.c	28 Dec 2002 08:03:39 -0000	1.972
--- decl.c	28 Dec 2002 19:54:42 -0000
*************** grokdeclarator (declarator, declspecs, d
*** 10434,10450 ****
 			longlong = 1;
 		    }
 		  else if (RIDBIT_SETP (i, specbits))
 		    pedwarn ("duplicate `%s'", IDENTIFIER_POINTER (id));

! 		  /* Diagnose "__thread extern".  Recall that this list
! 		     is in the reverse order seen in the text.  */
! 		  if (i == (int)RID_THREAD)
 		    {
! 		      if (RIDBIT_SETP (RID_EXTERN, specbits))
 			error ("`__thread' before `extern'");
! 		      if (RIDBIT_SETP (RID_STATIC, specbits))
 			error ("`__thread' before `static'");
 		    }

 		  if (i == (int)RID_EXTERN
 		      && TREE_PURPOSE (spec) == error_mark_node)
--- 10434,10449 ----
 			longlong = 1;
 		    }
 		  else if (RIDBIT_SETP (i, specbits))
 		    pedwarn ("duplicate `%s'", IDENTIFIER_POINTER (id));

! 		  /* Diagnose "__thread extern" or "__thread static".  */
! 		  if (RIDBIT_SETP (RID_THREAD, specbits))
 		    {
! 		      if (i == (int)RID_EXTERN)
 			error ("`__thread' before `extern'");
! 		      else if (i == (int)RID_STATIC)
 			error ("`__thread' before `static'");
 		    }

 		  if (i == (int)RID_EXTERN
 		      && TREE_PURPOSE (spec) == error_mark_node)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]