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