OSDN Git Service

* decl2.c (decl_constant_var_p): New fn.
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 8402c72..2646839 100644 (file)
@@ -1,6 +1,64 @@
+2010-11-01  Jason Merrill  <jason@redhat.com>
+
+       * decl2.c (decl_constant_var_p): New fn.
+       (decl_maybe_constant_var_p): New fn.
+       (mark_used): Rework instantiation of things needed for constant
+       expressions.
+       * cp-tree.h: Declare new fns.
+       * pt.c (instantiate_decl): Handle cp_unevaluated_operand.
+       (always_instantiate_p): Use decl_maybe_constant_var_p.
+       (instantiate_decl): Don't defer constexpr functions.
+       * repo.c (repo_emit_p): Use decl_maybe_constant_var_p.
+       * semantics.c (finish_id_expression): Use decl_constant_var_p.
+       Check for valid name in constant expr after mark_used.
+
+2010-10-31  Jason Merrill  <jason@redhat.com>
+
+       * class.c (is_really_empty_class): Work when type is not complete.
+       (synthesized_default_constructor_is_constexpr): New.
+       (add_implicitly_declared_members): Use it.
+       (type_has_constexpr_default_constructor): Likewise.
+       * cp-tree.h: Declare it.
+       * method.c (synthesized_method_walk): Use it.
+
+       * decl.c (pop_switch): Use EXPR_LOC_OR_HERE.
+       * typeck.c (convert_for_assignment): Likewise.
+
+       * parser.c (cp_parser_diagnose_invalid_type_name): Give helpful
+       message about constexpr without -std=c++0x.
+
+       * decl.c (grokdeclarator): Don't ICE on constexpr non-static data
+       member.
+
+2010-10-30  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * class.c (layout_vtable_decl): Call build_array_of_n_type.
+       (build_vtt, build_ctor_vtabl_group): Likewise.
+
+2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
+       * parser.c (cp_parser_objc_at_property_declaration): Removed
+       parsing of RID_COPIES and RID_IVAR.  Updated call to
+       objc_add_property_declaration.
+       * typecheck.c (finish_class_member_access_expr): Call
+       objc_maybe_build_component_ref instead of objc_build_setter_call.
+       (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
+       of objc_build_getter_call.
+
+2010-10-27  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (cp_trait_kind): Add CPTK_IS_LITERAL_TYPE.
+       * cxx-pretty-print.c (pp_cxx_trait_expression): Handle it.
+       * semantics.c (trait_expr_value, finish_trait_expr): Likewise.
+       * parser.c (cp_parser_primary_expression): Handle RID_IS_LITERAL_TYPE.
+       (cp_parser_trait_expr): Likewise.
+
 2010-10-27  Gabriel Dos Reis  <gdr@cse.tamu.edu>
            Jason Merrill  <jason@redhat.com>
 
+       * decl.c (finish_case_label): Use decl_constant_value.
+
        * method.c (synthesized_method_walk): Track constexprness too.
        (process_subob_fn, walk_field_subobs): Likewise.
        (implicitly_declare_fn): Set DECL_DECLARED_CONSTEXPR_P.