From 616aeba2bb37e55c24cc65a861e12c08e18e3943 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 11 Sep 2004 00:10:05 +0100 Subject: c-tree.h (struct c_declspecs): Remove typedef_decl. * c-tree.h (struct c_declspecs): Remove typedef_decl. Add typedef_p and typedef_signed_p. * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl. (grokdeclarator): Don't use typedef_decl for warn_deprecated_use. Check typedef_p and typedef_signed_p, not typedef_decl. (grokfield): Check typedef_p, not typedef_decl. (build_null_declspecs): Initialize typedef_p and typedef_signed_p, not typedef_decl. (declspecs_add_type): Set typedef_p and typedef_signed_p, not typedef_decl. testsuite: * gcc.dg/bitfld-9.c: New test. From-SVN: r87326 --- gcc/c-tree.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gcc/c-tree.h') diff --git a/gcc/c-tree.h b/gcc/c-tree.h index 37075518b83..dde8dc3249d 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -136,8 +136,6 @@ struct c_declspecs { /* The type specified, not reflecting modifiers such as "short" and "unsigned", or NULL_TREE if none. */ tree type; - /* If the type was specified with a typedef, that typedef decl. */ - tree typedef_decl; /* The attributes from a typedef decl. */ tree decl_attr; /* When parsing, the attributes. Outside the parser, this will be @@ -153,6 +151,11 @@ struct c_declspecs { specifiers to be handled separately from storage class specifiers.) */ BOOL_BITFIELD non_sc_seen_p : 1; + /* Whether the type is specified by a typedef. */ + BOOL_BITFIELD typedef_p : 1; + /* Whether the type is specified by a typedef whose type is + explicitly "signed". */ + BOOL_BITFIELD typedef_signed_p : 1; /* Whether the specifiers include a deprecated typedef. */ BOOL_BITFIELD deprecated_p : 1; /* Whether "int" was explicitly specified. */ -- cgit v1.2.1