520 lines
16 KiB
Plaintext
520 lines
16 KiB
Plaintext
2016-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* error.c: Spelling fixes - behaviour -> behavior and
|
||
neighbour -> neighbor.
|
||
* decl.c: Likewise.
|
||
* typeck.c (cp_build_binary_op): Fix up behavior spelling in
|
||
diagnostics.
|
||
* init.c (build_delete): Likewise.
|
||
|
||
2016-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69768
|
||
* typeck.c (cp_build_binary_op): cp_fully_fold integer_zerop
|
||
arguments for -Waddress warning. Fix up formatting.
|
||
|
||
2016-02-11 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/68726
|
||
* pt.c (lookup_template_class_1): Check tsubst return value for
|
||
error_mark_node.
|
||
|
||
2016-02-10 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68926
|
||
* pt.c (resolve_nondeduced_context): Add complain parm.
|
||
(do_auto_deduction): Pass it.
|
||
* cvt.c (convert_to_void): Likewise.
|
||
* decl.c (cp_finish_decl): Likewise.
|
||
* init.c (build_new): Likewise.
|
||
* rtti.c (get_tinfo_decl_dynamic): Likewise.
|
||
* semantics.c (finish_decltype_type): Likewise.
|
||
* typeck.c (decay_conversion): Likewise.
|
||
* cp-tree.h: Adjust declaration.
|
||
* call.c (standard_conversion): Add complain parm, pass it along.
|
||
(implicit_conversion): Pass it.
|
||
|
||
PR c++/69657
|
||
* name-lookup.c (ambiguous_decl): Call remove_hidden_names.
|
||
(lookup_name_real_1): Likewise.
|
||
(remove_hidden_names): Handle non-functions too.
|
||
|
||
PR c++/10200
|
||
* parser.c (cp_parser_lookup_name): When looking for a template
|
||
after . or ->, only consider class templates.
|
||
(cp_parser_postfix_dot_deref_expression): Handle the current
|
||
instantiation. Remember a dependent object expression.
|
||
* typeck2.c (build_x_arrow): Handle the current instantiation.
|
||
|
||
* ptree.c (debug_tree): Implement for cp_expr.
|
||
|
||
2016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/69139
|
||
* parser.c (cp_parser_simple_type_specifier): Make the check
|
||
for disambiguating between an 'auto' placeholder and an implicit
|
||
template parameter more robust.
|
||
|
||
2016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/69283
|
||
PR c++/67835
|
||
* decl2.c (mark_used): When given a TEMPLATE_DECL, return after
|
||
setting its TREE_USED flag.
|
||
|
||
2016-02-08 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/69657
|
||
* name-lookup.c (do_nonmember_using_decl): Leave anticipated
|
||
built-ins alone.
|
||
|
||
2016-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/59627
|
||
* parser.c (cp_parser_omp_declare_reduction): Set assembler name
|
||
of the DECL_OMP_DECLARE_REDUCTION_P decls.
|
||
|
||
2016-02-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/69688
|
||
* constexpr.c (clear_cv_and_fold_caches): Renamed from clear_cv_cache.
|
||
Call clear_fold_cache.
|
||
* cp-tree.h: Adjust declaration.
|
||
* decl.c (finish_enum_value_list): Call clear_cv_and_fold_caches
|
||
rather than clear_cv_cache and clear_fold_cache.
|
||
* typeck2.c (store_init_value): Call clear_cv_and_fold_caches.
|
||
|
||
2016-02-08 Jason Merrill <jason@redhat.com>
|
||
|
||
* cp-tree.h (CONV_FOLD, CONV_BACKEND_CONVERT): New.
|
||
* cvt.c (convert): Pass CONV_BACKEND_CONVERT.
|
||
(ocp_convert): Use *_maybe_fold.
|
||
(cp_convert_to_pointer): Add dofold parameter.
|
||
* cp-gimplify.c (cp_fold) [CONVERT_EXPR]: Call convert.
|
||
|
||
2016-02-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/69662
|
||
* init.c (find_field_init): New function.
|
||
(warn_placement_new_too_small): Call it. Handle one-element arrays
|
||
at ends of structures special.
|
||
|
||
2016-02-05 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68948
|
||
* semantics.c (finish_expr_stmt): If expr is error_mark_node,
|
||
make sure we've seen_error().
|
||
|
||
2016-02-05 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/68948
|
||
* pt.c (tsubst_baselink): Diagnose an invalid constructor call
|
||
if lookup_fnfields returns NULL_TREE and the name being looked
|
||
up has the form A::A.
|
||
|
||
2016-02-04 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
* constexpr.c (cxx_eval_binary_expression): Fold equality
|
||
comparisons involving PTRMEM_CSTs.
|
||
|
||
2016-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* class.c (find_flexarrays): Don't declare dom variable.
|
||
(diagnose_flexarray): Likewise.
|
||
|
||
2016-02-02 Martain Sebor <msebor@redhat.com>
|
||
|
||
PR c++/69251
|
||
PR c++/69253
|
||
PR c++/69290
|
||
PR c++/69277
|
||
PR c++/69349
|
||
* class.c (walk_subobject_offsets): Avoid testing the upper bound
|
||
of a flexible array member for equality to null.
|
||
(find_flexarrays): Remove spurious whitespace introduced in r231665.
|
||
(diagnose_flexarrays): Avoid checking the upper bound of arrays.
|
||
(check_flexarrays): Same.
|
||
* decl.c (compute_array_index_type): Avoid special case for flexible
|
||
array members.
|
||
(grokdeclarator): Avoid calling compute_array_index_type for flexible
|
||
array members.
|
||
* error.c (dump_type_suffix): Revert changes introduced in r231665
|
||
and rendered unnecessary by the changes above.
|
||
* pt.c (tsubst): Same.
|
||
* tree.c (build_ctor_subob_ref): Handle flexible array members.
|
||
* typeck2.c (digest_init_r): Revert changes introduced in r231665.
|
||
(process_init_constructor_array): Same.
|
||
(process_init_constructor_record): Same.
|
||
|
||
2016-02-03 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/69056
|
||
* pt.c (try_one_overload): Handle comparing argument packs so
|
||
that there is no conflict if we deduced more arguments of an
|
||
argument pack than were explicitly specified.
|
||
|
||
2016-01-31 Jakub Jelinek <jakub@redhat.com>
|
||
Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68763
|
||
* tree.c (strip_typedefs) [FUNCTION_TYPE]: Avoid building a new
|
||
function type if nothing is changing.
|
||
|
||
2016-01-31 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/69009
|
||
* pt.c (partial_specialization_p, impartial_args): New.
|
||
(instantiate_decl): Call impartial_args.
|
||
|
||
* mangle.c (maybe_check_abi_tags): New.
|
||
(write_guarded_var_name): Call it.
|
||
(mangle_ref_init_variable): Call check_abi_tags.
|
||
|
||
* pt.c (lookup_template_class_1): Don't share TYPE_ATTRIBUTES
|
||
between template and instantiation.
|
||
|
||
2016-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/66869
|
||
* decl.c (wrapup_globals_for_namespace): Warn about unused static
|
||
function declarations.
|
||
|
||
2016-01-29 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/69509
|
||
PR c++/69516
|
||
* constexpr.c (cxx_eval_array_reference): Give the "array subscript
|
||
out of bound" error earlier.
|
||
* init.c (build_vec_init): Change NE_EXPR into GT_EXPR. Update the
|
||
commentary.
|
||
|
||
2016-01-29 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
* name-lookup.c (begin_scope): After reusing a cp_binding_level
|
||
structure, update free_binding_level before the structure's
|
||
level_chain field gets cleared, not after.
|
||
|
||
2016-01-28 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/67407
|
||
* search.c (dfs_walk_once, dfs_walk_once_r)
|
||
(dfs_walk_once_accessible_r, dfs_walk_once_accessible): Use
|
||
hash_set instead of BINFO_MARKED.
|
||
(dfs_unmark_r): Remove.
|
||
|
||
2016-01-28 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/24208
|
||
* parser.c (LEXER_DEBUGGING_ENABLED_P): New macro.
|
||
(cp_lexer_debugging_p): Use it.
|
||
(cp_lexer_start_debugging): Likewise.
|
||
(cp_lexer_stop_debugging): Likewise.
|
||
|
||
2016-01-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68062
|
||
* typeck.c (cp_build_binary_op): Promote operand to unsigned, if
|
||
needed. Add -Wsign-compare warning.
|
||
|
||
2016-01-27 Ryan Burn <contact@rnburn.com>
|
||
|
||
PR cilkplus/69267
|
||
* cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): Removed
|
||
superfluous post_p argument in call to
|
||
cilk_gimplify_call_params_in_spawned_fn.
|
||
|
||
2016-01-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/69379
|
||
* constexpr.c (cxx_eval_constant_expression): Handle PTRMEM_CSTs
|
||
wrapped in NOP_EXPRs.
|
||
|
||
2016-01-27 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/69317
|
||
* mangle.c (mangle_decl): Reference the correct (saved) version
|
||
of the ABI in -Wabi diagnostics.
|
||
|
||
2016-01-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/69496
|
||
* constexpr.c (cxx_eval_array_reference): Evaluate the number of
|
||
elements of the array.
|
||
|
||
2016-01-26 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68949
|
||
* constexpr.c (register_constexpr_fundef): Keep the un-massaged body.
|
||
(cxx_eval_call_expression): Don't look through clones.
|
||
* optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias.
|
||
* semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of
|
||
maybe-in-charge *tor.
|
||
|
||
2016-01-26 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68782
|
||
* constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT
|
||
and TREE_SIDE_EFFECTS.
|
||
(cxx_eval_constant_expression) [CONSTRUCTOR]: Call
|
||
verify_constructor_flags.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/68357
|
||
* cp-gimplify.c (cp_fold): If some operand folds to error_mark_node,
|
||
return error_mark_node instead of building trees with error_mark_node
|
||
operands.
|
||
|
||
2016-01-26 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR other/69006
|
||
* error.c (print_instantiation_partial_context_line): Add missing
|
||
newlines from output for the t == NULL case.
|
||
(print_instantiation_partial_context): Remove call to pp_newline.
|
||
|
||
2016-01-24 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
Revert:
|
||
2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/11858
|
||
PR c++/24663
|
||
PR c++/24664
|
||
* decl.c (grokdeclarator): Don't decay array parameter type to
|
||
a pointer type if it's dependent.
|
||
(grokparms): Invoke strip_top_quals instead of directly invoking
|
||
cp_build_qualified_type.
|
||
* pt.c (decay_dependent_array_parm_type): New static function.
|
||
(type_unification_real): Call decay_dependent_array_parm_type
|
||
to decay a dependent array parameter type to its corresponding
|
||
pointer type before unification.
|
||
(more_specialized_fn): Likewise.
|
||
(get_bindings): Likewise.
|
||
* tree.c (cp_build_qualified_type): Trivial typofix in
|
||
documentation.
|
||
|
||
2016-01-23 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/58109
|
||
PR c++/69022
|
||
* decl2.c (is_late_template_attribute): Handle dependent argument
|
||
to attribute align and attribute vector_size.
|
||
|
||
2016-01-21 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/69392
|
||
* lambda.c (lambda_capture_field_type): Handle 'this' specially
|
||
for init-capture, too.
|
||
|
||
PR c++/65687
|
||
* decl.c (type_is_deprecated): Don't look into a typedef.
|
||
|
||
PR c++/40751
|
||
PR c++/64987
|
||
* decl.c (copy_type_enum): Respect TYPE_USER_ALIGN.
|
||
|
||
PR c++/43407
|
||
* decl.c (start_enum): Add attributes parameter.
|
||
* parser.c (cp_parser_enum_specifier): Pass it.
|
||
* pt.c (lookup_template_class_1): Pass it.
|
||
* cp-tree.h: Adjust.
|
||
|
||
2016-01-19 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/59759
|
||
* pt.c (convert_template_argument): Handle VAR_DECL properly.
|
||
|
||
2016-01-19 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/68586
|
||
* constexpr.c (clear_cv_cache): New.
|
||
* cp-gimplify.c (clear_fold_cache): New.
|
||
* cp-tree.h (clear_cv_cache, clear_fold_cache): Declare.
|
||
* decl.c (finish_enum_value_list): Call them.
|
||
|
||
PR c++/68965
|
||
* pt.c (tsubst_copy): Mark elements in expanded vector as used.
|
||
|
||
2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/11858
|
||
PR c++/24663
|
||
PR c++/24664
|
||
* decl.c (grokdeclarator): Don't decay array parameter type to
|
||
a pointer type if it's dependent.
|
||
(grokparms): Invoke strip_top_quals instead of directly invoking
|
||
cp_build_qualified_type.
|
||
* pt.c (decay_dependent_array_parm_type): New static function.
|
||
(type_unification_real): Call decay_dependent_array_parm_type
|
||
to decay a dependent array parameter type to its corresponding
|
||
pointer type before unification.
|
||
(more_specialized_fn): Likewise.
|
||
(get_bindings): Likewise.
|
||
* tree.c (cp_build_qualified_type): Trivial typofix in
|
||
documentation.
|
||
|
||
2016-01-18 Jason Merrill <jason@redhat.com>
|
||
|
||
* cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.
|
||
|
||
* cp-gimplify.c (cp_fold): Remove unnecessary special cases.
|
||
|
||
PR c++/68767
|
||
* cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify. Do fold COND_EXPR.
|
||
(contains_label_1, contains_label_p): Remove.
|
||
|
||
2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/69091
|
||
* pt.c (type_dependent_expression_p): For a function template
|
||
specialization, a type is dependent iff any of its template
|
||
arguments are.
|
||
|
||
2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
* cp-array-notation.c (cp_expand_cond_array_notations): Return
|
||
error_mark_node only if find_rank failed, not if it was
|
||
successful.
|
||
|
||
2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/68936
|
||
* tree.c (build_min_non_dep_call_vec): Don't retain the
|
||
KOENIG_LOOKUP_P flag of the non-dependent expression that's
|
||
been built.
|
||
(build_min_non_dep_op_overload): Instead, do it here.
|
||
|
||
2016-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/68271
|
||
* parser.h (cp_token): Remove pragma_kind field. Add comment
|
||
with number of unused bits.
|
||
* parser.c (eof_token): Remove pragma_kind field initializer.
|
||
(cp_lexer_get_preprocessor_token): Don't set pragma_kind
|
||
field, don't clear CPP_PRAGMA u.value.
|
||
(cp_parser_pragma_kind): New function.
|
||
(cp_parser_omp_sections_scope, cp_parser_oacc_kernels_parallel,
|
||
cp_parser_omp_construct, cp_parser_initial_pragma,
|
||
cp_parser_pragma): Use cp_parser_pragma_kind instead of accessing
|
||
pragma_kind field.
|
||
|
||
2016-01-15 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68847
|
||
* call.c (build_cxx_call): Use fold_non_dependent_expr.
|
||
|
||
* typeck2.c (cxx_incomplete_type_diagnostic): Use the location of
|
||
value.
|
||
|
||
PR c++/69257
|
||
* typeck.c (decay_conversion): Don't call mark_rvalue_use for
|
||
array/function-to-pointer conversion. Call
|
||
complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
|
||
* call.c (convert_like_real): Print call context if
|
||
decay_conversion errors.
|
||
|
||
2016-01-14 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68773
|
||
* parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
|
||
set force_output.
|
||
|
||
2016-01-14 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/69261
|
||
* constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
|
||
|
||
2016-01-12 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/68979
|
||
* constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
|
||
error_at and adjust the return value.
|
||
|
||
2016-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR objc++/68511
|
||
PR c++/69213
|
||
* cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
|
||
GS_ERROR whenever seen_error (), only if *expr_p contains
|
||
cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.
|
||
|
||
PR c++/66808
|
||
PR c++/69000
|
||
* pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.
|
||
|
||
2016-01-11 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/69131
|
||
* method.c (walk_field_subobs): Add dtor_from_ctor parm.
|
||
(process_subob_fn): Likewise. Don't consider triviality if true.
|
||
(synthesize_method_walk): Pass it.
|
||
|
||
2016-01-11 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c++/68795
|
||
* parser.c (cp_parser_postfix_expression): Initialize
|
||
close_paren_loc to UNKNOWN_LOCATION; only use it if
|
||
it has been written to by
|
||
cp_parser_parenthesized_expression_list.
|
||
(cp_parser_parenthesized_expression_list): Document the behavior
|
||
with respect to the CLOSE_PAREN_LOC param.
|
||
|
||
2016-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69211
|
||
* cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
|
||
folded operands have side-effects, but folding changed any of them,
|
||
build a new tree with the folded operands instead of returning the
|
||
unfolded tree.
|
||
|
||
2016-01-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/69113
|
||
* decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.
|
||
|
||
2016-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69164
|
||
* class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.
|
||
|
||
2016-01-08 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/69158
|
||
* constexpr.c (cxx_fold_indirect_ref): Handle array type differing
|
||
in completion.
|
||
|
||
2016-01-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/68449
|
||
* constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
|
||
|
||
2016-01-08 Jason Merrill <jason@redhat.com>
|
||
|
||
* constexpr.c (cxx_eval_call_expression): Remove convert_to_void
|
||
workaround.
|
||
|
||
PR c++/68983
|
||
PR c++/67557
|
||
* cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
|
||
TREE_ADDRESSABLE type.
|
||
|
||
PR c++/68983
|
||
PR c++/67557
|
||
* call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
|
||
|
||
2016-01-05 Nathan Sidwell <nathan@acm.org>
|
||
|
||
PR c++/58583
|
||
* pt.c (build_non_dependent_expr): Don't try a checking fold when
|
||
parsing an nsdmi.
|
||
|
||
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
Copyright (C) 2016 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|