1 2016-01-27 Marek Polacek <polacek@redhat.com>
4 * constexpr.c (cxx_eval_array_reference): Evaluate the number of
7 2016-01-26 Jason Merrill <jason@redhat.com>
10 * constexpr.c (register_constexpr_fundef): Keep the un-massaged body.
11 (cxx_eval_call_expression): Don't look through clones.
12 * optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias.
13 * semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of
16 2016-01-26 Jason Merrill <jason@redhat.com>
19 * constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT
20 and TREE_SIDE_EFFECTS.
21 (cxx_eval_constant_expression) [CONSTRUCTOR]: Call
22 verify_constructor_flags.
24 2016-01-26 Jakub Jelinek <jakub@redhat.com>
27 * cp-gimplify.c (cp_fold): If some operand folds to error_mark_node,
28 return error_mark_node instead of building trees with error_mark_node
31 2016-01-26 David Malcolm <dmalcolm@redhat.com>
34 * error.c (print_instantiation_partial_context_line): Add missing
35 newlines from output for the t == NULL case.
36 (print_instantiation_partial_context): Remove call to pp_newline.
38 2016-01-24 Patrick Palka <ppalka@gcc.gnu.org>
41 2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
46 * decl.c (grokdeclarator): Don't decay array parameter type to
47 a pointer type if it's dependent.
48 (grokparms): Invoke strip_top_quals instead of directly invoking
49 cp_build_qualified_type.
50 * pt.c (decay_dependent_array_parm_type): New static function.
51 (type_unification_real): Call decay_dependent_array_parm_type
52 to decay a dependent array parameter type to its corresponding
53 pointer type before unification.
54 (more_specialized_fn): Likewise.
55 (get_bindings): Likewise.
56 * tree.c (cp_build_qualified_type): Trivial typofix in
59 2016-01-23 Martin Sebor <msebor@redhat.com>
63 * decl2.c (is_late_template_attribute): Handle dependent argument
64 to attribute align and attribute vector_size.
66 2016-01-21 Jason Merrill <jason@redhat.com>
69 * lambda.c (lambda_capture_field_type): Handle 'this' specially
70 for init-capture, too.
73 * decl.c (type_is_deprecated): Don't look into a typedef.
77 * decl.c (copy_type_enum): Respect TYPE_USER_ALIGN.
80 * decl.c (start_enum): Add attributes parameter.
81 * parser.c (cp_parser_enum_specifier): Pass it.
82 * pt.c (lookup_template_class_1): Pass it.
85 2016-01-19 Jason Merrill <jason@redhat.com>
88 * pt.c (convert_template_argument): Handle VAR_DECL properly.
90 2016-01-19 Marek Polacek <polacek@redhat.com>
93 * constexpr.c (clear_cv_cache): New.
94 * cp-gimplify.c (clear_fold_cache): New.
95 * cp-tree.h (clear_cv_cache, clear_fold_cache): Declare.
96 * decl.c (finish_enum_value_list): Call them.
99 * pt.c (tsubst_copy): Mark elements in expanded vector as used.
101 2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
106 * decl.c (grokdeclarator): Don't decay array parameter type to
107 a pointer type if it's dependent.
108 (grokparms): Invoke strip_top_quals instead of directly invoking
109 cp_build_qualified_type.
110 * pt.c (decay_dependent_array_parm_type): New static function.
111 (type_unification_real): Call decay_dependent_array_parm_type
112 to decay a dependent array parameter type to its corresponding
113 pointer type before unification.
114 (more_specialized_fn): Likewise.
115 (get_bindings): Likewise.
116 * tree.c (cp_build_qualified_type): Trivial typofix in
119 2016-01-18 Jason Merrill <jason@redhat.com>
121 * cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.
123 * cp-gimplify.c (cp_fold): Remove unnecessary special cases.
126 * cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify. Do fold COND_EXPR.
127 (contains_label_1, contains_label_p): Remove.
129 2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
132 * pt.c (type_dependent_expression_p): For a function template
133 specialization, a type is dependent iff any of its template
136 2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
138 * cp-array-notation.c (cp_expand_cond_array_notations): Return
139 error_mark_node only if find_rank failed, not if it was
142 2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
145 * tree.c (build_min_non_dep_call_vec): Don't retain the
146 KOENIG_LOOKUP_P flag of the non-dependent expression that's
148 (build_min_non_dep_op_overload): Instead, do it here.
150 2016-01-15 Jakub Jelinek <jakub@redhat.com>
153 * parser.h (cp_token): Remove pragma_kind field. Add comment
154 with number of unused bits.
155 * parser.c (eof_token): Remove pragma_kind field initializer.
156 (cp_lexer_get_preprocessor_token): Don't set pragma_kind
157 field, don't clear CPP_PRAGMA u.value.
158 (cp_parser_pragma_kind): New function.
159 (cp_parser_omp_sections_scope, cp_parser_oacc_kernels_parallel,
160 cp_parser_omp_construct, cp_parser_initial_pragma,
161 cp_parser_pragma): Use cp_parser_pragma_kind instead of accessing
164 2016-01-15 Jason Merrill <jason@redhat.com>
167 * call.c (build_cxx_call): Use fold_non_dependent_expr.
169 * typeck2.c (cxx_incomplete_type_diagnostic): Use the location of
173 * typeck.c (decay_conversion): Don't call mark_rvalue_use for
174 array/function-to-pointer conversion. Call
175 complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
176 * call.c (convert_like_real): Print call context if
177 decay_conversion errors.
179 2016-01-14 Tom de Vries <tom@codesourcery.com>
181 PR tree-optimization/68773
182 * parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
185 2016-01-14 Jason Merrill <jason@redhat.com>
188 * constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
190 2016-01-12 Marek Polacek <polacek@redhat.com>
193 * constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
194 error_at and adjust the return value.
196 2016-01-12 Jakub Jelinek <jakub@redhat.com>
200 * cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
201 GS_ERROR whenever seen_error (), only if *expr_p contains
202 cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.
206 * pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.
208 2016-01-11 Jason Merrill <jason@redhat.com>
211 * method.c (walk_field_subobs): Add dtor_from_ctor parm.
212 (process_subob_fn): Likewise. Don't consider triviality if true.
213 (synthesize_method_walk): Pass it.
215 2016-01-11 David Malcolm <dmalcolm@redhat.com>
218 * parser.c (cp_parser_postfix_expression): Initialize
219 close_paren_loc to UNKNOWN_LOCATION; only use it if
220 it has been written to by
221 cp_parser_parenthesized_expression_list.
222 (cp_parser_parenthesized_expression_list): Document the behavior
223 with respect to the CLOSE_PAREN_LOC param.
225 2016-01-11 Jakub Jelinek <jakub@redhat.com>
228 * cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
229 folded operands have side-effects, but folding changed any of them,
230 build a new tree with the folded operands instead of returning the
233 2016-01-09 Marek Polacek <polacek@redhat.com>
236 * decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.
238 2016-01-09 Jakub Jelinek <jakub@redhat.com>
241 * class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.
243 2016-01-08 Jason Merrill <jason@redhat.com>
246 * constexpr.c (cxx_fold_indirect_ref): Handle array type differing
249 2016-01-08 Marek Polacek <polacek@redhat.com>
252 * constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
254 2016-01-08 Jason Merrill <jason@redhat.com>
256 * constexpr.c (cxx_eval_call_expression): Remove convert_to_void
261 * cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
262 TREE_ADDRESSABLE type.
266 * call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
268 2016-01-05 Nathan Sidwell <nathan@acm.org>
271 * pt.c (build_non_dependent_expr): Don't try a checking fold when
274 2016-01-04 Jakub Jelinek <jakub@redhat.com>
276 Update copyright years.
278 Copyright (C) 2016 Free Software Foundation, Inc.
280 Copying and distribution of this file, with or without modification,
281 are permitted in any medium without royalty provided the copyright
282 notice and this notice are preserved.