]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
[PATCH] PR Fortran/93263 Correct test case
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
49789fd0
IS
12020-01-18 Iain Sandoe <iain@sandoe.co.uk>
2
3 * c-common.c (co_await, co_yield, co_return): New.
4 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
5 RID_CO_RETURN): New enumeration values.
6 (D_CXX_COROUTINES): Bit to identify coroutines are active.
7 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
8 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
9 * c.opt (fcoroutines): New command-line switch.
10
4bc1899b
DM
112020-01-10 David Malcolm <dmalcolm@redhat.com>
12
13 * c-format.c (local_event_ptr_node): New.
14 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
15 (init_dynamic_diag_info): Initialize local_event_ptr_node.
16 * c-format.h (T_EVENT_PTR): New define.
17
f25e33fa
MS
182020-01-10 Martin Sebor <msebor@redhat.com>
19
20 PR c/93132
21 * c-attribs.c (append_access_attrs): Validate against the translated
22 access string rather than the human-readable representation.
23
8d9254fc
JJ
242020-01-01 Jakub Jelinek <jakub@redhat.com>
25
26 Update copyright years.
27
39292e25
EB
282019-12-20 Eric Botcazou <ebotcazou@adacore.com>
29
30 * c-ada-spec.h (decl_sloc): Delete.
31 * c-ada-spec.c (decl_sloc): Make static.
32
519d7496
JB
332019-12-19 Julian Brown <julian@codesourcery.com>
34
35 * c-common.h (c_omp_map_clause_name): Add prototype.
36 * c-omp.c (c_omp_map_clause_name): New function.
37 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
38 PRAGMA_OACC_CLAUSE_DETACH.
39
a6163563
JB
402019-12-19 Julian Brown <julian@codesourcery.com>
41 Maciej W. Rozycki <macro@codesourcery.com>
42 Tobias Burnus <tobias@codesourcery.com>
43 Thomas Schwinge <thomas@codesourcery.com>
44
45 * c-pragma.h (pragma_omp_clause): Add
46 PRAGMA_OACC_CLAUSE_NO_CREATE.
47
e8f1ade2
MS
482019-12-17 Martin Sebor <msebor@redhat.com>
49
50 PR c++/61339
51 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
52
368877a1
DM
532019-12-11 David Malcolm <dmalcolm@redhat.com>
54
55 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
56 implementation.
57 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
58
d68f5d45
DM
592019-12-09 David Malcolm <dmalcolm@redhat.com>
60
61 * c-format.c (range_label_for_format_type_mismatch::get_text):
62 Replace label_text ctor called with true with label_text::take.
63
d3e28653
DM
642019-12-09 David Malcolm <dmalcolm@redhat.com>
65
66 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
67 initial newline from expected outputs.
68 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
69 call to diagnostic_show_locus.
70
abd6d8cc
JJ
712019-12-06 Jakub Jelinek <jakub@redhat.com>
72
73 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
74 now.
75
7906797e
MP
762019-12-05 Marek Polacek <polacek@redhat.com>
77 Jakub Jelinek <jakub@redhat.com>
78
79 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
80 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
81
5c04da88
MP
822019-12-05 Marek Polacek <polacek@redhat.com>
83
84 PR c++/92271 - make __is_same alias for __is_same_as.
85 * c-common.c: Add __is_same, an alias for __is_same_as.
86
43aae289
MP
872019-12-03 Marek Polacek <polacek@redhat.com>
88
89 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
90 * c-cppbuiltin.c (c_cpp_builtins): Predefine
91 __cpp_aggregate_paren_init=201902 for -std=c++2a.
92
d7ddfbcb
JH
932019-11-30 Jan Hubicka <hubicka@ucw.cz>
94
95 * c-attribs.c (handle_symver_attribute): New function
96 (c_common_attributes): Add symver.
97
65ef05d0
RS
982019-11-30 Richard Sandiford <richard.sandiford@arm.com>
99
100 * c-common.c (pointer_int_sum): Use verify_type_context to check
101 whether the target allows pointer arithmetic for the types involved.
102 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
103 to check whether the target allows sizeof and alignof operations
104 for the types involved.
105
1a291106
JM
1062019-11-27 Jason Merrill <jason@redhat.com>
107
108 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
109
05d6cb1a
JJ
1102019-11-26 Jakub Jelinek <jakub@redhat.com>
111
112 PR c++/61414
113 * c-attribs.c (handle_mode_attribute): Add mode attribute to
114 ENUMERAL_TYPEs.
115
5b8d9367
JM
1162019-11-25 Joseph Myers <joseph@codesourcery.com>
117
118 PR c/91985
119 * c-common.c (c_common_type_for_mode): Handle decimal
120 floating-point types being NULL_TREE.
121 * c-format.c (get_format_for_type_1): Handle specified types being
122 NULL_TREE.
123 * c-lex.c (interpret_float): Give an error for decimal
124 floating-point constants when decimal floating-point not
125 supported.
126
1fbf51cb
JJ
1272019-11-23 Jakub Jelinek <jakub@redhat.com>
128
129 PR middle-end/83859
130 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
131 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
132 group warning with inform together.
133 (handle_access_attribute): Formatting fix.
134
761df906
JJ
1352019-11-22 Jakub Jelinek <jakub@redhat.com>
136
bdaf8be1
JJ
137 PR c/90677
138 * c-common.h (identifier_global_tag): Declare.
139 * c-format.c (get_pointer_to_named_type): Renamed to ...
140 (get_named_type): ... this. Use identifier_global_tag instead of
141 identifier_global_value, handle the return value being a TYPE_P.
142 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
143 to call get_named_type instead. Formatting fixes.
144
c2ecce6d 145 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
146 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
147 and __cpp_generic_lambdas for -std=c++2a. Define
148 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
149 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
150 __cpp_concepts for -std=c++2a.
151
54aa6b58
MS
1522019-11-22 Martin Sebor <msebor@redhat.com>
153
154 PR middle-end/83859
155 * c-attribs.c (handle_access_attribute): New function.
156 (c_common_attribute_table): Add new attribute.
157 (get_argument_type): New function.
158 (append_access_attrs): New function.
159 (get_nonnull_operand): Rename...
160 (get_attribute_operand): ...to this.
161 * c-common.c (get_nonnull_operand): Rename...
162 (get_attribute_operand): ...to this.
163
6c80b1b5
JM
1642019-11-21 Joseph Myers <joseph@codesourcery.com>
165
166 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
167 of warning.
168
192961ff
JM
1692019-11-19 Joseph Myers <joseph@codesourcery.com>
170
171 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
172 warning for standard attributes mixed with fallthrough attributes.
173
f8aea5e3
JM
1742019-11-15 Joseph Myers <joseph@codesourcery.com>
175
176 * c-attribs.c (handle_fallthrough_attribute): Remove static.
177 * c-common.h (handle_fallthrough_attribute): Declare.
178
2cc94aa8
JM
1792019-11-15 Joseph Myers <joseph@codesourcery.com>
180
181 * c-attribs.c (handle_deprecated_attribute): Remove static.
182 * c-common.h (handle_deprecated_attribute): Declare.
183
7c5890cc
JM
1842019-11-14 Joseph Myers <joseph@codesourcery.com>
185
186 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
187 char for C.
188
b2417b59
JJ
1892019-11-14 Jakub Jelinek <jakub@redhat.com>
190
d0ec7c93
JJ
191 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
192 valid vendors.
193
b2417b59
JJ
194 * c-omp.c (c_omp_check_context_selector): Handle name lists
195 containing string literals. Don't diagnose atomic_default_mem_order
196 with multiple props.
197
00be2a5f
JM
1982019-11-13 Joseph Myers <joseph@codesourcery.com>
199
200 * c-cppbuiltin.c (builtin_define_float_constants): Also define
201 NORM_MAX constants. Update call to get_max_float.
202 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
203 constants.
204
2dbad62d
EB
2052019-11-13 Eric Botcazou <ebotcazou@adacore.com>
206
207 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
208 (dump_forward_type): Do not generate a declaration for function types.
209 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
210 of the component type if it is declared in another file.
211
6ed76044
ML
2122019-11-12 Martin Liska <mliska@suse.cz>
213
214 * c-opts.c (c_common_post_options):
215 Use SET_OPTION_IF_UNSET.
216
62aee289
MR
2172019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
218 Frederik Harwath <frederik@codesourcery.com>
219
220 gcc/c-family/
221 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
222 constant.
223 * c-pragma.c (oacc_pragmas): Add "serial" entry.
224
f486280c
RS
2252019-11-08 Richard Sandiford <richard.sandiford@arm.com>
226
227 * c-common.h (gnu_vector_type_p): New function.
228 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
229 vectors to satisfy gnu_vector_type_p.
230 (c_build_vec_convert): Likewise __builtin_convertvector.
231 (convert_vector_to_array_for_subscript): Likewise when applying
232 implicit vector to array conversion.
233 (scalar_to_vector): Likewise when converting vector-scalar
234 operations to vector-vector operations.
235
017c6491
JM
2362019-11-08 Joseph Myers <joseph@codesourcery.com>
237
238 * c.opt (Wold-style-definition): Initialize to -1.
239 * c-opts.c (c_common_post_options): Set warn_old_style_definition
240 to flag_isoc2x if not set explicitly.
241
c01bd174
JM
2422019-11-07 Joseph Myers <joseph@codesourcery.com>
243
244 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
245
0df65305
JM
2462019-11-05 Jason Merrill <jason@redhat.com>
247
248 * c-opts.c (c_common_post_options): -fconcepts-ts implies
249 -fconcepts.
250
e0c866dd
KK
2512019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
252
253 * c-opts.c (c_common_post_options): Update
254 latest_abi_version.
255
f968ef9b
JJ
2562019-11-02 Jakub Jelinek <jakub@redhat.com>
257
d0c464d2
JJ
258 * c-common.h (c_omp_get_context_selector): Remove.
259 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
260 and renamed to omp_get_context_selector.
261
917dd789
JJ
262 * c-omp.c (c_omp_mark_declare_variant): Use
263 omp_context_selector_set_compare.
264
f968ef9b
JJ
265 PR c++/88335 - Implement P1073R3: Immediate functions
266 * c-common.h (enum rid): Add RID_CONSTEVAL.
267 * c-common.c (c_common_reswords): Add consteval.
268
5f6705b7
JJ
2692019-11-01 Martin Sebor <msebor@redhat.com>
270
271 PR middle-end/91679
272 PR middle-end/91647
273 PR middle-end/91463
274 PR middle-end/92312
275 * c-pretty-print.c (direct_abstract_declarator): Print
276 bound in zero-length arrays.
277 * c.opt (-Wzero-length-bounds): New option.
278
43f1814c
NS
2792019-10-30 Nathan Sidwell <nathan@acm.org>
280
281 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
282 macros.
283
ad1539d5
MS
2842019-10-28 Martin Sebor <msebor@redhat.com>
285
286 PR c/66970
287 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
288 even when only preprocessing.
289 * c-common.h (names_builtin_p): Declare new function.
290 * c-lex.c (init_c_lex): Set has_builtin.
291 (c_common_has_builtin): Define a new function.
292 * c-ppoutput.c (init_pp_output): Set has_builtin.
293
135df52c
JJ
2942019-10-24 Jakub Jelinek <jakub@redhat.com>
295
296 * c-common.h (c_omp_context_selector_matches): Remove.
297 * c-omp.c (c_omp_context_selector_matches): Remove.
298 * c-attribs.c (c_common_attribute_table): Add
299 "omp declare target {host,nohost,block}" attributes.
300
8ad0c477
JM
3012019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
302
303 * c-lex.c (c_common_has_attribute): Update nodiscard value.
304
56898e43
RS
3052019-10-14 Richard Sandiford <richard.sandiford@arm.com>
306
307 * c-common.h (user_facing_original_type_p): Declare.
308 * c-common.c: Include c-spellcheck.h.
309 (user_facing_original_type_p): New function.
310
20de9568
JJ
3112019-10-12 Jakub Jelinek <jakub@redhat.com>
312
313 * c-common.h (c_omp_mark_declare_variant,
314 c_omp_context_selector_matches): Declare.
315 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
316 and hsa-common.h.
317 (c_omp_get_context_selector): Support second argument NULL.
318 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
319 functions.
320 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
321 attribute, add "omp declare variant base" and
322 "omp declare variant variant" attributes.
323
175a85b2
JM
3242019-10-11 Joseph Myers <joseph@codesourcery.com>
325
326 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
327 CppReason(CPP_W_C11_C2X_COMPAT).
328
fe2bc27c
JM
3292019-10-11 Joseph Myers <joseph@codesourcery.com>
330
331 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
332 _Decimal64 and _Decimal128.
333
27dfdc0f
JM
3342019-10-10 Joseph Myers <joseph@codesourcery.com>
335
336 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
337 types if DFP not supported.
338
94e7f906
JJ
3392019-10-10 Jakub Jelinek <jakub@redhat.com>
340
341 * c-common.h (c_omp_check_context_selector,
342 c_omp_get_context_selector): Declare.
343 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
344 in diagnostic message.
345 (c_omp_check_context_selector, c_omp_get_context_selector): New
346 functions.
347 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
348 attribute.
349 (handle_omp_declare_variant_attribute): New function.
350
a7160771
MS
3512019-10-09 Martin Sebor <msebor@redhat.com>
352
353 PR tree-optimization/90879
354 * c.opt (-Wstring-compare): New option.
355
cb57504a
JM
3562019-10-08 Andrew Sutton <asutton@lock3software.com>
357 Jason Merrill <jason@redhat.com>
358
359 Update the concepts implementation to conform to the C++20
360 specification, improve compile times, and generally clean up
361 the implementation.
362
363 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
364 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
365 * c.opt: Add -Wconcepts-ts.
366 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
367 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
368 (set_std_cxx2a): Enable concepts by default.
369
fbb2a6dc
JM
3702019-10-08 Joseph Myers <joseph@codesourcery.com>
371
372 * c-opts.c (c_common_post_options): Set
373 -fno-fp-int-builtin-inexact for C2X.
374
8e007055
JJ
3752019-10-05 Jakub Jelinek <jakub@redhat.com>
376
377 PR c++/91369 - Implement P0784R7: constexpr new
378 * c-cppbuiltin.c (c_cpp_builtins): Predefine
379 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
380
843f104d
JM
3812019-10-04 Joseph Myers <joseph@codesourcery.com>
382
383 PR c/82752
384 * c-format.c (C_STD_VER): Handle C2x.
385 (C_STD_NAME): Likewise.
386 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
387 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
388 modifier allowed and 'p' flag.
389 * c-format.h (enum format_std_version): Add STD_C2X.
390 (struct format_char_info): Mention 'p' in comment on flags2.
391
e9c9a142
DM
3922019-10-01 David Malcolm <dmalcolm@redhat.com>
393
394 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
395 calling diagnostic_show_locus, rather than destroying it afterwards.
396
7552c36a
JJ
3972019-10-01 Jakub Jelinek <jakub@redhat.com>
398
399 PR c++/91925
400 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
401 with NULL DECL_FIELD_OFFSET.
402
8209db25
RS
4032019-10-01 Richard Sandiford <richard.sandiford@arm.com>
404
405 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
406 has a type name, use it in preference to the __vector syntax.
407
9343bf99
RS
4082019-09-30 Richard Sandiford <richard.sandiford@arm.com>
409
410 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
411 two spaces between a comma and "...".
412
59bc434a
JJ
4132019-09-27 Jakub Jelinek <jakub@redhat.com>
414
415 PR c++/88203
416 * c-common.h (c_omp_predefined_variable): Declare.
417 * c-omp.c (c_omp_predefined_variable): New function.
418 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
419 for predefined variables.
420
c6447c20
RS
4212019-09-27 Richard Sandiford <richard.sandiford@arm.com>
422
423 * c-common.h (build_function_call_vec): Take the original
424 function decl as an optional final parameter.
425 (check_builtin_function_arguments): Take the original function decl.
426 * c-common.c (check_builtin_function_arguments): Likewise.
427 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
428 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
429
c4438114
JM
4302019-09-15 Jason Merrill <jason@redhat.com>
431
432 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
433 fold_for_warn in "|| mask" warning.
434
68a57628
ML
4352019-09-10 Martin Liska <mliska@suse.cz>
436
437 * c.opt: Use newly added WarnRemoved.
438
f48ef52e
ML
4392019-09-09 Martin Liska <mliska@suse.cz>
440
441 * c.opt: Update comment of removed
442 options that are preserved only for backward
443 compatibility.
444
67f6e649
ML
4452019-09-06 Martin Liska <mliska@suse.cz>
446
447 PR c++/91125
448 * c-common.c: Remove definition of flag_use_repository.
449 * c-common.h: Likewise.
450 * c-opts.c (c_common_handle_option):
451 Do not handle OPT_frepo option.
452 * c.opt: Mark the option with Deprecated.
453
db9d2274
MP
4542019-09-04 Marek Polacek <polacek@redhat.com>
455
456 * c.opt (fdeduce-init-list): Ignored.
457
68e2c199
PK
4582019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
459
460 PR c/78736
461 * c.opt (Wenum-conversion): New option.
462
7a4418a5
JL
4632019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
464
465 * c-attribs.c (handle_section_attribute): Call the
466 handle_generic_attribute target hook after performing target
467 independent processing.
468 (handle_noinit_attribute): Likewise.
469
5f76ab15
ILT
4702019-09-03 Ian Lance Taylor <iant@golang.org>
471
472 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
473 when using -fgo-dump-spec.
474
ae0d3f6a
ML
4752019-09-02 Martin Liska <mliska@suse.cz>
476
477 PR c++/91155
478 * c-common.c (fname_as_string): Use cxx_printable_name for
479 __PRETTY_FUNCTION__ same as was used before r265711.
480
8a902edb
MP
4812019-08-28 Marek Polacek <polacek@redhat.com>
482
483 Implement P1152R4: Deprecating some uses of volatile.
484 PR c++/91361
485 * c-opts.c (c_common_post_options): Enable -Wvolatile by
486 default for C++2a, unless -Wno-deprecated.
487 * c.opt (Wvolatile): New warning.
488
4742dbe7
MP
4892019-08-28 Marek Polacek <polacek@redhat.com>
490
491 PR c++/91360 - Implement C++20 P1143R2: constinit.
492 * c-common.c (c_common_reswords): Add constinit and __constinit.
493 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
494 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
495 RID_LAST_CXX20.
496 (D_CXX20): Define.
497 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
498 * c-format.c (cxx_keywords): Add "constinit".
499 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
500
6a074892
JJ
5012019-08-27 Jakub Jelinek <jakub@redhat.com>
502
503 PR c++/91415
504 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
505 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
506 like COMPOUND_EXPR rather than normal expression.
507
22f8849d
IS
5082019-08-23 Iain Sandoe <iain@sandoe.co.uk>
509
510 PR pch/61250
511 * c-lex.c (c_lex_with_flags): Don't call
512 c_common_no_more_pch () from here.
513
df375b03
JJ
5142019-08-23 Jakub Jelinek <jakub@redhat.com>
515
516 PR middle-end/91283
517 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
518 instead of flag_excess_precision_cmdline.
519 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
520 * c-opts.c (c_common_post_options): Likewise.
521
14b7950f
MS
5222019-08-22 Martin Sebor <msebor@redhat.com>
523
524 PR middle-end/91490
525 * c-common.c (braced_list_to_string): Add argument and overload.
526 Handle flexible length arrays and unions.
527
8bb2ee59
EB
5282019-08-21 Eric Botcazou <ebotcazou@adacore.com>
529
530 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
531 function declarations where arguments are missing. Rename variables.
532
21c1e205
RB
5332019-08-15 Richard Biener <rguenther@suse.de>
534
535 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
536 enabled, define __SIZETYPE__.
537
f0033821
CL
5382019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
539
540 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
541 exclusion with "section" attribute.
542 (attr_noinit_exclusions): New table.
543 (handle_noinit_attribute): New function.
544
4d732405
RS
5452019-08-13 Richard Sandiford <richard.sandiford@arm.com>
546
547 PR middle-end/91421
548 * c-common.c (resolve_overloaded_builtin): Use
549 copy_decl_built_in_function.
550
51ad8481
MS
5512019-08-13 Martin Sebor <msebor@redhat.com>
552
553 PR c/80619
554 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
555 (asm_fprintf_length_spec): Same.
556 * c-format.h (format_lengths): Add FMT_LEN_w.
557
77eb117f
JJ
5582019-08-10 Jakub Jelinek <jakub@redhat.com>
559
560 * c-pragma.h (enum pragma_omp_clause): Add
561 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
562
398e3feb
JJ
5632019-08-07 Jakub Jelinek <jakub@redhat.com>
564
565 * c-pragma.h (enum pragma_omp_clause): Add
566 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
567 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
568 enumeration value.
569
ab574db6
MP
5702019-08-05 Marek Polacek <polacek@redhat.com>
571
572 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
573 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
574 default for C++2a, unless -Wno-deprecated.
575 * c.opt (Wcomma-subscript): New warning.
576
554a530f
JJ
5772019-07-20 Jakub Jelinek <jakub@redhat.com>
578
579 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
580 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
581 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
582 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
583 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
584 constructs with the loop construct.
585
1a888209
JJ
5862019-07-13 Jakub Jelinek <jakub@redhat.com>
587
588 PR c/91149
589 * c-omp.c (c_omp_split_clauses): Fix a pasto in
590 OMP_CLAUSE_REDUCTION_TASK handling.
591
1fdd6f04
JJ
5922019-07-12 Jakub Jelinek <jakub@redhat.com>
593
594 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
595 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
596
99b1c316
MS
5972019-07-09 Martin Sebor <msebor@redhat.com>
598
599 PR c++/61339
1fdd6f04 600 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
601 and others to class.
602 * c-pretty-print.h: Same.
603
6c1dae73
MS
6042019-07-09 Martin Sebor <msebor@redhat.com>
605
606 PR c++/61339
607 * c-format.c (check_argument_type): Change class-key from class to
608 struct and vice versa to match convention and avoid -Wclass-is-pod
609 and -Wstruct-no-pod.
610 * c-pretty-print.h: Same.
611
8ba6ea87
ML
6122019-07-03 Martin Liska <mliska@suse.cz>
613
614 * c-common.c (try_to_locate_new_include_insertion_point): Remove
615 dead assignemts.
616
83eb9522
JJ
6172019-07-03 Jakub Jelinek <jakub@redhat.com>
618
619 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
620 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
621 with OMP_PARALLEL.
622
1c6ffbab
QZ
6232019-07-02 qing zhao <qing.zhao@oracle.com>
624
625 PR preprocessor/90581
626 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
627 * c.opt: Add new option -fmax-include-depth.
628
7ffc7de5
JM
6292019-06-26 Jason Merrill <jason@redhat.com>
630
631 PR c++/55442 - memory-hog with highly recursive constexpr.
632 * c.opt (fconstexpr-loop-limit): New.
633
361af3e4
JJ
6342019-06-25 Jakub Jelinek <jakub@redhat.com>
635
636 PR sanitizer/90954
637 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
638 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
639
ab20d992
JJ
6402019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
641
642 * c-common.c (c_common_nodes_and_builtins): Define
643 alternate "__intN__" name for "__intN" types.
644
f4af4019
JH
6452019-06-24 Jan Hubicka <jh@suse.cz>
646
647 * c-common.c (braced_lists_to_strings): Check that
648 type is array or integer prior checking string flag.
649
da9e9b57
MB
6502019-06-21 Matthew Beliveau <mbelivea@redhat.com>
651
652 PR c++/90875 - added -Wswitch-outside-range option
653 * c.opt (Wswitch-outside-range): Added new option.
654 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
655
3f3d6a6f
MP
6562019-06-21 Marek Polacek <polacek@redhat.com>
657
658 PR c++/90953 - ICE with -Wmissing-format-attribute.
659 * c-common.c (check_function_arguments_recurse): Use
660 get_attribute_name.
661 (check_missing_format_attribute): Likewise.
662
1bf32c11
MP
6632019-06-19 Marek Polacek <polacek@redhat.com>
664
665 PR c++/60364 - noreturn after first decl not diagnosed.
666 * c-attribs.c (handle_noreturn_attribute): No longer static.
667 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
668 Declare.
669 * c-format.c (check_function_format): Use get_attribute_name.
670
a04c0734
MS
6712019-06-19 Martin Sebor <msebor@redhat.com>
672
673 PR translation/90156
674 * c-format.c (function_format_info::format_type): Adjust type.
675 (function_format_info::is_raw): New member.
676 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
677 (decode_format_attr): Adjust call to decode_format_type.
678 Avoid a redundant call to convert_format_name_to_system_name.
679 Avoid abbreviating the word "arguments" in a diagnostic.
680 (format_warning_substr): New function.
681 (avoid_dollar_number): Quote dollar sign in a diagnostic.
682 (finish_dollar_format_checking): Same.
683 (check_format_info): Same.
684 (struct baltoks_t): New.
685 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
686 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
687 functions.
688 (check_format_info_main): Call check_plain. Use baltoks_t. Call
689 maybe_diag_unbalanced_tokens.
690 (handle_format_attribute): Spell out the word "arguments" in
691 a diagnostic.
692
d3786ebb
MB
6932019-06-11 Matthew Beliveau <mbelivea@redhat.com>
694
695 PR c++/90449 - add -Winaccessible-base option.
696 * c.opt (Winaccessible-base): New option.
697
bf38f7e9
JJ
6982019-06-10 Jakub Jelinek <jakub@redhat.com>
699
700 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
701 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
702 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
703 combined/composite constructs where it is not allowed. Copy over
704 OMP_CLAUSE_REDUCTION_INSCAN.
705
0ecf545c
MS
7062019-06-05 Martin Sebor <msebor@redhat.com>
707
708 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
709 (handle_alias_ifunc_attribute): Same.
710 (handle_copy_attribute): Same.
711 (handle_weakref_attribute): Same.
712 (handle_nonnull_attribute): Same.
713 * c-warn.c (warn_for_sign_compare): Same.
714 (warn_for_restrict): Same.
715 * c.opt: Same.
716
36b34127
MS
7172019-06-05 Martin Sebor <msebor@redhat.com>
718
719 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
720 * c.opt (-Wformat-diag): Remove a spurious period.
721
357a352f
JJ
7222019-05-29 Jakub Jelinek <jakub@redhat.com>
723
724 PR c/90628
725 * c-common.c (check_builtin_function_arguments)
726 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
727 as last argument.
728
2b8235ea
EB
7292019-05-23 Eric Botcazou <ebotcazou@adacore.com>
730
731 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
732
6d86ddc4
ML
7332019-05-22 Martin Liska <mliska@suse.cz>
734
735 PR lto/90500
736 * c-attribs.c (handle_copy_attribute): Do not copy
737 target_clones attribute.
738
419ba5b9
EB
7392019-05-21 Eric Botcazou <ebotcazou@adacore.com>
740
741 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
742 * c-ada-spec.c (print_assignment_operator): New function.
743 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
744 assignment operators declared as methods and filter out the others.
745
e03436e7
TS
7462019-05-17 Thomas Schwinge <thomas@codesourcery.com>
747
748 PR c/89433
749 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
750 "omp declare target".
751
a9c697b8
MS
7522019-05-16 Martin Sebor <msebor@redhat.com>
753
ab20d992
JJ
754 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
755 keywords, operators, and types in diagnostics.
756 (handle_scalar_storage_order_attribute): Same.
757 (handle_mode_attribute): Same.
758 (handle_visibility_attribute): Same.
759 (handle_assume_aligned_attribute): Same.
760 (handle_no_split_stack_attribute): Same.
761 * c-common.c (shorten_compare): Same.
762 (c_common_truthvalue_conversion): Same.
763 (cb_get_source_date_epoch): Same.
764 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
765 in diagnostics.
766 (interpret_float): Same.
767 * c-omp.c (c_finish_omp_for): Same.
768 * c-opts.c (c_common_post_options): Same.
769 * c-pch.c (c_common_pch_pragma): Same.
770 * c-pragma.c (pop_alignment): Same.
771 (handle_pragma_pack): Same.
772 (apply_pragma_weak): Same.
773 (handle_pragma_weak): Same.
774 (handle_pragma_scalar_storage_order): Same.
775 (handle_pragma_redefine_extname): Same.
776 (add_to_renaming_pragma_list): Same.
777 (maybe_apply_renaming_pragma): Same.
778 (push_visibility): Same.
779 (handle_pragma_visibility): Same.
780 (handle_pragma_optimize): Same.
781 (handle_pragma_message): Same.
782 * c-warn.c (warn_for_omitted_condop): Same.
783 (lvalue_error): Same.
a9c697b8 784
6b943512
RB
7852019-05-15 Richard Biener <rguenther@suse.de>
786
787 PR c/90474
788 * c-common.c (c_common_mark_addressable_vec): Also mark
789 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
790 c_mark_addressable.
ab20d992 791
b744fc85
NS
7922019-05-06 Nathan Sidwell <nathan@acm.org>
793
794 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
795
598f50d7
NS
7962019-04-30 Nathan Sidwell <nathan@acm.org>
797
798 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
799
5bcc5a3b
ML
8002019-04-30 Martin Liska <mliska@suse.cz>
801
802 * c-pragma.c (handle_pragma_diagnostic): Provide hints
803 for unknown options.
804
e78a87f7
RS
8052019-04-26 Richard Sandiford <richard.sandiford@arm.com>
806
807 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
808 the pointer target rather than the pointer itself.
809
c280b7ee
JJ
8102019-04-19 Jakub Jelinek <jakub@redhat.com>
811
812 PR c/89888
813 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
814 arguments.
815 (c_do_switch_warnings): Remove outside_range_p argument.
816 * c-common.c (check_case_bounds): Removed.
817 (c_add_case_label): Remove orig_type and outside_range_p arguments.
818 Don't call check_case_bounds. Fold low_value as well as high_value.
819 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
820 Check for case labels outside of range of original type here and
821 adjust them.
822
8e8225e6
JJ
8232019-04-12 Jakub Jelinek <jakub@redhat.com>
824
63b8a166
JJ
825 PR translation/90041
826 * c.opt (-fhandle-exceptions): Use %< and %> around option names
827 in the Warn diagnostics.
828
8e8225e6
JJ
829 PR c/89946
830 * c-attribs.c (handle_patchable_function_entry_attribute): Add
831 function comment. Warn if arguments of the attribute are not positive
832 integer constants.
833
53a3f614
EB
8342019-04-09 Eric Botcazou <ebotcazou@adacore.com>
835
836 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
837 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
838
22be5873
EB
8392019-04-07 Eric Botcazou <ebotcazou@adacore.com>
840
841 * c-ada-spec.c (is_float128): New predicate extracted from...
842 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
843 <REAL_TYPE>: ...here. Call it.
844
34facf20
DM
8452019-04-05 David Malcolm <dmalcolm@redhat.com>
846
847 PR c/89985
848 * c-warn.c (check_address_or_pointer_of_packed_member): Add
849 auto_diagnostic_group. Guard inform calls by result of
850 warning_at call.
851
05564120
MP
8522019-04-05 Marek Polacek <polacek@redhat.com>
853
ab20d992 854 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
855 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
856 of RHS.
857
7a506c3c
JM
8582019-04-03 Jason Merrill <jason@redhat.com>
859
860 PR c++/86586 - -fcompare-debug=-Wsign-compare.
861 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
862
ddeae8c8
MS
8632019-04-01 Martin Sebor <msebor@redhat.com>
864
865 PR c/89685
866 * c-attribs.c (handle_copy_attribute): Handle references and
867 non-constant expressions.
868
a15ffa22
JJ
8692019-03-22 Jakub Jelinek <jakub@redhat.com>
870
871 PR c++/87481
872 * c.opt (-fconstexpr-ops-limit=): New option.
873
36a3a7a3
JJ
8742019-03-21 Jakub Jelinek <jakub@redhat.com>
875
876 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
877 template param.
878
bec1da64
MS
8792019-03-19 Martin Sebor <msebor@redhat.com>
880
881 PR tree-optimization/89688
882 * c-common.c (braced_list_to_string): Make static.
883 (braced_lists_to_strings): Define new function.
884 * c-common.h (braced_list_to_string): Remove.
885 (braced_lists_to_strings): Declare.
886
1fe61adf
ML
8872019-03-12 Martin Liska <mliska@suse.cz>
888
889 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
890
93964ebd
ML
8912019-03-11 Martin Liska <mliska@suse.cz>
892
893 * c-opts.c (c_common_post_options): Wrap apostrophes
894 in gcc internal format with %'.
895
a3f9f006
ML
8962019-03-11 Martin Liska <mliska@suse.cz>
897
898 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
899 in a string format message and fix GNU coding style.
900 * c-common.c (vector_types_convertible_p): Likewise.
901 (c_build_vec_perm_expr): Likewise.
902 * c-indentation.c (get_visual_column): Likewise.
903 * c-opts.c (c_common_handle_option): Likewise.
904 (c_common_post_options): Likewise.
905 (sanitize_cpp_opts): Likewise.
906 * c-pch.c (c_common_pch_pragma): Likewise.
907 * c-pragma.c (handle_pragma_pack): Likewise.
908
1db01ff9
JJ
9092019-03-08 Jakub Jelinek <jakub@redhat.com>
910
911 PR tree-optimization/89550
912 * c-common.c (c_common_truthvalue_conversion): Only set
913 TREE_NO_WARNING if warning_at returned true.
914 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
915
ba790e6f
JJ
9162019-02-25 Sandra Loosemore <sandra@codesourcery.com>
917 Martin Sebor <msebor@gmail.com>
918
919 * c.opt (Wmissing-attributes): Clean up doc string.
920
7da73ba7
JJ
9212019-02-25 Jakub Jelinek <jakub@redhat.com>
922
923 PR c/89495
924 * c-format.c (maybe_read_dollar_number): Compute nargnum in
925 HOST_WIDE_INT type to avoid overflows and change overflow_flag
926 checking.
927
921bb9d1
RB
9282019-02-22 Richard Biener <rguenther@suse.de>
929
930 * c-pch.c (no_checksum): Remove.
931 (pch_init): Remove assertion that executable_checksum is not
932 all zero.
933 (c_common_valid_pch): Likewise.
934
e2ebb05c
MS
9352019-02-18 Martin Sebor <msebor@redhat.com>
936
937 PR middle-end/89294
938 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
939
3fe53000
DM
9402019-02-16 David Malcolm <dmalcolm@redhat.com>
941
942 PR c++/88680
943 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
944 implementing -Wtype-limits.
945
28a8cef1
MS
9462019-02-11 Martin Sebor <msebor@redhat.com>
947
948 PR c++/87996
949 * c-common.c (invalid_array_size_error): New function.
950 (valid_array_size_p): Call it. Handle size as well as type.
951 * c-common.h (valid_constant_size_p): New function.
952 (enum cst_size_error): New type.
953
ec2be203
DM
9542019-01-31 David Malcolm <dmalcolm@redhat.com>
955
956 PR c/89122
957 * known-headers.cc (get_stdlib_header_for_name): Add
958 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
959
8936f047
JJ
9602019-01-31 Jakub Jelinek <jakub@redhat.com>
961
962 PR libstdc++/88170
963 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
964 a C cast in pp_c_flag_gnu_v3 mode.
965
6a335b96
JJ
9662019-01-29 Jakub Jelinek <jakub@redhat.com>
967
968 PR c/86125
969 * c-common.c (c_common_nodes_and_builtins): Build type variants for
970 builtin_structptr_types types even for C.
971
2a06eba5
BE
9722019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
973
974 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
975 when rhs is of array type correctly. Fix handling of nested structures.
976 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
977 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
978 type casts within nested compound expressions.
979
18a23298
JJ
9802019-01-22 Jakub Jelinek <jakub@redhat.com>
981
982 PR middle-end/88968
983 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
984 variable after using BIT_FIELD_REF.
985
420183d9
L
9862019-01-18 H.J. Lu <hongjiu.lu@intel.com>
987
988 PR c/51628
989 PR c/88664
990 * c-common.h (warn_for_address_or_pointer_of_packed_member):
991 Remove the boolean argument.
992 * c-warn.c (check_address_of_packed_member): Renamed to ...
993 (check_address_or_pointer_of_packed_member): This. Also
994 warn pointer conversion.
995 (check_and_warn_address_of_packed_member): Renamed to ...
996 (check_and_warn_address_or_pointer_of_packed_member): This.
997 Also warn pointer conversion.
998 (warn_for_address_or_pointer_of_packed_member): Remove the
999 boolean argument. Don't check pointer conversion here.
1000
99063eee
RS
10012019-01-15 Richard Sandiford <richard.sandiford@arm.com>
1002
1003 PR inline-asm/52813
1004 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
1005
a30d0196
JJ
10062019-01-14 Jakub Jelinek <jakub@redhat.com>
1007
1008 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
1009 and __cpp_nontype_template_parameter_auto. Add a comment that
1010 __cpp_template_auto is deprecated.
1011
2d91f79d
TH
10122019-01-14 Tom Honermann <tom@honermann.net>
1013
1014 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
1015 * c-common.c (c_common_reswords): Add char8_t.
1016 (fix_string_type): Use char8_t for the type of u8 string literals.
1017 (c_common_get_alias_set): char8_t doesn't alias.
1018 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
1019 C++.
1020 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
1021 (keyword_begins_type_specifier): Add RID_CHAR8.
1022 * c-common.h (rid): Add RID_CHAR8.
1023 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
1024 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
1025 Define char8_type_node and char8_array_type_node.
1026 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
1027 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
1028 (c_cpp_builtins): Predefine __cpp_char8_t.
1029 * c-lex.c (lex_string): Use char8_array_type_node as the type of
1030 CPP_UTF8STRING.
1031 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
1032 * c-opts.c: If not otherwise specified, enable -fchar8_t when
1033 targeting C++2a.
1034 * c.opt: Add the -fchar8_t command line option.
1035
23db6ced
MS
10362019-01-14 Martin Sebor <msebor@redhat.com>
1037
1038 PR target/88638
1039 * c-attribs.c (positional_argument): Call valid_format_string_type_p
1040 and issue errors if it fails.
1041 * c-common.h (valid_format_string_type_p): Declare.
1042 * c-format.c (valid_stringptr_type_p): Rename...
1043 (valid_format_string_type_p): ...to this and make extern.
1044 (handle_format_arg_attribute): Adjust to new name.
1045 (check_format_string): Same.
1046
234c3818
L
10472019-01-13 H.J. Lu <hongjiu.lu@intel.com>
1048
1049 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
1050 Replace "may may" with "may" in warning message.
1051
d8fcab68
JJ
10522019-01-07 Jakub Jelinek <jakub@redhat.com>
1053
1054 PR c++/85052
1055 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
1056 (c_build_vec_convert): Declare.
1057 * c-common.c (c_build_vec_convert): New function.
1058
29d24852
MS
10592019-01-04 Martin Sebor <msebor@redhat.com>
1060
1061 PR c/88546
1062 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
1063 Handle C++ empty throw specification and C11 _Noreturn.
1064 (has_attribute): Also handle C11 _Noreturn.
1065
9069a4c9
MS
10662019-01-04 Martin Sebor <msebor@redhat.com>
1067
1068 PR c/88363
1069 * c-attribs.c (positional_argument): Also accept enumerated types.
1070
a5544970
JJ
10712019-01-01 Jakub Jelinek <jakub@redhat.com>
1072
1073 Update copyright years.
1074
da77eace
L
10752018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1076
1077 PR c/51628
1078 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
1079 * c-warn.c (check_alignment_of_packed_member): New function.
1080 (check_address_of_packed_member): Likewise.
1081 (check_and_warn_address_of_packed_member): Likewise.
1082 (warn_for_address_or_pointer_of_packed_member): Likewise.
1083 * c.opt: Add -Wno-address-of-packed-member.
1084
573767d4
DM
10852018-12-20 David Malcolm <dmalcolm@redhat.com>
1086
1087 PR c++/87504
1088 * c-warn.c (get_outermost_macro_expansion): New function.
1089 (spelled_the_same_p): Use it to unwind the macro expansions, and
1090 compare the outermost macro in each nested expansion, rather than
1091 the innermost.
1092
a14feb3c
DM
10932018-12-19 David Malcolm <dmalcolm@redhat.com>
1094
1095 PR c++/87504
1096 * c-common.h (warn_tautological_cmp): Convert 1st param from
1097 location_t to const op_location_t &.
1098 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1099 when testing for INTEGER_CST.
1100 (warn_tautological_bitwise_comparison): Convert 1st param from
1101 location_t to const op_location_t &; use it to build a
1102 binary_op_rich_location, and use this.
1103 (spelled_the_same_p): New function.
1104 (warn_tautological_cmp): Convert 1st param from location_t to
1105 const op_location_t &. Warn for macro expansions if
1106 spelled_the_same_p. Use binary_op_rich_location.
1107
dfd7fdca
DM
11082018-12-19 David Malcolm <dmalcolm@redhat.com>
1109
1110 PR c++/43064
1111 PR c++/43486
1112 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1113 (verify_tree): Handle location wrappers.
1114 (c_common_truthvalue_conversion): Strip any location wrapper.
1115 Handle CONST_DECL.
1116 (fold_offsetof): Strip any location wrapper.
1117 (complete_array_type): Likewise for initial_value.
1118 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1119 index before checking for INTEGER_CST.
1120 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1121 print parentheses around location wrappers.
1122 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1123 before checking for INTEGER_CST.
1124 (warn_tautological_bitwise_comparison): Call
1125 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1126 before checking for INTEGER_CST.
1127 (readonly_error): Strip any location wrapper.
1128 (warn_array_subscript_with_type_char): Strip location wrappers
1129 before checking for INTEGER_CST. Use the location of the index if
1130 available.
1131
5c8b3702
JM
11322018-12-06 Jason Merrill <jason@redhat.com>
1133
1134 PR c++/88136 - -Wdeprecated-copy false positives
1135 * c.opt (Wdeprecated-copy-dtor): New.
1136 (Wdeprecated-copy): Move to -Wextra.
1137
673670da
MS
11382018-11-29 Martin Sebor <msebor@redhat.com>
1139
1140 PR c/88172
1141 PR testsuite/88208
1142 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1143 alignments to values less than the target requires.
1144 (has_attribute): For attribute aligned consider both the attribute
1145 and the alignment bits.
1146 * c-common.c (c_init_attributes): Optionally issue a warning for
1147 zero alignment.
1148
04864ec8
MS
11492018-11-28 Martin Sebor <msebor@redhat.com>
1150
1151 PR c/88065
1152 PR c/87297
1153 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1154 or destination is an error.
1155
ace83db0
JJ
11562018-11-28 Jakub Jelinek <jakub@redhat.com>
1157
1158 PR c++/88215
1159 * c-ubsan.c: Include langhooks.h.
1160 (ubsan_instrument_division): Change gcc_assert that main variants
1161 of op0 and op1 types are equal to gcc_checking_assert that the
1162 main variants are compatible types.
1163
da193a27
EB
11642018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1165
1166 * c-ada-spec.c: Include stringpool.h.
1167 (has_static_fields): Return false for incomplete types.
1168 (is_tagged_type): Likewise.
1169 (has_nontrivial_methods): Likewise.
1170 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1171 (struct overloaded_name_hash): New structure.
1172 (struct overloaded_name_hasher): Likewise.
1173 (overloaded_names): New global variable.
1174 (init_overloaded_names): New static function.
1175 (overloaded_name_p): New predicate.
1176 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1177 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1178 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1179 Remove always-true condition and dump forward types.
1180 (dump_ada_specs): Delete overloaded_names.
1181
98f08eb8
MS
11822018-11-20 Martin Sebor <msebor@redhat.com>
1183
1184 * c-attribs.c (type_for_vector_size): New function.
1185 (type_valid_for_vector_size): Same.
1186 (handle_vector_size_attribute): Move code to the functions above
1187 and call them.
1188 (validate_attribute, has_attribute): New functions.
1189 * c-common.h (has_attribute): Declare.
1190 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1191 * c-common.c (c_common_resword): Same.
1192
2674fa47
JM
11932018-11-16 Jason Merrill <jason@redhat.com>
1194
1195 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1196 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1197
258b3854
JJ
11982018-11-16 Jakub Jelinek <jakub@redhat.com>
1199
1200 PR middle-end/87854
1201 * c-common.c (fix_string_type): Reject string literals larger than
1202 TYPE_MAX_VALUE (ssizetype) bytes.
1203
1d249509
MS
12042018-11-15 Martin Sebor <msebor@redhat.com>
1205
1206 PR c++/87541
1207 PR c++/87542
1208 * c-attribs.c (positional_argument): New function.
1209 (handle_alloc_size_attribute): Use it and simplify.
1210 (handle_alloc_align_attribute): Same.
1211 (handle_assume_aligned_attribute): Same.
1212 (handle_nonnull_attribute): Same.
1213 * c-common.c (check_function_arguments): Pass fntype to
1214 check_function_format.
1215 * c-common.h (check_function_format): Add an argument.
1216 (PosArgFlags, positional_argument): Declare new type and function.
1217 * c-format.c (decode_format_attr): Add arguments.
1218 (check_format_string, get_constant): Same.
1219 (convert_format_name_to_system_name): Adjust.
1220
478dd60d
DM
12212018-11-15 David Malcolm <dmalcolm@redhat.com>
1222
1223 PR other/19165
1224 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
1225
8cca0163
JJ
12262018-11-14 Jakub Jelinek <jakub@redhat.com>
1227
8ee09943
JJ
1228 P1236R1 - Signed integers are two's complement
1229 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
1230 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
1231 with in-range second operand well defined for -std=c++2a.
1232
8cca0163
JJ
1233 PR other/88007
1234 * c-common.c (parse_optimize_options): Allocate option string from
1235 opts_obstack rather than as GC memory. Move the allocation after
1236 warning for invalid option.
1237
620e594b
DM
12382018-11-13 David Malcolm <dmalcolm@redhat.com>
1239
1240 * c-common.c (c_get_substring_location): Update for renaming of
1241 get_source_location_for_substring to get_location_within_string.
1242 * c-lex.c: Replace "source_location" with "location_t".
1243 * c-opts.c: Likewise.
1244 * c-ppoutput.c: Likewise.
1245
f9731de3
MS
12462018-11-13 Martin Sebor <msebor@redhat.com>
1247
1248 PR middle-end/81824
1249 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
1250 (handle_tls_model_attribute): Improve diagnostics.
1251
e4bd6d5e
JM
12522018-11-12 Jason Merrill <jason@redhat.com>
1253
a6bb6b07
JM
1254 * c-cppbuiltin.c (c_cpp_builtins): Define
1255 __cpp_impl_destroying_delete.
1256
e4bd6d5e
JM
1257 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1258 __cpp_conditional_explicit.
1259
79a2c428
MS
12602018-11-09 Martin Sebor <msebor@redhat.com>
1261
1262 PR middle-end/81824
1263 * c-attribs.c (handle_copy_attribute): New function.
1264
4c7bd361
MS
12652018-11-09 Martin Sebor <msebor@redhat.com>
1266
1267 PR c/87795
1268 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1269
28567c40
JJ
12702018-11-08 Jakub Jelinek <jakub@redhat.com>
1271
1272 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1273 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1274 enum omp_memory_order MEMORY_ORDER.
1275 (c_finish_omp_flush): Add MO argument.
1276 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1277 (c_finish_omp_for): Add FINAL_P argument.
1278 * c-omp.c: Include memmodel.h.
1279 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1280 OMP_TASKGROUP_CLAUSES to it.
1281 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1282 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
1283 instead of OMP_ATOMIC_SEQ_CST.
1284 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
1285 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
1286 __atomic_thread_fence call with the given value.
1287 (check_omp_for_incr_expr): Formatting fixes.
1288 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
1289 even in OpenMP loops, diagnose if NE_EXPR and incr expression
1290 is not constant expression 1 or -1. Transform NE_EXPR loops
1291 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
1292 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
1293 loops too.
1294 (c_omp_split_clauses): Add support for combined
1295 #pragma omp parallel master and
1296 #pragma omp {,parallel }master taskloop{, simd} constructs.
1297 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
1298 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
1299 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
1300 (c_omp_predetermined_sharing): Don't return
1301 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
1302 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
1303 PRAGMA_OMP_REQUIRES.
1304 * c-pragma.h (enum pragma_kind): Likewise.
1305 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
1306 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1307
204839e7
DM
13082018-11-08 David Malcolm <dmalcolm@redhat.com>
1309
1310 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
1311
d8010ee4
DM
13122018-11-08 David Malcolm <dmalcolm@redhat.com>
1313
1314 * c-format.c (local_cgraph_node_ptr_node): New variable.
1315 (gcc_dump_printf_char_table): Add entry for %C.
1316 (get_pointer_to_named_type): New function, taken from the handling
1317 code for "gimple *" from...
1318 (init_dynamic_diag_info): ...here. Add handling for
1319 "cgraph_node *".
1320 * c-format.h (T_CGRAPH_NODE): New.
1321
4be5c72c
JM
13222018-10-19 Jason Merrill <jason@redhat.com>
1323
1324 * c-cppbuiltin.c (c_cpp_builtins): Add
1325 __cpp_nontype_template_parameter_class.
1326
f3f6029d
NS
13272018-10-31 Nathan Sidwell <nathan@acm.org>
1328
ab5324fb
NS
1329 * c-opts.c (c_finish_options): Force command line macro
1330 location. Refactor to avoid repeating main debug hook.
1331 (push_command_line_include): Clarify comment.
1332
f3f6029d
NS
1333 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
1334
91e3ec29
MS
13352018-10-30 Martin Sebor <msebor@redhat.com>
1336
1337 PR middle-end/87041
1338 * c-format.c (check_format_types): Avoid diagnosing null pointer
1339 arguments to printf-family of functions.
1340
b5ff4f5c
MP
13412018-10-30 Marek Polacek <polacek@redhat.com>
1342
1343 Implement P0892R2, explicit(bool).
1344 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
1345
7e2de6df
DM
13462018-10-29 David Malcolm <dmalcolm@redhat.com>
1347
1348 * name-hint.h (name_hint::take_deferred): New member function.
1349
b2bf438c
DM
13502018-10-29 David Malcolm <dmalcolm@redhat.com>
1351
1352 PR c++/56856
1353 * c-common.c (check_function_sentinel): Call fold_for_warn on the
1354 argument.
1355 (check_function_restrict): Rename param "argarray" to
1356 "unfolded_argarray", and make a copy named "argarray", calling
1357 fold_for_warn on each argument.
1358 (check_function_arguments): Add note about responsibility for
1359 folding the arguments.
1360
9f936c86
JM
13612018-10-17 Joseph Myers <joseph@codesourcery.com>
1362
1363 * c-common.c (flag_isoc2x): New variable.
1364 * c-common.h (clk_c): Update comment to reference C2X.
1365 (flag_isoc99, flag_isoc11): Update comments to reference future
1366 standard versions in general.
1367 (flag_isoc2x): Declare.
1368 * c-opts.c (set_std_c2x): New function.
1369 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
1370 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
1371 flag_isoc2x to 0.
1372 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
1373
7a8a92c4
JM
13742018-10-17 Joseph Myers <joseph@codesourcery.com>
1375
1376 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
1377 (std=iso9899:2018): Document C17 as published in 2018.
1378
4dc003ff
CL
13792018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
1380
1381 PR c++/87364
1382 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
1383
79371671
WW
13842018-10-11 Will Wray <wjwray@gmail.com>
1385
1386 PR c++/87364
1387 * c-pretty-print.h (pp_c_type_cast): Prototype.
1388 (pp_c_integer_constant): Likewise.
1389 * c-pretty-print.c (pp_c_type_cast): No longer static.
1390 (pp_c_integer_constant): Likewise.
1391 (pp_c_enumeration_constant): Fix loop termination when finding
1392 name of constant. No longer returns a value. Call
1393 pp_c_integer_constant.
1394 (c_pretty_printer::constant): Update for changes to
1395 pp_c_enumeration_constant.
1396
46c62690
JJ
13972018-10-11 Jakub Jelinek <jakub@redhat.com>
1398
1399 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
1400 for no_unique_address.
1401
c24300ba
DM
14022018-10-09 David Malcolm <dmalcolm@redhat.com>
1403
1404 * c-common.c (c_option_controlling_cpp_error): Rename to...
1405 (c_option_controlling_cpp_diagnostic): ...this, and convert
1406 "reason" from int to enum.
1407 (c_cpp_error): Rename to...
1408 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1409 * c-common.h (c_cpp_error): Rename to...
1410 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1411 * c-opts.c (c_common_init_options): Update for renaming.
1412
8656dafa
RS
14132018-10-08 Richard Sandiford <richard.sandiford@arm.com>
1414
1415 PR c/87286
1416 * c-common.c (vector_types_compatible_elements_p): Use
1417 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
1418
8cff0652
VK
14192018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
1420
1421 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
1422 to generate constructor destructor priority warning.
1423 * c.opt (-Wprio-ctor-dtor): New option.
1424
bedf03a2
JM
14252018-10-01 Jason Merrill <jason@redhat.com>
1426
1427 * c-lex.c (c_common_has_attribute): Add no_unique_address.
1428
6cc430c1
EB
14292018-10-01 Eric Botcazou <ebotcazou@adacore.com>
1430
1431 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
1432 (dump_ada_node): Add const keyword.
1433
87677ac7
ML
14342018-09-25 Martin Liska <mliska@suse.cz>
1435
1436 * c-common.c (c_common_truthvalue_conversion):
1437 Remove Pascal from documentation.
1438
518196cb
EB
14392018-09-21 Eric Botcazou <ebotcazou@adacore.com>
1440
1441 * c-ada-spec.c: Include diagnostic.h.
1442 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
1443
a599af84
MP
14442018-09-19 Marek Polacek <polacek@redhat.com>
1445
1446 * c.opt (Wclass-conversion): New.
1447
9c4a4b3c
DM
14482018-09-17 David Malcolm <dmalcolm@redhat.com>
1449
1450 * c-format.c (range_label_for_format_type_mismatch::get_text):
1451 Update for new param.
1452
c896ecfe
DM
14532018-09-17 David Malcolm <dmalcolm@redhat.com>
1454
1455 * c-format.c (format_warning_at_char): Update for introduction of
1456 format_string_diagnostic_t.
1457 (format_type_warning): Likewise.
1458
80c6d1f4
MJ
14592018-09-17 Martin Jambor <mjambor@suse.cz>
1460
1461 PR c/63886
1462 * c.opt (Wabsolute-value): New.
1463
6d900107
BE
14642018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
1465
1466 * c-common.c (complete_flexible_array_elts): New helper function.
1467 * c-common.h (complete_flexible_array_elts): Declare.
1468
b5764229
BE
14692018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1470
1471 * c-common.c (braced_list_to_string): Remove eval parameter.
1472 Add some more checks. Always create zero-terminated STRING_CST.
1473 * c-common.h (braced_list_to_string): Adjust prototype.
1474
85204e23
DM
14752018-08-27 David Malcolm <dmalcolm@redhat.com>
1476
1477 PR 87091
1478 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
1479 to a tri-state.
1480 (maybe_suggest_missing_token_insertion): Likewise.
1481 (maybe_add_include_fixit): Add param "override_location". If set,
1482 and source-printing is enabled, then override the rich_location's
1483 primary location with that of the insertion point for the fix-it
1484 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
1485 * c-common.h (extern void maybe_add_include_fixit): Add bool
1486 param.
1487 * c-format.c (selftest::test_type_mismatch_range_labels): Update
1488 for conversion of show_caret_p to a tri-state.
1489 * c-warn.c (warn_for_restrict): Likewise.
1490 * known-headers.cc
1491 (suggest_missing_header::~suggest_missing_header): Update call to
1492 maybe_add_include_fixit to suggest overriding the location, as it
1493 is for a note.
1494
3d78e008
ML
14952018-08-27 Martin Liska <mliska@suse.cz>
1496
1497 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
1498 fndecl_built_in_p and remove check for FUNCTION_DECL if
1499 possible.
3d78e008
ML
1500 (check_builtin_function_arguments): Likewise.
1501 (reject_gcc_builtin): Likewise.
1502 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
1503
b5be6d0c
MP
15042018-08-26 Marek Polacek <polacek@redhat.com>
1505
1506 PR c++/87029, Implement -Wredundant-move.
1507 * c.opt (Wredundant-move): New option.
1508
79ca9c35
MP
15092018-08-21 Marek Polacek <polacek@redhat.com>
1510
1511 PR c++/86981, Implement -Wpessimizing-move.
1512 * c.opt (Wpessimizing-move): New option.
1513
097f82ec
DM
15142018-08-20 David Malcolm <dmalcolm@redhat.com>
1515
1516 PR other/84889
1517 * c-attribs.c (common_handle_aligned_attribute): Add
1518 auto_diagnostic_group instance.
1519 * c-indentation.c (warn_for_misleading_indentation): Likewise.
1520 * c-opts.c (c_common_post_options): Likewise.
1521 * c-warn.c (warn_logical_not_parentheses): Likewise.
1522 (warn_duplicated_cond_add_or_warn): Likewise.
1523 (warn_for_multistatement_macros): Likewise.
1524
3fb558b1
NS
15252018-08-20 Nathan Sidwell <nathan@acm.org>
1526
1527 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
1528 access.
1529
800c0e98
NS
15302018-08-17 Nathan Sidwell <nathan@acm.org>
1531
1532 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
1533 field.
1534 (laxy_hex_fp_value_count): Make unsigned.
1535 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
1536 manipulate the macro.
1537 (builtin_defin_with_hex_fp_value): Adjust callback name, use
1538 cpp_define_lazily.
1539
6f795a92
DM
15402018-08-17 David Malcolm <dmalcolm@redhat.com>
1541
1542 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
1543 (gcc_dump_printf_length_specs): New.
1544 (gcc_dump_printf_flag_pairs): New.
1545 (gcc_dump_printf_flag_specs): New.
1546 (gcc_dump_printf_char_table): New.
1547 (format_types_orig): Add entry for "gcc_dump_printf".
1548 (init_dynamic_diag_info): Set up length_char_specs and
1549 conversion_specs for gcc_dump_printf_format_type.
1550 (handle_format_attribute): Handle gcc_dump_printf_format_type.
1551
c5d725c0
NS
15522018-08-17 Nathan Sidwell <nathan@acm.org>
1553
10f04917
NS
1554 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
1555
c5d725c0
NS
1556 * c-ada-spec.c: Don't #include "cpp-id-data.h"
1557 * c-cppbuiltin.c: Likewise.
1558
c0c12356
ML
15592018-08-17 Martin Liska <mliska@suse.cz>
1560
1561 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
1562 Ignore/Deprecated flag. Warning is done automatically for
1563 Deprecated flags.
c0c12356 1564
10fcc142
DM
15652018-08-16 David Malcolm <dmalcolm@redhat.com>
1566
1567 PR c++/70693
1568 * c-common.c (selftest::c_family_tests): Call
1569 selftest::c_indentation_c_tests.
1570 * c-common.h (selftest::c_indentation_c_tests): New decl.
1571 * c-indentation.c: Include "selftest.h".
1572 (next_tab_stop): Add "tab_width" param, rather than accessing
1573 cpp_opts.
1574 (get_visual_column): Likewise. Clarify comment. Bulletproof
1575 against reading past the end of the line.
1576 (get_first_nws_vis_column): Add "tab_width" param.
1577 (detect_intervening_unindent): Likewise.
1578 (should_warn_for_misleading_indentation): Read tab width from
1579 cpp_opts and pass around.
1580 (selftest::test_next_tab_stop): New test.
1581 (selftest::assert_get_visual_column_succeeds): New function.
1582 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
1583 (selftest::assert_get_visual_column_fails): New function.
1584 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
1585 (selftest::test_get_visual_column): New test.
1586 (selftest::c_indentation_c_tests): New function.
1587
3f6677f4
NS
15882018-08-16 Nathan Sidwell <nathan@acm.org>
1589
1590 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
1591 (store_ada_macro): Likewise.
1592 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
1593 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
1594
96e6ae57
DM
15952018-08-15 David Malcolm <dmalcolm@redhat.com>
1596
1597 * c-format.c: Include "selftest-diagnostic.h" and
1598 "gcc-rich-location.h".
1599 (format_warning_at_char): Pass NULL for new label params of
1600 format_warning_va.
1601 (class indirection_suffix): New class.
1602 (class range_label_for_format_type_mismatch): New class.
1603 (format_type_warning): Move logic for generating "*" suffix to
1604 class indirection_suffix. Create "fmt_label" and "param_label"
1605 to show their types, and pass them to the
1606 format_warning_at_substring calls.
1607 (selftest::test_type_mismatch_range_labels): New test.
1608 (selftest::c_format_c_tests): Call it.
1609
23aa9f7c
MS
16102018-08-13 Martin Sebor <msebor@redhat.com>
1611
1612 PR tree-optimization/71625
1613 * c-common.c (braced_list_to_string): New function.
1614 * c-common.h (braced_list_to_string): Declare it.
1615
f10a9135
NS
16162018-08-08 Nathan Sidwell <nathan@acm.org>
1617
1618 * c-common.c (try_to_locate_new_include_inertion_point): Use
1619 linemap_included_from_linemap.
1620 * c-lex.c (fe_file_change): Use linemap_included_from.
1621 * c-ppoutput.c (pp_file_change): Likewise.
1622
8a45b051
MS
16232018-08-01 Martin Sebor <msebor@redhat.com>
1624
1625 PR tree-optimization/86650
ab20d992 1626 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
1627 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
1628 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
1629 * c-format.h (T89_G): Update to be "gimple *" rather than
1630 "gcall *".
1631 (local_gcall_ptr_node): Rename...
1632 (local_gimple_ptr_node): ...to this.
1633
e540ccc0
DM
16342018-07-31 David Malcolm <dmalcolm@redhat.com>
1635
1636 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
1637 table entries for gcc_diag_char_table, and the 'Z' entry from
1638 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
1639 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
1640 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
1641 adding missing "Z" for this table. Remove erroneous "G" and "K"
1642 entries.
1643 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1644 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
1645 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1646
425fc685
RE
16472018-07-31 Richard Earnshaw <rearnsha@arm.com>
1648
1649 * c-common.c (speculation_safe_resolve_call): New function.
1650 (speculation_safe_resolve_params): New function.
1651 (speculation_safe_resolve_return): New function.
1652 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
1653 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
1654 __HAVE_SPECULATION_SAFE_VALUE.
1655
181463c2
DM
16562018-07-20 David Malcolm <dmalcolm@redhat.com>
1657
1658 * c-common.c (c_cpp_error): Remove redundant "line_table"
1659 parameter from call to rich_location::set_range.
1660 (maybe_suggest_missing_token_insertion): Likewise.
1661
0d7f9065
MS
16622018-07-20 Martin Sebor <msebor@redhat.com>
1663
1664 PR middle-end/82063
ab20d992 1665 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 1666
00abf86c
MS
16672018-07-20 Martin Sebor <msebor@redhat.com>
1668
1669 PR middle-end/82063
1670 * c-common.h (c_common_handle_option): Change function argument
1671 to HOST_WIDE_INT.
1672 * c-opts.c (c_common_init_options): Same.
1673 (c_common_handle_option): Same. Remove special handling of
1674 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
1675 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
1676 options to take a HOST_WIDE_INT argument and accept a byte-size
1677 suffix. Initialize.
1678 (-Wvla-larger-than): Same.
1679 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
1680 (-Wno-vla-larger-than): Same.
1681
9b452033
JJ
16822018-07-12 Jakub Jelinek <jakub@redhat.com>
1683
1684 * c-attribs.c (c_common_attribute_table): Add
1685 "omp declare target implicit" attribute.
1686
cd0762f3
RB
16872018-07-12 Richard Biener <rguenther@suse.de>
1688
1689 PR c/86453
1690 * c-attribs.c (handle_packed_attribute): Do not build a variant
1691 type with TYPE_PACKED, instead ignore the attribute if we may
1692 not apply to the original type.
1693
0b27c3ed
JJ
16942018-07-10 Jakub Jelinek <jakub@redhat.com>
1695
1696 PR c++/86443
1697 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
1698 to contain TREE_LIST for both the original class iterator and the
1699 "last" helper var.
1700
e730a0ef
EB
17012018-07-07 Eric Botcazou <ebotcazou@adacore.com>
1702
1703 * c-ada-spec.c (to_ada_name): Remove index parameter.
1704 (pp_ada_tree_identifier): Likewise.
1705 (dump_ada_macros): Adjust call to to_ada_name.
1706 (struct overloaded_name_hash): Delete.
1707 (struct overloaded_name_hasher): Likewise.
1708 (overloaded_names): Likewise.
1709 (compute_overloading_index): Likewise.
1710 (dump_ada_decl_name): Do not call compute_overloading_index and
1711 adjust calls to pp_ada_tree_identifier.
1712 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1713 (dump_ada_import): Add spc parameter and switch to aspect syntax.
1714 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
1715 (dump_ada_enum_type): Remove type and display_convention parameters.
1716 Adjust calls to pp_ada_tree_identifier.
1717 (dump_ada_node): Likewise and for dump_ada_structure.
1718 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
1719 and tidy up.
1720 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
1721 syntax.
1722 (print_constructor): Adjust call to pp_ada_tree_identifier.
1723 (print_destructor): Likewise.
1724 (dump_ada_declaration): Switch to aspect syntax.
1725 (dump_ada_structure): Likewise and tidy up. Replace display_convention
1726 parameter with nested parameter.
1727 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
1728 (dump_ada_specs): Do not delete overloaded_names table.
1729
8de583fc
PB
17302018-07-06 Peter Bergner <bergner@linux.ibm.com>
1731
1732 PR target/86324
e730a0ef 1733 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
1734 target hook.
1735
09cff37b
NS
17362018-07-05 Nathan Sidwell <nathan@acm.org>
1737
1738 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1739 NO_IMPLICIT_EXTERN_C.
1740
98086b2b
ML
17412018-06-28 Martin Liska <mliska@suse.cz>
1742
1743 * cppspec.c: Include opt-suggestions.h.
1744
ab20d992
JJ
17452018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1746 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
1747 Cesar Philippidis <cesar@codesourcery.com>
1748
1749 * c-pragma.h (enum pragma_omp_clause): Add
1750 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1751 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1752
f41b7612
JJ
17532018-06-20 Jakub Jelinek <jakub@redhat.com>
1754
1755 PR c++/86210
1756 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1757 comment.
1758
4252ccd7
MS
17592018-06-18 Martin Sebor <msebor@redhat.com>
1760
1761 PR middle-end/85602
1762 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1763 nonstring.
1764
e197e64e
KV
17652018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1766
1767 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1768
34a7a230
JM
17692018-06-13 Jason Merrill <jason@redhat.com>
1770
5cef3733
JM
1771 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1772 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1773 handling.
1774
34a7a230
JM
1775 PR c++/86094 - wrong code with defaulted move ctor.
1776 * c-opts.c (c_common_post_options): Bump the current ABI version to
1777 13. Set warn_abi_version and flag_abi_compat_version to the current
1778 version rather than 0. Fix defaulting flag_abi_compat_version from
1779 warn_abi_version.
1780
bb0f14ae
MS
17812018-06-12 Martin Sebor <msebor@redhat.com>
1782
1783 PR c/85931
1784 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1785 sizeof source and destination yields the same value.
1786
3713f2e2
ML
17872018-06-12 Martin Liska <mliska@suse.cz>
1788
1789 * c.opt: Make MPX-related options as Deprecated.
1790
4af78ef8
DM
17912018-06-08 David Malcolm <dmalcolm@redhat.com>
1792
1793 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1794 rather than 0.
1795
31db0fe0
ML
17962018-06-08 Martin Liska <mliska@suse.cz>
1797
1798 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1799 for MPX (macros, related functions, fields in cgraph_node, ...).
1800 (handle_bnd_legacy): Likewise.
1801 (handle_bnd_instrument): Likewise.
1802 * c.opt: Likewise.
1803
fe16acf2
JJ
18042018-06-06 Jakub Jelinek <jakub@redhat.com>
1805
1806 PR c++/86068
1807 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1808 __cpp_transactional_memory to 201500 instead of 210500.
1809
4dbdb49b
JM
18102018-06-06 Jason Merrill <jason@redhat.com>
1811
1812 PR c++/85710 - ICE with -Wmemset-elt-size.
1813 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1814
f8ad043f
JM
18152018-06-01 Jason Merrill <jason@redhat.com>
1816
1817 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1818 201703.
1819
abc24d93
EB
18202018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1821
1822 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1823 declaration for a typedef independently of whether the declaration of
1824 the subtype is generated.
1825
d258f4aa
MS
18262018-05-31 Martin Sebor <msebor@redhat.com>
1827
1828 PR c/82063
1829 * c.opt (-Wno-alloc-size-larger-than): New option.
1830
b67b9225
DP
18312018-04-22 David Pagan <dave.pagan@oracle.com>
1832
1833 PR c/55976
1834 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 1835 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
1836 differentiate between default (no option), -Wreturn-type, and
1837 -Wno-return-type.
1838
04eb9c55
JM
18392018-05-29 Jason Merrill <jason@redhat.com>
1840
1841 * c.opt (Winit-list-lifetime): New flag.
1842
b0c31bc6
BE
18432018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1844
1845 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1846 splay_tree_delete_pointers.
1847
44284983
JJ
18482018-05-26 Jakub Jelinek <jakub@redhat.com>
1849
1850 PR bootstrap/85921
1851 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1852 noinline variable to workaround broken kernel headers.
1853
b46b715d
JM
18542018-05-18 Jason Merrill <jason@redhat.com>
1855
1856 * c.opt (Wdeprecated-copy): New flag.
1857
40659769
ML
18582018-05-17 Martin Liska <mliska@suse.cz>
1859
1860 * c-warn.c (overflow_warning): Do not use
1861 space in between 'G_' and '('.
1862
403962ea
JM
18632018-05-09 Jason Merrill <jason@redhat.com>
1864
1865 * c-common.c (valid_array_size_p): Add complain parameter.
1866 * c-common.h: ...which defaults to true.
1867
1c9ee609
JJ
18682018-05-11 Jakub Jelinek <jakub@redhat.com>
1869
1870 PR c/85696
1871 * c-omp.c (c_omp_predetermined_sharing): Return
1872 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1873
19916065
ML
18742018-05-11 Martin Liska <mliska@suse.cz>
1875
92a285c1 1876 PR sanitizer/85556
19916065
ML
1877 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
1878 TREE_LIST values.
1879
79e7b1fe
JJ
18802018-05-10 Jakub Jelinek <jakub@redhat.com>
1881
1882 PR c++/85662
1883 * c-common.h (fold_offsetof_1): Removed.
1884 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
1885 CTX argument defaulted to ERROR_MARK.
1886 * c-common.c (fold_offsetof_1): Renamed to ...
1887 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
1888 argument, convert the pointer constant to TYPE and use size_binop
1889 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1890 a pointer type. Adjust recursive calls.
1891
86c12f76
EB
18922018-05-10 Eric Botcazou <ebotcazou@adacore.com>
1893
1894 PR c++/85400
1895 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1896
ee336e84
NS
18972018-05-07 Nathan Sidwell <nathan@acm.org>
1898
1899 * c.opt (ffor-scope): Remove functionality, issue warning.
1900
6c072e21
NS
19012018-05-03 Nathan Sidwell <nathan@acm.org>
1902
1903 * c.opt (ffriend-injection): Remove functionality, issue warning.
1904
2cc7d3a7
DM
19052018-05-01 David Malcolm <dmalcolm@redhat.com>
1906
1907 PR c/84258
1908 * c-format.c (struct format_check_results): Add field
1909 "number_non_char".
1910 (check_format_info): Initialize it, and warn if encountered.
1911 (check_format_arg): Distinguish between wide char and
1912 everything else when detecting arrays of non-char.
1913
7761dfbe
DM
19142018-04-30 David Malcolm <dmalcolm@redhat.com>
1915
1916 * c-format.c (get_corrected_substring): Update for
1917 location_get_source_line returning a char_span. Use a char_span
1918 when handling the prefix of the correction.
1919 * c-indentation.c (get_visual_column): Update for
1920 location_get_source_line returning a char_span.
1921 (get_first_nws_vis_column): Likewise.
1922
62e98ef1
DM
19232018-03-29 David Malcolm <dmalcolm@redhat.com>
1924
1925 PR c++/84269
1926 * known-headers.cc (get_stdlib_header_for_name): Add various names
1927 from <assert.h>, <string.h>, and <memory.h>; add more names from
1928 <stdio.h>.
1929
a7dea617
JJ
19302018-03-27 Jakub Jelinek <jakub@redhat.com>
1931
1932 PR c++/85061
1933 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1934 get_base_address of the second operand is a VAR_P, rather than the
1935 operand itself, and use gcc_checking_assert instead of gcc_assert.
1936
889a3a30
MP
19372018-03-23 Marek Polacek <polacek@redhat.com>
1938
1939 PR c++/85045
1940 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1941 <case RDIV_EXPR>: Tweak condition.
1942
452154b9
EB
19432018-03-20 Eric Botcazou <ebotcazou@adacore.com>
1944
1945 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1946
63ecb626
JJ
19472018-03-16 Jakub Jelinek <jakub@redhat.com>
1948
ce811fc4
JJ
1949 PR c/84909
1950 * c-warn.c (conversion_warning): Replace "to to" with "to" in
1951 diagnostics.
1952
63ecb626
JJ
1953 PR c/84910
1954 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1955 diagnostics.
1956
a1295eec
RB
19572018-03-16 Richard Biener <rguenther@suse.de>
1958
1959 PR c/84873
1960 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
1961 unshare the possibly folded expression.
1962
919674fb
RB
19632018-03-15 Richard Biener <rguenther@suse.de>
1964
1965 PR c/84873
1966 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
1967
f99309b2
MS
19682018-03-13 Martin Sebor <msebor@redhat.com>
1969
1970 PR tree-optimization/84725
1971 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
1972 with all three narrow character types, including their qualified forms.
1973
e9b9fa4c
MS
19742018-03-12 Martin Sebor <msebor@redhat.com>
1975
1976 PR tree-optimization/83456
ab20d992 1977 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
1978 Restore checking of bounded built-in functions.
1979 (check_function_arguments): Also return the result
1980 of warn_for_restrict.
ab20d992
JJ
1981 * c-common.c (check_function_restrict): Return bool.
1982 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 1983
0805d020
MP
19842018-03-02 Marek Polacek <polacek@redhat.com>
1985
1986 PR c++/84171
1987 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
1988 is erroneous.
1989
ed2a2f08
TS
19902018-03-02 Thomas Schwinge <thomas@codesourcery.com>
1991
1992 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
1993 function".
1994
90abdde0
MP
19952018-03-01 Marek Polacek <polacek@redhat.com>
1996
1997 PR c++/84639
1998 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
1999 alignment in computation.
2000
c6db43fa
EB
20012018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2002
2003 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
2004 <REAL_TYPE>: Deal specifically with _Float128/__float128.
2005
9e25c7ed
EB
20062018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2007
2008 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
2009 (is_char_array): Take a type instead of a declaration.
2010 (dump_ada_array_type): Likewise.
2011 (is_simple_enum): Minor tweak.
2012 (dump_ada_enum_type): New function extracted from...
2013 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
2014 <INTEGER_TYPE>: Remove unreachable code.
2015 <RECORD_TYPE>: Likewise. Minor tweaks.
2016 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
2017 <ENUMERAL_TYPE>: New case.
2018 <RECORD_TYPE>: Factor out common code.
2019 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
2020 Minor tweaks. Deal with enumeral types.
2021 (dump_ada_structure): Minor tweaks.
2022
09de3550
EB
20232018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2024
2025 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
2026 address for incomplete structures.
2027 (dump_forward_type): Do not bail out for incomplete structures.
2028 (dump_ada_declaration): Do not special-case incomplete structures
2029 for subtypes. Dump them as null records for types.
2030
095d8d4b
EB
20312018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2032
2033 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
2034 (is_char_array): Fix formatting.
2035 (dump_template_types): Likewise.
2036 (dump_generic_ada_node): Rename into...
2037 (dump_ada_node): ...this.
2038 <POINTER_TYPE>: Remove superfluous space. Use generic address for
2039 incomplete structures and not for empty structures. Do not use it
2040 when forward declarations are needed.
2041 (dump_forward_type): New function.
2042 (dump_nested_types): Remove FORWARD parameter. Do not consider
2043 TREE_VISITED and do not generate a forward declaration. Only dump
2044 original nested types for nested declaration.
2045 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
2046 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
2047 <RECORD_TYPE>: Do not consider TREE_VISITED.
2048 (dump_ada_declaration): Use booleans and fix formatting throughout.
2049 <TYPE_DECL>: Skip incomplete structures and not empty structures.
2050 Call dump_forward_type instead of dump_nested_types for a typedef.
2051 Remove superfluous check and adjust call to dump_nested_types.
2052 <POINTER_TYPE>: Call dump_forward_type and fall through.
2053 (dump_ada_struct_decl): Rename into...
2054 (dump_ada_structure): ...this. Do not special-case empty structures.
2055
d4cfd486
MS
20562018-02-27 Martin Sebor <msebor@redhat.com>
2057
2058 PR c++/83871
2059 * c.opt (-Wmissing-attributes): New option.
2060
b22dbd03
ML
20612018-02-21 Martin Liska <mliska@suse.cz>
2062
2063 * c.opt (Wcatch-value=): Add IntegerRange.
2064
883dfe2a
JM
20652018-02-15 Jason Merrill <jason@redhat.com>
2066
2067 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2068
0444aa9c
NS
20692018-02-09 Nathan Sidwell <nathan@acm.org>
2070
2071 PR c/84293
2072 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
2073 arg.
2074 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
2075 arg. Adjust.
2076
cea71f0a
MS
20772018-02-09 Martin Sebor <msebor@redhat.com>
2078
2079 PR lto/84212
2080 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
2081 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
2082 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
2083 (-Wstrict-overflow, -Wsuggest-attribute): Same.
2084 (-Wuninitialized): Same.
2085
8c8b7be5
EB
20862018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2087
2088 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
2089 keyword for components.
2090
7c30b12a
PC
20912018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
2092
2093 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
2094
eece7fe5
JK
20952018-02-02 Julia Koval <julia.koval@intel.com>
2096
2097 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2098
7d07a93a
MP
20992018-01-29 Marek Polacek <polacek@redhat.com>
2100
2101 PR c/83966
2102 * c-format.c (check_function_format): Check current_function_decl.
2103
53723269
JJ
21042018-01-27 Jakub Jelinek <jakub@redhat.com>
2105
2106 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2107 argument.
2108 (LAZY_HEX_FP_VALUES_CNT): Define.
2109 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2110 values rather than just 12.
2111 (builtin_define_with_hex_fp_value): Likewise.
2112
7365279f
BK
21132018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2114
92a285c1
ML
2115 PR other/70268
2116 * c.opt (-fmacro-prefix-map): New option.
2117 * c-opts.c (c_common_handle_option): Handle it.
2118 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2119 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 2120
bb9869d5
DM
21212018-01-17 David Malcolm <dmalcolm@redhat.com>
2122
2123 PR c++/83814
2124 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2125
68dc87c3
EB
21262018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2127
2128 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2129 Skip 'f' and 'F' characters if it is true.
2130 (store_ada_macro): Minor tweak.
2131 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2132 <CPP_WSTRING>: Likewise.
2133 <CPP_STRING>: Output '&' in the buffer if not the first string.
2134 <CPP_NUMBER>: Adjust calls to dump_number.
2135
9a004410
DM
21362018-01-10 David Malcolm <dmalcolm@redhat.com>
2137
2138 PR c++/43486
2139 * c-common.c: Include "selftest.h".
2140 (get_atomic_generic_size): Perform the test for integral type
2141 before the range test for any integer constant, fixing indentation
2142 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2143 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2144 (selftest::test_fold_for_warn): New function.
2145 (selftest::c_common_c_tests): New function.
2146 (selftest::c_family_tests): Call it, and
2147 selftest::c_pretty_print_c_tests.
2148 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2149 * c-format.c (check_format_arg): Convert VAR_P check to a
2150 fold_for_warn.
2151 * c-pretty-print.c: Include "selftest.h".
2152 (pp_c_cast_expression): Don't print casts for location wrappers.
2153 (selftest::assert_c_pretty_printer_output): New function.
2154 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2155 (selftest::test_location_wrappers): New function.
2156 (selftest::c_pretty_print_c_tests): New function.
2157 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2158
5c0caeb3
RS
21592018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2160 Alan Hayward <alan.hayward@arm.com>
2161 David Sherwood <david.sherwood@arm.com>
2162
2163 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2164
73a699ae
RS
21652018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2166 Alan Hayward <alan.hayward@arm.com>
2167 David Sherwood <david.sherwood@arm.com>
2168
2169 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2170 as polynomial.
2171
928686b1
RS
21722018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2173 Alan Hayward <alan.hayward@arm.com>
2174 David Sherwood <david.sherwood@arm.com>
2175
2176 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2177 (convert_vector_to_array_for_subscript): Handle polynomial
2178 TYPE_VECTOR_SUBPARTS.
2179 (c_common_type_for_mode): Check valid_vector_subparts_p.
2180 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2181 VECTOR_CST_NELTS.
2182
85ec4feb
JJ
21832018-01-03 Jakub Jelinek <jakub@redhat.com>
2184
2185 Update copyright years.
2186
170a8bd6 21872017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 2188 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
2189
2190 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2191 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2192
ab20d992 21932017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
2194
2195 PR debug/83527
2196 PR debug/83419
2197 * c-semantics.c (only_debug_stmts_after_p): New.
2198 (pop_stmt_list): Clear side effects in debug-only stmt list.
2199 Check for single nondebug stmt followed by debug stmts only.
2200
c12d20d4
AO
22012017-12-21 Alexandre Oliva <aoliva@redhat.com>
2202
2203 PR debug/83419
2204 * c-semantics.c (pop_stmt_list): Propagate side effects from
2205 single nondebug stmt to container list.
2206
01512446
JJ
22072017-12-19 Jakub Jelinek <jakub@redhat.com>
2208
2209 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
2210 conditions with typical order conditions.
2211
82cfbd01
MP
22122017-12-18 Marek Polacek <polacek@redhat.com>
2213
2214 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
2215 not in effect.
2216
99da11ec
MS
22172017-12-17 Martin Sebor <msebor@redhat.com>
2218
2219 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
2220 an error for attribute warn_if_not_aligned.
2221
cc8bea0a
MS
22222017-12-16 Martin Sebor <msebor@redhat.com>
2223
2224 PR tree-optimization/78918
2225 * c-common.c (check_function_restrict): Avoid checking built-ins.
2226 * c.opt (-Wrestrict): Include in -Wall.
2227
4849deb1
JJ
22282017-12-15 Jakub Jelinek <jakub@redhat.com>
2229
2230 * c-attribs.c (c_common_attribute_table,
2231 c_common_format_attribute_table): Swap affects_type_identity
2232 and handler fields, adjust comments.
2233
c65e18d3
BE
22342017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
2235
2236 * c.opt (Wcast-function-type): New warning option.
2237 * c-lex.c (get_fileinfo): Avoid warning.
2238 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
2239
2004617a
QZ
22402017-12-14 Qing Zhao <qing.zhao@oracle.com>
2241
7365279f 2242 PR middle_end/79538
2004617a
QZ
2243 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
2244 Adjust the size of buf1 and buf2, add a new buf to avoid
2245 format-overflow warning.
2246
ab20d992 22472017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
2248
2249 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
2250 subsequent statement list.
2251
5d9ae53d
MS
22522017-12-07 Martin Sebor <msebor@redhat.com>
2253
2254 PR c/81544
2255 PR c/81566
2256 * c-attribs.c (attr_aligned_exclusions): New array.
2257 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2258 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2259 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2260 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2261 (attr_warn_unused_result_exclusions): Same.
2262 (handle_hot_attribute, handle_cold_attribute): Simplify.
2263 (handle_const_attribute): Warn on function returning void.
2264 (handle_pure_attribute): Same.
2265 (handle_aligned_attribute): Diagnose conflicting attribute
2266 specifications.
2267 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2268
c79144f8
DM
22692017-12-06 David Malcolm <dmalcolm@redhat.com>
2270
2271 PR c/83236
2272 * c-common.c (selftest::c_family_tests): Call
2273 selftest::c_spellcheck_cc_tests.
2274 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2275 * c-spellcheck.cc: Include "selftest.h".
2276 (name_reserved_for_implementation_p): New function.
2277 (should_suggest_as_macro_p): New function.
2278 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2279 should_suggest_as_macro_p and call it.
2280 (selftest::test_name_reserved_for_implementation_p): New function.
2281 (selftest::c_spellcheck_cc_tests): New function.
2282 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
2283
613bc14f
DM
22842017-12-06 David Malcolm <dmalcolm@redhat.com>
2285
2286 * c-spellcheck.cc: New file, taken from macro-handling code in
2287 spellcheck-tree.c.
2288 * c-spellcheck.h: New file, taken from macro-handling code in
2289 spellcheck-tree.h.
2290
e76c7157
JJ
22912017-12-01 Jakub Jelinek <jakub@redhat.com>
2292
2293 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
2294 attribute.
2295 (handle_simd_attribute): Don't check for "cilk simd function"
2296 attribute. Reindent, formatting changes.
2297
b0da4034
JK
22982017-11-30 Julia Koval <julia.koval@intel.com>
2299
2300 * c-common.h (inv_list): Remove.
2301
058f0b9e
JJ
23022017-11-28 Jakub Jelinek <jakub@redhat.com>
2303
2304 PR sanitizer/81275
2305 * c-common.c (c_switch_covers_all_cases_p_1,
2306 c_switch_covers_all_cases_p): New functions.
2307 * c-common.h (c_switch_covers_all_cases_p): Declare.
2308
5e9d6aa4 23092017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 2310 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
2311
2312 * array-notation-common.c: Delete.
2313 * c-cilkplus.c: Ditto.
2314 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
2315 * c-common.def (ARRAY_NOTATION_REF): Remove.
2316 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
2317 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
2318 c_validate_cilk_plus_loop, cilkplus_an_parts,
2319 cilk_ignorable_spawn_rhs_op,
2320 cilk_recognize_spawn): Remove.
2321 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
2322 * c-omp.c: Remove CILK_SIMD check.
2323 * c-pragma.c: Ditto.
2324 * c-pragma.h: Remove CILK related pragmas.
2325 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
2326 ARRAY_NOTATION_REF condition.
2327 (c_pretty_printer::expression): Ditto.
2328 * c.opt (fcilkplus): Remove.
2329 * cilk.c: Delete.
2330
1af4ebf5
MG
23312017-11-21 Marc Glisse <marc.glisse@inria.fr>
2332
2333 * c-pretty-print.c (pp_c_additive_expression,
2334 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
2335
d44ed508
JJ
23362017-11-21 Jakub Jelinek <jakub@redhat.com>
2337
7d2f0f9b
JJ
2338 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
2339
d44ed508
JJ
2340 PR c++/83059
2341 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
2342 instead of tree_to_uhwi, formatting fix.
2343
26edace6
DM
23442017-11-20 David Malcolm <dmalcolm@redhat.com>
2345
2346 PR c/81404
2347 * known-headers.cc: New file, based on material from c/c-decl.c.
2348 (suggest_missing_header): Copied as-is.
2349 (get_stdlib_header_for_name): New, based on get_c_name_hint but
2350 heavily edited to add C++ support. Add some knowledge about
2351 <limits.h>, <stdint.h>, and <wchar.h>.
2352 * known-headers.h: Likewise.
2353
6c7a259b
DM
23542017-11-20 David Malcolm <dmalcolm@redhat.com>
2355
2356 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
2357 (lookup_name_fuzzy): Likewise. Convert return type from
2358 const char * to name_hint. Add location_t param.
2359 * name-hint.h: New header.
2360
f9c59f7e
JJ
23612017-11-19 Jakub Jelinek <jakub@redhat.com>
2362
2363 PR c/66618
2364 PR c/69960
2365 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
2366
1e39313a
JM
23672017-11-16 Joseph Myers <joseph@codesourcery.com>
2368
2369 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
2370 expected publication date of C17.
2371 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
2372
3ca0dc60
JM
23732017-11-15 Joseph Myers <joseph@codesourcery.com>
2374
2375 PR c/81156
2376 * c-common.c (c_common_reswords): Add __builtin_tgmath.
2377 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
2378
025d57f0
MS
23792017-11-10 Martin Sebor <msebor@redhat.com>
2380
2381 PR c/81117
2382 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
2383 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
2384 * c.opt (-Wstringop-truncation): New option.
2385
1b6fa695
ML
23862017-11-06 Martin Liska <mliska@suse.cz>
2387
2388 PR middle-end/82404
2389 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
2390 FE.
2391 * c.opt: Set default value of warn_return_type.
2392
64a5912c
DM
23932017-10-31 David Malcolm <dmalcolm@redhat.com>
2394
2395 * c-common.c (binary_op_error): Update for renaming of
2396 error_at_rich_loc.
2397 (c_parse_error): Likewise.
2398 * c-warn.c (warn_logical_not_parentheses): Likewise for
2399 renaming of inform_at_rich_loc.
2400 (warn_for_restrict): Likewise for renaming of
2401 warning_at_rich_loc_n.
2402
c76dc9c3
JM
24032017-10-30 Joseph Myers <joseph@codesourcery.com>
2404
2405 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
2406 * c-opts.c (set_std_c17): New function.
2407 (c_common_init_options): Use gnu17 as default C version.
2408 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
2409
ee5fd23a
MM
24102017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
2411
2412 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
2413 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
2414 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
2415 __FP_FAST_FMA<N>X.
2416
d1047465
MP
24172017-10-23 Marek Polacek <polacek@redhat.com>
2418
2419 PR c/82681
2420 * c-warn.c (warnings_for_convert_and_check): Fix typos.
2421
9e878cf1
EB
24222017-10-19 Eric Botcazou <ebotcazou@adacore.com>
2423
2424 * c-common.c (check_builtin_function_arguments): Also check arguments
2425 of __builtin_alloca_with_align_and_max.
2426
89b6abbb
DM
24272017-10-17 David Malcolm <dmalcolm@redhat.com>
2428
2429 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
2430 rather than NULL to format_warning_va.
2431 (check_format_types): Likewise when calling format_type_warning.
2432 Remove code to extract source_ranges and source_range * in favor
2433 of just a location_t.
2434 (format_type_warning): Convert source_range * param to a
2435 location_t.
2436
39382c09
JJ
24372017-10-13 Jakub Jelinek <jakub@redhat.com>
2438
2439 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
2440 [LR]SHIFT_EXPR.
2441
62e1c678
DM
24422017-10-12 David Malcolm <dmalcolm@redhat.com>
2443
2444 * c-common.c (enum missing_token_insertion_kind): New enum.
2445 (get_missing_token_insertion_kind): New function.
2446 (maybe_suggest_missing_token_insertion): New function.
2447 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
2448
b90c9338
NS
24492017-10-11 Nathan Sidwell <nathan@acm.org>
2450
2451 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
2452 (c_common_handle_option): Update incpath_kind names.
2453
3a266bcd
ML
24542017-10-11 Martin Liska <mliska@suse.cz>
2455
2456 PR sanitizer/82490
2457 * c-attribs.c (handle_no_sanitize_attribute): Report directly
2458 Wattributes warning.
2459
8e6cdc90
RS
24602017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
2461
2462 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
2463 operating on trees as wide_ints.
2464 * c-common.c (pointer_int_sum): Likewise.
2465 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2466 * c-warn.c (match_case_to_enum_1): Likewise.
2467 (c_do_switch_warnings): Likewise.
2468 (maybe_warn_shift_overflow): Likewise.
2469
802b38c9
JJ
24702017-10-10 Jakub Jelinek <jakub@redhat.com>
2471
2472 PR c/82437
2473 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
2474 instead of wide_int::from.
2475
4e34b338
JJ
24762017-10-06 Jakub Jelinek <jakub@redhat.com>
2477
2478 PR c/82437
2479 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
2480 using to_widest use wide_int with the larger of the two precisions.
2481
4bc4b2b4
BE
24822017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2483
2484 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
2485 functions.
2486
a1488398
RS
24872017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
2488
2489 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
2490 when combining the original unconverted comparison operands.
2491
01c9fb68
JJ
24922017-09-29 Jakub Jelinek <jakub@redhat.com>
2493
2494 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
2495 attribute.
2496
6e3e8419
EB
24972017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2498
2499 * c-ada-spec.c (to_ada_name): Add index parameter.
2500 (pp_ada_tree_identifier): Likewise.
2501 (dump_ada_macros): Adjust call to to_ada_name.
2502 (struct overloaded_name_hash): New type.
2503 (struct overloaded_name_hasher): Likewise.
2504 (overloaded_names): New hash table.
2505 (compute_overloading_index): New function.
2506 (dump_ada_decl_name): Call it and pass the result to
2507 pp_ada_tree_identifier.
2508 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2509 (dump_ada_function_declaration): Likewise.
2510 (dump_generic_ada_node): Likewise.
2511 (print_constructor): Likewise.
2512 (print_destructor): Likewise.
2513 (dump_ada_specs): Delete overloaded_names table.
2514
79310774
EB
25152017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2516
2517 * c-ada-spec.c (max_ada_macros): Move around.
2518 (store_ada_macro_index): Likewise.
2519 (source_file): Rename into...
2520 (macro_source_file): ...this.
2521 (count_ada_macro): Move around.
2522 (store_ada_macro): Likewise.
2523 (compare_macro): Likewise.
2524 (print_ada_macros): Merge in...
2525 (dump_ada_macros): ...this.
2526 (source_file_base): Rename into...
2527 (current_source_file): ...this.
2528 (print_comment): Move around.
2529 (dump_ada_nodes): Call dump_ada_declaration directly.
2530 (struct with): Change type of limited field to bool.
2531 (append_withs): Change type of limited_access parameter to bool.
2532 (pp_ada_tree_identifie): Likewise.
2533 (dump_ada_decl_nam): Likewise.
2534 (dump_generic_ada_node): Likewise. Do not print the return type.
2535 (to_ada_name): Change type of space_found parameter to bool.
2536 (dump_ada_function_declaration): Return void and change type of
2537 parameters to bool. Also print the return type for a function.
2538 (print_ada_methods): Rename into...
2539 (dump_ada_methods): ...this.
2540 (print_ada_declaration): Rename into ...
2541 (dump_ada_declaration): ...this. Do not print the return type.
2542 (print_ada_struct_decl): Rename into...
2543 (dump_ada_struct_decl): ...this.
2544
7d386d45
JJ
25452017-09-29 Jakub Jelinek <jakub@redhat.com>
2546
2547 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
2548 rather than DECL_INITIAL.
2549 (common_handle_aligned_attribute): Likewise.
2550
ab20d992 25512017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
2552
2553 * c.opt (gen-decls): Add RejectNegative.
2554
026a79f7
AS
25552017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
2556 Jakub Jelinek <jakub@redhat.com>
2557
2558 Add support for -std=c++2a.
2559 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
2560 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
2561 * c-opts.c (set_std_cxx2a): New.
2562 (c_common_handle_option): Set options when -std=c++2a is enabled.
2563 (c_common_post_options): Adjust comments.
2564 (set_std_cxx14, set_std_cxx17): Likewise.
2565
4a8ca690
EB
25662017-09-15 Eric Botcazou <ebotcazou@adacore.com>
2567
2568 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
2569 message for non-uniform endianness and issue a warning in C++.
2570
7b936140
JJ
25712017-09-15 Jakub Jelinek <jakub@redhat.com>
2572
2573 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
2574 (Wc++17-compat): Change from undocumented alias to option.
2575 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
2576 change C++1z to C++17 in description.
2577 (std=c++1z, std=gnu++1z): Change from option to undocumented
2578 deprecated alias.
2579 (std=c++17, std=gnu++17): Change from undocumented alias to option.
2580 Adjust description.
2581 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
2582 * c-opts.c (set_std_cxx1z): Rename to ...
2583 (set_std_cxx17): ... this.
2584 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
2585 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 2586 caller.
7b936140
JJ
2587 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
2588 comments.
2589
12263f13
L
25902017-09-12 H.J. Lu <hongjiu.lu@intel.com>
2591
2592 * c-attribs.c (common_handle_aligned_attribute): Don't warn
2593 function alignment if warn_if_not_aligned_p is true.
2594
6836632e
NS
25952017-09-12 Nathan Sidwell <nathan@acm.org>
2596
2597 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
2598 resort_sorted_fields): Move to c/c-decl.c.
2599 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
2600 (struct sorted_fields_type): Move to c/c-lang.h.
2601
019bf9ad
JW
26022017-09-09 Jonathan Wakely <jwakely@redhat.com>
2603
2604 PR c++/81852
2605 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
2606
bc7fe952
MP
26072017-09-04 Marek Polacek <polacek@redhat.com>
2608
2609 PR c/81783
2610 * c-warn.c (warn_tautological_bitwise_comparison): New function.
2611 (warn_tautological_cmp): Call it.
2612
ab20d992 26132017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
2614
2615 * c-opts.c (c_common_finish): Write dependency information even if
2616 there are errors.
2617
d2e05fcb
JJ
26182017-09-01 Jakub Jelinek <jakub@redhat.com>
2619
2620 PR c/81887
2621 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
2622 (omp_pragmas_simd): ... here.
2623 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
2624 create new clauses list containing just simd clause.
2625
18e2a8b8
RS
26262017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2627 Alan Hayward <alan.hayward@arm.com>
2628 David Sherwood <david.sherwood@arm.com>
2629
2630 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
2631 into scalar_mode_supported_p call.
2632 (handle_mode_attribute): Update call to scalar_mode_supported_p.
2633
16d22000
RS
26342017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2635 Alan Hayward <alan.hayward@arm.com>
2636 David Sherwood <david.sherwood@arm.com>
2637
2638 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
2639 for the mode iterator.
2640
b397965c
RS
26412017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2642 Alan Hayward <alan.hayward@arm.com>
2643 David Sherwood <david.sherwood@arm.com>
2644
2645 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
2646 * c-common.c (c_build_vec_perm_expr): Likewise.
2647
357b7604
RS
26482017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2649 Alan Hayward <alan.hayward@arm.com>
2650 David Sherwood <david.sherwood@arm.com>
2651
2652 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
2653
e05c94ba
RS
26542017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2655 Alan Hayward <alan.hayward@arm.com>
2656 David Sherwood <david.sherwood@arm.com>
2657
2658 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
2659 before calling targetm.addr_space.valid_pointer_mode.
2660
5c20c4af
RS
26612017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2662 Alan Hayward <alan.hayward@arm.com>
2663 David Sherwood <david.sherwood@arm.com>
2664
2665 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
2666
c94843d2 26672017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
2668 Alan Hayward <alan.hayward@arm.com>
2669 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
2670
2671 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
2672 iterators.
2673 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2674
4e10a5a7
RS
26752017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2676 Alan Hayward <alan.hayward@arm.com>
2677 David Sherwood <david.sherwood@arm.com>
2678
2679 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
2680 case statements.
2681
130fcab0
ML
26822017-08-29 Martin Liska <mliska@suse.cz>
2683
2684 PR other/39851
2685 * c-common.c (parse_optimize_options): Add argument to function
2686 call.
2687 * c-pragma.c (handle_pragma_diagnostic): Likewise.
2688
14e18d71
DM
26892017-08-24 David Malcolm <dmalcolm@redhat.com>
2690
2691 * c-lex.c (interpret_float): Use token location
2692 when building an EXCESS_PRECISION_EXPR.
2693
2f687306
DM
26942017-08-21 David Malcolm <dmalcolm@redhat.com>
2695
2696 * c-common.c (check_function_arguments): Add "arglogs" param; pass
2697 it to check_function_format.
2698 * c-common.h (check_function_arguments): Add vec<location_t> *
2699 param.
2700 (check_function_format): Likewise.
2701 * c-format.c (struct format_check_context): Add field "arglocs".
2702 (check_function_format): Add param "arglocs"; pass it to
2703 check_format_info.
ab20d992 2704 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
2705 new field of format_ctx.
2706 (check_format_arg): Pass format_ctx->arglocs to new param of
2707 check_format_info_main.
2708 (class argument_parser): New field "arglocs".
2709 (argument_parser::argument_parser): Add "arglocs_" param and use
2710 it to initialize new field.
2711 (argument_parser::check_argument_type): Pass new arglocs field to
2712 check_format_types.
2713 (check_format_info_main): Add param "arglocs", and use it when
2714 constructing arg_parser.
2715 (check_format_types): Add param "arglocs"; use it if non-NULL when
2716 !EXPR_HAS_LOCATION (cur_param) to get at location information.
2717
00aa1fa2
L
27182017-08-18 H.J. Lu <hongjiu.lu@intel.com>
2719
2720 PR c/53037
2721 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
2722 (c_common_attribute_table): Add warn_if_not_aligned.
2723 (handle_aligned_attribute): Renamed to ...
2724 (common_handle_aligned_attribute): Remove argument, name, and add
2725 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
2726 (handle_aligned_attribute): New.
2727 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
2728
27be025d
MS
27292017-08-14 Martin Sebor <msebor@redhat.com>
2730
2731 PR c/81117
2732 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
2733 (handle_nonstring_attribute): New function.
2734
da67acb9
MS
27352017-08-14 Martin Sebor <msebor@redhat.com>
2736
2737 PR c/81117
2738 * c-format.h (T89_G): New macro.
2739 * c-format.c (local_gcall_ptr_node): New variable.
2740 (init_dynamic_diag_info): Initialize it.
2741
a8b522b4
ML
27422017-08-11 Martin Liska <mliska@suse.cz>
2743
2744 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2745 TARGET_SUPPORTS_ALIASES.
2746
32129a17
DM
27472017-08-10 David Malcolm <dmalcolm@redhat.com>
2748
2749 * c-common.c (c_parse_error): Add rich_location * param, using it
2750 rather implicitly using input_location.
2751 * c-common.h (c_parse_error): Add rich_location * param.
2752
30af3a2b
MP
27532017-08-09 Marek Polacek <polacek@redhat.com>
2754
2755 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2756 (c_common_truthvalue_conversion): Likewise.
2757 * c-omp.c (c_finish_omp_atomic): Likewise.
2758 * c-common.h (build_binary_op): Update declaration.
2759
314e6352
ML
27602017-08-08 Martin Liska <mliska@suse.cz>
2761
2762 * c-ada-spec.c: Include header files.
2763 * c-ubsan.c: Likewise.
2764 * c-warn.c: Likewise.
2765
56b5041c
JJ
27662017-08-07 Jakub Jelinek <jakub@redhat.com>
2767
2768 PR c/69389
2769 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2770
db440138
EB
27712017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2772
2773 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2774 (print_ada_methods): Likewise.
2775 (print_ada_declaration): Likewise.
2776
577eec56
ML
27772017-08-07 Martin Liska <mliska@suse.cz>
2778
2779 * array-notation-common.c: Add new includes.
2780 * c-format.c( handle_format_attribute): Canonicalize a format
2781 function name.
2782 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2783 attribute.
2784 * c-pretty-print.c: Add new include.
2785
b854df3c
EB
27862017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2787
2788 * c-ada-spec.c (has_static_fields): Look only into variables.
2789 (print_constructor): Add TYPE parameter and use it for the name.
2790 (print_destructor): Likewise.
2791 (print_ada_declaration): Adjust to new constructor/destructor names.
2792 Adjust calls to print_constructor and print_destructor.
2793 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2794 Look only into variables in the final loop.
2795
9f2cb25e
EB
27962017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2797
2798 * c-ada-spec.c (has_static_fields): Look only into fields.
2799 (dump_generic_ada_node): Small tweak.
2800 (dump_nested_types): Look only into fields.
2801 (print_ada_declaration): Look only into methods. Small tweak.
2802 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2803
f4bcd9eb
EB
28042017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2805
2806 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2807 (dump_ada_function_declaration): Likewise.
2808 (dump_generic_ada_node): Likewise.
2809 (print_ada_declaration): Add support for const-qualified variables.
2810
f34ebeb2
ML
28112017-07-31 Martin Liska <mliska@suse.cz>
2812
2813 PR sanitize/81530
2814 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2815 Guard condition with flag_sanitize_p also with current_function_decl
2816 non-null equality.
2817 (ubsan_maybe_instrument_reference_or_call): Likewise.
2818
218e5d04
UB
28192017-07-30 Uros Bizjak <ubizjak@gmail.com>
2820
2821 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2822
942047f2
EB
28232017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2824
2825 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2826 for enumeral types.
2827 (print_ada_declaration): Add missing guard for record types.
2828
a40ff0ae
JJ
28292017-07-27 Jakub Jelinek <jakub@redhat.com>
2830
2831 PR c/45784
2832 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2833 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2834 new COMPOUND_EXPRs around the rhs of the comparison.
2835
06bd22f6
MP
28362017-07-27 Marek Polacek <polacek@redhat.com>
2837
2838 PR c/81417
2839 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2840 the types.
2841
036ea399
JJ
28422017-07-27 Jakub Jelinek <jakub@redhat.com>
2843
2844 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2845 (handle_noipa_attribute): New function.
2846
417ca011
TD
28472017-07-07 Torsten Duwe <duwe@suse.de>
2848
2849 * c-attribs.c (c_common_attribute_table): Add entry for
2850 "patchable_function_entry".
2851
5aaa8fb4
NS
28522017-07-20 Nathan Sidwell <nathan@acm.org>
2853
2854 Remove TYPE_METHODS.
2855 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2856 dump_ada_template, print_ada_methods,
2857 print_ada_declaration): Member fns are on TYPE_FIELDS.
2858
ff22eb12
NS
28592017-07-18 Nathan Sidwell <nathan@acm.org>
2860
2861 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2862
eea77d1f
DM
28632017-07-14 David Malcolm <dmalcolm@redhat.com>
2864
2865 * c-common.c (try_to_locate_new_include_insertion_point): New
2866 function.
2867 (per_file_includes_t): New typedef.
2868 (added_includes_t): New typedef.
2869 (added_includes): New variable.
2870 (maybe_add_include_fixit): New function.
2871 * c-common.h (maybe_add_include_fixit): New decl.
2872
281ac396
MS
28732017-07-10 Martin Sebor <msebor@redhat.com>
2874
2875 PR other/81345
2876 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2877
b6f43128
DM
28782017-07-06 David Malcolm <dmalcolm@redhat.com>
2879
2880 * c-common.c (selftest::c_family_tests): New.
2881 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2882 (selftest::c_family_tests): New decl.
2883
efbf55b0
MP
28842017-07-04 Marek Polacek <polacek@redhat.com>
2885
2886 PR c/81231
2887 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
2888 types.
2889
6c86bd88
MP
28902017-07-04 Marek Polacek <polacek@redhat.com>
2891
2892 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2893
17a7218b
ML
28942017-06-28 Martin Liska <mliska@suse.cz>
2895
2896 PR ipa/81128
2897 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2898 to a function declaration.
2899
63010089
ML
29002017-06-28 Martin Liska <mliska@suse.cz>
2901
2902 PR driver/79659
2903 * c.opt: Add IntegerRange to various options.
2904
3e2becc4
MP
29052017-06-26 Marek Polacek <polacek@redhat.com>
2906
2907 PR c/80116
2908 * c-common.h (warn_for_multistatement_macros): Declare.
2909 * c-warn.c: Include "c-family/c-indentation.h".
2910 (warn_for_multistatement_macros): New function.
2911 * c.opt (Wmultistatement-macros): New option.
2912 * c-indentation.c (guard_tinfo_to_string): No longer static.
2913 Change the parameter type to "enum rid". Handle RID_SWITCH.
2914 * c-indentation.h (guard_tinfo_to_string): Declare.
2915
2db9b7cd
MG
29162017-06-23 Marc Glisse <marc.glisse@inria.fr>
2917
2918 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2919
c3684b7b
MS
29202017-06-15 Martin Sebor <msebor@redhat.com>
2921
2922 PR c++/80560
2923 * c.opt (-Wclass-memaccess): New option.
2924
e72c4afd
BK
29252017-06-14 Boris Kolpackov <boris@codesynthesis.com>
2926
2927 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
2928
8a516588
MP
29292017-06-13 Marek Polacek <polacek@redhat.com>
2930
2931 PR objc/80949
2932 * c-warn.c (do_warn_duplicated_branches): Return if any of the
2933 branches is null.
2934
45b2222a
ML
29352017-06-13 Martin Liska <mliska@suse.cz>
2936
2937 PR sanitize/78204
2938 * c-attribs.c (add_no_sanitize_value): New function.
2939 (handle_no_sanitize_attribute): Likewise.
2940 (handle_no_sanitize_address_attribute): Use the function.
2941 (handle_no_sanitize_thread_attribute): New function.
2942 (handle_no_address_safety_analysis_attribute): Use
2943 add_no_sanitize_value.
2944 (handle_no_sanitize_undefined_attribute): Likewise.
2945 * c-common.h: Declare new functions.
2946 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2947 (ubsan_instrument_shift): Likewise.
2948 (ubsan_instrument_bounds): Likewise.
2949 (ubsan_maybe_instrument_array_ref): Likewise.
2950 (ubsan_maybe_instrument_reference_or_call): Likewise.
2951
a01f151f
JM
29522017-06-11 Jason Merrill <jason@redhat.com>
2953
2954 * c-ada-spec.c, c-pragma.c: Use id_equal.
2955
3de4ac6d
MP
29562017-06-04 Marek Polacek <polacek@redhat.com>
2957
2958 PR c/80919
2959 * c-format.c (matching_type_p): Return false if any of the types
2960 requires structural equality.
2961
2474f48f
MS
29622017-06-02 Martin Sebor <msebor@redhat.com>
2963
2964 PR c/80892
2965 * c-warn.c (conversion_warning): Use -Wconversion for integer
2966 conversion and -Wfloat-conversion for floating one.
2967
40ffd95f
BE
29682017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2969
2970 * c.opt (Wsizeof-pointer-div): New warning option.
2971
3fa4634c
VR
29722017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
2973
2974 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
2975 (Wcatch-value=1): Enable by -Wall.
2976
f012c8ef
DM
29772017-05-30 David Malcolm <dmalcolm@redhat.com>
2978
2979 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
2980 format_chars.
2981 * c.opt (fdiagnostics-show-template-tree): New option.
2982 (felide-type): New option.
2983
63dbcd13
VR
29842017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
2985
2986 * c.opt (Wcatch-value=): New C++ warning flag.
2987
be136b5c
NS
29882017-05-24 Nathan Sidwell <nathan@acm.org>
2989
2990 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
2991 const casts to avoid warning.
2992
3cd211af
MS
29932017-05-24 Martin Sebor <msebor@redhat.com>
2994
2995 PR c/80731
2996 * c-common.h (unsafe_conversion_p): Add a function argument.
2997 * c-common.c (unsafe_conversion_p): Same.
2998 Add type names and values to diagnostics.
2999 (scalar_to_vector): Adjust.
3000 * c-warn.c (constant_expression_error): Add a function argument.
3001 Add type names and values to diagnostics.
3002 (conversion_warning): Add a function argument.
3003 Add type names and values to diagnostics.
3004 (warnings_for_convert_and_check): Same.
3005
1ff7be5a
JM
30062017-05-19 Jason Merrill <jason@redhat.com>
3007
3008 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
3009 enumerators.
3010
ff502317
BE
30112017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3012
3013 * c-format.c (locus): Move out of function scope,
3014 add GTY attribute.
3015
2a8a8d7b
NS
30162017-05-19 Nathan Sidwell <nathan@acm.org>
3017
3018 * c-opts.c (class_dump_file, class_dump_flags): Delete.
3019 (c_common_parse_file): Remove class dump handling.
3020 (get_dump_info): Likewise.
3021
39aac208
RB
30222017-05-19 Richard Biener <rguenther@suse.de>
3023
3024 PR c++/80593
3025 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
3026 to alias-set zero memory.
3027
6ecd2339
BE
30282017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
3029
3030 * c-format.c (local_tree_type_node): Add GTY attribute.
3031
6574d78e
MP
30322017-05-18 Marek Polacek <polacek@redhat.com>
3033
3034 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
3035 (c_common_fixed_point_type_for_size): Likewise.
3036 (c_common_type_for_mode): Likewise.
3037 (shorten_compare): Likewise.
3038 (c_promoting_integer_type_p): Use false/true instead of 0/1.
3039 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
3040
e3455240
MP
30412017-05-18 Marek Polacek <polacek@redhat.com>
3042
3043 * c-common.c (self_promoting_args_p): Change the return type to bool.
3044 Use false/true instead of 0/1.
3045 * c-common.h (self_promoting_args_p): Update.
3046
3fa8871b
MP
30472017-05-17 Marek Polacek <polacek@redhat.com>
3048
3049 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
3050 * c-warn.c: Likewise.
3051
b42cc3ca
VV
30522017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
3053
3054 Implement new C++ intrinsics __is_assignable and __is_constructible.
3055 * c-common.c (__is_assignable, __is_constructible): New.
3056 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
3057
1a817418
ML
30582017-05-17 Martin Liska <mliska@suse.cz>
3059
3060 * c-common.h: Introduce dump_flags_t type and
3061 use it instead of int type.
3062 * c-gimplify.c (c_genericize): Likewise.
3063 * c-opts.c: Likewise.
3064
b2fa0a8b
MP
30652017-05-17 Marek Polacek <polacek@redhat.com>
3066
3067 * c-common.c (c_save_expr): Remove.
3068 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
3069 * c-common.h (c_save_expr): Remove declaration.
3070
31c2d57d
VR
30712017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
3072
3073 PR c/35441
3074 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
3075 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
3076 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
3077 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
3078 RDIV_EXPR.
3079 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
3080
684f84de
MP
30812017-05-09 Marek Polacek <polacek@redhat.com>
3082
3083 PR c/80525
3084 * c-warn.c (unwrap_c_maybe_const): New.
3085 (warn_logical_operator): Call it.
3086
641da50a
NS
30872017-05-09 Nathan Sidwell <nathan@acm.org>
3088
3089 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
3090 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
3091
631238ac
MS
30922017-05-08 Martin Sebor <msebor@redhat.com>
3093
3094 PR translation/80280
3095 * c-format.h (struct format_flag_spec): Add new member.
3096 (T89_T): New macro.
3097 * c-format.c (local_tree_type_node): New global.
3098 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3099 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3100 (strfmon_flag_specs): Likewise.
3101 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3102 with distinct quoting properties.
3103 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3104 (flag_chars_t::validate): Add argument and handle bad quoting.
3105 (check_format_info_main): Handle quoting problems.
3106 (init_dynamic_diag_info): Simplify.
3107
49f0c04c
JM
31082017-05-08 Jason Merrill <jason@redhat.com>
3109
3110 * c-opts.c (c_common_post_options): Update defaults for
3111 flag_abi_version and flag_abi_compat_version.
3112
56d35585
DM
31132017-05-05 David Malcolm <dmalcolm@redhat.com>
3114
3115 * c-common.c (c_cpp_error): Replace report_diagnostic
3116 with diagnostic_report_diagnostic.
3117
0f2c4a8f
MS
31182017-05-04 Martin Sebor <msebor@redhat.com>
3119
3120 PR translation/80280
3121 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3122 (handle_weakref_attribute): Same.
3123
6fe63fb4
NS
31242017-05-03 Nathan Sidwell <nathan@acm.org>
3125
3126 Canonicalize canonical type hashing
3127 * c-common.c (complete_array_type): Use type_hash_canon.
3128
815d9cc6
XR
31292017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3130
92a285c1 3131 PR c++/80038
815d9cc6
XR
3132 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3133 prototype.
3134 (cilk_install_body_pedigree_operations): Likewise.
3135 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3136 detatched.
3137 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3138 (cilk_install_body_pedigree_operations): Likewise.
3139 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3140 unwrapping.
3141
f8a36447
JJ
31422017-04-27 Jakub Jelinek <jakub@redhat.com>
3143
3144 PR c++/80534
3145 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3146 flag on non-aggregate element types.
3147
7c145456
BE
31482017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3149
3150 * c-common.c (c_type_hasher, type_hash_table): Remove.
3151 (c_common_get_alias_set): Remove unreachable code.
3152 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3153
c3cbcd45
VR
31542017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3155
3156 * c.opt (Wextra-semi): New C++ warning flag.
3157
8a59d466
JJ
31582017-04-20 Jakub Jelinek <jakub@redhat.com>
3159
3160 PR middle-end/80423
3161 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3162
8487c9a5
JJ
31632017-04-18 Jakub Jelinek <jakub@redhat.com>
3164
3165 PR middle-end/79788
3166 PR middle-end/80375
3167 * c-common.c (c_common_type_for_mode): Don't handle
3168 widest_*_literal_type_node here.
3169 c_common_signed_or_unsigned_type): Likewise.
3170 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3171 to *intTI_type_node or *intDI_type_node depending on whether
3172 TImode is supported by the target or not.
3173
3ee0fb02
ML
31742017-04-10 Martin Liska <mliska@suse.cz>
3175
3176 PR sanitizer/80350
3177 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3178 doing an UBSAN check.
3179
5764ee3c
JW
31802017-04-03 Jonathan Wakely <jwakely@redhat.com>
3181
3182 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3183
6f3af356
JJ
31842017-03-31 Jakub Jelinek <jakub@redhat.com>
3185
3186 PR c++/79572
3187 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3188 tree *.
3189 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3190 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3191 REFERENCE_TYPE.
3192
f6a7a9d5
DM
31932017-03-31 David Malcolm <dmalcolm@redhat.com>
3194
3195 PR documentation/78732
3196 * c.opt (Wendif-labels): Fix description to refer to
3197 #else rather than #elif.
3198
af88f557
JJ
31992017-03-31 Jakub Jelinek <jakub@redhat.com>
3200
3201 PR libstdc++/80251
3202 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
3203 * c-common.c (c_common_reswords): Add __is_aggregate trait.
3204
a9e4a1a5
JJ
32052017-03-27 Jakub Jelinek <jakub@redhat.com>
3206
3207 PR middle-end/80162
3208 * c-common.c (c_common_mark_addressable_vec): Don't set
3209 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
3210
3f01b620
MS
32112017-03-21 Martin Sebor <msebor@redhat.com>
3212
3213 PR c++/79548
3214 * c-common.c (set_underlying_type): Mark type used only when
3215 original del is declared unused.
3216
2f6f187a
DM
32172017-03-10 David Malcolm <dmalcolm@redhat.com>
3218
3219 PR translation/79848
3220 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
3221 "%qs".
3222
a02fa805
DM
32232017-03-10 David Malcolm <dmalcolm@redhat.com>
3224
3225 PR c/79921
3226 * c-indentation.c (warn_for_misleading_indentation): Remove parens
3227 from inform's message, so that xgettext can locate it.
3228
822a132c
MP
32292017-03-09 Marek Polacek <polacek@redhat.com>
3230
3231 PR c++/79962
3232 PR c++/79984
3233 * c-attribs.c (handle_nonnull_attribute): Save the result of default
3234 conversion to the attribute list.
3235
bba81f1c
ML
32362017-03-09 Martin Liska <mliska@suse.cz>
3237
3238 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
3239
108154ff
JM
32402017-03-03 Jason Merrill <jason@redhat.com>
3241
3242 * c.opt (Wnoexcept-type): New.
3243
eb0e7c34
RB
32442017-03-02 Richard Biener <rguenther@suse.de>
3245
3246 PR c/79756
3247 * c-common.c (c_common_mark_addressable_vec): Look through
3248 C_MAYBE_CONST_EXPR.
3249
9453ba0a
ML
32502017-02-28 Martin Liska <mliska@suse.cz>
3251
3252 * c.opt: Replace space with tabular for options of <number>
3253 type.
3254
6a825afe
ML
32552017-02-28 Martin Liska <mliska@suse.cz>
3256
3257 * c.opt: Fix --help=option -Q for options which are of
3258 an enum type.
3259
4227c9ad
JJ
32602017-02-24 Jakub Jelinek <jakub@redhat.com>
3261
3262 PR c++/79588
3263 * c-common.c (check_function_restrict): New function.
3264 (check_function_arguments): Add FNDECL argument. Call
3265 check_function_restrict if -Wrestrict.
3266 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3267 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3268 * c-common.h (check_function_arguments): Add FNDECL argument.
3269 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3270
59909673
EB
32712017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3272
3273 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3274 treatment of parameters with pointer-to-tagged type and tidy up.
3275 (print_ada_methods): Remove the special treatment of C++ static member
3276 functions.
3277
54dcd526
ML
32782017-02-22 Martin Liska <mliska@suse.cz>
3279
3280 * c.opt: Replace inequality signs with square brackets
3281 for -Wnornalized.
3282
00bc9de3
JJ
32832017-02-21 Jakub Jelinek <jakub@redhat.com>
3284
3285 PR c++/79641
3286 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
3287 preserve quals.
3288
97fcf744
JM
32892017-02-17 Joseph Myers <joseph@codesourcery.com>
3290
3291 * c-cppbuiltin.c (builtin_define_float_constants): Define
3292 __DECIMAL_DIG__ to the value for long double.
3293
c7545f1c
MP
32942017-02-15 Marek Polacek <polacek@redhat.com>
3295
3296 PR c/79515
3297 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
3298 conversion has occured.
3299
c2e84327
DM
33002017-01-24 David Malcolm <dmalcolm@redhat.com>
3301
3302 * c-common.c (c_common_reswords): Add "__RTL".
3303 * c-common.h (enum rid): Add RID_RTL.
3304
2ebd93e1
MP
33052017-01-20 Marek Polacek <polacek@redhat.com>
3306
3307 PR c/64279
3308 * c-common.h (do_warn_duplicated_branches_r): Declare.
3309 * c-gimplify.c (c_genericize): Walk the function tree calling
3310 do_warn_duplicated_branches_r.
3311 * c-warn.c (expr_from_macro_expansion_r): New.
3312 (do_warn_duplicated_branches): New.
3313 (do_warn_duplicated_branches_r): New.
3314 * c.opt (Wduplicated-branches): New option.
3315
0d80ab91
DM
33162017-01-17 David Malcolm <dmalcolm@redhat.com>
3317
3318 PR c++/71497
3319 * c-indentation.c (warn_for_misleading_indentation): Use the past
3320 subjunctive in the note.
3321
7f991c36
AH
33222017-01-17 Aldy Hernandez <aldyh@redhat.com>
3323
3324 PR c/79116
3325 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
3326 start type to integer_type.
3327
1c70261c
JJ
33282017-01-16 Jakub Jelinek <jakub@redhat.com>
3329
3330 PR driver/49726
3331 * c.opt (gen-decls): Add Driver flag.
3332
1ddca3f3
PC
33332017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3334
3335 Revert:
3336 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3337
3338 PR c++/71737
3339 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3340
7d2f3f1d
PC
33412017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3342
3343 PR c++/71737
3344 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3345
bce6f760
MS
33462017-01-12 Martin Sebor <msebor@redhat.com>
3347
3348 (-Wformat-overflow): ...to this.
3349
bf5fbf46
MS
33502017-01-11 Martin Sebor <msebor@redhat.com>
3351
3352 PR c/78768
3353 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
3354 Also enable for LTO.
3355
e363df3f
JM
33562017-01-10 Jason Merrill <jason@redhat.com>
3357
3358 Implement P0195R2, C++17 variadic using.
3359 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
3360
bd2c6270
JJ
33612017-01-09 Jakub Jelinek <jakub@redhat.com>
3362
3363 PR translation/79019
3364 PR translation/79020
3365 * c.opt (Wnormalized=): Fix typo in description.
3366
efcc8d38
MS
33672017-01-08 Martin Sebor <msebor@redhat.com>
3368
3369 PR middle-end/77708
3370 * c.opt (-Wformat-truncation): New option.
3371
ab20d992 33722017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
3373
3374 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
3375 value to unsigned short to fit in 4 hex digits without
3376 warnings.
3377
4e89adf9
EB
33782017-01-05 Eric Botcazou <ebotcazou@adacore.com>
3379
3380 * c.opt (fsso-struct): Add 'native' value.
3381
cd445b54
ML
33822017-01-05 Martin Liska <mliska@suse.cz>
3383
3384 PR pch/78970
3385 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
3386 header.
3387
a9342885
MP
33882017-01-04 Marek Polacek <polacek@redhat.com>
3389
3390 PR c++/64767
3391 * c.opt (Wpointer-compare): New option.
3392
fc73e60c
JJ
33932017-01-04 Jakub Jelinek <jakub@redhat.com>
3394
3395 PR driver/78957
3396 * c.opt (fsso-struct=): Add RejectNegative.
3397
cbe34bb5
JJ
33982017-01-01 Jakub Jelinek <jakub@redhat.com>
3399
3400 Update copyright years.
3401
d4a6c0ea
ML
34022016-12-29 Martin Liska <mliska@suse.cz>
3403
3404 PR c/78933
3405 * c.opt (strong-eval-order): Add RejectNegative keyword.
3406
67a5ad7c
JM
34072016-12-22 Jason Merrill <jason@redhat.com>
3408
3409 Implement P0522R0, matching of template template arguments.
3410 * c-cppbuiltin.c (c_cpp_builtins): Define
3411 __cpp_template_template_args.
3412
0dba7960
JJ
34132016-12-21 Jakub Jelinek <jakub@redhat.com>
3414
3415 PR bootstrap/78817
3416 * c-common.c (struct nonnull_arg_ctx): New type.
3417 (check_function_nonnull): Return bool instead of void. Use
3418 nonnull_arg_ctx as context rather than just location_t.
3419 (check_nonnull_arg): Adjust for the new context type, set
3420 warned_p to true if a warning has been diagnosed.
3421 (check_function_arguments): Return bool instead of void.
3422 * c-common.h (check_function_arguments): Adjust prototype.
3423
31bfc9b9
JM
34242016-12-21 Jason Merrill <jason@redhat.com>
3425
3426 * c.opt (-fnew-ttp-matching): New flag.
3427 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
3428
629b3d75
MJ
34292016-12-14 Martin Jambor <mjambor@suse.cz>
3430
3431 * c-omp.c: Include omp-general.h instead of omp-low.h.
3432 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
3433 name.
3434
474da67e
MS
34352016-12-14 Martin Sebor <msebor@redhat.com>
3436
3437 PR c/17308
3438 * c-common.c (check_nonnull_arg): Disable when optimization
3439 is enabled.
3440
fe366b87
MP
34412016-12-12 Marek Polacek <polacek@redhat.com>
3442
3443 PR c++/78647
3444 * c-common.c (attribute_fallthrough_p): Return false for
3445 error_mark_node.
3446
8bd9f164
MS
34472016-12-08 Martin Sebor <msebor@redhat.com>
3448
3449 PR c/78284
3450 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
3451
060162e0
MS
34522016-12-08 Martin Sebor <msebor@redhat.com>
3453
3454 PR c/78165
92a285c1
ML
3455 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
3456 suffix.
060162e0 3457
ee92e7ba
MS
34582016-12-07 Martin Sebor <msebor@redhat.com>
3459
3460 PR c/53562
3461 PR middle-end/77784
3462 PR middle-end/78149
3463 PR middle-end/78138
3464 * c.opt (-Wstringop-overflow): New option.
3465
84b0769e
MO
34662016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
3467
3468 * c-attribs.c (asan odr indicator): New attribute.
3469 (handle_asan_odr_indicator_attribute): New function.
3470
7fa6a965
PK
34712016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3472
3473 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
3474 ptrdiff_type_node;
3475
56d8ffc1
JG
34762016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3477
3478 * c-common.c (excess_precision_mode_join): New.
3479 (c_ts18661_flt_eval_method): New.
3480 (c_c11_flt_eval_method): Likewise.
3481 (c_flt_eval_method): Likewise.
3482 * c-common.h (excess_precision_mode_join): New.
3483 (c_flt_eval_method): Likewise.
3484 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
3485 (cpp_iec_559_value): Call it.
3486 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
3487 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
3488 __FLT_EVAL_METHOD_TS_18661_3__.
3489
04f0fcf7
JG
34902016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3491
3492 * c-opts.c (c_common_post_options): Add logic to handle the default
3493 case for -fpermitted-flt-eval-methods.
3494
fb2675cb
PB
34952016-11-23 Paolo Bonzini <bonzini@gnu.org>
3496
3497 * c.opt (Wexpansion-to-defined): New.
3498
ec1c5694
JJ
34992016-11-23 Jakub Jelinek <jakub@redhat.com>
3500
3501 PR target/78451
3502 * c-pragma.c (handle_pragma_target): Don't replace
3503 current_target_pragma, but chainon the new args to the current one.
3504
730c9e75
NS
35052016-11-22 Nathan Sidwell <nathan@acm.org>
3506
3507 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 3508 indentation and formatting.
730c9e75 3509
89990732
MS
35102016-11-21 Martin Sebor <msebor@redhat.com>
3511
3512 * c.opt (-fprintf-return-value): Enable by default.
3513
48330c93
BE
35142016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3515
3516 PR c++/71973
3517 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
3518 * c-common.c (c_common_nodes_and_builtins): Initialize
3519 const_tm_ptr_type_node.
3520
0d939c95
MP
35212016-11-16 Marek Polacek <polacek@redhat.com>
3522
3523 PR c/78285
3524 * c-common.c (c_add_case_label): Turn error_at calls into inform.
3525
8e745a17
JJ
35262016-11-14 Jakub Jelinek <jakub@redhat.com>
3527
3528 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
3529
1ee62b92 35302016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
3531 Richard Biener <rguenther@suse.de>
3532
3533 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
3534 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
3535 * c.opt (fgimple): New option.
1ee62b92 3536
22b15758
UB
35372016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3538
3539 PR c/35503
3540 * c-common.h (warn_for_restrict): Declare.
3541 * c-warn.c: Include gcc-rich-location.h.
3542 (warn_for_restrict): New function.
3543 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
3544 (gcc_cdiag_char_table): Likewise.
3545 (gcc_cxxdiag_char_table): Likewise.
3546 * c.opt (Wrestrict): New option.
3547
4be719cd
EB
35482016-11-13 Eric Botcazou <ebotcazou@adacore.com>
3549
3550 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
3551 for nested types only if the type is a record or union and dump SLOC.
3552
4a826ca6
JM
35532016-11-09 Jason Merrill <jason@redhat.com>
3554
3555 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
3556
2e955d50
JJ
35572016-11-09 Jakub Jelinek <jakub@redhat.com>
3558
3559 * c-ubsan.c (ubsan_instrument_shift): Handle split
3560 -fsanitize=shift-base and -fsanitize=shift-exponent.
3561
51dc6603
JM
35622016-11-07 Jason Merrill <jason@redhat.com>
3563
3564 * c.opt (Wc++1z-compat): New.
3565 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
3566
6dc4a604
ML
35672016-11-07 Martin Liska <mliska@suse.cz>
3568
3569 * c-warn.c (warn_for_unused_label): Save all labels used
3570 in goto or in &label.
3571
b302001e
JM
35722016-11-03 Jason Merrill <jason@redhat.com>
3573
3574 * c-cppbuiltin.c (c_cpp_builtins): Correct
3575 __cpp_inheriting_constructors.
3576
31f7f784
JM
35772016-11-01 Jason Merrill <jason@redhat.com>
3578
2bc78e3c
JM
3579 * c-cppbuiltin.c (c_cpp_builtins): Update
3580 __cpp_inheriting_constructors.
3581
31f7f784
JM
3582 * c.opt (-fnew-inheriting-ctors): New.
3583 * c-opts.c: Default to on for ABI 11+.
3584
dcb466ec
JJ
35852016-10-31 Jakub Jelinek <jakub@redhat.com>
3586
3587 PR c++/77948
3588 * c.opt (fext-numeric-literals): Add Var and Init.
3589 * c-opts.c (c_common_handle_option): Don't clear
3590 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
3591 (c_common_post_options): Clear it here if not set
3592 explicitly.
3593
52e1b91e
AH
35942016-10-28 Aldy Hernandez <aldyh@redhat.com>
3595
3596 PR debug/77773
3597 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
3598 if NULL.
3599
e16f1cc7
JJ
36002016-10-25 Jakub Jelinek <jakub@redhat.com>
3601
3602 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
3603 * c-common.c (c_common_reswords): Add __builtin_launder.
3604
f8348061
BE
36052016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
3606
3607 * c-common.c (c_common_truthvalue_conversion): Warn for
3608 multiplications in boolean context. Fix the quoting of '<<' and '<'
3609 in the shift warning.
3610
eff89e01
BE
36112016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
3612
3613 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
3614
24bc7bf4
JM
36152016-10-20 Jason Merrill <jason@redhat.com>
3616
3617 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
3618
4c712374
BE
36192016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3620
3621 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
3622 integer shift ops in boolean context.
3623
36242016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
3625
3626 * c.opt (Walloca): New.
3627 (Walloca-larger-than=): New.
3628 (Wvla-larger-than=): New.
3629
8fa18c06
MP
36302016-10-17 Marek Polacek <polacek@redhat.com>
3631
3632 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
3633 Return immediately when finding a match.
3634 (warn_tautological_cmp): Remove a boolean variable that is no longer
3635 needed.
3636
b12b1915
MP
36372016-10-17 Marek Polacek <polacek@redhat.com>
3638
3639 * c-attribs.c: New file.
3640 * c-common.c: Move attributes handling to c-attribs.c.
3641 (get_nonnull_operand): No longer static.
3642 * c-common.h: Move the declarations from c-attribs.c to its own section.
3643
2045acd9
JM
36442016-10-14 Jason Merrill <jason@redhat.com>
3645
3646 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
3647 and __cpp_deduction_guides.
3648
14a2c9aa
JM
36492016-10-13 Jason Merrill <jason@redhat.com>
3650
3651 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
3652
4d0cdd0c
TP
36532016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3654
3655 * c-cppbuiltin.c: Include memmodel.h.
3656 * c-opts.c: Likewise.
3657 * c-pragma.c: Likewise.
3658 * c-warn.c: Likewise.
3659
70f6d5e1
JJ
36602016-10-12 Jakub Jelinek <jakub@redhat.com>
3661
3662 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
3663 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
3664 * c-opts.c (sanitize_cpp_opts): Initialize
3665 cpp_opts->cpp_warn_implicit_fallthrough.
3666
78f61294
MP
36672016-10-11 Marek Polacek <polacek@redhat.com>
3668
3669 * c-common.c (warning_candidate_p): Change the return type to bool
3670 and return true/false instead of 1/0.
3671 (vector_mode_valid_p): Likewise.
3672
038b5cc0
MP
36732016-10-11 Marek Polacek <polacek@redhat.com>
3674
3675 * c-common.c (fold_for_warn): No longer static.
3676 (bool_promoted_to_int_p): Likewise.
3677 (c_common_get_narrower): Likewise.
3678 (constant_expression_warning): Move to c-warn.c.
3679 (constant_expression_error): Likewise.
3680 (overflow_warning): Likewise.
3681 (warn_logical_operator): Likewise.
3682 (find_array_ref_with_const_idx_r): Likewise.
3683 (warn_tautological_cmp): Likewise.
3684 (expr_has_boolean_operands_p): Likewise.
3685 (warn_logical_not_parentheses): Likewise.
3686 (warn_if_unused_value): Likewise.
3687 (strict_aliasing_warning): Likewise.
3688 (sizeof_pointer_memaccess_warning): Likewise.
3689 (check_main_parameter_types): Likewise.
3690 (conversion_warning): Likewise.
3691 (warnings_for_convert_and_check): Likewise.
3692 (match_case_to_enum_1): Likewise.
3693 (match_case_to_enum): Likewise.
3694 (c_do_switch_warnings): Likewise.
3695 (warn_for_omitted_condop): Likewise.
3696 (readonly_error): Likewise.
3697 (lvalue_error): Likewise.
3698 (invalid_indirection_error): Likewise.
3699 (warn_array_subscript_with_type_char): Likewise.
3700 (warn_about_parentheses): Likewise.
3701 (warn_for_unused_label): Likewise.
3702 (warn_for_div_by_zero): Likewise.
3703 (warn_for_memset): Likewise.
3704 (warn_for_sign_compare): Likewise.
3705 (do_warn_double_promotion): Likewise.
3706 (do_warn_unused_parameter): Likewise.
3707 (record_locally_defined_typedef): Likewise.
3708 (maybe_record_typedef_use): Likewise.
3709 (maybe_warn_unused_local_typedefs): Likewise.
3710 (maybe_warn_bool_compare): Likewise.
3711 (maybe_warn_shift_overflow): Likewise.
3712 (warn_duplicated_cond_add_or_warn): Likewise.
3713 (diagnose_mismatched_attributes): Likewise.
3714 * c-common.h: Move the declarations from c-warn.c to its own section.
3715 * c-warn.c: New file.
3716
627be19f
JM
37172016-10-08 Jason Merrill <jason@redhat.com>
3718
3719 * c-common.c (c_common_truthvalue_conversion): Don't distribute
3720 into COND_EXPR in C++.
3721
7bad794a
JJ
37222016-10-08 Jakub Jelinek <jakub@redhat.com>
3723
3724 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
3725 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
3726 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
3727
be845b04
JJ
37282016-10-07 Jakub Jelinek <jakub@redhat.com>
3729
3730 Implement LWG2296 helper intrinsic
3731 * c-common.h (enum rid): Add RID_ADDRESSOF.
3732 * c-common.c (c_common_reswords): Add __builtin_addressof.
3733
c09c4992
BE
37342016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
3735
3736 PR c++/77700
3737 * c-common.c (c_common_truthvalue_conversion): Warn also for
3738 suspicious enum values in boolean context.
3739
342cfb3e
JJ
37402016-10-06 Jakub Jelinek <jakub@redhat.com>
3741
3742 Implement P0258R2 - helper for C++17
3743 std::has_unique_object_representations trait
3744 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3745 * c-common.c (c_common_reswords): Add
3746 __has_unique_object_representations.
3747
2e69f143
JJ
37482016-10-05 Jakub Jelinek <jakub@redhat.com>
3749
3750 PR sanitizer/66343
3751 * c-ubsan.c (ubsan_instrument_return): Don't call
3752 initialize_sanitizer_builtins here.
3753
700fff34
BE
37542016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3755
3756 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3757 conditional expression in boolean context when only one arm is
3758 non-boolean.
3759
9563bfcd
JJ
37602016-10-05 Jakub Jelinek <jakub@redhat.com>
3761
04a32443
JJ
3762 PR sanitizer/77823
3763 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3764 is not integral.
3765
9563bfcd
JJ
3766 * c-common.c (c_common_reswords): Update comment for C++11.
3767
f1644724
JM
37682016-10-04 Jason Merrill <jason@redhat.com>
3769
3770 * c-common.c (make_tree_vector_from_ctor): New.
3771 * c-common.h: Declare it.
3772
5a79befb
JJ
37732016-10-04 Jakub Jelinek <jakub@redhat.com>
3774
3775 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3776 __LIBGCC_JCR_SECTION_NAME__.
3777
1633d3b9
BE
37782016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3779
3780 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3781 left shift in boolean context.
3782
a2c6e7f2
JJ
37832016-09-29 Jakub Jelinek <jakub@redhat.com>
3784
3785 Implement P0001R1 - C++17 removal of register storage class specifier
3786 * c.opt (Wregister): New warning.
3787 * c-opts.c (c_common_post_options): Enable -Wregister by
3788 default for C++17.
3789
75304c87
JG
37902016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3791
3792 * c-opts.c (c_common_post_options): Remove special case for
3793 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3794 in C++.
3795
bbfac6da
JJ
37962016-09-27 Jakub Jelinek <jakub@redhat.com>
3797
6e39060a
JJ
3798 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3799 -std=c++1z.
3800
bbfac6da
JJ
3801 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3802
e73cf9a2
TP
38032016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3804
3805 * c-common.c: Include memmodel.h.
3806
c6147dc4
MP
38072016-09-26 Marek Polacek <polacek@redhat.com>
3808
3809 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3810
81fea426
MP
38112016-09-26 Marek Polacek <polacek@redhat.com>
3812
3813 PR c/7652
3814 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3815 (handle_fallthrough_attribute): New function.
3816 (attribute_fallthrough_p): New function.
3817 * c-common.h (attribute_fallthrough_p): Declare.
3818
9a2300e9
MP
38192016-09-24 Marek Polacek <polacek@redhat.com>
3820
3821 PR c/77490
3822 * c.opt (Wbool-operation): New.
3823
a09e9e35
BE
38242016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3825
3826 * c-common.c (c_common_truthvalue_conversion): Inhibit
3827 Wint-in-bool-context warning with from_macro_definition_at.
3828 Mention the expression will always evaluate to true.
3829
d43b4ccc
MS
38302016-09-21 Martin Sebor <msebor@redhat.com>
3831
3832 PR bootstrap/77676
3833 * c.opt (fprintf-return-value): Temporarily initialize to zero
3834 to unblock bootstrap failures.
3835
2e1c20b1
JJ
38362016-09-21 Jakub Jelinek <jakub@redhat.com>
3837
3838 PR c++/77651
3839 * c.opt (Waligned-new=): Add RejectNegative.
3840 (faligned-new=): Likewise. Spelling fix - change
3841 aligned_new_threshhold to aligned_new_threshold.
3842 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3843 to aligned_new_threshold.
3844
88d0c3f0
MS
38452016-09-20 Martin Sebor <msebor@redhat.com>
3846
3847 PR middle-end/49905
3848 * c.opt: Add -Wformat-length and -fprintf-return-value.
3849
144a96e4
BE
38502016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3851
3852 PR c++/77434
3853 * c.opt (Wint-in-bool-context): New warning.
3854 * c-common.c (c_common_truthvalue_conversion): Warn on integer
3855 constants in boolean context.
3856
63012d9a
JM
38572016-09-19 Joseph Myers <joseph@codesourcery.com>
3858
3859 * c-common.c (max_align_t_align): Also consider alignment of
3860 float128_type_node.
3861
931388ce
JM
38622016-09-15 Jason Merrill <jason@redhat.com>
3863
3864 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
3865 DECL_EXTERNAL.
3866
38711381
JM
38672016-09-14 Jason Merrill <jason@redhat.com>
3868
3869 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3870 limit FIELD_DECL, either.
3871
e51fbec3
MP
38722016-09-14 Marek Polacek <polacek@redhat.com>
3873
3874 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3875 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3876 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3877
254830ba
DM
38782016-09-13 David Malcolm <dmalcolm@redhat.com>
3879
3880 * c-common.c (warn_logical_not_parentheses): Replace
3881 rich_location::add_fixit_insert calls with add_fixit_insert_before
3882 and add_fixit_insert_after, eliminating the "next_loc" calculation.
3883
42763690
JM
38842016-09-13 Jason Merrill <jason@redhat.com>
3885 Tom de Vries <tom@codesourcery.com>
3886
3887 PR c++/77427
3888 * c-common.c (set_underlying_type): Don't treat array as builtin type.
3889
9453eee9
JM
38902016-09-13 Jason Merrill <jason@redhat.com>
3891
3892 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3893 limit types at all.
3894
e96809e3
JM
38952016-09-12 Jason Merrill <jason@redhat.com>
3896
3897 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3898 bit/byte confusion, allow large alignment for types.
3899
54dcdb88
BE
39002016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3901
3902 PR c++/77496
3903 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3904
d1463eb9
DM
39052016-09-12 David Malcolm <dmalcolm@redhat.com>
3906
3907 PR c/72858
3908 * c-format.c (argument_parser::check_argument_type): Add params
3909 "type_start" and "conversion_char". Use the former to generate
3910 offset_to_type_start and pass it and conversion_char to
3911 check_format_types.
3912 (check_format_info_main): Capture the start of the type
3913 information as "type_start", and pass it an format_char
3914 to arg_parser.check_argument_type.
3915 (check_format_types): Provide an example in the leading comment.
3916 Add params "offset_to_type_start" and "conversion_char"; pass
3917 them to format_type_warning calls.
3918 (test_get_modifier_for_format_len): Likewise.
3919 (matching_type_p): New function.
3920 (get_format_for_type): Add param "conversion_char" and move
3921 implementation into...
3922 (get_format_for_type_1): ...new function, called twice.
3923 Use new function matching_type_p rather than checking for
3924 TYPE_CANONICAL equality.
3925 (get_corrected_substring): New function.
3926 (format_type_warning): Provide an example in the leading comment.
3927 Add params "offset_to_type_start" and "conversion_char". Replace
3928 call to get_format_for_type with call to get_corrected_substring
3929 and move rejection of hints for widths/precisions there.
3930 (assert_format_for_type_streq): Add param "conversion_char".
3931 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3932 (test_get_format_for_type_printf): Add conversion chars to the
3933 tests, adding coverage for various combinations of integer
3934 vs double conversions, and for preserving octal and hexadecimal
3935 conversions.
3936 (test_get_format_for_type_scanf): Add conversion chars to the
3937 tests.
3938
5b28efbb
TV
39392016-09-10 Tom de Vries <tom@codesourcery.com>
3940
3941 PR C/71602
3942 * c-common.c (build_va_arg): Handle more strict
3943 targetm.canonical_va_list_type. Replace first argument type error with
3944 assert.
3945
3f0177e7
MS
39462016-09-09 Martin Sebor <msebor@redhat.com>
3947
3948 PR c/77520
3949 PR c/77521
3950 * c-format.c (argument_parser::find_format_char_info): Use %qc
3951 format directive unconditionally.
3952
af63ba4b
JM
39532016-09-09 Jason Merrill <jason@redhat.com>
3954
3955 Implement C++17 new of over-aligned types.
3956 * c.opt: Add -faligned-new and -Waligned-new.
3957 * c-common.c (max_align_t_align): Split out from...
3958 (cxx_fundamental_alignment_p): ...here.
3959 * c-common.h: Declare it.
3960 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
3961
c65248cb
JM
39622016-09-09 Joseph Myers <joseph@codesourcery.com>
3963
3964 * c-cppbuiltin.c (builtin_define_type_width): New function.
3965 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
3966 macros.
3967
e5106e27
DM
39682016-09-07 David Malcolm <dmalcolm@redhat.com>
3969
3970 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
3971 a POINTER_TYPE.
3972 (substring_loc::get_location): Move to substring-locations.c,
3973 keeping implementation as...
3974 (c_get_substring_location): New function, from the above, reworked
3975 to use accessors rather than member lookup.
3976 * c-common.h (class substring_loc): Move to substring-locations.h,
3977 replacing with a forward decl.
3978 (c_get_substring_location): New decl.
3979 * c-format.c: Include "substring-locations.h".
3980 (format_warning_va): Move to substring-locations.c.
3981 (format_warning_at_substring): Likewise.
3982
ab20d992 39832016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
3984
3985 PR c/77336
3986 * c-format.c (check_function_format): Avoid issuing warnings for
3987 functions unless they call format functions with non-constant
3988 format strings.
3989
b772a565
RB
39902016-09-06 Richard Biener <rguenther@suse.de>
3991
3992 PR c/77450
3993 * c-common.c (c_common_mark_addressable_vec): Handle
3994 COMPOUND_LITERAL_EXPR.
3995
25ff5dd3
MP
39962016-09-05 Marek Polacek <polacek@redhat.com>
3997
3998 PR c/77423
3999 * c-common.c (bool_promoted_to_int_p): New function.
4000 (expr_has_boolean_operands_p): New function.
4001 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
4002 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
4003
21234eb5
TV
40042016-09-04 Tom de Vries <tom@codesourcery.com>
4005
4006 revert:
4007 2016-08-29 Tom de Vries <tom@codesourcery.com>
4008
4009 * c-common.c (build_va_arg): Replace first argument type error
4010 with assert.
4011
9dc5773f
JJ
40122016-09-02 Jakub Jelinek <jakub@redhat.com>
4013
4014 PR c/65467
4015 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
4016 (c_finish_omp_for): Reject _Atomic qualified iterators.
4017
40182016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
4019
4020 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
4021 size to guarantee it fits the output of the formatted function
4022 regardless of its arguments.
4023
295844f6
MP
40242016-09-01 Marek Polacek <polacek@redhat.com>
4025
4026 PR c/7652
4027 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
4028 FALLTHRU comments.
4029
3d06b6f2
MP
40302016-08-29 Marek Polacek <polacek@redhat.com>
4031
4032 PR c/77292
4033 * c-common.c (warn_logical_not_parentheses): Don't warn for
4034 a comparison or a logical operator.
4035
34cedad5
TV
40362016-08-29 Tom de Vries <tom@codesourcery.com>
4037
4038 * c-common.c (build_va_arg): Fix type comparison assert.
4039
f162d717
TV
40402016-08-29 Tom de Vries <tom@codesourcery.com>
4041
4042 * c-common.c (build_va_arg): Replace first argument type error
4043 with assert.
4044
ba9bbd6f
TV
40452016-08-29 Tom de Vries <tom@codesourcery.com>
4046
4047 PR c/77398
4048 * c-common.c (build_va_arg): Add first argument error. Build va_arg
4049 with error_mark_node as va_list instead of with illegal va_list.
4050
ebef225f
MP
40512016-08-25 Marek Polacek <polacek@redhat.com>
4052 David Malcolm <dmalcolm@redhat.com>
4053
4054 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
4055 * c-common.h (warn_logical_not_parentheses): Update declaration.
4056
b00e6e75
MP
40572016-08-22 Marek Polacek <polacek@redhat.com>
4058
4059 PR c++/77321
4060 * c-common.c (warn_for_memset): Check type for null.
4061
6dc198e3
JM
40622016-08-22 Joseph Myers <joseph@codesourcery.com>
4063
14ec014e 4064 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
4065 _FloatNx types for suffixes for built-in functions.
4066
c65699ef
JM
40672016-08-19 Joseph Myers <joseph@codesourcery.com>
4068
4069 PR c/32187
4070 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
4071 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
4072 (RID_FLOAT128X): New enum rid values.
4073 (CASE_RID_FLOATN_NX): New macro.
4074 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
4075 keywords.
4076 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
4077 corresponding complex types.
4078 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
4079 _FloatNx and corresponding complex types.
4080 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
4081 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
4082 and _FloatNx types for the widest type for determining
4083 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
4084 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
4085 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
4086 and _FloatNx types.
4087 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
4088 constants.
4089 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
4090 _FloatNx types.
4091
cc015f3a
DM
40922016-08-18 David Malcolm <dmalcolm@redhat.com>
4093
4094 * c-opts.c (c_diagnostic_finalizer): Update for change to
4095 diagnostic_show_locus.
4096
cb18fd07
DM
40972016-08-18 David Malcolm <dmalcolm@redhat.com>
4098
4099 * c-common.c: Include "spellcheck.h".
4100 (cb_get_suggestion): New function.
4101 * c-common.h (cb_get_suggestion): New decl.
4102 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4103 cb_get_suggestion.
4104
a76989dc
MP
41052016-08-18 Marek Polacek <polacek@redhat.com>
4106
4107 PR c/71514
4108 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4109 and pointer-to-VLA.
4110
65e736c0
DM
41112016-08-16 David Malcolm <dmalcolm@redhat.com>
4112
4113 PR c/72857
4114 * c-common.c (substring_loc::get_range): Rename to...
4115 (substring_loc::get_location): ...this, converting param from a
4116 source_range * to a location_t *. Call
4117 get_source_location_for_substring rather than
4118 get_source_range_for_substring, and pass in m_caret_idx.
4119 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4120 (substring_loc::get_range): Replace with...
4121 (substring_loc::get_location): ...this.
4122 (substring_loc::set_caret_index): New method.
4123 (substring_loc): Add field m_caret_idx.
4124 * c-format.c (format_warning_va): Update for above changes.
4125 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4126 clashing with type name.
4127 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4128 (check_argument_type): Likewise.
4129 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4130 Use a copy when emitting warnings, setting the caret index from TYPE.
4131
7e1dde14 41322016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 4133 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
4134
4135 * c-ada-spec.c (dump_number): New function.
4136 (handle_escape_character): Likewise.
4137 (print_ada_macros): Add handling of constant integers and strings.
4138
191816a3
MP
41392016-08-12 Marek Polacek <polacek@redhat.com>
4140
4141 PR c/7652
4142 * c-common.c (scalar_to_vector): Adjust fall through comment.
4143 * c-opts.c (c_common_handle_option): Likewise.
4144 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4145 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4146 fall through comment.
4147 * cilk.c (extract_free_variables): Add FALLTHRU.
4148
452df4a4
JM
41492016-08-10 Jason Merrill <jason@redhat.com>
4150
4151 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4152
f3365c12
JM
41532016-08-09 Jason Merrill <jason@redhat.com>
4154
4155 * c-common.c (c_common_attribute_table): vector_size affects type
4156 identity.
4157
f0bc3323
MP
41582016-08-09 Marek Polacek <polacek@redhat.com>
4159
4160 PR c/7652
4161 * c-ada-spec.c (dump_generic_ada_node): Add return.
4162
98e5a19a
JM
41632016-08-09 Jason Merrill <jason@redhat.com>
4164
4165 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4166 C++17 constexpr lambdas.
4167
895aa8e1
DM
41682016-08-08 David Malcolm <dmalcolm@redhat.com>
4169
4170 PR c/64955
4171 * c-common.h (selftest::c_format_c_tests): New declaration.
4172 (selftest::run_c_tests): New declaration.
4173 * c-format.c: Include "selftest.h.
4174 (format_warning_va): Add param "corrected_substring" and use
4175 it to add a replacement fix-it hint.
4176 (format_warning_at_substring): Likewise.
4177 (format_warning_at_char): Update for new param of
4178 format_warning_va.
4179 (argument_parser::check_argument_type): Pass "fki" to
4180 check_format_types.
4181 (check_format_types): Add param "fki" and pass it to
4182 format_type_warning.
4183 (deref_n_times): New function.
4184 (get_modifier_for_format_len): New function.
4185 (selftest::test_get_modifier_for_format_len): New function.
4186 (get_format_for_type): New function.
4187 (format_type_warning): Add param "fki" and use it to attempt
4188 to provide hints for argument types when calling
4189 format_warning_at_substring.
4190 (selftest::get_info): New function.
4191 (selftest::assert_format_for_type_streq): New function.
4192 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4193 (selftest::test_get_format_for_type_printf): New function.
4194 (selftest::test_get_format_for_type_scanf): New function.
4195 (selftest::c_format_c_tests): New function.
4196
e52ed3fe
DM
41972016-08-08 David Malcolm <dmalcolm@redhat.com>
4198
4199 PR c/52952
4200 * c-format.c: Include "diagnostic.h".
4201 (location_column_from_byte_offset): Delete.
4202 (location_from_offset): Delete.
4203 (format_warning_va): New function.
4204 (format_warning_at_substring): New function.
4205 (format_warning_at_char): New function.
4206 (check_format_arg): Capture location of format_tree and pass to
4207 check_format_info_main.
4208 (argument_parser): Add fields "start_of_this_format" and
4209 "format_string_cst".
4210 (flag_chars_t::validate): Add param "format_string_cst". Convert
4211 warning_at call using location_from_offset to call to
4212 format_warning_at_char.
4213 (argument_parser::argument_parser): Add param "format_string_cst_"
4214 and use use it to initialize field "format_string_cst".
4215 Initialize new field "start_of_this_format".
4216 (argument_parser::read_format_flags): Convert warning_at call
4217 using location_from_offset to a call to format_warning_at_char.
4218 (argument_parser::read_any_format_left_precision): Likewise.
4219 (argument_parser::read_any_format_precision): Likewise.
4220 (argument_parser::read_any_other_modifier): Likewise.
4221 (argument_parser::find_format_char_info): Likewise, in three places.
4222 (argument_parser::parse_any_scan_set): Likewise, in one place.
4223 (argument_parser::handle_conversions): Likewise, in two places.
4224 (argument_parser::check_argument_type): Add param "fmt_param_loc"
4225 and use it to make a substring_loc. Pass the latter to
4226 check_format_types.
4227 (check_format_info_main): Add params "fmt_param_loc" and
4228 "format_string_cst". Convert warning_at calls using
4229 location_from_offset to calls to format_warning_at_char. Pass the
4230 new params to the arg_parser ctor. Pass "format_string_cst" to
4231 flag_chars.validate. Pass "fmt_param_loc" to
4232 arg_parser.check_argument_type.
4233 (check_format_types): Convert first param from a location_t
4234 to a const substring_loc & and rename to "fmt_loc". Attempt
4235 to extract the range of the relevant parameter and pass it
4236 to format_type_warning.
4237 (format_type_warning): Convert first param from a location_t
4238 to a const substring_loc & and rename to "fmt_loc". Add
4239 params "param_range" and "type". Replace calls to warning_at
4240 with calls to format_warning_at_substring.
4241
1c4d457e
DM
42422016-08-08 David Malcolm <dmalcolm@redhat.com>
4243
4244 * c-format.c (class flag_chars_t): New class.
4245 (struct length_modifier): New struct.
4246 (class argument_parser): New class.
4247 (flag_chars_t::flag_chars_t): New ctor.
4248 (flag_chars_t::has_char_p): New method.
4249 (flag_chars_t::add_char): New method.
4250 (flag_chars_t::validate): New method.
4251 (flag_chars_t::get_alloc_flag): New method.
4252 (flag_chars_t::assignment_suppression_p): New method.
4253 (argument_parser::argument_parser): New ctor.
4254 (argument_parser::read_any_dollar): New method.
4255 (argument_parser::read_format_flags): New method.
4256 (argument_parser::read_any_format_width): New method.
4257 (argument_parser::read_any_format_left_precision): New method.
4258 (argument_parser::read_any_format_precision): New method.
4259 (argument_parser::handle_alloc_chars): New method.
4260 (argument_parser::read_any_length_modifier): New method.
4261 (argument_parser::read_any_other_modifier): New method.
4262 (argument_parser::find_format_char_info): New method.
4263 (argument_parser::validate_flag_pairs): New method.
4264 (argument_parser::give_y2k_warnings): New method.
4265 (argument_parser::parse_any_scan_set): New method.
4266 (argument_parser::handle_conversions): New method.
4267 (argument_parser::check_argument_type): New method.
4268 (check_format_info_main): Introduce classes argument_parser
4269 and flag_chars_t, moving the code within the loop into methods
4270 of these classes. Make various locals "const".
4271
88fa5555
DM
42722016-08-05 David Malcolm <dmalcolm@redhat.com>
4273
4274 * c-common.c: Include "substring-locations.h".
4275 (get_cpp_ttype_from_string_type): New function.
4276 (g_string_concat_db): New global.
4277 (substring_loc::get_range): New method.
4278 * c-common.h (g_string_concat_db): New declaration.
4279 (class substring_loc): New class.
4280 * c-lex.c (lex_string): When concatenating strings, capture the
4281 locations of all tokens using a new obstack, and record the
4282 concatenation locations within g_string_concat_db.
4283 * c-opts.c (c_common_init_options): Construct g_string_concat_db
4284 on the ggc-heap.
4285
78169471
MP
42862016-07-29 Marek Polacek <polacek@redhat.com>
4287
638fc14f
MP
4288 PR c/71926
4289 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
4290 parentheses warning.
4291
78169471
MP
4292 PR c/71574
4293 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
4294
1225d6b1
ML
42952016-07-28 Martin Liska <mliska@suse.cz>
4296
4297 PR gcov-profile/68025
4298 * c-common.c (handle_no_profile_instrument_function_attribute):
4299
ec1e2a40
BE
43002016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
4301
4302 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
4303 BITS_PER_UNIT_LOG.
4304
5ec2cd9f
JM
43052016-07-25 Jason Merrill <jason@redhat.com>
4306
4307 PR c++/65970
4308 * c.opt (fconstexpr-loop-limit): New.
4309
9dc5773f 43102016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
4311
4312 PR c++/71675
4313 * c-common.c (resolve_overloaded_builtin): Avoid converting
4314 __atomic_compare_exchange_n return type to that of what its
4315 first argument points to.
4316
e3fe09c1
UB
43172016-07-22 Uros Bizjak <ubizjak@gmail.com>
4318
4319 * c-common.c: Use HOST_WIDE_INT_M1U instead of
4320 ~(unsigned HOST_WIDE_INT) 0.
4321
bc91c436
ML
43222016-07-22 Martin Liska <mliska@suse.cz>
4323
4324 PR gcov-profile/69028
4325 PR gcov-profile/62047
4326 * cilk.c (create_cilk_helper_decl): Set location of a new decl
4327 to the current_function_decl.
4328
451dcc66
JM
43292016-07-21 Jason Merrill <jason@redhat.com>
4330
4331 PR c++/65168
4332 * c-common.c (c_common_truthvalue_conversion): Check
4333 c_inhibit_evaluation_warnings for warning about address of
4334 reference.
4335
de6a69ee
DM
43362016-07-20 David Malcolm <dmalcolm@redhat.com>
4337
4338 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
4339 const char *.
4340
d022c55a
JM
43412016-07-15 Jason Merrill <jason@redhat.com>
4342
4343 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
4344
ddbbcb19
JJ
43452016-07-15 Jakub Jelinek <jakub@redhat.com>
4346
4347 PR c/71858
4348 * c-common.h (enum lookup_name_fuzzy_kind): Add
4349 FUZZY_LOOKUP_FUNCTION_NAME.
4350
d0cf395a
JM
43512016-07-08 Jason Merrill <jason@redhat.com>
4352
4353 P0145: Refining Expression Order for C++.
4354 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
4355 * c-opts.c: Adjust.
4356
98d44e93
MT
43572016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
4358
4359 PR c++/71214
4360 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
4361
f9d8d994
TS
43622016-06-29 Thomas Schwinge <thomas@codesourcery.com>
4363
4364 * c-pragma.h (enum pragma_kind): Rename
4365 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
4366 users.
4367
4aa83879
RB
43682016-06-29 Richard Biener <rguenther@suse.de>
4369
4370 PR middle-end/71002
4371 * c-common.c (c_common_get_alias_set): Remove union type punning case.
4372
a25bd9e6
JM
43732016-06-24 Jason Merrill <jason@redhat.com>
4374
4375 P0145R2: Refining Expression Order for C++.
4376 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
4377 MODIFY_EXPR.
4378
a86451b9
JJ
43792016-06-24 Jakub Jelinek <jakub@redhat.com>
4380
4381 * c-common.c (check_builtin_function_arguments): Require last
4382 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
4383 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
4384 if the last argument is pointer to enumerated or boolean type.
4385
1a4f11c8
DM
43862016-06-22 David Malcolm <dmalcolm@redhat.com>
4387
4388 PR c/70339
4389 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
4390 (lookup_name_fuzzy): New prototype.
4391
fe55692c
JDA
43922016-06-21 John David Anglin <danglin@gcc.gnu.org>
4393
4394 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
4395
4eb24e01
JM
43962016-06-14 Jason Merrill <jason@redhat.com>
4397
4398 P0145R2: Refining Expression Order for C++.
4399 * c.opt (fargs-in-order): New.
4400 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
4401
ef7cf206
JJ
44022016-06-13 Jakub Jelinek <jakub@redhat.com>
4403
0dda258b
JJ
4404 PR sanitizer/71498
4405 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
4406 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
4407
ef7cf206
JJ
4408 PR preprocessor/71183
4409 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
4410 to cb_get_source_date_epoch.
4411
50b15873
JJ
44122016-06-10 Jakub Jelinek <jakub@redhat.com>
4413
4414 PR c/68657
4415 * c.opt (Wpsabi): Add Warning flag.
4416
4d926e34
MS
44172016-06-10 Martin Sebor <msebor@redhat.com>
4418
4419 PR c/71392
14ec014e 4420 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
4421 the nonnull attribute in type-generic builtins.
4422
e01b4e16
MS
44232016-06-09 Martin Sebor <msebor@redhat.com>
4424
4425 PR c/70883
4426 * c-common.c (builtin_function_validate_nargs): Make text of error
4427 message consistent with others like it.
4428
44a845ca
MS
44292016-06-08 Martin Sebor <msebor@redhat.com>
4430 Jakub Jelinek <jakub@redhat.com>
4431
4432 PR c++/70507
4433 PR c/68120
4434 * c-common.c (check_builtin_function_arguments): Handle
4435 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
4436
a80a7051
RB
44372016-06-08 Richard Biener <rguenther@suse.de>
4438
4439 * c-common.c (parse_optimize_options): Improve diagnostic messages.
4440
bfd67b47
RB
44412016-06-07 Richard Biener <rguenther@suse.de>
4442
4443 PR c/61564
4444 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
4445 options and warn about others.
4446
15c98b2e
ES
44472016-06-01 Eduard Sanou <dhole@openmailbox.org>
4448
4449 * c-common.c (get_source_date_epoch): Rename to
4450 cb_get_source_date_epoch.
4451 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
4452 message when the parsing fails. Use error_at instead of fatal_error.
4453 * c-common.h (get_source_date_epoch): Rename to
4454 cb_get_source_date_epoch.
4455 * c-common.h (cb_get_source_date_epoch): Prototype.
4456 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
4457 * c-common.h (c_omp_region_type): Remove trailing comma.
4458 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
4459 * c-lex.c (c_lex_with_flags): Remove initialization of
4460 pfile->source_date_epoch.
4461
00631022
JJ
44622016-05-30 Jakub Jelinek <jakub@redhat.com>
4463
4464 PR c++/71349
4465 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
4466 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
4467 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
4468 instead of C_OMP_CLAUSE_SPLIT_FOR.
4469
f17a223d
RB
44702016-05-24 Richard Biener <rguenther@suse.de>
4471
4472 PR middle-end/70434
4473 PR c/69504
4474 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
4475 (convert_vector_to_array_for_subscript): ... this.
4476 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
4477 VIEW_CONVERT_EXPR to an array type. Rename to ...
4478 (convert_vector_to_array_for_subscript): ... this.
4479
4f2e1536
MP
44802016-05-12 Marek Polacek <polacek@redhat.com>
4481
4482 PR c/70756
4483 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
4484 size_in_bytes and pass LOC to it.
4485
d6e83a8d
MM
44862016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
4487
4488 PR c/43651
4489 * c.opt (Wduplicate-decl-specifier): New option.
4490
5c3a10fb
MP
44912016-05-11 Marek Polacek <polacek@redhat.com>
4492
4493 PR c++/71024
4494 * c-common.c (diagnose_mismatched_attributes): New function.
4495 * c-common.h (diagnose_mismatched_attributes): Declare.
4496
deef7113
MP
44972016-05-04 Marek Polacek <polacek@redhat.com>
4498
4499 * c.opt (Wdangling-else): New option.
4500
79ce98bc
MP
45012016-05-03 Marek Polacek <polacek@redhat.com>
4502
4503 PR c/70859
4504 * c-common.c (builtin_function_validate_nargs): Add location
4505 parameter. Use it.
4506 (check_builtin_function_arguments): Add location and arguments
4507 parameters. Use them.
4508 * c-common.h (check_builtin_function_arguments): Update declaration.
4509
381cdae4
RB
45102016-05-03 Richard Biener <rguenther@suse.de>
4511
4512 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
4513 allow call args to gimplify to SSA names.
4514
1d793c34
MP
45152016-05-03 Marek Polacek <polacek@redhat.com>
4516
4517 * c-common.h (enum c_omp_region_type): Remove stray comma.
4518
77886428
CP
45192016-05-02 Cesar Philippidis <cesar@codesourcery.com>
4520
4521 * c-common.h (enum c_omp_region_type): Define.
4522
697e0b28
RS
45232016-05-02 Richard Sandiford <richard.sandiford@arm.com>
4524
4525 * c-common.c (shorten_compare): Use wi::to_wide.
4526
e7ff0319
CP
45272016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4528
4529 PR middle-end/70626
4530 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
4531 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
4532 reduction clauses in acc parallel loops.
4533
2fff3db8
MP
45342016-04-29 Marek Polacek <polacek@redhat.com>
4535
4536 PR c/70852
4537 * c-common.c (warn_for_memset): Check domain before accessing it.
4538
509063eb
DV
45392016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4540
4541 PR/69089
4542 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
4543 "aligned" attribute.
4544
b632761d
JM
45452016-04-28 Jason Merrill <jason@redhat.com>
4546
4547 * c-lex.c (c_common_has_attribute): Handle nodiscard.
4548
174f6622
ES
45492016-04-28 Eduard Sanou <dhole@openmailbox.org>
4550 Matthias Klose <doko@debian.org>
4551
4552 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 4553 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
4554 handling.
4555 * c-common.h (get_source_date_epoch): Prototype.
4556 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
4557
6bc2bb18
RB
45582015-04-27 Ryan Burn <contact@rnburn.com>
4559
4560 PR c++/69024
4561 PR c++/68997
4562 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
4563 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
4564 external linkage.
4565 (cilk_detect_and_unwrap): Corresponding changes.
4566 (extract_free_variables): Don't extract free variables from
4567 AGGR_INIT_EXPR slot.
4568 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
4569 (cilk_recognize_spawn): Likewise.
4570
c1e1f433
BS
45712016-04-27 Bernd Schmidt <bschmidt@redhat.com>
4572
4573 * c.opt (Wmemset-elt-size): New option.
4574 * c-common.c (warn_for_memset): New function.
4575 * c-common.h (warn_for_memset): Declare.
4576
d067e05f
JM
45772016-04-25 Jason Merrill <jason@redhat.com>
4578
4579 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
4580 No longer static.
4581 * c-common.h: Declare it.
4582 * c-lex.c (c_common_has_attribute): Add maybe_unused.
4583
9aa36ae5
JM
45842016-04-22 Jason Merrill <jason@redhat.com>
4585
4586 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
4587
477d4906
IV
45882016-04-20 Ilya Verbin <ilya.verbin@intel.com>
4589
4590 PR c++/69363
4591 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
4592 * c-common.h (c_finish_cilk_clauses): Remove declaration.
4593
fe37c7af
MM
45942016-04-18 Michael Matz <matz@suse.de>
4595
4596 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
4597 and SET_DECL_ALIGN.
4598
23f2660f
EB
45992016-04-17 Eric Botcazou <ebotcazou@adacore.com>
4600
4601 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
4602 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
4603 to incomplete types.
4604 (dump_nested_type): Remove redundant tests and tidy up.
4605 (print_ada_declaration): Also set TREE_VISITED on the declaration of
4606 a type which is the typedef of an original type.
4607
1e77281b
MP
46082016-04-15 Marek Polacek <polacek@redhat.com>
4609
4610 PR c/70651
4611 * c-common.c (build_va_arg): Change two asserts into errors and return
4612 error_mark_node.
4613
b3a77f21
MP
46142016-04-13 Marek Polacek <polacek@redhat.com>
4615
4616 PR c++/70639
4617 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
4618 for switch statements, too.
4619
322b8466
JM
46202016-03-28 Jason Merrill <jason@redhat.com>
4621
4622 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
4623
fbdb6baf
MP
46242016-03-23 Marek Polacek <polacek@redhat.com>
4625
4626 PR c++/69884
4627 * c.opt (Wignored-attributes): New option.
4628
5c240f4d
DM
46292016-03-22 David Malcolm <dmalcolm@redhat.com>
4630
4631 PR c/69993
4632 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
4633 diagnostic text, reversing the order of the warning and note so
4634 that they appear in source order.
4635
14ba7b28
MP
46362016-03-17 Marek Polacek <polacek@redhat.com>
4637
4638 PR c/69407
4639 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
4640 operations.
4641
08a1cadc
JM
46422016-03-14 Jason Merrill <jason@redhat.com>
4643
2aaeea19
JM
4644 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
4645
08a1cadc
JM
4646 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
4647
c06d25bb
RB
46482016-03-09 Richard Biener <rguenther@suse.de>
4649
4650 PR c/70143
4651 * c-common.c (strict_aliasing_warning): Add back
4652 alias_sets_conflict_p check.
4653
80aac5c8
JM
46542016-03-08 Jason Merrill <jason@redhat.com>
4655
4656 * c-opts.c (set_std_cxx1z): Don't enable concepts.
4657
64b23c13
DM
46582016-03-04 David Malcolm <dmalcolm@redhat.com>
4659
4660 PR c/68187
4661 * c-indentation.c (get_visual_column): Move code to determine next
4662 tab stop to...
4663 (next_tab_stop): ...this new function.
4664 (line_contains_hash_if): Delete function.
4665 (detect_preprocessor_logic): Delete function.
4666 (get_first_nws_vis_column): New function.
4667 (detect_intervening_unindent): New function.
4668 (should_warn_for_misleading_indentation): Replace call to
4669 detect_preprocessor_logic with a call to
4670 detect_intervening_unindent.
4671
729526f5
DM
46722016-03-04 David Malcolm <dmalcolm@redhat.com>
4673
4674 PR c/68187
4675 * c-indentation.c (should_warn_for_misleading_indentation): When
4676 suppressing warnings about cases where the guard and body are on
4677 the same column, only use the first non-whitespace column in place
4678 of the guard token column when dealing with "else" clauses.
4679 When rejecting aligned BODY and NEXT, loosen the requirement
4680 from equality with the first non-whitespace of guard to simply
4681 that they not be indented relative to it.
4682
e9a35493
RB
46832016-03-04 Richard Biener <rguenther@suse.de>
4684
4685 PR c++/70054
4686 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
4687 instead of alias_sets_conflict_p.
4688
1be56bc5
MP
46892016-03-01 Marek Polacek <polacek@redhat.com>
4690
4691 PR c++/69795
4692 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
4693 any DECL.
4694
35886f0b
MS
46952016-02-22 Martin Sebor <msebor@redhat.com>
4696
4697 PR middle-end/69780
4698 * c-common.c (check_builtin_function_arguments): Validate and
4699 reject invalid arguments to __builtin_alloca_with_align.
4700
4246c8da
MW
47012016-02-20 Mark Wielaard <mjw@redhat.com>
4702
4703 PR c/28901
4704 * c.opt (Wunused-const-variable): Turn into Alias for...
4705 (Wunused-const-variable=): New option.
4706
268be88c
BE
47072016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4708
4709 PR c++/69865
4710 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
4711 here...
4712 (c_common_init_options): ...to here.
4713 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
4714
871b3f47
JJ
47152016-02-19 Jakub Jelinek <jakub@redhat.com>
4716
4717 PR c++/69826
4718 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
4719 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
4720 flag_preprocess_only.
4721
bf14eba2
JJ
47222016-02-16 Jakub Jelinek <jakub@redhat.com>
4723
4724 PR c/69835
4725 * c.opt (Wnonnull-compare): Enable for -Wall.
4726
ba6b3795
JJ
47272016-02-15 Jakub Jelinek <jakub@redhat.com>
4728
4729 PR c++/69797
4730 * c-common.c (sync_resolve_size): Diagnose too few arguments
4731 even when params is non-NULL empty vector.
4732
a011cd92
BS
47332016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4734
4735 PR target/60410
4736 * c.opt (fshort-double): Remove.
4737
46cb9332
MS
47382016-02-05 Martin Sebor <msebor@redhat.com>
4739
4740 PR c++/69662
4741 * c.opt (Warning options): Update -Wplacement-new to take
4742 an optional argument.
4743
e1b81f2b
JJ
47442016-02-01 Jakub Jelinek <jakub@redhat.com>
4745
4746 PR preprocessor/69543
4747 PR c/69558
4748 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4749 instead of loc to control_warning_option.
4750
b6adbb9f
NS
47512016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4752
4753 * c.opt (fopenacc-dim=): New option.
4754
5d70666e
RB
47552016-01-27 Ryan Burn <contact@rnburn.com>
4756
4757 PR cilkplus/69267
4758 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4759 gimplify_arg. Removed superfluous post_p argument.
4760 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4761 superfluous post_p argument.
4762 * c-gimplify.c (c_gimplify_expr): Likewise.
4763
01e1dea3
DM
47642016-01-26 David Malcolm <dmalcolm@redhat.com>
4765
4766 PR other/69006
4767 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4768 pp_newline_and_flush with pp_flush.
4769
9f04a53e
MS
47702016-01-20 Martin Sebor <msebor@redhat.com>
4771
4772 PR c/69405
4773 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4774 an incompatible argument when the argument isn't a valid tree node.
4775
7f26f7df
JM
47762016-01-18 Jason Merrill <jason@redhat.com>
4777
4778 PR c++/68767
4779 * c-common.c (check_function_arguments_recurse): Fold the whole
4780 COND_EXPR, not just the condition.
4781
f62bf092
TV
47822016-01-18 Tom de Vries <tom@codesourcery.com>
4783
4784 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4785 classify as loop clause.
4786
e0a575ff
JJ
47872016-01-15 Jakub Jelinek <jakub@redhat.com>
4788
4789 PR bootstrap/68271
4790 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4791 C++ FE no longer has limit on number of pragmas.
4792
47932015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
4794
4795 PR c++/69048
4796 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 4797 to add missing cleanup point.
b6e3db06 4798
c7df95d8
DM
47992016-01-14 David Malcolm <dmalcolm@redhat.com>
4800
4801 PR c++/68819
4802 * c-indentation.c (get_visual_column): Add location_t param.
4803 Handle the column number being zero by effectively disabling the
4804 warning, with an "inform".
4805 (should_warn_for_misleading_indentation): Add location_t argument
4806 for all uses of get_visual_column.
4807
21efdd80
PP
48082016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4809
4810 PR c++/69029
4811 * c-indentation.c (should_warn_for_misleading_indentation):
4812 Don't warn about do-while statements.
4813
7a127fa7
MS
48142016-01-07 Martin Sebor <msebor@redhat.com>
4815
4816 PR c/68966
4817 * c-common.c (sync_resolve_size): Reject first argument when it's
4818 a pointer to _Bool.
4819
c589e975
DM
48202016-01-05 David Malcolm <dmalcolm@redhat.com>
4821
4822 PR c/69122
4823 * c-indentation.c (get_visual_column): Remove default argument.
4824 (should_warn_for_misleading_indentation): For the multiline case,
4825 update call to get_visual_column for next_stmt_exploc so that it
4826 captures the location of the first non-whitespace character in the
4827 relevant line. Don't issue warnings if there is non-whitespace
4828 before the next statement.
4829
818ab71a
JJ
48302016-01-04 Jakub Jelinek <jakub@redhat.com>
4831
4832 Update copyright years.
4833
745e411d
DM
48342015-12-21 David Malcolm <dmalcolm@redhat.com>
4835
4836 * c-common.c (binary_op_error): Convert first param from
4837 location_t to rich_location * and use it when emitting an error.
4838 * c-common.h (binary_op_error): Convert first param from
4839 location_t to rich_location *.
4840
de67c4c3
DM
48412015-12-16 David Malcolm <dmalcolm@redhat.com>
4842
4843 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4844 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4845
4a38b02b
IV
48462015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4847
4848 * c-common.c (c_common_attribute_table): Handle "omp declare target
4849 link" attribute.
4850
54d62f51
JJ
48512015-12-14 Jakub Jelinek <jakub@redhat.com>
4852
4853 PR c/68833
4854 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4855
8d4227c8
TB
48562014-12-12 Tobias Burnus <burnus@net-b.de>
4857
4858 PR fortran/68815
4859 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4860 specifiers (%d, %i,%u and %c).
4861
f6069ccc
DM
48622015-12-10 David Malcolm <dmalcolm@redhat.com>
4863
4864 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4865
63bbf46d
JJ
48662015-12-08 Jakub Jelinek <jakub@redhat.com>
4867
4868 PR c/48088
4869 PR c/68657
4870 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4871 * c-pragma.c (handle_pragma_diagnostic): Adjust
4872 control_warning_option caller.
4873
f79520bb
DM
48742015-12-07 David Malcolm <dmalcolm@redhat.com>
4875
4876 * c-common.c (c_cpp_error): Update for change to
4877 rich_location::set_range.
4878
b3d5bc62
JJ
48792015-12-04 Paolo Bonzini <bonzini@gnu.org>
4880
4881 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4882 shifting 1 out of the sign bit.
4883
48842015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
4885
4886 * c-common.c (c_common_attribute_table[]): Update max arguments
4887 count for "simd" attribute.
4888 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4889
6eb4a537
JJ
48902015-12-03 Jakub Jelinek <jakub@redhat.com>
4891
4892 PR preprocessor/57580
4893 * c-ppoutput.c (print): Change printed field to bool.
4894 Move src_file last for smaller padding.
4895 (init_pp_output): Set print.printed to false instead of 0.
4896 (scan_translation_unit): Fix up formatting. Set print.printed
4897 to true after printing something other than newline.
4898 (scan_translation_unit_trad): Set print.printed to true instead of 1.
4899 (maybe_print_line_1): Set print.printed to false instead of 0.
4900 (print_line_1): Likewise.
4901 (do_line_change): Set print.printed to true instead of 1.
4902 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4903 dump_macro): Set print.printed to false after printing newline.
4904
4250754e
JM
49052015-12-02 Jason Merrill <jason@redhat.com>
4906
f479b43d
JM
4907 * c-common.c (fold_for_warn): New.
4908 (warn_logical_operator, warn_tautological_cmp)
4909 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4910
4250754e
JM
4911 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4912 (c_fully_fold_internal, decl_constant_value_for_optimization):
4913 Move to c/c-fold.c.
4914 * c-common.h: Don't declare decl_constant_value_for_optimization.
4915
e9e32ee6
JM
49162015-12-02 Joseph Myers <joseph@codesourcery.com>
4917
4918 PR c/68162
4919 * c-common.h (c_build_qualified_type): Add extra default
4920 arguments.
4921
37d5ad46
JB
49222015-12-01 Julian Brown <julian@codesourcery.com>
4923 Cesar Philippidis <cesar@codesourcery.com>
4924 James Norris <James_Norris@mentor.com>
4925
4926 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4927 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4928 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4929
f07862c7
EB
49302015-11-30 Eric Botcazou <ebotcazou@adacore.com>
4931
4932 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4933 (decl_sloc_common): Delete and move bulk of processing to...
4934 (decl_sloc): ...here.
4935 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4936 (dump_ada_double_name): Remove S parameter and compute the suffix.
4937 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
4938 element type and deal with an anonymous one.
4939 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4940 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
4941 and remove reference to QUAL_UNION_TYPE.
4942 (dump_nested_types): Make 2 passes on the fields and move bulk to...
4943 (dump_nested_type): ...here. New function extracted from above.
4944 Generate a full declaration for anonymous element type of arrays.
4945 (print_ada_declaration): Really skip anonymous declarations. Remove
4946 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
4947 Clean up processing of declarations of array types and objects.
4948 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4949 Remove obsolete code and tidy up.
4950
75c8aac3
JH
49512015-11-29 Jan Hubicka <hubicka@ucw.cz>
4952
4953 PR c/67581
4954 * c-common.c (handle_transparent_union_attribute): Update
4955 also type variants.
4956
b58d3df2
ML
49572015-11-27 Martin Liska <mliska@suse.cz>
4958
4959 PR c++/68312
4960 * array-notation-common.c (cilkplus_extract_an_triplets):
4961 Release vector of vectors.
4962 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
4963
89a01fcf
EB
49642015-11-26 Eric Botcazou <ebotcazou@adacore.com>
4965
4966 PR c++/68527
4967 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
4968 (print_ada_struct_decl): Likewise.
4969
cc5c5226
IZ
49702015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
4971
4972 PR c++/68001
4973 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
4974 * cilk.c (recognize_spawn): Determine location in a more precise
4975 way.
4976
269adb9d
JM
49772015-11-19 Jason Merrill <jason@redhat.com>
4978
4979 * c-common.c (shorten_compare): But look through macros from
4980 system headers.
4981
d0eccfcd
JM
49822015-11-18 Jason Merrill <jason@redhat.com>
4983
4984 * c-common.c (shorten_compare): Don't -Wtype-limits if the
4985 non-constant operand comes from a macro.
4986
3e44547c
JM
49872015-11-17 Jason Merrill <jason@redhat.com>
4988
4989 PR bootstrap/68346
4990 * c-common.c (warn_tautological_cmp): Fold before checking for
4991 constants.
4992
0f62c7a0
MP
49932015-11-16 Marek Polacek <polacek@redhat.com>
4994
4995 PR c++/68362
4996 * c-common.c (check_case_bounds): Fold low and high cases.
4997
a868811e
MP
49982015-11-16 Marek Polacek <polacek@redhat.com>
4999
5000 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
5001 * c-common.c (c_common_get_alias_set): Likewise.
5002 (handle_visibility_attribute): Likewise.
5003
fff77217
KY
50042015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
5005
5006 * c-common.c (handle_simd_attribute): New.
5007 (struct attribute_spec): Add entry for "simd".
5008 (handle_simd_attribute): New.
5009
269e63b7
KT
50102015-11-13 Kai Tietz <ktietz70@googlemail.com>
5011
5012 * c-lex.c (interpret_float): Use fold_convert.
5013
ebedc9a3
DM
50142015-11-13 David Malcolm <dmalcolm@redhat.com>
5015
5016 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
5017 and store it on the result.
5018 * c-opts.c (c_common_init_options): Set
5019 global_dc->colorize_source_p.
5020
6e232ba4
JN
50212015-11-12 James Norris <jnorris@codesourcery.com>
5022 Joseph Myers <joseph@codesourcery.com>
5023
7365279f 5024 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
5025 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
5026 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
5027 PRAGMA_OACC_CLAUSE_LINK.
5028
e78bede6
MP
50292015-11-11 Marek Polacek <polacek@redhat.com>
5030
5031 PR c/68107
5032 PR c++/68266
5033 * c-common.c (valid_array_size_p): New function.
5034 * c-common.h (valid_array_size_p): Declare.
5035
3f8257db 50362015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
5037
5038 PR bootstrap/68271
5039 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
5040
69f293c9
AM
50412015-11-11 Andrew MacLeod <amacleod@redhat.com>
5042
5043 * array-notation-common.c: Remove unused header files.
5044 * c-ada-spec.c: Likewise.
5045 * c-cilkplus.c: Likewise.
5046 * c-common.c: Likewise.
5047 * c-cppbuiltin.c: Likewise.
5048 * c-dump.c: Likewise.
5049 * c-format.c: Likewise.
5050 * c-gimplify.c: Likewise.
5051 * c-indentation.c: Likewise.
5052 * c-lex.c: Likewise.
5053 * c-omp.c: Likewise.
5054 * c-opts.c: Likewise.
5055 * c-pch.c: Likewise.
5056 * c-ppoutput.c: Likewise.
5057 * c-pragma.c: Likewise.
5058 * c-pretty-print.c: Likewise.
5059 * c-semantics.c: Likewise.
5060 * c-ubsan.c: Likewise.
5061 * cilk.c: Likewise.
5062 * stub-objc.c: Likewise.
5063
3a40d81d
NS
50642015-11-09 Thomas Schwinge <thomas@codesourcery.com>
5065 Cesar Philippidis <cesar@codesourcery.com>
5066 James Norris <jnorris@codesourcery.com>
5067 Julian Brown <julian@codesourcery.com>
5068 Nathan Sidwell <nathan@codesourcery.com>
5069
5070 * c-pragma.c (oacc_pragmas): Add "routine".
5071 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
5072
ee45a32d
EB
50732015-11-08 Eric Botcazou <ebotcazou@adacore.com>
5074
5075 * c-common.c (c_common_attributes): Add scalar_storage_order.
5076 (handle_scalar_storage_order_attribute): New function.
5077 * c-pragma.c (global_sso): New variable.
5078 (maybe_apply_pragma_scalar_storage_order): New function.
5079 (handle_pragma_scalar_storage_order): Likewise.
5080 (init_pragma): Register scalar_storage_order.
5081 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
5082 * c.opt (Wscalar-storage-order): New warning.
5083 (fsso-struct=): New option.
5084
eb11eb15
MS
50852015-11-08 Martin Sebor <msebor@redhat.com>
5086
5087 * c.opt (Wplacement-new): Add a period to the end of a sentence.
5088
0aad0198
RS
50892015-11-07 Richard Sandiford <richard.sandiford@arm.com>
5090
5091 * c-common.c: Don't undef DEF_BUILTIN.
5092
8a645150
DM
50932015-11-06 David Malcolm <dmalcolm@redhat.com>
5094
5095 * c-common.c (c_cpp_error): Convert parameter from location_t to
5096 rich_location *. Eliminate the "column_override" parameter and
5097 the call to diagnostic_override_column.
5098 Update the "done_lexing" clause to set range 0
5099 on the rich_location, rather than overwriting a location_t.
5100 * c-common.h (c_cpp_error): Convert parameter from location_t to
5101 rich_location *. Eliminate the "column_override" parameter.
5102
7a5e4956
CP
51032015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5104 Thomas Schwinge <thomas@codesourcery.com>
5105 James Norris <jnorris@codesourcery.com>
5106
5107 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5108 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5109 clauses with parallel and kernels and loops.
5110 * c-pragma.h (enum pragma_omp_clause): Add entries for
5111 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5112 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5113 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5114 INDEPENDENT,SEQ}.
5115 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5116
e2f5cc96
MS
51172015-11-05 Martin Sebor <msebor@redhat.com>
5118
5119 PR c++/67942
5120 * c.opt (-Wplacement-new): New option.
5121
e01d41e5
JJ
51222015-11-05 Jakub Jelinek <jakub@redhat.com>
5123
5124 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5125 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5126 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5127 save_expr or create_tmp_var* if TEST is true.
5128 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5129 Don't call add_stmt here.
5130 (struct c_omp_check_loop_iv_data): New type.
5131 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5132 c_omp_check_loop_iv_exprs): New functions.
5133 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5134 distribute.
5135 (c_omp_declare_simd_clauses_to_numbers): Change
5136 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5137 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5138 from numbers to PARM_DECLs.
5139
595278be
MM
51402015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5141
5142 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5143 flag_checking.
5144
3f8257db 51452015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
5146
5147 PR c++-common/67882
b3d5bc62
JJ
5148 * c-common.h (fold_offsetof_1): Add argument.
5149 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
5150 offsetof expressions that reference elements past the end of
5151 an array.
5152
4bf9e5a8
TS
51532015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5154 Chung-Lin Tang <cltang@codesourcery.com>
5155
5156 * c-pragma.c (oacc_pragmas): Add "atomic".
5157 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5158
3b1661a9
ES
51592015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5160
5161 * c-common.c (handle_target_clones_attribute): New.
5162 (c_common_attribute_table): Add handle_target_clones_attribute.
5163 (handle_always_inline_attribute): Add check on target_clones attribute.
5164 (handle_target_attribute): Ditto.
5165
2adfab87
AM
51662015-10-29 Andrew MacLeod <amacleod@redhat.com>
5167
5168 * array-notation-common.c: Reorder #include's and remove duplicates.
5169 * c-ada-spec.c: Likewise.
5170 * c-cilkplus.c: Likewise.
5171 * c-common.c: Likewise.
5172 * c-cppbuiltin.c: Likewise.
5173 * c-dump.c: Likewise.
5174 * c-format.c: Likewise.
5175 * c-gimplify.c: Likewise.
5176 * c-indentation.c: Likewise.
5177 * c-lex.c: Likewise.
5178 * c-omp.c: Likewise.
5179 * c-opts.c: Likewise.
5180 * c-pch.c: Likewise.
5181 * c-ppoutput.c: Likewise.
5182 * c-pragma.c: Likewise.
5183 * c-pretty-print.c: Likewise.
5184 * c-semantics.c: Likewise.
5185 * c-ubsan.c: Likewise.
5186 * cilk.c: Likewise.
5187 * stub-objc.c: Likewise.
5188
d90ec4f2
JM
51892015-10-28 Jason Merrill <jason@redhat.com>
5190
5191 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5192
88bae6f4
TS
51932015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5194 James Norris <jnorris@codesourcery.com>
5195 Cesar Philippidis <cesar@codesourcery.com>
5196
5197 PR c/64765
5198 PR c/64880
5199 * c-common.h (c_oacc_split_loop_clauses): Declare function.
5200 * c-omp.c (c_oacc_split_loop_clauses): New function.
5201
b1726d6c
MS
52022015-10-21 Martin Sebor <msebor@redhat.com>
5203
5204 PR driver/68043
5205 * c.opt: End each sentence that describes an option with a period.
5206
fa60eeb9
MP
52072015-10-20 Marek Polacek <polacek@redhat.com>
5208
5209 * array-notation-common.c (is_cilkplus_vector_p): Define.
5210 * c-common.h (is_cilkplus_vector_p): Declare.
5211
95979049
MP
52122015-10-20 Marek Polacek <polacek@redhat.com>
5213
5214 * c.opt (std=gnu++11): Do not describe as experimental.
5215 (std=gnu++14): Likewise.
5216
2a9fb712
JM
52172015-10-19 Jason Merrill <jason@redhat.com>
5218
5219 * c-cppbuiltin.c (c_cpp_builtins): Define
5220 __cpp_nontype_template_args.
5221
13b380a3
JM
52222015-10-19 Jason Merrill <jason@redhat.com>
5223
5224 * c-cppbuiltin.c (c_cpp_builtins): Define
5225 __cpp_enumerator_attributes, __cpp_fold_expressions,
5226 __cpp_unicode_characters.
5227
d9a6bd32
JJ
52282015-10-13 Jakub Jelinek <jakub@redhat.com>
5229 Aldy Hernandez <aldyh@redhat.com>
5230
5231 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
5232 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
5233 (c_define_builtins): Likewise.
5234 * c-common.h (enum c_omp_clause_split): Add
5235 C_OMP_CLAUSE_SPLIT_TASKLOOP.
5236 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
5237 (c_finish_omp_for): Add ORIG_DECLV argument.
5238 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
5239 201511 instead of 201307.
5240 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
5241 OMP_CRITICAL_CLAUSES to it.
5242 (c_finish_omp_ordered): Add CLAUSES argument, set
5243 OMP_ORDERED_CLAUSES to it.
5244 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
5245 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
5246 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
5247 constructs and new OpenMP 4.5 clauses. Clear
5248 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
5249 verification code.
5250 * c-pragma.c (omp_pragmas_simd): Add taskloop.
5251 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
5252 (enum pragma_omp_clause): Add
5253 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
5254 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5255
624d31fe
RS
52562015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5257
5258 * c-lex.c (interpret_float): Use real_equal instead of
5259 REAL_VALUES_EQUAL.
5260
b8fd7909
JM
52612015-10-04 Jason Merrill <jason@redhat.com>
5262
5263 Implement N4514, C++ Extensions for Transactional Memory.
5264 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5265 (c_common_attribute_table): Add transaction_safe_dynamic.
5266 transaction_safe now affects type identity.
5267 (handle_tm_attribute): Handle transaction_safe_dynamic.
5268 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5269 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5270 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5271 (D_TRANSMEM): New.
5272 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5273 * c-pretty-print.c (pp_c_attributes_display): Don't print
5274 transaction_safe in C++.
5275
12651878
MP
52762015-10-02 Marek Polacek <polacek@redhat.com>
5277
5278 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5279
3e3b8d63
MP
52802015-10-02 Marek Polacek <polacek@redhat.com>
5281
5282 PR c/64249
5283 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5284 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
5285 * c.opt (Wduplicated-cond): New option.
5286
0d1a8f75
JM
52872015-10-01 Joseph Myers <joseph@codesourcery.com>
5288
5289 * c.opt (std=c11): Do not describe as experimental.
5290 (std=gnu11): Likewise.
5291 (std=iso9899:2011): Likewise.
5292
3e32ee19
NS
52932015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5294
5295 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
5296 (DEF_FUNCTION_TYPE_VAR_11): Delete.
5297
974348ee
MP
52982015-09-25 Marek Polacek <polacek@redhat.com>
5299
5300 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
5301 (ubsan_instrument_shift): Likewise.
5302
15dbc1a6
MP
53032015-09-25 Marek Polacek <polacek@redhat.com>
5304
5305 PR sanitizer/64906
5306 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
5307
6b95d7cc
PP
53082015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
5309
5310 * c-indentation.c (should_warn_for_misleading_indentation):
5311 Compare next_stmt_vis_column with guard_line_first_nws instead
5312 of with guard_line_vis_column.
5313
c1822f9c
MLI
53142015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5315
5316 PR c/49654
5317 PR c/49655
5318 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
5319 options and options not valid for the current language.
5320
d5398058
PP
53212015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
5322
5323 * c-indentation.c (should_warn_for_misleading_indentation):
5324 Float out and consolidate the calls to get_visual_column that
5325 are passed guard_exploc as an argument. Compare
5326 next_stmt_vis_column with guard_line_first_nws instead of with
5327 body_line_first_nws.
5328
6b333269
NS
53292015-09-22 Nathan Sidwell <nathan@codesourcery.com>
5330
5331 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
5332 Wnamespaces): New C++ warnings.
5333
a75f1574
JM
53342015-09-22 Jason Merrill <jason@redhat.com>
5335
5336 * c-common.h (abi_compat_version_crosses): New.
5337 (warn_abi_version): Declare.
5338 * c-common.c: Define it.
5339 * c-opts.c (c_common_post_options): Handle it.
5340 flag_abi_compat_version defaults to 8.
5341
bdaaa8b7
VV
53422015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5343
5344 Complete the implementation of N4230, Nested namespace definition.
5345 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
5346 __cpp_nested_namespace_definitions.
5347
eaa797e8
MLI
53482015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5349
5350 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
5351
c4914de6
MLI
53522015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5353
5354 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
5355 when warning.
5356 * c-pragma.h (pragma_lex): Add optional loc argument.
5357
fcb87c50
MM
53582015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
5359
5360 * c-format.c (check_format_arg): Adjust to use common block size in all
5361 object pools.
5362
31bdd08a
DM
53632015-09-15 David Malcolm <dmalcolm@redhat.com>
5364
5365 * c-format.c (location_from_offset): Update for change in
5366 signature of location_get_source_line.
5367 * c-indentation.c (get_visual_column): Likewise.
5368 (line_contains_hash_if): Likewise.
5369
aa9f4b4c
MP
53702015-09-14 Marek Polacek <polacek@redhat.com>
5371
5372 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
5373 setting various warnings.
5374
aa256c4a
MP
53752015-09-14 Marek Polacek <polacek@redhat.com>
5376
5377 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
5378 a negative value.
5379
0f876f22
MW
53802015-09-11 Mark Wielaard <mjw@redhat.com>
5381
5382 PR c/28901
5383 * c.opt (Wunused-variable): Option from common.opt.
5384 (Wunused-const-variable): New option.
5385
273aa49e
PC
53862015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5387
5388 PR c++/53184
5389 * c.opt ([Wsubobject-linkage]): Add.
5390
1807ffc1
MS
53912015-09-03 Martin Sebor <msebor@redhat.com>
5392
5393 PR c/66516
5394 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
5395 functions.
5396 * c-common.c (reject_gcc_builtin): Define.
5397
38942840
BI
53982015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
5399
5400 PR middle-end/60586
5401 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
5402 prototype.
5403 * c-gimplify.c (c_gimplify_expr): Added a call to the function
5404 cilk_gimplify_call_params_in_spawned_fn.
5405 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
5406 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
5407 unwrapping.
5408
c316b5e4
MP
54092015-08-25 Marek Polacek <polacek@redhat.com>
5410
5411 PR middle-end/67330
5412 * c-common.c (handle_weak_attribute): Don't check whether the
5413 visibility can be changed here.
5414
584a7c46
MLI
54152015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5416
5417 * c-lex.c (c_lex_with_flags): Use explicit locations.
5418
a79683d5
TS
54192015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
5420
5421 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
5422 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
5423
61717a45
FXC
54242015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5425
5426 PR middle-end/36757
5427 * c-common.c (check_builtin_function_arguments): Add check
5428 for BUILT_IN_SIGNBIT argument.
5429
329524f5
PC
54302015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
5431
5432 PR c++/67160
5433 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
5434 in c++1z mode.
5435
4ee55665
MP
54362015-08-17 Marek Polacek <polacek@redhat.com>
5437
5438 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
5439 with whitespaces before qualifier names.
5440
b893e375
MP
54412015-08-12 Marek Polacek <polacek@redhat.com>
5442
5443 PR c++/55095
5444 * c-common.c (maybe_warn_shift_overflow): Properly handle
5445 left-shifting 1 into the sign bit.
5446
c2d89095
MLI
54472015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5448
5449 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
5450
971e17ff
AS
54512015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
5452 Braden Obrzut <admin@maniacsvault.net>
5453 Jason Merrill <jason@redhat.com>
5454
5455 Add C++ Concepts TS support.
5456 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
5457 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
5458 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
5459 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
5460 * c-opts.c (set_std_cxx1z): Set flag_concepts.
5461 * c.opt (fconcepts): New.
5462
b3d5bc62
JJ
54632015-08-02 Martin Sebor <msebor@redhat.com>
5464
5465 * c.opt (-Wframe-address): New warning option.
5466
8ebca419
PP
54672015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5468
5469 * c-indentation.c (should_warn_for_misleading_indentation):
5470 Improve heuristics.
5471
1a1e101f
PP
54722015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5473
5474 * c-indentation.c (get_visual_column): Add parameter first_nws,
5475 use it. Update comment documenting the function.
5476 (is_first_nonwhitespace_on_line): Remove.
5477 (should_warn_for_misleading_indentation): Replace usage of
5478 of is_first_nonwhitespace_on_line with get_visual_column.
5479
992118a1
PP
54802015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5481
5482 * c-indentation.h (struct token_indent_info): Define.
5483 (get_token_indent_info): Define.
5484 (warn_for_misleading_information): Declare.
5485 * c-common.h (warn_for_misleading_information): Remove.
5486 * c-identation.c (warn_for_misleading_indentation):
5487 Change declaration to take three token_indent_infos. Adjust
5488 accordingly.
5489 * c-identation.c (should_warn_for_misleading_indentation):
5490 Likewise. Bail out early if the body is a compound statement.
5491 (guard_tinfo_to_string): Define.
5492
e8fa3817
JM
54932015-07-30 Jason Merrill <jason@redhat.com>
5494
5495 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
5496 '*' for reference decay.
5497
173864e8
MP
54982015-07-30 Marek Polacek <polacek@redhat.com>
5499
5500 * c-common.c (warn_tautological_cmp): Bail for float types.
5501
f2afe6dd
MP
55022015-07-27 Marek Polacek <polacek@redhat.com>
5503
5504 PR bootstrap/67030
5505 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
5506
05b28fd6
MP
55072015-07-27 Marek Polacek <polacek@redhat.com>
5508
5509 PR c++/66555
5510 PR c/54979
5511 * c-common.c (find_array_ref_with_const_idx_r): New function.
5512 (warn_tautological_cmp): New function.
5513 * c-common.h (warn_tautological_cmp): Declare.
5514 * c.opt (Wtautological-compare): New option.
5515
5a5062b8
MP
55162015-07-23 Marek Polacek <polacek@redhat.com>
5517
5518 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
5519 (ubsan_instrument_shift): Likewise.
5520
dc891fe7
MP
55212015-07-23 Marek Polacek <polacek@redhat.com>
5522
5523 PR sanitizer/66908
5524 * c-ubsan.c: Include gimplify.h.
5525 (ubsan_instrument_division): Unshare OP0 and OP1.
5526 (ubsan_instrument_shift): Likewise.
5527
451b5e48
MP
55282015-07-20 Marek Polacek <polacek@redhat.com>
5529 Richard Sandiford <richard.sandiford@arm.com>
5530
5531 PR c++/55095
5532 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
5533 Use EXPR_LOC_OR_LOC.
5534 (maybe_warn_shift_overflow): New function.
5535 * c-common.h (maybe_warn_shift_overflow): Declare.
5536 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
5537 * c.opt (Wshift-overflow): New option.
5538
fb0b2914
ML
55392015-07-16 Martin Liska <mliska@suse.cz>
5540
5541 * c-format.c (static void check_format_info_main): Use
5542 object_allocator instead of pool_allocator.
5543 (check_format_arg): Likewise.
5544 (check_format_info_main): Likewise.
5545
903f5c23
AM
55462015-07-15 Andrew MacLeod <amacleod@redhat.com>
5547
5548 * c-opts.c: Remove multiline #include comment.
5549
026c3cfd
AH
55502015-07-12 Aldy Hernandez <aldyh@redhat.com>
5551
5552 * c-common.c: Fix double word typos.
5553
bb49ee66
EB
55542015-07-10 Eric Botcazou <ebotcazou@adacore.com>
5555
5556 * c-ada-spec.h (cpp_operation): Revert latest change.
5557 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
5558 constructors and destructors.
5559
1916bcb5
AM
55602015-07-09 Andrew MacLeod <amacleod@redhat.com>
5561
5562 * c-common.h: Adjust includes for flags.h changes.
5563 * stub-objc.c: Likewise.
026c3cfd 5564
a9dcd529
EB
55652015-07-08 Eric Botcazou <ebotcazou@adacore.com>
5566
5567 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
5568 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
5569
b03b462f
JJ
55702015-07-08 Jakub Jelinek <jakub@redhat.com>
5571
5572 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
5573 are to be removed, return NULL rather than original clauses list.
5574
c7131fb2
AM
55752015-07-07 Andrew MacLeod <amacleod@redhat.com>
5576
5577 * array-notation-common.c: Adjust includes.
5578 * c-ada-spec.c: Likewise.
5579 * c-cilkplus.c: Likewise.
5580 * c-common.h: Likewise.
5581 * c-cppbuiltin.c: Likewise.
5582 * c-dump.c: Likewise.
5583 * c-format.c: Likewise.
5584 * c-gimplify.c: Likewise.
5585 * c-indentation.c: Likewise.
5586 * c-lex.c: Likewise.
5587 * c-omp.c: Likewise.
5588 * c-opts.c: Likewise.
5589 * c-pch.c: Likewise.
5590 * c-ppoutput.c: Likewise.
5591 * c-pragma.c: Likewise.
5592 * c-pretty-print.c: Likewise.
5593 * c-semantics.c: Likewise.
5594 * c-ubsan.c: Likewise.
5595 * cilk.c: Likewise.
5596 * stub-objc.c: Likewise.
5597
2a7fb83f
EB
55982015-07-07 Eric Botcazou <ebotcazou@adacore.com>
5599
5600 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
5601 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
5602
a03c9bf1
JM
56032015-07-01 Jason Merrill <jason@redhat.com>
5604
36a85135
JM
5605 * c-common.h (D_CXX11): Rename from D_CXX0X.
5606 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
5607 * c-common.c: Adjust.
5608
e7fa68d5
JM
5609 * c-opts.c (c_common_post_options): Default to C++14.
5610
a03c9bf1
JM
5611 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
5612
fe95b036
ESR
56132015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
5614
5615 Implement N4197 - Adding u8 character literals
b3d5bc62 5616 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 5617 CPP_CHAR.
b3d5bc62 5618 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 5619 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 5620 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
5621 and CPP_UTF8CHAR tokens.
5622 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 5623
da2e71c9
MLI
56242015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5625
5626 PR fortran/66605
5627 * c-common.c (do_warn_unused_parameter): Move here.
5628 * c-common.h (do_warn_unused_parameter): Declare.
5629
b155cfd9
MP
56302015-06-29 Marek Polacek <polacek@redhat.com>
5631
5632 PR c/66322
5633 * c-common.c (check_case_bounds): Add bool * parameter. Set
5634 OUTSIDE_RANGE_P.
5635 (c_add_case_label): Add bool * parameter. Pass it down to
5636 check_case_bounds.
5637 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
5638 warning here.
5639 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
5640 declarations.
5641
31521951
MP
56422015-06-27 Marek Polacek <polacek@redhat.com>
5643
5644 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
5645 or VECTOR_INTEGER_TYPE_P throughout.
5646 * c-gimplify.c: Likewise.
5647
22d03525
MP
56482015-06-26 Marek Polacek <polacek@redhat.com>
5649
5650 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
5651 * c-common.c (c_fully_fold_internal): Likewise.
5652 (c_alignof_expr): Likewise.
5653 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
5654 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 5655 * cilk.c (create_parm_list): Likewise.
22d03525 5656
af05e6e5
MP
56572015-06-26 Marek Polacek <polacek@redhat.com>
5658
5659 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
5660
f0889939
AM
56612015-06-25 Andrew MacLeod <amacleod@redhat.com>
5662
5663 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
5664 * c-gimplify.c: Likewise.
5665 * c-pragma.c: Likewise.
5666 * c-ubsan.c: Likewise.
5667 * cilk.c: Likewise.
5668
ca752f39
RS
56692015-06-25 Richard Sandiford <richard.sandiford@arm.com>
5670
5671 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
5672 ggc_hasher.
5673
16a16ec7
AM
56742015-06-25 Andrew MacLeod <amacleod@redhat.com>
5675
5676 * cilk.c: Move calls.h after tm.h in the include chain.
5677
0ae9bd27
MP
56782015-06-25 Marek Polacek <polacek@redhat.com>
5679
5680 * array-notation-common.c: Use VAR_P throughout.
5681 * c-ada-spec.c: Likewise.
5682 * c-common.c: Likewise.
5683 * c-format.c: Likewise.
5684 * c-gimplify.c: Likewise.
5685 * c-omp.c: Likewise.
5686 * c-pragma.c: Likewise.
5687 * c-pretty-print.c: Likewise.
5688 * cilk.c: Likewise.
5689
62f9079a
MP
56902015-06-25 Marek Polacek <polacek@redhat.com>
5691
5692 * cilk.c (extract_free_variables): Use is_global_var.
5693
0fa16060
RS
56942015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5695
5696 * c-common.c: Don't include target-def.h.
5697
a68ae2e1
MP
56982015-06-23 Marek Polacek <polacek@redhat.com>
5699
5700 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
5701 when comparing INTEGER_CSTs.
5702
c6a2f2d9
PMR
57032015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5704
5705 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
5706 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
5707 (dump_ada_template): Skip partially specialized types.
5708
6b4db501
MM
57092015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5710
5711 * c-common.c (scalar_to_vector): Use std::swap instead of manually
5712 swapping.
5713
abb226c9
AM
57142015-06-17 Andrew MacLeod <amacleod@redhat.com>
5715
5716 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
5717 * c-ada-spec.c: Likewise.
5718 * c-cilkplus.c: Likewise.
5719 * c-common.c: Likewise.
5720 * c-common.h: Likewise.
5721 * c-cppbuiltin.c: Likewise.
5722 * c-dump.c: Likewise.
5723 * c-format.c: Likewise.
5724 * c-gimplify.c: Likewise.
5725 * c-indentation.c: Likewise.
5726 * c-lex.c: Likewise.
5727 * c-omp.c: Likewise.
5728 * c-opts.c: Likewise.
5729 * c-pch.c: Likewise.
5730 * c-ppoutput.c: Likewise.
5731 * c-pragma.c: Likewise.
5732 * c-pretty-print.c: Likewise.
5733 * c-semantics.c: Likewise.
5734 * c-ubsan.c: Likewise.
5735 * cilk.c: Likewise.
5736 * stub-objc.c: Likewise.
5737
076fecad
PP
57382015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5739
5740 PR c++/65168
5741 * c-common.c (c_common_truthvalue_conversion): Warn when
5742 converting an address of a reference to a truth value.
5743
13fdf2e2
AM
57442015-06-08 Andrew MacLeod <amacleod@redhat.com>
5745
5746 * array-notation-common.c : Adjust include files.
5747 * c-ada-spec.c : Likewise.
5748 * c-cilkplus.c : Likewise.
5749 * c-common.c : Likewise.
5750 * c-common.h : Likewise.
5751 * c-cppbuiltin.c : Likewise.
5752 * c-dump.c : Likewise.
5753 * c-format.c : Likewise.
5754 * c-gimplify.c : Likewise.
5755 * c-indentation.c : Likewise.
5756 * c-lex.c : Likewise.
5757 * c-omp.c : Likewise.
5758 * c-opts.c : Likewise.
5759 * c-pch.c : Likewise.
5760 * c-ppoutput.c : Likewise.
5761 * c-pragma.c : Likewise.
5762 * c-pretty-print.c : Likewise.
5763 * c-semantics.c : Likewise.
5764 * c-ubsan.c : Likewise.
5765 * cilk.c : Likewise.
5766 * stub-objc.c : Likewise.
5767
a1661b90
MP
57682015-06-08 Marek Polacek <polacek@redhat.com>
5769
5770 PR c/66415
5771 * c-format.c (location_from_offset): Return LOC if LINE is null.
5772
d7438551
AH
57732015-06-05 Aldy Hernandez <aldyh@redhat.com>
5774
5775 * c-common.h (c_parse_final_cleanups): New prototype.
5776 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5777
b3d5bc62
JJ
57782015-06-04 Sriraman Tallam <tmsriram@google.com>
5779
5780 * c-common.c (noplt): New attribute.
5781 (handle_noplt_attribute): New handler.
5782
ecb9f223
AM
57832015-06-04 Andrew MacLeod <amacleod@redhat.com>
5784
5785 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5786 * c-ada-spec.c: Likewise.
5787 * c-cilkplus.c: Likewise.
5788 * c-common.c: Likewise.
5789 * c-common.h: Likewise.
5790 * c-cppbuiltin.c: Likewise.
5791 * c-dump.c: Likewise.
5792 * c-format.c: Likewise.
5793 * c-gimplify.c: Likewise.
5794 * c-indentation.c: Likewise.
5795 * c-lex.c: Likewise.
5796 * c-omp.c: Likewise.
5797 * c-opts.c: Likewise.
5798 * c-pch.c: Likewise.
5799 * c-ppoutput.c: Likewise.
5800 * c-pragma.c: Likewise.
5801 * c-pretty-print.c: Likewise.
5802 * c-semantics.c: Likewise.
5803 * c-ubsan.c: Likewise.
5804 * cilk.c: Likewise.
5805 * stub-objc.c: Likewise.
5806
6ac48155
DM
58072015-06-02 David Malcolm <dmalcolm@redhat.com>
5808
5809 PR c/66220:
5810 * c-indentation.c (should_warn_for_misleading_indentation): Use
5811 expand_location rather than expand_location_to_spelling_point.
5812 Don't warn if the guarding statement is more indented than the
5813 next/body stmts.
5814
773ce42e
DM
58152015-06-02 David Malcolm <dmalcolm@redhat.com>
5816
5817 * c-indentation.c (warn_for_misleading_indentation): Bail out
5818 immediately if -Wmisleading-indentation isn't enabled.
5819
4fef8379
ML
58202015-06-01 Martin Liska <mliska@suse.cz>
5821
5822 * c-format.c (check_format_arg):Use new type-based pool allocator.
5823 (check_format_info_main) Likewise.
5824
1edfb384
EB
58252015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5826
5827 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5828 (has_nontrivial_methods): Likewise.
5829
9677ef52
MP
58302015-05-25 Marek Polacek <polacek@redhat.com>
5831
5832 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5833
fd5c817a
MP
58342015-05-22 Marek Polacek <polacek@redhat.com>
5835
5836 PR c/47043
5837 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5838
a2f45fe6 58392015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
5840
5841 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5842 STACK_GROWS_DOWNWARD.
5843
a2f45fe6 58442015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
5845
5846 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5847 STACK_GROWS_DOWNWARD rather than if it is defined.
5848
0fee2ac2 58492015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 5850
0fee2ac2
MLI
5851 PR c/52952
5852 * c-format.c (location_column_from_byte_offset): New.
5853 (location_from_offset): New.
5854 (struct format_wanted_type): Add offset_loc field.
5855 (check_format_info): Move handling of location for extra arguments
5856 closer to the point of warning.
5857 (check_format_info_main): Pass the result of location_from_offset
5858 to warning_at.
5859 (format_type_warning): Pass the result of location_from_offset
5860 to warning_at.
5861
cf4ef6f7
MP
58622015-05-20 Marek Polacek <polacek@redhat.com>
5863
5864 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5865
3a65ee74
MP
58662015-05-20 Marek Polacek <polacek@redhat.com>
5867
5868 * c-ada-spec.c (dump_sloc): Use DECL_P.
5869
21b634ae
MP
58702015-05-20 Marek Polacek <polacek@redhat.com>
5871
5872 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5873 * c-common.c: Likewise.
5874
0e50b624
DM
58752015-05-19 David Malcolm <dmalcolm@redhat.com>
5876
5877 * c-common.h (fe_file_change): Strengthen param from
5878 const line_map * to const line_map_ordinary *.
5879 (pp_file_change): Likewise.
5880 * c-lex.c (fe_file_change): Likewise.
5881 (cb_define): Use linemap_check_ordinary when invoking
5882 SOURCE_LINE.
5883 (cb_undef): Likewise.
5884 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
5885 invoking cb_file_change.
5886 (c_finish_options): Likewise.
5887 (push_command_line_include): Likewise.
5888 (cb_file_change): Strengthen param "new_map" from
5889 const line_map * to const line_map_ordinary *.
5890 * c-ppoutput.c (cb_define): Likewise for local "map".
5891 (pp_file_change): Likewise for param "map" and local "from".
5892
fab27f52
MM
58932015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5894
5895 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5896
2fe1d762
TV
58972015-05-18 Tom de Vries <tom@codesourcery.com>
5898
5899 * c-common.c (build_va_arg_1): New function.
5900 (build_va_arg): Add address operator to va_list operand if necessary.
5901
7a37fa90
MM
59022015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
5903
5904 PR c/48956
5905 * c-common.c (int_safely_convertible_to_real_p): Define.
5906 (unsafe_conversion_p): Check conversions involving complex types.
5907 (conversion_warning): Add new warning message for conversions which
5908 discard imaginary component.
5909 * c-common.h: (enum conversion_safety): Add new enumerator for such
5910 conversions.
5911
3aa3c9fc
MP
59122015-05-14 Marek Polacek <polacek@redhat.com>
5913
5914 PR c/66066
5915 PR c/66127
5916 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5917 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5918 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
5919 use it. If FOR_INT_CONST, require that all evaluated operands be
5920 INTEGER_CSTs.
5921
c3388e62
DM
59222015-05-12 David Malcolm <dmalcolm@redhat.com>
5923
5924 * c-common.h (warn_for_misleading_indentation): New prototype.
5925 * c-indentation.c: New file.
5926 * c.opt (Wmisleading-indentation): New option.
5927
c7b38fd5
TV
59282015-05-12 Tom de Vries <tom@codesourcery.com>
5929
5930 PR tree-optimization/66010
5931 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5932
381bf11e
JM
59332015-05-09 Jason Merrill <jason@redhat.com>
5934
edff0c06
JM
5935 * c-opts.c (c_common_post_options): Also clear
5936 cpp_opts->cpp_warn_cxx11_compat.
5937
129211bc
JM
5938 * c-common.h (enum cxx_dialect): Add cxx_unset.
5939 * c-common.c (cxx_dialect): Initialize to cxx_unset.
5940 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5941
381bf11e
JM
5942 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5943 (std=gnu++0x): Mark as Undocumented.
5944 (std=gnu++1y): Add deprecated message.
5945
fe191308
JM
59462015-05-08 Jason Merrill <jason@redhat.com>
5947
765189ff
JM
5948 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
5949 * c-opts.c: Adjust.
5950
fe191308
JM
5951 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5952
755e528f
MP
59532015-05-08 Marek Polacek <polacek@redhat.com>
5954
5955 PR c/64918
5956 * c.opt (Woverride-init-side-effects): New option.
5957
0173bd2a
MP
59582015-05-07 Marek Polacek <polacek@redhat.com>
5959
5960 PR c/65179
5961 * c-common.c (c_fully_fold_internal): Warn when left shifting a
5962 negative value.
5963 * c.opt (Wshift-negative-value): New option.
5964 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
5965 when -Wextra and C99/C++11 mode.
5966
e0f0d3b9
MP
59672015-05-07 Marek Polacek <polacek@redhat.com>
5968 Martin Uecker <uecker@eecs.berkeley.edu>
5969
5970 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
5971 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
5972
8243e2a9
JM
59732015-05-05 Jason Merrill <jason@redhat.com>
5974
5975 * c.opt (Wterminate): New.
5976
577cd070
MP
59772015-04-30 Marek Polacek <polacek@redhat.com>
5978
5979 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
5980 require that the non-constant be of a boolean type.
5981
0373796b
JT
59822015-04-29 Josh Triplett <josh@joshtriplett.org>
5983
e0f0d3b9
MP
5984 * c-common.c (handle_section_attribute): Refactor to reduce
5985 nesting and distinguish between error cases.
0373796b 5986
716c0ba6
MP
59872015-04-29 Marek Polacek <polacek@redhat.com>
5988
5989 PR c/64610
5990 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5991 with 0/1.
5992
8848828b
JJ
59932015-04-29 Jakub Jelinek <jakub@redhat.com>
5994
5995 * c-common.h (omp_clause_mask): Unconditionally define as a class.
5996 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
5997 HOST_BITS_PER_WIDE_INT.
5998
ecd0e562
TV
59992015-04-28 Tom de Vries <tom@codesourcery.com>
6000
6001 PR tree-optimization/65887
6002 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
6003
2a877204 60042015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 6005 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
6006
6007 * c-ada-spec.c (in_function): Delete.
6008 (dump_generic_ada_node): Do not change in_function and remove the
6009 redundant code dealing with it.
6010 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
6011 (print_ada_methods): Output the static member functions in a nested
6012 package after the regular methods as well as associated renamings.
6013
4853031e
MP
60142015-04-24 Marek Polacek <polacek@redhat.com>
6015
6016 PR c/65830
6017 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
6018 and OPT_Wshift_count_overflow.
6019
8c2b7f79
MP
6020 PR c/63357
6021 * c-common.c (warn_logical_operator): Warn if the operands have the
6022 same expressions.
6023
b8787813
MP
60242015-04-24 Marek Polacek <polacek@redhat.com>
6025
6026 PR c/61534
6027 * c-common.c (warn_logical_operator): Bail if either operand comes
6028 from a macro expansion.
6029
8fba1830
BRF
60302015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6031
6032 PR target/55143
6033 * c-common.c (c_default_pointer_mode): Add definition.
6034 * c-common.h (c_default_pointer_mode): Add declaration.
6035
17958621
JJ
60362015-03-11 Jakub Jelinek <jakub@redhat.com>
6037
6038 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
6039 on record_builtin_type argument.
6040
7ccb1a11
JJ
60412015-03-10 Jakub Jelinek <jakub@redhat.com>
6042
6043 PR c/65120
6044 * c-common.c (warn_logical_not_parentheses): Don't warn for
6045 !x == 0 or !x != 0.
6046
04fd785e
MP
60472015-03-07 Marek Polacek <polacek@redhat.com>
6048
6049 PR sanitizer/65280
6050 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
6051 before trying to figure out whether we have a flexible array member.
6052
a4e26206 60532015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6054 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
6055
6056 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
6057
0d2489f4
EB
60582015-03-05 Eric Botcazou <ebotcazou@adacore.com>
6059
6060 PR ada/65319
6061 * c-ada-spec.c (print_destructor): Remove obsolete code.
6062
83ed54d7
EB
60632015-03-01 Eric Botcazou <ebotcazou@adacore.com>
6064
6065 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
6066 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
6067 DECL_TEMPLATE_RESULT emulations.
6068 (dump_ada_template)): Add guard for TYPE_METHODS.
6069
7631f0e2
MP
60702015-02-27 Marek Polacek <polacek@redhat.com>
6071
6072 PR c/65040
6073 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
6074
d1783ae5
KT
60752015-02-27 Kai Tietz <ktietz@redhat.com>
6076
6077 PR c/35330
6078 * c-pragma.c (handle_pragma_weak): Do not try to create
6079 weak/alias of declarations not being function, or variable
6080 declarations.
6081
56a9f6bc
TS
60822015-02-24 Thomas Schwinge <thomas@codesourcery.com>
6083
6084 PR libgomp/64625
6085 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6086 Remove macros.
6087 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
6088
3d5cb23d
MP
60892015-02-16 Marek Polacek <polacek@redhat.com>
6090
6091 PR c/65066
6092 * c-format.c (check_format_types): Handle null param.
6093
fa008882
MP
60942015-02-13 Marek Polacek <polacek@redhat.com>
6095
6096 PR c/65040
6097 * c-format.c (check_format_types): Don't warn about different
6098 signedness if the original value is in the range of WANTED_TYPE.
6099
785f21af
JM
61002015-02-12 Jason Merrill <jason@redhat.com>
6101
6102 PR c++/64956
6103 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6104 to the current highest version.
6105 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6106
4886ec8e
JJ
61072015-02-04 Jakub Jelinek <jakub@redhat.com>
6108
6109 PR c/64824
6110 PR c/64868
6111 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6112 instead of RDIV_EXPR. Use build_binary_op instead of
6113 build2_loc.
6114
40fecdd6
JM
61152015-01-30 Joseph Myers <joseph@codesourcery.com>
6116
6117 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6118 to pass input_location as first argument.
6119
a0c88d06
TV
61202015-01-23 Tom de Vries <tom@codesourcery.com>
6121
6122 PR libgomp/64672
6123 * c.opt (fopenacc): Mark as LTO option.
6124
1506ae0e
TV
61252015-01-23 Tom de Vries <tom@codesourcery.com>
6126
6127 PR libgomp/64707
6128 * c.opt (fopenmp): Mark as LTO option.
6129
31be63ab
JJ
61302015-01-21 Jakub Jelinek <jakub@redhat.com>
6131
6132 PR c/63307
b1726d6c 6133 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
6134 (compare_decls): Fix up formatting.
6135
61362015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6137
6138 PR c/63307
6139 * cilk.c: Include vec.h.
6140 (struct cilk_decls): New structure.
6141 (wrapper_parm_cb): Split this function to...
6142 (fill_decls_vec): ...this...
6143 (create_parm_list): ...and this.
6144 (compare_decls): New function.
6145 (for_local_cb): Remove.
6146 (wrapper_local_cb): Ditto.
6147 (build_wrapper_type): For now first traverse and fill vector of
6148 declarations then sort it and then deal with sorted vector.
6149 (cilk_outline): Ditto.
6150 (declare_one_free_variable): Ditto.
6151
6875457f
JM
61522015-01-21 Jason Merrill <jason@redhat.com>
6153
6154 PR c++/64629
6155 * c-format.c (check_format_arg): Call decl_constant_value.
6156
185c9e56
ML
61572015-01-19 Martin Liska <mliska@suse.cz>
6158
6159 * c-common.c (handle_noicf_attribute): New function.
6160
41dbbb37
TS
61612015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6162 Bernd Schmidt <bernds@codesourcery.com>
6163 James Norris <jnorris@codesourcery.com>
6164 Cesar Philippidis <cesar@codesourcery.com>
6165 Ilmir Usmanov <i.usmanov@samsung.com>
6166 Jakub Jelinek <jakub@redhat.com>
6167
6168 * c.opt (fopenacc): New option.
6169 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6170 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6171 New macros.
6172 * c-common.h (c_finish_oacc_wait): New prototype.
6173 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6174 (c_finish_oacc_wait): New function.
6175 * c-pragma.c (oacc_pragmas): New variable.
6176 (c_pp_lookup_pragma, init_pragma): Handle it.
6177 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6178 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6179 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6180 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6181 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6182 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6183 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6184 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6185 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6186 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6187 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6188 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6189 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6190 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6191 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6192 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6193 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6194 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6195 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6196 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6197 PRAGMA_OACC_CLAUSE_WORKER.
6198
3f8257db 61992015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
6200
6201 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
6202 for the new option fstack-protector_explicit.
6203 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
6204 (handle_stack_protect_attribute): New function.
6205
3f8257db 62062015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
6207
6208 * c.opt: New option -Warray-bounds=.
6209
adfac8df
JJ
62102015-01-09 Michael Collison <michael.collison@linaro.org>
6211
6212 * array-notation-common.c: Include hash-set.h, machmode.h,
6213 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6214 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
6215 * c-ada-spec.c: Ditto.
6216 * c-cilkplus.c: Ditto.
6217 * c-common.c: Include input.h due to flattening of tree.h.
6218 Define macro GCC_C_COMMON_C.
6219 * c-common.h: Flatten tree.h header files into c-common.h.
6220 Remove include of tree-core.h.
6221 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6222 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6223 fold-const.h, wide-int.h, and inchash.h due to
6224 flattening of tree.h.
6225 * c-dump.c: Ditto.
6226 * c-format.c: Flatten tree.h header files into c-common.h.
6227 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6228 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6229 fold-const.h, wide-int.h, and inchash.h due to
6230 flattening of tree.h.
6231 * c-dump.c: Include hash-set.h, machmode.h,
6232 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6233 fold-const.h, wide-int.h, and inchash.h due to
6234 flattening of tree.h.
6235 * c-format.c: Include hash-set.h, machmode.h,
6236 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6237 fold-const.h, wide-int.h, inchash.h and real.h due to
6238 flattening of tree.h.
6239 * c-gimplify.c: Include hash-set.h, machmode.h,
6240 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6241 fold-const.h, wide-int.h, and inchash.h due to
6242 flattening of tree.h.
6243 * cilk.c: Ditto.
6244 * c-lex.c: Ditto.
6245 * c-omp.c: Ditto.
6246 * c-opts.c: Ditto.
6247 * c-pch.c: Ditto.
6248 * c-ppoutput.c: Ditto.
6249 * c-pragma.c: Ditto.
6250 * c-pretty-print.c: Ditto.
6251 * c-semantics.c: Ditto.
6252 * c-ubsan.c: Ditto.
6253 * stub-objc.c: Ditto.
6254
f5481fc4
JM
62552015-01-08 Jason Merrill <jason@redhat.com>
6256
6257 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6258 do_ubsan_in_current_function.
6259 (ubsan_maybe_instrument_reference_or_call): Likewise.
6260 * c-ubsan.h: Declare it.
6261
de35aa66
MS
62622015-01-08 Mike Stump <mikestump@comcast.net>
6263
6264 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6265
4a9a42ab
MP
62662015-01-07 Marek Polacek <polacek@redhat.com>
6267
6268 PR c/64440
6269 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6270 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6271
2f42e5de
TS
62722015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6273
6274 PR c++/31397
6275 * c.opt (Wsuggest-override): New option.
6276
5624e564
JJ
62772015-01-05 Jakub Jelinek <jakub@redhat.com>
6278
6279 Update copyright years.
6280
5bd012f8
MP
62812015-01-05 Marek Polacek <polacek@redhat.com>
6282
6283 PR c/64423
6284 * c-common.c (warn_array_subscript_with_type_char): Add location_t
6285 parameter. Use it.
6286 * c-common.h (warn_array_subscript_with_type_char): Update
6287 declaration.
6288
a7fa8d18
ESR
62892014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
6290
6291 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
6292 Control macro with flag_sized_deallocation.
6293
3f8257db 62942014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
6295
6296 * c.opt (Wdiscarded-array-qualifiers): New option.
6297
1f8d3e84
JJ
62982014-12-19 Jakub Jelinek <jakub@redhat.com>
6299
6300 PR preprocessor/63831
6301 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
6302 and __has_cpp_attribute here.
6303 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
6304 c_common_has_attribute.
6305 * c-common.h (c_common_has_attribute): New prototype.
6306 * c-lex.c (init_c_lex): Set cb->has_attribute to
6307 c_common_has_attribute instead of cb_has_attribute.
6308 (get_token_no_padding): New function.
6309 (cb_has_attribute): Renamed to ...
6310 (c_common_has_attribute): ... this. No longer static. Use
6311 get_token_no_padding, require ()s, don't build TREE_LIST
6312 unnecessarily, fix up formatting, adjust diagnostics, call
6313 init_attributes.
6314
20b06add
JM
63152014-12-15 Jason Merrill <jason@redhat.com>
6316
6317 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
6318 (-Wsized-deallocation): New.
6319 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
6320 to on in C++14 and up.
6321
94a073b2
JM
63222014-12-11 Jason Merrill <jason@redhat.com>
6323
acaa5911
JM
6324 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
6325
94a073b2
JM
6326 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
6327 we aren't complaining about VLAs.
6328
7fb66c15
MP
63292014-12-06 Marek Polacek <polacek@redhat.com>
6330
6331 PR tree-optimization/64183
6332 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
6333 shift-expression if it is integer_type_node. Use types_compatible_p.
6334
b731b390
JJ
63352014-11-29 Jakub Jelinek <jakub@redhat.com>
6336
6337 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
6338 last argument from create_tmp_var_raw and create_tmp_var calls.
6339 * cilk.c (gimplify_cilk_spawn): Likewise.
6340 * c-omp.c (c_finish_omp_atomic): Likewise.
6341
6a4da643
MP
63422014-11-28 Marek Polacek <polacek@redhat.com>
6343
6344 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
6345 instead of unsigned_type_node.
6346
541e35a6
MP
63472014-11-28 Marek Polacek <polacek@redhat.com>
6348
6349 PR c/63862
6350 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
6351 to op1_utype.
6352 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
6353 expression to unsigned_type_node.
6354
dcc97066
MW
63552014-11-20 Mark Wielaard <mjw@redhat.com>
6356
6357 PR debug/38757
6358 * c-opts.c (set_std_c89): Set lang_hooks.name.
6359 (set_std_c99): Likewise.
6360 (set_std_c11): Likewise.
6361 (set_std_cxx98): Likewise.
6362 (set_std_cxx11): Likewise.
6363 (set_std_cxx14): Likewise.
6364 (set_std_cxx1z): Likewise.
6365
aa7da51a
JJ
63662014-11-21 Jakub Jelinek <jakub@redhat.com>
6367
6368 PR target/63764
6369 * c-common.h (convert_vector_to_pointer_for_subscript): Change
6370 return type to bool.
009a3480 6371 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
6372 (convert_vector_to_pointer_for_subscript): Change return type to
6373 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
6374 and copy it into a TARGET_EXPR and use that instead of *vecp
6375 directly.
6376
538dd0b7
DM
63772014-11-19 David Malcolm <dmalcolm@redhat.com>
6378
6379 Merger of git branch "gimple-classes-v2-option-3".
6380 * ChangeLog.gimple-classes: New.
6381 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
6382 from being just a vec<gimple> to a vec<gbind *>.
6383
c39a5e99
JJ
63842014-11-18 Jakub Jelinek <jakub@redhat.com>
6385
6386 PR sanitizer/63813
6387 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
6388 argument to ptype, set type to TREE_TYPE (ptype). Don't call
6389 get_pointer_alignment for non-pointers. Use ptype, or if it is
6390 reference type, corresponding pointer type, as type of kind
6391 argument.
6392 (ubsan_maybe_instrument_reference,
6393 ubsan_maybe_instrument_member_call): Adjust callers.
6394
8537a4a9
MP
63952014-11-15 Marek Polacek <polacek@redhat.com>
6396
6397 PR middle-end/63884
6398 * array-notation-common.c (is_sec_implicit_index_fn): Return false
6399 for NULL fndecl.
6400 (extract_array_notation_exprs): Return for NULL node.
6401
2079956a
JM
64022014-11-12 Joseph Myers <joseph@codesourcery.com>
6403
6404 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
6405 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
6406
1304953e
JJ
64072014-11-12 Jakub Jelinek <jakub@redhat.com>
6408
6409 PR c/59708
6410 * c-common.c (check_builtin_function_arguments): Handle
6411 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
6412
e5e44252
AK
64132014-11-10 Andi Kleen <ak@linux.intel.com>
6414
6415 PR c/60804
6416 * c-common.h (check_no_cilk): Declare.
6417 * cilk.c (get_error_location): New function.
6418 (check_no_cilk): Dito.
6419
e64b984d
AK
64202014-11-10 Andi Kleen <ak@linux.intel.com>
6421
6422 * cilk.c (recognize_spawn): Use expression location
6423 for error message.
6424
13c21655
PC
64252014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
6426
6427 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
6428
42fd12b1
ESR
64292014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
6430
6431 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
6432 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
6433 (__cpp_range_based_for, __cpp_initializer_lists,
6434 __cpp_delegating_constructors, __cpp_nsdmi,
6435 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
6436 for C++11; (__cpp_attribute_deprecated): Remove in favor of
6437 __has_cpp_attribute.
6438 * c-lex.c (cb_has_attribute): New callback CPP function;
6439 (init_c_lex): Set has_attribute callback.
6440
6f450181
RB
64412014-11-04 Richard Biener <rguenther@suse.de>
6442
6443 * c-common.c (shorten_compare): Do not shorten mixed
6444 DFP and non-DFP compares.
6445
26f0e1d6
ESR
64462014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6447
6448 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
6449 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
6450 Commentary and rearrangement of tests.
6451 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
6452 Commentary and rearrangement of tests.
ab20d992 6453 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
6454 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
6455
ef4bddc2
RS
64562014-10-29 Richard Sandiford <richard.sandiford@arm.com>
6457
6458 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
6459 enum from machine_mode.
6460
c582198b
AM
64612014-10-28 Andrew MacLeod <amacleod@redhat.com>
6462
adfac8df
JJ
6463 * c-common.c: Adjust include files.
6464 * c-gimplify.c: Ditto.
6465 * cilk.c: Ditto.
6466 * c-pragma.c: Ditto.
6467 * c-ubsan.c: Ditto.
c582198b 6468
60393bbc
AM
64692014-10-27 Andrew MacLeod <amacleod@redhat.com>
6470
6471 * c-gimplify.c: Adjust include files.
6472
d723bb7c
MLI
64732014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6474
6475 PR c++/53061
6476 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
6477 c_common_initialize_diagnostics.
6478 * c-common.h: Likewise.
6479
90f3520e
MP
64802014-10-24 Marek Polacek <polacek@redhat.com>
6481
6482 PR c/56980
6483 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
6484 print "struct"/"union"/"enum" for typedefed names.
6485
59d7607a
MP
64862014-10-23 Marek Polacek <polacek@redhat.com>
6487
6488 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
6489 in unsigned type.
6490
d95a2703
JJ
64912014-10-22 Jakub Jelinek <jakub@redhat.com>
6492 Yury Gribov <y.gribov@samsung.com>
6493
6494 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6495 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
6496 instead of flag_sanitize_recover as bool flag.
6497
8e6ef852
KY
64982014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
6499
6500 * cilk.c: Revert previous change.
6501
948cf550
IZ
65022014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
6503
6504 PR c/63307
6505 * cilk.c: Include vec.h.
6506 (struct cilk_decls): New structure.
6507 (wrapper_parm_cb): Split this function to...
6508 (fill_decls_vec): ...this...
6509 (create_parm_list): ...and this.
6510 (compare_decls): New function.
6511 (for_local_cb): Remove.
6512 (wrapper_local_cb): Ditto.
6513 (build_wrapper_type): For now first traverse and fill vector of
6514 declarations then sort it and then deal with sorted vector.
6515 (cilk_outline): Ditto.
6516 (declare_one_free_variable): Ditto.
6517
92574c7c
MP
65182014-10-17 Marek Polacek <polacek@redhat.com>
6519
6520 * c-opts.c (c_common_post_options): Set warn_implicit_int.
6521 * c.opt (Wimplicit-int): Initialize to -1.
6522
83685514
AM
65232014-10-16 Andrew MacLeod <amacleod@redhat.com>
6524
6525 * c-pragma.c: Adjust include files.
6526 * c-semantics.c: Likewise.
6527
5b8300ea
DD
65282014-10-16 DJ Delorie <dj@redhat.com>
6529
6530 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
6531 multiples of bytes.
6532
5f83e90b
JM
65332014-10-14 Jason Merrill <jason@redhat.com>
6534
6535 PR c++/63455
6536 * c-common.h (CPP_PREPARSED_EXPR): New.
6537 (N_CP_TTYPES): Adjust.
6538
d73326ca
MP
65392014-10-15 Marek Polacek <polacek@redhat.com>
6540
6541 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
6542
78a7c317
DD
65432014-10-14 DJ Delorie <dj@redhat.com>
6544
6545 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
6546 types, not just __int128.
6547 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
6548 types, not just __int128.
6549 (cpp_atomic_builtins): Round pointer sizes up.
6550 (type_suffix): Use type precision, not specific types.
6551 * c-common.c (c_common_reswords): Remove __int128 special case.
6552 (c_common_type_for_size): Check for all __intN types, not just
6553 __int128.
6554 (c_common_type_for_mode): Likewise.
6555 (c_common_signed_or_unsigned_type): Likewise.
6556 (c_build_bitfield_integer_type): Likewise.
6557 (c_common_nodes_and_builtins): Likewise.
6558 (keyword_begins_type_specifier): Likewise.
6559 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
6560 __intN variants.
6561
2a22f99c
TS
65622014-10-12 Trevor Saunders <tsaunders@mozilla.com>
6563
6564 * c-common.c: Use hash_table instead of hashtab.
6565
2a8ef767
ESR
65662014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
6567
adfac8df 6568 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
6569 C++11 section.
6570
3c9aabbd
MG
65712014-10-03 Marc Glisse <marc.glisse@inria.fr>
6572
6573 PR c++/54427
6574 PR c++/57198
6575 PR c++/58845
6576 * c-common.c (warn_logical_operator): Punt for vectors.
6577
a15f7cb8
ESR
65782014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6579
6580 Implement SD-6: SG10 Feature Test Recommendations
6581 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
6582 macros and the __has_header macro.
6583
8d0cf15e
JM
65842014-09-30 Jason Merrill <jason@redhat.com>
6585
dd5d5481
JM
6586 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
6587 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
6588 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6589
b752325e
JM
6590 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
6591 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6592
8d0cf15e
JM
6593 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
6594 * c-common.c (c_common_reswords): Remove __is_convertible_to.
6595
083e891e
MP
65962014-09-24 Marek Polacek <polacek@redhat.com>
6597
6598 PR c/61405
6599 PR c/53874
6600 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
6601
7861b648
AK
66022014-09-23 Andi Kleen <ak@linux.intel.com>
6603
6604 * c-common.c (handle_no_reorder_attribute): New function.
6605 (c_common_attribute_table): Add no_reorder attribute.
6606
9a79452d
JM
66072014-09-22 Joseph Myers <joseph@codesourcery.com>
6608
6609 * c-cppbuiltin.c (c_cpp_builtins): Define
6610 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
6611 modes.
6612
dd69f047
JM
66132014-09-18 Joseph Myers <joseph@codesourcery.com>
6614
6615 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
6616 for supported floating-point modes.
6617
737a4826
MLI
66182014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6619
6620 * c.opt (Wpsabi): Use LangEnabledBy.
6621 * c-opts.c (c_common_handle_option): Do not handle here.
6622
8cc4b7a2
JM
66232014-09-12 Joseph Myers <joseph@codesourcery.com>
6624
6625 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
6626 macros for floating-point modes.
6627
179b5a55
MG
66282014-09-11 Marc Glisse <marc.glisse@inria.fr>
6629
6630 PR target/58757
6631 * c-cppbuiltin.c (builtin_define_float_constants): Correct
6632 __*_DENORM_MIN__ without denormals.
6633
570a11fe
JJ
66342014-09-10 Jakub Jelinek <jakub@redhat.com>
6635
6636 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6637 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6638 ubsan_create_data callers.
6639 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
6640 index is constant or BIT_AND_EXPR with constant mask and is
6641 small enough for the bound.
6642 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
6643 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
6644
b559c810
MLI
66452014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6646
6647 * c.opt: Add CppReason to various flags.
6648 (Wdate-time): Re-sort.
6649 * c-common.c: Include c-common.h earlier.
6650 (struct reason_option_codes_t): Delete.
6651 (c_option_controlling_cpp_error): Prefix global type and struct
6652 with cpp_.
6653
1ef33fd4
MLI
66542014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6655
6656 * c.opt (Wnormalized): New.
6657 (Wnormalized=): Use Enum and Reject Negative.
6658 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
6659
66bb34c0
JM
66602014-09-08 Joseph Myers <joseph@codesourcery.com>
6661
6662 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
6663 digits of floating-point modes if -fbuilding-libgcc.
6664
53d68b9f
JM
66652014-09-05 Joseph Myers <joseph@codesourcery.com>
6666
6667 * c-cppbuiltin.c (c_cpp_builtins): Also define
6668 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
6669 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
6670 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
6671 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
6672 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
6673 __LIBGCC_STACK_GROWS_DOWNWARD__,
6674 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
6675 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
6676 __LIBGCC_DWARF_FRAME_REGISTERS__,
6677 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
6678 __LIBGCC_STACK_POINTER_REGNUM__ and
6679 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
6680 (builtin_define_with_value): Handle backslash-escaping in string
6681 macro values.
6682
f65586dc
RB
66832014-09-05 Richard Biener <rguenther@suse.de>
6684
6685 PR middle-end/63148
6686 * c-format.c (check_format_arg): Properly handle
6687 effectively signed POINTER_PLUS_EXPR offset.
6688
2b71f4a4
MLI
66892014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6690
6691 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
6692 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
6693 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
6694 and Init.
6695 * c-opts.c (c_common_handle_option): Do not handle here.
6696 (sanitize_cpp_opts): Likewise.
6697 * c-common.c (struct reason_option_codes_t): Handle
6698 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
6699
d2e4feca
MP
67002014-09-03 Marek Polacek <polacek@redhat.com>
6701
6702 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
6703
9a771876
JJ
67042014-09-02 Jakub Jelinek <jakub@redhat.com>
6705 Balaji V. Iyer <balaji.v.iyer@intel.com>
6706 Igor Zamyatin <igor.zamyatin@intel.com>
6707
6708 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
6709 * c-common.c (c_common_reswords): Added _Cilk_for.
6710 * c-common.h (enum rid): Added RID_CILK_FOR.
6711 (cilk_for_number_of_iterations): Add declaration.
6712 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
6713 CILK_FOR.
6714 * c-pragma.c (init_pragma): Register "grainsize" pragma.
6715 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
6716
81b5d104
MLI
67172014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6718
6719 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
6720 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
6721 Wundef): Use CPP, Var and Init.
6722 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
6723
b753b37b
MLI
67242014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6725
6726 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
6727 * c-opts.c (c_common_handle_option): Do not handle here.
6728
028aee17
JM
67292014-08-25 Jason Merrill <jason@redhat.com>
6730
6731 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
6732 -std=c++14 and -std=gnu++14, rather than the reverse.
6733 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
6734 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
6735 * c-common.h (cxx_dialect): Remove cxx1y.
6736
e4276ba5
ESR
67372014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6738
6739 * c-common.h (enum cxx_dialect): Add cxx14.
6740 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6741 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6742 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6743
a545cacd
JM
67442014-08-22 Jason Merrill <jason@redhat.com>
6745
6746 * c.opt (std=gnu++17): Fix alias.
6747
59ea0364
MP
67482014-08-22 Marek Polacek <polacek@redhat.com>
6749
6750 PR c++/62199
6751 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6752 check for vector types. Drop LHS argument.
6753 * c-common.h (warn_logical_not_parentheses): Adjust.
6754
596e808c
MLI
67552014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6756
6757 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6758 (Wmultichar): Likewise.
6759 (Wdate-time): Use C-family languages instead of Common. Use CPP
6760 and Var.
6761 * c-opts.c (c_common_handle_option): Do not handle the above
6762 options here.
6763 (sanitize_cpp_opts): Likewise.
6764
18767f65
MLI
67652014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6766
6767 PR fortran/44054
6768 * c-opts.c: Include tree-diagnostics.h.
6769 (c_diagnostic_finalizer): New.
6770 (c_common_initialize_diagnostics): Use it.
6771
b4413594
MLI
67722014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6773
6774 PR preprocessor/51303
6775 * c-common.c (struct reason_option_codes_t option_codes):
6776 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6777
43f9a13c
MLI
67782014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6779
6780 PR c/60975
6781 PR c/53063
6782 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6783 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6784 (c_common_post_options): Call init_global_opts_from_cpp.
6785 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6786
04159acf
MP
67872014-08-19 Marek Polacek <polacek@redhat.com>
6788
6789 PR c++/62153
6790 * c-common.c (maybe_warn_bool_compare): New function.
6791 * c-common.h (maybe_warn_bool_compare): Declare.
6792 * c.opt (Wbool-compare): New option.
6793
35aff4fb
MP
67942014-08-19 Marek Polacek <polacek@redhat.com>
6795
6796 * c.opt (Wc99-c11-compat): New option.
6797
177cce46
MP
67982014-08-19 Marek Polacek <polacek@redhat.com>
6799
6800 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6801 to warn_c90_c99_compat.
6802 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6803 to -1.
6804
6ae9194f
MLI
68052014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6806 Steven Bosscher <steven@gcc.gnu.org>
6807
6808 PR c/52952
6809 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6810 format_check_results.
6811 (check_function_format): Use true and add comment for boolean
6812 argument.
6813 (finish_dollar_format_checking): Use explicit location when warning.
6814 (check_format_info): Likewise.
6815 (check_format_arg): Set extra_arg_loc and format_string_loc.
6816 (check_format_info_main): Use explicit location when warning.
6817 (check_format_types): Pass explicit location.
6818 (format_type_warning): Likewise.
6819
8e54f6d3
MLI
68202014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6821
6822 PR fortran/44054
6823 * c-format.c: Handle Fortran flags.
6824
cd4e76fc
IZ
68252014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6826
6827 PR other/61962
6828 * array-notation-common.c (find_rank): Added handling for other
6829 types of references.
6830
f3bede71
MP
68312014-08-10 Marek Polacek <polacek@redhat.com>
6832
6833 PR c/51849
6834 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6835 * c.opt (Wc90-c99-compat): Add option.
6836
9f25a338
TS
68372014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6838
6839 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6840
62e4eb35
MP
68412014-08-03 Marek Polacek <polacek@redhat.com>
6842
ab20d992 6843 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
6844 (c_add_case_label): Pass loc to check_case_value.
6845
b787e7a2
TS
68462014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6847
6848 * cilk.c: Use hash_map instead of pointer_map.
6849
6e2830c3
TS
68502014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6851
6852 * c-gimplify.c: Use hash_set instead of pointer_set.
6853
a7ee52fb
IZ
68542014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
6855
6856 PR middle-end/61455
6857 * array-notation-common.c (extract_array_notation_exprs): Handling
6858 of DECL_EXPR added.
6859
944fa280
JJ
68602014-08-01 Jakub Jelinek <jakub@redhat.com>
6861
6862 * c-common.h (min_align_of_type): Removed prototype.
6863 * c-common.c (min_align_of_type): Removed.
6864 * c-ubsan.h (ubsan_maybe_instrument_reference,
6865 ubsan_maybe_instrument_member_call): New prototypes.
6866 * c-ubsan.c: Include stor-layout.h and builtins.h.
6867 (ubsan_maybe_instrument_reference_or_call,
6868 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6869 functions.
6870
b4dfdc11
MG
68712014-07-31 Marc Glisse <marc.glisse@inria.fr>
6872
6873 PR c++/60517
6874 * c.opt (-Wreturn-local-addr): Move to common.opt.
6875
a41844e5
JM
68762014-07-30 Jason Merrill <jason@redhat.com>
6877
6878 PR c++/61659
6879 PR c++/61687
6880 Revert:
6881 * c.opt (-fuse-all-virtuals): New.
6882
976d5a22
TT
68832014-07-30 Tom Tromey <tromey@redhat.com>
6884
6885 PR c/59855
6886 * c.opt (Wdesignated-init): New option.
6887 * c-common.c (c_common_attribute_table): Add "designated_init".
6888 (handle_designated_init): New function.
6889
cdc94aca
MP
68902014-07-24 Marek Polacek <polacek@redhat.com>
6891
6892 PR c/57653
6893 * c-opts.c (c_finish_options): If -imacros is in effect, return.
6894
f41373b6
DS
68952014-07-16 Dodji Seketeli <dodji@redhat.com>
6896
6897 PR preprocessor/60723 - missing system-ness marks for macro tokens
6898 * c-ppoutput.c (struct print::prev_was_system_token): New data
6899 member.
6900 (init_pp_output): Initialize it.
6901 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6902 (do_line_change): Return a flag saying if a line marker was
6903 emitted or not.
6904 (scan_translation_unit): Detect if the system-ness of the token we
6905 are about to emit is different from the one of the previously
6906 emitted token. If so, emit a line marker. Avoid emitting useless
6907 adjacent line markers. Avoid emitting line markers for tokens
6908 originating from the expansion of built-in macros.
6909 (scan_translation_unit_directives_only): Adjust.
6910
4d661eaa
MP
69112014-07-15 Marek Polacek <polacek@redhat.com>
6912
6913 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6914 TYPE_MAX_VALUE is NULL.
6915
b108f48f
JJ
69162014-07-14 Jakub Jelinek <jakub@redhat.com>
6917
6918 PR middle-end/61294
6919 * c.opt (Wmemset-transposed-args): New warning.
6920
c0221884
JM
69212014-07-10 Jason Merrill <jason@redhat.com>
6922
6923 PR c++/61659
6924 PR c++/61687
6925 * c.opt (-fuse-all-virtuals): New.
6926
63dfbb95
RB
69272014-07-09 Richard Biener <rguenther@suse.de>
6928
6929 PR c-family/61741
6930 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6931 using unsigned arithmetic if overflow does not wrap instead of
6932 if overflow is undefined.
6933
773ec47f
MP
69342014-07-06 Marek Polacek <polacek@redhat.com>
6935
6936 PR c/6940
6937 * c.opt (Wsizeof-array-argument): New option.
6938
00a7ba58
JJ
69392014-07-03 Jakub Jelinek <jakub@redhat.com>
6940
b1726d6c 6941 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
6942 comments->count <= 1, as comments->entries might be NULL.
6943
52ec0ea3
MP
69442014-07-01 Marek Polacek <polacek@redhat.com>
6945
6946 * c.opt (Wint-conversion): New option.
6947
d5c3d343
MP
69482014-07-01 Marek Polacek <polacek@redhat.com>
6949
6950 PR c/58286
6951 * c.opt (Wincompatible-pointer-types): New option.
6952
6e7ceb17
PC
69532014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
6954
6955 PR c++/51400
6956 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
6957 Do not discard TYPE_QUALS of type.
6958
da73100b
JM
69592014-06-26 Jason Merrill <jason@redhat.com>
6960
6961 * c-common.h (enum cxx_dialect): Add cxx1z.
6962 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
6963 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
6964
08eedf75
TJ
69652014-06-26 Teresa Johnson <tejohnson@google.com>
6966
6967 * c-common.h (get_dump_info): Declare.
6968 * c-gimplify.c (c_genericize): Use saved dump files.
6969 * c-opts.c (c_common_parse_file): Begin and end dumps
6970 once around parsing invocation.
6971 (get_dump_info): New function.
6972
7b56b2f8
MP
69732014-06-23 Marek Polacek <polacek@redhat.com>
6974 Andrew MacLeod <amacleod@redhat.com>
6975
6976 PR c/61553
6977 * c-common.c (get_atomic_generic_size): Don't segfault if the
6978 type doesn't have a size.
6979
0e37a2f3
MP
69802014-06-20 Marek Polacek <polacek@redhat.com>
6981
6982 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
6983 (ubsan_walk_array_refs_r): New function.
6984 (c_genericize): Instrument array bounds.
6985 * c-ubsan.c: Include "internal-fn.h".
6986 (ubsan_instrument_division): Mark instrumented arrays as having
6987 side effects. Adjust ubsan_type_descriptor call.
6988 (ubsan_instrument_shift): Likewise.
6989 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
6990 (ubsan_instrument_bounds): New function.
6991 (ubsan_array_ref_instrumented_p): New function.
6992 (ubsan_maybe_instrument_array_ref): New function.
6993 * c-ubsan.h (ubsan_instrument_bounds): Declare.
6994 (ubsan_array_ref_instrumented_p): Declare.
6995 (ubsan_maybe_instrument_array_ref): Declare.
6996
69972014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
6998
6999 PR lto/61123
7000 * c.opt (fshort-enums): Add to LTO.
7001 * c.opt (fshort-wchar): Likewise.
7002
5c3d09f7
MP
70032014-06-16 Marek Polacek <polacek@redhat.com>
7004
7005 PR c/60439
7006 * c.opt (Wswitch-bool): Add Var.
7007
9cf32741
JJ
70082014-06-12 Jakub Jelinek <jakub@redhat.com>
7009
7010 PR middle-end/61486
7011 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
7012 #pragma omp target teams or
7013 #pragma omp {,target }teams distribute simd.
7014
62984918
JM
70152014-06-12 Jason Merrill <jason@redhat.com>
7016
7017 * c.opt (Wabi=, fabi-compat-version): New.
7018 * c-opts.c (c_common_handle_option): Handle -Wabi=.
7019 (c_common_post_options): Handle flag_abi_compat_version default.
7020 Disallow -fabi-compat-version=1.
7021 * c-common.h (abi_version_crosses): New.
7022
f961457f
JH
70232014-06-11 Jan Hubicka <hubicka@ucw.cz>
7024
adfac8df 7025 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
7026 section names that are no longer trees.
7027
92d28cbb
JJ
70282014-06-10 Jakub Jelinek <jakub@redhat.com>
7029
7030 PR fortran/60928
7031 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
7032 (omp_pragmas): ... back here.
7033
742938c9
MP
70342014-06-05 Marek Polacek <polacek@redhat.com>
7035
7036 PR c/49706
7037 * c-common.c (warn_logical_not_parentheses): New function.
7038 * c-common.h (warn_logical_not_parentheses): Declare.
7039 * c.opt (Wlogical-not-parentheses): New option.
7040
9d548dfb
MP
70412014-06-04 Marek Polacek <polacek@redhat.com>
7042
7043 PR c/30020
7044 * c-common.c (check_case_bounds): Add location parameter.
7045 Use it.
7046 (c_add_case_label): Pass loc to check_case_bounds.
7047
fedfecef
MP
70482014-06-03 Marek Polacek <polacek@redhat.com>
7049
7050 PR c/60439
7051 * c.opt (Wswitch-bool): New option.
7052
f6a7cffc
TS
70532014-05-22 Thomas Schwinge <thomas@codesourcery.com>
7054
040d18b6
TS
7055 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
7056 Remove prototypes.
7057 (record_types_used_by_current_var_decl): Move prototype to where
7058 it belongs.
7059
f6a7cffc
TS
7060 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
7061 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
7062 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
7063
632f2871
RS
70642014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7065
7066 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
7067 * c-common.c (c_common_nodes_and_builtins): Don't initialize
7068 void_zero_node.
7069 * c-pretty-print.c (pp_c_void_constant): New function.
7070 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
7071 (c_pretty_printer::expression): Handle VOID_CST.
7072 * cilk.c (extract_free_variables): Likewise.
7073 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
7074 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
7075
766090c2
TS
70762014-05-17 Trevor Saunders <tsaunders@mozilla.com>
7077
7078 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
7079 * c-pragma.c (push_alignment): Adjust.
7080 (handle_pragma_push_options): Likewise.
7081
661a0813
MP
70822014-05-09 Marek Polacek <polacek@redhat.com>
7083
7084 PR c/50459
7085 * c-common.c (check_user_alignment): Return -1 if alignment is error
7086 node.
7087 (handle_aligned_attribute): Don't call default_conversion on
7088 FUNCTION_DECLs.
7089 (handle_vector_size_attribute): Likewise.
7090 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
7091 (handle_sentinel_attribute): Call default_conversion and allow even
7092 integral types as an argument.
7093
2793eeab
MP
70942014-05-08 Marek Polacek <polacek@redhat.com>
7095
7096 PR c/61053
7097 * c-common.c (min_align_of_type): New function factored out from...
7098 (c_sizeof_or_alignof_type): ...here.
7099 * c-common.h (min_align_of_type): Declare.
7100
f827930a
MP
71012014-05-08 Marek Polacek <polacek@redhat.com>
7102
7103 PR c/61077
7104 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7105 parameter type of main.
7106
ca49b74e
DD
71072014-05-07 DJ Delorie <dj@redhat.com>
7108
7109 * c-cppbuiltin.c (print_bits_of_hex): New.
7110 (builtin_define_type_minmax): Print values using hex so as not to
7111 require a pre-computed list of string values.
7112
1d60af08
KZ
71132014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7114 Mike Stump <mikestump@comcast.net>
7115 Richard Sandiford <rdsandiford@googlemail.com>
7116
7117 * c-ada-spec.c: Include wide-int.h.
7118 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7119 (dump_generic_ada_node): Use wide-int interfaces.
7120 * c-common.c: Include wide-int-print.h.
7121 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7122 (pointer_int_sum): Use wide-int interfaces.
7123 (c_common_nodes_and_builtins): Use make_int_cst.
7124 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7125 (handle_alloc_size_attribute): Use wide-int interfaces.
7126 (get_nonnull_operand): Likewise.
7127 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7128 * c-lex.c: Include wide-int.h.
7129 (narrowest_unsigned_type): Take a widest_int rather than two
7130 HOST_WIDE_INTs.
7131 (narrowest_signed_type): Likewise.
7132 (interpret_integer): Update accordingly. Use wide-int interfaces.
7133 (lex_charconst): Use wide-int interfaces.
7134 * c-pretty-print.c: Include wide-int.h.
7135 (pp_c_integer_constant): Use wide-int interfaces.
7136 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7137 INT_CST_LT_UNSIGNED.
7138
b15458be
RB
71392014-05-06 Richard Biener <rguenther@suse.de>
7140
7141 * c-opts.c (c_common_post_options): For -freestanding,
7142 -fno-hosted and -fno-builtin disable pattern recognition
7143 if not enabled explicitely.
7144
6577374e
MP
71452014-05-02 Marek Polacek <polacek@redhat.com>
7146
7147 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7148
d00887e8
MP
71492014-05-01 Marek Polacek <polacek@redhat.com>
7150
7151 PR c/43245
7152 * c.opt (Wdiscarded-qualifiers): Add.
7153
f8ed5150
MP
71542014-04-30 Marek Polacek <polacek@redhat.com>
7155
7156 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7157 INT_MIN / -1 sanitization only for integer types.
7158
45484dcf
MP
71592014-04-25 Marek Polacek <polacek@redhat.com>
7160
7161 PR c/18079
7162 * c-common.c (handle_noinline_attribute): Warn if the attribute
7163 conflicts with always_inline attribute.
7164 (handle_always_inline_attribute): Warn if the attribute conflicts
7165 with noinline attribute.
7166
38e514c0
MP
71672014-04-25 Marek Polacek <polacek@redhat.com>
7168
7169 PR c/60156
7170 * c-common.c (check_main_parameter_types): Warn about variadic main.
7171
44875f92
MS
71722014-04-24 Mike Stump <mikestump@comcast.net>
7173
7174 * c.opt (Wshadow-ivar): Default to on.
7175
dcaaa5a0
DP
71762014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7177
7178 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7179
c07d7c02
MP
71802014-04-23 Marek Polacek <polacek@redhat.com>
7181
7182 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7183
1c33c9b7
JJ
71842014-04-22 Jakub Jelinek <jakub@redhat.com>
7185
7186 PR sanitizer/60275
7187 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7188 if flag_sanitize_undefined_trap_on_error.
7189 (ubsan_instrument_division, ubsan_instrument_shift,
7190 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7191 if !flag_sanitize_recover.
7192
793c625f
MG
71932014-04-22 Marc Glisse <marc.glisse@inria.fr>
7194
7195 PR libstdc++/43622
7196 * c-common.c (registered_builtin_types): Make non-static.
7197 * c-common.h (registered_builtin_types): Declare.
7198
b0f1bf36 71992014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 7200 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
7201
7202 PR c/60819
7203 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
7204 apply may-alias the scalar pointer type when applicable.
7205
3b07fa4a
IZ
72062014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
7207
7208 PR middle-end/60467
7209 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
7210 as possible argument for Cilk_spawn.
7211
cbbd2b1c
TB
72122014-04-11 Tobias Burnus <burnus@net-b.de>
7213
7214 PR c/60194
7215 * c.opt (Wformat-signedness): Add
7216 * c-format.c(check_format_types): Use it.
7217
6415bd5d
JM
72182014-04-11 Jason Merrill <jason@redhat.com>
7219
7220 PR c++/57926
7221 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
7222 default_conversion for an array argument.
7223
6525783a
MP
72242014-04-08 Marek Polacek <polacek@redhat.com>
7225
7226 PR sanitizer/60745
7227 * c-ubsan.c: Include asan.h.
7228 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
7229
880a467b
NS
72302014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7231
7232 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
7233
7b59ff2d
MP
72342014-04-02 Marek Polacek <polacek@redhat.com>
7235
7236 * c-common.h (c_expand_expr): Remove declaration.
7237
8edbfaa6
JJ
72382014-03-28 Jakub Jelinek <jakub@redhat.com>
7239
7240 PR c++/60689
7241 * c-common.c (add_atomic_size_parameter): When creating new
7242 params vector, push the size argument first.
7243
07d72e1d
JJ
72442014-03-26 Jakub Jelinek <jakub@redhat.com>
7245
7246 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7247 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7248 ubsan_create_data callers.
7249
b35e0fa0
JJ
72502014-03-22 Jakub Jelinek <jakub@redhat.com>
7251
7252 PR debug/60603
7253 * c-opts.c (c_finish_options): Restore cb_file_change call to
7254 <built-in>.
7255
39a1ebb3
JJ
72562014-03-13 Jakub Jelinek <jakub@redhat.com>
7257
7258 PR middle-end/36282
7259 * c-pragma.c (apply_pragma_weak): Only look at
7260 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7261 DECL_ASSEMBLER_NAME_SET_P (decl).
7262 (maybe_apply_pending_pragma_weaks): Exit early if
7263 vec_safe_is_empty (pending_weaks) rather than only when
7264 !pending_weaks.
7265 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7266 set assembler name back to NULL afterwards.
7267
a07f6ed2
JM
72682014-03-11 Jason Merrill <jason@redhat.com>
7269
7270 * c.opt: Add -std=gnu++14.
7271
75b107f5
IB
72722014-03-11 Ian Bolton <ian.bolton@arm.com>
7273
7274 * c-opts.c (c_common_post_options): Don't override
7275 -ffp-contract=fast if unsafe-math-optimizations is on.
7276
f42c637e
PM
72772014-03-08 Paulo Matos <paulo@matos-sorge.com>
7278
22b15758 7279 * c.opt: Enable LTO FE for fshort-double.
f42c637e 7280
70e24808
JM
72812014-03-07 Jason Merrill <jason@redhat.com>
7282
7283 * c.opt: Add -std=c++14.
7284
3af9c5e9
MP
72852014-03-06 Marek Polacek <polacek@redhat.com>
7286
7287 PR c/60197
7288 * cilk.c (contains_cilk_spawn_stmt): New function.
7289 (contains_cilk_spawn_stmt_walker): Likewise.
7290 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
7291 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
7292
b3bdf019
JJ
72932014-03-03 Jakub Jelinek <jakub@redhat.com>
7294
7295 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
7296 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
7297 even when flag_preprocess_only.
7298
ca7e759d
JM
72992014-02-26 Jason Merrill <jason@redhat.com>
7300
7301 PR c++/59231
7302 PR c++/11586
7303 * c-common.c (shorten_compare): Don't check
7304 c_inhibit_evaluation_warnings.
7305
28e41874
JJ
73062014-02-19 Jakub Jelinek <jakub@redhat.com>
7307
cca615af
JJ
7308 PR c/37743
7309 * c-common.c (c_common_nodes_and_builtins): When initializing
7310 c_uint{16,32,64}_type_node, also set corresponding
7311 uint{16,32,64}_type_node to the same value.
7312
28e41874
JJ
7313 PR c++/60267
7314 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
7315 for PRAGMA_IVDEP if flag_preprocess_only.
7316
c2bf53a1
JJ
73172014-02-12 Jakub Jelinek <jakub@redhat.com>
7318
7319 PR c/60101
7320 * c-common.c (merge_tlist): If copy is true, call new_tlist,
7321 if false, add ADD itself, rather than vice versa.
7322 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
7323 copy. For SAVE_EXPR, only call merge_tlist once.
7324
8fcbce72
JJ
73252014-02-08 Jakub Jelinek <jakub@redhat.com>
7326
7327 PR middle-end/60092
7328 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
7329 and tree_to_uhwi.
7330 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
7331 functions.
7332 (c_common_attribute_table): Add alloc_align and assume_aligned
7333 attributes.
7334
0a756a3f
MP
73352014-02-06 Marek Polacek <polacek@redhat.com>
7336
7337 PR c/60087
7338 * c-common.c (warn_for_sign_compare): Call warning_at with location
7339 instead of warning.
7340
7ec4847a
MP
73412014-02-05 Marek Polacek <polacek@redhat.com>
7342
7343 PR c/53123
7344 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
7345 statement.
7346
66f20604
MP
73472014-02-04 Marek Polacek <polacek@redhat.com>
7348
7349 PR c/60036
7350 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
7351 SAVE_EXPR.
7352
5d77fb19
MG
73532014-02-03 Marc Glisse <marc.glisse@inria.fr>
7354
7355 PR c++/53017
7356 PR c++/59211
7357 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
7358 handle_vector_size_attribute, handle_nonnull_attribute): Call
7359 default_conversion on the attribute argument.
7360 (handle_nonnull_attribute): Increment the argument number.
7361
81e5eca8
MP
73622014-01-31 Marek Polacek <polacek@redhat.com>
7363
7364 PR c/59963
7365 * c-common.c (add_atomic_size_parameter): Pass vNULL to
7366 build_function_call_vec.
7367 (resolve_overloaded_builtin): Likewise.
7368 * c-common.h (build_function_call_vec): Adjust declaration.
7369
68fca595
MP
73702014-01-30 Marek Polacek <polacek@redhat.com>
7371
7372 PR c/59940
7373 * c-common.h (unsafe_conversion_p): Adjust declaration.
7374 (warnings_for_convert_and_check): Likewise.
7375 (convert_and_check): Likewise.
7376 * c-common.c (unsafe_conversion_p): Add location parameter. Call
7377 expansion_point_location_if_in_system_header on it.
7378 (warnings_for_convert_and_check): Add location parameter. Call
7379 expansion_point_location_if_in_system_header on it. Use it.
7380 (convert_and_check): Add location parameter. Use it.
7381 (conversion_warning): Likewise.
7382 (c_add_case_label): Adjust convert_and_check calls.
7383 (scalar_to_vector): Adjust unsafe_conversion_p calls.
7384
b72271b9
BI
73852014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
7386
7387 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
7388 flag_cilkplus.
7389 * c-pragma.c (init_pragma): Likewise.
7390 * c.opt: Likewise.
7391
393e8e8b
MP
73922014-01-23 Marek Polacek <polacek@redhat.com>
7393
7394 PR c/59846
7395 * c-common.c (shorten_compare): Add location_t parameter.
7396 * c-common.h (shorten_binary_op): Adjust declaration.
7397
f04dda30
MP
73982014-01-23 Marek Polacek <polacek@redhat.com>
7399
7400 PR c/58346
7401 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
7402 * c-common.h: Declare it.
7403
621955cb
EB
74042014-01-20 Eric Botcazou <ebotcazou@adacore.com>
7405
7406 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
7407 * c-ada-spec.c (dump_ads): Likewise.
7408 (cpp_check): Likewise.
7409 (dump_ada_specs): Likewise.
7410
74112014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
7412
7413 PR c++/49718
7414 * c-common.c (handle_no_instrument_function_attribute): Allow
7415 no_instrument_function attribute in class member
7416 definition/declaration.
7417
241f845a
JJ
74182014-01-15 Jakub Jelinek <jakub@redhat.com>
7419
7420 PR c/58943
7421 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
7422 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
7423 being COMPOUND_EXPR.
7424 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
7425 operand a SAVE_EXPR and second MODIFY_EXPR.
7426
e83b8e2e
JJ
74272014-01-09 Jakub Jelinek <jakub@redhat.com>
7428
7429 PR target/58115
7430 * c-pch.c (c_common_write_pch): Call
7431 prepare_target_option_nodes_for_pch.
7432
23a5b65a
RS
74332014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7434
7435 Update copyright years
7436
f9030485
RS
74372014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7438
7439 * array-notation-common.c, c-cilkplus.c: Use the standard form for
7440 the copyright notice.
7441
f2aa696b
EB
74422013-12-28 Eric Botcazou <ebotcazou@adacore.com>
7443
7444 * c-ada-spec.c (print_constructor): New function.
7445 (print_destructor): Retrieve the origin of the destructor.
7446 (print_ada_declaration): Revamp handling of constructors/destructors.
7447
3f8257db 74482013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
7449 Bill Maddox <maddox@google.com>
7450 Jason Merrill <jason@redhat.com>
7451
7452 * c.opt: Add -fdeclone-ctor-dtor.
7453 * c-opts.c (c_common_post_options): Default to on iff -Os.
7454
41958c28
BI
74552013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
7456
7457 * c-common.c (c_common_attribute_table): Added "cilk simd function"
7458 attribute.
7459 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 7460 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
7461 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
7462 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
7463 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
7464 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
7465 PRAGMA_CILK_CLAUSE_UNIFORM.
7466
b1726d6c 7467
12893402
BI
74682013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
7469
7470 * cilk.c (cilk_outline): Made this function non-static.
7471 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
7472 (create_cilk_wrapper): Added a new parameter: a function pointer.
7473 (c_install_body_w_frame_cleanup): Remove
7474 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
7475 * c-common.h (cilk_outline): New prototype.
7476 (gimplify_cilk_spawn): Removed two parameters.
7477 (cilk_install_body_with_frame_cleanup): New prototype.
7478 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
7479 CILK_SPAWN_STMT case.
7480
085b42ed
BS
74812013-12-11 Bernd Schmidt <bernds@codesourcery.com>
7482
2ce064c3
BS
7483 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
7484
085b42ed
BS
7485 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
7486 (int_array_type_node): Remove.
7487 * c-common.c (c_common_nodes_and_builtins): Don't build it.
7488
9e36c9ed
MP
74892013-12-05 Marek Polacek <polacek@redhat.com>
7490
7491 PR c/52023
7492 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
7493 [ADJUST_FIELD_ALIGN].
7494
296674db
JM
74952013-12-04 Joseph Myers <joseph@codesourcery.com>
7496
7497 PR c/52023
7498 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
7499 and check field alignment if set.
7500 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
7501 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
7502
b1726d6c 75032013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
7504 Marek Polacek <polacek@redhat.com>
7505
7506 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
7507 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
7508
d7947e19
L
75092013-11-29 H.J. Lu <hongjiu.lu@intel.com>
7510
7511 PR c/59309
7512 * cilk.c (gimplify_cilk_spawn): Properly handle function without
7513 arguments.
7514
fad7652e
JJ
75152013-11-29 Jakub Jelinek <jakub@redhat.com>
7516
7517 PR c/59280
7518 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
7519 goto invalid. If it is error_mark_node, don't issue further
7520 diagnostics.
7521
8b5e1202
SO
75222013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
7523
7524 * c.opt (Wopenmp-simd): New.
7525
0a508bb6
JJ
75262013-11-22 Jakub Jelinek <jakub@redhat.com>
7527
7528 * c-ubsan.h (ubsan_instrument_return): New prototype.
7529 * c-ubsan.c (ubsan_instrument_return): New function.
7530
2fb9a547
AM
75312013-11-22 Andrew MacLeod <amacleod@redhat.com>
7532
7533 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
7534 * c-gimplify.c: Likewise.
7535 * cilk.c: Likewise.
2fb9a547 7536
8400e75e
DM
75372013-11-22 David Malcolm <dmalcolm@redhat.com>
7538
7539 * c-common.c (unsafe_conversion_p): Remove use of
7540 EXPR_LOC_OR_HERE macro.
7541 (conversion_warning): Likewise.
7542 (warnings_for_convert_and_check): Likewise.
7543 (warn_for_collisions_1): Likewise.
7544 (shorten_compare): Likewise, and remove use of in_system_header
7545 macro, using the location from the former.
7546 * c-lex.c (dump_one_header): Remove use of input_filename macro.
7547 (cb_def_pragma): Remove use of in_system_header macro.
7548 (lex_string): Likewise.
7549 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7550
eb1ce453
KZ
75512013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7552 Mike Stump <mikestump@comcast.net>
7553 Richard Sandiford <rdsandiford@googlemail.com>
7554
7555 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
7556 instead of TREE_INT_CST_LOW, in cases where there is a protecting
7557 tree_fits_shwi_p or tree_fits_uhwi_p.
7558 (dump_generic_ada_node): Likewise.
7559 * c-format.c (check_format_arg): Likewise.
7560 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7561
6b3b8c27
KZ
75622013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7563
7564 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
7565
49b0aa18
JC
75662013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
7567
7568 PR c/53001
7569 * c-common.c (unsafe_conversion_p): Make this function
7570 return an enumeration with more detail.
7571 (conversion_warning): Use the new return type of
7572 unsafe_conversion_p to separately warn either about conversions
7573 that lower floating point number precision or about the other
7574 kinds of conversions.
7575 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
7576 (unsafe_conversion_p): switching return type to
7577 conversion_safety enumeration.
49b0aa18
JC
7578 * c.opt: Adding new warning -Wfloat-conversion and
7579 enabling it with -Wconversion.
7580
b826515a
BS
75812013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
7582
8e745a17
JJ
7583 * c-opts.c: Include plugin.h.
7584 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 7585
b9a55b13
MP
75862013-11-19 Marek Polacek <polacek@redhat.com>
7587
7588 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
7589 call.
7590 (ubsan_instrument_shift): Likewise.
7591 (ubsan_instrument_vla): Likewise.
7592
7d362f6c
RS
75932013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7594
7595 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
7596 cast to unsigned type.
7597
386b1f1f
RS
75982013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7599
7600 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
7601 tree_low_cst.
7602 (complete_array_type): Update comment to refer to tree_to_[su]hwi
7603 rather than tree_low_cst.
7604
ae7e9ddd
RS
76052013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7606
7607 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
7608 tree_to_uhwi throughout.
7609
9439e9a1
RS
76102013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7611
7612 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
7613 tree_low_cst (..., 0) with tree_to_shwi throughout.
7614
cc269bb6
RS
76152013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7616
7617 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
7618 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
7619
9541ffee
RS
76202013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7621
7622 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
7623 host_integerp (..., 0) with tree_fits_shwi_p throughout.
7624
c02065fc
AH
76252013-11-15 Aldy Hernandez <aldyh@redhat.com>
7626
7627 * c-cilkplus.c: New file.
7628 * c-common.c (readonly_error): Add location argument.
7629 * c-common.h (readonly_error): Same.
7630 (c_finish_cilk_clauses): Protoize.
7631 (c_check_cilk_loop): Same.
7632 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
7633 Do not fail on error_mark_node.
7634 Abstract increment canonicalization to here...
7635 (c_omp_for_incr_canonicalize_ptr): New.
7636 c-pragma.c (init_pragma): Register "simd" pragma.
7637 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
7638 (enum pragma_cilk_clause): New.
7639
9cc65f15
RS
76402013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
7641
7642 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
7643 wchar_type and host_integerp checks.
7644
18f429e2
AM
76452013-11-14 Andrew MacLeod <amacleod@redhat.com>
7646
7647 * c-common.c: Likewise.
7648 * c-gimplify.c: Likewise.
7649 * cilk.c: Likewise.
7650
d8a2d370
DN
76512013-11-14 Diego Novillo <dnovillo@google.com>
7652
7653 * c-common.c: Include fold-const.h.
7654 Include stor-layout.h.
7655 Include calls.h.
7656 Include stringpool.h.
7657 Include attribs.h.
7658 Include varasm.h.
7659 Include trans-mem.h.
7660 * c-cppbuiltin.c: Include stor-layout.h.
7661 Include stringpool.h.
7662 * c-format.c: Include stringpool.h.
7663 * c-lex.c: Include stringpool.h.
7664 Include stor-layout.h.
7665 * c-pragma.c: Include stringpool.h.
7666 Include attribs.h.
7667 Include varasm.h.
7668 Include gcc-symtab.h.
7669 * c-pretty-print.c: Include stor-layout.h.
7670 Include attribs.h.
7671 * cilk.c: Include stringpool.h.
7672 Include calls.h.
7673
38b7bc7f
JM
76742013-11-13 Joseph Myers <joseph@codesourcery.com>
7675
7676 * c-common.h (enum rid): Add RID_AUTO_TYPE.
7677 * c-common.c (c_common_reswords): Add __auto_type.
7678 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
7679
45b0be94
AM
76802013-11-12 Andrew MacLeod <amacleod@redhat.com>
7681
18f429e2
AM
7682 * c-common.c: Include gimplify.h.
7683 * c-gimplify.c: Likewise.
7684 * cilk.c: Likewise.
7685 * c-omp.c: Include gimple-expr.h instead of gimple.h.
7686 * c-ubsan.c: Don't include gimple.h.
45b0be94 7687
582d9b50
JM
76882013-11-12 Joseph Myers <joseph@codesourcery.com>
7689
7690 * c-common.c (c_common_reswords): Add _Thread_local.
7691
6b28e197
JM
76922013-11-09 Joseph Myers <joseph@codesourcery.com>
7693
7694 * c-common.c (atomic_size_supported_p): New function.
7695 (resolve_overloaded_atomic_exchange)
7696 (resolve_overloaded_atomic_compare_exchange)
7697 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
7698 Use it instead of comparing size with a local list of sizes.
7699
267bac10
JM
77002013-11-07 Andrew MacLeod <amacleod@redhat.com>
7701 Joseph Myers <joseph@codesourcery.com>
7702
7703 * c-common.h (enum rid): Add RID_ATOMIC.
7704 * c-common.c (c_common_reswords): Add _Atomic.
7705 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
7706 (keyword_is_type_qualifier): Accept RID_ATOMIC.
7707 * c-format.c (check_format_types): Check for extra _Atomic
7708 qualifiers in format argument.
7709 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
7710 (pp_c_type_qualifier_list): Mention _Atomic in comment.
7711
5157b91e
TB
77122013-11-06 Tobias Burnus <burnus@net-b.de>
7713
7714 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
7715
6dbe0958
JM
77162013-11-06 Joseph Myers <joseph@codesourcery.com>
7717
7718 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
7719 standards modes.
7720 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
7721 to mean lack of IEEE 754 support.
7722
e8ff5196
TB
77232013-11-05 Tobias Burnus <burnus@net-b.de>
7724
7725 * c.opt (-Wdate-time): New option
7726 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
7727
254a0760
JM
77282013-11-05 Joseph Myers <joseph@codesourcery.com>
7729
7730 * c-cppbuiltin.c (cpp_iec_559_value): Test
7731 flag_excess_precision_cmdline not flag_excess_precision.
7732
6d7f7e0a
TB
77332013-11-05 Tobias Burnus <burnus@net-b.de>
7734
7735 * c.opt (fopenmp-simd): New option.
7736 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
7737 (omp_pragmas): ... this new struct.
7738 (c_pp_lookup_pragma): Also walk omp_pragmas.
7739 (init_pragma): Init pragmas for -fopenmp-simd.
7740
55a7f02f
MP
77412013-11-04 Marek Polacek <polacek@redhat.com>
7742
7743 PR c++/58979
7744 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7745
9193fb05
JM
77462013-11-04 Joseph Myers <joseph@codesourcery.com>
7747
7748 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7749 New functions.
7750 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7751
94159ecf
EB
77522013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7753
7754 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7755 (dump_ada_specs): Adjust prototype of second callback.
7756 * c-ada-spec.c (cpp_check): New global variable.
7757 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7758 (print_generic_ada_decl): Likewise.
7759 (has_static_fields): Change return type to bool and add guard.
7760 (has_nontrivial_methods): New predicate.
7761 (is_tagged_type): Change return type to bool.
7762 (separate_class_package): Call has_nontrivial_methods.
7763 (pp_ada_tree_identifier): Minor tweaks.
7764 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7765 (dump_ada_array_domains): Likewise.
7766 (dump_ada_array_type): Likewise.
7767 (dump_template_types): Remove cpp_check parameter and do not pass it to
7768 dump_generic_ada_node.
7769 (dump_ada_template): Likewise.
7770 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7771 recursively.
7772 (print_ada_methods): Change return type to integer. Remove cpp_check
7773 parameter and do not pass it down.
7774 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7775 dump_generic_ada_node.
7776 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7777 accessing methods.
7778 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7779 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7780 value of print_ada_methods.
7781 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7782 Set cpp_check to it before invoking dump_ada_nodes.
7783 (dump_ada_specs): Likewise.
7784
b906f4ca
MP
77852013-11-03 Marek Polacek <polacek@redhat.com>
7786
7787 * c-ubsan.c: Don't include hash-table.h.
7788 (ubsan_instrument_vla): New function.
7789 * c-ubsan.h: Declare it.
7790
5e20cdc9
DM
77912013-10-31 David Malcolm <dmalcolm@redhat.com>
7792
7793 Automated part of renaming of symtab_node_base to symtab_node.
7794
7795 Patch autogenerated by rename_symtab.py from
7796 https://github.com/davidmalcolm/gcc-refactoring-scripts
7797 revision 58bb219cc090b2f4516a9297d868c245495ee622
7798
7799 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7800 symtab_node_base to symtab_node.
7801
7057e645
ESR
78022013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7803
8e745a17 7804 Implement C++14 digit separators.
7057e645
ESR
7805 * c-lex.c (interpret_float): Remove digit separators from scratch string
7806 before building real literal.
7807
193ea7bc
JJ
78082013-10-30 Jakub Jelinek <jakub@redhat.com>
7809
7810 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7811
939b37da
BI
78122013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7813
7814 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7815 fields.
7816 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7817 enabled.
7818 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7819 (insert_cilk_frame): New prototype.
7820 (cilk_init_builtins): Likewise.
7821 (gimplify_cilk_spawn): Likewise.
7822 (c_cilk_install_body_w_frame_cleanup): Likewise.
7823 (cilk_detect_spawn_and_unwrap): Likewise.
7824 (cilk_set_spawn_marker): Likewise.
7825 (build_cilk_sync): Likewise.
7826 (build_cilk_spawn): Likewise.
7827 * cilk.c: New file.
7828
67348ccc
DM
78292013-10-29 David Malcolm <dmalcolm@redhat.com>
7830
7831 Patch autogenerated by refactor_symtab.py from
7832 https://github.com/davidmalcolm/gcc-refactoring-scripts
7833 revision 58bb219cc090b2f4516a9297d868c245495ee622
7834
7835 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7836 to a true class hierarchy.
7837 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7838
d570872d
RS
78392013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7840
7841 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7842
98906124
JL
78432013-10-26 Jeff Law <law@redhat.com>
7844
adfac8df
JJ
7845 * c-common.c (c_define_builtins): Remove mudflap support.
7846 * c.opt: Ignore and warn for mudflap options.
98906124 7847
d73749df 78482013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
7849
7850 PR other/33426
7851 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
7852 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7853
3f04b1bb
JM
78542013-10-23 Jason Merrill <jason@redhat.com>
7855
7856 * c-format.c (gcc_cxxdiag_char_table): Add %X.
7857
acf0174b
JJ
78582013-10-11 Jakub Jelinek <jakub@redhat.com>
7859
acd15a28
JJ
7860 * c-common.h (omp_clause_mask::operator !=): New method.
7861 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7862 instead of if (mask & something) tests everywhere.
7863
acf0174b
JJ
7864 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7865 201307 instead of 201107.
7866 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
7867 (c_common_attribute_table): Add "omp declare target" and
7868 "omp declare simd" attributes.
7869 (handle_omp_declare_target_attribute,
7870 handle_omp_declare_simd_attribute): New functions.
7871 * c-omp.c: Include c-pragma.h.
7872 (c_finish_omp_taskgroup): New function.
7873 (c_finish_omp_atomic): Add swapped argument, if true,
7874 build the operation first with rhs, lhs arguments and use NOP_EXPR
7875 build_modify_expr.
7876 (c_finish_omp_for): Add code argument, pass it down to make_code.
7877 (c_omp_split_clauses): New function.
7878 (c_split_parallel_clauses): Removed.
7879 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7880 c_omp_declare_simd_clauses_to_decls): New functions.
7881 * c-common.h (omp_clause_mask): New type.
7882 (OMP_CLAUSE_MASK_1): Define.
7883 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7884 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7885 omp_clause_mask::operator |, omp_clause_mask::operator &,
7886 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7887 omp_clause_mask::operator ==): New methods.
7888 (enum c_omp_clause_split): New.
7889 (c_finish_omp_taskgroup): New prototype.
7890 (c_finish_omp_atomic): Add swapped argument.
7891 (c_finish_omp_for): Add code argument.
7892 (c_omp_split_clauses): New prototype.
7893 (c_split_parallel_clauses): Removed.
7894 (c_omp_declare_simd_clauses_to_numbers,
7895 c_omp_declare_simd_clauses_to_decls): New prototypes.
7896 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7897 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7898 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7899 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7900 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7901 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7902 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7903 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7904 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7905 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7906 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7907 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7908 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7909 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7910 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7911 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7912 PRAGMA_OMP_CLAUSE_UNIFORM.
7913
826cacfe
MG
79142013-10-09 Marc Glisse <marc.glisse@inria.fr>
7915
7916 PR tree-optimization/20318
7917 * c-common.c (handle_returns_nonnull_attribute): New function.
7918 (c_common_attribute_table): Add returns_nonnull.
7919
2284b034
MG
79202013-10-03 Marc Glisse <marc.glisse@inria.fr>
7921
7922 PR c++/19476
7923 * c.opt (fcheck-new): Move to common.opt.
7924
b56e9788
MP
79252013-09-25 Marek Polacek <polacek@redhat.com>
7926 Jakub Jelinek <jakub@redhat.com>
7927
7928 PR sanitizer/58413
7929 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
7930 an expression if we can prove it is correct.
7931 (ubsan_instrument_division): Likewise. Remove unnecessary
7932 check.
7933
ce6923c5
MP
79342013-09-18 Marek Polacek <polacek@redhat.com>
7935
7936 PR sanitizer/58411
7937 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
7938 Declare it.
7939 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
7940
fb5610fb
IS
79412013-09-14 Iain Sandoe <iain@codesourcery.com>
7942
7943 PR target/48094
7944 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7945 fobjc-gc, freplace-objc-classes): Accept for LTO.
7946
88b0e79e
JC
79472013-09-13 Jacek Caban <jacek@codeweavers.com>
7948
7949 * c-target.def: New hook
7950
c9b0866a
PC
79512013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7952
7953 PR c++/43452
7954 * c.opt (Wdelete-incomplete): Add.
7955
0af94e6f
JR
79562013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
7957
7958 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
7959 (vector_types_compatible_elements_p): New function.
7960 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
7961 declaration.
7962 (vector_types_compatible_elements_p): Declare.
7963
7c26172c
GDR
79642013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7965
7966 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
7967 a virtual member function.
7968 (pp_simple_type_specifier): Remove.
7969 (pp_c_type_specifier): Likewise.
7970 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
7971 Rename from pp_c_type_specifier. Adjust.
7972 (c_pretty_printer::c_pretty_printer): Do not assign to
7973 simple_type_specifier.
7974
20059c8b
GDR
79752013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7976
7977 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
7978 member function.
7979 (c_pretty_printer::storage_class_specifier): Likewise.
7980 (c_pretty_printer::initializer): Likewise.
7981 (pp_declaration): Remove.
7982 (pp_declaration_specifiers): Likewise.
7983 (pp_abstract_declarator): Likewise.
7984 (pp_declarator): Likewise.
7985 (pp_type_id): Likewise.
7986 (pp_statement): Likewise.
7987 (pp_constant): Likewise.
7988 (pp_id_expression): Likewise.
7989 (pp_primary_expression): Likewise.
7990 (pp_unary_expression): Likewise.
7991 (pp_multiplicative_expression): Likewise.
7992 (pp_conditional_expression): Likewise.
7993 (pp_assignment_expression): Likewise.
7994 (pp_expression): Likewise.
7995 (pp_c_type_id): Likewise.
7996 (pp_c_storage_class_specifier): Likewise.
7997 * c-pretty-print.c (pp_c_type_cast): Tidy.
7998 (pp_c_pointer): Likewise.
7999 (pp_c_type_specifier): Likewise.
8000 (pp_c_parameter_type_list): Likewise.
8001 (pp_c_function_definition): Likewise.
8002 (pp_c_init_declarator): Likewise.
8003 (pp_c_initializer_list): Likewise.
8004 (pp_c_constructor_elts): Likewise.
8005 (c_pretty_printer::direct_abstract_declarator): Likewise.
8006 (c_pretty_printer::declaration_specifiers): Likewise.
8007 (c_pretty_printer::primary_expression): Likewise.
8008 (c_pretty_printer::postfix_expression): Likewise.
8009 (c_pretty_printer::type_id): Rename from pp_c_type_id.
8010 (c_pretty_printer::storage_class_specifier): Rename from
8011 pp_c_storage_class_specifier.
8012 (c_pretty_printer::initializer): Rename from pp_c_initializer.
8013 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
8014 storage_class_specifier, initializer, offset_list, flags.
8015
de5a5fa1
MP
80162013-08-30 Marek Polacek <polacek@redhat.com>
8017
8018 * c-ubsan.c: New file.
8019 * c-ubsan.h: New file.
8020
8f0e4d72
GDR
80212013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8022
8023 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
8024 member function.
8025 (c_pretty_printer::declaration_specifiers): Likewise.
8026 (c_pretty_printer::declarator): Likewise.
8027 (c_pretty_printer::abstract_declarator): Likewise.
8028 (c_pretty_printer::direct_abstract_declarator): Likewise.
8029 (c_pretty_printer::direct_declarator): Likewise.
8030 (c_pretty_printer::function_specifier): Likewise.
8031 (pp_declaration): Adjust.
8032 (pp_declaration_specifiers): Likewise.
8033 (pp_abstract_declarator): Likewise.
8034 (pp_direct_declarator): Likewise.
8035 (pp_function_specifier): Likewise.
8036 (pp_direct_abstract_declarator): Remove as unused.
8037 (pp_c_declaration): Remove.
8038 (pp_c_declaration_specifiers): Likewise.
8039 (pp_c_declarator): Likewise.
8040 (pp_c_direct_declarator): Likewise.
8041 (pp_c_function_specifier): Likewise.
8042 (pp_c_direct_abstract_declarator): Likewise.
8043 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
8044 from pp_c_abstract_declarator. Adjust.
ab20d992 8045 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
8046 pp_c_direct_abstract_declarator. Adjust.
8047 (c_pretty_printer::function_specifier): Rename from
8048 pp_c_function_specifier. Adjust.
8049 (c_pretty_printer::declaration_specifiers): Rename from
8050 pp_c_declaration_specifiers. Adjust.
8051 (c_pretty_printer::direct_declarator): Rename from
8052 pp_c_direct_declarator. Adjust.
8053 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
8054 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
8055 (c_pretty_printer::c_pretty_printer): Do not assign to
8056 declaration, declaration_specifiers, declarator,
8057 direct_declarator, direct_abstract_declarator, function_specifier.
8058
00d34d3a
GDR
80592013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
8060
8061 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
8062 virtual member function.
8063 (c_pretty_printer::multiplicative_expression): Likewise.
8064 (c_pretty_printer::conditional_expression): Likewise.
8065 (c_pretty_printer::assignment_expression): Likewise.
8066 (c_pretty_printer::expression): Likewise.
8067 (pp_unary_expression): Adjust.
8068 (pp_multiplicative_expression): Likewise.
8069 (pp_assignment_expression): Likewise.
8070 (pp_conditional_expression): Likewise.
8071 (pp_expression): Likewise.
8072 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
8073 from pp_c_unary_expression. Adjust.
8074 (c_pretty_printer::multiplicative_expression): Rename from
8075 pp_c_multiplicative_expression. Adjust.
8076 (c_pretty_printer::conditional_expression): Rename from
8077 pp_c_conditional_expression. Adjust.
8078 (c_pretty_printer::assignment_expression): Rename from
8079 pp_c_assignment_expression. Adjust.
8080 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
8081 (c_pretty_printer::c_pretty_printer): Do not assign to
8082 unary_expression, multiplicative_expression,
8083 conditional_expression, expression.
8084
fb22178f
GDR
80852013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8086
8087 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
8088 virtual member function.
8089 (pp_postfix_expression): Adjust.
8090 (pp_c_postfix_expression): Remove.
8091 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
8092 from pp_c_postfix_expression. Adjust.
8093 (c_pretty_printer::c_pretty_printer): Do not assign to
8094 postfix_expression.
8095
7ecc2600
GDR
80962013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8097
8098 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8099 virtua member function.
8100 (pp_primary_expression): Adjust.
8101 (pp_c_primary_expression): Remove.
8102 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8103 from pp_c_primary_expression. Adjust.
8104 (pp_c_initializer_list): Use pp_primary_expression.
8105 (c_pretty_printer::c_pretty_printer): Do not assign to
8106 primary_expression.
8107
0691175f
GDR
81082013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8109
8110 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8111 * c-pretty-print.c (M_): Remove.
8112 (c_pretty_printer::translate_string): Define.
8113 (pp_c_type_specifier): Use it.
8114 (pp_c_primary_expression): Likewise.
8115 (pp_c_expression): Likewise.
8116
66dfe4c4
GDR
81172013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8118
8119 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8120 virtual function.
8121 (pp_c_id_expression): Remove.
8122 (pp_id_expression): Adjust.
8123 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8124 pp_c_id_expression. Adjust.
8125 (pp_c_postfix_expression): Use pp_id_expression.
8126 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8127
ca43e9d5
GDR
81282013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8129
8130 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8131 member function.
8132 (pp_constant): Adjust.
8133 (pp_c_constant): Remove.
8134 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8135 pp_c_constant. Adjust.
8136 (pp_c_constant)
8137 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8138 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8139
da6ca2b5
GDR
81402013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8141
8142 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8143 (c_pretty_printer::c_pretty_printer): Declare.
8144 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8145 c_pretty_printer_init. Adjust.
8146 (print_c_tree): Do not call c_pretty_printer_init.
8147 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8148
65a372f4
AC
81492013-08-09 Arnaud Charlet <charlet@adacore.com>
8150
8151 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8152
fd9b0f32
PC
81532013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8154
8155 PR c++/58080
8156 * c-common.c (pointer_int_sum): Add bool parameter.
8157 * c-common.h (pointer_int_sum): Adjust declaration.
8158
e0aec1e9
GDR
81592013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8160
8161 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8162 c_pretty_printer variable.
8163
b066401f
GDR
81642013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8165
8166 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8167 (pp_base): Remove.
8168 (pp_c_base): Likewise. Adjust users.
8169 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8170 (pp_c_whitespace): Do not call pp_base.
8171 (pp_c_left_paren): Likewise.
8172 (pp_c_right_paren): Likewise.
8173 (pp_c_left_brace): Likewise.
8174 (pp_c_right_brace): Likewise.
8175 (pp_c_left_bracket): Likewise.
8176 (pp_c_right_bracket): Likewise.
8177 (pp_c_dot): Likewise.
8178 (pp_c_ampersand): Likewise.
8179 (pp_c_star): Likewise.
8180 (pp_c_arrow): Likewise.
8181 (pp_c_semicolon): Likewise.
8182 (pp_c_complement): Likewise.
8183 (pp_c_exclamation): Likewise.
8184 (pp_c_direct_declarator): Likewise.
8185 (pp_c_ws_string): Likewise.
8186 (pp_c_identifier): Likewise.
8187 (pp_c_statement): Likewise.
8188 (print_c_tree): Likewise.
8189
65e5a578
ESR
81902013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8191
8192 PR c++/58072
8193 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8194 provide useful error strings.
8195
137a1a27
GDR
81962013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8197
8198 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
8199 printer functions instead of pp_string or operators and punctuators.
8200 (dump_generic_ada_node): Likewise.
8201 * c-pretty-print.c (pp_c_type_specifier): Likewise.
8202 (pp_c_relational_expression): Likewise.
8203 (pp_c_logical_or_expression): Likewise.
8204
07838b13
GDR
82052013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8206
8207 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
8208 functions instead of pp_character.
8209 (pp_ada_tree_identifier): Likewise.
8210 (dump_ada_double_name): Likewise.
8211 (dump_ada_function_declaration): Likewise.
8212 (dump_ada_array_domains): Likewise.
8213 (dump_template_types): Likewise.
8214 (dump_generic_ada_node): Likewise.
8215 (print_ada_declaration): Likewise.
8216 (print_ada_struct_decl): Likewise.
8217 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8218
433cc7b0
TT
82192013-07-23 Tom Tromey <tromey@redhat.com>
8220
8221 * c-common.h (enum rid) <RID_GENERIC>: New constant.
8222 * c-common.c (c_common_reswords): Add _Generic.
8223
688010ba
OB
82242013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
8225
8226 * c-common.c: Fix typos.
8227 * c-common.h: Likewise.
8228
2a99e5e6
LL
82292013-07-13 Lubos Lunak <l.lunak@suse.cz>
8230
8231 PR c++/55203
8232 * c-common.c (c_common_attribute_table): Add warn_unused.
8233 (handle_warn_unused_attribute): New.
8234
c26302d5
JJ
82352013-07-10 Jakub Jelinek <jakub@redhat.com>
8236
8237 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
8238 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
8239
dfeadaa0
PC
82402013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
8241
8242 PR c++/57869
8243 * c.opt: Add Wconditionally-supported.
8244
6a2fa4b2
GS
82452013-07-08 Graham Stott <graham.stott@btinternet.com>
8246
adfac8df 8247 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
8248 unused variables l_length and l_node.
8249
ecdbd01a 82502013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
8251
8252 PR c/57821
8253 * c-common.c (complete_array_type): Delay folding first index
8254 like other indices. When folding, check for index overflow.
8255
bedc293e
MG
82562013-06-27 Marc Glisse <marc.glisse@inria.fr>
8257
8258 PR c++/57509
8259 * c-common.h (c_build_vec_perm_expr): New complain argument.
8260 * c-common.c (c_build_vec_perm_expr): Likewise.
8261 Use save_expr also in C++.
8262
604b2bfc
GDR
82632013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8264
8265 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8266 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8267 * c-opts.c (c_common_post_options): Likewise.
8268
dfeadaa0 82692013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
8270
8271 * array-notation-common.c (length_mismatch_in_expr): Changed the
8272 parameter type's from a dynamic array to a vec_tree. Also removed
8273 the size parameters.
8274 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8275 the change above.
8276
2ce86d2e
BI
82772013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8278
8279 * c-common.h (struct cilkplus_an_parts): New structure.
8280 (struct cilkplus_an_loop_parts): Likewise.
8281 (cilkplus_extract_an_triplets): New prototype.
8282 (fix_sec_implicit_args): Likewise.
8283 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
8284 (fix_sec_implicit_args): Likewise.
604b2bfc 8285
07a6825b
BI
82862013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
8287
8288 * array-notation-common.c (find_inv_trees): Removed an unwanted
8289 typecasting.
8290 * c-common.h (struct inv_list::additional_tcodes): Changed type from
8291 enum rid to enum tree_code.
8292
08346abd
JH
82932013-06-11 Jan Hubicka <jh@suse.cz>
8294
8295 * c-common.c (handle_alias_ifunc_attribute): Do not set
8296 DECL_EXTERNAL for weakref variables.
8297 * c-pragma.c (handle_pragma_weak): Make sure aliases
8298 are not declared as external.
8299
d60f1706
BI
83002013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
8301
8302 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
8303 function from c/c-array-notation.c.
8304 (is_cilkplus_reduce_builtin): Likewise.
8305 (find_rank): Likewise.
8306 (extract_array_notation_exprs): Likewise.
8307 (replace_array_notations): Likewise.
8308 (find_inv_trees): Likewise.
8309 (replace_inv_trees): Likewise.
8310 (contains_array_notation_expr): Likewise.
8311 (find_correct_array_notation_type): Likewise.
8312 * c-common.h (struct inv_list): Moved this struct from the file
8313 c/c-array-notation.c and added a new field called additional tcodes.
8314 (length_mismatch_in_expr_p): New prototype.
8315 (is_cilkplus_reduce_builtin): Likewise.
8316 (find_rank): Likewise.
8317 (extract_array_notation_exprs): Likewise.
8318 (replace_array_notation): Likewise.
8319 (find_inv_trees): Likewise.
8320 (replace_inv_trees): Likewise.
8321 (find_correct_array_notation_type): Likewise.
dfeadaa0 8322
36536d79
BI
83232013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
8324
8325 * c-common.c (c_define_builtins): When cilkplus is enabled, the
8326 function array_notation_init_builtins is called.
8327 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
8328 * c-common.def (ARRAY_NOTATION_REF): New tree.
8329 * c-common.h (build_array_notation_expr): New function declaration.
8330 (build_array_notation_ref): Likewise.
8331 (extract_sec_implicit_index_arg): New extern declaration.
8332 (is_sec_implicit_index_fn): Likewise.
8333 (ARRAY_NOTATION_CHECK): New define.
8334 (ARRAY_NOTATION_ARRAY): Likewise.
8335 (ARRAY_NOTATION_START): Likewise.
8336 (ARRAY_NOTATION_LENGTH): Likewise.
8337 (ARRAY_NOTATION_STRIDE): Likewise.
8338 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
8339 ARRAY_NOTATION_REF.
8340 (pp_c_expression): Likewise.
8341 * c.opt (flag_enable_cilkplus): New flag.
8342 * array-notation-common.c: New file.
8343
f7716d57
JJ
83442013-05-14 Jakub Jelinek <jakub@redhat.com>
8345
8346 PR c++/57274
8347 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
8348
a5e0cd1d
MG
83492013-05-10 Marc Glisse <marc.glisse@inria.fr>
8350
8351 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
8352 vectors.
8353
f6bc1c4a
HS
83542013-05-07 Han Shen <shenhan@google.com>
8355
8356 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
8357
3f12f6e9
SKS
83582013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8359
8360 * c-common.c (check_user_alignment): Emit error for negative values.
8361
61949153
PC
83622013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8363
8364 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
8365
e93e18e9
PC
83662013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8367
8368 * c-cppbuiltin.c (c_cpp_builtins): Do not define
8369 __GXX_EXPERIMENTAL_CXX1Y__.
8370
44d90fe1 83712013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 8372 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
8373
8374 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
8375 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
8376 to simply use OPT_Wpointer_arith.
8377 (c_sizeof_or_alignof_type): Likewise.
8378
13f39b2e
PC
83792013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8380
8381 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
8382
4b84d650
JJ
83832013-04-12 Jakub Jelinek <jakub@redhat.com>
8384
8385 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
8386 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
8387 specifiers.
8388
fb037b5d
SB
83892013-04-07 Steven Bosscher <steven@gcc.gnu.org>
8390
8391 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
8392
4e856798
PC
83932013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
8394
8395 * c-common.c (pointer_int_sum): Remove dead code.
8396
4b1baac8
RS
83972013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
8398
8399 PR middle-end/56524
8400 * c-common.c (handle_optimize_attribute): Don't call
8401 save_optabs_if_changed.
8402
0b50e654
JJ
84032013-03-05 Jakub Jelinek <jakub@redhat.com>
8404
8405 PR middle-end/56461
8406 * c-pch.c (pch_init): Free target_validity at the end.
8407
48c41403
JJ
84082013-03-04 Jakub Jelinek <jakub@redhat.com>
8409
8410 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
8411
e664c61c
KS
84122013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
8413 Jakub Jelinek <jakub@redhat.com>
8414
8415 PR sanitizer/56454
8416 * c-common.c (handle_no_sanitize_address_attribute): New function.
8417 (c_common_attribute_table): Add no_sanitize_address attribute.
8418 (handle_no_address_safety_analysis_attribute): Add
8419 no_sanitize_address attribute, not no_address_safety_analysis
8420 attribute.
8421
a475fd3d 84222013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
8423
8424 PR target/52555
8425 * c-common.c (handle_optimize_attribute): Call
8426 save_optabs_if_changed.
8427
f6007d99
JJ
84282013-02-18 Jakub Jelinek <jakub@redhat.com>
8429 Steven Bosscher <steven@gcc.gnu.org>
8430
8431 PR pch/54117
8432 * c-opts.c (c_common_post_options): If debug info is enabled
8433 and non-dwarf*, refuse to load PCH files and when writing PCH
8434 file warn.
8435
cf35e2b1
JJ
84362013-02-05 Jakub Jelinek <jakub@redhat.com>
8437
8438 PR middle-end/56167
8439 * c-common.c (handle_error_attribute): Fix condition.
8440
32887460
JJ
84412013-01-30 Jakub Jelinek <jakub@redhat.com>
8442
8443 PR c++/55742
8444 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
8445
5af057d8
JM
84462013-01-18 Jason Merrill <jason@redhat.com>
8447
8448 PR target/54908
8449 * c.opt (-fextern-tls-init): New.
8450 * c-opts.c (c_common_post_options): Handle it.
8451
cc83c823
JJ
84522013-01-09 Jakub Jelinek <jakub@redhat.com>
8453
8454 PR c/48418
8455 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
8456 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
8457 and is either negative or bigger or equal to type precision
8458 of the first operand.
8459
a859517f
MP
84602012-12-03 Marek Polacek <polacek@redhat.com>
8461
8462 PR c/55570
8463 * c-common.c (check_user_alignment): Swap order of tests,
8464 check TREE_CODE first.
8465
2d7aa578
ESR
84662012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
8467
8468 PR c++/52654
8469 * c-common.h (overflow_type): New enum.
8470 (build_userdef_literal): Add overflow_type argument.
8471 (tree_userdef_literal): Add overflow_type.
8472 (USERDEF_LITERAL_OVERFLOW): New access macro.
8473 * c-common.c (build_userdef_literal): Add overflow_type
8474 argument.
8475 * c-lex.c (c_lex_with_flags): Add overflow_type to
8476 build_userdef_literal calls.
8477 (interpret_integer, interpret_float): Add overflow_type argument.
8478
cc3c4f62
RB
84792012-11-28 Richard Biener <rguenther@suse.de>
8480
8481 PR c/35634
8482 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8483 here and use a type with proper overflow behavior for types that would
8484 need to be promoted for the arithmetic.
8485
77bc5132
JJ
84862012-11-23 Jakub Jelinek <jakub@redhat.com>
8487
8488 PR sanitizer/55435
8489 * c-common.c (handle_no_address_safety_analysis_attribute): New
8490 function.
8491 (c_common_attribute_table): Add no_address_safety_analysis.
8492
5dc99c46
SB
84932012-11-16 Simon Baldwin <simonb@google.com>
8494
8495 * c.opt: Add f[no-]canonical-system-headers.
8496 * c-opts.c (c_common_handle_option): Handle
8497 OPT_fcanonical_system_headers.
8498
a4a0016d
ESR
84992012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
8500
8501 PR c++/54413
8502 * c-opts.c (c_common_handle_option): Set new flags.
8503 * c.opt: Describe new flags.
8504
7dbb85a7
JM
85052012-11-09 Jason Merrill <jason@redhat.com>
8506
8507 * c.opt (Wabi-tag): New.
8508
ad7bac31
AK
85092012-11-09 Andi Kleen <ak@linux.intel.com>
8510
8511 PR 55139
8512 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 8513 MEMMODEL_MASK
ad7bac31 8514
7332899a
MLI
85152012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8516
8517 PR c/53063
8518 * c.opt (Wformat): Make it Alias Wformat=1.
8519 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
8520 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
8521 LangEnabledBy.
8522 (Wformat=): RejectNegative. Use LangEnabledBy.
8523 (Wnonnull): Use LangEnabledBy.
8524 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
8525 * c-format.c (set_Wformat): Delete.
8526 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
8527 (maybe_read_dollar_number): Likewise.
8528 (avoid_dollar_number): Likewise.
8529 (finish_dollar_format_checking): Likewise.
8530 (check_format_info): Likewise.
8531 (check_format_info_main): Likewise.
8532 (check_format_types): Likewise.
8533 (format_type_warning): Likewise.
8534 * c-common.c (int): Likewise.
8535 (check_function_sentinel): Likewise.
8e745a17 8536 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 8537
34a180a6
MLI
85382012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8539
8540 PR c/53063
8541 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
8542 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
8543 Use LangEnabledBy.
8544 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
8545 common.opt.
8546 (Wvariadic-macros): Init(1).
8547 * c-opts.c (c_common_handle_option): Do not handle them
8548 explicitly.
8549 (c_common_post_options): Likewise.
8550 (sanitize_cpp_opts): warn_unused_macros is now
8551 cpp_warn_unused_macros.
8552 (push_command_line_include): Likewise.
8553 * c-common.c (warn_unknown_pragmas): Do not define.
8554 * c-common.h (warn_unknown_pragmas): Do not declare.
8555
3f46d6a5
MLI
85562012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8557
8558 PR c/51294
8559 * c-common.c (conversion_warning): Handle conditional expressions.
8560
880661a4
JW
85612012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8562
8563 PR c++/54930
8564 * c.opt (Wreturn_local_addr): Define new option.
8565
4514a96b
JM
85662012-10-25 Jason Merrill <jason@redhat.com>
8567
f14edc1a
JM
8568 * c.opt (Wvirtual-move-assign): New.
8569
4514a96b
JM
8570 * c.opt (Winherited-variadic-ctor): New.
8571
93100c6b
MG
85722012-10-25 Marc Glisse <marc.glisse@inria.fr>
8573
8574 PR c++/54427
8575 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
8576
1efcb8c6
JM
85772012-10-23 Joseph Myers <joseph@codesourcery.com>
8578
8579 * c-common.h (pch_cpp_save_state): Declare.
8580 * c-target.def (c_preinclude): New hook.
8581 * c-opts.c (done_preinclude): New.
8582 (push_command_line_include): Handle default preincluded header.
8583 (cb_file_change): Call pch_cpp_save_state when calling
8584 push_command_line_include.
8585 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
8586 (pch_cpp_save_state): New.
8587 (pch_init): Call pch_cpp_save_state conditionally, instead of
8588 calling cpp_save_state.
8589
4a0ae68e
MLI
85902012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8591
8592 PR c/53063
8593 PR c/40989
8594 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
8595 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
8596 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
8597 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
8598 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
8599 * c-opts.c (c_common_handle_option): Remove explicit handling from
8600 here.
8601 (c_common_post_options): Likewise.
8602
67e4210b
EB
86032012-10-18 Eric Botcazou <ebotcazou@adacore.com>
8604
8605 * c-ada-spec.c (LOCATION_COL): Delete.
8606 (compare_location): New function.
8607 (compare_node): Use it.
8608 (compare_comment): Likewise.
8609
65d4f2cd
MLI
86102012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
8611
8612 PR c/53063
8613 PR c/40989
8614 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
8615 * c-opts.c (c_common_handle_option): Do not set them here. Add
8616 comment.
8617 (c_common_post_options): Likewise.
8618
909881cb
EB
86192012-10-16 Eric Botcazou <ebotcazou@adacore.com>
8620
8621 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
8622 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
8623 Remove POINTER_TYPE handling, add large unsigned handling and use
8624 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
8625
3a785c97
JJ
86262012-10-12 Jakub Jelinek <jakub@redhat.com>
8627
8628 PR c/54381
8629 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
8630 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
8631 locs and array of 3 trees instead of just single loc and single
8632 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
8633 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
8634 For *cmp* builtins that take two sources strings report warnings
8635 about first and second source, not about destination and source.
8636
5e54f81d
MG
86372012-10-12 Marc Glisse <marc.glisse@inria.fr>
8638
8639 PR c++/53055
8640 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
8641
f5b02f1e
EB
86422012-10-11 Eric Botcazou <ebotcazou@adacore.com>
8643
8644 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
8645 declaring something coming from another file.
8646
b46dbc6c
AC
86472012-10-10 Arnaud Charlet <charlet@adacore.com>
8648
f5b02f1e 8649 PR ada/54845
b46dbc6c
AC
8650 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
8651
5d9de0d0
PC
86522012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
8653
8654 PR c++/54194
8655 * c-common.c (warn_about_parentheses): Add location_t parameter;
8656 use EXPR_LOC_OR_LOC.
8657 * c-common.h: Update declaration.
8658
a212e43f
MG
86592012-10-09 Marc Glisse <marc.glisse@inria.fr>
8660
8661 PR c++/54427
8662 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
8663 more operations. Make error messages optional.
8664 * c-common.h (enum stv_conv): Moved from c-typeck.c.
8665 (scalar_to_vector): Declare.
8666
b1db7f91
JM
86672012-10-08 Jason Merrill <jason@redhat.com>
8668
8669 * c-common.c (c_common_reswords): Add thread_local.
8670
e28d52cf
DS
86712012-10-08 Dodji Seketeli <dodji@redhat.com>
8672
8673 PR c++/53528 C++11 attribute support
8674 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
8675 new functions.
8676 * c-common.c (check_cxx_fundamental_alignment_constraints): New
8677 static function.
8678 (handle_aligned_attribute): In choose strictest alignment
8679 among many. Use new check_cxx_fundamental_alignment_constraints.
8680 (handle_transparent_union_attribute): In c++11 attribute syntax,
8681 don't look through typedefs.
8682
3b78de56
AC
86832012-10-04 Arnaud Charlet <charlet@adacore.com>
8684
8685 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
8686 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
8687 out of dumpfile.h.
8688
6040bb5f
DC
86892012-09-25 Dehao Chen <dehao@google.com>
8690
8691 PR middle-end/54645
3b78de56 8692 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
8693 map when read in the pch.
8694
3f8257db 86952012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
8696
8697 * c-ada-spec.c: Style fixes.
8698
3f8257db 86992012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
8700
8701 * c.opt (-fada-spec-parent): Define new command line switch.
8702 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
8703 is specified, generate binding spec as a child of the specified unit.
8704
0ccb505d
PC
87052012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
8706 Manuel López-Ibáñez <manu@gcc.gnu.org>
8707
8708 PR c++/53210
8709 * c.opt ([Winit-self]): Enabled by -Wall in C++.
8710
c583af79
AC
87112012-08-23 Arnaud Charlet <charlet@adacore.com>
8712
8713 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
8714 for pointers, and add missing Convention C pragma.
8715 (print_ada_struct_decl): Add missing aliased keyword.
8716 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
8717
1a4049e7
JJ
87182012-08-17 Jakub Jelinek <jakub@redhat.com>
8719
8720 * c-common.c (sizeof_pointer_memaccess_warning): New function.
8721 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
8722 * c-opts.c (c_common_handle_option): Enable it for -Wall.
8723 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
8724 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
8725
70b5e7dc
RG
87262012-08-10 Richard Guenther <rguenther@suse.de>
8727
8728 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
8729
f8923f7e
SB
87302012-08-07 Steven Bosscher <steven@gcc.gnu.org>
8731
8732 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
8733 instead of separate pp_newline and pp_flush.
8734 (print_c_tree): Likewise.
8735
e45abe1f
RH
87362012-07-26 Richard Henderson <rth@redhat.com>
8737
8738 * c-common.c (handle_hot_attribute): Allow labels.
8739 (handle_cold_attribute): Likewise.
8740
332f1d24
JJ
87412012-07-20 Jakub Jelinek <jakub@redhat.com>
8742
8743 PR c++/28656
8744 * c-common.c (check_function_nonnull): Handle multiple nonnull
8745 attributes properly.
8746
7ee2468b
SB
87472012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8748
8749 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8750 * c-ada-spec.c: Likewise.
8751 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8752
ee7b28eb
SB
87532012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8754
8755 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8756 Remove code conditional on it.
8757
6bdf3519
SB
87582012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8759
8760 * c-gimplify.c: Do not include basic-block.h.
8761 * c-common.c: Do not include linfuncs.h.
8762
532aafad
SB
87632012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8764
8765 * c-common.h: Include tree.h.
8766
8d0d1915
JM
87672012-07-02 Jason Merrill <jason@redhat.com>
8768
8769 PR c++/53524
8770 * c-common.c (get_priority): Call default_conversion.
8771
fbc873ad
UB
87722012-07-01 Uros Bizjak <ubizjak@gmail.com>
8773
8774 * c-pch.c (c_common_write_pch): Remove unused variables.
8775
d4a10d0a
SB
87762012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8777
8778 * cppspec.c: Moved from gcc/ to here.
8779
6f3a2e23
KT
87802012-06-27 Kai Tietz <ktietz@redhat.com>
8781
8782 PR preprocessor/37215
8783 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8784
8ca92d04
SB
87852012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8786
8787 * c-common.h (c_common_print_pch_checksum): Remove.
8788 * c-pch.c: Do not include output.h.
8789 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8790 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8791 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8792 (struct c_pch_header): Remove.
8793 (get_ident): Update gpch version.
8794 (pch_init): Do not print executable_checksum to asm_out_file.
8795 Do not fail if there is no asm_out_file to read back from. Set
8796 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8797 (c_common_write_pch): Verify that nothing was written to asm_out_file
8798 since pch_init was called. Do not write a c_pch_header, and do not
8799 copy from asm_out_file to the PCH.
8800 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8801 the content of asm_out_file from the PCH.
8802 (c_common_print_pch_checksum): Remove.
8803 * c-opts.c (c_common_init): Print out executable_checksum directly.
8804
70f42967
SB
88052012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8806
8807 * c-target.def (objc_declare_unresolved_class_reference,
8808 objc_declare_class_definition): Add new hooks.
8809
a8781821
SB
88102012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8811
8812 * c-lex.c: Do not include output.h.
8813 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8814 Remove uses of ASM_OUTPUT_IDENT.
8815
9e1a8dd1
RR
88162012-06-15 Marc Glisse <marc.glisse@inria.fr>
8817
8818 PR c++/51033
8819 * c-common.h (c_build_vec_perm_expr): Move decl here.
8820 * c-common.c (c_build_vec_perm_expr): Move definition
8821 here.
8822
6f07a821
SB
88232012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8824
8825 * c.opt (fconserve-space): Turn into a no-op.
8826
9faeb493 88272012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
8828
8829 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8830 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8831 both the start and end of the function.
8832
a4b7d13c
SB
88332012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8834
8835 * c-common.c: Do not include output.h.
8836 * c-pragma.c: Likewise.
8837
c265f413
SA
88382012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8839
8840 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8841 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8842 (lang_decl_name): Handle namespace decls.
8843
be7a421e
SB
88442012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8845
8846 * c-ada-spec.c: Do not include output.h.
8847 * c-semantics.c: Likewise.
8848
65de6659
JM
88492012-05-29 Joseph Myers <joseph@codesourcery.com>
8850
8851 * c-common.c: Fix typo.
8852
ca5f4331
MM
88532012-05-29 Michael Matz <matz@suse.de>
8854
8855 * c-common.h (c_expand_decl): Remove prototype.
8856
4f7f7aca
MLI
88572012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8858
8859 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8860 * c-opts.c (c_common_handle_option): Remove code handling
8861 warn_missing_braces.
8862
4a792f9b
PC
88632012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
8864
8865 PR c++/25137
8866 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8867 -Wmissing_braces.
8868
650dc14a
DS
88692012-05-22 Dodji Seketeli <dodji@redhat.com>
8870
8871 PR c++/53322
8872 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8873
9b095bf1
MLI
88742012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
8875
8876 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8877 * c-opts.c (c_common_handle_option): Do not handle explicitly
8878 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8879
0b2c4be5
DS
88802012-05-16 Dodji Seketeli <dodji@redhat.com>
8881
8882 PR preprocessor/7263
ab20d992 8883 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
8884 to cpp_classify_number. For diagnostics, use the precise location
8885 instead of the global input_location.
8886
a1bde5af
PC
88872012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8888
d02924ef 8889 PR c++/11856
a1bde5af
PC
8890 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8891
d1ede5f4
BS
88922012-05-14 Bernd Schmidt <bernds@codesourcery.com>
8893
a1bde5af 8894 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 8895
f2bc201f
MLI
88962012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
8897
8898 PR 53063
8899 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8900 Wreorder): Use LangEnabledBy.
8901 * c-opts.c (c_common_handle_option): Do not enable them
8902 explicitly. Call lang-specific generated functions.
8903 (c_common_post_options): Do not set them here.
8904
95744782
MLI
89052012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
8906
8907 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8908 Wmissing-field-initializers,Wmissing-parameter-type,
8909 Wold-style-declaration,Woverride-init): Use EnabledBy.
8910 * c-opts.c (c_common_post_options): Do not set here explicitly.
8911
7d5a5747
MLI
89122012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8913
8914 PR 53063
8915 * c-opts.c (c_common_handle_option): Use handle_generated_option
8916 to enable sub-options.
8917
5a3c9cf2
PC
89182012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
8919
8920 PR c++/53158
8921 * c-common.c (warnings_for_convert_and_check): Use warning_at.
8922
3ac8781c
RG
89232012-05-10 Richard Guenther <rguenther@suse.de>
8924
8925 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
8926 adjust commentary about TYPE_IS_SIZETYPE types.
8927
1e537948
MLI
89282012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8929
8930 PR c++/53261
8931 * c-common.c (warn_logical_operator): Check that argument of
8932 integer_zerop is not NULL.
8933
f2c4a785
MLI
89342012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
8935
8936 PR c/43772
8937 * c-common.c (warn_logical_operator): Do not warn if either side
8938 is already true or false.
8939
50f305ca
MLI
89402012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8941
8942 PR c/51712
8943 * c-common.c (expr_original_type): New.
8944 (shorten_compare): Do not warn for enumeration types.
8945
0c3641b0
MLI
89462012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8947
8948 * c.opt (fpermissive): Add Var(flag_permissive).
8949
7edaa4d2
MG
89502012-04-30 Marc Glisse <marc.glisse@inria.fr>
8951
8952 PR c++/51033
8953 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
8954 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8955
b9c8da34
DS
89562012-04-30 Dodji Seketeli <dodji@redhat.com>
8957
8958 Add -Wvarargs option
ab20d992 8959 * c.opt (Wvarargs): Define new option.
b9c8da34 8960
e6c69da0
MLI
89612012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8962
8963 * c-common.c (check_function_arguments): Replace
8964 Wmissing-format-attribute with Wsuggest-attribute=format.
8965
90137d8f
MLI
89662012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8967
8968 * c.opt (Wsuggest-attribute=format): New. Alias of
8969 Wmissing-format-attribute.
8970 * c-format.c (decode_format_type): Replace
8971 Wmissing-format-attribute with Wsuggest-attribute=format.
8972 (check_function_format): Likewise.
8973
9faeb493 89742012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
8975
8976 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
8977 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
8978 * c.opt: Add Wliteral-suffix.
8979
c1771a20
MLI
89802012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8981
8982 PR c/44774
8983 * c.opt (Wpedantic): New.
8984 (pedantic): Alias Wpedantic.
8985 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
8986 (c_common_post_options): Likewise.
8987 (sanitize_cpp_opts): Likewise.
8988 * c-lex.c (interpret_float): Likewise.
8989 * c-format.c (check_format_types): Likewise.
8990 * c-common.c (pointer_int_sum): Likewise.
8991 (c_sizeof_or_alignof_type): Likewise.
8992 (c_add_case_label): Likewise.
8993 (c_do_switch_warnings): Likewise.
8994 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8995
04b391c1
JM
89962012-04-15 Jason Merrill <jason@redhat.com>
8997
8998 PR c++/52818
8999 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
9000 (C_STD_NAME): Distinguish between C++98 and C++11.
9001
ac868f29
EB
90022012-04-11 Eric Botcazou <ebotcazou@adacore.com>
9003
9004 PR target/52624
9005 * c-common.h (uint16_type_node): Rename into...
9006 (c_uint16_type_node): ...this.
9007 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
9008 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
9009
fd4116f4
MLI
90102012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
9011
9012 * c-common.c (warn_if_unused_value): Move definition to here.
9013 * c-common.h (warn_if_unused_value): Move declaration to here.
9014
573ac65e
WB
90152012-03-23 William Bader <williambader@hotmail.com>
9016
9017 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
9018
552b8185
JM
90192012-03-20 Jason Merrill <jason@redhat.com>
9020
9021 * c-common.h (enum cxx_dialect): Add cxx1y.
9022 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
9023 test.
9024 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
9025 * c-opts.c (c_common_post_options): Likewise.
9026 (set_std_cxx1y): New.
9027 (c_common_handle_option): Call it.
9028 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
9029
04398fa8
PC
90302012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
9031
9032 PR c++/14710
9033 * c.opt ([Wuseless-cast]): Add.
9034
d2a12ae7
RG
90352012-03-16 Richard Guenther <rguenther@suse.de>
9036
9037 * c-pretty-print.c (pp_c_initializer_list): Adjust.
9038
a12bf402
MLI
90392012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9040
9041 PR c++/44783
9042 * c.opt (ftemplate-backtrace-limit) Add.
9043
5c30094f
RO
90442012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9045
9046 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
9047 handling.
9048 * c-pragma.c (handle_pragma_extern_prefix): Remove.
9049 (init_pragma): Don't register extern_prefix.
9050
21fa2faf
RG
90512012-03-12 Richard Guenther <rguenther@suse.de>
9052
9053 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
9054 (builtin_type_for_size): Likewise.
9055
e3793c6f
JJ
90562012-02-13 Jakub Jelinek <jakub@redhat.com>
9057
9058 PR c++/52215
9059 * c-common.c (sync_resolve_params): Don't decide whether to convert
9060 or not based on TYPE_SIZE comparison, convert whenever arg_type
9061 is unsigned INTEGER_TYPE.
9062
93286335
PC
90632012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
9064
9065 PR c/52118
9066 * c.opt ([Wunused-local-typedefs]): Fix description.
9067
7a421706
MS
90682012-01-24 Mike Stump <mikestump@comcast.net>
9069
9070 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
9071 exactly.
9072
ba9b1f11
RG
90732012-01-18 Richard Guenther <rguenther@suse.de>
9074
9075 * c-opts.c (c_common_post_options): Reset LTO flags if
9076 we are about to generate a PCH.
9077
465406be
PC
90782012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
9079
9080 PR c++/51777
9081 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
9082 use pp_unsigned_wide_integer.
9083
aee15221
RG
90842012-01-10 Richard Guenther <rguenther@suse.de>
9085
9086 PR middle-end/51806
9087 * c-opts.c (c_common_handle_option): Move -Werror handling
9088 to language independent code.
9089
5720c0dc
RG
90902012-01-05 Richard Guenther <rguenther@suse.de>
9091
9092 PR middle-end/51764
9093 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
9094 from common.opt.
9095
73ac190a
PC
90962011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9097
9098 PR c++/51316
9099 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9100 of array types with an unknown bound.
9101
48b0b196
JM
91022011-12-20 Joseph Myers <joseph@codesourcery.com>
9103
9104 * c-common.c (flag_isoc99): Update comment to refer to C11.
9105 (flag_isoc1x): Change to flag_isoc11.
9106 * c-common.h (flag_isoc99): Update comment to refer to C11.
9107 (flag_isoc1x): Change to flag_isoc11.
9108 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9109 C11.
9110 * c-opts.c (set_std_c1x): Change to set_std_c11.
9111 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9112 Call set_std_c11.
9113 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9114 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9115 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9116 standard.
9117 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9118 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9119 (std=gnu1x): Make alias of std=gnu11.
9120
d58d6eb5
JM
91212011-12-19 Jason Merrill <jason@redhat.com>
9122
9123 PR c++/51228
9124 * c-common.c (handle_transparent_union_attribute): Check the first
9125 field if the type is complete.
9126
b3908fcc
JW
91272011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9128
9129 PR libstdc++/51365
9130 * c-common.c (RID_IS_FINAL): Add.
9131 * c-common.h (RID_IS_FINAL): Add.
9132
fea3ca91
IS
91332011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9134
9135 * c.opt (fgnu-runtime): Provide full description.
9136 (fnext-runtime): Likewise.
9137 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9138
62bad7cd
AM
91392011-11-28 Andrew MacLeod <amacleod@redhat.com>
9140
9141 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9142 predefines in one place. Add LOCK_FREE predefines.
9143 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9144 new func.
9145
c466c4ff
AM
91462011-11-24 Andrew MacLeod <amacleod@redhat.com>
9147
9148 PR c/51256
9faeb493 9149 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 9150 conditions
9faeb493
UB
9151 (resolve_overloaded_atomic_exchange,
9152 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
9153 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9154 error_mark_node for error conditions.
9faeb493 9155
a5952633
RG
91562011-11-08 Richard Guenther <rguenther@suse.de>
9157
9158 PR middle-end/51010
ab20d992 9159 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 9160
0a35513e
AH
91612011-11-07 Richard Henderson <rth@redhat.com>
9162 Aldy Hernandez <aldyh@redhat.com>
9163 Torvald Riegel <triegel@redhat.com>
9164
9165 Merged from transactional-memory.
9166
9167 * c-common.c (handle_tm_wrap_attribute,
9168 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9169 (struct c_common_reswords): Added __transaction* keywords.
9170 (struct c_common_attribute_table): Added transaction* and tm_regparm
9171 attributes.
9172 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9173 masks.
9174 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9175 find_tm_attribute): Declare.
9176
6d87092d
JM
91772011-11-07 Jason Merrill <jason@redhat.com>
9178
9179 PR c++/35688
9180 * c-common.c, c-common.h: Revert yesterday's changes.
9181
8e7860a1
JM
91822011-11-06 Jason Merrill <jason@redhat.com>
9183
9184 PR c++/35688
9185 * c-common.c (decl_has_visibility_attr): Split out from...
9186 (c_determine_visibility): ...here.
9187 * c-common.h: Declare it.
9188
d19fa6b5
JM
91892011-11-06 Joseph Myers <joseph@codesourcery.com>
9190
9191 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9192 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9193 type.
9194 (check_user_alignment): New. Split out of
9195 handle_aligned_attribute. Disallow integer constants with
9196 noninteger types. Conditionally allow zero.
9197 (handle_aligned_attribute): Use check_user_alignment.
9198 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
9199
86951993
AM
92002011-11-06 Andrew MacLeod <amacleod@redhat.com>
9201 Richard Henderson <rth@redhat.com>
9202
9203 Merged from cxx-mem-model.
9204
9205 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 9206 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
9207 parameters that are the same type size.
9208 (get_atomic_generic_size): New. Find size of generic
9209 atomic function parameters and do typechecking.
9210 (add_atomic_size_parameter): New. Insert size into parameter list.
9211 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
9212 either __atomic_exchange_n or external library call.
9faeb493 9213 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 9214 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 9215 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
9216 __atomic_load_n or an external library call.
9217 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
9218 __atomic_store_n or an external library call.
9219 (resolve_overloaded_builtin): Handle new __atomic builtins.
9220
cf9e9959
EB
92212011-11-04 Eric Botcazou <ebotcazou@adacore.com>
9222
9223 PR c++/50608
9224 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
9225 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
9226 <INDIRECT_REF>: Return the argument.
9227 <ARRAY_REF>: Remove special code for negative offset.
9228 Call fold_build_pointer_plus instead of size_binop.
9229 (fold_offsetof): Remove STOP_REF argument and adjust.
9230 * c-common.h (fold_offsetof_1): Declare.
9231 (fold_offsetof): Remove STOP_REF argument.
9232
25339f10
JM
92332011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
9234
9235 PR c++/50810
9236 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9237 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9238 Wnarrowing for C++0x and C++98.
9239 * c.opt ([Wnarrowing]): Update.
9240
89401152
PC
92412011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
9242
9243 PR c++/44277
9244 * c.opt: Add Wzero-as-null-pointer-constant.
9245
97e3ad20
JM
92462011-10-31 Jason Merrill <jason@redhat.com>
9247
15694fdd
JM
9248 * c.opt (-fdeduce-init-list): Off by default.
9249
97e3ad20
JM
9250 PR c++/50920
9251 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
9252 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
9253 and -Wc++11-compat.
9254 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9255
fb9120e3
RAV
92562011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9257
9258 PR c++/30066
9259 * c.opt (fvisibility-inlines-hidden): Description change.
9260
3ce4f9e4
ESR
92612011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9262
9263 Implement C++11 user-defined literals.
9264 * c-common.c (build_userdef_literal): New.
9265 * c-common.def: New tree code.
9266 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9267 * c-lex.c (interpret_float): Add suffix parm.
9268 (c_lex_with_flags): Build literal tokens.
9269
5f53c243
PC
92702011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9271
9272 PR c++/50841
9273 Revert:
9274 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9275
9276 PR c++/50810
9277 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9278 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9279 Wnarrowing for C++0x and C++98.
9280 * c.opt ([Wnarrowing]): Update.
9281
263734e1
PC
92822011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9283
9284 PR c++/50810
9285 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9286 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9287 Wnarrowing for C++0x and C++98.
9288 * c.opt ([Wnarrowing]): Update.
9289
d2e312d7
PC
92902011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
9291
9292 PR c++/45385
9293 * c-common.c (conversion_warning): Remove code looking for
9294 artificial operands.
9295
d17687f6
DS
92962011-10-18 Dodji Seketeli <dodji@redhat.com>
9297
9298 PR bootstrap/50760
9299 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 9300 !NO_IMPLICIT_EXTERN_C.
d17687f6 9301
fc8396e9
PC
93022011-10-17 Michael Spertus <mike_spertus@symantec.com>
9303
9304 * c-common.c (c_common_reswords): Add __bases,
9305 __direct_bases.
9306 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
9307
93082011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
9309
9310 PR c++/50757
9311 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
9312
847e697a
TT
93132011-10-15 Tom Tromey <tromey@redhat.com>
9314 Dodji Seketeli <dodji@redhat.com>
9315
9316 * c.opt (fdebug-cpp): New option.
9317 * c-opts.c (c_common_handle_option): Handle the option.
9318 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
9319 output stream in parameter. Factorized from ...
9320 (maybe_print_line): ... this. Dump location debug information when
9321 -fdebug-cpp is in effect.
9322 (print_line_1): New static function. Takes an output stream in
9323 parameter. Factorized from ...
9324 (print_line): ... here. Dump location information when -fdebug-cpp
9325 is in effect.
9326 (scan_translation_unit): Dump location information when
9327 -fdebug-cpp is in effect.
9328
92582b75
TT
93292011-10-15 Tom Tromey <tromey@redhat.com>
9330 Dodji Seketeli <dodji@redhat.com>
9331
9332 * c.opt (ftrack-macro-expansion): New option. Handle it with and
9333 without argument.
9334 * c-opts.c (c_common_handle_option)<case
9335 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
9336 cases. Handle -ftrack-macro-expansion with and without argument.
9337
46427374
TT
93382011-10-15 Tom Tromey <tromey@redhat.com>
9339 Dodji Seketeli <dodji@redhat.com>
9340
9341 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
9342 (print_line, cb_define, do_line_change): Adjust to avoid touching
9343 the internals of struct line_map. Use the public API instead.
9344 * c-pch.c (c_common_read_pch): Likewise.
9345 * c-lex.c (fe_file_change): Likewise.
9346
fc8396e9
PC
93472011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
9348
9349 PR c++/17212
9350 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
9351
93522011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
9353
9354 PR c++/33067
9355 * c-pretty-print.c (pp_c_floating_constant): Output
9356 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
9357
e79983f4
MM
93582011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
9359
9360 * c-common.c (def_builtin_1): Delete old interface with two
9361 parallel arrays to hold standard builtin declarations, and replace
9362 it with a function based interface that can support creating
9363 builtins on the fly in the future. Change all uses, and poison
9364 the old names. Make sure 0 is not a legitimate builtin index.
9365 * c-omp.c (c_finish_omp_barrier): Ditto.
9366 (c_finish_omp_taskwait): Ditto.
9367 (c_finish_omp_flush): Ditto.
9368
6637388f
TG
93692011-10-11 Tristan Gingold <gingold@adacore.com>
9370
9371 * c.opt: (fallow-parameterless-variadic-functions): New.
9372
3797cb21
DS
93732011-09-08 Dodji Seketeli <dodji@redhat.com>
9374
9375 PR c++/33255 - Support -Wunused-local-typedefs warning
9376 * c-common.h (struct c_language_function::local_typedefs): New
9377 field.
9faeb493
UB
9378 (record_locally_defined_typedef, maybe_record_typedef_use)
9379 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 9380 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
9381 (maybe_record_typedef_use)
9382 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
9383 * c.opt: Declare new -Wunused-local-typedefs flag.
9384
693ddb1b
EB
93852011-09-06 Eric Botcazou <ebotcazou@adacore.com>
9386
9387 PR middle-end/50266
9388 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
9389 computations.
9390
830c740f
RG
93912011-09-05 Richard Guenther <rguenther@suse.de>
9392
9393 * c-common.c (complete_array_type): Use ssize_int (-1) instead
9394 of integer_minus_one_node for empty array upper bounds.
9395
892a371f
DS
93962011-08-28 Dodji Seketeli <dodji@redhat.com>
9397
9398 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
9399 it's the first time it's being called on this main TU.
9400
0e3fdb48
RB
94012011-08-24 Richard Guenther <rguenther@suse.de>
9402
9403 PR c/49396
9404 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
9405
94062011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
9407
9408 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
9409 defined in cpp_init_builtins and c_cpp_builtins.
9410
d4a83c10
JM
94112011-08-19 Joseph Myers <joseph@codesourcery.com>
9412
9413 * c-common.c (c_common_reswords): Add __builtin_complex.
9414 * c-common.h (RID_BUILTIN_COMPLEX): New.
9415
bbceee64
JM
94162011-08-18 Joseph Myers <joseph@codesourcery.com>
9417
9418 * c-common.c (c_common_reswords): Add _Noreturn.
9419 (keyword_is_function_specifier): Handle RID_NORETURN.
9420 * c-common.h (RID_NORETURN): New.
9421
3f8257db 94222011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
9423
9424 * c-common.c (unsafe_conversion_p): New function. Check if it is
9425 unsafe to convert an expression to the type.
9426 (conversion_warning): Adjust, use unsafe_conversion_p.
9427 * c-common.h (unsafe_conversion_p): New function declaration.
9428
20906c66
JJ
94292011-08-02 Jakub Jelinek <jakub@redhat.com>
9430
9431 * c-common.h (c_finish_omp_atomic): Adjust prototype.
9432 (c_finish_omp_taskyield): New prototype.
9433 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
9434 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
9435 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
9436 or RHS1 have side-effects, evaluate those too in the right spot,
9437 if it is a decl and LHS is also a decl, error out if they
9438 aren't the same.
9439 (c_finish_omp_taskyield): New function.
9440 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
9441 * c-pragma.c (omp_pragmas): Add taskyield.
9442 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
9443 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
9444 PRAGMA_OMP_CLAUSE_MERGEABLE.
9445
770e5a2e
DS
94462011-07-25 Dodji Seketeli <dodji@redhat.com>
9447
9448 * c-common.h (set_underlying_type): Remove parm name from
9449 declaration.
9450
1baae426
RG
94512011-07-25 Romain Geissler <romain.geissler@gmail.com>
9452
9453 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 9454
fcb21722
JM
94552011-07-22 Jason Merrill <jason@redhat.com>
9456
76f86d00
JM
9457 PR c++/49793
9458 * c.opt (Wnarrowing): New.
9459
3a636414
JM
9460 PR c++/30112
9461 * c-common.h: Declare c_linkage_bindings.
9462 * c-pragma.c (handle_pragma_redefine_extname): Use it.
9463
fcb21722
JM
9464 PR c++/49813
9465 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
9466 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
9467 as flag_isoc99 for 'restrict'.
9468 (pp_c_specifier_qualifier_list): Likewise for _Complex.
9469
02614448
ILT
94702011-07-21 Ian Lance Taylor <iant@google.com>
9471
9472 PR middle-end/49705
9473 * c-common.c (c_disable_warnings): New static function.
9474 (c_enable_warnings): New static function.
9475 (c_fully_fold_internal): Change local unused_p to bool. Call
9476 c_disable_warnings and c_enable_warnings rather than change
9477 c_inhibit_evaluation_warnings.
9478
34429675
JM
94792011-07-20 Jason Merrill <jason@redhat.com>
9480
9481 PR c++/6709 (DR 743)
9482 PR c++/42603 (DR 950)
9483 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
9484 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
9485 (CPP_DECLTYPE): New.
9486 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
9487
5d49b6a7
RG
94882011-07-19 Richard Guenther <rguenther@suse.de>
9489
9490 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
9491 * c-omp.c (c_finish_omp_for): Likewise.
9492
e84a58ff
EB
94932011-07-12 Eric Botcazou <ebotcazou@adacore.com>
9494
9495 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
9496 body on the next line.
9497
329af3c7
JM
94982011-07-08 Jason Merrill <jason@redhat.com>
9499
4063e61b
JM
9500 PR c++/45437
9501 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
9502
329af3c7
JM
9503 PR c++/49673
9504 * c-common.c (c_apply_type_quals_to_decl): Don't check
9505 TYPE_NEEDS_CONSTRUCTING.
9506
1a072294
RG
95072011-07-06 Richard Guenther <rguenther@suse.de>
9508
9509 * c-common.c (c_common_nodes_and_builtins):
9510 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
9511
fce5dddd
RG
95122011-07-05 Richard Guenther <rguenther@suse.de>
9513
9514 * c-common.c (c_common_nodes_and_builtins): Build all common
9515 tree nodes first.
9516
45d439ac
JJ
95172011-06-27 Jakub Jelinek <jakub@redhat.com>
9518
56300785
JJ
9519 * c-common.h (c_tree_chain_next): New static inline function.
9520
45d439ac
JJ
9521 * c-common.c (check_builtin_function_arguments): Handle
9522 BUILT_IN_ASSUME_ALIGNED.
9523
e0a8ecf2
AM
95242011-06-21 Andrew MacLeod <amacleod@redhat.com>
9525
9526 * c-common.c: Add sync_ or SYNC__ to builtin names.
9527 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
9528
95292011-06-20 Pierre Vittet <piervit@pvittet.com>
9530
9531 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
9532 handler.
9533 (gen_pragma_handler): New union.
9534 (internal_pragma_handler): New type.
9535 (c_register_pragma_with_data)
9536 (c_register_pragma_with_expansion_and_data): New functions.
9537
9538 * c-pragma.c (registered_pragmas, c_register_pragma_1)
9539 (c_register_pragma, c_register_pragma_with_expansion)
9540 (c_invoke_pragma_handler): Changed to work with
9541 internal_pragma_handler.
9542 (c_register_pragma_with_data)
9543 (c_register_pragma_with_expansion_and_data): New functions.
9544
677f3fa8
JM
95452011-06-14 Joseph Myers <joseph@codesourcery.com>
9546
9547 * c-common.c: Include common/common-target.h.
9548 (handle_section_attribute): Use
9549 targetm_common.have_named_sections.
9550 * c-cppbuiltin.c: Include common/common-target.h.
9551 (c_cpp_builtins): Use targetm_common.except_unwind_info.
9552
d7fc8c14
RG
95532011-06-10 Richard Guenther <rguenther@suse.de>
9554
9555 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
9556 to print a IDENTIFIER_NODE.
9557
10e48e39
RO
95582011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9559 Joseph Myers <joseph@codesourcery.com>
9560
9561 * c.opt (fbuilding-libgcc): New option.
9562 * c-cppbuiltin.c (c_cpp_builtins): Define
9563 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
9564
6976ae51
JM
95652011-06-07 Jason Merrill <jason@redhat.com>
9566
3ff60975
JM
9567 * c-common.c (max_tinst_depth): Lower default to 900.
9568
6976ae51
JM
9569 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
9570
009db074
RG
95712011-06-07 Richard Guenther <rguenther@suse.de>
9572
9573 * c-common.c (c_common_nodes_and_builtins): Do not set
9574 size_type_node or call set_sizetype.
9575
b4592b92
DS
95762011-06-07 Dodji Seketeli <dodji@redhat.com>
9577
9578 PR debug/49130
9579 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 9580 type when using pointer comparison to compare types.
b4592b92 9581
014ab419
JW
95822011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
9583
9584 * c.opt: Add -Wdelete-non-virtual-dtor.
9585 * c-opts.c (c_common_handle_option): Include it in -Wall.
9586
4f60111f
NF
95872011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
9588
9589 PR bootstrap/49190
9590
9591 Revert:
9592 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9593
9594 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9595 not tree_common.
9596
4cc4f2f4
JJ
95972011-05-27 Jakub Jelinek <jakub@redhat.com>
9598
9599 PR c++/49165
9600 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
9601 C++ don't call c_common_truthvalue_conversion on void type arms.
9602
38e01f9e
NF
96032011-05-27 Nathan Froyd <froydnj@codesourcery.com>
9604
9605 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
9606 (stmt_list_stack): Define.
9607 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
9608 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
9609
92e948a8
NF
96102011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9611
9612 * c-common.c (warning_candidate_p): Check for BLOCKs.
9613
a2fc3e63
NF
96142011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9615
9616 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9617 not tree_common.
9618
0957c029
JJ
96192011-05-25 Jakub Jelinek <jakub@redhat.com>
9620
9621 * c-common.c (def_fn_type): Remove extra va_end.
9622
828fb3ba
JM
96232011-05-23 Jason Merrill <jason@redhat.com>
9624
9625 PR c++/48106
9626 * c-common.c (c_common_get_narrower): New.
9627 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
9628
dde05067
NF
96292011-05-23 Nathan Froyd <froydnj@codesourcery.com>
9630
9631 * c-common.h (check_function_arguments): Tweak prototype of
9632 check_function_arguments.
9633 * c-common.c (check_function_arguments): Likewise. Adjust
9634 calls to check_function_nonnull, check_function_format, and
9635 check_function_sentinel.
9636 (check_function_sentinel): Take a FUNCTION_TYPE rather than
9637 separate attributes and typelist arguments. Use
9638 FOREACH_FUNCTION_ARGS to iterate over argument types.
9639
3c0d13bf
PC
96402011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9641
9642 * c-common.c (c_common_reswords): Reorder.
9643 * c-common.h (rid): Likewise.
9644
8242dd04
NF
96452011-05-10 Nathan Froyd <froydnj@codesourcery.com>
9646
9647 * c-common.c (def_fn_type): Don't call build_function_type, call
9648 build_function_type_array or build_varargs_function_type_array
9649 instead.
9650 (c_common_nodes_and_builtins): Likewise.
9651
3d528853
NF
96522011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9653
9654 * c-common.c (c_add_case_label): Omit the loc argument to
9655 build_case_label.
9656 * c-common.h (build_case_label): Remove.
9657 * c-semantics.c (build_case_label): Remove.
9658
a04a722b
JM
96592011-05-05 Joseph Myers <joseph@codesourcery.com>
9660
9661 * c-objc.h (objc_start_method_definition): Update prototype.
9662 * stub-objc.c (objc_start_method_definition): Add extra parameter.
9663
e19a18d4
NF
96642011-05-04 Nathan Froyd <froydnj@codesourcery.com>
9665
9666 * c-common.c (check_main_parameter_types): Reindent. Don't use
9667 TYPE_ARG_TYPES directly.
9668 (handle_nonnull_attribute): Likewise.
9669 (sync_resolve_params): Likewise.
9670 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
9671 to check_format_string.
9672 (handle_format_attribute): Likewise.
9673 (check_format_string): Take a function type to examine instead of
9674 a type list. Use a function_arg_iterator to step through argument
9675 types.
9676
c62c040f
RG
96772011-05-04 Richard Guenther <rguenther@suse.de>
9678
9679 * c-common.c (fix_string_type): Use size_int for index type bounds.
9680 (start_fname_decls): Do not pass NULL to build_int_cst.
9681 (c_init_attributes): Likewise.
9682 * c-lex.c (c_lex_with_flags): Likewise.
9683
c12ff9d8
JM
96842011-04-27 Jason Merrill <jason@redhat.com>
9685
9686 * c-common.c (make_tree_vector_from_list): New.
9687 * c-common.h: Declare it.
9688
304dfbe3
RG
96892011-04-26 Richard Guenther <rguenther@suse.de>
9690
9691 PR preprocessor/48248
9692 * c-ppoutput.c (maybe_print_line): Always optimize newlines
9693 for output size with -P.
9694
3c0d13bf
PC
96952011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
9696
9697 * c-common.c (struct c_common_resword): Add __underlying_type.
9698 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
9699
04695783
JM
97002011-04-20 Jim Meyering <meyering@redhat.com>
9701
9702 * c-format.c (init_dollar_format_checking): Remove useless
9703 if-before-free.
9704
0dc33c3c
NP
97052011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
9706
9707 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 9708 (objc_detect_field_duplicates): New.
0dc33c3c 9709 * stub-objc.c: Likewise.
3c0d13bf 9710
c59633d9
NP
97112011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9712
9713 * stub-objc.c (objc_declare_protocols): Renamed to
9714 objc_declare_protocol.
9715 * c-objc.h: Likewise.
3c0d13bf 9716
32dabdaf
NP
97172011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9718
9719 * stub-objc.c (objc_declare_class): Updated argument name.
9720
81f653d6
NF
97212011-04-12 Nathan Froyd <froydnj@codesourcery.com>
9722
9723 * c-common.h (c_common_init_ts): Declare.
9724 * c-common.c (c_common_init_ts): Define.
9725
eb345401
NP
97262011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
9727
9728 * c-objc.h (objc_build_message_expr): Updated prototype.
9729 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 9730
a358e188
MJ
97312011-04-12 Martin Jambor <mjambor@suse.cz>
9732
9733 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
9734 of cgraph_node.
9735
e6313a78
RG
97362011-04-11 Richard Guenther <rguenther@suse.de>
9737
9738 * c-common.c (complete_array_type): Build a range type of
9739 proper type.
9740
dcf0c47e
NF
97412011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9742
9743 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9744 (handle_type_generic_attribute): Likewise.
9745
1ee44b26
JM
97462011-04-07 Jason Merrill <jason@redhat.com>
9747
9748 PR c++/48450
9749 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9750 conversion from C++0x scoped enum.
9751
acce4e77
JM
97522011-04-06 Joseph Myers <joseph@codesourcery.com>
9753
9754 * c-target-def.h: New file.
9755 * c-target.def: New file.
9756 * c-target.h: New file.
9757 * c-common.c (targetcm): Don't define here.
9758 * c-common.h (default_handle_c_option): Declare.
9759 * c-format.c: Include c-target.h instead of target.h.
9760 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9761 include tm.h.
9762 (default_handle_c_option): Move from targhooks.c.
9763
e2eefb55
JJ
97642011-03-29 Jakub Jelinek <jakub@redhat.com>
9765
9766 PR preprocessor/48248
9767 * c-ppoutput.c (print): Add src_file field.
9768 (init_pp_output): Initialize it.
9769 (maybe_print_line): Don't optimize by adding up to 8 newlines
9770 if map->to_file and print.src_file are different file.
9771 (print_line): Update print.src_file.
9772
ba78087b
KT
97732011-03-25 Kai Tietz <ktietz@redhat.com>
9774
9775 * c-ada-spec.c (compare_comment): Use filename_cmp
9776 instead of strcmp for filename.
9777
0edf1bb2
JL
97782011-03-25 Jeff Law <law@redhat.com>
9779
adfac8df 9780 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 9781
c7dc8804
JM
97822011-03-25 Jason Merrill <jason@redhat.com>
9783
9784 * c.opt: Add -std=c++03.
9785
d1d879b1
EB
97862011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9787
9788 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9789
3f8257db 97902011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
9791
9792 PR target/12171
5050afdf
KT
9793 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9794 Display allowed attributes for function pointer types.
9795 (pp_c_attributes_display): New function to display
9796 attributes having affects_type_identity flag set to true.
9797 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9798
62d784f7
KT
9799 * c-common.c (c_common_attribute_table):
9800 Add new element.
9801 (c_common_format_attribute_table): Likewise.
9802
82d37118
JM
98032011-03-18 Jason Merrill <jason@redhat.com>
9804
49a000c3
JM
9805 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9806 * c-common.h: Don't declare it here.
9807 * c-common.c: Or define it here.
9808 * c-opts.c (c_common_handle_option): Or set it here.
9809
82d37118
JM
9810 PR c++/35315
9811 * c-common.c (handle_transparent_union_attribute): Don't
9812 make a duplicate type in C++.
9813
17bc631c
JM
98142011-03-15 Jason Merrill <jason@redhat.com>
9815
9816 * c-common.c (max_constexpr_depth): New.
9817 * c-common.h: Declare it.
9818 * c-opts.c (c_common_handle_option): Set it.
9819 * c.opt (fconstexpr-depth): New option.
9820
1b9b91a6
JM
98212011-03-11 Jason Merrill <jason@redhat.com>
9822
f231b5ff
JM
9823 * c-common.c (attribute_takes_identifier_p): Add missing const.
9824
1b9b91a6
JM
9825 PR c++/46803
9826 * c-common.c (attribute_takes_identifier_p): Assume that an
9827 unknown attribute takes an identifier.
9828
a19e4d44
NF
98292011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9830
9831 PR c/47786
9832 * c-common.c (c_type_hash): Call list_length instead of iterating
9833 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9834
982d62f6
JJ
98352011-02-19 Jakub Jelinek <jakub@redhat.com>
9836
9837 PR c/47809
9838 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9839
0a256240
NP
98402011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9841
9842 * c.opt (fobjc-abi-version=) New.
9843 (fobjc-nilcheck): New.
9844
ba9e6dd5
NF
98452011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9846
9847 PR c++/46890
9848 * c-common.h (keyword_is_decl_specifier): Declare.
9849 * c-common.c (keyword_is_decl_specifier): Define.
9850 (keyword_is_function_specifier): New function.
9851
7273813a
JJ
98522011-01-26 Jakub Jelinek <jakub@redhat.com>
9853
9854 PR c/47473
9855 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9856 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9857 REAL_TYPE.
9858
908ef79b
AC
98592011-01-26 Arnaud Charlet <charlet@adacore.com>
9860
9861 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9862
237e9384
JJ
98632011-01-26 Jakub Jelinek <jakub@redhat.com>
9864
9865 PR pch/47430
9866 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
9867 after init_c_lex if pch_file is set.
9868
47ea1edf
DK
98692011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9870
d4dba752 9871 PR c++/43601
47ea1edf
DK
9872 * c.opt (-fkeep-inline-dllexport): New switch.
9873
2aa9c6ae
RG
98742011-01-12 Richard Guenther <rguenther@suse.de>
9875
9876 PR middle-end/32511
9877 * c-common.c (handle_weak_attribute): Warn instead of error
9878 on declaring an inline function weak.
9879
7bd11157
TT
98802011-01-05 Tom Tromey <tromey@redhat.com>
9881
9882 * c-common.h (lvalue_error): Update.
9883 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
9884 not error.
9885
0e66e494 98862010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 9887
b4f588c4
NP
9888 PR objc/47075
9889 * c-objc.h (objc_finish_message_expr): Added argument to
9890 prototype.
9891
f4da8dce
NF
98922010-12-22 Nathan Froyd <froydnj@codesourcery.com>
9893
9894 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9895 Use prototype_p.
9896
46270f14
NP
98972010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
9898
9899 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 9900 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 9901
4816c593
NF
99022010-12-10 Nathan Froyd <froydnj@codesourcery.com>
9903
9904 * c-common.h (readonly_error): Declare.
9905 * c-common.c (readonly_error): Define.
9906
7a6daeb0
NF
99072010-12-09 Nathan Froyd <froydnj@codesourcery.com>
9908
9909 * c-common.h (invalid_indirection_error): Declare.
9910 * c-common.c (invalid_indirection_error): Define.
9911
892f6119
RG
99122010-12-03 Richard Guenther <rguenther@suse.de>
9913
9914 PR c/46745
9915 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9916 (pp_c_unary_expression): Likewise.
9917 (pp_c_expression): Likewise.
9918
6c39e757
NP
99192010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
9920
9921 * c-common.h (objc_finish_function): New.
9922 (objc_non_volatilized_type): Removed.
9923 (objc_type_quals_match): Removed.
9924 * stub-objc.c (objc_finish_function): New.
9925 (objc_non_volatilized_type): Removed.
9926 (objc_type_quals_match): Removed.
9faeb493 9927
7c475d11
JM
99282010-11-30 Joseph Myers <joseph@codesourcery.com>
9929
9930 * c-common.h (parse_optimize_options): Declare.
9931 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9932 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9933
71f3e391
JM
99342010-11-29 Joseph Myers <joseph@codesourcery.com>
9935
9936 * c-opts.c (check_deps_environment_vars): Use getenv instead of
9937 GET_ENVIRONMENT.
9938 * c-pch.c (O_BINARY): Don't define here.
9939 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9940
d5fabb58
JM
99412010-11-25 Joseph Myers <joseph@codesourcery.com>
9942
9943 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9944 targetm.except_unwind_info.
9945
299404a1
JM
99462010-11-23 Joseph Myers <joseph@codesourcery.com>
9947
9948 * c-opts.c (c_common_handle_option): Pass location to
9949 set_struct_debug_option.
9950
c98cd5bf
JM
99512010-11-23 Joseph Myers <joseph@codesourcery.com>
9952
9953 * c-common.c (visibility_options): Move from ../opts.c.
9954 * c-common.h (struct visibility_flags, visibility_options):
9955 Declare here.
9956 * c-opts.c (finish_options): Rename to c_finish_options.
9957 (c_common_init): Update call to finish_options.
9958
a9546771
NP
99592010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
9960
9961 PR objc/34033
9962 * c-lex.c (lex_string): Check that each string in an Objective-C
9963 string concat sequence starts with either one or zero '@', and
9964 that there are no spurious '@' signs at the end.
9965
24a57808
JM
99662010-11-20 Joseph Myers <joseph@codesourcery.com>
9967
9968 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
9969 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
9970 HANDLE_PRAGMA_VISIBILITY.
9971 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
9972 HANDLE_PRAGMA_VISIBILITY): Don't define.
9973 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
9974
a9aa2c3a
NF
99752010-11-20 Nathan Froyd <froydnj@codesourcery.com>
9976
9977 PR c++/16189
9978 PR c++/36888
9979 PR c++/45331
9980 * c-common.h (keyword_begins_type_specifier): Declare.
9981 (keyword_is_storage_class_specifier): Declare.
9982 (keyword_is_type_qualifier): Declare.
9983 * c-common.c (keyword_begins_type_specifier): New function.
9984 (keyword_is_storage_class_specifier): New function.
9985 (keyword_is_type_qualifier): Declare.
9986
5386338c
JM
99872010-11-19 Joseph Myers <joseph@codesourcery.com>
9988
9989 PR c/46547
9990 * c-common.c (in_late_binary_op): Define.
9991 (c_common_truthvalue_conversion): Check in_late_binary_op before
9992 calling c_save_expr.
9993 * c-common.h (in_late_binary_op): Declare.
9994
69ccdddb
JM
99952010-11-19 Joseph Myers <joseph@codesourcery.com>
9996
9997 * c-opts.c (c_common_handle_option): Update calls to
9998 set_struct_debug_option.
9999
6b192a09
NP
100002010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
10001
10002 * c-common.h (objc_declare_protocols): Added additional argument.
10003 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 10004
fb52b50a
NF
100052010-11-18 Nathan Froyd <froydnj@codesourcery.com>
10006
10007 PR c/33193
10008 * c-common.h (build_real_imag_expr): Declare.
10009 * c-semantics.c (build_real_imag_expr): Define.
10010
b37421c6
JM
100112010-11-17 Joseph Myers <joseph@codesourcery.com>
10012
10013 * c-opts.c (c_common_parse_file): Take no arguments.
10014 * c-common.h (c_common_parse_file): Update prototype.
10015
07078664
JJ
100162010-11-16 Jakub Jelinek <jakub@redhat.com>
10017
10018 PR c++/46401
10019 * c-common.c (warning_candidate_p): Don't track non-const calls
10020 or STRING_CSTs.
10021
c6a13190
ILT
100222010-11-15 Ian Lance Taylor <iant@google.com>
10023
10024 * c-lex.c (init_c_lex): Set macro debug callbacks if
10025 flag_dump_go_spec is set.
10026
925e8657
NP
100272010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
10028
10029 * c-common.h (objc_build_incr_expr_for_property_ref): New.
10030 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
10031
bb0a9581
NF
100322010-11-15 Nathan Froyd <froydnj@codesourcery.com>
10033
10034 PR preprocessor/45038
10035 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
10036 dialects.
10037
c5fa0890
JM
100382010-11-12 Joseph Myers <joseph@codesourcery.com>
10039
10040 * c-common.h (c_family_lang_mask): Declare.
10041 * c-opts.c (c_family_lang_mask): Make extern.
10042 * c-pragma.c (handle_pragma_diagnostic): Use
10043 control_warning_option.
10044
a4d8c676
JM
100452010-11-12 Joseph Myers <joseph@codesourcery.com>
10046
10047 * c-common.c (parse_optimize_options): Update call to
10048 decode_options.
10049 * c-common.h (c_common_handle_option): Update prototype.
10050 * c-opts.c (c_common_handle_option): Take location_t parameter and
10051 pass it to other functions.
10052
f954bd2c
JM
100532010-11-11 Joseph Myers <joseph@codesourcery.com>
10054
10055 * c-opts.c (warning_as_error_callback): Remove.
10056 (c_common_initialize_diagnostics): Don't call
10057 register_warning_as_error_callback.
10058 (c_common_handle_option): Handle -Werror=normalized= here.
10059
d8a07487
JM
100602010-11-10 Joseph Myers <joseph@codesourcery.com>
10061
10062 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
10063 in diagnostic.
10064 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
10065 letter.
10066 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
10067 Remove trailing '.' from diagnostics.
10068 * c.opt (Wwrite-strings_: Avoid '`' in help text.
10069
d5478783
JM
100702010-11-10 Joseph Myers <joseph@codesourcery.com>
10071
10072 * c-common.c (parse_optimize_options): Pass global_dc to
10073 decode_options.
10074 * c-opts.c (c_common_handle_option): Pass &global_options to
10075 set_Wstrict_aliasing.
10076 * c.opt (v): Don't mark Common or document here.
10077
91ebb981
IS
100782010-11-06 Iain Sandoe <iains@gcc.gnu.org>
10079
10080 PR target/44981
10081 * c-format.c (format_type): New type gcc_objc_string_format_type.
10082 (valid_stringptr_type_p): New.
10083 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 10084 (check_format_string): Pass expected type, use
91ebb981
IS
10085 valid_stringptr_type_p (), check that the format string types are
10086 consistent with the format specification.
10087 (decode_format_attr): Warn if NSString is used outside objective-c.
10088 (format_types_orig): Add NSString.
10089 (format_name): New.
10090 (format_flags): New.
10091 (check_format_arg): Handle format strings requiring an external parser.
10092 first_target_format_type: New variable.
10093 (handle_format_attribute): Set up first_target_format_type, pass the
10094 expected format arg string type to check_format_string().
ab20d992 10095 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
10096 * stub-objc.c (objc_string_ref_type_p): New.
10097 (objc_check_format_arg): New.
10098
bede2adc
NP
100992010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10100
9faeb493 10101 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
10102 * c-common.h (objc_build_class_component_ref): New.
10103 * stub-objc.c (objc_build_class_component_ref): New.
10104
9a179d01
NP
101052010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10106
10107 * c.opt (Wproperty-assign-default): New option.
10108
22d8d616
NP
101092010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10110
10111 Implemented -fobjc-std=objc1 flag.
10112 * c.opt (fobjc-std=objc1): New option.
10113
2debdb4f
NP
101142010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10115
10116 Implemented format and noreturn attributes for Objective-C methods.
10117 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10118 attribute for Objective-C methods.
10119
ec52b111
JM
101202010-10-31 Jason Merrill <jason@redhat.com>
10121
10122 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10123 EXPR_LOC_OR_HERE.
10124
46a88c12
NP
101252010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10126
10127 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10128 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10129 (objc_add_property_declaration): Removed arguments for copies and
10130 ivar.
10131 (objc_build_getter_call): Renamed to
10132 objc_maybe_build_component_ref.
10133 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10134 (objc_is_property_ref): New.
10135 * c-common.c (c_common_reswords): Removed copies and ivar.
10136 * stub-objc.c (objc_add_property_declaration): Removed arguments
10137 for copies and ivar.
10138 (objc_build_getter_call): Renamed to
10139 objc_maybe_build_component_ref.
10140 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10141 (objc_is_property_ref): New.
9faeb493 10142
1e4bf85b
AC
101432010-10-29 Arnaud Charlet <charlet@adacore.com>
10144 Matthew Gingell <gingell@adacore.com>
10145
10146 * c-ada-spec.c (separate_class_package): New function.
10147 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10148 name of their enclosing package.
10149 (print_ada_declaration): Use separate_class_package.
10150
81f0bab2
JM
101512010-10-27 Jason Merrill <jason@redhat.com>
10152
2b08f2c5
JM
10153 * c-common.c (c_common_reswords): Add __is_literal_type.
10154 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10155
81f0bab2
JM
10156 * c-common.c (check_case_value): Remove special C++ code.
10157
200290f2
NP
101582010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10159
10160 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10161 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10162 and RID_LAST_PATTR.
10163 (objc_add_property_declaration): Added additional arguments.
10164 (objc_property_attribute_kind): Removed.
10165 (objc_set_property_attr): Removed.
10166 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10167 copy and nonatomic.
10168 * stub-objc.c (objc_add_property_declaration): Added additional
10169 arguments.
10170 (objc_set_property_attr): Removed.
9faeb493 10171
f614132b
NP
101722010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10173
10174 * c-common.h (objc_add_property_variable): Renamed to
10175 objc_add_property_declaration. Added location argument.
10176 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 10177
b8a18805
NP
101782010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10179
10180 * c-common.h (objc_maybe_printable_name): New.
10181 * stub-objc.c (objc_maybe_printable_name): New.
10182
3f8257db
JJ
101832010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10184 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
10185
10186 * c-common.h (c_common_mark_addressable_vec): Declare.
10187 * c-common.c (c_common_mark_addressable_vec): New function.
10188
249a82c4
NP
101892010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10190
10191 * c-common.h (objc_set_method_type): Removed.
10192 (objc_add_method_declaration): Added boolean argument.
10193 (objc_start_method_definition): Same change.
10194 (objc_build_method_signature): Same change.
10195 * stub-objc.c (objc_set_method_type): Removed.
10196 (objc_add_method_declaration): Added boolean argument.
10197 (objc_start_method_definition): Same change.
10198 (objc_build_method_signature): Same change.
10199
977e30bc
NP
102002010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10201
10202 * c-common.h (finish_file): Removed.
10203 (objc_write_global_declarations): New.
10204 * c-opts.c (c_common_parse_file): Do not call finish_file.
10205 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 10206
da57d1b9
NP
102072010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10208
10209 Implemented parsing @synthesize and @dynamic for
10210 Objective-C/Objective-C++.
10211 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
10212 (objc_add_synthesize_declaration): New.
10213 (objc_add_dynamic_declaration): New.
10214 * c-common.c (c_common_reswords): Add synthesize and dynamic.
10215 * stub-objc.c (objc_add_synthesize_declaration): New.
10216 (objc_add_dynamic_declaration): New.
9faeb493 10217
0069111f
MM
102182010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10219
10220 PR target/46041
10221 * c-cppbuiltin.c (mode_has_fma): Move function here from
10222 builtins.c. Don't use the fma optab, instead just use the
10223 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
10224 using -save-temps.
10225
e426b47b
NP
102262010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10227
10228 Merge from 'apple/trunk' branch on FSF servers.
0069111f 10229
3f8257db 10230 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 10231
9faeb493 10232 Radar 4330422
e426b47b
NP
10233 * c-common.h (objc_non_volatilized_type): New declaration
10234 * stub-objc.c (objc_non_volatilized_type): New stub.
10235
90fbfdc3
NP
102362010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
10237
e426b47b 10238 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 10239
ab20d992 10240 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 10241
9faeb493 10242 Radar 4133425
90fbfdc3 10243 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 10244 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 10245
c37d8c30
IS
102462010-10-17 Iain Sandoe <iains@gcc.gnu.org>
10247
10248 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
10249 * c-common.h (enum rid): Add RID_AT_PACKAGE.
10250 (objc_ivar_visibility_kind): New enum.
10251 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 10252 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
10253 visibility enum.
10254
1b1562a5
MM
102552010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10256
10257 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10258 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10259 has the appropriate fma builtins.
10260 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10261
668ea4b1
IS
102622010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10263
1b1562a5 10264 merge from FSF apple 'trunk' branch.
3f8257db 10265 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 10266
668ea4b1
IS
10267 Radars 4436866, 4505126, 4506903, 4517826
10268 * c-common.c (c_common_resword): Define @property and its attributes.
10269 * c-common.h: Define property attribute enum entries.
10270 (OBJC_IS_PATTR_KEYWORD): New.
10271 (objc_property_attribute_kind): New enum.
10272 Declare objc_set_property_attr (), objc_add_property_variable (),
10273 objc_build_getter_call () and objc_build_setter_call ().
10274 * stub-objc.c (objc_set_property_attr): New stub.
10275 (objc_add_property_variable): Likewise.
10276 (objc_build_getter_call): Likewise.
10277 (objc_build_setter_call) Likewise.
1b1562a5 10278
a1178b30
IS
102792010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10280
1b1562a5 10281 merge from FSF apple 'trunk' branch.
ab20d992 10282 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
10283
10284 Radar 3803157 (method attributes)
10285 * c-common.c (handle_deprecated_attribute): Recognize
10286 objc methods as valid declarations.
10287 * c-common.h: Declare objc_method_decl ().
1b1562a5 10288 * stub-objc.c (objc_method_decl): New stub.
a1178b30 10289
a75bfaa6
JM
102902010-10-08 Joseph Myers <joseph@codesourcery.com>
10291
10292 * c-common.c (parse_optimize_options): Call
10293 decode_cmdline_options_to_array_default_mask before
10294 decode_options. Update arguments to decode_options.
10295 * c-common.h (c_common_init_options_struct): Declare.
10296 * c-opts.c (c_common_init_options_struct): New. Split out from
10297 c_common_init_options.
10298
f05b9d93
NP
102992010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10300
10301 Implemented fast enumeration for Objective-C.
10302 * c-common.h (objc_finish_foreach_loop): New.
10303 * stub-objc.c (objc_finish_foreach_loop): New.
10304
1ebe4b4f
JM
103052010-10-05 Joseph Myers <joseph@codesourcery.com>
10306
10307 * c-common.h (struct diagnostic_context): Don't declare here.
10308 (c_common_initialize_diagnostics): Declare using
10309 diagnostic_context typedef.
10310 * c-opts.c (c_common_handle_option): Pass global_dc to
10311 handle_generated_option.
10312
d4d24ba4
JM
103132010-10-04 Joseph Myers <joseph@codesourcery.com>
10314
10315 * c-opts.c (c_common_handle_option): Pass &global_options_set to
10316 handle_generated_option.
10317
478a1c5b
ILT
103182010-10-03 Ian Lance Taylor <iant@google.com>
10319
10320 * c.opt (-fplan9-extensions): New option.
10321
82a1c2fe
FXC
103222010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10323
10324 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
10325 Remove.
10326 (c_cpp_builtins): Call functions from cppbuiltin.c instead
10327 of duplicating code.
10328
92902b1b
IS
103292010-09-30 Iain Sandoe <iains@gcc.gnu.org>
10330
10331 * c-common.c: Add two new entries for @optional
10332 and @required keywords.
10333
10334 merge from FSF 'apple/trunk' branch.
3f8257db 10335 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
10336
10337 Radar 4386773
10338 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
10339 objective-c keywords.
10340 (objc_set_method_opt): New declaration.
10341 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 10342
46625112
JM
103432010-09-30 Joseph Myers <joseph@codesourcery.com>
10344
10345 * c-common.c (handle_optimize_attribute): Pass &global_options to
10346 cl_optimization_save and cl_optimization_restore.
10347 * c-opts.c (c_common_handle_option): Pass &global_options to
10348 handle_generated_option.
10349 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
10350 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
10351 &global_options to cl_optimization_restore.
10352
49b91f05
NP
103532010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
10354
10355 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
10356 Objective-C/Objective-C++ keywords.
10357
13ed556f 103582010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 10359
9faeb493
UB
10360 Merge from 'apple/trunk' branch on FSF servers.
10361
3f8257db 10362 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
10363
10364 Radar 4281748
10365 * c-common.h (objc_check_global_decl): New declaration.
10366 * stub-objc.c (objc_check_global_decl): New stub.
10367
f0036cca
JM
103682010-09-29 Joseph Myers <joseph@codesourcery.com>
10369
10370 * c.opt: Don't use VarExists.
10371
e3339d0f
JM
103722010-09-29 Joseph Myers <joseph@codesourcery.com>
10373
10374 * c-common.c (c_cpp_error): Update names of diagnostic_context
10375 members.
10376 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
10377 cl_optimization members.
10378 * c-opts.c (warning_as_error_callback, c_common_handle_option,
10379 sanitize_cpp_opts, finish_options): Update names of cpp_options
10380 members.
10381
1973201f
NP
103822010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10383
10384 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
10385 (objc_is_reserved_word): Removed.
10386 * c-common.c: Updated comments.
10387 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
10388 objc_is_reserved_word.
10389 * stub-objc.c (objc_is_reserved_word): Removed.
10390
f7e71da5
IS
103912010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10392
9faeb493 10393 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
10394 include attributes.
10395 (objc_start_method_definition): Likewise.
10396 (objc_build_keyword_decl): Likewise.
10397 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
10398 (objc_start_method_definition): Likewise.
10399 (objc_build_keyword_decl): Likewise.
10400
c165dca7
IS
104012010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10402
10403 * c-common.h (objc_start_class_interface): Adjust prototype.
10404 (objc_start_category_interface): Likewise.
10405 (objc_start_protocol): Likewise.
10406 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
10407 (objc_start_class_interface): Likewise.
10408 (objc_start_category_interface): Likewise.
10409
7458026b
ILT
104102010-09-27 Ian Lance Taylor <iant@google.com>
10411
10412 * c-common.c (c_common_attribute_table): Add no_split_stack.
10413 (handle_no_split_stack_attribute): New static function.
10414
b581b85b
NP
104152010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
10416
9faeb493 10417 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 10418
3f8257db 10419 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 10420
9faeb493 10421 Radar 4229905
b581b85b
NP
10422 * c-common.h (objc_have_common_type): New declaration.
10423 * stub-objc.c (objc_have_common_type): New stub.
10424
10425 2005-06-22 Ziemowit Laski <zlaski@apple.com>
10426
10427 Radar 4154928
10428 * c-common.h (objc_common_type): New prototype.
9faeb493 10429 * stub-objc.c (objc_common_type): New stub.
b581b85b 10430
46a4da10
JH
104312010-09-24 Jan Hubicka <jh@suse.cz>
10432
10433 * c-common.c (handle_leaf_attribute): New function.
10434 (struct attribute_spec c_common_att): Add leaf.
10435
e200444e
JM
104362010-09-22 Joseph Myers <joseph@codesourcery.com>
10437
10438 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
10439 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
10440 -dump, -dump=, -imacros, -imacros=, -include, -include=,
10441 -include-barrier, -include-directory, -include-directory=,
10442 -include-directory-after, -include-directory-after=,
10443 -include-prefix, -include-prefix=, -include-with-prefix,
10444 -include-with-prefix=, -include-with-prefix-after,
10445 -include-with-prefix-after=, -include-with-prefix-before,
10446 -include-with-prefix-before=, -no-integrated-cpp,
10447 -no-line-commands, -no-standard-includes, -no-warnings, -output,
10448 -output=, -pedantic, -pedantic-errors, -preprocess,
10449 -print-missing-file-dependencies, -trace-includes, -traditional,
10450 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
10451 -user-dependencies, -verbose, -write-dependencies,
10452 -write-user-dependencies, no-integrated-cpp, traditional): New.
10453
29a80ea6
NP
104542010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10455
10456 PR objc/23710
ac1fc2fc
NP
10457 * c-common.h (objc_start_method_definition): Return bool instead
10458 of void.
10459 * stub-objc.c (objc_start_method_definition): Return bool instead
10460 of void.
10461
104622010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10463
10464 PR objc/25965
10465 * c-common.h (objc_get_interface_ivars): New declaration.
10466 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 10467
de621752
ILT
104682010-09-15 Ian Lance Taylor <iant@google.com>
10469
10470 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 10471 messages. Remove period at end of warning message.
de621752 10472
ba885ec5
NS
104732010-09-09 Nathan Sidwell <nathan@codesourcery.com>
10474
10475 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
10476 (handle_alias_attribute): ... here.
10477 (handle_ifunc_attribute): New.
10478
c5ee1358
MM
104792010-09-06 Mark Mitchell <mark@codesourcery.com>
10480
10481 * c-common.h (do_warn_double_promotion): Declare.
10482 * c-common.c (do_warn_double_promotion): Define.
10483
0a0b3574
MM
104842010-09-05 Mark Mitchell <mark@codesourcery.com>
10485
10486 * c.opt (Wdouble-promotion): New.
10487
d1779886
JM
104882010-09-02 Joseph Myers <joseph@codesourcery.com>
10489
10490 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
10491 fvtable-thunks, fxref): Mark no longer supported in help text.
10492
2d2bd949
JM
104932010-09-02 Joseph Myers <joseph@codesourcery.com>
10494
10495 * c.opt (Wimport, fall-virtual, falt-external-templates,
10496 fdefault-inline, fenum-int-equiv, fexternal-templates,
10497 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
10498 fname-mangling-version-, fnew-abi, fnonnull-objects,
10499 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
10500 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
10501 applicable.
10502 (fhandle-exceptions): Mark with Alias and Warn.
10503 * c-opts.c (c_common_handle_option): Don't handle options marked
10504 as ignored.
10505
5de8299c
JM
105062010-09-02 Joseph Myers <joseph@codesourcery.com>
10507
10508 * c.opt (Wcomments, Werror-implicit-function-declaration,
10509 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
10510 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
10511 aliases.
10512 * c-common.c (option_codes): Use OPT_Wcomment instead of
10513 OPT_Wcomments.
10514 * c-opts.c (warning_as_error_callback, c_common_handle_option):
10515 Don't handle options marked as aliases.
10516
0ceb0201
RG
105172010-08-25 Richard Guenther <rguenther@suse.de>
10518
10519 * c-common.c (c_common_get_alias_set): Remove special
10520 handling for pointers.
10521
ac47786e
NF
105222010-08-20 Nathan Froyd <froydnj@codesourcery.com>
10523
10524 * c-common.c: Use FOR_EACH_VEC_ELT.
10525 * c-gimplify.c: Likewise.
10526 * c-pragma.c: Likewise.
10527
c878765b
JM
105282010-08-16 Joseph Myers <joseph@codesourcery.com>
10529
10530 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
10531 RejectDriver.
10532 (MMDX): Change back to MMD. Mark NoDriverArg instead of
10533 RejectDriver.
10534 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
10535 instead of OPT_MDX and OPT_MMDX.
10536
603349bf
JM
105372010-08-16 Joseph Myers <joseph@codesourcery.com>
10538
10539 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
10540
644fa7ac
JM
105412010-08-12 Joseph Myers <joseph@codesourcery.com>
10542
10543 * c.opt (MD, MMD): Change to MDX and MMDX.
10544 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
10545
481e1176
JM
105462010-08-11 Joseph Myers <joseph@codesourcery.com>
10547
10548 * c-opts.c (c_common_handle_option): Call handle_generated_option
10549 instead of handle_option.
10550
ac8dc9f7
NF
105512010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10552
10553 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
10554 (maybe_apply_renaming_pragma): Delete unneeded declarations.
10555
4f8c876d
NF
105562010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10557
10558 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
10559 (pending_redefine_extname): Change type to a VEC.
10560 (add_to_renaming_pragma_list): Update for new type of
10561 pending_redefine_extname.
ac8dc9f7 10562 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 10563
3b0c690e
AC
105642010-08-04 Arnaud Charlet <charlet@adacore.com>
10565
10566 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
10567 visited.
10568 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
10569 decide whether a type has already been declared/seen.
10570 Do not go to the original type.
10571 (dump_nested_types): New parameter forward.
10572 Generate forward declaration if needed and mark type as visited.
10573 (print_ada_declaration): Call dump_nested_types if not already done.
10574 Mark types as visited.
10575
1890bccc
JM
105762010-08-03 Joseph Myers <joseph@codesourcery.com>
10577
10578 * c.opt (-print-pch-checksum): Remove option.
10579 * c-opts.c (c_common_handle_option): Don't handle
10580 OPT_print_pch_checksum.
10581
5f20c657
JM
105822010-07-27 Joseph Myers <joseph@codesourcery.com>
10583
10584 * c-common.h (c_common_handle_option): Update prototype and return
10585 value type.
10586 * c-opts.c (c_common_handle_option): Update prototype and return
10587 value type. Update calls to handle_option and
10588 enable_warning_as_error.
10589
f551f80c
JJ
105902010-07-27 Jakub Jelinek <jakub@redhat.com>
10591
10592 PR c/45079
10593 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
10594
61ff2bdc
JM
105952010-07-27 Joseph Myers <joseph@codesourcery.com>
10596
10597 * c-common.h (c_common_missing_argument): Remove.
10598 * c-opts.c (c_common_missing_argument): Remove.
10599 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
10600 idirafter, imacros, include, isysroot, isystem, iquote): Add
10601 MissingArgError.
10602 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
10603
7a9bf9a4
JM
106042010-07-27 Joseph Myers <joseph@codesourcery.com>
10605
10606 * c-common.h (c_common_option_lang_mask,
10607 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
10608 New.
10609 (c_common_init_options): Update prototype.
10610 * c-opts.c (c_common_option_lang_mask): New.
10611 (c_common_initialize_diagnostics): Split out of
10612 c_common_init_options.
10613 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
10614 New.
10615 (c_common_init_options): Update prototype. Use decoded options in
10616 search for -lang-asm.
10617
910ad8de
NF
106182010-07-15 Nathan Froyd <froydnj@codesourcery.com>
10619
10620 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
10621 * c-format.c: Likewise.
10622
718f9c0f
MLI
106232010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
10624
10625 * c-common.h: Include diagnostic-core.h. Error if already
10626 included.
10627 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
10628
4d451982
MLI
106292010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10630
adfac8df 10631 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
10632 Do not include expr.h
10633 (vector_mode_valid_p): Move here.
10634
119fe915
SB
106352010-06-21 DJ Delorie <dj@redhat.com>
10636
10637 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
10638 allow these pragmas anywhere.
10639
106402010-06-14 Jakub Jelinek <jakub@redhat.com>
10641
10642 PR bootstrap/44509
10643 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
10644 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
10645 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
10646 ggc_strdup instead of xstrdup.
10647
106482010-06-10 Jakub Jelinek <jakub@redhat.com>
10649
10650 * c-cppbuiltin.c: Include cpp-id-data.h.
10651 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
10652 (lazy_hex_fp_value): New function.
10653 (builtin_define_with_hex_fp_value): Provide definitions lazily.
10654
6662d794
MLI
106552010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10656
10657 * c-gimplify.c: Do not include tree-flow.h
10658
38f8b050
JR
106592010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
10660
10661 PR other/44034
10662 * c-common.c: Rename targetm member:
10663 targetm.enum_va_list -> targetm.enum_va_list_p
10664
9589f23e
AS
106652010-06-28 Anatoly Sokolov <aesok@post.ru>
10666
10667 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
10668
3b06d379
SB
106692010-06-28 Steven Bosscher <steven@gcc.gnu.org>
10670
10671 * c-cppbuiltin.c: Do not include except.h.
10672
d166d4c3
AK
106732010-06-24 Andi Kleen <ak@linux.intel.com>
10674
9faeb493
UB
10675 * c-common.c (warn_for_omitted_condop): New.
10676 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 10677
70cb8be6
JM
106782010-06-21 Joseph Myers <joseph@codesourcery.com>
10679
10680 * c.opt (lang-objc): Remove.
10681 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
10682
a4c97feb
JR
106832010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
10684
10685 * c-opts.c: Include "tm_p.h".
10686
6e2f1956
JM
106872010-06-20 Joseph Myers <joseph@codesourcery.com>
10688
10689 * c-common.c (parse_optimize_options): Update call to
10690 decode_options.
10691
bc87224e
NF
106922010-06-18 Nathan Froyd <froydnj@codesourcery.com>
10693
10694 * c-common.c (record_types_used_by_current_var_decl): Adjust for
10695 new type of types_used_by_cur_var_decl.
10696
b49cf425
JR
106972010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
10698
10699 PR bootstrap/44512
10700 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
10701 for C++ standard compliance.
10702
59f9c2ed
JM
107032010-06-16 Jason Merrill <jason@redhat.com>
10704
10705 * c.opt: Add -Wnoexcept.
10706
33766b66
RG
107072010-06-16 Richard Guenther <rguenther@suse.de>
10708
10709 PR c/44555
10710 * c-common.c (c_common_truthvalue_conversion): Remove
10711 premature and wrong optimization concering ADDR_EXPRs.
10712
eff7e30c
AC
107132010-06-15 Arnaud Charlet <charlet@adacore.com>
10714
10715 * c-ada-spec.c (dump_sloc): Remove column info.
10716 (is_simple_enum): New function.
10717 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
10718 enum types when relevant.
10719
6312e84d
MLI
107202010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10721
9faeb493 10722 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
10723 location.
10724
1cb42611
JM
107252010-06-10 Joseph Myers <joseph@codesourcery.com>
10726
10727 * c-opts.c (c_common_handle_option): Don't handle
10728 OPT_fshow_column.
10729
a9429e29
LB
107302010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
10731
10732 * c-pragma.c (push_alignment): Use typed GC allocation.
10733 (handle_pragma_push_options): Likewise.
10734
10735 * c-common.c (parse_optimize_options): Likewise.
10736
10737 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10738 option.
10739
5498f011
JM
107402010-06-07 Joseph Myers <joseph@codesourcery.com>
10741
10742 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10743 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10744 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10745 flag_signed_bitfields, warn_strict_null_sentinel,
10746 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10747 flag_gen_declaration, flag_no_gnu_keywords,
10748 flag_implement_inlines, flag_implicit_templates,
10749 flag_implicit_inline_templates, flag_optional_diags,
10750 flag_elide_constructors, flag_default_inline, flag_rtti,
10751 flag_conserve_space, flag_access_control, flag_check_new,
10752 flag_new_for_scope, flag_weak, flag_working_directory,
10753 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10754 flag_enforce_eh_specs, flag_threadsafe_statics,
10755 flag_pretty_templates): Remove.
10756 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10757 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10758 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10759 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10760 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10761 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10762 flag_no_gnu_keywords, flag_implement_inlines,
10763 flag_implicit_templates, flag_implicit_inline_templates,
10764 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10765 flag_rtti, flag_conserve_space, flag_access_control,
10766 flag_check_new, flag_new_for_scope, flag_weak,
10767 flag_working_directory, flag_use_cxa_atexit,
10768 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10769 flag_threadsafe_statics, flag_pretty_templates,
10770 warn_strict_null_sentinel): Remove.
10771 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10772 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10773 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10774 fimplicit-inline-templates, fimplicit-templates,
10775 flax-vector-conversions, fms-extensions, fnil-receivers,
10776 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10777 frtti, fshort-double, fshort-enums, fshort-wchar,
10778 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10779 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10780 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10781 gen-decls, undef): Use Var.
10782 (fdefault-inline, foptional-diags): Document as doing nothing.
10783 * c-opts.c (c_common_handle_option): Remove cases for options now
10784 using Var. Mark ignored options as such.
10785
39dabefd
SB
107862010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10787
9faeb493 10788 * c-common.c: Moved to here from parent directory.
39dabefd
SB
10789 * c-common.def: Likewise.
10790 * c-common.h: Likewise.
10791 * c-cppbuiltin.c: Likewise.
10792 * c-dump.c: Likewise.
10793 * c-format.c: Likewise.
10794 * c-format.h : Likewise.
10795 * c-gimplify.c: Likewise.
10796 * c-lex.c: Likewise.
10797 * c-omp.c: Likewise.
10798 * c.opt: Likewise.
10799 * c-opts.c: Likewise.
10800 * c-pch.c: Likewise.
10801 * c-ppoutput.c: Likewise.
10802 * c-pragma.c: Likewise.
10803 * c-pragma.h: Likewise.
10804 * c-pretty-print.c: Likewise.
10805 * c-pretty-print.h: Likewise.
10806 * c-semantics.c: Likewise.
10807 * stub-objc.c: Likewise.
10808
10809 * c-common.c: Include gt-c-family-c-common.h.
10810 * c-pragma.c: Include gt-c-family-c-pragma.h.
10811\f
8d9254fc 10812Copyright (C) 2010-2020 Free Software Foundation, Inc.
39dabefd
SB
10813
10814Copying and distribution of this file, with or without modification,
10815are permitted in any medium without royalty provided the copyright
10816notice and this notice are preserved.
This page took 3.689229 seconds and 5 git commands to generate.