re PR c++/65558 (crash using __attribute__((__abi_tag__)) on anonymous inline namespace)
[gcc.git] / gcc / cp / ChangeLog
index cd2d0765998bd412ddd2e116ebc2fedea386c5b4..4ba45d72c6acda156a3a406dcf94bfc392c18351 100644 (file)
@@ -1,3 +1,127 @@
+2015-03-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/65558
+       * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
+       on an anonymous namespace.
+
+2015-03-25  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/61670
+       * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
+
+2015-03-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/65046
+       * cp-tree.h (NAMESPACE_IS_INLINE): Remove.
+       * parser.c (cp_parser_namespace_definition): Don't set it.
+       * name-lookup.c (handle_namespace_attrs): Check
+       DECL_NAMESPACE_ASSOCIATIONS instead.
+
+       PR c++/65498
+       * pt.c (get_mostly_instantiated_function_type): Just return the
+       type of the partially instantiated template in DECL_TI_TEMPLATE.
+
+2015-03-20  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/65398
+       * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
+       A[i + j].
+
+2015-03-20  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/65072
+       * typeck.c (lookup_anon_field): Make sure we're dealing with the main
+       variant.
+
+2015-03-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/65046
+       Automatically propagate ABI tags to variables and functions
+       from their (return) type.
+       * class.c (check_tag): Handle variables and functions.
+       (mark_or_check_attr_tags): Split out from find_abi_tags_r.
+       (mark_or_check_tags): Likewise.
+       (mark_abi_tags): Use it.  Rename from mark_type_abi_tags.
+       (check_abi_tags): Add single argument overload for decls.
+       Handle inheriting tags for decls.
+       * mangle.c (write_mangled_name): Call it.
+       (mangle_return_type_p): Split out from write_encoding.
+       (unmangled_name_p): Split out from write_mangled_name.
+       (write_mangled_name): Ignore abi_tag on namespace.
+       * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
+       * parser.c (cp_parser_namespace_definition): Set it.
+       * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
+       about abi_tag attribute on non-inline namespace.
+       * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
+       (handle_abi_tag_attribute): Allow tags on variables.
+
+2015-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * decl2.c (cplus_decl_attributes): Also add "omp declare target"
+       attribute for DECL_EXTERNAL VAR_DECLs.
+
+2015-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/65340
+       * call.c (build_over_call): Pass the tsubst_flags_t argument to
+       mark_used.
+       * decl2.c (mark_used): Inline the require_deduced_type call and
+       guard the error call.
+
+2015-03-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/65061
+       * parser.c (cp_parser_template_name): Call strip_using_decl.
+
+2015-03-16  Marek Polacek  <polacek@redhat.com>
+
+       DR 1688
+       PR c++/65327
+       * decl.c (grokdeclarator): Allow volatile and constexpr together.
+
+2015-03-12  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/65323
+       * decl.c (check_default_argument): Don't call
+       maybe_warn_zero_as_null_pointer_constant.
+
+2015-03-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * cp-gimplify.c (simple_empty_class_p): New.
+       * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR.  Abstract
+       the code for empty class copies into simple_empty_class_p, and
+       adapt it to handle COMPOUND_EXPRs.
+
+2015-03-10  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/65370
+       * decl.c (duplicate_decls): Call check_redeclaration_no_default_args
+       only if the location of newdecl doesn't match the location of olddecl.
+
+2015-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/65127
+       * parser.c (parsing_nsdmi): Don't return true if current_class_ptr
+       is not a PARM_DECL.
+
+2015-03-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/65333
+       DR 1558
+       * pt.c (dependent_type_p_r): Check both class and alias template args.
+
+2015-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/65120
+       * parser.c (cp_parser_binary_expression): Check for tcc_comparison
+       before preparing arguments to warn_logical_not_parentheses.
+       Use maybe_constant_value on rhs.
+
+2015-03-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/65339
+       * call.c: Don't call maybe_resolve_dummy when calling a constructor.
+
 2015-03-09  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/65120