OSDN Git Service

2014-02-26 Fabien Chene <fabien@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 794cc15..d22e153 100644 (file)
@@ -1,5 +1,219 @@
+2014-02-26  Fabien ChĂȘne  <fabien@gcc.gnu.org>
+        PR c++/37140
+        * parser.c (cp_parser_nonclass_name): Call strip_using_decl and
+       move the code handling dependent USING_DECLs...
+        * name-lookup.c (strip_using_decl): ...Here.
+
+2014-02-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/60248
+       * mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
+
+2014-02-20  Kai Tietz  <ktietz@redhat.com>
+
+       PR c++/58873
+       * parser.c (cp_parser_functional_cast): Treat NULL_TREE
+       valued type argument as error_mark_node.
+
+       PR c++/58835
+       * semantics.c (finish_fname): Handle error_mark_node.
+
+2014-02-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/60046
+       * pt.c (maybe_instantiate_noexcept): Don't instantiate exception
+       spec from template context.
+
+2014-01-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/57043
+       * pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
+       during partial ordering.
+
+2014-01-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/54652
+       * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.
+
+       PR c++/58639
+       * call.c (build_aggr_conv): Reject value-initialization of reference.
+
+2013-10-25  Tom de Vries  <tom@codesourcery.com>
+
+       PR c++/58282
+       * except.c (build_must_not_throw_expr): Handle
+       flag_exceptions.
+
+2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/58633
+       * parser.c (cp_parser_pseudo_destructor_name): Revert r174385 changes.
+
+2013-09-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/58273
+       * pt.c (any_type_dependent_elements_p): Actually check for
+       type-dependence, not value-dependence.
+
+2013-08-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/58119
+       * cp-tree.h (WILDCARD_TYPE_P): Split out from...
+       (MAYBE_CLASS_TYPE_P): ...here.
+       * cvt.c (build_expr_type_conversion): Don't complain about a
+       template that can't match the desired type category.
+
+2012-12-03  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/54170
+       * cvt.c (cp_convert_to_pointer): Don't discard side-effects from
+       expressions of nullptr_t.
+       * typeck.c (build_ptrmemfunc): Likewise.
+
+2013-07-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/57437
+       * typeck.c (check_return_expr): Lambda proxies aren't eligible
+       for nrv or return by move.
+
+       PR c++/57545
+       * pt.c (convert_nontype_argument) [INTEGER_CST]: Force the
+       argument to have the exact type of the parameter.
+
+       PR c++/57551
+       * semantics.c (cxx_eval_indirect_ref): Don't try to look through
+       a POINTER_PLUS_EXPR for type punning diagnostic.
+
+       PR c++/57831
+       * pt.c (tsubst_copy): Handle USING_DECL.
+
+2013-05-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/57325
+       * tree.c (build_cplus_array_type): Copy layout info if element
+       type is complete.
+
+2013-05-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/57047
+       * semantics.c (cxx_fold_indirect_ref): Fix thinko.
+
+2013-04-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * parser.c (cp_parser_late_return_type_opt): Fix C++ism.
+
+2013-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56388
+       * semantics.c (insert_capture_proxy): Just use index 1 in the
+       stmt_list_stack.
+
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/56819
+       * tree.c (strip_typedefs): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT
+       from args to new_args.
+       (strip_typedefs_expr): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT from t to
+       r instead of doing {S,G}ET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
+
+2013-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56794
+       * parser.c (cp_parser_range_for): Don't try to do auto deduction
+       in a template if the type of the range is incomplete.
+
+2013-03-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56774
+       PR c++/35722
+       * pt.c (unify_pack_expansion): Fix indexing.
+
+2013-03-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/54277
+       * semantics.c (lambda_capture_field_type): Don't build a
+       magic decltype for pointer types.
+       (lambda_proxy_type): Likewise.
+       (finish_non_static_data_member): Get the quals from
+       the object.
+
+2013-03-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56646
+       * parser.c (cp_parser_late_return_type_opt): Save and restore
+       current_class_ptr/ref.
+
+2013-03-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56614
+       * decl.c (local_variable_p_walkfn): Check DECL_ARTIFICIAL again.
+
+2013-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56403
+       * init.c (build_zero_init_1): Use RECORD_OR_UNION_CODE_P instead
+       of CLASS_TYPE_P.
+
+2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/56534
+       * parser.c (cp_parser_elaborated_type_specifier): Don't call
+       check_elaborated_type_specifier when TREE_CODE (decl) != TYPE_DECL.
+       * decl.c (check_elaborated_type_specifier): Tidy.
+
+2013-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56543
+       * tree.c (strip_typedefs): Don't copy args if they are NULL.
+
+2013-02-22  Jason Merrill  <jason@redhat.com>
+
+       PR c++/40405
+       * pt.c (push_template_decl_real): Set DECL_INTERFACE_KNOWN
+       if we got the wrong number of template parms.
+
+       PR c++/56395
+       * tree.c (strip_typedefs): Strip typedefs from TYPENAME_TYPE template
+       args.
+
+2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56241
+       * init.c (build_vec_init): Don't append NULL values into new_vec.
+       (build_zero_init_1): Don't push anything into v if recursive call
+       returned NULL_TREE.
+       (build_value_init_noctor): Don't push anything into v if
+       build_value_init call returned NULL_TREE.
+
+       PR c++/56239
+       * parser.c (cp_parser_token_starts_cast_expression): Renamed to...
+       (cp_parser_tokens_start_cast_expression): ... this.  Change parameter
+       to cp_parser *, call cp_lexer_peek_token first.  For CPP_OPEN_PAREN,
+       return true only if 2nd token isn't CPP_CLOSE_PAREN.
+       (cp_parser_cast_expression): Adjust caller.
+
+       PR c++/56237
+       * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
+       only if DECL_DISCRIMINATOR_SET_P (t) rather than just
+       DECL_LANG_SPECIFIC (t).
+
 2013-02-15  Jason Merrill  <jason@redhat.com>
 
+       PR c++/54276
+       * semantics.c (finish_id_expression): Also return the identifier
+       for an outer local static.
+
+       PR c++/52026
+       * semantics.c (finish_id_expression): In a template, return
+       the identifier for a constant variable.
+
        PR c++/55710
        * semantics.c (maybe_add_lambda_conv_op): Mark static thunk
        TREE_USED.