diff options
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r-- | gcc/cp/ChangeLog | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 671b36cc193..66e5cb5e065 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,156 @@ +2014-01-27 Jason Merrill <jason@redhat.com> + + PR c++/59823 + Core DR 1138 + * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for + list-initialization. A conversion to rvalue ref that involves + an lvalue-rvalue conversion is bad. + (convert_like_real): Give helpful error message. + + PR c++/54652 + * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL. + + PR c++/58504 + * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for + types. + + PR c++/58606 + * pt.c (template_parm_to_arg): Call convert_from_reference. + (tsubst_template_arg): Don't strip reference refs. + + PR c++/58639 + * call.c (build_aggr_conv): Reject value-initialization of reference. + + PR c++/58812 + PR c++/58651 + * call.c (convert_like_real): Give helpful error about excess braces + for ck_rvalue of scalar type. + + Core DR 1288 + * call.c (reference_binding): Only elide braces if the single + element is reference-related. + + PR c++/58814 + * typeck.c (cp_build_modify_expr): Make the RHS an rvalue before + stabilizing. + + PR c++/58837 + * typeck.c (cp_truthvalue_conversion): Use explicit comparison for + FUNCTION_DECL. + + PR c++/59097 + * decl.c (compute_array_index_type): Don't call + maybe_constant_value for a non-integral expression. + +2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com> + + * call.c (magic_varargs_p): Replaced flag_enable_cilkplus with + flag_cilkplus. + * cp-gimplify.c (cp_genericize): Likewise. + * decl.c (grokfndecl): Likewise. + * parser.c (cp_parser_postfix_expression): Likewise. + (cp_parser_postfix_open_square_expression): Likewise. + (cp_parser_direct_declarator): Likewise. + (is_cilkplus_vector_p): Likewise. + (cp_parser_omp_clause_name): Likewise. + (cp_parser_omp_all_clauses): Likewise. + * pt.c (apply_late_template_attributes): Likewise. + * typeck.c (cp_build_array_ref): Likewise. + (cp_build_compound_expr): Likewise. + (check_return_expr): Likewise. + +2014-01-24 Jason Merrill <jason@redhat.com> + + PR c++/58550 + * decl.c (grokdeclarator): Turn pedwarn about auto return type in + c++11 into error. + + PR c++/59886 + PR c++/59659 + * typeck2.c (process_init_constructor_array): Don't create + RANGE_EXPR yet. + +2014-01-24 Jakub Jelinek <jakub@redhat.com> + + * typeck2.c (split_nonconstant_init_1): Fix num_split_elts + handling for RANGE_ARRAY case. + +2014-01-24 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/57524 + * name-lookup.c (push_using_directive): Use timevar_cond_start. + +2014-01-23 Marek Polacek <polacek@redhat.com> + + PR c/59846 + * typeck.c (cp_build_binary_op): Pass location to shorten_compare. + +2014-01-23 Marek Polacek <polacek@redhat.com> + + PR c/58346 + * typeck.c (pointer_diff): Give an error on arithmetic on pointer to + an empty aggregate. + +2014-01-23 Jason Merrill <jason@redhat.com> + + PR c++/55189 + * cp-tree.h (struct language_function): Add infinite_loop and + infinite_loops. + (current_function_infinite_loop): New. + * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop) + (break_maybe_infinite_loop): New. + (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt) + (finish_do_stmt, finish_for_cond, finish_for_stmt) + (begin_range_for_stmt): Use them. + * decl.c (finish_function): Don't warn about missing return + if current_function_infinite_loop. + * pt.c (instantiate_decl): Copy current_function_infinite_loop. + * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop. + + * call.c (build_op_delete_call): Use make_tree_vector and + release_tree_vector. + +2014-01-23 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58980 + * parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as + nested_name_specifier. + +2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com> + + * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled + see if there is an attribute after function decl. If so, then + parse them now. + (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD + enabled function late parsing. + (cp_parser_gnu_attribute_list): Parse all the tokens for the vector + attribute for a SIMD-enabled function. + (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when + the function is used by SIMD-enabled function (indicated by NULL + pragma token). Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK, + PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH + (cp_parser_cilk_simd_vectorlength): Modified this function to handle + vectorlength clause in SIMD-enabled function and #pragma SIMD's + vectorlength clause. Added a new bool parameter to differentiate + between the two. + (cp_parser_cilk_simd_fn_vector_attrs): New function. + (is_cilkplus_vector_p): Likewise. + (cp_parser_late_parsing_elem_fn_info): Likewise. + (cp_parser_omp_clause_name): Added a check for "mask", "nomask" + and "vectorlength" clauses when Cilk Plus is enabled. + (cp_parser_omp_clause_linear): Added a new parameter of type bool + and emit a sorry message when step size is a parameter. + * parser.h (cp_parser::cilk_simd_fn_info): New field. + * decl.c (grokfndecl): Added flag_enable_cilkplus along with + flag_openmp. + * pt.c (apply_late_template_attributes): Likewise. + +2014-01-23 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/58809 + * semantics.c (finish_omp_reduction_clause): Reject + BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs. + 2014-01-22 Ville Voutilainen <ville.voutilainen@gmail.com> PR c++/59482 |