aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2009-06-19 15:29:18 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2009-06-19 15:29:18 +0000
commitdc491a250a946a50bdea3813e9f1f67d368e348b (patch)
tree0dea9b2fb4eca6aa396f8ba7b9c2513061e504ae /gcc/ChangeLog
parent88eeff6f5a1347dc09de33c26a68648c4dea7f80 (diff)
downloadgcc-dc491a250a946a50bdea3813e9f1f67d368e348b.zip
gcc-dc491a250a946a50bdea3813e9f1f67d368e348b.tar.gz
gcc-dc491a250a946a50bdea3813e9f1f67d368e348b.tar.bz2
dse.c (struct store_info): Rename bitmap field to bmap.
./: * dse.c (struct store_info): Rename bitmap field to bmap. Change all uses. * c-decl.c (in_struct, struct_types): Remove. (struct c_binding): Add in_struct field. (c_binding_ptr): Define type, along with VEC. (struct c_struct_parse_info): Define. (struct_parse_info): New static variable. (bind): Initialize in_struct field. (start_struct): Remove enclosing_in_struct and enclosing_struct_types parameters. Add enclosing_struct_parse_info parameter. Change all callers. Set struct_parse_info rather than in_struct and struct_types. (grokfield): If -Wc++-compat and there is a symbol binding for the field name, set the in_struct flag and push it on the struct_parse_info->fields vector. (warn_cxx_compat_finish_struct): New static function. (finish_struct): Remove enclosing_in_struct and enclosing_struct_types parameters. Add enclosing_struct_parse_info parameter. Change all callers. Don't set C_TYPE_DEFINED_IN_STRUCT here. Call warn_cxx_compat_finish_struct. Free struct_parse_info and set to parameter. Only push on struct_types if warn_cxx_compat. (finish_enum): Only push on struct_types if warn_cxx_compat. (declspecs_add_type): Add loc parameter. Change all callers. Change all error calls to error_at. Pass loc, not input_location, to pedwarn calls. Warn if -Wc++-compat and a typedef name is defined in a struct. If -Wc++-compat and parsing a struct, record that a typedef name was used. * c-parser.c (c_parser_declspecs): Get location to pass to declspecs_add_type. (c_parser_struct_or_union_specifier): Update calls to start_struct and finish_struct. * c-tree.h (struct c_struct_parse_info): Declare. (finish_struct, start_struct): Update declarations. (declspecs_add_type): Update declaration. objc/: * objc-act.c (objc_in_struct, objc_struct_types): Remove. (objc_struct_info): New static variable. (objc_start_struct): Pass &objc_struct_info, not &objc_in_struct and &objc_struct_types, to start_struct. (objc_finish_struct): Likewise for finish_struct. objcp/: * objcp-decl.h (start_struct): Remove in_struct and struct_types parameters. Add struct_info parameter. (finish_struct): Likewise. testsuite/: * gcc.dg/Wcxx-compat-15.c: New testcase. From-SVN: r148709
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog39
1 files changed, 39 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 37a3629..c6a39f1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,44 @@
2009-06-19 Ian Lance Taylor <iant@google.com>
+ * dse.c (struct store_info): Rename bitmap field to bmap. Change
+ all uses.
+
+ * c-decl.c (in_struct, struct_types): Remove.
+ (struct c_binding): Add in_struct field.
+ (c_binding_ptr): Define type, along with VEC.
+ (struct c_struct_parse_info): Define.
+ (struct_parse_info): New static variable.
+ (bind): Initialize in_struct field.
+ (start_struct): Remove enclosing_in_struct and
+ enclosing_struct_types parameters. Add
+ enclosing_struct_parse_info parameter. Change all callers. Set
+ struct_parse_info rather than in_struct and struct_types.
+ (grokfield): If -Wc++-compat and there is a symbol binding for the
+ field name, set the in_struct flag and push it on the
+ struct_parse_info->fields vector.
+ (warn_cxx_compat_finish_struct): New static function.
+ (finish_struct): Remove enclosing_in_struct and
+ enclosing_struct_types parameters. Add
+ enclosing_struct_parse_info parameter. Change all callers. Don't
+ set C_TYPE_DEFINED_IN_STRUCT here. Call
+ warn_cxx_compat_finish_struct. Free struct_parse_info and set to
+ parameter. Only push on struct_types if warn_cxx_compat.
+ (finish_enum): Only push on struct_types if warn_cxx_compat.
+ (declspecs_add_type): Add loc parameter. Change all callers.
+ Change all error calls to error_at. Pass loc, not input_location,
+ to pedwarn calls. Warn if -Wc++-compat and a typedef name is
+ defined in a struct. If -Wc++-compat and parsing a struct, record
+ that a typedef name was used.
+ * c-parser.c (c_parser_declspecs): Get location to pass to
+ declspecs_add_type.
+ (c_parser_struct_or_union_specifier): Update calls to start_struct
+ and finish_struct.
+ * c-tree.h (struct c_struct_parse_info): Declare.
+ (finish_struct, start_struct): Update declarations.
+ (declspecs_add_type): Update declaration.
+
+2009-06-19 Ian Lance Taylor <iant@google.com>
+
* c-decl.c (grokdeclarator): If -Wc++-compat, warn about a global
variable with an anonymous type.