Fix PR c++/69091 (ICE with operator overload having 'auto' return type)
[platform/upstream/gcc.git] / gcc / cp / ChangeLog
1 2016-01-16  Patrick Palka  <ppalka@gcc.gnu.org>
2
3         PR c++/69091
4         * pt.c (type_dependent_expression_p): For a function template
5         specialization, a type is dependent iff any of its template
6         arguments are.
7
8 2016-01-16  Patrick Palka  <ppalka@gcc.gnu.org>
9
10         * cp-array-notation.c (cp_expand_cond_array_notations): Return
11         error_mark_node only if find_rank failed, not if it was
12         successful.
13
14 2016-01-16  Patrick Palka  <ppalka@gcc.gnu.org>
15
16         PR c++/68936
17         * tree.c (build_min_non_dep_call_vec): Don't retain the
18         KOENIG_LOOKUP_P flag of the non-dependent expression that's
19         been built.
20         (build_min_non_dep_op_overload): Instead, do it here.
21
22 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
23
24         PR bootstrap/68271
25         * parser.h (cp_token): Remove pragma_kind field.  Add comment
26         with number of unused bits.
27         * parser.c (eof_token): Remove pragma_kind field initializer.
28         (cp_lexer_get_preprocessor_token): Don't set pragma_kind
29         field, don't clear CPP_PRAGMA u.value.
30         (cp_parser_pragma_kind): New function.
31         (cp_parser_omp_sections_scope, cp_parser_oacc_kernels_parallel,
32         cp_parser_omp_construct, cp_parser_initial_pragma,
33         cp_parser_pragma): Use cp_parser_pragma_kind instead of accessing
34         pragma_kind field.
35
36 2016-01-15  Jason Merrill  <jason@redhat.com>
37
38         PR c++/68847
39         * call.c (build_cxx_call): Use fold_non_dependent_expr.
40
41         * typeck2.c (cxx_incomplete_type_diagnostic): Use the location of
42         value.
43
44         PR c++/69257
45         * typeck.c (decay_conversion): Don't call mark_rvalue_use for
46         array/function-to-pointer conversion.  Call
47         complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
48         * call.c (convert_like_real): Print call context if
49         decay_conversion errors.
50
51 2016-01-14  Tom de Vries  <tom@codesourcery.com>
52
53         PR tree-optimization/68773
54         * parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
55         set force_output.
56
57 2016-01-14  Jason Merrill  <jason@redhat.com>
58
59         PR c++/69261
60         * constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
61
62 2016-01-12  Marek Polacek  <polacek@redhat.com>
63
64         PR c++/68979
65         * constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
66         error_at and adjust the return value.
67
68 2016-01-12  Jakub Jelinek  <jakub@redhat.com>
69
70         PR objc++/68511
71         PR c++/69213
72         * cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
73         GS_ERROR whenever seen_error (), only if *expr_p contains
74         cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.
75
76         PR c++/66808
77         PR c++/69000
78         * pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.
79
80 2016-01-11  Jason Merrill  <jason@redhat.com>
81
82         PR c++/69131
83         * method.c (walk_field_subobs): Add dtor_from_ctor parm.
84         (process_subob_fn): Likewise.  Don't consider triviality if true.
85         (synthesize_method_walk): Pass it.
86
87 2016-01-11  David Malcolm  <dmalcolm@redhat.com>
88
89         PR c++/68795
90         * parser.c (cp_parser_postfix_expression): Initialize
91         close_paren_loc to UNKNOWN_LOCATION; only use it if
92         it has been written to by
93         cp_parser_parenthesized_expression_list.
94         (cp_parser_parenthesized_expression_list): Document the behavior
95         with respect to the CLOSE_PAREN_LOC param.
96
97 2016-01-11  Jakub Jelinek  <jakub@redhat.com>
98
99         PR c++/69211
100         * cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
101         folded operands have side-effects, but folding changed any of them,
102         build a new tree with the folded operands instead of returning the
103         unfolded tree.
104
105 2016-01-09  Marek Polacek  <polacek@redhat.com>
106
107         PR c++/69113
108         * decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.
109
110 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
111
112         PR c++/69164
113         * class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.
114
115 2016-01-08  Jason Merrill  <jason@redhat.com>
116
117         PR c++/69158
118         * constexpr.c (cxx_fold_indirect_ref): Handle array type differing
119         in completion.
120
121 2016-01-08  Marek Polacek  <polacek@redhat.com>
122
123         PR c++/68449
124         * constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
125
126 2016-01-08  Jason Merrill  <jason@redhat.com>
127
128         * constexpr.c (cxx_eval_call_expression): Remove convert_to_void
129         workaround.
130
131         PR c++/68983
132         PR c++/67557
133         * cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
134         TREE_ADDRESSABLE type.
135
136         PR c++/68983
137         PR c++/67557
138         * call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
139
140 2016-01-05  Nathan Sidwell  <nathan@acm.org>
141
142         PR c++/58583
143         * pt.c (build_non_dependent_expr): Don't try a checking fold when
144         parsing an nsdmi.
145
146 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
147
148         Update copyright years.
149 \f
150 Copyright (C) 2016 Free Software Foundation, Inc.
151
152 Copying and distribution of this file, with or without modification,
153 are permitted in any medium without royalty provided the copyright
154 notice and this notice are preserved.