OSDN Git Service

* semantics.c (finish_compound_stmt): Avoid creating an
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 6a3d5c7..178bed6 100644 (file)
@@ -1,3 +1,101 @@
+2010-10-27  Jason Merrill  <jason@redhat.com>
+
+       * semantics.c (finish_compound_stmt): Avoid creating an
+       unnecessary BIND_EXPR.
+
+       * call.c (convert_like_real): Don't check narrowing if the element
+       is also an initializer-list.
+
+2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * parser.c (cp_parser_objc_at_property_declaration): Recognize
+       RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
+       Do not use objc_set_property_attr, but use local variables
+       instead.  Detect repeated usage of setter, getter and ivar
+       attributes.  Improved error processing when a setter name does not
+       end in ':'.  Do not check for CPP_CLOSE_PAREN after we determined
+       that the token is a keyword.  Updated call to
+       objc_add_property_declaration.
+
+2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * parser.c (cp_parser_objc_property_decl): Renamed to
+       cp_parser_objc_struct_declaration.  Return the parsed trees
+       instead of calling objc_add_property_variable directly.  Detect
+       missing or invalid declspecs.  Implemented attributes.  Do not eat
+       the ';' at the end.  Exit loop whenever a non-comma is parsed, not
+       just EOF.
+       (cp_parser_objc_at_property): Renamed to
+       cp_parser_objc_at_property_declaration.  Updated calls to
+       objc_add_property_variable, now objc_add_property_declaration, and
+       to cp_parser_objc_property_decl, now
+       cp_parser_objc_struct_declaration.  Rewritten all code to be more
+       robust in dealing with syntax errors, and almost identical to the
+       one in c_parser_objc_at_property_declaration.
+       (cp_parser_objc_property_attrlist): Removed.
+       (cp_parser_objc_method_prototype_list): Updated call to
+       cp_parser_objc_at_property.
+       (cp_parser_objc_method_definition_list): Same change.
+       (cp_parser_objc_class_ivars): Detect a number of invalid
+       declarations of instance variables and produce errors when they
+       are found.
+       
+2010-10-26  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (build_vec_init_expr): Split out from...
+       (build_array_copy): ...here.
+       * init.c (perform_member_init): Use it.
+       * cp-tree.h: Declare it.
+       * cp-gimplify.c (cp_gimplify_init_expr): Don't gimplify the slot for
+       VEC_INIT_EXPR and AGGR_INIT_EXPR here.  Drop pre/post parameters.
+       (cp_gimplify_expr): Handle array default-initialization via
+       VEC_INIT_EXPR.
+
+       * tree.c (stabilize_expr): Handle xvalues properly.
+
+       * call.c (build_over_call): Use argarray[0] for 'this' argument.
+
+       * decl.c (finish_function): Don't look at function_depth.
+
+2010-10-25  Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+       Implement opaque-enum-specifiers for C++0x.
+       * cp-tree.h (SET_OPAQUE_ENUM_P): New.
+       (OPAQUE_ENUM_P): New.
+       (ENUM_FIXED_UNDERLYING_TYPE_P): New.
+       (start_enum): Update prototype.
+       (finish_enum_value_list): New prototype.
+       * parser.c (cp_parser_elaborated_type_specifier): Issue a pedwarn if
+       "enum class" is used in an elaborated-type-specifier.
+       (cp_parser_enum_specifier): Rewrite to parse opaque-enum-specifiers.
+       * decl.c (copy_type_enum): New.
+       (finish_enum_value_list): New, with code from finish_enum.
+       (finish_enum): A lot of code removed. Added a gcc_assert.
+       (start_enum): Add parameters enumtype and is_new.
+       Rewrite to work with opaque-enum-specifiers.
+       * pt.c (maybe_process_partial_specialization): Allow for template
+       specialization of enumerations, with a pedwarn.
+       (lookup_template_class): Update call to start_enum. Call to
+       SET_OPAQUE_ENUM_P.
+       (tsubst_enum): Call to begin_scope, finish_scope and
+       finish_enum_value_list.
+
+2010-10-24  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       Removed Objective-C++ specific replacement of cxx_printable_name.
+       * cp-objcp-common.h: Added LANG_HOOKS_DECL_PRINTABLE_NAME, set
+       to cxx_printable_name for both C++ and Objective-C++.
+       * cp-lang.h: Removed LANG_HOOKS_DECL_PRINTABLE_NAME.
+
+       * error.c (dump_decl): For Objective-C++, call
+       objc_maybe_printable_name here ...
+       * tree.c (cxx_printable_name_internal): ... instead of here.
+       
+2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * tree.c (cxx_printable_name_internal): In Objective-C++, call
+       objc_maybe_printable_name.
+
 2010-10-22  Jason Merrill  <jason@redhat.com>
 
        PR c++/46129