-traditional warning fix in pushdecl

Jeffrey A Law law@cygnus.com
Tue May 23 12:48:00 GMT 2000


  In message < 200005192303.AAA23440@phal.cygnus.co.uk >you write:
  > In the pushdecl -traditional code to determine if a warning for a external
  > declaration with a non-global type is in place, when you changed the
  > TYPE_PERMANENT test to use TYPE_CONTEXT instead, you forgot to inverse the
  > sense of the test.  This causes -traditional to warn about all kinds of
  > innocent declarations, including all the built-in ones.
  > 
  > FWIW, I've checked that the fixed TYPE_CONTEXT actually catches what it
  > is supposed to catch.  Most visible non-global types still have no
  > TYPE_CONTEXT at the time pushdecl is called, since the actual context is
  > only set in popdecl, just when they go out of scope.  However, struct
  > tags get a tentative context in pushtag.  That's good enough for our
  > purposes.
  > We've never warned about using local typedefs as such because it's the
  > type that they stand for that we look at, not the typedef itself.
  > 
  > Fri May 19 23:42:03 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
  > 
  > 	* c-decl.c (pushdecl): Remove bogus inversion in TYPE_CONTEXT test.
I believe Zack checked in an identical fix earlier today.
jeff



More information about the Gcc-patches mailing list