summaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r--gcc/cp/ChangeLog153
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