PR c/92326 - wrong bound in zero-length array diagnostics
[gcc.git] / gcc / c-family / ChangeLog
1 2020-04-13 Martin Sebor <msebor@redhat.com>
2
3 PR c/92326
4 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
5 printing array bound for flexible array members.
6
7 2020-04-13 Iain Sandoe <iain@sandoe.co.uk>
8
9 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
10 define, per n4861.
11
12 2020-04-02 Richard Biener <rguenther@suse.de>
13
14 PR c/94392
15 * c-opts.c (c_common_post_options): Enable -ffinite-loops
16 for -O2 and C++11 or newer.
17
18 2020-03-28 Patrick Palka <ppalka@redhat.com>
19
20 * c.opt: Add -fconcepts-diagnostics-depth.
21
22 2020-03-27 Martin Sebor <msebor@redhat.com>
23
24 PR c++/94346
25 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
26 to decl_attributes. Make handling of different kinds of entities
27 more robust.
28
29 2020-03-27 Martin Sebor <msebor@redhat.com>
30
31 PR c++/94098
32 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
33 here.
34
35 2020-03-23 Jakub Jelinek <jakub@redhat.com>
36
37 PR c++/91993
38 * c-warn.c (warnings_for_convert_and_check): For expr and/or
39 result being COMPOUND_EXPRs, skip to ultimate rhs.
40
41 2020-03-20 Richard Sandiford <richard.sandiford@arm.com>
42
43 PR middle-end/94072
44 * c-common.c (c_common_type_for_mode): Before using a registered
45 built-in type, check that the vectorness of the type matches
46 the vectorness of the mode.
47
48 2020-03-17 Jakub Jelinek <jakub@redhat.com>
49
50 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
51 issue in a diagnostic message.
52
53 2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
54
55 * c.opt: Avoid redundancy in the help text.
56
57 2020-03-02 Marek Polacek <polacek@redhat.com>
58
59 PR c++/93958 - add missing -std=gnu++20.
60 * c.opt: Add -std=gnu++20.
61
62 2020-03-01 Martin Sebor <msebor@redhat.com>
63
64 PR c++/92721
65 * c-attribs.c (append_access_attrs): Correctly handle attribute.
66 (handle_access_attribute): Same.
67
68 2020-02-25 Jakub Jelinek <jakub@redhat.com>
69
70 PR c/93858
71 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
72 "did you mean" hint in diagnostics.
73
74 2020-02-15 Jason Merrill <jason@redhat.com>
75
76 * c.opt: Add -std=c++20.
77
78 2020-02-14 Eric Botcazou <ebotcazou@adacore.com>
79
80 * c-ada-spec.c: Include bitmap.h.
81 (dump_ada_double_name): Rename into...
82 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
83 (dump_ada_array_type): Adjust to above renaming. Robustify.
84 (dump_nested_types_1): New function copied from... Add dumped_types
85 parameter and pass it down to dump_nested_type.
86 (dump_nested_types): ...this. Remove parent parameter. Just call
87 dump_nested_types_1 on an automatic bitmap.
88 (dump_nested_type): Add dumped_types parameter.
89 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
90 Adjust recursive calls and adjust to above renaming.
91 (dump_ada_declaration): Adjust call to dump_nested_types.
92 Tidy up and adjust to above renaming.
93 (dump_ada_specs): Initialize and release bitmap obstack.
94
95 2020-02-10 Martin Sebor <msebor@redhat.com>
96
97 PR c/93640
98 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
99
100 2020-02-10 Jakub Jelinek <jakub@redhat.com>
101
102 PR other/93641
103 * c-format.c (check_plain): Fix up last argument of strncasecmp.
104 Remove useless extra test.
105
106 2020-02-03 Julian Brown <julian@codesourcery.com>
107 Tobias Burnus <tobias@codesourcery.com>
108
109 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
110
111 2020-01-29 Jason Merrill <jason@redhat.com>
112
113 PR c++/89357
114 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
115
116 2020-01-23 Jason Merrill <jason@redhat.com>
117
118 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
119
120 2020-01-23 Martin Sebor <msebor@redhat.com>
121
122 PR c/84919
123 * c-common.c (check_function_arguments): Avoid overlap checking
124 of sprintf functions.
125
126 2020-01-22 Jason Merrill <jason@redhat.com>
127
128 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
129 PR c++/40752
130 * c-warn.c (conversion_warning): Check operands only after checking
131 the whole expression. Don't check second operand of + for sign.
132
133 2020-01-21 Jason Merrill <jason@redhat.com>
134 Manuel López-Ibáñez <manu@gcc.gnu.org>
135
136 PR c++/40752 - useless -Wconversion with short +=.
137 * c.opt (-Warith-conversion): New.
138 * c-warn.c (conversion_warning): Recurse for operands of
139 operators. Only warn about the whole expression with
140 -Warith-conversion.
141
142 2020-01-21 Jason Merrill <jason@redhat.com>
143
144 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
145 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
146
147 2020-01-20 Nathan Sidwell <nathan@acm.org>
148
149 PR preprocessor/80005
150 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
151
152 2020-01-18 Iain Sandoe <iain@sandoe.co.uk>
153
154 * c-common.c (co_await, co_yield, co_return): New.
155 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
156 RID_CO_RETURN): New enumeration values.
157 (D_CXX_COROUTINES): Bit to identify coroutines are active.
158 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
159 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
160 * c.opt (fcoroutines): New command-line switch.
161
162 2020-01-10 David Malcolm <dmalcolm@redhat.com>
163
164 * c-format.c (local_event_ptr_node): New.
165 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
166 (init_dynamic_diag_info): Initialize local_event_ptr_node.
167 * c-format.h (T_EVENT_PTR): New define.
168
169 2020-01-10 Martin Sebor <msebor@redhat.com>
170
171 PR c/93132
172 * c-attribs.c (append_access_attrs): Validate against the translated
173 access string rather than the human-readable representation.
174
175 2020-01-01 Jakub Jelinek <jakub@redhat.com>
176
177 Update copyright years.
178
179 2019-12-20 Eric Botcazou <ebotcazou@adacore.com>
180
181 * c-ada-spec.h (decl_sloc): Delete.
182 * c-ada-spec.c (decl_sloc): Make static.
183
184 2019-12-19 Julian Brown <julian@codesourcery.com>
185
186 * c-common.h (c_omp_map_clause_name): Add prototype.
187 * c-omp.c (c_omp_map_clause_name): New function.
188 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
189 PRAGMA_OACC_CLAUSE_DETACH.
190
191 2019-12-19 Julian Brown <julian@codesourcery.com>
192 Maciej W. Rozycki <macro@codesourcery.com>
193 Tobias Burnus <tobias@codesourcery.com>
194 Thomas Schwinge <thomas@codesourcery.com>
195
196 * c-pragma.h (pragma_omp_clause): Add
197 PRAGMA_OACC_CLAUSE_NO_CREATE.
198
199 2019-12-17 Martin Sebor <msebor@redhat.com>
200
201 PR c++/61339
202 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
203
204 2019-12-11 David Malcolm <dmalcolm@redhat.com>
205
206 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
207 implementation.
208 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
209
210 2019-12-09 David Malcolm <dmalcolm@redhat.com>
211
212 * c-format.c (range_label_for_format_type_mismatch::get_text):
213 Replace label_text ctor called with true with label_text::take.
214
215 2019-12-09 David Malcolm <dmalcolm@redhat.com>
216
217 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
218 initial newline from expected outputs.
219 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
220 call to diagnostic_show_locus.
221
222 2019-12-06 Jakub Jelinek <jakub@redhat.com>
223
224 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
225 now.
226
227 2019-12-05 Marek Polacek <polacek@redhat.com>
228 Jakub Jelinek <jakub@redhat.com>
229
230 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
231 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
232
233 2019-12-05 Marek Polacek <polacek@redhat.com>
234
235 PR c++/92271 - make __is_same alias for __is_same_as.
236 * c-common.c: Add __is_same, an alias for __is_same_as.
237
238 2019-12-03 Marek Polacek <polacek@redhat.com>
239
240 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
241 * c-cppbuiltin.c (c_cpp_builtins): Predefine
242 __cpp_aggregate_paren_init=201902 for -std=c++2a.
243
244 2019-11-30 Jan Hubicka <hubicka@ucw.cz>
245
246 * c-attribs.c (handle_symver_attribute): New function
247 (c_common_attributes): Add symver.
248
249 2019-11-30 Richard Sandiford <richard.sandiford@arm.com>
250
251 * c-common.c (pointer_int_sum): Use verify_type_context to check
252 whether the target allows pointer arithmetic for the types involved.
253 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
254 to check whether the target allows sizeof and alignof operations
255 for the types involved.
256
257 2019-11-27 Jason Merrill <jason@redhat.com>
258
259 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
260
261 2019-11-26 Jakub Jelinek <jakub@redhat.com>
262
263 PR c++/61414
264 * c-attribs.c (handle_mode_attribute): Add mode attribute to
265 ENUMERAL_TYPEs.
266
267 2019-11-25 Joseph Myers <joseph@codesourcery.com>
268
269 PR c/91985
270 * c-common.c (c_common_type_for_mode): Handle decimal
271 floating-point types being NULL_TREE.
272 * c-format.c (get_format_for_type_1): Handle specified types being
273 NULL_TREE.
274 * c-lex.c (interpret_float): Give an error for decimal
275 floating-point constants when decimal floating-point not
276 supported.
277
278 2019-11-23 Jakub Jelinek <jakub@redhat.com>
279
280 PR middle-end/83859
281 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
282 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
283 group warning with inform together.
284 (handle_access_attribute): Formatting fix.
285
286 2019-11-22 Jakub Jelinek <jakub@redhat.com>
287
288 PR c/90677
289 * c-common.h (identifier_global_tag): Declare.
290 * c-format.c (get_pointer_to_named_type): Renamed to ...
291 (get_named_type): ... this. Use identifier_global_tag instead of
292 identifier_global_value, handle the return value being a TYPE_P.
293 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
294 to call get_named_type instead. Formatting fixes.
295
296 Implement P1902R1, Missing feature-test macros 2017-2019.
297 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
298 and __cpp_generic_lambdas for -std=c++2a. Define
299 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
300 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
301 __cpp_concepts for -std=c++2a.
302
303 2019-11-22 Martin Sebor <msebor@redhat.com>
304
305 PR middle-end/83859
306 * c-attribs.c (handle_access_attribute): New function.
307 (c_common_attribute_table): Add new attribute.
308 (get_argument_type): New function.
309 (append_access_attrs): New function.
310 (get_nonnull_operand): Rename...
311 (get_attribute_operand): ...to this.
312 * c-common.c (get_nonnull_operand): Rename...
313 (get_attribute_operand): ...to this.
314
315 2019-11-21 Joseph Myers <joseph@codesourcery.com>
316
317 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
318 of warning.
319
320 2019-11-19 Joseph Myers <joseph@codesourcery.com>
321
322 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
323 warning for standard attributes mixed with fallthrough attributes.
324
325 2019-11-15 Joseph Myers <joseph@codesourcery.com>
326
327 * c-attribs.c (handle_fallthrough_attribute): Remove static.
328 * c-common.h (handle_fallthrough_attribute): Declare.
329
330 2019-11-15 Joseph Myers <joseph@codesourcery.com>
331
332 * c-attribs.c (handle_deprecated_attribute): Remove static.
333 * c-common.h (handle_deprecated_attribute): Declare.
334
335 2019-11-14 Joseph Myers <joseph@codesourcery.com>
336
337 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
338 char for C.
339
340 2019-11-14 Jakub Jelinek <jakub@redhat.com>
341
342 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
343 valid vendors.
344
345 * c-omp.c (c_omp_check_context_selector): Handle name lists
346 containing string literals. Don't diagnose atomic_default_mem_order
347 with multiple props.
348
349 2019-11-13 Joseph Myers <joseph@codesourcery.com>
350
351 * c-cppbuiltin.c (builtin_define_float_constants): Also define
352 NORM_MAX constants. Update call to get_max_float.
353 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
354 constants.
355
356 2019-11-13 Eric Botcazou <ebotcazou@adacore.com>
357
358 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
359 (dump_forward_type): Do not generate a declaration for function types.
360 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
361 of the component type if it is declared in another file.
362
363 2019-11-12 Martin Liska <mliska@suse.cz>
364
365 * c-opts.c (c_common_post_options):
366 Use SET_OPTION_IF_UNSET.
367
368 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
369 Frederik Harwath <frederik@codesourcery.com>
370
371 gcc/c-family/
372 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
373 constant.
374 * c-pragma.c (oacc_pragmas): Add "serial" entry.
375
376 2019-11-08 Richard Sandiford <richard.sandiford@arm.com>
377
378 * c-common.h (gnu_vector_type_p): New function.
379 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
380 vectors to satisfy gnu_vector_type_p.
381 (c_build_vec_convert): Likewise __builtin_convertvector.
382 (convert_vector_to_array_for_subscript): Likewise when applying
383 implicit vector to array conversion.
384 (scalar_to_vector): Likewise when converting vector-scalar
385 operations to vector-vector operations.
386
387 2019-11-08 Joseph Myers <joseph@codesourcery.com>
388
389 * c.opt (Wold-style-definition): Initialize to -1.
390 * c-opts.c (c_common_post_options): Set warn_old_style_definition
391 to flag_isoc2x if not set explicitly.
392
393 2019-11-07 Joseph Myers <joseph@codesourcery.com>
394
395 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
396
397 2019-11-05 Jason Merrill <jason@redhat.com>
398
399 * c-opts.c (c_common_post_options): -fconcepts-ts implies
400 -fconcepts.
401
402 2019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
403
404 * c-opts.c (c_common_post_options): Update
405 latest_abi_version.
406
407 2019-11-02 Jakub Jelinek <jakub@redhat.com>
408
409 * c-common.h (c_omp_get_context_selector): Remove.
410 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
411 and renamed to omp_get_context_selector.
412
413 * c-omp.c (c_omp_mark_declare_variant): Use
414 omp_context_selector_set_compare.
415
416 PR c++/88335 - Implement P1073R3: Immediate functions
417 * c-common.h (enum rid): Add RID_CONSTEVAL.
418 * c-common.c (c_common_reswords): Add consteval.
419
420 2019-11-01 Martin Sebor <msebor@redhat.com>
421
422 PR middle-end/91679
423 PR middle-end/91647
424 PR middle-end/91463
425 PR middle-end/92312
426 * c-pretty-print.c (direct_abstract_declarator): Print
427 bound in zero-length arrays.
428 * c.opt (-Wzero-length-bounds): New option.
429
430 2019-10-30 Nathan Sidwell <nathan@acm.org>
431
432 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
433 macros.
434
435 2019-10-28 Martin Sebor <msebor@redhat.com>
436
437 PR c/66970
438 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
439 even when only preprocessing.
440 * c-common.h (names_builtin_p): Declare new function.
441 * c-lex.c (init_c_lex): Set has_builtin.
442 (c_common_has_builtin): Define a new function.
443 * c-ppoutput.c (init_pp_output): Set has_builtin.
444
445 2019-10-24 Jakub Jelinek <jakub@redhat.com>
446
447 * c-common.h (c_omp_context_selector_matches): Remove.
448 * c-omp.c (c_omp_context_selector_matches): Remove.
449 * c-attribs.c (c_common_attribute_table): Add
450 "omp declare target {host,nohost,block}" attributes.
451
452 2019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
453
454 * c-lex.c (c_common_has_attribute): Update nodiscard value.
455
456 2019-10-14 Richard Sandiford <richard.sandiford@arm.com>
457
458 * c-common.h (user_facing_original_type_p): Declare.
459 * c-common.c: Include c-spellcheck.h.
460 (user_facing_original_type_p): New function.
461
462 2019-10-12 Jakub Jelinek <jakub@redhat.com>
463
464 * c-common.h (c_omp_mark_declare_variant,
465 c_omp_context_selector_matches): Declare.
466 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
467 and hsa-common.h.
468 (c_omp_get_context_selector): Support second argument NULL.
469 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
470 functions.
471 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
472 attribute, add "omp declare variant base" and
473 "omp declare variant variant" attributes.
474
475 2019-10-11 Joseph Myers <joseph@codesourcery.com>
476
477 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
478 CppReason(CPP_W_C11_C2X_COMPAT).
479
480 2019-10-11 Joseph Myers <joseph@codesourcery.com>
481
482 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
483 _Decimal64 and _Decimal128.
484
485 2019-10-10 Joseph Myers <joseph@codesourcery.com>
486
487 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
488 types if DFP not supported.
489
490 2019-10-10 Jakub Jelinek <jakub@redhat.com>
491
492 * c-common.h (c_omp_check_context_selector,
493 c_omp_get_context_selector): Declare.
494 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
495 in diagnostic message.
496 (c_omp_check_context_selector, c_omp_get_context_selector): New
497 functions.
498 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
499 attribute.
500 (handle_omp_declare_variant_attribute): New function.
501
502 2019-10-09 Martin Sebor <msebor@redhat.com>
503
504 PR tree-optimization/90879
505 * c.opt (-Wstring-compare): New option.
506
507 2019-10-08 Andrew Sutton <asutton@lock3software.com>
508 Jason Merrill <jason@redhat.com>
509
510 Update the concepts implementation to conform to the C++20
511 specification, improve compile times, and generally clean up
512 the implementation.
513
514 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
515 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
516 * c.opt: Add -Wconcepts-ts.
517 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
518 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
519 (set_std_cxx2a): Enable concepts by default.
520
521 2019-10-08 Joseph Myers <joseph@codesourcery.com>
522
523 * c-opts.c (c_common_post_options): Set
524 -fno-fp-int-builtin-inexact for C2X.
525
526 2019-10-05 Jakub Jelinek <jakub@redhat.com>
527
528 PR c++/91369 - Implement P0784R7: constexpr new
529 * c-cppbuiltin.c (c_cpp_builtins): Predefine
530 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
531
532 2019-10-04 Joseph Myers <joseph@codesourcery.com>
533
534 PR c/82752
535 * c-format.c (C_STD_VER): Handle C2x.
536 (C_STD_NAME): Likewise.
537 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
538 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
539 modifier allowed and 'p' flag.
540 * c-format.h (enum format_std_version): Add STD_C2X.
541 (struct format_char_info): Mention 'p' in comment on flags2.
542
543 2019-10-01 David Malcolm <dmalcolm@redhat.com>
544
545 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
546 calling diagnostic_show_locus, rather than destroying it afterwards.
547
548 2019-10-01 Jakub Jelinek <jakub@redhat.com>
549
550 PR c++/91925
551 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
552 with NULL DECL_FIELD_OFFSET.
553
554 2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
555
556 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
557 has a type name, use it in preference to the __vector syntax.
558
559 2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
560
561 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
562 two spaces between a comma and "...".
563
564 2019-09-27 Jakub Jelinek <jakub@redhat.com>
565
566 PR c++/88203
567 * c-common.h (c_omp_predefined_variable): Declare.
568 * c-omp.c (c_omp_predefined_variable): New function.
569 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
570 for predefined variables.
571
572 2019-09-27 Richard Sandiford <richard.sandiford@arm.com>
573
574 * c-common.h (build_function_call_vec): Take the original
575 function decl as an optional final parameter.
576 (check_builtin_function_arguments): Take the original function decl.
577 * c-common.c (check_builtin_function_arguments): Likewise.
578 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
579 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
580
581 2019-09-15 Jason Merrill <jason@redhat.com>
582
583 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
584 fold_for_warn in "|| mask" warning.
585
586 2019-09-10 Martin Liska <mliska@suse.cz>
587
588 * c.opt: Use newly added WarnRemoved.
589
590 2019-09-09 Martin Liska <mliska@suse.cz>
591
592 * c.opt: Update comment of removed
593 options that are preserved only for backward
594 compatibility.
595
596 2019-09-06 Martin Liska <mliska@suse.cz>
597
598 PR c++/91125
599 * c-common.c: Remove definition of flag_use_repository.
600 * c-common.h: Likewise.
601 * c-opts.c (c_common_handle_option):
602 Do not handle OPT_frepo option.
603 * c.opt: Mark the option with Deprecated.
604
605 2019-09-04 Marek Polacek <polacek@redhat.com>
606
607 * c.opt (fdeduce-init-list): Ignored.
608
609 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
610
611 PR c/78736
612 * c.opt (Wenum-conversion): New option.
613
614 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
615
616 * c-attribs.c (handle_section_attribute): Call the
617 handle_generic_attribute target hook after performing target
618 independent processing.
619 (handle_noinit_attribute): Likewise.
620
621 2019-09-03 Ian Lance Taylor <iant@golang.org>
622
623 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
624 when using -fgo-dump-spec.
625
626 2019-09-02 Martin Liska <mliska@suse.cz>
627
628 PR c++/91155
629 * c-common.c (fname_as_string): Use cxx_printable_name for
630 __PRETTY_FUNCTION__ same as was used before r265711.
631
632 2019-08-28 Marek Polacek <polacek@redhat.com>
633
634 Implement P1152R4: Deprecating some uses of volatile.
635 PR c++/91361
636 * c-opts.c (c_common_post_options): Enable -Wvolatile by
637 default for C++2a, unless -Wno-deprecated.
638 * c.opt (Wvolatile): New warning.
639
640 2019-08-28 Marek Polacek <polacek@redhat.com>
641
642 PR c++/91360 - Implement C++20 P1143R2: constinit.
643 * c-common.c (c_common_reswords): Add constinit and __constinit.
644 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
645 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
646 RID_LAST_CXX20.
647 (D_CXX20): Define.
648 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
649 * c-format.c (cxx_keywords): Add "constinit".
650 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
651
652 2019-08-27 Jakub Jelinek <jakub@redhat.com>
653
654 PR c++/91415
655 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
656 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
657 like COMPOUND_EXPR rather than normal expression.
658
659 2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
660
661 PR pch/61250
662 * c-lex.c (c_lex_with_flags): Don't call
663 c_common_no_more_pch () from here.
664
665 2019-08-23 Jakub Jelinek <jakub@redhat.com>
666
667 PR middle-end/91283
668 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
669 instead of flag_excess_precision_cmdline.
670 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
671 * c-opts.c (c_common_post_options): Likewise.
672
673 2019-08-22 Martin Sebor <msebor@redhat.com>
674
675 PR middle-end/91490
676 * c-common.c (braced_list_to_string): Add argument and overload.
677 Handle flexible length arrays and unions.
678
679 2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
680
681 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
682 function declarations where arguments are missing. Rename variables.
683
684 2019-08-15 Richard Biener <rguenther@suse.de>
685
686 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
687 enabled, define __SIZETYPE__.
688
689 2019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
690
691 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
692 exclusion with "section" attribute.
693 (attr_noinit_exclusions): New table.
694 (handle_noinit_attribute): New function.
695
696 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
697
698 PR middle-end/91421
699 * c-common.c (resolve_overloaded_builtin): Use
700 copy_decl_built_in_function.
701
702 2019-08-13 Martin Sebor <msebor@redhat.com>
703
704 PR c/80619
705 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
706 (asm_fprintf_length_spec): Same.
707 * c-format.h (format_lengths): Add FMT_LEN_w.
708
709 2019-08-10 Jakub Jelinek <jakub@redhat.com>
710
711 * c-pragma.h (enum pragma_omp_clause): Add
712 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
713
714 2019-08-07 Jakub Jelinek <jakub@redhat.com>
715
716 * c-pragma.h (enum pragma_omp_clause): Add
717 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
718 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
719 enumeration value.
720
721 2019-08-05 Marek Polacek <polacek@redhat.com>
722
723 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
724 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
725 default for C++2a, unless -Wno-deprecated.
726 * c.opt (Wcomma-subscript): New warning.
727
728 2019-07-20 Jakub Jelinek <jakub@redhat.com>
729
730 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
731 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
732 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
733 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
734 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
735 constructs with the loop construct.
736
737 2019-07-13 Jakub Jelinek <jakub@redhat.com>
738
739 PR c/91149
740 * c-omp.c (c_omp_split_clauses): Fix a pasto in
741 OMP_CLAUSE_REDUCTION_TASK handling.
742
743 2019-07-12 Jakub Jelinek <jakub@redhat.com>
744
745 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
746 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
747
748 2019-07-09 Martin Sebor <msebor@redhat.com>
749
750 PR c++/61339
751 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
752 and others to class.
753 * c-pretty-print.h: Same.
754
755 2019-07-09 Martin Sebor <msebor@redhat.com>
756
757 PR c++/61339
758 * c-format.c (check_argument_type): Change class-key from class to
759 struct and vice versa to match convention and avoid -Wclass-is-pod
760 and -Wstruct-no-pod.
761 * c-pretty-print.h: Same.
762
763 2019-07-03 Martin Liska <mliska@suse.cz>
764
765 * c-common.c (try_to_locate_new_include_insertion_point): Remove
766 dead assignemts.
767
768 2019-07-03 Jakub Jelinek <jakub@redhat.com>
769
770 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
771 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
772 with OMP_PARALLEL.
773
774 2019-07-02 qing zhao <qing.zhao@oracle.com>
775
776 PR preprocessor/90581
777 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
778 * c.opt: Add new option -fmax-include-depth.
779
780 2019-06-26 Jason Merrill <jason@redhat.com>
781
782 PR c++/55442 - memory-hog with highly recursive constexpr.
783 * c.opt (fconstexpr-loop-limit): New.
784
785 2019-06-25 Jakub Jelinek <jakub@redhat.com>
786
787 PR sanitizer/90954
788 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
789 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
790
791 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
792
793 * c-common.c (c_common_nodes_and_builtins): Define
794 alternate "__intN__" name for "__intN" types.
795
796 2019-06-24 Jan Hubicka <jh@suse.cz>
797
798 * c-common.c (braced_lists_to_strings): Check that
799 type is array or integer prior checking string flag.
800
801 2019-06-21 Matthew Beliveau <mbelivea@redhat.com>
802
803 PR c++/90875 - added -Wswitch-outside-range option
804 * c.opt (Wswitch-outside-range): Added new option.
805 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
806
807 2019-06-21 Marek Polacek <polacek@redhat.com>
808
809 PR c++/90953 - ICE with -Wmissing-format-attribute.
810 * c-common.c (check_function_arguments_recurse): Use
811 get_attribute_name.
812 (check_missing_format_attribute): Likewise.
813
814 2019-06-19 Marek Polacek <polacek@redhat.com>
815
816 PR c++/60364 - noreturn after first decl not diagnosed.
817 * c-attribs.c (handle_noreturn_attribute): No longer static.
818 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
819 Declare.
820 * c-format.c (check_function_format): Use get_attribute_name.
821
822 2019-06-19 Martin Sebor <msebor@redhat.com>
823
824 PR translation/90156
825 * c-format.c (function_format_info::format_type): Adjust type.
826 (function_format_info::is_raw): New member.
827 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
828 (decode_format_attr): Adjust call to decode_format_type.
829 Avoid a redundant call to convert_format_name_to_system_name.
830 Avoid abbreviating the word "arguments" in a diagnostic.
831 (format_warning_substr): New function.
832 (avoid_dollar_number): Quote dollar sign in a diagnostic.
833 (finish_dollar_format_checking): Same.
834 (check_format_info): Same.
835 (struct baltoks_t): New.
836 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
837 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
838 functions.
839 (check_format_info_main): Call check_plain. Use baltoks_t. Call
840 maybe_diag_unbalanced_tokens.
841 (handle_format_attribute): Spell out the word "arguments" in
842 a diagnostic.
843
844 2019-06-11 Matthew Beliveau <mbelivea@redhat.com>
845
846 PR c++/90449 - add -Winaccessible-base option.
847 * c.opt (Winaccessible-base): New option.
848
849 2019-06-10 Jakub Jelinek <jakub@redhat.com>
850
851 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
852 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
853 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
854 combined/composite constructs where it is not allowed. Copy over
855 OMP_CLAUSE_REDUCTION_INSCAN.
856
857 2019-06-05 Martin Sebor <msebor@redhat.com>
858
859 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
860 (handle_alias_ifunc_attribute): Same.
861 (handle_copy_attribute): Same.
862 (handle_weakref_attribute): Same.
863 (handle_nonnull_attribute): Same.
864 * c-warn.c (warn_for_sign_compare): Same.
865 (warn_for_restrict): Same.
866 * c.opt: Same.
867
868 2019-06-05 Martin Sebor <msebor@redhat.com>
869
870 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
871 * c.opt (-Wformat-diag): Remove a spurious period.
872
873 2019-05-29 Jakub Jelinek <jakub@redhat.com>
874
875 PR c/90628
876 * c-common.c (check_builtin_function_arguments)
877 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
878 as last argument.
879
880 2019-05-23 Eric Botcazou <ebotcazou@adacore.com>
881
882 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
883
884 2019-05-22 Martin Liska <mliska@suse.cz>
885
886 PR lto/90500
887 * c-attribs.c (handle_copy_attribute): Do not copy
888 target_clones attribute.
889
890 2019-05-21 Eric Botcazou <ebotcazou@adacore.com>
891
892 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
893 * c-ada-spec.c (print_assignment_operator): New function.
894 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
895 assignment operators declared as methods and filter out the others.
896
897 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
898
899 PR c/89433
900 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
901 "omp declare target".
902
903 2019-05-16 Martin Sebor <msebor@redhat.com>
904
905 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
906 keywords, operators, and types in diagnostics.
907 (handle_scalar_storage_order_attribute): Same.
908 (handle_mode_attribute): Same.
909 (handle_visibility_attribute): Same.
910 (handle_assume_aligned_attribute): Same.
911 (handle_no_split_stack_attribute): Same.
912 * c-common.c (shorten_compare): Same.
913 (c_common_truthvalue_conversion): Same.
914 (cb_get_source_date_epoch): Same.
915 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
916 in diagnostics.
917 (interpret_float): Same.
918 * c-omp.c (c_finish_omp_for): Same.
919 * c-opts.c (c_common_post_options): Same.
920 * c-pch.c (c_common_pch_pragma): Same.
921 * c-pragma.c (pop_alignment): Same.
922 (handle_pragma_pack): Same.
923 (apply_pragma_weak): Same.
924 (handle_pragma_weak): Same.
925 (handle_pragma_scalar_storage_order): Same.
926 (handle_pragma_redefine_extname): Same.
927 (add_to_renaming_pragma_list): Same.
928 (maybe_apply_renaming_pragma): Same.
929 (push_visibility): Same.
930 (handle_pragma_visibility): Same.
931 (handle_pragma_optimize): Same.
932 (handle_pragma_message): Same.
933 * c-warn.c (warn_for_omitted_condop): Same.
934 (lvalue_error): Same.
935
936 2019-05-15 Richard Biener <rguenther@suse.de>
937
938 PR c/90474
939 * c-common.c (c_common_mark_addressable_vec): Also mark
940 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
941 c_mark_addressable.
942
943 2019-05-06 Nathan Sidwell <nathan@acm.org>
944
945 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
946
947 2019-04-30 Nathan Sidwell <nathan@acm.org>
948
949 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
950
951 2019-04-30 Martin Liska <mliska@suse.cz>
952
953 * c-pragma.c (handle_pragma_diagnostic): Provide hints
954 for unknown options.
955
956 2019-04-26 Richard Sandiford <richard.sandiford@arm.com>
957
958 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
959 the pointer target rather than the pointer itself.
960
961 2019-04-19 Jakub Jelinek <jakub@redhat.com>
962
963 PR c/89888
964 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
965 arguments.
966 (c_do_switch_warnings): Remove outside_range_p argument.
967 * c-common.c (check_case_bounds): Removed.
968 (c_add_case_label): Remove orig_type and outside_range_p arguments.
969 Don't call check_case_bounds. Fold low_value as well as high_value.
970 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
971 Check for case labels outside of range of original type here and
972 adjust them.
973
974 2019-04-12 Jakub Jelinek <jakub@redhat.com>
975
976 PR translation/90041
977 * c.opt (-fhandle-exceptions): Use %< and %> around option names
978 in the Warn diagnostics.
979
980 PR c/89946
981 * c-attribs.c (handle_patchable_function_entry_attribute): Add
982 function comment. Warn if arguments of the attribute are not positive
983 integer constants.
984
985 2019-04-09 Eric Botcazou <ebotcazou@adacore.com>
986
987 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
988 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
989
990 2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
991
992 * c-ada-spec.c (is_float128): New predicate extracted from...
993 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
994 <REAL_TYPE>: ...here. Call it.
995
996 2019-04-05 David Malcolm <dmalcolm@redhat.com>
997
998 PR c/89985
999 * c-warn.c (check_address_or_pointer_of_packed_member): Add
1000 auto_diagnostic_group. Guard inform calls by result of
1001 warning_at call.
1002
1003 2019-04-05 Marek Polacek <polacek@redhat.com>
1004
1005 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
1006 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
1007 of RHS.
1008
1009 2019-04-03 Jason Merrill <jason@redhat.com>
1010
1011 PR c++/86586 - -fcompare-debug=-Wsign-compare.
1012 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
1013
1014 2019-04-01 Martin Sebor <msebor@redhat.com>
1015
1016 PR c/89685
1017 * c-attribs.c (handle_copy_attribute): Handle references and
1018 non-constant expressions.
1019
1020 2019-03-22 Jakub Jelinek <jakub@redhat.com>
1021
1022 PR c++/87481
1023 * c.opt (-fconstexpr-ops-limit=): New option.
1024
1025 2019-03-21 Jakub Jelinek <jakub@redhat.com>
1026
1027 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
1028 template param.
1029
1030 2019-03-19 Martin Sebor <msebor@redhat.com>
1031
1032 PR tree-optimization/89688
1033 * c-common.c (braced_list_to_string): Make static.
1034 (braced_lists_to_strings): Define new function.
1035 * c-common.h (braced_list_to_string): Remove.
1036 (braced_lists_to_strings): Declare.
1037
1038 2019-03-12 Martin Liska <mliska@suse.cz>
1039
1040 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
1041
1042 2019-03-11 Martin Liska <mliska@suse.cz>
1043
1044 * c-opts.c (c_common_post_options): Wrap apostrophes
1045 in gcc internal format with %'.
1046
1047 2019-03-11 Martin Liska <mliska@suse.cz>
1048
1049 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
1050 in a string format message and fix GNU coding style.
1051 * c-common.c (vector_types_convertible_p): Likewise.
1052 (c_build_vec_perm_expr): Likewise.
1053 * c-indentation.c (get_visual_column): Likewise.
1054 * c-opts.c (c_common_handle_option): Likewise.
1055 (c_common_post_options): Likewise.
1056 (sanitize_cpp_opts): Likewise.
1057 * c-pch.c (c_common_pch_pragma): Likewise.
1058 * c-pragma.c (handle_pragma_pack): Likewise.
1059
1060 2019-03-08 Jakub Jelinek <jakub@redhat.com>
1061
1062 PR tree-optimization/89550
1063 * c-common.c (c_common_truthvalue_conversion): Only set
1064 TREE_NO_WARNING if warning_at returned true.
1065 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
1066
1067 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
1068 Martin Sebor <msebor@gmail.com>
1069
1070 * c.opt (Wmissing-attributes): Clean up doc string.
1071
1072 2019-02-25 Jakub Jelinek <jakub@redhat.com>
1073
1074 PR c/89495
1075 * c-format.c (maybe_read_dollar_number): Compute nargnum in
1076 HOST_WIDE_INT type to avoid overflows and change overflow_flag
1077 checking.
1078
1079 2019-02-22 Richard Biener <rguenther@suse.de>
1080
1081 * c-pch.c (no_checksum): Remove.
1082 (pch_init): Remove assertion that executable_checksum is not
1083 all zero.
1084 (c_common_valid_pch): Likewise.
1085
1086 2019-02-18 Martin Sebor <msebor@redhat.com>
1087
1088 PR middle-end/89294
1089 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
1090
1091 2019-02-16 David Malcolm <dmalcolm@redhat.com>
1092
1093 PR c++/88680
1094 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
1095 implementing -Wtype-limits.
1096
1097 2019-02-11 Martin Sebor <msebor@redhat.com>
1098
1099 PR c++/87996
1100 * c-common.c (invalid_array_size_error): New function.
1101 (valid_array_size_p): Call it. Handle size as well as type.
1102 * c-common.h (valid_constant_size_p): New function.
1103 (enum cst_size_error): New type.
1104
1105 2019-01-31 David Malcolm <dmalcolm@redhat.com>
1106
1107 PR c/89122
1108 * known-headers.cc (get_stdlib_header_for_name): Add
1109 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
1110
1111 2019-01-31 Jakub Jelinek <jakub@redhat.com>
1112
1113 PR libstdc++/88170
1114 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
1115 a C cast in pp_c_flag_gnu_v3 mode.
1116
1117 2019-01-29 Jakub Jelinek <jakub@redhat.com>
1118
1119 PR c/86125
1120 * c-common.c (c_common_nodes_and_builtins): Build type variants for
1121 builtin_structptr_types types even for C.
1122
1123 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1124
1125 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
1126 when rhs is of array type correctly. Fix handling of nested structures.
1127 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
1128 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
1129 type casts within nested compound expressions.
1130
1131 2019-01-22 Jakub Jelinek <jakub@redhat.com>
1132
1133 PR middle-end/88968
1134 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
1135 variable after using BIT_FIELD_REF.
1136
1137 2019-01-18 H.J. Lu <hongjiu.lu@intel.com>
1138
1139 PR c/51628
1140 PR c/88664
1141 * c-common.h (warn_for_address_or_pointer_of_packed_member):
1142 Remove the boolean argument.
1143 * c-warn.c (check_address_of_packed_member): Renamed to ...
1144 (check_address_or_pointer_of_packed_member): This. Also
1145 warn pointer conversion.
1146 (check_and_warn_address_of_packed_member): Renamed to ...
1147 (check_and_warn_address_or_pointer_of_packed_member): This.
1148 Also warn pointer conversion.
1149 (warn_for_address_or_pointer_of_packed_member): Remove the
1150 boolean argument. Don't check pointer conversion here.
1151
1152 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
1153
1154 PR inline-asm/52813
1155 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
1156
1157 2019-01-14 Jakub Jelinek <jakub@redhat.com>
1158
1159 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
1160 and __cpp_nontype_template_parameter_auto. Add a comment that
1161 __cpp_template_auto is deprecated.
1162
1163 2019-01-14 Tom Honermann <tom@honermann.net>
1164
1165 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
1166 * c-common.c (c_common_reswords): Add char8_t.
1167 (fix_string_type): Use char8_t for the type of u8 string literals.
1168 (c_common_get_alias_set): char8_t doesn't alias.
1169 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
1170 C++.
1171 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
1172 (keyword_begins_type_specifier): Add RID_CHAR8.
1173 * c-common.h (rid): Add RID_CHAR8.
1174 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
1175 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
1176 Define char8_type_node and char8_array_type_node.
1177 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
1178 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
1179 (c_cpp_builtins): Predefine __cpp_char8_t.
1180 * c-lex.c (lex_string): Use char8_array_type_node as the type of
1181 CPP_UTF8STRING.
1182 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
1183 * c-opts.c: If not otherwise specified, enable -fchar8_t when
1184 targeting C++2a.
1185 * c.opt: Add the -fchar8_t command line option.
1186
1187 2019-01-14 Martin Sebor <msebor@redhat.com>
1188
1189 PR target/88638
1190 * c-attribs.c (positional_argument): Call valid_format_string_type_p
1191 and issue errors if it fails.
1192 * c-common.h (valid_format_string_type_p): Declare.
1193 * c-format.c (valid_stringptr_type_p): Rename...
1194 (valid_format_string_type_p): ...to this and make extern.
1195 (handle_format_arg_attribute): Adjust to new name.
1196 (check_format_string): Same.
1197
1198 2019-01-13 H.J. Lu <hongjiu.lu@intel.com>
1199
1200 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
1201 Replace "may may" with "may" in warning message.
1202
1203 2019-01-07 Jakub Jelinek <jakub@redhat.com>
1204
1205 PR c++/85052
1206 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
1207 (c_build_vec_convert): Declare.
1208 * c-common.c (c_build_vec_convert): New function.
1209
1210 2019-01-04 Martin Sebor <msebor@redhat.com>
1211
1212 PR c/88546
1213 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
1214 Handle C++ empty throw specification and C11 _Noreturn.
1215 (has_attribute): Also handle C11 _Noreturn.
1216
1217 2019-01-04 Martin Sebor <msebor@redhat.com>
1218
1219 PR c/88363
1220 * c-attribs.c (positional_argument): Also accept enumerated types.
1221
1222 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1223
1224 Update copyright years.
1225
1226 2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1227
1228 PR c/51628
1229 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
1230 * c-warn.c (check_alignment_of_packed_member): New function.
1231 (check_address_of_packed_member): Likewise.
1232 (check_and_warn_address_of_packed_member): Likewise.
1233 (warn_for_address_or_pointer_of_packed_member): Likewise.
1234 * c.opt: Add -Wno-address-of-packed-member.
1235
1236 2018-12-20 David Malcolm <dmalcolm@redhat.com>
1237
1238 PR c++/87504
1239 * c-warn.c (get_outermost_macro_expansion): New function.
1240 (spelled_the_same_p): Use it to unwind the macro expansions, and
1241 compare the outermost macro in each nested expansion, rather than
1242 the innermost.
1243
1244 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1245
1246 PR c++/87504
1247 * c-common.h (warn_tautological_cmp): Convert 1st param from
1248 location_t to const op_location_t &.
1249 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1250 when testing for INTEGER_CST.
1251 (warn_tautological_bitwise_comparison): Convert 1st param from
1252 location_t to const op_location_t &; use it to build a
1253 binary_op_rich_location, and use this.
1254 (spelled_the_same_p): New function.
1255 (warn_tautological_cmp): Convert 1st param from location_t to
1256 const op_location_t &. Warn for macro expansions if
1257 spelled_the_same_p. Use binary_op_rich_location.
1258
1259 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1260
1261 PR c++/43064
1262 PR c++/43486
1263 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1264 (verify_tree): Handle location wrappers.
1265 (c_common_truthvalue_conversion): Strip any location wrapper.
1266 Handle CONST_DECL.
1267 (fold_offsetof): Strip any location wrapper.
1268 (complete_array_type): Likewise for initial_value.
1269 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1270 index before checking for INTEGER_CST.
1271 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1272 print parentheses around location wrappers.
1273 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1274 before checking for INTEGER_CST.
1275 (warn_tautological_bitwise_comparison): Call
1276 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1277 before checking for INTEGER_CST.
1278 (readonly_error): Strip any location wrapper.
1279 (warn_array_subscript_with_type_char): Strip location wrappers
1280 before checking for INTEGER_CST. Use the location of the index if
1281 available.
1282
1283 2018-12-06 Jason Merrill <jason@redhat.com>
1284
1285 PR c++/88136 - -Wdeprecated-copy false positives
1286 * c.opt (Wdeprecated-copy-dtor): New.
1287 (Wdeprecated-copy): Move to -Wextra.
1288
1289 2018-11-29 Martin Sebor <msebor@redhat.com>
1290
1291 PR c/88172
1292 PR testsuite/88208
1293 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1294 alignments to values less than the target requires.
1295 (has_attribute): For attribute aligned consider both the attribute
1296 and the alignment bits.
1297 * c-common.c (c_init_attributes): Optionally issue a warning for
1298 zero alignment.
1299
1300 2018-11-28 Martin Sebor <msebor@redhat.com>
1301
1302 PR c/88065
1303 PR c/87297
1304 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1305 or destination is an error.
1306
1307 2018-11-28 Jakub Jelinek <jakub@redhat.com>
1308
1309 PR c++/88215
1310 * c-ubsan.c: Include langhooks.h.
1311 (ubsan_instrument_division): Change gcc_assert that main variants
1312 of op0 and op1 types are equal to gcc_checking_assert that the
1313 main variants are compatible types.
1314
1315 2018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1316
1317 * c-ada-spec.c: Include stringpool.h.
1318 (has_static_fields): Return false for incomplete types.
1319 (is_tagged_type): Likewise.
1320 (has_nontrivial_methods): Likewise.
1321 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1322 (struct overloaded_name_hash): New structure.
1323 (struct overloaded_name_hasher): Likewise.
1324 (overloaded_names): New global variable.
1325 (init_overloaded_names): New static function.
1326 (overloaded_name_p): New predicate.
1327 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1328 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1329 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1330 Remove always-true condition and dump forward types.
1331 (dump_ada_specs): Delete overloaded_names.
1332
1333 2018-11-20 Martin Sebor <msebor@redhat.com>
1334
1335 * c-attribs.c (type_for_vector_size): New function.
1336 (type_valid_for_vector_size): Same.
1337 (handle_vector_size_attribute): Move code to the functions above
1338 and call them.
1339 (validate_attribute, has_attribute): New functions.
1340 * c-common.h (has_attribute): Declare.
1341 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1342 * c-common.c (c_common_resword): Same.
1343
1344 2018-11-16 Jason Merrill <jason@redhat.com>
1345
1346 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1347 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1348
1349 2018-11-16 Jakub Jelinek <jakub@redhat.com>
1350
1351 PR middle-end/87854
1352 * c-common.c (fix_string_type): Reject string literals larger than
1353 TYPE_MAX_VALUE (ssizetype) bytes.
1354
1355 2018-11-15 Martin Sebor <msebor@redhat.com>
1356
1357 PR c++/87541
1358 PR c++/87542
1359 * c-attribs.c (positional_argument): New function.
1360 (handle_alloc_size_attribute): Use it and simplify.
1361 (handle_alloc_align_attribute): Same.
1362 (handle_assume_aligned_attribute): Same.
1363 (handle_nonnull_attribute): Same.
1364 * c-common.c (check_function_arguments): Pass fntype to
1365 check_function_format.
1366 * c-common.h (check_function_format): Add an argument.
1367 (PosArgFlags, positional_argument): Declare new type and function.
1368 * c-format.c (decode_format_attr): Add arguments.
1369 (check_format_string, get_constant): Same.
1370 (convert_format_name_to_system_name): Adjust.
1371
1372 2018-11-15 David Malcolm <dmalcolm@redhat.com>
1373
1374 PR other/19165
1375 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
1376
1377 2018-11-14 Jakub Jelinek <jakub@redhat.com>
1378
1379 P1236R1 - Signed integers are two's complement
1380 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
1381 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
1382 with in-range second operand well defined for -std=c++2a.
1383
1384 PR other/88007
1385 * c-common.c (parse_optimize_options): Allocate option string from
1386 opts_obstack rather than as GC memory. Move the allocation after
1387 warning for invalid option.
1388
1389 2018-11-13 David Malcolm <dmalcolm@redhat.com>
1390
1391 * c-common.c (c_get_substring_location): Update for renaming of
1392 get_source_location_for_substring to get_location_within_string.
1393 * c-lex.c: Replace "source_location" with "location_t".
1394 * c-opts.c: Likewise.
1395 * c-ppoutput.c: Likewise.
1396
1397 2018-11-13 Martin Sebor <msebor@redhat.com>
1398
1399 PR middle-end/81824
1400 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
1401 (handle_tls_model_attribute): Improve diagnostics.
1402
1403 2018-11-12 Jason Merrill <jason@redhat.com>
1404
1405 * c-cppbuiltin.c (c_cpp_builtins): Define
1406 __cpp_impl_destroying_delete.
1407
1408 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1409 __cpp_conditional_explicit.
1410
1411 2018-11-09 Martin Sebor <msebor@redhat.com>
1412
1413 PR middle-end/81824
1414 * c-attribs.c (handle_copy_attribute): New function.
1415
1416 2018-11-09 Martin Sebor <msebor@redhat.com>
1417
1418 PR c/87795
1419 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1420
1421 2018-11-08 Jakub Jelinek <jakub@redhat.com>
1422
1423 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1424 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1425 enum omp_memory_order MEMORY_ORDER.
1426 (c_finish_omp_flush): Add MO argument.
1427 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1428 (c_finish_omp_for): Add FINAL_P argument.
1429 * c-omp.c: Include memmodel.h.
1430 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1431 OMP_TASKGROUP_CLAUSES to it.
1432 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1433 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
1434 instead of OMP_ATOMIC_SEQ_CST.
1435 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
1436 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
1437 __atomic_thread_fence call with the given value.
1438 (check_omp_for_incr_expr): Formatting fixes.
1439 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
1440 even in OpenMP loops, diagnose if NE_EXPR and incr expression
1441 is not constant expression 1 or -1. Transform NE_EXPR loops
1442 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
1443 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
1444 loops too.
1445 (c_omp_split_clauses): Add support for combined
1446 #pragma omp parallel master and
1447 #pragma omp {,parallel }master taskloop{, simd} constructs.
1448 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
1449 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
1450 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
1451 (c_omp_predetermined_sharing): Don't return
1452 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
1453 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
1454 PRAGMA_OMP_REQUIRES.
1455 * c-pragma.h (enum pragma_kind): Likewise.
1456 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
1457 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1458
1459 2018-11-08 David Malcolm <dmalcolm@redhat.com>
1460
1461 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
1462
1463 2018-11-08 David Malcolm <dmalcolm@redhat.com>
1464
1465 * c-format.c (local_cgraph_node_ptr_node): New variable.
1466 (gcc_dump_printf_char_table): Add entry for %C.
1467 (get_pointer_to_named_type): New function, taken from the handling
1468 code for "gimple *" from...
1469 (init_dynamic_diag_info): ...here. Add handling for
1470 "cgraph_node *".
1471 * c-format.h (T_CGRAPH_NODE): New.
1472
1473 2018-10-19 Jason Merrill <jason@redhat.com>
1474
1475 * c-cppbuiltin.c (c_cpp_builtins): Add
1476 __cpp_nontype_template_parameter_class.
1477
1478 2018-10-31 Nathan Sidwell <nathan@acm.org>
1479
1480 * c-opts.c (c_finish_options): Force command line macro
1481 location. Refactor to avoid repeating main debug hook.
1482 (push_command_line_include): Clarify comment.
1483
1484 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
1485
1486 2018-10-30 Martin Sebor <msebor@redhat.com>
1487
1488 PR middle-end/87041
1489 * c-format.c (check_format_types): Avoid diagnosing null pointer
1490 arguments to printf-family of functions.
1491
1492 2018-10-30 Marek Polacek <polacek@redhat.com>
1493
1494 Implement P0892R2, explicit(bool).
1495 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
1496
1497 2018-10-29 David Malcolm <dmalcolm@redhat.com>
1498
1499 * name-hint.h (name_hint::take_deferred): New member function.
1500
1501 2018-10-29 David Malcolm <dmalcolm@redhat.com>
1502
1503 PR c++/56856
1504 * c-common.c (check_function_sentinel): Call fold_for_warn on the
1505 argument.
1506 (check_function_restrict): Rename param "argarray" to
1507 "unfolded_argarray", and make a copy named "argarray", calling
1508 fold_for_warn on each argument.
1509 (check_function_arguments): Add note about responsibility for
1510 folding the arguments.
1511
1512 2018-10-17 Joseph Myers <joseph@codesourcery.com>
1513
1514 * c-common.c (flag_isoc2x): New variable.
1515 * c-common.h (clk_c): Update comment to reference C2X.
1516 (flag_isoc99, flag_isoc11): Update comments to reference future
1517 standard versions in general.
1518 (flag_isoc2x): Declare.
1519 * c-opts.c (set_std_c2x): New function.
1520 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
1521 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
1522 flag_isoc2x to 0.
1523 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
1524
1525 2018-10-17 Joseph Myers <joseph@codesourcery.com>
1526
1527 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
1528 (std=iso9899:2018): Document C17 as published in 2018.
1529
1530 2018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
1531
1532 PR c++/87364
1533 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
1534
1535 2018-10-11 Will Wray <wjwray@gmail.com>
1536
1537 PR c++/87364
1538 * c-pretty-print.h (pp_c_type_cast): Prototype.
1539 (pp_c_integer_constant): Likewise.
1540 * c-pretty-print.c (pp_c_type_cast): No longer static.
1541 (pp_c_integer_constant): Likewise.
1542 (pp_c_enumeration_constant): Fix loop termination when finding
1543 name of constant. No longer returns a value. Call
1544 pp_c_integer_constant.
1545 (c_pretty_printer::constant): Update for changes to
1546 pp_c_enumeration_constant.
1547
1548 2018-10-11 Jakub Jelinek <jakub@redhat.com>
1549
1550 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
1551 for no_unique_address.
1552
1553 2018-10-09 David Malcolm <dmalcolm@redhat.com>
1554
1555 * c-common.c (c_option_controlling_cpp_error): Rename to...
1556 (c_option_controlling_cpp_diagnostic): ...this, and convert
1557 "reason" from int to enum.
1558 (c_cpp_error): Rename to...
1559 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1560 * c-common.h (c_cpp_error): Rename to...
1561 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1562 * c-opts.c (c_common_init_options): Update for renaming.
1563
1564 2018-10-08 Richard Sandiford <richard.sandiford@arm.com>
1565
1566 PR c/87286
1567 * c-common.c (vector_types_compatible_elements_p): Use
1568 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
1569
1570 2018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
1571
1572 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
1573 to generate constructor destructor priority warning.
1574 * c.opt (-Wprio-ctor-dtor): New option.
1575
1576 2018-10-01 Jason Merrill <jason@redhat.com>
1577
1578 * c-lex.c (c_common_has_attribute): Add no_unique_address.
1579
1580 2018-10-01 Eric Botcazou <ebotcazou@adacore.com>
1581
1582 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
1583 (dump_ada_node): Add const keyword.
1584
1585 2018-09-25 Martin Liska <mliska@suse.cz>
1586
1587 * c-common.c (c_common_truthvalue_conversion):
1588 Remove Pascal from documentation.
1589
1590 2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
1591
1592 * c-ada-spec.c: Include diagnostic.h.
1593 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
1594
1595 2018-09-19 Marek Polacek <polacek@redhat.com>
1596
1597 * c.opt (Wclass-conversion): New.
1598
1599 2018-09-17 David Malcolm <dmalcolm@redhat.com>
1600
1601 * c-format.c (range_label_for_format_type_mismatch::get_text):
1602 Update for new param.
1603
1604 2018-09-17 David Malcolm <dmalcolm@redhat.com>
1605
1606 * c-format.c (format_warning_at_char): Update for introduction of
1607 format_string_diagnostic_t.
1608 (format_type_warning): Likewise.
1609
1610 2018-09-17 Martin Jambor <mjambor@suse.cz>
1611
1612 PR c/63886
1613 * c.opt (Wabsolute-value): New.
1614
1615 2018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
1616
1617 * c-common.c (complete_flexible_array_elts): New helper function.
1618 * c-common.h (complete_flexible_array_elts): Declare.
1619
1620 2018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1621
1622 * c-common.c (braced_list_to_string): Remove eval parameter.
1623 Add some more checks. Always create zero-terminated STRING_CST.
1624 * c-common.h (braced_list_to_string): Adjust prototype.
1625
1626 2018-08-27 David Malcolm <dmalcolm@redhat.com>
1627
1628 PR 87091
1629 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
1630 to a tri-state.
1631 (maybe_suggest_missing_token_insertion): Likewise.
1632 (maybe_add_include_fixit): Add param "override_location". If set,
1633 and source-printing is enabled, then override the rich_location's
1634 primary location with that of the insertion point for the fix-it
1635 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
1636 * c-common.h (extern void maybe_add_include_fixit): Add bool
1637 param.
1638 * c-format.c (selftest::test_type_mismatch_range_labels): Update
1639 for conversion of show_caret_p to a tri-state.
1640 * c-warn.c (warn_for_restrict): Likewise.
1641 * known-headers.cc
1642 (suggest_missing_header::~suggest_missing_header): Update call to
1643 maybe_add_include_fixit to suggest overriding the location, as it
1644 is for a note.
1645
1646 2018-08-27 Martin Liska <mliska@suse.cz>
1647
1648 * c-common.c (check_function_restrict): Use new function
1649 fndecl_built_in_p and remove check for FUNCTION_DECL if
1650 possible.
1651 (check_builtin_function_arguments): Likewise.
1652 (reject_gcc_builtin): Likewise.
1653 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
1654
1655 2018-08-26 Marek Polacek <polacek@redhat.com>
1656
1657 PR c++/87029, Implement -Wredundant-move.
1658 * c.opt (Wredundant-move): New option.
1659
1660 2018-08-21 Marek Polacek <polacek@redhat.com>
1661
1662 PR c++/86981, Implement -Wpessimizing-move.
1663 * c.opt (Wpessimizing-move): New option.
1664
1665 2018-08-20 David Malcolm <dmalcolm@redhat.com>
1666
1667 PR other/84889
1668 * c-attribs.c (common_handle_aligned_attribute): Add
1669 auto_diagnostic_group instance.
1670 * c-indentation.c (warn_for_misleading_indentation): Likewise.
1671 * c-opts.c (c_common_post_options): Likewise.
1672 * c-warn.c (warn_logical_not_parentheses): Likewise.
1673 (warn_duplicated_cond_add_or_warn): Likewise.
1674 (warn_for_multistatement_macros): Likewise.
1675
1676 2018-08-20 Nathan Sidwell <nathan@acm.org>
1677
1678 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
1679 access.
1680
1681 2018-08-17 Nathan Sidwell <nathan@acm.org>
1682
1683 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
1684 field.
1685 (laxy_hex_fp_value_count): Make unsigned.
1686 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
1687 manipulate the macro.
1688 (builtin_defin_with_hex_fp_value): Adjust callback name, use
1689 cpp_define_lazily.
1690
1691 2018-08-17 David Malcolm <dmalcolm@redhat.com>
1692
1693 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
1694 (gcc_dump_printf_length_specs): New.
1695 (gcc_dump_printf_flag_pairs): New.
1696 (gcc_dump_printf_flag_specs): New.
1697 (gcc_dump_printf_char_table): New.
1698 (format_types_orig): Add entry for "gcc_dump_printf".
1699 (init_dynamic_diag_info): Set up length_char_specs and
1700 conversion_specs for gcc_dump_printf_format_type.
1701 (handle_format_attribute): Handle gcc_dump_printf_format_type.
1702
1703 2018-08-17 Nathan Sidwell <nathan@acm.org>
1704
1705 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
1706
1707 * c-ada-spec.c: Don't #include "cpp-id-data.h"
1708 * c-cppbuiltin.c: Likewise.
1709
1710 2018-08-17 Martin Liska <mliska@suse.cz>
1711
1712 * c.opt: Remove Warn, Init and Report for options with
1713 Ignore/Deprecated flag. Warning is done automatically for
1714 Deprecated flags.
1715
1716 2018-08-16 David Malcolm <dmalcolm@redhat.com>
1717
1718 PR c++/70693
1719 * c-common.c (selftest::c_family_tests): Call
1720 selftest::c_indentation_c_tests.
1721 * c-common.h (selftest::c_indentation_c_tests): New decl.
1722 * c-indentation.c: Include "selftest.h".
1723 (next_tab_stop): Add "tab_width" param, rather than accessing
1724 cpp_opts.
1725 (get_visual_column): Likewise. Clarify comment. Bulletproof
1726 against reading past the end of the line.
1727 (get_first_nws_vis_column): Add "tab_width" param.
1728 (detect_intervening_unindent): Likewise.
1729 (should_warn_for_misleading_indentation): Read tab width from
1730 cpp_opts and pass around.
1731 (selftest::test_next_tab_stop): New test.
1732 (selftest::assert_get_visual_column_succeeds): New function.
1733 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
1734 (selftest::assert_get_visual_column_fails): New function.
1735 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
1736 (selftest::test_get_visual_column): New test.
1737 (selftest::c_indentation_c_tests): New function.
1738
1739 2018-08-16 Nathan Sidwell <nathan@acm.org>
1740
1741 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
1742 (store_ada_macro): Likewise.
1743 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
1744 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
1745
1746 2018-08-15 David Malcolm <dmalcolm@redhat.com>
1747
1748 * c-format.c: Include "selftest-diagnostic.h" and
1749 "gcc-rich-location.h".
1750 (format_warning_at_char): Pass NULL for new label params of
1751 format_warning_va.
1752 (class indirection_suffix): New class.
1753 (class range_label_for_format_type_mismatch): New class.
1754 (format_type_warning): Move logic for generating "*" suffix to
1755 class indirection_suffix. Create "fmt_label" and "param_label"
1756 to show their types, and pass them to the
1757 format_warning_at_substring calls.
1758 (selftest::test_type_mismatch_range_labels): New test.
1759 (selftest::c_format_c_tests): Call it.
1760
1761 2018-08-13 Martin Sebor <msebor@redhat.com>
1762
1763 PR tree-optimization/71625
1764 * c-common.c (braced_list_to_string): New function.
1765 * c-common.h (braced_list_to_string): Declare it.
1766
1767 2018-08-08 Nathan Sidwell <nathan@acm.org>
1768
1769 * c-common.c (try_to_locate_new_include_inertion_point): Use
1770 linemap_included_from_linemap.
1771 * c-lex.c (fe_file_change): Use linemap_included_from.
1772 * c-ppoutput.c (pp_file_change): Likewise.
1773
1774 2018-08-01 Martin Sebor <msebor@redhat.com>
1775
1776 PR tree-optimization/86650
1777 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
1778 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
1779 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
1780 * c-format.h (T89_G): Update to be "gimple *" rather than
1781 "gcall *".
1782 (local_gcall_ptr_node): Rename...
1783 (local_gimple_ptr_node): ...to this.
1784
1785 2018-07-31 David Malcolm <dmalcolm@redhat.com>
1786
1787 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
1788 table entries for gcc_diag_char_table, and the 'Z' entry from
1789 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
1790 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
1791 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
1792 adding missing "Z" for this table. Remove erroneous "G" and "K"
1793 entries.
1794 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1795 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
1796 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1797
1798 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
1799
1800 * c-common.c (speculation_safe_resolve_call): New function.
1801 (speculation_safe_resolve_params): New function.
1802 (speculation_safe_resolve_return): New function.
1803 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
1804 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
1805 __HAVE_SPECULATION_SAFE_VALUE.
1806
1807 2018-07-20 David Malcolm <dmalcolm@redhat.com>
1808
1809 * c-common.c (c_cpp_error): Remove redundant "line_table"
1810 parameter from call to rich_location::set_range.
1811 (maybe_suggest_missing_token_insertion): Likewise.
1812
1813 2018-07-20 Martin Sebor <msebor@redhat.com>
1814
1815 PR middle-end/82063
1816 * c.opt (-Warray-bounds): Remove redundant -Wall.
1817
1818 2018-07-20 Martin Sebor <msebor@redhat.com>
1819
1820 PR middle-end/82063
1821 * c-common.h (c_common_handle_option): Change function argument
1822 to HOST_WIDE_INT.
1823 * c-opts.c (c_common_init_options): Same.
1824 (c_common_handle_option): Same. Remove special handling of
1825 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
1826 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
1827 options to take a HOST_WIDE_INT argument and accept a byte-size
1828 suffix. Initialize.
1829 (-Wvla-larger-than): Same.
1830 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
1831 (-Wno-vla-larger-than): Same.
1832
1833 2018-07-12 Jakub Jelinek <jakub@redhat.com>
1834
1835 * c-attribs.c (c_common_attribute_table): Add
1836 "omp declare target implicit" attribute.
1837
1838 2018-07-12 Richard Biener <rguenther@suse.de>
1839
1840 PR c/86453
1841 * c-attribs.c (handle_packed_attribute): Do not build a variant
1842 type with TYPE_PACKED, instead ignore the attribute if we may
1843 not apply to the original type.
1844
1845 2018-07-10 Jakub Jelinek <jakub@redhat.com>
1846
1847 PR c++/86443
1848 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
1849 to contain TREE_LIST for both the original class iterator and the
1850 "last" helper var.
1851
1852 2018-07-07 Eric Botcazou <ebotcazou@adacore.com>
1853
1854 * c-ada-spec.c (to_ada_name): Remove index parameter.
1855 (pp_ada_tree_identifier): Likewise.
1856 (dump_ada_macros): Adjust call to to_ada_name.
1857 (struct overloaded_name_hash): Delete.
1858 (struct overloaded_name_hasher): Likewise.
1859 (overloaded_names): Likewise.
1860 (compute_overloading_index): Likewise.
1861 (dump_ada_decl_name): Do not call compute_overloading_index and
1862 adjust calls to pp_ada_tree_identifier.
1863 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1864 (dump_ada_import): Add spc parameter and switch to aspect syntax.
1865 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
1866 (dump_ada_enum_type): Remove type and display_convention parameters.
1867 Adjust calls to pp_ada_tree_identifier.
1868 (dump_ada_node): Likewise and for dump_ada_structure.
1869 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
1870 and tidy up.
1871 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
1872 syntax.
1873 (print_constructor): Adjust call to pp_ada_tree_identifier.
1874 (print_destructor): Likewise.
1875 (dump_ada_declaration): Switch to aspect syntax.
1876 (dump_ada_structure): Likewise and tidy up. Replace display_convention
1877 parameter with nested parameter.
1878 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
1879 (dump_ada_specs): Do not delete overloaded_names table.
1880
1881 2018-07-06 Peter Bergner <bergner@linux.ibm.com>
1882
1883 PR target/86324
1884 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
1885 target hook.
1886
1887 2018-07-05 Nathan Sidwell <nathan@acm.org>
1888
1889 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1890 NO_IMPLICIT_EXTERN_C.
1891
1892 2018-06-28 Martin Liska <mliska@suse.cz>
1893
1894 * cppspec.c: Include opt-suggestions.h.
1895
1896 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1897 Thomas Schwinge <thomas@codesourcery.com>
1898 Cesar Philippidis <cesar@codesourcery.com>
1899
1900 * c-pragma.h (enum pragma_omp_clause): Add
1901 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1902 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1903
1904 2018-06-20 Jakub Jelinek <jakub@redhat.com>
1905
1906 PR c++/86210
1907 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1908 comment.
1909
1910 2018-06-18 Martin Sebor <msebor@redhat.com>
1911
1912 PR middle-end/85602
1913 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1914 nonstring.
1915
1916 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1917
1918 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1919
1920 2018-06-13 Jason Merrill <jason@redhat.com>
1921
1922 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1923 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1924 handling.
1925
1926 PR c++/86094 - wrong code with defaulted move ctor.
1927 * c-opts.c (c_common_post_options): Bump the current ABI version to
1928 13. Set warn_abi_version and flag_abi_compat_version to the current
1929 version rather than 0. Fix defaulting flag_abi_compat_version from
1930 warn_abi_version.
1931
1932 2018-06-12 Martin Sebor <msebor@redhat.com>
1933
1934 PR c/85931
1935 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1936 sizeof source and destination yields the same value.
1937
1938 2018-06-12 Martin Liska <mliska@suse.cz>
1939
1940 * c.opt: Make MPX-related options as Deprecated.
1941
1942 2018-06-08 David Malcolm <dmalcolm@redhat.com>
1943
1944 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1945 rather than 0.
1946
1947 2018-06-08 Martin Liska <mliska@suse.cz>
1948
1949 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1950 for MPX (macros, related functions, fields in cgraph_node, ...).
1951 (handle_bnd_legacy): Likewise.
1952 (handle_bnd_instrument): Likewise.
1953 * c.opt: Likewise.
1954
1955 2018-06-06 Jakub Jelinek <jakub@redhat.com>
1956
1957 PR c++/86068
1958 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1959 __cpp_transactional_memory to 201500 instead of 210500.
1960
1961 2018-06-06 Jason Merrill <jason@redhat.com>
1962
1963 PR c++/85710 - ICE with -Wmemset-elt-size.
1964 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1965
1966 2018-06-01 Jason Merrill <jason@redhat.com>
1967
1968 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1969 201703.
1970
1971 2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1972
1973 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1974 declaration for a typedef independently of whether the declaration of
1975 the subtype is generated.
1976
1977 2018-05-31 Martin Sebor <msebor@redhat.com>
1978
1979 PR c/82063
1980 * c.opt (-Wno-alloc-size-larger-than): New option.
1981
1982 2018-04-22 David Pagan <dave.pagan@oracle.com>
1983
1984 PR c/55976
1985 * c-opts.c (c_common_post_options): Set default for warn_return_type
1986 for C++/C++ with ObjC extensions only. For C, makes it possible to
1987 differentiate between default (no option), -Wreturn-type, and
1988 -Wno-return-type.
1989
1990 2018-05-29 Jason Merrill <jason@redhat.com>
1991
1992 * c.opt (Winit-list-lifetime): New flag.
1993
1994 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1995
1996 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1997 splay_tree_delete_pointers.
1998
1999 2018-05-26 Jakub Jelinek <jakub@redhat.com>
2000
2001 PR bootstrap/85921
2002 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
2003 noinline variable to workaround broken kernel headers.
2004
2005 2018-05-18 Jason Merrill <jason@redhat.com>
2006
2007 * c.opt (Wdeprecated-copy): New flag.
2008
2009 2018-05-17 Martin Liska <mliska@suse.cz>
2010
2011 * c-warn.c (overflow_warning): Do not use
2012 space in between 'G_' and '('.
2013
2014 2018-05-09 Jason Merrill <jason@redhat.com>
2015
2016 * c-common.c (valid_array_size_p): Add complain parameter.
2017 * c-common.h: ...which defaults to true.
2018
2019 2018-05-11 Jakub Jelinek <jakub@redhat.com>
2020
2021 PR c/85696
2022 * c-omp.c (c_omp_predetermined_sharing): Return
2023 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
2024
2025 2018-05-11 Martin Liska <mliska@suse.cz>
2026
2027 PR sanitizer/85556
2028 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
2029 TREE_LIST values.
2030
2031 2018-05-10 Jakub Jelinek <jakub@redhat.com>
2032
2033 PR c++/85662
2034 * c-common.h (fold_offsetof_1): Removed.
2035 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
2036 CTX argument defaulted to ERROR_MARK.
2037 * c-common.c (fold_offsetof_1): Renamed to ...
2038 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
2039 argument, convert the pointer constant to TYPE and use size_binop
2040 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
2041 a pointer type. Adjust recursive calls.
2042
2043 2018-05-10 Eric Botcazou <ebotcazou@adacore.com>
2044
2045 PR c++/85400
2046 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
2047
2048 2018-05-07 Nathan Sidwell <nathan@acm.org>
2049
2050 * c.opt (ffor-scope): Remove functionality, issue warning.
2051
2052 2018-05-03 Nathan Sidwell <nathan@acm.org>
2053
2054 * c.opt (ffriend-injection): Remove functionality, issue warning.
2055
2056 2018-05-01 David Malcolm <dmalcolm@redhat.com>
2057
2058 PR c/84258
2059 * c-format.c (struct format_check_results): Add field
2060 "number_non_char".
2061 (check_format_info): Initialize it, and warn if encountered.
2062 (check_format_arg): Distinguish between wide char and
2063 everything else when detecting arrays of non-char.
2064
2065 2018-04-30 David Malcolm <dmalcolm@redhat.com>
2066
2067 * c-format.c (get_corrected_substring): Update for
2068 location_get_source_line returning a char_span. Use a char_span
2069 when handling the prefix of the correction.
2070 * c-indentation.c (get_visual_column): Update for
2071 location_get_source_line returning a char_span.
2072 (get_first_nws_vis_column): Likewise.
2073
2074 2018-03-29 David Malcolm <dmalcolm@redhat.com>
2075
2076 PR c++/84269
2077 * known-headers.cc (get_stdlib_header_for_name): Add various names
2078 from <assert.h>, <string.h>, and <memory.h>; add more names from
2079 <stdio.h>.
2080
2081 2018-03-27 Jakub Jelinek <jakub@redhat.com>
2082
2083 PR c++/85061
2084 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
2085 get_base_address of the second operand is a VAR_P, rather than the
2086 operand itself, and use gcc_checking_assert instead of gcc_assert.
2087
2088 2018-03-23 Marek Polacek <polacek@redhat.com>
2089
2090 PR c++/85045
2091 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
2092 <case RDIV_EXPR>: Tweak condition.
2093
2094 2018-03-20 Eric Botcazou <ebotcazou@adacore.com>
2095
2096 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
2097
2098 2018-03-16 Jakub Jelinek <jakub@redhat.com>
2099
2100 PR c/84909
2101 * c-warn.c (conversion_warning): Replace "to to" with "to" in
2102 diagnostics.
2103
2104 PR c/84910
2105 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
2106 diagnostics.
2107
2108 2018-03-16 Richard Biener <rguenther@suse.de>
2109
2110 PR c/84873
2111 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
2112 unshare the possibly folded expression.
2113
2114 2018-03-15 Richard Biener <rguenther@suse.de>
2115
2116 PR c/84873
2117 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
2118
2119 2018-03-13 Martin Sebor <msebor@redhat.com>
2120
2121 PR tree-optimization/84725
2122 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
2123 with all three narrow character types, including their qualified forms.
2124
2125 2018-03-12 Martin Sebor <msebor@redhat.com>
2126
2127 PR tree-optimization/83456
2128 * c-common.c (check_function_restrict): Return bool.
2129 Restore checking of bounded built-in functions.
2130 (check_function_arguments): Also return the result
2131 of warn_for_restrict.
2132 * c-common.c (check_function_restrict): Return bool.
2133 * c-warn.c (warn_for_restrict): Return bool.
2134
2135 2018-03-02 Marek Polacek <polacek@redhat.com>
2136
2137 PR c++/84171
2138 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
2139 is erroneous.
2140
2141 2018-03-02 Thomas Schwinge <thomas@codesourcery.com>
2142
2143 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
2144 function".
2145
2146 2018-03-01 Marek Polacek <polacek@redhat.com>
2147
2148 PR c++/84639
2149 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
2150 alignment in computation.
2151
2152 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2153
2154 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
2155 <REAL_TYPE>: Deal specifically with _Float128/__float128.
2156
2157 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2158
2159 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
2160 (is_char_array): Take a type instead of a declaration.
2161 (dump_ada_array_type): Likewise.
2162 (is_simple_enum): Minor tweak.
2163 (dump_ada_enum_type): New function extracted from...
2164 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
2165 <INTEGER_TYPE>: Remove unreachable code.
2166 <RECORD_TYPE>: Likewise. Minor tweaks.
2167 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
2168 <ENUMERAL_TYPE>: New case.
2169 <RECORD_TYPE>: Factor out common code.
2170 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
2171 Minor tweaks. Deal with enumeral types.
2172 (dump_ada_structure): Minor tweaks.
2173
2174 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2175
2176 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
2177 address for incomplete structures.
2178 (dump_forward_type): Do not bail out for incomplete structures.
2179 (dump_ada_declaration): Do not special-case incomplete structures
2180 for subtypes. Dump them as null records for types.
2181
2182 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2183
2184 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
2185 (is_char_array): Fix formatting.
2186 (dump_template_types): Likewise.
2187 (dump_generic_ada_node): Rename into...
2188 (dump_ada_node): ...this.
2189 <POINTER_TYPE>: Remove superfluous space. Use generic address for
2190 incomplete structures and not for empty structures. Do not use it
2191 when forward declarations are needed.
2192 (dump_forward_type): New function.
2193 (dump_nested_types): Remove FORWARD parameter. Do not consider
2194 TREE_VISITED and do not generate a forward declaration. Only dump
2195 original nested types for nested declaration.
2196 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
2197 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
2198 <RECORD_TYPE>: Do not consider TREE_VISITED.
2199 (dump_ada_declaration): Use booleans and fix formatting throughout.
2200 <TYPE_DECL>: Skip incomplete structures and not empty structures.
2201 Call dump_forward_type instead of dump_nested_types for a typedef.
2202 Remove superfluous check and adjust call to dump_nested_types.
2203 <POINTER_TYPE>: Call dump_forward_type and fall through.
2204 (dump_ada_struct_decl): Rename into...
2205 (dump_ada_structure): ...this. Do not special-case empty structures.
2206
2207 2018-02-27 Martin Sebor <msebor@redhat.com>
2208
2209 PR c++/83871
2210 * c.opt (-Wmissing-attributes): New option.
2211
2212 2018-02-21 Martin Liska <mliska@suse.cz>
2213
2214 * c.opt (Wcatch-value=): Add IntegerRange.
2215
2216 2018-02-15 Jason Merrill <jason@redhat.com>
2217
2218 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2219
2220 2018-02-09 Nathan Sidwell <nathan@acm.org>
2221
2222 PR c/84293
2223 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
2224 arg.
2225 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
2226 arg. Adjust.
2227
2228 2018-02-09 Martin Sebor <msebor@redhat.com>
2229
2230 PR lto/84212
2231 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
2232 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
2233 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
2234 (-Wstrict-overflow, -Wsuggest-attribute): Same.
2235 (-Wuninitialized): Same.
2236
2237 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2238
2239 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
2240 keyword for components.
2241
2242 2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
2243
2244 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
2245
2246 2018-02-02 Julia Koval <julia.koval@intel.com>
2247
2248 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2249
2250 2018-01-29 Marek Polacek <polacek@redhat.com>
2251
2252 PR c/83966
2253 * c-format.c (check_function_format): Check current_function_decl.
2254
2255 2018-01-27 Jakub Jelinek <jakub@redhat.com>
2256
2257 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2258 argument.
2259 (LAZY_HEX_FP_VALUES_CNT): Define.
2260 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2261 values rather than just 12.
2262 (builtin_define_with_hex_fp_value): Likewise.
2263
2264 2018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2265
2266 PR other/70268
2267 * c.opt (-fmacro-prefix-map): New option.
2268 * c-opts.c (c_common_handle_option): Handle it.
2269 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2270 * c-ppoutput.c (init_pp_output): Likewise.
2271
2272 2018-01-17 David Malcolm <dmalcolm@redhat.com>
2273
2274 PR c++/83814
2275 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2276
2277 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2278
2279 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2280 Skip 'f' and 'F' characters if it is true.
2281 (store_ada_macro): Minor tweak.
2282 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2283 <CPP_WSTRING>: Likewise.
2284 <CPP_STRING>: Output '&' in the buffer if not the first string.
2285 <CPP_NUMBER>: Adjust calls to dump_number.
2286
2287 2018-01-10 David Malcolm <dmalcolm@redhat.com>
2288
2289 PR c++/43486
2290 * c-common.c: Include "selftest.h".
2291 (get_atomic_generic_size): Perform the test for integral type
2292 before the range test for any integer constant, fixing indentation
2293 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2294 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2295 (selftest::test_fold_for_warn): New function.
2296 (selftest::c_common_c_tests): New function.
2297 (selftest::c_family_tests): Call it, and
2298 selftest::c_pretty_print_c_tests.
2299 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2300 * c-format.c (check_format_arg): Convert VAR_P check to a
2301 fold_for_warn.
2302 * c-pretty-print.c: Include "selftest.h".
2303 (pp_c_cast_expression): Don't print casts for location wrappers.
2304 (selftest::assert_c_pretty_printer_output): New function.
2305 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2306 (selftest::test_location_wrappers): New function.
2307 (selftest::c_pretty_print_c_tests): New function.
2308 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2309
2310 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2311 Alan Hayward <alan.hayward@arm.com>
2312 David Sherwood <david.sherwood@arm.com>
2313
2314 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2315
2316 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2317 Alan Hayward <alan.hayward@arm.com>
2318 David Sherwood <david.sherwood@arm.com>
2319
2320 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2321 as polynomial.
2322
2323 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2324 Alan Hayward <alan.hayward@arm.com>
2325 David Sherwood <david.sherwood@arm.com>
2326
2327 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2328 (convert_vector_to_array_for_subscript): Handle polynomial
2329 TYPE_VECTOR_SUBPARTS.
2330 (c_common_type_for_mode): Check valid_vector_subparts_p.
2331 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2332 VECTOR_CST_NELTS.
2333
2334 2018-01-03 Jakub Jelinek <jakub@redhat.com>
2335
2336 Update copyright years.
2337
2338 2017-12-22 Mike Stump <mikestump@comcast.net>
2339 Eric Botcazou <ebotcazou@adacore.com>
2340
2341 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2342 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2343
2344 2017-12-22 Alexandre Oliva <aoliva@redhat.com>
2345
2346 PR debug/83527
2347 PR debug/83419
2348 * c-semantics.c (only_debug_stmts_after_p): New.
2349 (pop_stmt_list): Clear side effects in debug-only stmt list.
2350 Check for single nondebug stmt followed by debug stmts only.
2351
2352 2017-12-21 Alexandre Oliva <aoliva@redhat.com>
2353
2354 PR debug/83419
2355 * c-semantics.c (pop_stmt_list): Propagate side effects from
2356 single nondebug stmt to container list.
2357
2358 2017-12-19 Jakub Jelinek <jakub@redhat.com>
2359
2360 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
2361 conditions with typical order conditions.
2362
2363 2017-12-18 Marek Polacek <polacek@redhat.com>
2364
2365 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
2366 not in effect.
2367
2368 2017-12-17 Martin Sebor <msebor@redhat.com>
2369
2370 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
2371 an error for attribute warn_if_not_aligned.
2372
2373 2017-12-16 Martin Sebor <msebor@redhat.com>
2374
2375 PR tree-optimization/78918
2376 * c-common.c (check_function_restrict): Avoid checking built-ins.
2377 * c.opt (-Wrestrict): Include in -Wall.
2378
2379 2017-12-15 Jakub Jelinek <jakub@redhat.com>
2380
2381 * c-attribs.c (c_common_attribute_table,
2382 c_common_format_attribute_table): Swap affects_type_identity
2383 and handler fields, adjust comments.
2384
2385 2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
2386
2387 * c.opt (Wcast-function-type): New warning option.
2388 * c-lex.c (get_fileinfo): Avoid warning.
2389 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
2390
2391 2017-12-14 Qing Zhao <qing.zhao@oracle.com>
2392
2393 PR middle_end/79538
2394 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
2395 Adjust the size of buf1 and buf2, add a new buf to avoid
2396 format-overflow warning.
2397
2398 2017-12-12 Alexandre Oliva <aoliva@redhat.com>
2399
2400 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
2401 subsequent statement list.
2402
2403 2017-12-07 Martin Sebor <msebor@redhat.com>
2404
2405 PR c/81544
2406 PR c/81566
2407 * c-attribs.c (attr_aligned_exclusions): New array.
2408 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2409 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2410 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2411 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2412 (attr_warn_unused_result_exclusions): Same.
2413 (handle_hot_attribute, handle_cold_attribute): Simplify.
2414 (handle_const_attribute): Warn on function returning void.
2415 (handle_pure_attribute): Same.
2416 (handle_aligned_attribute): Diagnose conflicting attribute
2417 specifications.
2418 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2419
2420 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2421
2422 PR c/83236
2423 * c-common.c (selftest::c_family_tests): Call
2424 selftest::c_spellcheck_cc_tests.
2425 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2426 * c-spellcheck.cc: Include "selftest.h".
2427 (name_reserved_for_implementation_p): New function.
2428 (should_suggest_as_macro_p): New function.
2429 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2430 should_suggest_as_macro_p and call it.
2431 (selftest::test_name_reserved_for_implementation_p): New function.
2432 (selftest::c_spellcheck_cc_tests): New function.
2433 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
2434
2435 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2436
2437 * c-spellcheck.cc: New file, taken from macro-handling code in
2438 spellcheck-tree.c.
2439 * c-spellcheck.h: New file, taken from macro-handling code in
2440 spellcheck-tree.h.
2441
2442 2017-12-01 Jakub Jelinek <jakub@redhat.com>
2443
2444 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
2445 attribute.
2446 (handle_simd_attribute): Don't check for "cilk simd function"
2447 attribute. Reindent, formatting changes.
2448
2449 2017-11-30 Julia Koval <julia.koval@intel.com>
2450
2451 * c-common.h (inv_list): Remove.
2452
2453 2017-11-28 Jakub Jelinek <jakub@redhat.com>
2454
2455 PR sanitizer/81275
2456 * c-common.c (c_switch_covers_all_cases_p_1,
2457 c_switch_covers_all_cases_p): New functions.
2458 * c-common.h (c_switch_covers_all_cases_p): Declare.
2459
2460 2017-11-28 Julia Koval <julia.koval@intel.com>
2461 Sebastian Peryt <sebastian.peryt@intel.com>
2462
2463 * array-notation-common.c: Delete.
2464 * c-cilkplus.c: Ditto.
2465 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
2466 * c-common.def (ARRAY_NOTATION_REF): Remove.
2467 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
2468 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
2469 c_validate_cilk_plus_loop, cilkplus_an_parts,
2470 cilk_ignorable_spawn_rhs_op,
2471 cilk_recognize_spawn): Remove.
2472 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
2473 * c-omp.c: Remove CILK_SIMD check.
2474 * c-pragma.c: Ditto.
2475 * c-pragma.h: Remove CILK related pragmas.
2476 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
2477 ARRAY_NOTATION_REF condition.
2478 (c_pretty_printer::expression): Ditto.
2479 * c.opt (fcilkplus): Remove.
2480 * cilk.c: Delete.
2481
2482 2017-11-21 Marc Glisse <marc.glisse@inria.fr>
2483
2484 * c-pretty-print.c (pp_c_additive_expression,
2485 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
2486
2487 2017-11-21 Jakub Jelinek <jakub@redhat.com>
2488
2489 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
2490
2491 PR c++/83059
2492 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
2493 instead of tree_to_uhwi, formatting fix.
2494
2495 2017-11-20 David Malcolm <dmalcolm@redhat.com>
2496
2497 PR c/81404
2498 * known-headers.cc: New file, based on material from c/c-decl.c.
2499 (suggest_missing_header): Copied as-is.
2500 (get_stdlib_header_for_name): New, based on get_c_name_hint but
2501 heavily edited to add C++ support. Add some knowledge about
2502 <limits.h>, <stdint.h>, and <wchar.h>.
2503 * known-headers.h: Likewise.
2504
2505 2017-11-20 David Malcolm <dmalcolm@redhat.com>
2506
2507 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
2508 (lookup_name_fuzzy): Likewise. Convert return type from
2509 const char * to name_hint. Add location_t param.
2510 * name-hint.h: New header.
2511
2512 2017-11-19 Jakub Jelinek <jakub@redhat.com>
2513
2514 PR c/66618
2515 PR c/69960
2516 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
2517
2518 2017-11-16 Joseph Myers <joseph@codesourcery.com>
2519
2520 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
2521 expected publication date of C17.
2522 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
2523
2524 2017-11-15 Joseph Myers <joseph@codesourcery.com>
2525
2526 PR c/81156
2527 * c-common.c (c_common_reswords): Add __builtin_tgmath.
2528 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
2529
2530 2017-11-10 Martin Sebor <msebor@redhat.com>
2531
2532 PR c/81117
2533 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
2534 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
2535 * c.opt (-Wstringop-truncation): New option.
2536
2537 2017-11-06 Martin Liska <mliska@suse.cz>
2538
2539 PR middle-end/82404
2540 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
2541 FE.
2542 * c.opt: Set default value of warn_return_type.
2543
2544 2017-10-31 David Malcolm <dmalcolm@redhat.com>
2545
2546 * c-common.c (binary_op_error): Update for renaming of
2547 error_at_rich_loc.
2548 (c_parse_error): Likewise.
2549 * c-warn.c (warn_logical_not_parentheses): Likewise for
2550 renaming of inform_at_rich_loc.
2551 (warn_for_restrict): Likewise for renaming of
2552 warning_at_rich_loc_n.
2553
2554 2017-10-30 Joseph Myers <joseph@codesourcery.com>
2555
2556 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
2557 * c-opts.c (set_std_c17): New function.
2558 (c_common_init_options): Use gnu17 as default C version.
2559 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
2560
2561 2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
2562
2563 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
2564 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
2565 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
2566 __FP_FAST_FMA<N>X.
2567
2568 2017-10-23 Marek Polacek <polacek@redhat.com>
2569
2570 PR c/82681
2571 * c-warn.c (warnings_for_convert_and_check): Fix typos.
2572
2573 2017-10-19 Eric Botcazou <ebotcazou@adacore.com>
2574
2575 * c-common.c (check_builtin_function_arguments): Also check arguments
2576 of __builtin_alloca_with_align_and_max.
2577
2578 2017-10-17 David Malcolm <dmalcolm@redhat.com>
2579
2580 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
2581 rather than NULL to format_warning_va.
2582 (check_format_types): Likewise when calling format_type_warning.
2583 Remove code to extract source_ranges and source_range * in favor
2584 of just a location_t.
2585 (format_type_warning): Convert source_range * param to a
2586 location_t.
2587
2588 2017-10-13 Jakub Jelinek <jakub@redhat.com>
2589
2590 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
2591 [LR]SHIFT_EXPR.
2592
2593 2017-10-12 David Malcolm <dmalcolm@redhat.com>
2594
2595 * c-common.c (enum missing_token_insertion_kind): New enum.
2596 (get_missing_token_insertion_kind): New function.
2597 (maybe_suggest_missing_token_insertion): New function.
2598 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
2599
2600 2017-10-11 Nathan Sidwell <nathan@acm.org>
2601
2602 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
2603 (c_common_handle_option): Update incpath_kind names.
2604
2605 2017-10-11 Martin Liska <mliska@suse.cz>
2606
2607 PR sanitizer/82490
2608 * c-attribs.c (handle_no_sanitize_attribute): Report directly
2609 Wattributes warning.
2610
2611 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
2612
2613 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
2614 operating on trees as wide_ints.
2615 * c-common.c (pointer_int_sum): Likewise.
2616 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2617 * c-warn.c (match_case_to_enum_1): Likewise.
2618 (c_do_switch_warnings): Likewise.
2619 (maybe_warn_shift_overflow): Likewise.
2620
2621 2017-10-10 Jakub Jelinek <jakub@redhat.com>
2622
2623 PR c/82437
2624 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
2625 instead of wide_int::from.
2626
2627 2017-10-06 Jakub Jelinek <jakub@redhat.com>
2628
2629 PR c/82437
2630 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
2631 using to_widest use wide_int with the larger of the two precisions.
2632
2633 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2634
2635 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
2636 functions.
2637
2638 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
2639
2640 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
2641 when combining the original unconverted comparison operands.
2642
2643 2017-09-29 Jakub Jelinek <jakub@redhat.com>
2644
2645 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
2646 attribute.
2647
2648 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2649
2650 * c-ada-spec.c (to_ada_name): Add index parameter.
2651 (pp_ada_tree_identifier): Likewise.
2652 (dump_ada_macros): Adjust call to to_ada_name.
2653 (struct overloaded_name_hash): New type.
2654 (struct overloaded_name_hasher): Likewise.
2655 (overloaded_names): New hash table.
2656 (compute_overloading_index): New function.
2657 (dump_ada_decl_name): Call it and pass the result to
2658 pp_ada_tree_identifier.
2659 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2660 (dump_ada_function_declaration): Likewise.
2661 (dump_generic_ada_node): Likewise.
2662 (print_constructor): Likewise.
2663 (print_destructor): Likewise.
2664 (dump_ada_specs): Delete overloaded_names table.
2665
2666 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2667
2668 * c-ada-spec.c (max_ada_macros): Move around.
2669 (store_ada_macro_index): Likewise.
2670 (source_file): Rename into...
2671 (macro_source_file): ...this.
2672 (count_ada_macro): Move around.
2673 (store_ada_macro): Likewise.
2674 (compare_macro): Likewise.
2675 (print_ada_macros): Merge in...
2676 (dump_ada_macros): ...this.
2677 (source_file_base): Rename into...
2678 (current_source_file): ...this.
2679 (print_comment): Move around.
2680 (dump_ada_nodes): Call dump_ada_declaration directly.
2681 (struct with): Change type of limited field to bool.
2682 (append_withs): Change type of limited_access parameter to bool.
2683 (pp_ada_tree_identifie): Likewise.
2684 (dump_ada_decl_nam): Likewise.
2685 (dump_generic_ada_node): Likewise. Do not print the return type.
2686 (to_ada_name): Change type of space_found parameter to bool.
2687 (dump_ada_function_declaration): Return void and change type of
2688 parameters to bool. Also print the return type for a function.
2689 (print_ada_methods): Rename into...
2690 (dump_ada_methods): ...this.
2691 (print_ada_declaration): Rename into ...
2692 (dump_ada_declaration): ...this. Do not print the return type.
2693 (print_ada_struct_decl): Rename into...
2694 (dump_ada_struct_decl): ...this.
2695
2696 2017-09-29 Jakub Jelinek <jakub@redhat.com>
2697
2698 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
2699 rather than DECL_INITIAL.
2700 (common_handle_aligned_attribute): Likewise.
2701
2702 2017-09-20 Alexandre Oliva <aoliva@redhat.com>
2703
2704 * c.opt (gen-decls): Add RejectNegative.
2705
2706 2017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
2707 Jakub Jelinek <jakub@redhat.com>
2708
2709 Add support for -std=c++2a.
2710 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
2711 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
2712 * c-opts.c (set_std_cxx2a): New.
2713 (c_common_handle_option): Set options when -std=c++2a is enabled.
2714 (c_common_post_options): Adjust comments.
2715 (set_std_cxx14, set_std_cxx17): Likewise.
2716
2717 2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
2718
2719 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
2720 message for non-uniform endianness and issue a warning in C++.
2721
2722 2017-09-15 Jakub Jelinek <jakub@redhat.com>
2723
2724 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
2725 (Wc++17-compat): Change from undocumented alias to option.
2726 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
2727 change C++1z to C++17 in description.
2728 (std=c++1z, std=gnu++1z): Change from option to undocumented
2729 deprecated alias.
2730 (std=c++17, std=gnu++17): Change from undocumented alias to option.
2731 Adjust description.
2732 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
2733 * c-opts.c (set_std_cxx1z): Rename to ...
2734 (set_std_cxx17): ... this.
2735 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
2736 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
2737 caller.
2738 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
2739 comments.
2740
2741 2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
2742
2743 * c-attribs.c (common_handle_aligned_attribute): Don't warn
2744 function alignment if warn_if_not_aligned_p is true.
2745
2746 2017-09-12 Nathan Sidwell <nathan@acm.org>
2747
2748 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
2749 resort_sorted_fields): Move to c/c-decl.c.
2750 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
2751 (struct sorted_fields_type): Move to c/c-lang.h.
2752
2753 2017-09-09 Jonathan Wakely <jwakely@redhat.com>
2754
2755 PR c++/81852
2756 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
2757
2758 2017-09-04 Marek Polacek <polacek@redhat.com>
2759
2760 PR c/81783
2761 * c-warn.c (warn_tautological_bitwise_comparison): New function.
2762 (warn_tautological_cmp): Call it.
2763
2764 2017-09-01 Boris Kolpackov <boris@codesynthesis.com>
2765
2766 * c-opts.c (c_common_finish): Write dependency information even if
2767 there are errors.
2768
2769 2017-09-01 Jakub Jelinek <jakub@redhat.com>
2770
2771 PR c/81887
2772 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
2773 (omp_pragmas_simd): ... here.
2774 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
2775 create new clauses list containing just simd clause.
2776
2777 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2778 Alan Hayward <alan.hayward@arm.com>
2779 David Sherwood <david.sherwood@arm.com>
2780
2781 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
2782 into scalar_mode_supported_p call.
2783 (handle_mode_attribute): Update call to scalar_mode_supported_p.
2784
2785 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2786 Alan Hayward <alan.hayward@arm.com>
2787 David Sherwood <david.sherwood@arm.com>
2788
2789 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
2790 for the mode iterator.
2791
2792 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2793 Alan Hayward <alan.hayward@arm.com>
2794 David Sherwood <david.sherwood@arm.com>
2795
2796 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
2797 * c-common.c (c_build_vec_perm_expr): Likewise.
2798
2799 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2800 Alan Hayward <alan.hayward@arm.com>
2801 David Sherwood <david.sherwood@arm.com>
2802
2803 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
2804
2805 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2806 Alan Hayward <alan.hayward@arm.com>
2807 David Sherwood <david.sherwood@arm.com>
2808
2809 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
2810 before calling targetm.addr_space.valid_pointer_mode.
2811
2812 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2813 Alan Hayward <alan.hayward@arm.com>
2814 David Sherwood <david.sherwood@arm.com>
2815
2816 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
2817
2818 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2819 Alan Hayward <alan.hayward@arm.com>
2820 David Sherwood <david.sherwood@arm.com>
2821
2822 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
2823 iterators.
2824 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2825
2826 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2827 Alan Hayward <alan.hayward@arm.com>
2828 David Sherwood <david.sherwood@arm.com>
2829
2830 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
2831 case statements.
2832
2833 2017-08-29 Martin Liska <mliska@suse.cz>
2834
2835 PR other/39851
2836 * c-common.c (parse_optimize_options): Add argument to function
2837 call.
2838 * c-pragma.c (handle_pragma_diagnostic): Likewise.
2839
2840 2017-08-24 David Malcolm <dmalcolm@redhat.com>
2841
2842 * c-lex.c (interpret_float): Use token location
2843 when building an EXCESS_PRECISION_EXPR.
2844
2845 2017-08-21 David Malcolm <dmalcolm@redhat.com>
2846
2847 * c-common.c (check_function_arguments): Add "arglogs" param; pass
2848 it to check_function_format.
2849 * c-common.h (check_function_arguments): Add vec<location_t> *
2850 param.
2851 (check_function_format): Likewise.
2852 * c-format.c (struct format_check_context): Add field "arglocs".
2853 (check_function_format): Add param "arglocs"; pass it to
2854 check_format_info.
2855 (check_format_info): Add param "arglocs"; use it to initialize
2856 new field of format_ctx.
2857 (check_format_arg): Pass format_ctx->arglocs to new param of
2858 check_format_info_main.
2859 (class argument_parser): New field "arglocs".
2860 (argument_parser::argument_parser): Add "arglocs_" param and use
2861 it to initialize new field.
2862 (argument_parser::check_argument_type): Pass new arglocs field to
2863 check_format_types.
2864 (check_format_info_main): Add param "arglocs", and use it when
2865 constructing arg_parser.
2866 (check_format_types): Add param "arglocs"; use it if non-NULL when
2867 !EXPR_HAS_LOCATION (cur_param) to get at location information.
2868
2869 2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
2870
2871 PR c/53037
2872 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
2873 (c_common_attribute_table): Add warn_if_not_aligned.
2874 (handle_aligned_attribute): Renamed to ...
2875 (common_handle_aligned_attribute): Remove argument, name, and add
2876 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
2877 (handle_aligned_attribute): New.
2878 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
2879
2880 2017-08-14 Martin Sebor <msebor@redhat.com>
2881
2882 PR c/81117
2883 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
2884 (handle_nonstring_attribute): New function.
2885
2886 2017-08-14 Martin Sebor <msebor@redhat.com>
2887
2888 PR c/81117
2889 * c-format.h (T89_G): New macro.
2890 * c-format.c (local_gcall_ptr_node): New variable.
2891 (init_dynamic_diag_info): Initialize it.
2892
2893 2017-08-11 Martin Liska <mliska@suse.cz>
2894
2895 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2896 TARGET_SUPPORTS_ALIASES.
2897
2898 2017-08-10 David Malcolm <dmalcolm@redhat.com>
2899
2900 * c-common.c (c_parse_error): Add rich_location * param, using it
2901 rather implicitly using input_location.
2902 * c-common.h (c_parse_error): Add rich_location * param.
2903
2904 2017-08-09 Marek Polacek <polacek@redhat.com>
2905
2906 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2907 (c_common_truthvalue_conversion): Likewise.
2908 * c-omp.c (c_finish_omp_atomic): Likewise.
2909 * c-common.h (build_binary_op): Update declaration.
2910
2911 2017-08-08 Martin Liska <mliska@suse.cz>
2912
2913 * c-ada-spec.c: Include header files.
2914 * c-ubsan.c: Likewise.
2915 * c-warn.c: Likewise.
2916
2917 2017-08-07 Jakub Jelinek <jakub@redhat.com>
2918
2919 PR c/69389
2920 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2921
2922 2017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2923
2924 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2925 (print_ada_methods): Likewise.
2926 (print_ada_declaration): Likewise.
2927
2928 2017-08-07 Martin Liska <mliska@suse.cz>
2929
2930 * array-notation-common.c: Add new includes.
2931 * c-format.c( handle_format_attribute): Canonicalize a format
2932 function name.
2933 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2934 attribute.
2935 * c-pretty-print.c: Add new include.
2936
2937 2017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2938
2939 * c-ada-spec.c (has_static_fields): Look only into variables.
2940 (print_constructor): Add TYPE parameter and use it for the name.
2941 (print_destructor): Likewise.
2942 (print_ada_declaration): Adjust to new constructor/destructor names.
2943 Adjust calls to print_constructor and print_destructor.
2944 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2945 Look only into variables in the final loop.
2946
2947 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2948
2949 * c-ada-spec.c (has_static_fields): Look only into fields.
2950 (dump_generic_ada_node): Small tweak.
2951 (dump_nested_types): Look only into fields.
2952 (print_ada_declaration): Look only into methods. Small tweak.
2953 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2954
2955 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2956
2957 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2958 (dump_ada_function_declaration): Likewise.
2959 (dump_generic_ada_node): Likewise.
2960 (print_ada_declaration): Add support for const-qualified variables.
2961
2962 2017-07-31 Martin Liska <mliska@suse.cz>
2963
2964 PR sanitize/81530
2965 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2966 Guard condition with flag_sanitize_p also with current_function_decl
2967 non-null equality.
2968 (ubsan_maybe_instrument_reference_or_call): Likewise.
2969
2970 2017-07-30 Uros Bizjak <ubizjak@gmail.com>
2971
2972 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2973
2974 2017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2975
2976 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2977 for enumeral types.
2978 (print_ada_declaration): Add missing guard for record types.
2979
2980 2017-07-27 Jakub Jelinek <jakub@redhat.com>
2981
2982 PR c/45784
2983 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2984 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2985 new COMPOUND_EXPRs around the rhs of the comparison.
2986
2987 2017-07-27 Marek Polacek <polacek@redhat.com>
2988
2989 PR c/81417
2990 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2991 the types.
2992
2993 2017-07-27 Jakub Jelinek <jakub@redhat.com>
2994
2995 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2996 (handle_noipa_attribute): New function.
2997
2998 2017-07-07 Torsten Duwe <duwe@suse.de>
2999
3000 * c-attribs.c (c_common_attribute_table): Add entry for
3001 "patchable_function_entry".
3002
3003 2017-07-20 Nathan Sidwell <nathan@acm.org>
3004
3005 Remove TYPE_METHODS.
3006 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
3007 dump_ada_template, print_ada_methods,
3008 print_ada_declaration): Member fns are on TYPE_FIELDS.
3009
3010 2017-07-18 Nathan Sidwell <nathan@acm.org>
3011
3012 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
3013
3014 2017-07-14 David Malcolm <dmalcolm@redhat.com>
3015
3016 * c-common.c (try_to_locate_new_include_insertion_point): New
3017 function.
3018 (per_file_includes_t): New typedef.
3019 (added_includes_t): New typedef.
3020 (added_includes): New variable.
3021 (maybe_add_include_fixit): New function.
3022 * c-common.h (maybe_add_include_fixit): New decl.
3023
3024 2017-07-10 Martin Sebor <msebor@redhat.com>
3025
3026 PR other/81345
3027 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
3028
3029 2017-07-06 David Malcolm <dmalcolm@redhat.com>
3030
3031 * c-common.c (selftest::c_family_tests): New.
3032 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
3033 (selftest::c_family_tests): New decl.
3034
3035 2017-07-04 Marek Polacek <polacek@redhat.com>
3036
3037 PR c/81231
3038 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
3039 types.
3040
3041 2017-07-04 Marek Polacek <polacek@redhat.com>
3042
3043 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
3044
3045 2017-06-28 Martin Liska <mliska@suse.cz>
3046
3047 PR ipa/81128
3048 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
3049 to a function declaration.
3050
3051 2017-06-28 Martin Liska <mliska@suse.cz>
3052
3053 PR driver/79659
3054 * c.opt: Add IntegerRange to various options.
3055
3056 2017-06-26 Marek Polacek <polacek@redhat.com>
3057
3058 PR c/80116
3059 * c-common.h (warn_for_multistatement_macros): Declare.
3060 * c-warn.c: Include "c-family/c-indentation.h".
3061 (warn_for_multistatement_macros): New function.
3062 * c.opt (Wmultistatement-macros): New option.
3063 * c-indentation.c (guard_tinfo_to_string): No longer static.
3064 Change the parameter type to "enum rid". Handle RID_SWITCH.
3065 * c-indentation.h (guard_tinfo_to_string): Declare.
3066
3067 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
3068
3069 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
3070
3071 2017-06-15 Martin Sebor <msebor@redhat.com>
3072
3073 PR c++/80560
3074 * c.opt (-Wclass-memaccess): New option.
3075
3076 2017-06-14 Boris Kolpackov <boris@codesynthesis.com>
3077
3078 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
3079
3080 2017-06-13 Marek Polacek <polacek@redhat.com>
3081
3082 PR objc/80949
3083 * c-warn.c (do_warn_duplicated_branches): Return if any of the
3084 branches is null.
3085
3086 2017-06-13 Martin Liska <mliska@suse.cz>
3087
3088 PR sanitize/78204
3089 * c-attribs.c (add_no_sanitize_value): New function.
3090 (handle_no_sanitize_attribute): Likewise.
3091 (handle_no_sanitize_address_attribute): Use the function.
3092 (handle_no_sanitize_thread_attribute): New function.
3093 (handle_no_address_safety_analysis_attribute): Use
3094 add_no_sanitize_value.
3095 (handle_no_sanitize_undefined_attribute): Likewise.
3096 * c-common.h: Declare new functions.
3097 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
3098 (ubsan_instrument_shift): Likewise.
3099 (ubsan_instrument_bounds): Likewise.
3100 (ubsan_maybe_instrument_array_ref): Likewise.
3101 (ubsan_maybe_instrument_reference_or_call): Likewise.
3102
3103 2017-06-11 Jason Merrill <jason@redhat.com>
3104
3105 * c-ada-spec.c, c-pragma.c: Use id_equal.
3106
3107 2017-06-04 Marek Polacek <polacek@redhat.com>
3108
3109 PR c/80919
3110 * c-format.c (matching_type_p): Return false if any of the types
3111 requires structural equality.
3112
3113 2017-06-02 Martin Sebor <msebor@redhat.com>
3114
3115 PR c/80892
3116 * c-warn.c (conversion_warning): Use -Wconversion for integer
3117 conversion and -Wfloat-conversion for floating one.
3118
3119 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3120
3121 * c.opt (Wsizeof-pointer-div): New warning option.
3122
3123 2017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
3124
3125 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
3126 (Wcatch-value=1): Enable by -Wall.
3127
3128 2017-05-30 David Malcolm <dmalcolm@redhat.com>
3129
3130 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
3131 format_chars.
3132 * c.opt (fdiagnostics-show-template-tree): New option.
3133 (felide-type): New option.
3134
3135 2017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
3136
3137 * c.opt (Wcatch-value=): New C++ warning flag.
3138
3139 2017-05-24 Nathan Sidwell <nathan@acm.org>
3140
3141 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
3142 const casts to avoid warning.
3143
3144 2017-05-24 Martin Sebor <msebor@redhat.com>
3145
3146 PR c/80731
3147 * c-common.h (unsafe_conversion_p): Add a function argument.
3148 * c-common.c (unsafe_conversion_p): Same.
3149 Add type names and values to diagnostics.
3150 (scalar_to_vector): Adjust.
3151 * c-warn.c (constant_expression_error): Add a function argument.
3152 Add type names and values to diagnostics.
3153 (conversion_warning): Add a function argument.
3154 Add type names and values to diagnostics.
3155 (warnings_for_convert_and_check): Same.
3156
3157 2017-05-19 Jason Merrill <jason@redhat.com>
3158
3159 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
3160 enumerators.
3161
3162 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3163
3164 * c-format.c (locus): Move out of function scope,
3165 add GTY attribute.
3166
3167 2017-05-19 Nathan Sidwell <nathan@acm.org>
3168
3169 * c-opts.c (class_dump_file, class_dump_flags): Delete.
3170 (c_common_parse_file): Remove class dump handling.
3171 (get_dump_info): Likewise.
3172
3173 2017-05-19 Richard Biener <rguenther@suse.de>
3174
3175 PR c++/80593
3176 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
3177 to alias-set zero memory.
3178
3179 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
3180
3181 * c-format.c (local_tree_type_node): Add GTY attribute.
3182
3183 2017-05-18 Marek Polacek <polacek@redhat.com>
3184
3185 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
3186 (c_common_fixed_point_type_for_size): Likewise.
3187 (c_common_type_for_mode): Likewise.
3188 (shorten_compare): Likewise.
3189 (c_promoting_integer_type_p): Use false/true instead of 0/1.
3190 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
3191
3192 2017-05-18 Marek Polacek <polacek@redhat.com>
3193
3194 * c-common.c (self_promoting_args_p): Change the return type to bool.
3195 Use false/true instead of 0/1.
3196 * c-common.h (self_promoting_args_p): Update.
3197
3198 2017-05-17 Marek Polacek <polacek@redhat.com>
3199
3200 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
3201 * c-warn.c: Likewise.
3202
3203 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
3204
3205 Implement new C++ intrinsics __is_assignable and __is_constructible.
3206 * c-common.c (__is_assignable, __is_constructible): New.
3207 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
3208
3209 2017-05-17 Martin Liska <mliska@suse.cz>
3210
3211 * c-common.h: Introduce dump_flags_t type and
3212 use it instead of int type.
3213 * c-gimplify.c (c_genericize): Likewise.
3214 * c-opts.c: Likewise.
3215
3216 2017-05-17 Marek Polacek <polacek@redhat.com>
3217
3218 * c-common.c (c_save_expr): Remove.
3219 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
3220 * c-common.h (c_save_expr): Remove declaration.
3221
3222 2017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
3223
3224 PR c/35441
3225 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
3226 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
3227 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
3228 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
3229 RDIV_EXPR.
3230 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
3231
3232 2017-05-09 Marek Polacek <polacek@redhat.com>
3233
3234 PR c/80525
3235 * c-warn.c (unwrap_c_maybe_const): New.
3236 (warn_logical_operator): Call it.
3237
3238 2017-05-09 Nathan Sidwell <nathan@acm.org>
3239
3240 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
3241 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
3242
3243 2017-05-08 Martin Sebor <msebor@redhat.com>
3244
3245 PR translation/80280
3246 * c-format.h (struct format_flag_spec): Add new member.
3247 (T89_T): New macro.
3248 * c-format.c (local_tree_type_node): New global.
3249 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3250 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3251 (strfmon_flag_specs): Likewise.
3252 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3253 with distinct quoting properties.
3254 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3255 (flag_chars_t::validate): Add argument and handle bad quoting.
3256 (check_format_info_main): Handle quoting problems.
3257 (init_dynamic_diag_info): Simplify.
3258
3259 2017-05-08 Jason Merrill <jason@redhat.com>
3260
3261 * c-opts.c (c_common_post_options): Update defaults for
3262 flag_abi_version and flag_abi_compat_version.
3263
3264 2017-05-05 David Malcolm <dmalcolm@redhat.com>
3265
3266 * c-common.c (c_cpp_error): Replace report_diagnostic
3267 with diagnostic_report_diagnostic.
3268
3269 2017-05-04 Martin Sebor <msebor@redhat.com>
3270
3271 PR translation/80280
3272 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3273 (handle_weakref_attribute): Same.
3274
3275 2017-05-03 Nathan Sidwell <nathan@acm.org>
3276
3277 Canonicalize canonical type hashing
3278 * c-common.c (complete_array_type): Use type_hash_canon.
3279
3280 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3281
3282 PR c++/80038
3283 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3284 prototype.
3285 (cilk_install_body_pedigree_operations): Likewise.
3286 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3287 detatched.
3288 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3289 (cilk_install_body_pedigree_operations): Likewise.
3290 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3291 unwrapping.
3292
3293 2017-04-27 Jakub Jelinek <jakub@redhat.com>
3294
3295 PR c++/80534
3296 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3297 flag on non-aggregate element types.
3298
3299 2017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3300
3301 * c-common.c (c_type_hasher, type_hash_table): Remove.
3302 (c_common_get_alias_set): Remove unreachable code.
3303 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3304
3305 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3306
3307 * c.opt (Wextra-semi): New C++ warning flag.
3308
3309 2017-04-20 Jakub Jelinek <jakub@redhat.com>
3310
3311 PR middle-end/80423
3312 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3313
3314 2017-04-18 Jakub Jelinek <jakub@redhat.com>
3315
3316 PR middle-end/79788
3317 PR middle-end/80375
3318 * c-common.c (c_common_type_for_mode): Don't handle
3319 widest_*_literal_type_node here.
3320 c_common_signed_or_unsigned_type): Likewise.
3321 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3322 to *intTI_type_node or *intDI_type_node depending on whether
3323 TImode is supported by the target or not.
3324
3325 2017-04-10 Martin Liska <mliska@suse.cz>
3326
3327 PR sanitizer/80350
3328 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3329 doing an UBSAN check.
3330
3331 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
3332
3333 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3334
3335 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3336
3337 PR c++/79572
3338 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3339 tree *.
3340 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3341 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3342 REFERENCE_TYPE.
3343
3344 2017-03-31 David Malcolm <dmalcolm@redhat.com>
3345
3346 PR documentation/78732
3347 * c.opt (Wendif-labels): Fix description to refer to
3348 #else rather than #elif.
3349
3350 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3351
3352 PR libstdc++/80251
3353 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
3354 * c-common.c (c_common_reswords): Add __is_aggregate trait.
3355
3356 2017-03-27 Jakub Jelinek <jakub@redhat.com>
3357
3358 PR middle-end/80162
3359 * c-common.c (c_common_mark_addressable_vec): Don't set
3360 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
3361
3362 2017-03-21 Martin Sebor <msebor@redhat.com>
3363
3364 PR c++/79548
3365 * c-common.c (set_underlying_type): Mark type used only when
3366 original del is declared unused.
3367
3368 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3369
3370 PR translation/79848
3371 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
3372 "%qs".
3373
3374 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3375
3376 PR c/79921
3377 * c-indentation.c (warn_for_misleading_indentation): Remove parens
3378 from inform's message, so that xgettext can locate it.
3379
3380 2017-03-09 Marek Polacek <polacek@redhat.com>
3381
3382 PR c++/79962
3383 PR c++/79984
3384 * c-attribs.c (handle_nonnull_attribute): Save the result of default
3385 conversion to the attribute list.
3386
3387 2017-03-09 Martin Liska <mliska@suse.cz>
3388
3389 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
3390
3391 2017-03-03 Jason Merrill <jason@redhat.com>
3392
3393 * c.opt (Wnoexcept-type): New.
3394
3395 2017-03-02 Richard Biener <rguenther@suse.de>
3396
3397 PR c/79756
3398 * c-common.c (c_common_mark_addressable_vec): Look through
3399 C_MAYBE_CONST_EXPR.
3400
3401 2017-02-28 Martin Liska <mliska@suse.cz>
3402
3403 * c.opt: Replace space with tabular for options of <number>
3404 type.
3405
3406 2017-02-28 Martin Liska <mliska@suse.cz>
3407
3408 * c.opt: Fix --help=option -Q for options which are of
3409 an enum type.
3410
3411 2017-02-24 Jakub Jelinek <jakub@redhat.com>
3412
3413 PR c++/79588
3414 * c-common.c (check_function_restrict): New function.
3415 (check_function_arguments): Add FNDECL argument. Call
3416 check_function_restrict if -Wrestrict.
3417 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3418 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3419 * c-common.h (check_function_arguments): Add FNDECL argument.
3420 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3421
3422 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3423
3424 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3425 treatment of parameters with pointer-to-tagged type and tidy up.
3426 (print_ada_methods): Remove the special treatment of C++ static member
3427 functions.
3428
3429 2017-02-22 Martin Liska <mliska@suse.cz>
3430
3431 * c.opt: Replace inequality signs with square brackets
3432 for -Wnornalized.
3433
3434 2017-02-21 Jakub Jelinek <jakub@redhat.com>
3435
3436 PR c++/79641
3437 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
3438 preserve quals.
3439
3440 2017-02-17 Joseph Myers <joseph@codesourcery.com>
3441
3442 * c-cppbuiltin.c (builtin_define_float_constants): Define
3443 __DECIMAL_DIG__ to the value for long double.
3444
3445 2017-02-15 Marek Polacek <polacek@redhat.com>
3446
3447 PR c/79515
3448 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
3449 conversion has occured.
3450
3451 2017-01-24 David Malcolm <dmalcolm@redhat.com>
3452
3453 * c-common.c (c_common_reswords): Add "__RTL".
3454 * c-common.h (enum rid): Add RID_RTL.
3455
3456 2017-01-20 Marek Polacek <polacek@redhat.com>
3457
3458 PR c/64279
3459 * c-common.h (do_warn_duplicated_branches_r): Declare.
3460 * c-gimplify.c (c_genericize): Walk the function tree calling
3461 do_warn_duplicated_branches_r.
3462 * c-warn.c (expr_from_macro_expansion_r): New.
3463 (do_warn_duplicated_branches): New.
3464 (do_warn_duplicated_branches_r): New.
3465 * c.opt (Wduplicated-branches): New option.
3466
3467 2017-01-17 David Malcolm <dmalcolm@redhat.com>
3468
3469 PR c++/71497
3470 * c-indentation.c (warn_for_misleading_indentation): Use the past
3471 subjunctive in the note.
3472
3473 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
3474
3475 PR c/79116
3476 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
3477 start type to integer_type.
3478
3479 2017-01-16 Jakub Jelinek <jakub@redhat.com>
3480
3481 PR driver/49726
3482 * c.opt (gen-decls): Add Driver flag.
3483
3484 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3485
3486 Revert:
3487 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3488
3489 PR c++/71737
3490 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3491
3492 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3493
3494 PR c++/71737
3495 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3496
3497 2017-01-12 Martin Sebor <msebor@redhat.com>
3498
3499 (-Wformat-overflow): ...to this.
3500
3501 2017-01-11 Martin Sebor <msebor@redhat.com>
3502
3503 PR c/78768
3504 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
3505 Also enable for LTO.
3506
3507 2017-01-10 Jason Merrill <jason@redhat.com>
3508
3509 Implement P0195R2, C++17 variadic using.
3510 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
3511
3512 2017-01-09 Jakub Jelinek <jakub@redhat.com>
3513
3514 PR translation/79019
3515 PR translation/79020
3516 * c.opt (Wnormalized=): Fix typo in description.
3517
3518 2017-01-08 Martin Sebor <msebor@redhat.com>
3519
3520 PR middle-end/77708
3521 * c.opt (-Wformat-truncation): New option.
3522
3523 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
3524
3525 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
3526 value to unsigned short to fit in 4 hex digits without
3527 warnings.
3528
3529 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
3530
3531 * c.opt (fsso-struct): Add 'native' value.
3532
3533 2017-01-05 Martin Liska <mliska@suse.cz>
3534
3535 PR pch/78970
3536 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
3537 header.
3538
3539 2017-01-04 Marek Polacek <polacek@redhat.com>
3540
3541 PR c++/64767
3542 * c.opt (Wpointer-compare): New option.
3543
3544 2017-01-04 Jakub Jelinek <jakub@redhat.com>
3545
3546 PR driver/78957
3547 * c.opt (fsso-struct=): Add RejectNegative.
3548
3549 2017-01-01 Jakub Jelinek <jakub@redhat.com>
3550
3551 Update copyright years.
3552
3553 2016-12-29 Martin Liska <mliska@suse.cz>
3554
3555 PR c/78933
3556 * c.opt (strong-eval-order): Add RejectNegative keyword.
3557
3558 2016-12-22 Jason Merrill <jason@redhat.com>
3559
3560 Implement P0522R0, matching of template template arguments.
3561 * c-cppbuiltin.c (c_cpp_builtins): Define
3562 __cpp_template_template_args.
3563
3564 2016-12-21 Jakub Jelinek <jakub@redhat.com>
3565
3566 PR bootstrap/78817
3567 * c-common.c (struct nonnull_arg_ctx): New type.
3568 (check_function_nonnull): Return bool instead of void. Use
3569 nonnull_arg_ctx as context rather than just location_t.
3570 (check_nonnull_arg): Adjust for the new context type, set
3571 warned_p to true if a warning has been diagnosed.
3572 (check_function_arguments): Return bool instead of void.
3573 * c-common.h (check_function_arguments): Adjust prototype.
3574
3575 2016-12-21 Jason Merrill <jason@redhat.com>
3576
3577 * c.opt (-fnew-ttp-matching): New flag.
3578 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
3579
3580 2016-12-14 Martin Jambor <mjambor@suse.cz>
3581
3582 * c-omp.c: Include omp-general.h instead of omp-low.h.
3583 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
3584 name.
3585
3586 2016-12-14 Martin Sebor <msebor@redhat.com>
3587
3588 PR c/17308
3589 * c-common.c (check_nonnull_arg): Disable when optimization
3590 is enabled.
3591
3592 2016-12-12 Marek Polacek <polacek@redhat.com>
3593
3594 PR c++/78647
3595 * c-common.c (attribute_fallthrough_p): Return false for
3596 error_mark_node.
3597
3598 2016-12-08 Martin Sebor <msebor@redhat.com>
3599
3600 PR c/78284
3601 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
3602
3603 2016-12-08 Martin Sebor <msebor@redhat.com>
3604
3605 PR c/78165
3606 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
3607 suffix.
3608
3609 2016-12-07 Martin Sebor <msebor@redhat.com>
3610
3611 PR c/53562
3612 PR middle-end/77784
3613 PR middle-end/78149
3614 PR middle-end/78138
3615 * c.opt (-Wstringop-overflow): New option.
3616
3617 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
3618
3619 * c-attribs.c (asan odr indicator): New attribute.
3620 (handle_asan_odr_indicator_attribute): New function.
3621
3622 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3623
3624 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
3625 ptrdiff_type_node;
3626
3627 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3628
3629 * c-common.c (excess_precision_mode_join): New.
3630 (c_ts18661_flt_eval_method): New.
3631 (c_c11_flt_eval_method): Likewise.
3632 (c_flt_eval_method): Likewise.
3633 * c-common.h (excess_precision_mode_join): New.
3634 (c_flt_eval_method): Likewise.
3635 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
3636 (cpp_iec_559_value): Call it.
3637 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
3638 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
3639 __FLT_EVAL_METHOD_TS_18661_3__.
3640
3641 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3642
3643 * c-opts.c (c_common_post_options): Add logic to handle the default
3644 case for -fpermitted-flt-eval-methods.
3645
3646 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
3647
3648 * c.opt (Wexpansion-to-defined): New.
3649
3650 2016-11-23 Jakub Jelinek <jakub@redhat.com>
3651
3652 PR target/78451
3653 * c-pragma.c (handle_pragma_target): Don't replace
3654 current_target_pragma, but chainon the new args to the current one.
3655
3656 2016-11-22 Nathan Sidwell <nathan@acm.org>
3657
3658 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
3659 indentation and formatting.
3660
3661 2016-11-21 Martin Sebor <msebor@redhat.com>
3662
3663 * c.opt (-fprintf-return-value): Enable by default.
3664
3665 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3666
3667 PR c++/71973
3668 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
3669 * c-common.c (c_common_nodes_and_builtins): Initialize
3670 const_tm_ptr_type_node.
3671
3672 2016-11-16 Marek Polacek <polacek@redhat.com>
3673
3674 PR c/78285
3675 * c-common.c (c_add_case_label): Turn error_at calls into inform.
3676
3677 2016-11-14 Jakub Jelinek <jakub@redhat.com>
3678
3679 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
3680
3681 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
3682 Richard Biener <rguenther@suse.de>
3683
3684 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
3685 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
3686 * c.opt (fgimple): New option.
3687
3688 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3689
3690 PR c/35503
3691 * c-common.h (warn_for_restrict): Declare.
3692 * c-warn.c: Include gcc-rich-location.h.
3693 (warn_for_restrict): New function.
3694 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
3695 (gcc_cdiag_char_table): Likewise.
3696 (gcc_cxxdiag_char_table): Likewise.
3697 * c.opt (Wrestrict): New option.
3698
3699 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
3700
3701 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
3702 for nested types only if the type is a record or union and dump SLOC.
3703
3704 2016-11-09 Jason Merrill <jason@redhat.com>
3705
3706 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
3707
3708 2016-11-09 Jakub Jelinek <jakub@redhat.com>
3709
3710 * c-ubsan.c (ubsan_instrument_shift): Handle split
3711 -fsanitize=shift-base and -fsanitize=shift-exponent.
3712
3713 2016-11-07 Jason Merrill <jason@redhat.com>
3714
3715 * c.opt (Wc++1z-compat): New.
3716 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
3717
3718 2016-11-07 Martin Liska <mliska@suse.cz>
3719
3720 * c-warn.c (warn_for_unused_label): Save all labels used
3721 in goto or in &label.
3722
3723 2016-11-03 Jason Merrill <jason@redhat.com>
3724
3725 * c-cppbuiltin.c (c_cpp_builtins): Correct
3726 __cpp_inheriting_constructors.
3727
3728 2016-11-01 Jason Merrill <jason@redhat.com>
3729
3730 * c-cppbuiltin.c (c_cpp_builtins): Update
3731 __cpp_inheriting_constructors.
3732
3733 * c.opt (-fnew-inheriting-ctors): New.
3734 * c-opts.c: Default to on for ABI 11+.
3735
3736 2016-10-31 Jakub Jelinek <jakub@redhat.com>
3737
3738 PR c++/77948
3739 * c.opt (fext-numeric-literals): Add Var and Init.
3740 * c-opts.c (c_common_handle_option): Don't clear
3741 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
3742 (c_common_post_options): Clear it here if not set
3743 explicitly.
3744
3745 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
3746
3747 PR debug/77773
3748 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
3749 if NULL.
3750
3751 2016-10-25 Jakub Jelinek <jakub@redhat.com>
3752
3753 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
3754 * c-common.c (c_common_reswords): Add __builtin_launder.
3755
3756 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
3757
3758 * c-common.c (c_common_truthvalue_conversion): Warn for
3759 multiplications in boolean context. Fix the quoting of '<<' and '<'
3760 in the shift warning.
3761
3762 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
3763
3764 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
3765
3766 2016-10-20 Jason Merrill <jason@redhat.com>
3767
3768 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
3769
3770 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3771
3772 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
3773 integer shift ops in boolean context.
3774
3775 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
3776
3777 * c.opt (Walloca): New.
3778 (Walloca-larger-than=): New.
3779 (Wvla-larger-than=): New.
3780
3781 2016-10-17 Marek Polacek <polacek@redhat.com>
3782
3783 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
3784 Return immediately when finding a match.
3785 (warn_tautological_cmp): Remove a boolean variable that is no longer
3786 needed.
3787
3788 2016-10-17 Marek Polacek <polacek@redhat.com>
3789
3790 * c-attribs.c: New file.
3791 * c-common.c: Move attributes handling to c-attribs.c.
3792 (get_nonnull_operand): No longer static.
3793 * c-common.h: Move the declarations from c-attribs.c to its own section.
3794
3795 2016-10-14 Jason Merrill <jason@redhat.com>
3796
3797 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
3798 and __cpp_deduction_guides.
3799
3800 2016-10-13 Jason Merrill <jason@redhat.com>
3801
3802 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
3803
3804 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3805
3806 * c-cppbuiltin.c: Include memmodel.h.
3807 * c-opts.c: Likewise.
3808 * c-pragma.c: Likewise.
3809 * c-warn.c: Likewise.
3810
3811 2016-10-12 Jakub Jelinek <jakub@redhat.com>
3812
3813 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
3814 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
3815 * c-opts.c (sanitize_cpp_opts): Initialize
3816 cpp_opts->cpp_warn_implicit_fallthrough.
3817
3818 2016-10-11 Marek Polacek <polacek@redhat.com>
3819
3820 * c-common.c (warning_candidate_p): Change the return type to bool
3821 and return true/false instead of 1/0.
3822 (vector_mode_valid_p): Likewise.
3823
3824 2016-10-11 Marek Polacek <polacek@redhat.com>
3825
3826 * c-common.c (fold_for_warn): No longer static.
3827 (bool_promoted_to_int_p): Likewise.
3828 (c_common_get_narrower): Likewise.
3829 (constant_expression_warning): Move to c-warn.c.
3830 (constant_expression_error): Likewise.
3831 (overflow_warning): Likewise.
3832 (warn_logical_operator): Likewise.
3833 (find_array_ref_with_const_idx_r): Likewise.
3834 (warn_tautological_cmp): Likewise.
3835 (expr_has_boolean_operands_p): Likewise.
3836 (warn_logical_not_parentheses): Likewise.
3837 (warn_if_unused_value): Likewise.
3838 (strict_aliasing_warning): Likewise.
3839 (sizeof_pointer_memaccess_warning): Likewise.
3840 (check_main_parameter_types): Likewise.
3841 (conversion_warning): Likewise.
3842 (warnings_for_convert_and_check): Likewise.
3843 (match_case_to_enum_1): Likewise.
3844 (match_case_to_enum): Likewise.
3845 (c_do_switch_warnings): Likewise.
3846 (warn_for_omitted_condop): Likewise.
3847 (readonly_error): Likewise.
3848 (lvalue_error): Likewise.
3849 (invalid_indirection_error): Likewise.
3850 (warn_array_subscript_with_type_char): Likewise.
3851 (warn_about_parentheses): Likewise.
3852 (warn_for_unused_label): Likewise.
3853 (warn_for_div_by_zero): Likewise.
3854 (warn_for_memset): Likewise.
3855 (warn_for_sign_compare): Likewise.
3856 (do_warn_double_promotion): Likewise.
3857 (do_warn_unused_parameter): Likewise.
3858 (record_locally_defined_typedef): Likewise.
3859 (maybe_record_typedef_use): Likewise.
3860 (maybe_warn_unused_local_typedefs): Likewise.
3861 (maybe_warn_bool_compare): Likewise.
3862 (maybe_warn_shift_overflow): Likewise.
3863 (warn_duplicated_cond_add_or_warn): Likewise.
3864 (diagnose_mismatched_attributes): Likewise.
3865 * c-common.h: Move the declarations from c-warn.c to its own section.
3866 * c-warn.c: New file.
3867
3868 2016-10-08 Jason Merrill <jason@redhat.com>
3869
3870 * c-common.c (c_common_truthvalue_conversion): Don't distribute
3871 into COND_EXPR in C++.
3872
3873 2016-10-08 Jakub Jelinek <jakub@redhat.com>
3874
3875 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
3876 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
3877 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
3878
3879 2016-10-07 Jakub Jelinek <jakub@redhat.com>
3880
3881 Implement LWG2296 helper intrinsic
3882 * c-common.h (enum rid): Add RID_ADDRESSOF.
3883 * c-common.c (c_common_reswords): Add __builtin_addressof.
3884
3885 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
3886
3887 PR c++/77700
3888 * c-common.c (c_common_truthvalue_conversion): Warn also for
3889 suspicious enum values in boolean context.
3890
3891 2016-10-06 Jakub Jelinek <jakub@redhat.com>
3892
3893 Implement P0258R2 - helper for C++17
3894 std::has_unique_object_representations trait
3895 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3896 * c-common.c (c_common_reswords): Add
3897 __has_unique_object_representations.
3898
3899 2016-10-05 Jakub Jelinek <jakub@redhat.com>
3900
3901 PR sanitizer/66343
3902 * c-ubsan.c (ubsan_instrument_return): Don't call
3903 initialize_sanitizer_builtins here.
3904
3905 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3906
3907 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3908 conditional expression in boolean context when only one arm is
3909 non-boolean.
3910
3911 2016-10-05 Jakub Jelinek <jakub@redhat.com>
3912
3913 PR sanitizer/77823
3914 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3915 is not integral.
3916
3917 * c-common.c (c_common_reswords): Update comment for C++11.
3918
3919 2016-10-04 Jason Merrill <jason@redhat.com>
3920
3921 * c-common.c (make_tree_vector_from_ctor): New.
3922 * c-common.h: Declare it.
3923
3924 2016-10-04 Jakub Jelinek <jakub@redhat.com>
3925
3926 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3927 __LIBGCC_JCR_SECTION_NAME__.
3928
3929 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3930
3931 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3932 left shift in boolean context.
3933
3934 2016-09-29 Jakub Jelinek <jakub@redhat.com>
3935
3936 Implement P0001R1 - C++17 removal of register storage class specifier
3937 * c.opt (Wregister): New warning.
3938 * c-opts.c (c_common_post_options): Enable -Wregister by
3939 default for C++17.
3940
3941 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3942
3943 * c-opts.c (c_common_post_options): Remove special case for
3944 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3945 in C++.
3946
3947 2016-09-27 Jakub Jelinek <jakub@redhat.com>
3948
3949 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3950 -std=c++1z.
3951
3952 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3953
3954 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3955
3956 * c-common.c: Include memmodel.h.
3957
3958 2016-09-26 Marek Polacek <polacek@redhat.com>
3959
3960 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3961
3962 2016-09-26 Marek Polacek <polacek@redhat.com>
3963
3964 PR c/7652
3965 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3966 (handle_fallthrough_attribute): New function.
3967 (attribute_fallthrough_p): New function.
3968 * c-common.h (attribute_fallthrough_p): Declare.
3969
3970 2016-09-24 Marek Polacek <polacek@redhat.com>
3971
3972 PR c/77490
3973 * c.opt (Wbool-operation): New.
3974
3975 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3976
3977 * c-common.c (c_common_truthvalue_conversion): Inhibit
3978 Wint-in-bool-context warning with from_macro_definition_at.
3979 Mention the expression will always evaluate to true.
3980
3981 2016-09-21 Martin Sebor <msebor@redhat.com>
3982
3983 PR bootstrap/77676
3984 * c.opt (fprintf-return-value): Temporarily initialize to zero
3985 to unblock bootstrap failures.
3986
3987 2016-09-21 Jakub Jelinek <jakub@redhat.com>
3988
3989 PR c++/77651
3990 * c.opt (Waligned-new=): Add RejectNegative.
3991 (faligned-new=): Likewise. Spelling fix - change
3992 aligned_new_threshhold to aligned_new_threshold.
3993 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3994 to aligned_new_threshold.
3995
3996 2016-09-20 Martin Sebor <msebor@redhat.com>
3997
3998 PR middle-end/49905
3999 * c.opt: Add -Wformat-length and -fprintf-return-value.
4000
4001 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4002
4003 PR c++/77434
4004 * c.opt (Wint-in-bool-context): New warning.
4005 * c-common.c (c_common_truthvalue_conversion): Warn on integer
4006 constants in boolean context.
4007
4008 2016-09-19 Joseph Myers <joseph@codesourcery.com>
4009
4010 * c-common.c (max_align_t_align): Also consider alignment of
4011 float128_type_node.
4012
4013 2016-09-15 Jason Merrill <jason@redhat.com>
4014
4015 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
4016 DECL_EXTERNAL.
4017
4018 2016-09-14 Jason Merrill <jason@redhat.com>
4019
4020 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4021 limit FIELD_DECL, either.
4022
4023 2016-09-14 Marek Polacek <polacek@redhat.com>
4024
4025 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
4026 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
4027 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
4028
4029 2016-09-13 David Malcolm <dmalcolm@redhat.com>
4030
4031 * c-common.c (warn_logical_not_parentheses): Replace
4032 rich_location::add_fixit_insert calls with add_fixit_insert_before
4033 and add_fixit_insert_after, eliminating the "next_loc" calculation.
4034
4035 2016-09-13 Jason Merrill <jason@redhat.com>
4036 Tom de Vries <tom@codesourcery.com>
4037
4038 PR c++/77427
4039 * c-common.c (set_underlying_type): Don't treat array as builtin type.
4040
4041 2016-09-13 Jason Merrill <jason@redhat.com>
4042
4043 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4044 limit types at all.
4045
4046 2016-09-12 Jason Merrill <jason@redhat.com>
4047
4048 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
4049 bit/byte confusion, allow large alignment for types.
4050
4051 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
4052
4053 PR c++/77496
4054 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
4055
4056 2016-09-12 David Malcolm <dmalcolm@redhat.com>
4057
4058 PR c/72858
4059 * c-format.c (argument_parser::check_argument_type): Add params
4060 "type_start" and "conversion_char". Use the former to generate
4061 offset_to_type_start and pass it and conversion_char to
4062 check_format_types.
4063 (check_format_info_main): Capture the start of the type
4064 information as "type_start", and pass it an format_char
4065 to arg_parser.check_argument_type.
4066 (check_format_types): Provide an example in the leading comment.
4067 Add params "offset_to_type_start" and "conversion_char"; pass
4068 them to format_type_warning calls.
4069 (test_get_modifier_for_format_len): Likewise.
4070 (matching_type_p): New function.
4071 (get_format_for_type): Add param "conversion_char" and move
4072 implementation into...
4073 (get_format_for_type_1): ...new function, called twice.
4074 Use new function matching_type_p rather than checking for
4075 TYPE_CANONICAL equality.
4076 (get_corrected_substring): New function.
4077 (format_type_warning): Provide an example in the leading comment.
4078 Add params "offset_to_type_start" and "conversion_char". Replace
4079 call to get_format_for_type with call to get_corrected_substring
4080 and move rejection of hints for widths/precisions there.
4081 (assert_format_for_type_streq): Add param "conversion_char".
4082 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
4083 (test_get_format_for_type_printf): Add conversion chars to the
4084 tests, adding coverage for various combinations of integer
4085 vs double conversions, and for preserving octal and hexadecimal
4086 conversions.
4087 (test_get_format_for_type_scanf): Add conversion chars to the
4088 tests.
4089
4090 2016-09-10 Tom de Vries <tom@codesourcery.com>
4091
4092 PR C/71602
4093 * c-common.c (build_va_arg): Handle more strict
4094 targetm.canonical_va_list_type. Replace first argument type error with
4095 assert.
4096
4097 2016-09-09 Martin Sebor <msebor@redhat.com>
4098
4099 PR c/77520
4100 PR c/77521
4101 * c-format.c (argument_parser::find_format_char_info): Use %qc
4102 format directive unconditionally.
4103
4104 2016-09-09 Jason Merrill <jason@redhat.com>
4105
4106 Implement C++17 new of over-aligned types.
4107 * c.opt: Add -faligned-new and -Waligned-new.
4108 * c-common.c (max_align_t_align): Split out from...
4109 (cxx_fundamental_alignment_p): ...here.
4110 * c-common.h: Declare it.
4111 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
4112
4113 2016-09-09 Joseph Myers <joseph@codesourcery.com>
4114
4115 * c-cppbuiltin.c (builtin_define_type_width): New function.
4116 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
4117 macros.
4118
4119 2016-09-07 David Malcolm <dmalcolm@redhat.com>
4120
4121 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
4122 a POINTER_TYPE.
4123 (substring_loc::get_location): Move to substring-locations.c,
4124 keeping implementation as...
4125 (c_get_substring_location): New function, from the above, reworked
4126 to use accessors rather than member lookup.
4127 * c-common.h (class substring_loc): Move to substring-locations.h,
4128 replacing with a forward decl.
4129 (c_get_substring_location): New decl.
4130 * c-format.c: Include "substring-locations.h".
4131 (format_warning_va): Move to substring-locations.c.
4132 (format_warning_at_substring): Likewise.
4133
4134 2016-09-06 Martin Sebor <msebor@redhat.com>
4135
4136 PR c/77336
4137 * c-format.c (check_function_format): Avoid issuing warnings for
4138 functions unless they call format functions with non-constant
4139 format strings.
4140
4141 2016-09-06 Richard Biener <rguenther@suse.de>
4142
4143 PR c/77450
4144 * c-common.c (c_common_mark_addressable_vec): Handle
4145 COMPOUND_LITERAL_EXPR.
4146
4147 2016-09-05 Marek Polacek <polacek@redhat.com>
4148
4149 PR c/77423
4150 * c-common.c (bool_promoted_to_int_p): New function.
4151 (expr_has_boolean_operands_p): New function.
4152 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
4153 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
4154
4155 2016-09-04 Tom de Vries <tom@codesourcery.com>
4156
4157 revert:
4158 2016-08-29 Tom de Vries <tom@codesourcery.com>
4159
4160 * c-common.c (build_va_arg): Replace first argument type error
4161 with assert.
4162
4163 2016-09-02 Jakub Jelinek <jakub@redhat.com>
4164
4165 PR c/65467
4166 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
4167 (c_finish_omp_for): Reject _Atomic qualified iterators.
4168
4169 2016-09-01 Martin Sebor <msebor@redhat.com>
4170
4171 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
4172 size to guarantee it fits the output of the formatted function
4173 regardless of its arguments.
4174
4175 2016-09-01 Marek Polacek <polacek@redhat.com>
4176
4177 PR c/7652
4178 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
4179 FALLTHRU comments.
4180
4181 2016-08-29 Marek Polacek <polacek@redhat.com>
4182
4183 PR c/77292
4184 * c-common.c (warn_logical_not_parentheses): Don't warn for
4185 a comparison or a logical operator.
4186
4187 2016-08-29 Tom de Vries <tom@codesourcery.com>
4188
4189 * c-common.c (build_va_arg): Fix type comparison assert.
4190
4191 2016-08-29 Tom de Vries <tom@codesourcery.com>
4192
4193 * c-common.c (build_va_arg): Replace first argument type error
4194 with assert.
4195
4196 2016-08-29 Tom de Vries <tom@codesourcery.com>
4197
4198 PR c/77398
4199 * c-common.c (build_va_arg): Add first argument error. Build va_arg
4200 with error_mark_node as va_list instead of with illegal va_list.
4201
4202 2016-08-25 Marek Polacek <polacek@redhat.com>
4203 David Malcolm <dmalcolm@redhat.com>
4204
4205 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
4206 * c-common.h (warn_logical_not_parentheses): Update declaration.
4207
4208 2016-08-22 Marek Polacek <polacek@redhat.com>
4209
4210 PR c++/77321
4211 * c-common.c (warn_for_memset): Check type for null.
4212
4213 2016-08-22 Joseph Myers <joseph@codesourcery.com>
4214
4215 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
4216 _FloatNx types for suffixes for built-in functions.
4217
4218 2016-08-19 Joseph Myers <joseph@codesourcery.com>
4219
4220 PR c/32187
4221 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
4222 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
4223 (RID_FLOAT128X): New enum rid values.
4224 (CASE_RID_FLOATN_NX): New macro.
4225 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
4226 keywords.
4227 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
4228 corresponding complex types.
4229 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
4230 _FloatNx and corresponding complex types.
4231 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
4232 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
4233 and _FloatNx types for the widest type for determining
4234 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
4235 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
4236 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
4237 and _FloatNx types.
4238 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
4239 constants.
4240 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
4241 _FloatNx types.
4242
4243 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4244
4245 * c-opts.c (c_diagnostic_finalizer): Update for change to
4246 diagnostic_show_locus.
4247
4248 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4249
4250 * c-common.c: Include "spellcheck.h".
4251 (cb_get_suggestion): New function.
4252 * c-common.h (cb_get_suggestion): New decl.
4253 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4254 cb_get_suggestion.
4255
4256 2016-08-18 Marek Polacek <polacek@redhat.com>
4257
4258 PR c/71514
4259 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4260 and pointer-to-VLA.
4261
4262 2016-08-16 David Malcolm <dmalcolm@redhat.com>
4263
4264 PR c/72857
4265 * c-common.c (substring_loc::get_range): Rename to...
4266 (substring_loc::get_location): ...this, converting param from a
4267 source_range * to a location_t *. Call
4268 get_source_location_for_substring rather than
4269 get_source_range_for_substring, and pass in m_caret_idx.
4270 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4271 (substring_loc::get_range): Replace with...
4272 (substring_loc::get_location): ...this.
4273 (substring_loc::set_caret_index): New method.
4274 (substring_loc): Add field m_caret_idx.
4275 * c-format.c (format_warning_va): Update for above changes.
4276 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4277 clashing with type name.
4278 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4279 (check_argument_type): Likewise.
4280 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4281 Use a copy when emitting warnings, setting the caret index from TYPE.
4282
4283 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
4284 Arnaud Charlet <charlet@adacore.com>
4285
4286 * c-ada-spec.c (dump_number): New function.
4287 (handle_escape_character): Likewise.
4288 (print_ada_macros): Add handling of constant integers and strings.
4289
4290 2016-08-12 Marek Polacek <polacek@redhat.com>
4291
4292 PR c/7652
4293 * c-common.c (scalar_to_vector): Adjust fall through comment.
4294 * c-opts.c (c_common_handle_option): Likewise.
4295 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4296 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4297 fall through comment.
4298 * cilk.c (extract_free_variables): Add FALLTHRU.
4299
4300 2016-08-10 Jason Merrill <jason@redhat.com>
4301
4302 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4303
4304 2016-08-09 Jason Merrill <jason@redhat.com>
4305
4306 * c-common.c (c_common_attribute_table): vector_size affects type
4307 identity.
4308
4309 2016-08-09 Marek Polacek <polacek@redhat.com>
4310
4311 PR c/7652
4312 * c-ada-spec.c (dump_generic_ada_node): Add return.
4313
4314 2016-08-09 Jason Merrill <jason@redhat.com>
4315
4316 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4317 C++17 constexpr lambdas.
4318
4319 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4320
4321 PR c/64955
4322 * c-common.h (selftest::c_format_c_tests): New declaration.
4323 (selftest::run_c_tests): New declaration.
4324 * c-format.c: Include "selftest.h.
4325 (format_warning_va): Add param "corrected_substring" and use
4326 it to add a replacement fix-it hint.
4327 (format_warning_at_substring): Likewise.
4328 (format_warning_at_char): Update for new param of
4329 format_warning_va.
4330 (argument_parser::check_argument_type): Pass "fki" to
4331 check_format_types.
4332 (check_format_types): Add param "fki" and pass it to
4333 format_type_warning.
4334 (deref_n_times): New function.
4335 (get_modifier_for_format_len): New function.
4336 (selftest::test_get_modifier_for_format_len): New function.
4337 (get_format_for_type): New function.
4338 (format_type_warning): Add param "fki" and use it to attempt
4339 to provide hints for argument types when calling
4340 format_warning_at_substring.
4341 (selftest::get_info): New function.
4342 (selftest::assert_format_for_type_streq): New function.
4343 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4344 (selftest::test_get_format_for_type_printf): New function.
4345 (selftest::test_get_format_for_type_scanf): New function.
4346 (selftest::c_format_c_tests): New function.
4347
4348 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4349
4350 PR c/52952
4351 * c-format.c: Include "diagnostic.h".
4352 (location_column_from_byte_offset): Delete.
4353 (location_from_offset): Delete.
4354 (format_warning_va): New function.
4355 (format_warning_at_substring): New function.
4356 (format_warning_at_char): New function.
4357 (check_format_arg): Capture location of format_tree and pass to
4358 check_format_info_main.
4359 (argument_parser): Add fields "start_of_this_format" and
4360 "format_string_cst".
4361 (flag_chars_t::validate): Add param "format_string_cst". Convert
4362 warning_at call using location_from_offset to call to
4363 format_warning_at_char.
4364 (argument_parser::argument_parser): Add param "format_string_cst_"
4365 and use use it to initialize field "format_string_cst".
4366 Initialize new field "start_of_this_format".
4367 (argument_parser::read_format_flags): Convert warning_at call
4368 using location_from_offset to a call to format_warning_at_char.
4369 (argument_parser::read_any_format_left_precision): Likewise.
4370 (argument_parser::read_any_format_precision): Likewise.
4371 (argument_parser::read_any_other_modifier): Likewise.
4372 (argument_parser::find_format_char_info): Likewise, in three places.
4373 (argument_parser::parse_any_scan_set): Likewise, in one place.
4374 (argument_parser::handle_conversions): Likewise, in two places.
4375 (argument_parser::check_argument_type): Add param "fmt_param_loc"
4376 and use it to make a substring_loc. Pass the latter to
4377 check_format_types.
4378 (check_format_info_main): Add params "fmt_param_loc" and
4379 "format_string_cst". Convert warning_at calls using
4380 location_from_offset to calls to format_warning_at_char. Pass the
4381 new params to the arg_parser ctor. Pass "format_string_cst" to
4382 flag_chars.validate. Pass "fmt_param_loc" to
4383 arg_parser.check_argument_type.
4384 (check_format_types): Convert first param from a location_t
4385 to a const substring_loc & and rename to "fmt_loc". Attempt
4386 to extract the range of the relevant parameter and pass it
4387 to format_type_warning.
4388 (format_type_warning): Convert first param from a location_t
4389 to a const substring_loc & and rename to "fmt_loc". Add
4390 params "param_range" and "type". Replace calls to warning_at
4391 with calls to format_warning_at_substring.
4392
4393 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4394
4395 * c-format.c (class flag_chars_t): New class.
4396 (struct length_modifier): New struct.
4397 (class argument_parser): New class.
4398 (flag_chars_t::flag_chars_t): New ctor.
4399 (flag_chars_t::has_char_p): New method.
4400 (flag_chars_t::add_char): New method.
4401 (flag_chars_t::validate): New method.
4402 (flag_chars_t::get_alloc_flag): New method.
4403 (flag_chars_t::assignment_suppression_p): New method.
4404 (argument_parser::argument_parser): New ctor.
4405 (argument_parser::read_any_dollar): New method.
4406 (argument_parser::read_format_flags): New method.
4407 (argument_parser::read_any_format_width): New method.
4408 (argument_parser::read_any_format_left_precision): New method.
4409 (argument_parser::read_any_format_precision): New method.
4410 (argument_parser::handle_alloc_chars): New method.
4411 (argument_parser::read_any_length_modifier): New method.
4412 (argument_parser::read_any_other_modifier): New method.
4413 (argument_parser::find_format_char_info): New method.
4414 (argument_parser::validate_flag_pairs): New method.
4415 (argument_parser::give_y2k_warnings): New method.
4416 (argument_parser::parse_any_scan_set): New method.
4417 (argument_parser::handle_conversions): New method.
4418 (argument_parser::check_argument_type): New method.
4419 (check_format_info_main): Introduce classes argument_parser
4420 and flag_chars_t, moving the code within the loop into methods
4421 of these classes. Make various locals "const".
4422
4423 2016-08-05 David Malcolm <dmalcolm@redhat.com>
4424
4425 * c-common.c: Include "substring-locations.h".
4426 (get_cpp_ttype_from_string_type): New function.
4427 (g_string_concat_db): New global.
4428 (substring_loc::get_range): New method.
4429 * c-common.h (g_string_concat_db): New declaration.
4430 (class substring_loc): New class.
4431 * c-lex.c (lex_string): When concatenating strings, capture the
4432 locations of all tokens using a new obstack, and record the
4433 concatenation locations within g_string_concat_db.
4434 * c-opts.c (c_common_init_options): Construct g_string_concat_db
4435 on the ggc-heap.
4436
4437 2016-07-29 Marek Polacek <polacek@redhat.com>
4438
4439 PR c/71926
4440 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
4441 parentheses warning.
4442
4443 PR c/71574
4444 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
4445
4446 2016-07-28 Martin Liska <mliska@suse.cz>
4447
4448 PR gcov-profile/68025
4449 * c-common.c (handle_no_profile_instrument_function_attribute):
4450
4451 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
4452
4453 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
4454 BITS_PER_UNIT_LOG.
4455
4456 2016-07-25 Jason Merrill <jason@redhat.com>
4457
4458 PR c++/65970
4459 * c.opt (fconstexpr-loop-limit): New.
4460
4461 2016-07-22 Martin Sebor <msebor@redhat.com>
4462
4463 PR c++/71675
4464 * c-common.c (resolve_overloaded_builtin): Avoid converting
4465 __atomic_compare_exchange_n return type to that of what its
4466 first argument points to.
4467
4468 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
4469
4470 * c-common.c: Use HOST_WIDE_INT_M1U instead of
4471 ~(unsigned HOST_WIDE_INT) 0.
4472
4473 2016-07-22 Martin Liska <mliska@suse.cz>
4474
4475 PR gcov-profile/69028
4476 PR gcov-profile/62047
4477 * cilk.c (create_cilk_helper_decl): Set location of a new decl
4478 to the current_function_decl.
4479
4480 2016-07-21 Jason Merrill <jason@redhat.com>
4481
4482 PR c++/65168
4483 * c-common.c (c_common_truthvalue_conversion): Check
4484 c_inhibit_evaluation_warnings for warning about address of
4485 reference.
4486
4487 2016-07-20 David Malcolm <dmalcolm@redhat.com>
4488
4489 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
4490 const char *.
4491
4492 2016-07-15 Jason Merrill <jason@redhat.com>
4493
4494 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
4495
4496 2016-07-15 Jakub Jelinek <jakub@redhat.com>
4497
4498 PR c/71858
4499 * c-common.h (enum lookup_name_fuzzy_kind): Add
4500 FUZZY_LOOKUP_FUNCTION_NAME.
4501
4502 2016-07-08 Jason Merrill <jason@redhat.com>
4503
4504 P0145: Refining Expression Order for C++.
4505 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
4506 * c-opts.c: Adjust.
4507
4508 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
4509
4510 PR c++/71214
4511 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
4512
4513 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
4514
4515 * c-pragma.h (enum pragma_kind): Rename
4516 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
4517 users.
4518
4519 2016-06-29 Richard Biener <rguenther@suse.de>
4520
4521 PR middle-end/71002
4522 * c-common.c (c_common_get_alias_set): Remove union type punning case.
4523
4524 2016-06-24 Jason Merrill <jason@redhat.com>
4525
4526 P0145R2: Refining Expression Order for C++.
4527 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
4528 MODIFY_EXPR.
4529
4530 2016-06-24 Jakub Jelinek <jakub@redhat.com>
4531
4532 * c-common.c (check_builtin_function_arguments): Require last
4533 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
4534 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
4535 if the last argument is pointer to enumerated or boolean type.
4536
4537 2016-06-22 David Malcolm <dmalcolm@redhat.com>
4538
4539 PR c/70339
4540 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
4541 (lookup_name_fuzzy): New prototype.
4542
4543 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
4544
4545 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
4546
4547 2016-06-14 Jason Merrill <jason@redhat.com>
4548
4549 P0145R2: Refining Expression Order for C++.
4550 * c.opt (fargs-in-order): New.
4551 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
4552
4553 2016-06-13 Jakub Jelinek <jakub@redhat.com>
4554
4555 PR sanitizer/71498
4556 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
4557 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
4558
4559 PR preprocessor/71183
4560 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
4561 to cb_get_source_date_epoch.
4562
4563 2016-06-10 Jakub Jelinek <jakub@redhat.com>
4564
4565 PR c/68657
4566 * c.opt (Wpsabi): Add Warning flag.
4567
4568 2016-06-10 Martin Sebor <msebor@redhat.com>
4569
4570 PR c/71392
4571 * c-common.c (handle_nonnull_attribute): Accept
4572 the nonnull attribute in type-generic builtins.
4573
4574 2016-06-09 Martin Sebor <msebor@redhat.com>
4575
4576 PR c/70883
4577 * c-common.c (builtin_function_validate_nargs): Make text of error
4578 message consistent with others like it.
4579
4580 2016-06-08 Martin Sebor <msebor@redhat.com>
4581 Jakub Jelinek <jakub@redhat.com>
4582
4583 PR c++/70507
4584 PR c/68120
4585 * c-common.c (check_builtin_function_arguments): Handle
4586 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
4587
4588 2016-06-08 Richard Biener <rguenther@suse.de>
4589
4590 * c-common.c (parse_optimize_options): Improve diagnostic messages.
4591
4592 2016-06-07 Richard Biener <rguenther@suse.de>
4593
4594 PR c/61564
4595 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
4596 options and warn about others.
4597
4598 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
4599
4600 * c-common.c (get_source_date_epoch): Rename to
4601 cb_get_source_date_epoch.
4602 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
4603 message when the parsing fails. Use error_at instead of fatal_error.
4604 * c-common.h (get_source_date_epoch): Rename to
4605 cb_get_source_date_epoch.
4606 * c-common.h (cb_get_source_date_epoch): Prototype.
4607 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
4608 * c-common.h (c_omp_region_type): Remove trailing comma.
4609 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
4610 * c-lex.c (c_lex_with_flags): Remove initialization of
4611 pfile->source_date_epoch.
4612
4613 2016-05-30 Jakub Jelinek <jakub@redhat.com>
4614
4615 PR c++/71349
4616 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
4617 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
4618 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
4619 instead of C_OMP_CLAUSE_SPLIT_FOR.
4620
4621 2016-05-24 Richard Biener <rguenther@suse.de>
4622
4623 PR middle-end/70434
4624 PR c/69504
4625 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
4626 (convert_vector_to_array_for_subscript): ... this.
4627 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
4628 VIEW_CONVERT_EXPR to an array type. Rename to ...
4629 (convert_vector_to_array_for_subscript): ... this.
4630
4631 2016-05-12 Marek Polacek <polacek@redhat.com>
4632
4633 PR c/70756
4634 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
4635 size_in_bytes and pass LOC to it.
4636
4637 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
4638
4639 PR c/43651
4640 * c.opt (Wduplicate-decl-specifier): New option.
4641
4642 2016-05-11 Marek Polacek <polacek@redhat.com>
4643
4644 PR c++/71024
4645 * c-common.c (diagnose_mismatched_attributes): New function.
4646 * c-common.h (diagnose_mismatched_attributes): Declare.
4647
4648 2016-05-04 Marek Polacek <polacek@redhat.com>
4649
4650 * c.opt (Wdangling-else): New option.
4651
4652 2016-05-03 Marek Polacek <polacek@redhat.com>
4653
4654 PR c/70859
4655 * c-common.c (builtin_function_validate_nargs): Add location
4656 parameter. Use it.
4657 (check_builtin_function_arguments): Add location and arguments
4658 parameters. Use them.
4659 * c-common.h (check_builtin_function_arguments): Update declaration.
4660
4661 2016-05-03 Richard Biener <rguenther@suse.de>
4662
4663 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
4664 allow call args to gimplify to SSA names.
4665
4666 2016-05-03 Marek Polacek <polacek@redhat.com>
4667
4668 * c-common.h (enum c_omp_region_type): Remove stray comma.
4669
4670 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
4671
4672 * c-common.h (enum c_omp_region_type): Define.
4673
4674 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
4675
4676 * c-common.c (shorten_compare): Use wi::to_wide.
4677
4678 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4679
4680 PR middle-end/70626
4681 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
4682 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
4683 reduction clauses in acc parallel loops.
4684
4685 2016-04-29 Marek Polacek <polacek@redhat.com>
4686
4687 PR c/70852
4688 * c-common.c (warn_for_memset): Check domain before accessing it.
4689
4690 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4691
4692 PR/69089
4693 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
4694 "aligned" attribute.
4695
4696 2016-04-28 Jason Merrill <jason@redhat.com>
4697
4698 * c-lex.c (c_common_has_attribute): Handle nodiscard.
4699
4700 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
4701 Matthias Klose <doko@debian.org>
4702
4703 * c-common.c (get_source_date_epoch): New function, gets the environment
4704 variable SOURCE_DATE_EPOCH and parses it as long long with error
4705 handling.
4706 * c-common.h (get_source_date_epoch): Prototype.
4707 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
4708
4709 2015-04-27 Ryan Burn <contact@rnburn.com>
4710
4711 PR c++/69024
4712 PR c++/68997
4713 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
4714 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
4715 external linkage.
4716 (cilk_detect_and_unwrap): Corresponding changes.
4717 (extract_free_variables): Don't extract free variables from
4718 AGGR_INIT_EXPR slot.
4719 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
4720 (cilk_recognize_spawn): Likewise.
4721
4722 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
4723
4724 * c.opt (Wmemset-elt-size): New option.
4725 * c-common.c (warn_for_memset): New function.
4726 * c-common.h (warn_for_memset): Declare.
4727
4728 2016-04-25 Jason Merrill <jason@redhat.com>
4729
4730 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
4731 No longer static.
4732 * c-common.h: Declare it.
4733 * c-lex.c (c_common_has_attribute): Add maybe_unused.
4734
4735 2016-04-22 Jason Merrill <jason@redhat.com>
4736
4737 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
4738
4739 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
4740
4741 PR c++/69363
4742 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
4743 * c-common.h (c_finish_cilk_clauses): Remove declaration.
4744
4745 2016-04-18 Michael Matz <matz@suse.de>
4746
4747 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
4748 and SET_DECL_ALIGN.
4749
4750 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
4751
4752 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
4753 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
4754 to incomplete types.
4755 (dump_nested_type): Remove redundant tests and tidy up.
4756 (print_ada_declaration): Also set TREE_VISITED on the declaration of
4757 a type which is the typedef of an original type.
4758
4759 2016-04-15 Marek Polacek <polacek@redhat.com>
4760
4761 PR c/70651
4762 * c-common.c (build_va_arg): Change two asserts into errors and return
4763 error_mark_node.
4764
4765 2016-04-13 Marek Polacek <polacek@redhat.com>
4766
4767 PR c++/70639
4768 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
4769 for switch statements, too.
4770
4771 2016-03-28 Jason Merrill <jason@redhat.com>
4772
4773 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
4774
4775 2016-03-23 Marek Polacek <polacek@redhat.com>
4776
4777 PR c++/69884
4778 * c.opt (Wignored-attributes): New option.
4779
4780 2016-03-22 David Malcolm <dmalcolm@redhat.com>
4781
4782 PR c/69993
4783 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
4784 diagnostic text, reversing the order of the warning and note so
4785 that they appear in source order.
4786
4787 2016-03-17 Marek Polacek <polacek@redhat.com>
4788
4789 PR c/69407
4790 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
4791 operations.
4792
4793 2016-03-14 Jason Merrill <jason@redhat.com>
4794
4795 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
4796
4797 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
4798
4799 2016-03-09 Richard Biener <rguenther@suse.de>
4800
4801 PR c/70143
4802 * c-common.c (strict_aliasing_warning): Add back
4803 alias_sets_conflict_p check.
4804
4805 2016-03-08 Jason Merrill <jason@redhat.com>
4806
4807 * c-opts.c (set_std_cxx1z): Don't enable concepts.
4808
4809 2016-03-04 David Malcolm <dmalcolm@redhat.com>
4810
4811 PR c/68187
4812 * c-indentation.c (get_visual_column): Move code to determine next
4813 tab stop to...
4814 (next_tab_stop): ...this new function.
4815 (line_contains_hash_if): Delete function.
4816 (detect_preprocessor_logic): Delete function.
4817 (get_first_nws_vis_column): New function.
4818 (detect_intervening_unindent): New function.
4819 (should_warn_for_misleading_indentation): Replace call to
4820 detect_preprocessor_logic with a call to
4821 detect_intervening_unindent.
4822
4823 2016-03-04 David Malcolm <dmalcolm@redhat.com>
4824
4825 PR c/68187
4826 * c-indentation.c (should_warn_for_misleading_indentation): When
4827 suppressing warnings about cases where the guard and body are on
4828 the same column, only use the first non-whitespace column in place
4829 of the guard token column when dealing with "else" clauses.
4830 When rejecting aligned BODY and NEXT, loosen the requirement
4831 from equality with the first non-whitespace of guard to simply
4832 that they not be indented relative to it.
4833
4834 2016-03-04 Richard Biener <rguenther@suse.de>
4835
4836 PR c++/70054
4837 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
4838 instead of alias_sets_conflict_p.
4839
4840 2016-03-01 Marek Polacek <polacek@redhat.com>
4841
4842 PR c++/69795
4843 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
4844 any DECL.
4845
4846 2016-02-22 Martin Sebor <msebor@redhat.com>
4847
4848 PR middle-end/69780
4849 * c-common.c (check_builtin_function_arguments): Validate and
4850 reject invalid arguments to __builtin_alloca_with_align.
4851
4852 2016-02-20 Mark Wielaard <mjw@redhat.com>
4853
4854 PR c/28901
4855 * c.opt (Wunused-const-variable): Turn into Alias for...
4856 (Wunused-const-variable=): New option.
4857
4858 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4859
4860 PR c++/69865
4861 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
4862 here...
4863 (c_common_init_options): ...to here.
4864 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
4865
4866 2016-02-19 Jakub Jelinek <jakub@redhat.com>
4867
4868 PR c++/69826
4869 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
4870 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
4871 flag_preprocess_only.
4872
4873 2016-02-16 Jakub Jelinek <jakub@redhat.com>
4874
4875 PR c/69835
4876 * c.opt (Wnonnull-compare): Enable for -Wall.
4877
4878 2016-02-15 Jakub Jelinek <jakub@redhat.com>
4879
4880 PR c++/69797
4881 * c-common.c (sync_resolve_size): Diagnose too few arguments
4882 even when params is non-NULL empty vector.
4883
4884 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4885
4886 PR target/60410
4887 * c.opt (fshort-double): Remove.
4888
4889 2016-02-05 Martin Sebor <msebor@redhat.com>
4890
4891 PR c++/69662
4892 * c.opt (Warning options): Update -Wplacement-new to take
4893 an optional argument.
4894
4895 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4896
4897 PR preprocessor/69543
4898 PR c/69558
4899 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4900 instead of loc to control_warning_option.
4901
4902 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4903
4904 * c.opt (fopenacc-dim=): New option.
4905
4906 2016-01-27 Ryan Burn <contact@rnburn.com>
4907
4908 PR cilkplus/69267
4909 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4910 gimplify_arg. Removed superfluous post_p argument.
4911 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4912 superfluous post_p argument.
4913 * c-gimplify.c (c_gimplify_expr): Likewise.
4914
4915 2016-01-26 David Malcolm <dmalcolm@redhat.com>
4916
4917 PR other/69006
4918 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4919 pp_newline_and_flush with pp_flush.
4920
4921 2016-01-20 Martin Sebor <msebor@redhat.com>
4922
4923 PR c/69405
4924 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4925 an incompatible argument when the argument isn't a valid tree node.
4926
4927 2016-01-18 Jason Merrill <jason@redhat.com>
4928
4929 PR c++/68767
4930 * c-common.c (check_function_arguments_recurse): Fold the whole
4931 COND_EXPR, not just the condition.
4932
4933 2016-01-18 Tom de Vries <tom@codesourcery.com>
4934
4935 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4936 classify as loop clause.
4937
4938 2016-01-15 Jakub Jelinek <jakub@redhat.com>
4939
4940 PR bootstrap/68271
4941 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4942 C++ FE no longer has limit on number of pragmas.
4943
4944 2015-01-14 Ryan Burn <contact@rnburn.com>
4945
4946 PR c++/69048
4947 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
4948 to add missing cleanup point.
4949
4950 2016-01-14 David Malcolm <dmalcolm@redhat.com>
4951
4952 PR c++/68819
4953 * c-indentation.c (get_visual_column): Add location_t param.
4954 Handle the column number being zero by effectively disabling the
4955 warning, with an "inform".
4956 (should_warn_for_misleading_indentation): Add location_t argument
4957 for all uses of get_visual_column.
4958
4959 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4960
4961 PR c++/69029
4962 * c-indentation.c (should_warn_for_misleading_indentation):
4963 Don't warn about do-while statements.
4964
4965 2016-01-07 Martin Sebor <msebor@redhat.com>
4966
4967 PR c/68966
4968 * c-common.c (sync_resolve_size): Reject first argument when it's
4969 a pointer to _Bool.
4970
4971 2016-01-05 David Malcolm <dmalcolm@redhat.com>
4972
4973 PR c/69122
4974 * c-indentation.c (get_visual_column): Remove default argument.
4975 (should_warn_for_misleading_indentation): For the multiline case,
4976 update call to get_visual_column for next_stmt_exploc so that it
4977 captures the location of the first non-whitespace character in the
4978 relevant line. Don't issue warnings if there is non-whitespace
4979 before the next statement.
4980
4981 2016-01-04 Jakub Jelinek <jakub@redhat.com>
4982
4983 Update copyright years.
4984
4985 2015-12-21 David Malcolm <dmalcolm@redhat.com>
4986
4987 * c-common.c (binary_op_error): Convert first param from
4988 location_t to rich_location * and use it when emitting an error.
4989 * c-common.h (binary_op_error): Convert first param from
4990 location_t to rich_location *.
4991
4992 2015-12-16 David Malcolm <dmalcolm@redhat.com>
4993
4994 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4995 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4996
4997 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4998
4999 * c-common.c (c_common_attribute_table): Handle "omp declare target
5000 link" attribute.
5001
5002 2015-12-14 Jakub Jelinek <jakub@redhat.com>
5003
5004 PR c/68833
5005 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
5006
5007 2014-12-12 Tobias Burnus <burnus@net-b.de>
5008
5009 PR fortran/68815
5010 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
5011 specifiers (%d, %i,%u and %c).
5012
5013 2015-12-10 David Malcolm <dmalcolm@redhat.com>
5014
5015 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
5016
5017 2015-12-08 Jakub Jelinek <jakub@redhat.com>
5018
5019 PR c/48088
5020 PR c/68657
5021 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
5022 * c-pragma.c (handle_pragma_diagnostic): Adjust
5023 control_warning_option caller.
5024
5025 2015-12-07 David Malcolm <dmalcolm@redhat.com>
5026
5027 * c-common.c (c_cpp_error): Update for change to
5028 rich_location::set_range.
5029
5030 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
5031
5032 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
5033 shifting 1 out of the sign bit.
5034
5035 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
5036
5037 * c-common.c (c_common_attribute_table[]): Update max arguments
5038 count for "simd" attribute.
5039 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
5040
5041 2015-12-03 Jakub Jelinek <jakub@redhat.com>
5042
5043 PR preprocessor/57580
5044 * c-ppoutput.c (print): Change printed field to bool.
5045 Move src_file last for smaller padding.
5046 (init_pp_output): Set print.printed to false instead of 0.
5047 (scan_translation_unit): Fix up formatting. Set print.printed
5048 to true after printing something other than newline.
5049 (scan_translation_unit_trad): Set print.printed to true instead of 1.
5050 (maybe_print_line_1): Set print.printed to false instead of 0.
5051 (print_line_1): Likewise.
5052 (do_line_change): Set print.printed to true instead of 1.
5053 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
5054 dump_macro): Set print.printed to false after printing newline.
5055
5056 2015-12-02 Jason Merrill <jason@redhat.com>
5057
5058 * c-common.c (fold_for_warn): New.
5059 (warn_logical_operator, warn_tautological_cmp)
5060 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
5061
5062 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
5063 (c_fully_fold_internal, decl_constant_value_for_optimization):
5064 Move to c/c-fold.c.
5065 * c-common.h: Don't declare decl_constant_value_for_optimization.
5066
5067 2015-12-02 Joseph Myers <joseph@codesourcery.com>
5068
5069 PR c/68162
5070 * c-common.h (c_build_qualified_type): Add extra default
5071 arguments.
5072
5073 2015-12-01 Julian Brown <julian@codesourcery.com>
5074 Cesar Philippidis <cesar@codesourcery.com>
5075 James Norris <James_Norris@mentor.com>
5076
5077 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
5078 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
5079 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
5080
5081 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
5082
5083 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
5084 (decl_sloc_common): Delete and move bulk of processing to...
5085 (decl_sloc): ...here.
5086 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
5087 (dump_ada_double_name): Remove S parameter and compute the suffix.
5088 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
5089 element type and deal with an anonymous one.
5090 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
5091 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
5092 and remove reference to QUAL_UNION_TYPE.
5093 (dump_nested_types): Make 2 passes on the fields and move bulk to...
5094 (dump_nested_type): ...here. New function extracted from above.
5095 Generate a full declaration for anonymous element type of arrays.
5096 (print_ada_declaration): Really skip anonymous declarations. Remove
5097 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
5098 Clean up processing of declarations of array types and objects.
5099 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
5100 Remove obsolete code and tidy up.
5101
5102 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
5103
5104 PR c/67581
5105 * c-common.c (handle_transparent_union_attribute): Update
5106 also type variants.
5107
5108 2015-11-27 Martin Liska <mliska@suse.cz>
5109
5110 PR c++/68312
5111 * array-notation-common.c (cilkplus_extract_an_triplets):
5112 Release vector of vectors.
5113 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
5114
5115 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
5116
5117 PR c++/68527
5118 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
5119 (print_ada_struct_decl): Likewise.
5120
5121 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
5122
5123 PR c++/68001
5124 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
5125 * cilk.c (recognize_spawn): Determine location in a more precise
5126 way.
5127
5128 2015-11-19 Jason Merrill <jason@redhat.com>
5129
5130 * c-common.c (shorten_compare): But look through macros from
5131 system headers.
5132
5133 2015-11-18 Jason Merrill <jason@redhat.com>
5134
5135 * c-common.c (shorten_compare): Don't -Wtype-limits if the
5136 non-constant operand comes from a macro.
5137
5138 2015-11-17 Jason Merrill <jason@redhat.com>
5139
5140 PR bootstrap/68346
5141 * c-common.c (warn_tautological_cmp): Fold before checking for
5142 constants.
5143
5144 2015-11-16 Marek Polacek <polacek@redhat.com>
5145
5146 PR c++/68362
5147 * c-common.c (check_case_bounds): Fold low and high cases.
5148
5149 2015-11-16 Marek Polacek <polacek@redhat.com>
5150
5151 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
5152 * c-common.c (c_common_get_alias_set): Likewise.
5153 (handle_visibility_attribute): Likewise.
5154
5155 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
5156
5157 * c-common.c (handle_simd_attribute): New.
5158 (struct attribute_spec): Add entry for "simd".
5159 (handle_simd_attribute): New.
5160
5161 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
5162
5163 * c-lex.c (interpret_float): Use fold_convert.
5164
5165 2015-11-13 David Malcolm <dmalcolm@redhat.com>
5166
5167 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
5168 and store it on the result.
5169 * c-opts.c (c_common_init_options): Set
5170 global_dc->colorize_source_p.
5171
5172 2015-11-12 James Norris <jnorris@codesourcery.com>
5173 Joseph Myers <joseph@codesourcery.com>
5174
5175 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
5176 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
5177 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
5178 PRAGMA_OACC_CLAUSE_LINK.
5179
5180 2015-11-11 Marek Polacek <polacek@redhat.com>
5181
5182 PR c/68107
5183 PR c++/68266
5184 * c-common.c (valid_array_size_p): New function.
5185 * c-common.h (valid_array_size_p): Declare.
5186
5187 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
5188
5189 PR bootstrap/68271
5190 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
5191
5192 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
5193
5194 * array-notation-common.c: Remove unused header files.
5195 * c-ada-spec.c: Likewise.
5196 * c-cilkplus.c: Likewise.
5197 * c-common.c: Likewise.
5198 * c-cppbuiltin.c: Likewise.
5199 * c-dump.c: Likewise.
5200 * c-format.c: Likewise.
5201 * c-gimplify.c: Likewise.
5202 * c-indentation.c: Likewise.
5203 * c-lex.c: Likewise.
5204 * c-omp.c: Likewise.
5205 * c-opts.c: Likewise.
5206 * c-pch.c: Likewise.
5207 * c-ppoutput.c: Likewise.
5208 * c-pragma.c: Likewise.
5209 * c-pretty-print.c: Likewise.
5210 * c-semantics.c: Likewise.
5211 * c-ubsan.c: Likewise.
5212 * cilk.c: Likewise.
5213 * stub-objc.c: Likewise.
5214
5215 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
5216 Cesar Philippidis <cesar@codesourcery.com>
5217 James Norris <jnorris@codesourcery.com>
5218 Julian Brown <julian@codesourcery.com>
5219 Nathan Sidwell <nathan@codesourcery.com>
5220
5221 * c-pragma.c (oacc_pragmas): Add "routine".
5222 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
5223
5224 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
5225
5226 * c-common.c (c_common_attributes): Add scalar_storage_order.
5227 (handle_scalar_storage_order_attribute): New function.
5228 * c-pragma.c (global_sso): New variable.
5229 (maybe_apply_pragma_scalar_storage_order): New function.
5230 (handle_pragma_scalar_storage_order): Likewise.
5231 (init_pragma): Register scalar_storage_order.
5232 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
5233 * c.opt (Wscalar-storage-order): New warning.
5234 (fsso-struct=): New option.
5235
5236 2015-11-08 Martin Sebor <msebor@redhat.com>
5237
5238 * c.opt (Wplacement-new): Add a period to the end of a sentence.
5239
5240 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
5241
5242 * c-common.c: Don't undef DEF_BUILTIN.
5243
5244 2015-11-06 David Malcolm <dmalcolm@redhat.com>
5245
5246 * c-common.c (c_cpp_error): Convert parameter from location_t to
5247 rich_location *. Eliminate the "column_override" parameter and
5248 the call to diagnostic_override_column.
5249 Update the "done_lexing" clause to set range 0
5250 on the rich_location, rather than overwriting a location_t.
5251 * c-common.h (c_cpp_error): Convert parameter from location_t to
5252 rich_location *. Eliminate the "column_override" parameter.
5253
5254 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5255 Thomas Schwinge <thomas@codesourcery.com>
5256 James Norris <jnorris@codesourcery.com>
5257
5258 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5259 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5260 clauses with parallel and kernels and loops.
5261 * c-pragma.h (enum pragma_omp_clause): Add entries for
5262 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5263 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5264 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5265 INDEPENDENT,SEQ}.
5266 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5267
5268 2015-11-05 Martin Sebor <msebor@redhat.com>
5269
5270 PR c++/67942
5271 * c.opt (-Wplacement-new): New option.
5272
5273 2015-11-05 Jakub Jelinek <jakub@redhat.com>
5274
5275 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5276 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5277 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5278 save_expr or create_tmp_var* if TEST is true.
5279 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5280 Don't call add_stmt here.
5281 (struct c_omp_check_loop_iv_data): New type.
5282 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5283 c_omp_check_loop_iv_exprs): New functions.
5284 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5285 distribute.
5286 (c_omp_declare_simd_clauses_to_numbers): Change
5287 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5288 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5289 from numbers to PARM_DECLs.
5290
5291 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5292
5293 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5294 flag_checking.
5295
5296 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
5297
5298 PR c++-common/67882
5299 * c-common.h (fold_offsetof_1): Add argument.
5300 * c-common.c (fold_offsetof_1): Diagnose more invalid
5301 offsetof expressions that reference elements past the end of
5302 an array.
5303
5304 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5305 Chung-Lin Tang <cltang@codesourcery.com>
5306
5307 * c-pragma.c (oacc_pragmas): Add "atomic".
5308 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5309
5310 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5311
5312 * c-common.c (handle_target_clones_attribute): New.
5313 (c_common_attribute_table): Add handle_target_clones_attribute.
5314 (handle_always_inline_attribute): Add check on target_clones attribute.
5315 (handle_target_attribute): Ditto.
5316
5317 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
5318
5319 * array-notation-common.c: Reorder #include's and remove duplicates.
5320 * c-ada-spec.c: Likewise.
5321 * c-cilkplus.c: Likewise.
5322 * c-common.c: Likewise.
5323 * c-cppbuiltin.c: Likewise.
5324 * c-dump.c: Likewise.
5325 * c-format.c: Likewise.
5326 * c-gimplify.c: Likewise.
5327 * c-indentation.c: Likewise.
5328 * c-lex.c: Likewise.
5329 * c-omp.c: Likewise.
5330 * c-opts.c: Likewise.
5331 * c-pch.c: Likewise.
5332 * c-ppoutput.c: Likewise.
5333 * c-pragma.c: Likewise.
5334 * c-pretty-print.c: Likewise.
5335 * c-semantics.c: Likewise.
5336 * c-ubsan.c: Likewise.
5337 * cilk.c: Likewise.
5338 * stub-objc.c: Likewise.
5339
5340 2015-10-28 Jason Merrill <jason@redhat.com>
5341
5342 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5343
5344 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5345 James Norris <jnorris@codesourcery.com>
5346 Cesar Philippidis <cesar@codesourcery.com>
5347
5348 PR c/64765
5349 PR c/64880
5350 * c-common.h (c_oacc_split_loop_clauses): Declare function.
5351 * c-omp.c (c_oacc_split_loop_clauses): New function.
5352
5353 2015-10-21 Martin Sebor <msebor@redhat.com>
5354
5355 PR driver/68043
5356 * c.opt: End each sentence that describes an option with a period.
5357
5358 2015-10-20 Marek Polacek <polacek@redhat.com>
5359
5360 * array-notation-common.c (is_cilkplus_vector_p): Define.
5361 * c-common.h (is_cilkplus_vector_p): Declare.
5362
5363 2015-10-20 Marek Polacek <polacek@redhat.com>
5364
5365 * c.opt (std=gnu++11): Do not describe as experimental.
5366 (std=gnu++14): Likewise.
5367
5368 2015-10-19 Jason Merrill <jason@redhat.com>
5369
5370 * c-cppbuiltin.c (c_cpp_builtins): Define
5371 __cpp_nontype_template_args.
5372
5373 2015-10-19 Jason Merrill <jason@redhat.com>
5374
5375 * c-cppbuiltin.c (c_cpp_builtins): Define
5376 __cpp_enumerator_attributes, __cpp_fold_expressions,
5377 __cpp_unicode_characters.
5378
5379 2015-10-13 Jakub Jelinek <jakub@redhat.com>
5380 Aldy Hernandez <aldyh@redhat.com>
5381
5382 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
5383 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
5384 (c_define_builtins): Likewise.
5385 * c-common.h (enum c_omp_clause_split): Add
5386 C_OMP_CLAUSE_SPLIT_TASKLOOP.
5387 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
5388 (c_finish_omp_for): Add ORIG_DECLV argument.
5389 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
5390 201511 instead of 201307.
5391 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
5392 OMP_CRITICAL_CLAUSES to it.
5393 (c_finish_omp_ordered): Add CLAUSES argument, set
5394 OMP_ORDERED_CLAUSES to it.
5395 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
5396 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
5397 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
5398 constructs and new OpenMP 4.5 clauses. Clear
5399 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
5400 verification code.
5401 * c-pragma.c (omp_pragmas_simd): Add taskloop.
5402 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
5403 (enum pragma_omp_clause): Add
5404 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
5405 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5406
5407 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5408
5409 * c-lex.c (interpret_float): Use real_equal instead of
5410 REAL_VALUES_EQUAL.
5411
5412 2015-10-04 Jason Merrill <jason@redhat.com>
5413
5414 Implement N4514, C++ Extensions for Transactional Memory.
5415 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5416 (c_common_attribute_table): Add transaction_safe_dynamic.
5417 transaction_safe now affects type identity.
5418 (handle_tm_attribute): Handle transaction_safe_dynamic.
5419 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5420 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5421 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5422 (D_TRANSMEM): New.
5423 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5424 * c-pretty-print.c (pp_c_attributes_display): Don't print
5425 transaction_safe in C++.
5426
5427 2015-10-02 Marek Polacek <polacek@redhat.com>
5428
5429 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5430
5431 2015-10-02 Marek Polacek <polacek@redhat.com>
5432
5433 PR c/64249
5434 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5435 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
5436 * c.opt (Wduplicated-cond): New option.
5437
5438 2015-10-01 Joseph Myers <joseph@codesourcery.com>
5439
5440 * c.opt (std=c11): Do not describe as experimental.
5441 (std=gnu11): Likewise.
5442 (std=iso9899:2011): Likewise.
5443
5444 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5445
5446 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
5447 (DEF_FUNCTION_TYPE_VAR_11): Delete.
5448
5449 2015-09-25 Marek Polacek <polacek@redhat.com>
5450
5451 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
5452 (ubsan_instrument_shift): Likewise.
5453
5454 2015-09-25 Marek Polacek <polacek@redhat.com>
5455
5456 PR sanitizer/64906
5457 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
5458
5459 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
5460
5461 * c-indentation.c (should_warn_for_misleading_indentation):
5462 Compare next_stmt_vis_column with guard_line_first_nws instead
5463 of with guard_line_vis_column.
5464
5465 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5466
5467 PR c/49654
5468 PR c/49655
5469 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
5470 options and options not valid for the current language.
5471
5472 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
5473
5474 * c-indentation.c (should_warn_for_misleading_indentation):
5475 Float out and consolidate the calls to get_visual_column that
5476 are passed guard_exploc as an argument. Compare
5477 next_stmt_vis_column with guard_line_first_nws instead of with
5478 body_line_first_nws.
5479
5480 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
5481
5482 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
5483 Wnamespaces): New C++ warnings.
5484
5485 2015-09-22 Jason Merrill <jason@redhat.com>
5486
5487 * c-common.h (abi_compat_version_crosses): New.
5488 (warn_abi_version): Declare.
5489 * c-common.c: Define it.
5490 * c-opts.c (c_common_post_options): Handle it.
5491 flag_abi_compat_version defaults to 8.
5492
5493 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5494
5495 Complete the implementation of N4230, Nested namespace definition.
5496 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
5497 __cpp_nested_namespace_definitions.
5498
5499 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5500
5501 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
5502
5503 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5504
5505 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
5506 when warning.
5507 * c-pragma.h (pragma_lex): Add optional loc argument.
5508
5509 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
5510
5511 * c-format.c (check_format_arg): Adjust to use common block size in all
5512 object pools.
5513
5514 2015-09-15 David Malcolm <dmalcolm@redhat.com>
5515
5516 * c-format.c (location_from_offset): Update for change in
5517 signature of location_get_source_line.
5518 * c-indentation.c (get_visual_column): Likewise.
5519 (line_contains_hash_if): Likewise.
5520
5521 2015-09-14 Marek Polacek <polacek@redhat.com>
5522
5523 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
5524 setting various warnings.
5525
5526 2015-09-14 Marek Polacek <polacek@redhat.com>
5527
5528 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
5529 a negative value.
5530
5531 2015-09-11 Mark Wielaard <mjw@redhat.com>
5532
5533 PR c/28901
5534 * c.opt (Wunused-variable): Option from common.opt.
5535 (Wunused-const-variable): New option.
5536
5537 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5538
5539 PR c++/53184
5540 * c.opt ([Wsubobject-linkage]): Add.
5541
5542 2015-09-03 Martin Sebor <msebor@redhat.com>
5543
5544 PR c/66516
5545 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
5546 functions.
5547 * c-common.c (reject_gcc_builtin): Define.
5548
5549 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
5550
5551 PR middle-end/60586
5552 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
5553 prototype.
5554 * c-gimplify.c (c_gimplify_expr): Added a call to the function
5555 cilk_gimplify_call_params_in_spawned_fn.
5556 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
5557 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
5558 unwrapping.
5559
5560 2015-08-25 Marek Polacek <polacek@redhat.com>
5561
5562 PR middle-end/67330
5563 * c-common.c (handle_weak_attribute): Don't check whether the
5564 visibility can be changed here.
5565
5566 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5567
5568 * c-lex.c (c_lex_with_flags): Use explicit locations.
5569
5570 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
5571
5572 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
5573 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
5574
5575 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5576
5577 PR middle-end/36757
5578 * c-common.c (check_builtin_function_arguments): Add check
5579 for BUILT_IN_SIGNBIT argument.
5580
5581 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
5582
5583 PR c++/67160
5584 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
5585 in c++1z mode.
5586
5587 2015-08-17 Marek Polacek <polacek@redhat.com>
5588
5589 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
5590 with whitespaces before qualifier names.
5591
5592 2015-08-12 Marek Polacek <polacek@redhat.com>
5593
5594 PR c++/55095
5595 * c-common.c (maybe_warn_shift_overflow): Properly handle
5596 left-shifting 1 into the sign bit.
5597
5598 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5599
5600 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
5601
5602 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
5603 Braden Obrzut <admin@maniacsvault.net>
5604 Jason Merrill <jason@redhat.com>
5605
5606 Add C++ Concepts TS support.
5607 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
5608 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
5609 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
5610 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
5611 * c-opts.c (set_std_cxx1z): Set flag_concepts.
5612 * c.opt (fconcepts): New.
5613
5614 2015-08-02 Martin Sebor <msebor@redhat.com>
5615
5616 * c.opt (-Wframe-address): New warning option.
5617
5618 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5619
5620 * c-indentation.c (should_warn_for_misleading_indentation):
5621 Improve heuristics.
5622
5623 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5624
5625 * c-indentation.c (get_visual_column): Add parameter first_nws,
5626 use it. Update comment documenting the function.
5627 (is_first_nonwhitespace_on_line): Remove.
5628 (should_warn_for_misleading_indentation): Replace usage of
5629 of is_first_nonwhitespace_on_line with get_visual_column.
5630
5631 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5632
5633 * c-indentation.h (struct token_indent_info): Define.
5634 (get_token_indent_info): Define.
5635 (warn_for_misleading_information): Declare.
5636 * c-common.h (warn_for_misleading_information): Remove.
5637 * c-identation.c (warn_for_misleading_indentation):
5638 Change declaration to take three token_indent_infos. Adjust
5639 accordingly.
5640 * c-identation.c (should_warn_for_misleading_indentation):
5641 Likewise. Bail out early if the body is a compound statement.
5642 (guard_tinfo_to_string): Define.
5643
5644 2015-07-30 Jason Merrill <jason@redhat.com>
5645
5646 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
5647 '*' for reference decay.
5648
5649 2015-07-30 Marek Polacek <polacek@redhat.com>
5650
5651 * c-common.c (warn_tautological_cmp): Bail for float types.
5652
5653 2015-07-27 Marek Polacek <polacek@redhat.com>
5654
5655 PR bootstrap/67030
5656 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
5657
5658 2015-07-27 Marek Polacek <polacek@redhat.com>
5659
5660 PR c++/66555
5661 PR c/54979
5662 * c-common.c (find_array_ref_with_const_idx_r): New function.
5663 (warn_tautological_cmp): New function.
5664 * c-common.h (warn_tautological_cmp): Declare.
5665 * c.opt (Wtautological-compare): New option.
5666
5667 2015-07-23 Marek Polacek <polacek@redhat.com>
5668
5669 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
5670 (ubsan_instrument_shift): Likewise.
5671
5672 2015-07-23 Marek Polacek <polacek@redhat.com>
5673
5674 PR sanitizer/66908
5675 * c-ubsan.c: Include gimplify.h.
5676 (ubsan_instrument_division): Unshare OP0 and OP1.
5677 (ubsan_instrument_shift): Likewise.
5678
5679 2015-07-20 Marek Polacek <polacek@redhat.com>
5680 Richard Sandiford <richard.sandiford@arm.com>
5681
5682 PR c++/55095
5683 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
5684 Use EXPR_LOC_OR_LOC.
5685 (maybe_warn_shift_overflow): New function.
5686 * c-common.h (maybe_warn_shift_overflow): Declare.
5687 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
5688 * c.opt (Wshift-overflow): New option.
5689
5690 2015-07-16 Martin Liska <mliska@suse.cz>
5691
5692 * c-format.c (static void check_format_info_main): Use
5693 object_allocator instead of pool_allocator.
5694 (check_format_arg): Likewise.
5695 (check_format_info_main): Likewise.
5696
5697 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
5698
5699 * c-opts.c: Remove multiline #include comment.
5700
5701 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
5702
5703 * c-common.c: Fix double word typos.
5704
5705 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
5706
5707 * c-ada-spec.h (cpp_operation): Revert latest change.
5708 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
5709 constructors and destructors.
5710
5711 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
5712
5713 * c-common.h: Adjust includes for flags.h changes.
5714 * stub-objc.c: Likewise.
5715
5716 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
5717
5718 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
5719 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
5720
5721 2015-07-08 Jakub Jelinek <jakub@redhat.com>
5722
5723 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
5724 are to be removed, return NULL rather than original clauses list.
5725
5726 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
5727
5728 * array-notation-common.c: Adjust includes.
5729 * c-ada-spec.c: Likewise.
5730 * c-cilkplus.c: Likewise.
5731 * c-common.h: Likewise.
5732 * c-cppbuiltin.c: Likewise.
5733 * c-dump.c: Likewise.
5734 * c-format.c: Likewise.
5735 * c-gimplify.c: Likewise.
5736 * c-indentation.c: Likewise.
5737 * c-lex.c: Likewise.
5738 * c-omp.c: Likewise.
5739 * c-opts.c: Likewise.
5740 * c-pch.c: Likewise.
5741 * c-ppoutput.c: Likewise.
5742 * c-pragma.c: Likewise.
5743 * c-pretty-print.c: Likewise.
5744 * c-semantics.c: Likewise.
5745 * c-ubsan.c: Likewise.
5746 * cilk.c: Likewise.
5747 * stub-objc.c: Likewise.
5748
5749 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
5750
5751 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
5752 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
5753
5754 2015-07-01 Jason Merrill <jason@redhat.com>
5755
5756 * c-common.h (D_CXX11): Rename from D_CXX0X.
5757 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
5758 * c-common.c: Adjust.
5759
5760 * c-opts.c (c_common_post_options): Default to C++14.
5761
5762 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
5763
5764 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
5765
5766 Implement N4197 - Adding u8 character literals
5767 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
5768 CPP_CHAR.
5769 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
5770 CPP_UTF8CHAR_USERDEF tokens.
5771 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
5772 and CPP_UTF8CHAR tokens.
5773 (lex_charconst): Treat CPP_UTF8CHAR token.
5774
5775 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5776
5777 PR fortran/66605
5778 * c-common.c (do_warn_unused_parameter): Move here.
5779 * c-common.h (do_warn_unused_parameter): Declare.
5780
5781 2015-06-29 Marek Polacek <polacek@redhat.com>
5782
5783 PR c/66322
5784 * c-common.c (check_case_bounds): Add bool * parameter. Set
5785 OUTSIDE_RANGE_P.
5786 (c_add_case_label): Add bool * parameter. Pass it down to
5787 check_case_bounds.
5788 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
5789 warning here.
5790 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
5791 declarations.
5792
5793 2015-06-27 Marek Polacek <polacek@redhat.com>
5794
5795 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
5796 or VECTOR_INTEGER_TYPE_P throughout.
5797 * c-gimplify.c: Likewise.
5798
5799 2015-06-26 Marek Polacek <polacek@redhat.com>
5800
5801 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
5802 * c-common.c (c_fully_fold_internal): Likewise.
5803 (c_alignof_expr): Likewise.
5804 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
5805 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
5806 * cilk.c (create_parm_list): Likewise.
5807
5808 2015-06-26 Marek Polacek <polacek@redhat.com>
5809
5810 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
5811
5812 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
5813
5814 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
5815 * c-gimplify.c: Likewise.
5816 * c-pragma.c: Likewise.
5817 * c-ubsan.c: Likewise.
5818 * cilk.c: Likewise.
5819
5820 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
5821
5822 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
5823 ggc_hasher.
5824
5825 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
5826
5827 * cilk.c: Move calls.h after tm.h in the include chain.
5828
5829 2015-06-25 Marek Polacek <polacek@redhat.com>
5830
5831 * array-notation-common.c: Use VAR_P throughout.
5832 * c-ada-spec.c: Likewise.
5833 * c-common.c: Likewise.
5834 * c-format.c: Likewise.
5835 * c-gimplify.c: Likewise.
5836 * c-omp.c: Likewise.
5837 * c-pragma.c: Likewise.
5838 * c-pretty-print.c: Likewise.
5839 * cilk.c: Likewise.
5840
5841 2015-06-25 Marek Polacek <polacek@redhat.com>
5842
5843 * cilk.c (extract_free_variables): Use is_global_var.
5844
5845 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5846
5847 * c-common.c: Don't include target-def.h.
5848
5849 2015-06-23 Marek Polacek <polacek@redhat.com>
5850
5851 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
5852 when comparing INTEGER_CSTs.
5853
5854 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5855
5856 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
5857 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
5858 (dump_ada_template): Skip partially specialized types.
5859
5860 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5861
5862 * c-common.c (scalar_to_vector): Use std::swap instead of manually
5863 swapping.
5864
5865 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
5866
5867 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
5868 * c-ada-spec.c: Likewise.
5869 * c-cilkplus.c: Likewise.
5870 * c-common.c: Likewise.
5871 * c-common.h: Likewise.
5872 * c-cppbuiltin.c: Likewise.
5873 * c-dump.c: Likewise.
5874 * c-format.c: Likewise.
5875 * c-gimplify.c: Likewise.
5876 * c-indentation.c: Likewise.
5877 * c-lex.c: Likewise.
5878 * c-omp.c: Likewise.
5879 * c-opts.c: Likewise.
5880 * c-pch.c: Likewise.
5881 * c-ppoutput.c: Likewise.
5882 * c-pragma.c: Likewise.
5883 * c-pretty-print.c: Likewise.
5884 * c-semantics.c: Likewise.
5885 * c-ubsan.c: Likewise.
5886 * cilk.c: Likewise.
5887 * stub-objc.c: Likewise.
5888
5889 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5890
5891 PR c++/65168
5892 * c-common.c (c_common_truthvalue_conversion): Warn when
5893 converting an address of a reference to a truth value.
5894
5895 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
5896
5897 * array-notation-common.c : Adjust include files.
5898 * c-ada-spec.c : Likewise.
5899 * c-cilkplus.c : Likewise.
5900 * c-common.c : Likewise.
5901 * c-common.h : Likewise.
5902 * c-cppbuiltin.c : Likewise.
5903 * c-dump.c : Likewise.
5904 * c-format.c : Likewise.
5905 * c-gimplify.c : Likewise.
5906 * c-indentation.c : Likewise.
5907 * c-lex.c : Likewise.
5908 * c-omp.c : Likewise.
5909 * c-opts.c : Likewise.
5910 * c-pch.c : Likewise.
5911 * c-ppoutput.c : Likewise.
5912 * c-pragma.c : Likewise.
5913 * c-pretty-print.c : Likewise.
5914 * c-semantics.c : Likewise.
5915 * c-ubsan.c : Likewise.
5916 * cilk.c : Likewise.
5917 * stub-objc.c : Likewise.
5918
5919 2015-06-08 Marek Polacek <polacek@redhat.com>
5920
5921 PR c/66415
5922 * c-format.c (location_from_offset): Return LOC if LINE is null.
5923
5924 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
5925
5926 * c-common.h (c_parse_final_cleanups): New prototype.
5927 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5928
5929 2015-06-04 Sriraman Tallam <tmsriram@google.com>
5930
5931 * c-common.c (noplt): New attribute.
5932 (handle_noplt_attribute): New handler.
5933
5934 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
5935
5936 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5937 * c-ada-spec.c: Likewise.
5938 * c-cilkplus.c: Likewise.
5939 * c-common.c: Likewise.
5940 * c-common.h: Likewise.
5941 * c-cppbuiltin.c: Likewise.
5942 * c-dump.c: Likewise.
5943 * c-format.c: Likewise.
5944 * c-gimplify.c: Likewise.
5945 * c-indentation.c: Likewise.
5946 * c-lex.c: Likewise.
5947 * c-omp.c: Likewise.
5948 * c-opts.c: Likewise.
5949 * c-pch.c: Likewise.
5950 * c-ppoutput.c: Likewise.
5951 * c-pragma.c: Likewise.
5952 * c-pretty-print.c: Likewise.
5953 * c-semantics.c: Likewise.
5954 * c-ubsan.c: Likewise.
5955 * cilk.c: Likewise.
5956 * stub-objc.c: Likewise.
5957
5958 2015-06-02 David Malcolm <dmalcolm@redhat.com>
5959
5960 PR c/66220:
5961 * c-indentation.c (should_warn_for_misleading_indentation): Use
5962 expand_location rather than expand_location_to_spelling_point.
5963 Don't warn if the guarding statement is more indented than the
5964 next/body stmts.
5965
5966 2015-06-02 David Malcolm <dmalcolm@redhat.com>
5967
5968 * c-indentation.c (warn_for_misleading_indentation): Bail out
5969 immediately if -Wmisleading-indentation isn't enabled.
5970
5971 2015-06-01 Martin Liska <mliska@suse.cz>
5972
5973 * c-format.c (check_format_arg):Use new type-based pool allocator.
5974 (check_format_info_main) Likewise.
5975
5976 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5977
5978 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5979 (has_nontrivial_methods): Likewise.
5980
5981 2015-05-25 Marek Polacek <polacek@redhat.com>
5982
5983 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5984
5985 2015-05-22 Marek Polacek <polacek@redhat.com>
5986
5987 PR c/47043
5988 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5989
5990 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5991
5992 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5993 STACK_GROWS_DOWNWARD.
5994
5995 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5996
5997 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5998 STACK_GROWS_DOWNWARD rather than if it is defined.
5999
6000 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6001
6002 PR c/52952
6003 * c-format.c (location_column_from_byte_offset): New.
6004 (location_from_offset): New.
6005 (struct format_wanted_type): Add offset_loc field.
6006 (check_format_info): Move handling of location for extra arguments
6007 closer to the point of warning.
6008 (check_format_info_main): Pass the result of location_from_offset
6009 to warning_at.
6010 (format_type_warning): Pass the result of location_from_offset
6011 to warning_at.
6012
6013 2015-05-20 Marek Polacek <polacek@redhat.com>
6014
6015 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
6016
6017 2015-05-20 Marek Polacek <polacek@redhat.com>
6018
6019 * c-ada-spec.c (dump_sloc): Use DECL_P.
6020
6021 2015-05-20 Marek Polacek <polacek@redhat.com>
6022
6023 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
6024 * c-common.c: Likewise.
6025
6026 2015-05-19 David Malcolm <dmalcolm@redhat.com>
6027
6028 * c-common.h (fe_file_change): Strengthen param from
6029 const line_map * to const line_map_ordinary *.
6030 (pp_file_change): Likewise.
6031 * c-lex.c (fe_file_change): Likewise.
6032 (cb_define): Use linemap_check_ordinary when invoking
6033 SOURCE_LINE.
6034 (cb_undef): Likewise.
6035 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
6036 invoking cb_file_change.
6037 (c_finish_options): Likewise.
6038 (push_command_line_include): Likewise.
6039 (cb_file_change): Strengthen param "new_map" from
6040 const line_map * to const line_map_ordinary *.
6041 * c-ppoutput.c (cb_define): Likewise for local "map".
6042 (pp_file_change): Likewise for param "map" and local "from".
6043
6044 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
6045
6046 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
6047
6048 2015-05-18 Tom de Vries <tom@codesourcery.com>
6049
6050 * c-common.c (build_va_arg_1): New function.
6051 (build_va_arg): Add address operator to va_list operand if necessary.
6052
6053 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
6054
6055 PR c/48956
6056 * c-common.c (int_safely_convertible_to_real_p): Define.
6057 (unsafe_conversion_p): Check conversions involving complex types.
6058 (conversion_warning): Add new warning message for conversions which
6059 discard imaginary component.
6060 * c-common.h: (enum conversion_safety): Add new enumerator for such
6061 conversions.
6062
6063 2015-05-14 Marek Polacek <polacek@redhat.com>
6064
6065 PR c/66066
6066 PR c/66127
6067 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
6068 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
6069 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
6070 use it. If FOR_INT_CONST, require that all evaluated operands be
6071 INTEGER_CSTs.
6072
6073 2015-05-12 David Malcolm <dmalcolm@redhat.com>
6074
6075 * c-common.h (warn_for_misleading_indentation): New prototype.
6076 * c-indentation.c: New file.
6077 * c.opt (Wmisleading-indentation): New option.
6078
6079 2015-05-12 Tom de Vries <tom@codesourcery.com>
6080
6081 PR tree-optimization/66010
6082 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
6083
6084 2015-05-09 Jason Merrill <jason@redhat.com>
6085
6086 * c-opts.c (c_common_post_options): Also clear
6087 cpp_opts->cpp_warn_cxx11_compat.
6088
6089 * c-common.h (enum cxx_dialect): Add cxx_unset.
6090 * c-common.c (cxx_dialect): Initialize to cxx_unset.
6091 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
6092
6093 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
6094 (std=gnu++0x): Mark as Undocumented.
6095 (std=gnu++1y): Add deprecated message.
6096
6097 2015-05-08 Jason Merrill <jason@redhat.com>
6098
6099 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
6100 * c-opts.c: Adjust.
6101
6102 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
6103
6104 2015-05-08 Marek Polacek <polacek@redhat.com>
6105
6106 PR c/64918
6107 * c.opt (Woverride-init-side-effects): New option.
6108
6109 2015-05-07 Marek Polacek <polacek@redhat.com>
6110
6111 PR c/65179
6112 * c-common.c (c_fully_fold_internal): Warn when left shifting a
6113 negative value.
6114 * c.opt (Wshift-negative-value): New option.
6115 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
6116 when -Wextra and C99/C++11 mode.
6117
6118 2015-05-07 Marek Polacek <polacek@redhat.com>
6119 Martin Uecker <uecker@eecs.berkeley.edu>
6120
6121 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
6122 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
6123
6124 2015-05-05 Jason Merrill <jason@redhat.com>
6125
6126 * c.opt (Wterminate): New.
6127
6128 2015-04-30 Marek Polacek <polacek@redhat.com>
6129
6130 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
6131 require that the non-constant be of a boolean type.
6132
6133 2015-04-29 Josh Triplett <josh@joshtriplett.org>
6134
6135 * c-common.c (handle_section_attribute): Refactor to reduce
6136 nesting and distinguish between error cases.
6137
6138 2015-04-29 Marek Polacek <polacek@redhat.com>
6139
6140 PR c/64610
6141 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
6142 with 0/1.
6143
6144 2015-04-29 Jakub Jelinek <jakub@redhat.com>
6145
6146 * c-common.h (omp_clause_mask): Unconditionally define as a class.
6147 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
6148 HOST_BITS_PER_WIDE_INT.
6149
6150 2015-04-28 Tom de Vries <tom@codesourcery.com>
6151
6152 PR tree-optimization/65887
6153 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
6154
6155 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
6156 Pierre-Marie de Rodat <derodat@adacore.com>
6157
6158 * c-ada-spec.c (in_function): Delete.
6159 (dump_generic_ada_node): Do not change in_function and remove the
6160 redundant code dealing with it.
6161 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
6162 (print_ada_methods): Output the static member functions in a nested
6163 package after the regular methods as well as associated renamings.
6164
6165 2015-04-24 Marek Polacek <polacek@redhat.com>
6166
6167 PR c/65830
6168 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
6169 and OPT_Wshift_count_overflow.
6170
6171 PR c/63357
6172 * c-common.c (warn_logical_operator): Warn if the operands have the
6173 same expressions.
6174
6175 2015-04-24 Marek Polacek <polacek@redhat.com>
6176
6177 PR c/61534
6178 * c-common.c (warn_logical_operator): Bail if either operand comes
6179 from a macro expansion.
6180
6181 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6182
6183 PR target/55143
6184 * c-common.c (c_default_pointer_mode): Add definition.
6185 * c-common.h (c_default_pointer_mode): Add declaration.
6186
6187 2015-03-11 Jakub Jelinek <jakub@redhat.com>
6188
6189 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
6190 on record_builtin_type argument.
6191
6192 2015-03-10 Jakub Jelinek <jakub@redhat.com>
6193
6194 PR c/65120
6195 * c-common.c (warn_logical_not_parentheses): Don't warn for
6196 !x == 0 or !x != 0.
6197
6198 2015-03-07 Marek Polacek <polacek@redhat.com>
6199
6200 PR sanitizer/65280
6201 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
6202 before trying to figure out whether we have a flexible array member.
6203
6204 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
6205 Jonathan Wakely <jwakely.gcc@gmail.com>
6206
6207 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
6208
6209 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
6210
6211 PR ada/65319
6212 * c-ada-spec.c (print_destructor): Remove obsolete code.
6213
6214 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
6215
6216 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
6217 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
6218 DECL_TEMPLATE_RESULT emulations.
6219 (dump_ada_template)): Add guard for TYPE_METHODS.
6220
6221 2015-02-27 Marek Polacek <polacek@redhat.com>
6222
6223 PR c/65040
6224 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
6225
6226 2015-02-27 Kai Tietz <ktietz@redhat.com>
6227
6228 PR c/35330
6229 * c-pragma.c (handle_pragma_weak): Do not try to create
6230 weak/alias of declarations not being function, or variable
6231 declarations.
6232
6233 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
6234
6235 PR libgomp/64625
6236 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6237 Remove macros.
6238 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
6239
6240 2015-02-16 Marek Polacek <polacek@redhat.com>
6241
6242 PR c/65066
6243 * c-format.c (check_format_types): Handle null param.
6244
6245 2015-02-13 Marek Polacek <polacek@redhat.com>
6246
6247 PR c/65040
6248 * c-format.c (check_format_types): Don't warn about different
6249 signedness if the original value is in the range of WANTED_TYPE.
6250
6251 2015-02-12 Jason Merrill <jason@redhat.com>
6252
6253 PR c++/64956
6254 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6255 to the current highest version.
6256 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6257
6258 2015-02-04 Jakub Jelinek <jakub@redhat.com>
6259
6260 PR c/64824
6261 PR c/64868
6262 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6263 instead of RDIV_EXPR. Use build_binary_op instead of
6264 build2_loc.
6265
6266 2015-01-30 Joseph Myers <joseph@codesourcery.com>
6267
6268 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6269 to pass input_location as first argument.
6270
6271 2015-01-23 Tom de Vries <tom@codesourcery.com>
6272
6273 PR libgomp/64672
6274 * c.opt (fopenacc): Mark as LTO option.
6275
6276 2015-01-23 Tom de Vries <tom@codesourcery.com>
6277
6278 PR libgomp/64707
6279 * c.opt (fopenmp): Mark as LTO option.
6280
6281 2015-01-21 Jakub Jelinek <jakub@redhat.com>
6282
6283 PR c/63307
6284 * cilk.c (fill_decls_vec): Only put decls into vector v.
6285 (compare_decls): Fix up formatting.
6286
6287 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6288
6289 PR c/63307
6290 * cilk.c: Include vec.h.
6291 (struct cilk_decls): New structure.
6292 (wrapper_parm_cb): Split this function to...
6293 (fill_decls_vec): ...this...
6294 (create_parm_list): ...and this.
6295 (compare_decls): New function.
6296 (for_local_cb): Remove.
6297 (wrapper_local_cb): Ditto.
6298 (build_wrapper_type): For now first traverse and fill vector of
6299 declarations then sort it and then deal with sorted vector.
6300 (cilk_outline): Ditto.
6301 (declare_one_free_variable): Ditto.
6302
6303 2015-01-21 Jason Merrill <jason@redhat.com>
6304
6305 PR c++/64629
6306 * c-format.c (check_format_arg): Call decl_constant_value.
6307
6308 2015-01-19 Martin Liska <mliska@suse.cz>
6309
6310 * c-common.c (handle_noicf_attribute): New function.
6311
6312 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6313 Bernd Schmidt <bernds@codesourcery.com>
6314 James Norris <jnorris@codesourcery.com>
6315 Cesar Philippidis <cesar@codesourcery.com>
6316 Ilmir Usmanov <i.usmanov@samsung.com>
6317 Jakub Jelinek <jakub@redhat.com>
6318
6319 * c.opt (fopenacc): New option.
6320 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6321 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6322 New macros.
6323 * c-common.h (c_finish_oacc_wait): New prototype.
6324 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6325 (c_finish_oacc_wait): New function.
6326 * c-pragma.c (oacc_pragmas): New variable.
6327 (c_pp_lookup_pragma, init_pragma): Handle it.
6328 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6329 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6330 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6331 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6332 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6333 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6334 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6335 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6336 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6337 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6338 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6339 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6340 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6341 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6342 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6343 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6344 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6345 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6346 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6347 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6348 PRAGMA_OACC_CLAUSE_WORKER.
6349
6350 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
6351
6352 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
6353 for the new option fstack-protector_explicit.
6354 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
6355 (handle_stack_protect_attribute): New function.
6356
6357 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
6358
6359 * c.opt: New option -Warray-bounds=.
6360
6361 2015-01-09 Michael Collison <michael.collison@linaro.org>
6362
6363 * array-notation-common.c: Include hash-set.h, machmode.h,
6364 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6365 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
6366 * c-ada-spec.c: Ditto.
6367 * c-cilkplus.c: Ditto.
6368 * c-common.c: Include input.h due to flattening of tree.h.
6369 Define macro GCC_C_COMMON_C.
6370 * c-common.h: Flatten tree.h header files into c-common.h.
6371 Remove include of tree-core.h.
6372 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6373 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6374 fold-const.h, wide-int.h, and inchash.h due to
6375 flattening of tree.h.
6376 * c-dump.c: Ditto.
6377 * c-format.c: Flatten tree.h header files into c-common.h.
6378 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6379 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6380 fold-const.h, wide-int.h, and inchash.h due to
6381 flattening of tree.h.
6382 * c-dump.c: Include hash-set.h, machmode.h,
6383 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6384 fold-const.h, wide-int.h, and inchash.h due to
6385 flattening of tree.h.
6386 * c-format.c: Include hash-set.h, machmode.h,
6387 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6388 fold-const.h, wide-int.h, inchash.h and real.h due to
6389 flattening of tree.h.
6390 * c-gimplify.c: Include hash-set.h, machmode.h,
6391 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6392 fold-const.h, wide-int.h, and inchash.h due to
6393 flattening of tree.h.
6394 * cilk.c: Ditto.
6395 * c-lex.c: Ditto.
6396 * c-omp.c: Ditto.
6397 * c-opts.c: Ditto.
6398 * c-pch.c: Ditto.
6399 * c-ppoutput.c: Ditto.
6400 * c-pragma.c: Ditto.
6401 * c-pretty-print.c: Ditto.
6402 * c-semantics.c: Ditto.
6403 * c-ubsan.c: Ditto.
6404 * stub-objc.c: Ditto.
6405
6406 2015-01-08 Jason Merrill <jason@redhat.com>
6407
6408 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6409 do_ubsan_in_current_function.
6410 (ubsan_maybe_instrument_reference_or_call): Likewise.
6411 * c-ubsan.h: Declare it.
6412
6413 2015-01-08 Mike Stump <mikestump@comcast.net>
6414
6415 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6416
6417 2015-01-07 Marek Polacek <polacek@redhat.com>
6418
6419 PR c/64440
6420 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6421 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6422
6423 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6424
6425 PR c++/31397
6426 * c.opt (Wsuggest-override): New option.
6427
6428 2015-01-05 Jakub Jelinek <jakub@redhat.com>
6429
6430 Update copyright years.
6431
6432 2015-01-05 Marek Polacek <polacek@redhat.com>
6433
6434 PR c/64423
6435 * c-common.c (warn_array_subscript_with_type_char): Add location_t
6436 parameter. Use it.
6437 * c-common.h (warn_array_subscript_with_type_char): Update
6438 declaration.
6439
6440 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
6441
6442 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
6443 Control macro with flag_sized_deallocation.
6444
6445 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
6446
6447 * c.opt (Wdiscarded-array-qualifiers): New option.
6448
6449 2014-12-19 Jakub Jelinek <jakub@redhat.com>
6450
6451 PR preprocessor/63831
6452 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
6453 and __has_cpp_attribute here.
6454 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
6455 c_common_has_attribute.
6456 * c-common.h (c_common_has_attribute): New prototype.
6457 * c-lex.c (init_c_lex): Set cb->has_attribute to
6458 c_common_has_attribute instead of cb_has_attribute.
6459 (get_token_no_padding): New function.
6460 (cb_has_attribute): Renamed to ...
6461 (c_common_has_attribute): ... this. No longer static. Use
6462 get_token_no_padding, require ()s, don't build TREE_LIST
6463 unnecessarily, fix up formatting, adjust diagnostics, call
6464 init_attributes.
6465
6466 2014-12-15 Jason Merrill <jason@redhat.com>
6467
6468 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
6469 (-Wsized-deallocation): New.
6470 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
6471 to on in C++14 and up.
6472
6473 2014-12-11 Jason Merrill <jason@redhat.com>
6474
6475 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
6476
6477 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
6478 we aren't complaining about VLAs.
6479
6480 2014-12-06 Marek Polacek <polacek@redhat.com>
6481
6482 PR tree-optimization/64183
6483 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
6484 shift-expression if it is integer_type_node. Use types_compatible_p.
6485
6486 2014-11-29 Jakub Jelinek <jakub@redhat.com>
6487
6488 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
6489 last argument from create_tmp_var_raw and create_tmp_var calls.
6490 * cilk.c (gimplify_cilk_spawn): Likewise.
6491 * c-omp.c (c_finish_omp_atomic): Likewise.
6492
6493 2014-11-28 Marek Polacek <polacek@redhat.com>
6494
6495 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
6496 instead of unsigned_type_node.
6497
6498 2014-11-28 Marek Polacek <polacek@redhat.com>
6499
6500 PR c/63862
6501 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
6502 to op1_utype.
6503 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
6504 expression to unsigned_type_node.
6505
6506 2014-11-20 Mark Wielaard <mjw@redhat.com>
6507
6508 PR debug/38757
6509 * c-opts.c (set_std_c89): Set lang_hooks.name.
6510 (set_std_c99): Likewise.
6511 (set_std_c11): Likewise.
6512 (set_std_cxx98): Likewise.
6513 (set_std_cxx11): Likewise.
6514 (set_std_cxx14): Likewise.
6515 (set_std_cxx1z): Likewise.
6516
6517 2014-11-21 Jakub Jelinek <jakub@redhat.com>
6518
6519 PR target/63764
6520 * c-common.h (convert_vector_to_pointer_for_subscript): Change
6521 return type to bool.
6522 * c-common.c: Include gimple-expr.h.
6523 (convert_vector_to_pointer_for_subscript): Change return type to
6524 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
6525 and copy it into a TARGET_EXPR and use that instead of *vecp
6526 directly.
6527
6528 2014-11-19 David Malcolm <dmalcolm@redhat.com>
6529
6530 Merger of git branch "gimple-classes-v2-option-3".
6531 * ChangeLog.gimple-classes: New.
6532 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
6533 from being just a vec<gimple> to a vec<gbind *>.
6534
6535 2014-11-18 Jakub Jelinek <jakub@redhat.com>
6536
6537 PR sanitizer/63813
6538 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
6539 argument to ptype, set type to TREE_TYPE (ptype). Don't call
6540 get_pointer_alignment for non-pointers. Use ptype, or if it is
6541 reference type, corresponding pointer type, as type of kind
6542 argument.
6543 (ubsan_maybe_instrument_reference,
6544 ubsan_maybe_instrument_member_call): Adjust callers.
6545
6546 2014-11-15 Marek Polacek <polacek@redhat.com>
6547
6548 PR middle-end/63884
6549 * array-notation-common.c (is_sec_implicit_index_fn): Return false
6550 for NULL fndecl.
6551 (extract_array_notation_exprs): Return for NULL node.
6552
6553 2014-11-12 Joseph Myers <joseph@codesourcery.com>
6554
6555 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
6556 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
6557
6558 2014-11-12 Jakub Jelinek <jakub@redhat.com>
6559
6560 PR c/59708
6561 * c-common.c (check_builtin_function_arguments): Handle
6562 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
6563
6564 2014-11-10 Andi Kleen <ak@linux.intel.com>
6565
6566 PR c/60804
6567 * c-common.h (check_no_cilk): Declare.
6568 * cilk.c (get_error_location): New function.
6569 (check_no_cilk): Dito.
6570
6571 2014-11-10 Andi Kleen <ak@linux.intel.com>
6572
6573 * cilk.c (recognize_spawn): Use expression location
6574 for error message.
6575
6576 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
6577
6578 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
6579
6580 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
6581
6582 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
6583 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
6584 (__cpp_range_based_for, __cpp_initializer_lists,
6585 __cpp_delegating_constructors, __cpp_nsdmi,
6586 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
6587 for C++11; (__cpp_attribute_deprecated): Remove in favor of
6588 __has_cpp_attribute.
6589 * c-lex.c (cb_has_attribute): New callback CPP function;
6590 (init_c_lex): Set has_attribute callback.
6591
6592 2014-11-04 Richard Biener <rguenther@suse.de>
6593
6594 * c-common.c (shorten_compare): Do not shorten mixed
6595 DFP and non-DFP compares.
6596
6597 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6598
6599 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
6600 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
6601 Commentary and rearrangement of tests.
6602 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
6603 Commentary and rearrangement of tests.
6604 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
6605 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
6606
6607 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
6608
6609 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
6610 enum from machine_mode.
6611
6612 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
6613
6614 * c-common.c: Adjust include files.
6615 * c-gimplify.c: Ditto.
6616 * cilk.c: Ditto.
6617 * c-pragma.c: Ditto.
6618 * c-ubsan.c: Ditto.
6619
6620 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
6621
6622 * c-gimplify.c: Adjust include files.
6623
6624 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6625
6626 PR c++/53061
6627 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
6628 c_common_initialize_diagnostics.
6629 * c-common.h: Likewise.
6630
6631 2014-10-24 Marek Polacek <polacek@redhat.com>
6632
6633 PR c/56980
6634 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
6635 print "struct"/"union"/"enum" for typedefed names.
6636
6637 2014-10-23 Marek Polacek <polacek@redhat.com>
6638
6639 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
6640 in unsigned type.
6641
6642 2014-10-22 Jakub Jelinek <jakub@redhat.com>
6643 Yury Gribov <y.gribov@samsung.com>
6644
6645 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6646 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
6647 instead of flag_sanitize_recover as bool flag.
6648
6649 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
6650
6651 * cilk.c: Revert previous change.
6652
6653 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
6654
6655 PR c/63307
6656 * cilk.c: Include vec.h.
6657 (struct cilk_decls): New structure.
6658 (wrapper_parm_cb): Split this function to...
6659 (fill_decls_vec): ...this...
6660 (create_parm_list): ...and this.
6661 (compare_decls): New function.
6662 (for_local_cb): Remove.
6663 (wrapper_local_cb): Ditto.
6664 (build_wrapper_type): For now first traverse and fill vector of
6665 declarations then sort it and then deal with sorted vector.
6666 (cilk_outline): Ditto.
6667 (declare_one_free_variable): Ditto.
6668
6669 2014-10-17 Marek Polacek <polacek@redhat.com>
6670
6671 * c-opts.c (c_common_post_options): Set warn_implicit_int.
6672 * c.opt (Wimplicit-int): Initialize to -1.
6673
6674 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
6675
6676 * c-pragma.c: Adjust include files.
6677 * c-semantics.c: Likewise.
6678
6679 2014-10-16 DJ Delorie <dj@redhat.com>
6680
6681 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
6682 multiples of bytes.
6683
6684 2014-10-14 Jason Merrill <jason@redhat.com>
6685
6686 PR c++/63455
6687 * c-common.h (CPP_PREPARSED_EXPR): New.
6688 (N_CP_TTYPES): Adjust.
6689
6690 2014-10-15 Marek Polacek <polacek@redhat.com>
6691
6692 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
6693
6694 2014-10-14 DJ Delorie <dj@redhat.com>
6695
6696 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
6697 types, not just __int128.
6698 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
6699 types, not just __int128.
6700 (cpp_atomic_builtins): Round pointer sizes up.
6701 (type_suffix): Use type precision, not specific types.
6702 * c-common.c (c_common_reswords): Remove __int128 special case.
6703 (c_common_type_for_size): Check for all __intN types, not just
6704 __int128.
6705 (c_common_type_for_mode): Likewise.
6706 (c_common_signed_or_unsigned_type): Likewise.
6707 (c_build_bitfield_integer_type): Likewise.
6708 (c_common_nodes_and_builtins): Likewise.
6709 (keyword_begins_type_specifier): Likewise.
6710 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
6711 __intN variants.
6712
6713 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
6714
6715 * c-common.c: Use hash_table instead of hashtab.
6716
6717 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
6718
6719 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
6720 C++11 section.
6721
6722 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
6723
6724 PR c++/54427
6725 PR c++/57198
6726 PR c++/58845
6727 * c-common.c (warn_logical_operator): Punt for vectors.
6728
6729 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6730
6731 Implement SD-6: SG10 Feature Test Recommendations
6732 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
6733 macros and the __has_header macro.
6734
6735 2014-09-30 Jason Merrill <jason@redhat.com>
6736
6737 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
6738 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
6739 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6740
6741 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
6742 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6743
6744 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
6745 * c-common.c (c_common_reswords): Remove __is_convertible_to.
6746
6747 2014-09-24 Marek Polacek <polacek@redhat.com>
6748
6749 PR c/61405
6750 PR c/53874
6751 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
6752
6753 2014-09-23 Andi Kleen <ak@linux.intel.com>
6754
6755 * c-common.c (handle_no_reorder_attribute): New function.
6756 (c_common_attribute_table): Add no_reorder attribute.
6757
6758 2014-09-22 Joseph Myers <joseph@codesourcery.com>
6759
6760 * c-cppbuiltin.c (c_cpp_builtins): Define
6761 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
6762 modes.
6763
6764 2014-09-18 Joseph Myers <joseph@codesourcery.com>
6765
6766 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
6767 for supported floating-point modes.
6768
6769 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6770
6771 * c.opt (Wpsabi): Use LangEnabledBy.
6772 * c-opts.c (c_common_handle_option): Do not handle here.
6773
6774 2014-09-12 Joseph Myers <joseph@codesourcery.com>
6775
6776 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
6777 macros for floating-point modes.
6778
6779 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
6780
6781 PR target/58757
6782 * c-cppbuiltin.c (builtin_define_float_constants): Correct
6783 __*_DENORM_MIN__ without denormals.
6784
6785 2014-09-10 Jakub Jelinek <jakub@redhat.com>
6786
6787 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6788 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6789 ubsan_create_data callers.
6790 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
6791 index is constant or BIT_AND_EXPR with constant mask and is
6792 small enough for the bound.
6793 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
6794 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
6795
6796 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6797
6798 * c.opt: Add CppReason to various flags.
6799 (Wdate-time): Re-sort.
6800 * c-common.c: Include c-common.h earlier.
6801 (struct reason_option_codes_t): Delete.
6802 (c_option_controlling_cpp_error): Prefix global type and struct
6803 with cpp_.
6804
6805 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6806
6807 * c.opt (Wnormalized): New.
6808 (Wnormalized=): Use Enum and Reject Negative.
6809 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
6810
6811 2014-09-08 Joseph Myers <joseph@codesourcery.com>
6812
6813 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
6814 digits of floating-point modes if -fbuilding-libgcc.
6815
6816 2014-09-05 Joseph Myers <joseph@codesourcery.com>
6817
6818 * c-cppbuiltin.c (c_cpp_builtins): Also define
6819 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
6820 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
6821 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
6822 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
6823 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
6824 __LIBGCC_STACK_GROWS_DOWNWARD__,
6825 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
6826 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
6827 __LIBGCC_DWARF_FRAME_REGISTERS__,
6828 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
6829 __LIBGCC_STACK_POINTER_REGNUM__ and
6830 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
6831 (builtin_define_with_value): Handle backslash-escaping in string
6832 macro values.
6833
6834 2014-09-05 Richard Biener <rguenther@suse.de>
6835
6836 PR middle-end/63148
6837 * c-format.c (check_format_arg): Properly handle
6838 effectively signed POINTER_PLUS_EXPR offset.
6839
6840 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6841
6842 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
6843 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
6844 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
6845 and Init.
6846 * c-opts.c (c_common_handle_option): Do not handle here.
6847 (sanitize_cpp_opts): Likewise.
6848 * c-common.c (struct reason_option_codes_t): Handle
6849 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
6850
6851 2014-09-03 Marek Polacek <polacek@redhat.com>
6852
6853 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
6854
6855 2014-09-02 Jakub Jelinek <jakub@redhat.com>
6856 Balaji V. Iyer <balaji.v.iyer@intel.com>
6857 Igor Zamyatin <igor.zamyatin@intel.com>
6858
6859 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
6860 * c-common.c (c_common_reswords): Added _Cilk_for.
6861 * c-common.h (enum rid): Added RID_CILK_FOR.
6862 (cilk_for_number_of_iterations): Add declaration.
6863 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
6864 CILK_FOR.
6865 * c-pragma.c (init_pragma): Register "grainsize" pragma.
6866 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
6867
6868 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6869
6870 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
6871 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
6872 Wundef): Use CPP, Var and Init.
6873 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
6874
6875 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6876
6877 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
6878 * c-opts.c (c_common_handle_option): Do not handle here.
6879
6880 2014-08-25 Jason Merrill <jason@redhat.com>
6881
6882 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
6883 -std=c++14 and -std=gnu++14, rather than the reverse.
6884 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
6885 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
6886 * c-common.h (cxx_dialect): Remove cxx1y.
6887
6888 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6889
6890 * c-common.h (enum cxx_dialect): Add cxx14.
6891 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6892 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6893 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6894
6895 2014-08-22 Jason Merrill <jason@redhat.com>
6896
6897 * c.opt (std=gnu++17): Fix alias.
6898
6899 2014-08-22 Marek Polacek <polacek@redhat.com>
6900
6901 PR c++/62199
6902 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6903 check for vector types. Drop LHS argument.
6904 * c-common.h (warn_logical_not_parentheses): Adjust.
6905
6906 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6907
6908 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6909 (Wmultichar): Likewise.
6910 (Wdate-time): Use C-family languages instead of Common. Use CPP
6911 and Var.
6912 * c-opts.c (c_common_handle_option): Do not handle the above
6913 options here.
6914 (sanitize_cpp_opts): Likewise.
6915
6916 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6917
6918 PR fortran/44054
6919 * c-opts.c: Include tree-diagnostics.h.
6920 (c_diagnostic_finalizer): New.
6921 (c_common_initialize_diagnostics): Use it.
6922
6923 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6924
6925 PR preprocessor/51303
6926 * c-common.c (struct reason_option_codes_t option_codes):
6927 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6928
6929 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6930
6931 PR c/60975
6932 PR c/53063
6933 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6934 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6935 (c_common_post_options): Call init_global_opts_from_cpp.
6936 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6937
6938 2014-08-19 Marek Polacek <polacek@redhat.com>
6939
6940 PR c++/62153
6941 * c-common.c (maybe_warn_bool_compare): New function.
6942 * c-common.h (maybe_warn_bool_compare): Declare.
6943 * c.opt (Wbool-compare): New option.
6944
6945 2014-08-19 Marek Polacek <polacek@redhat.com>
6946
6947 * c.opt (Wc99-c11-compat): New option.
6948
6949 2014-08-19 Marek Polacek <polacek@redhat.com>
6950
6951 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6952 to warn_c90_c99_compat.
6953 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6954 to -1.
6955
6956 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6957 Steven Bosscher <steven@gcc.gnu.org>
6958
6959 PR c/52952
6960 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6961 format_check_results.
6962 (check_function_format): Use true and add comment for boolean
6963 argument.
6964 (finish_dollar_format_checking): Use explicit location when warning.
6965 (check_format_info): Likewise.
6966 (check_format_arg): Set extra_arg_loc and format_string_loc.
6967 (check_format_info_main): Use explicit location when warning.
6968 (check_format_types): Pass explicit location.
6969 (format_type_warning): Likewise.
6970
6971 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6972
6973 PR fortran/44054
6974 * c-format.c: Handle Fortran flags.
6975
6976 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6977
6978 PR other/61962
6979 * array-notation-common.c (find_rank): Added handling for other
6980 types of references.
6981
6982 2014-08-10 Marek Polacek <polacek@redhat.com>
6983
6984 PR c/51849
6985 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6986 * c.opt (Wc90-c99-compat): Add option.
6987
6988 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6989
6990 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6991
6992 2014-08-03 Marek Polacek <polacek@redhat.com>
6993
6994 * c-common.c (check_case_value): Add location_t parameter. Use it.
6995 (c_add_case_label): Pass loc to check_case_value.
6996
6997 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6998
6999 * cilk.c: Use hash_map instead of pointer_map.
7000
7001 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7002
7003 * c-gimplify.c: Use hash_set instead of pointer_set.
7004
7005 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
7006
7007 PR middle-end/61455
7008 * array-notation-common.c (extract_array_notation_exprs): Handling
7009 of DECL_EXPR added.
7010
7011 2014-08-01 Jakub Jelinek <jakub@redhat.com>
7012
7013 * c-common.h (min_align_of_type): Removed prototype.
7014 * c-common.c (min_align_of_type): Removed.
7015 * c-ubsan.h (ubsan_maybe_instrument_reference,
7016 ubsan_maybe_instrument_member_call): New prototypes.
7017 * c-ubsan.c: Include stor-layout.h and builtins.h.
7018 (ubsan_maybe_instrument_reference_or_call,
7019 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
7020 functions.
7021
7022 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
7023
7024 PR c++/60517
7025 * c.opt (-Wreturn-local-addr): Move to common.opt.
7026
7027 2014-07-30 Jason Merrill <jason@redhat.com>
7028
7029 PR c++/61659
7030 PR c++/61687
7031 Revert:
7032 * c.opt (-fuse-all-virtuals): New.
7033
7034 2014-07-30 Tom Tromey <tromey@redhat.com>
7035
7036 PR c/59855
7037 * c.opt (Wdesignated-init): New option.
7038 * c-common.c (c_common_attribute_table): Add "designated_init".
7039 (handle_designated_init): New function.
7040
7041 2014-07-24 Marek Polacek <polacek@redhat.com>
7042
7043 PR c/57653
7044 * c-opts.c (c_finish_options): If -imacros is in effect, return.
7045
7046 2014-07-16 Dodji Seketeli <dodji@redhat.com>
7047
7048 PR preprocessor/60723 - missing system-ness marks for macro tokens
7049 * c-ppoutput.c (struct print::prev_was_system_token): New data
7050 member.
7051 (init_pp_output): Initialize it.
7052 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
7053 (do_line_change): Return a flag saying if a line marker was
7054 emitted or not.
7055 (scan_translation_unit): Detect if the system-ness of the token we
7056 are about to emit is different from the one of the previously
7057 emitted token. If so, emit a line marker. Avoid emitting useless
7058 adjacent line markers. Avoid emitting line markers for tokens
7059 originating from the expansion of built-in macros.
7060 (scan_translation_unit_directives_only): Adjust.
7061
7062 2014-07-15 Marek Polacek <polacek@redhat.com>
7063
7064 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
7065 TYPE_MAX_VALUE is NULL.
7066
7067 2014-07-14 Jakub Jelinek <jakub@redhat.com>
7068
7069 PR middle-end/61294
7070 * c.opt (Wmemset-transposed-args): New warning.
7071
7072 2014-07-10 Jason Merrill <jason@redhat.com>
7073
7074 PR c++/61659
7075 PR c++/61687
7076 * c.opt (-fuse-all-virtuals): New.
7077
7078 2014-07-09 Richard Biener <rguenther@suse.de>
7079
7080 PR c-family/61741
7081 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7082 using unsigned arithmetic if overflow does not wrap instead of
7083 if overflow is undefined.
7084
7085 2014-07-06 Marek Polacek <polacek@redhat.com>
7086
7087 PR c/6940
7088 * c.opt (Wsizeof-array-argument): New option.
7089
7090 2014-07-03 Jakub Jelinek <jakub@redhat.com>
7091
7092 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
7093 comments->count <= 1, as comments->entries might be NULL.
7094
7095 2014-07-01 Marek Polacek <polacek@redhat.com>
7096
7097 * c.opt (Wint-conversion): New option.
7098
7099 2014-07-01 Marek Polacek <polacek@redhat.com>
7100
7101 PR c/58286
7102 * c.opt (Wincompatible-pointer-types): New option.
7103
7104 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
7105
7106 PR c++/51400
7107 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
7108 Do not discard TYPE_QUALS of type.
7109
7110 2014-06-26 Jason Merrill <jason@redhat.com>
7111
7112 * c-common.h (enum cxx_dialect): Add cxx1z.
7113 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
7114 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
7115
7116 2014-06-26 Teresa Johnson <tejohnson@google.com>
7117
7118 * c-common.h (get_dump_info): Declare.
7119 * c-gimplify.c (c_genericize): Use saved dump files.
7120 * c-opts.c (c_common_parse_file): Begin and end dumps
7121 once around parsing invocation.
7122 (get_dump_info): New function.
7123
7124 2014-06-23 Marek Polacek <polacek@redhat.com>
7125 Andrew MacLeod <amacleod@redhat.com>
7126
7127 PR c/61553
7128 * c-common.c (get_atomic_generic_size): Don't segfault if the
7129 type doesn't have a size.
7130
7131 2014-06-20 Marek Polacek <polacek@redhat.com>
7132
7133 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
7134 (ubsan_walk_array_refs_r): New function.
7135 (c_genericize): Instrument array bounds.
7136 * c-ubsan.c: Include "internal-fn.h".
7137 (ubsan_instrument_division): Mark instrumented arrays as having
7138 side effects. Adjust ubsan_type_descriptor call.
7139 (ubsan_instrument_shift): Likewise.
7140 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
7141 (ubsan_instrument_bounds): New function.
7142 (ubsan_array_ref_instrumented_p): New function.
7143 (ubsan_maybe_instrument_array_ref): New function.
7144 * c-ubsan.h (ubsan_instrument_bounds): Declare.
7145 (ubsan_array_ref_instrumented_p): Declare.
7146 (ubsan_maybe_instrument_array_ref): Declare.
7147
7148 2014-06-20 Hale Wang <hale.wang@arm.com>
7149
7150 PR lto/61123
7151 * c.opt (fshort-enums): Add to LTO.
7152 * c.opt (fshort-wchar): Likewise.
7153
7154 2014-06-16 Marek Polacek <polacek@redhat.com>
7155
7156 PR c/60439
7157 * c.opt (Wswitch-bool): Add Var.
7158
7159 2014-06-12 Jakub Jelinek <jakub@redhat.com>
7160
7161 PR middle-end/61486
7162 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
7163 #pragma omp target teams or
7164 #pragma omp {,target }teams distribute simd.
7165
7166 2014-06-12 Jason Merrill <jason@redhat.com>
7167
7168 * c.opt (Wabi=, fabi-compat-version): New.
7169 * c-opts.c (c_common_handle_option): Handle -Wabi=.
7170 (c_common_post_options): Handle flag_abi_compat_version default.
7171 Disallow -fabi-compat-version=1.
7172 * c-common.h (abi_version_crosses): New.
7173
7174 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
7175
7176 * c-common.c (handle_section_attribute): Update handling for
7177 section names that are no longer trees.
7178
7179 2014-06-10 Jakub Jelinek <jakub@redhat.com>
7180
7181 PR fortran/60928
7182 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
7183 (omp_pragmas): ... back here.
7184
7185 2014-06-05 Marek Polacek <polacek@redhat.com>
7186
7187 PR c/49706
7188 * c-common.c (warn_logical_not_parentheses): New function.
7189 * c-common.h (warn_logical_not_parentheses): Declare.
7190 * c.opt (Wlogical-not-parentheses): New option.
7191
7192 2014-06-04 Marek Polacek <polacek@redhat.com>
7193
7194 PR c/30020
7195 * c-common.c (check_case_bounds): Add location parameter.
7196 Use it.
7197 (c_add_case_label): Pass loc to check_case_bounds.
7198
7199 2014-06-03 Marek Polacek <polacek@redhat.com>
7200
7201 PR c/60439
7202 * c.opt (Wswitch-bool): New option.
7203
7204 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
7205
7206 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
7207 Remove prototypes.
7208 (record_types_used_by_current_var_decl): Move prototype to where
7209 it belongs.
7210
7211 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
7212 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
7213 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
7214
7215 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7216
7217 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
7218 * c-common.c (c_common_nodes_and_builtins): Don't initialize
7219 void_zero_node.
7220 * c-pretty-print.c (pp_c_void_constant): New function.
7221 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
7222 (c_pretty_printer::expression): Handle VOID_CST.
7223 * cilk.c (extract_free_variables): Likewise.
7224 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
7225 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
7226
7227 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
7228
7229 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
7230 * c-pragma.c (push_alignment): Adjust.
7231 (handle_pragma_push_options): Likewise.
7232
7233 2014-05-09 Marek Polacek <polacek@redhat.com>
7234
7235 PR c/50459
7236 * c-common.c (check_user_alignment): Return -1 if alignment is error
7237 node.
7238 (handle_aligned_attribute): Don't call default_conversion on
7239 FUNCTION_DECLs.
7240 (handle_vector_size_attribute): Likewise.
7241 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
7242 (handle_sentinel_attribute): Call default_conversion and allow even
7243 integral types as an argument.
7244
7245 2014-05-08 Marek Polacek <polacek@redhat.com>
7246
7247 PR c/61053
7248 * c-common.c (min_align_of_type): New function factored out from...
7249 (c_sizeof_or_alignof_type): ...here.
7250 * c-common.h (min_align_of_type): Declare.
7251
7252 2014-05-08 Marek Polacek <polacek@redhat.com>
7253
7254 PR c/61077
7255 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7256 parameter type of main.
7257
7258 2014-05-07 DJ Delorie <dj@redhat.com>
7259
7260 * c-cppbuiltin.c (print_bits_of_hex): New.
7261 (builtin_define_type_minmax): Print values using hex so as not to
7262 require a pre-computed list of string values.
7263
7264 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7265 Mike Stump <mikestump@comcast.net>
7266 Richard Sandiford <rdsandiford@googlemail.com>
7267
7268 * c-ada-spec.c: Include wide-int.h.
7269 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7270 (dump_generic_ada_node): Use wide-int interfaces.
7271 * c-common.c: Include wide-int-print.h.
7272 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7273 (pointer_int_sum): Use wide-int interfaces.
7274 (c_common_nodes_and_builtins): Use make_int_cst.
7275 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7276 (handle_alloc_size_attribute): Use wide-int interfaces.
7277 (get_nonnull_operand): Likewise.
7278 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7279 * c-lex.c: Include wide-int.h.
7280 (narrowest_unsigned_type): Take a widest_int rather than two
7281 HOST_WIDE_INTs.
7282 (narrowest_signed_type): Likewise.
7283 (interpret_integer): Update accordingly. Use wide-int interfaces.
7284 (lex_charconst): Use wide-int interfaces.
7285 * c-pretty-print.c: Include wide-int.h.
7286 (pp_c_integer_constant): Use wide-int interfaces.
7287 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7288 INT_CST_LT_UNSIGNED.
7289
7290 2014-05-06 Richard Biener <rguenther@suse.de>
7291
7292 * c-opts.c (c_common_post_options): For -freestanding,
7293 -fno-hosted and -fno-builtin disable pattern recognition
7294 if not enabled explicitely.
7295
7296 2014-05-02 Marek Polacek <polacek@redhat.com>
7297
7298 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7299
7300 2014-05-01 Marek Polacek <polacek@redhat.com>
7301
7302 PR c/43245
7303 * c.opt (Wdiscarded-qualifiers): Add.
7304
7305 2014-04-30 Marek Polacek <polacek@redhat.com>
7306
7307 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7308 INT_MIN / -1 sanitization only for integer types.
7309
7310 2014-04-25 Marek Polacek <polacek@redhat.com>
7311
7312 PR c/18079
7313 * c-common.c (handle_noinline_attribute): Warn if the attribute
7314 conflicts with always_inline attribute.
7315 (handle_always_inline_attribute): Warn if the attribute conflicts
7316 with noinline attribute.
7317
7318 2014-04-25 Marek Polacek <polacek@redhat.com>
7319
7320 PR c/60156
7321 * c-common.c (check_main_parameter_types): Warn about variadic main.
7322
7323 2014-04-24 Mike Stump <mikestump@comcast.net>
7324
7325 * c.opt (Wshadow-ivar): Default to on.
7326
7327 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7328
7329 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7330
7331 2014-04-23 Marek Polacek <polacek@redhat.com>
7332
7333 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7334
7335 2014-04-22 Jakub Jelinek <jakub@redhat.com>
7336
7337 PR sanitizer/60275
7338 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7339 if flag_sanitize_undefined_trap_on_error.
7340 (ubsan_instrument_division, ubsan_instrument_shift,
7341 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7342 if !flag_sanitize_recover.
7343
7344 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
7345
7346 PR libstdc++/43622
7347 * c-common.c (registered_builtin_types): Make non-static.
7348 * c-common.h (registered_builtin_types): Declare.
7349
7350 2014-04-14 Richard Biener <rguenther@suse.de>
7351 Marc Glisse <marc.glisse@inria.fr>
7352
7353 PR c/60819
7354 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
7355 apply may-alias the scalar pointer type when applicable.
7356
7357 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
7358
7359 PR middle-end/60467
7360 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
7361 as possible argument for Cilk_spawn.
7362
7363 2014-04-11 Tobias Burnus <burnus@net-b.de>
7364
7365 PR c/60194
7366 * c.opt (Wformat-signedness): Add
7367 * c-format.c(check_format_types): Use it.
7368
7369 2014-04-11 Jason Merrill <jason@redhat.com>
7370
7371 PR c++/57926
7372 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
7373 default_conversion for an array argument.
7374
7375 2014-04-08 Marek Polacek <polacek@redhat.com>
7376
7377 PR sanitizer/60745
7378 * c-ubsan.c: Include asan.h.
7379 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
7380
7381 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7382
7383 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
7384
7385 2014-04-02 Marek Polacek <polacek@redhat.com>
7386
7387 * c-common.h (c_expand_expr): Remove declaration.
7388
7389 2014-03-28 Jakub Jelinek <jakub@redhat.com>
7390
7391 PR c++/60689
7392 * c-common.c (add_atomic_size_parameter): When creating new
7393 params vector, push the size argument first.
7394
7395 2014-03-26 Jakub Jelinek <jakub@redhat.com>
7396
7397 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7398 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7399 ubsan_create_data callers.
7400
7401 2014-03-22 Jakub Jelinek <jakub@redhat.com>
7402
7403 PR debug/60603
7404 * c-opts.c (c_finish_options): Restore cb_file_change call to
7405 <built-in>.
7406
7407 2014-03-13 Jakub Jelinek <jakub@redhat.com>
7408
7409 PR middle-end/36282
7410 * c-pragma.c (apply_pragma_weak): Only look at
7411 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7412 DECL_ASSEMBLER_NAME_SET_P (decl).
7413 (maybe_apply_pending_pragma_weaks): Exit early if
7414 vec_safe_is_empty (pending_weaks) rather than only when
7415 !pending_weaks.
7416 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7417 set assembler name back to NULL afterwards.
7418
7419 2014-03-11 Jason Merrill <jason@redhat.com>
7420
7421 * c.opt: Add -std=gnu++14.
7422
7423 2014-03-11 Ian Bolton <ian.bolton@arm.com>
7424
7425 * c-opts.c (c_common_post_options): Don't override
7426 -ffp-contract=fast if unsafe-math-optimizations is on.
7427
7428 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
7429
7430 * c.opt: Enable LTO FE for fshort-double.
7431
7432 2014-03-07 Jason Merrill <jason@redhat.com>
7433
7434 * c.opt: Add -std=c++14.
7435
7436 2014-03-06 Marek Polacek <polacek@redhat.com>
7437
7438 PR c/60197
7439 * cilk.c (contains_cilk_spawn_stmt): New function.
7440 (contains_cilk_spawn_stmt_walker): Likewise.
7441 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
7442 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
7443
7444 2014-03-03 Jakub Jelinek <jakub@redhat.com>
7445
7446 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
7447 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
7448 even when flag_preprocess_only.
7449
7450 2014-02-26 Jason Merrill <jason@redhat.com>
7451
7452 PR c++/59231
7453 PR c++/11586
7454 * c-common.c (shorten_compare): Don't check
7455 c_inhibit_evaluation_warnings.
7456
7457 2014-02-19 Jakub Jelinek <jakub@redhat.com>
7458
7459 PR c/37743
7460 * c-common.c (c_common_nodes_and_builtins): When initializing
7461 c_uint{16,32,64}_type_node, also set corresponding
7462 uint{16,32,64}_type_node to the same value.
7463
7464 PR c++/60267
7465 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
7466 for PRAGMA_IVDEP if flag_preprocess_only.
7467
7468 2014-02-12 Jakub Jelinek <jakub@redhat.com>
7469
7470 PR c/60101
7471 * c-common.c (merge_tlist): If copy is true, call new_tlist,
7472 if false, add ADD itself, rather than vice versa.
7473 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
7474 copy. For SAVE_EXPR, only call merge_tlist once.
7475
7476 2014-02-08 Jakub Jelinek <jakub@redhat.com>
7477
7478 PR middle-end/60092
7479 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
7480 and tree_to_uhwi.
7481 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
7482 functions.
7483 (c_common_attribute_table): Add alloc_align and assume_aligned
7484 attributes.
7485
7486 2014-02-06 Marek Polacek <polacek@redhat.com>
7487
7488 PR c/60087
7489 * c-common.c (warn_for_sign_compare): Call warning_at with location
7490 instead of warning.
7491
7492 2014-02-05 Marek Polacek <polacek@redhat.com>
7493
7494 PR c/53123
7495 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
7496 statement.
7497
7498 2014-02-04 Marek Polacek <polacek@redhat.com>
7499
7500 PR c/60036
7501 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
7502 SAVE_EXPR.
7503
7504 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
7505
7506 PR c++/53017
7507 PR c++/59211
7508 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
7509 handle_vector_size_attribute, handle_nonnull_attribute): Call
7510 default_conversion on the attribute argument.
7511 (handle_nonnull_attribute): Increment the argument number.
7512
7513 2014-01-31 Marek Polacek <polacek@redhat.com>
7514
7515 PR c/59963
7516 * c-common.c (add_atomic_size_parameter): Pass vNULL to
7517 build_function_call_vec.
7518 (resolve_overloaded_builtin): Likewise.
7519 * c-common.h (build_function_call_vec): Adjust declaration.
7520
7521 2014-01-30 Marek Polacek <polacek@redhat.com>
7522
7523 PR c/59940
7524 * c-common.h (unsafe_conversion_p): Adjust declaration.
7525 (warnings_for_convert_and_check): Likewise.
7526 (convert_and_check): Likewise.
7527 * c-common.c (unsafe_conversion_p): Add location parameter. Call
7528 expansion_point_location_if_in_system_header on it.
7529 (warnings_for_convert_and_check): Add location parameter. Call
7530 expansion_point_location_if_in_system_header on it. Use it.
7531 (convert_and_check): Add location parameter. Use it.
7532 (conversion_warning): Likewise.
7533 (c_add_case_label): Adjust convert_and_check calls.
7534 (scalar_to_vector): Adjust unsafe_conversion_p calls.
7535
7536 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
7537
7538 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
7539 flag_cilkplus.
7540 * c-pragma.c (init_pragma): Likewise.
7541 * c.opt: Likewise.
7542
7543 2014-01-23 Marek Polacek <polacek@redhat.com>
7544
7545 PR c/59846
7546 * c-common.c (shorten_compare): Add location_t parameter.
7547 * c-common.h (shorten_binary_op): Adjust declaration.
7548
7549 2014-01-23 Marek Polacek <polacek@redhat.com>
7550
7551 PR c/58346
7552 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
7553 * c-common.h: Declare it.
7554
7555 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
7556
7557 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
7558 * c-ada-spec.c (dump_ads): Likewise.
7559 (cpp_check): Likewise.
7560 (dump_ada_specs): Likewise.
7561
7562 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
7563
7564 PR c++/49718
7565 * c-common.c (handle_no_instrument_function_attribute): Allow
7566 no_instrument_function attribute in class member
7567 definition/declaration.
7568
7569 2014-01-15 Jakub Jelinek <jakub@redhat.com>
7570
7571 PR c/58943
7572 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
7573 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
7574 being COMPOUND_EXPR.
7575 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
7576 operand a SAVE_EXPR and second MODIFY_EXPR.
7577
7578 2014-01-09 Jakub Jelinek <jakub@redhat.com>
7579
7580 PR target/58115
7581 * c-pch.c (c_common_write_pch): Call
7582 prepare_target_option_nodes_for_pch.
7583
7584 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7585
7586 Update copyright years
7587
7588 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7589
7590 * array-notation-common.c, c-cilkplus.c: Use the standard form for
7591 the copyright notice.
7592
7593 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
7594
7595 * c-ada-spec.c (print_constructor): New function.
7596 (print_destructor): Retrieve the origin of the destructor.
7597 (print_ada_declaration): Revamp handling of constructors/destructors.
7598
7599 2013-12-23 Stuart Hastings <stuart@apple.com>
7600 Bill Maddox <maddox@google.com>
7601 Jason Merrill <jason@redhat.com>
7602
7603 * c.opt: Add -fdeclone-ctor-dtor.
7604 * c-opts.c (c_common_post_options): Default to on iff -Os.
7605
7606 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
7607
7608 * c-common.c (c_common_attribute_table): Added "cilk simd function"
7609 attribute.
7610 * c-pragma.h (enum pragma_cilk_clause): Remove.
7611 (enum pragma_omp_clause): Added the following fields:
7612 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
7613 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
7614 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
7615 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
7616 PRAGMA_CILK_CLAUSE_UNIFORM.
7617
7618
7619 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
7620
7621 * cilk.c (cilk_outline): Made this function non-static.
7622 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
7623 (create_cilk_wrapper): Added a new parameter: a function pointer.
7624 (c_install_body_w_frame_cleanup): Remove
7625 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
7626 * c-common.h (cilk_outline): New prototype.
7627 (gimplify_cilk_spawn): Removed two parameters.
7628 (cilk_install_body_with_frame_cleanup): New prototype.
7629 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
7630 CILK_SPAWN_STMT case.
7631
7632 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
7633
7634 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
7635
7636 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
7637 (int_array_type_node): Remove.
7638 * c-common.c (c_common_nodes_and_builtins): Don't build it.
7639
7640 2013-12-05 Marek Polacek <polacek@redhat.com>
7641
7642 PR c/52023
7643 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
7644 [ADJUST_FIELD_ALIGN].
7645
7646 2013-12-04 Joseph Myers <joseph@codesourcery.com>
7647
7648 PR c/52023
7649 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
7650 and check field alignment if set.
7651 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
7652 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
7653
7654 2013-12-04 Jakub Jelinek <jakub@redhat.com>
7655 Marek Polacek <polacek@redhat.com>
7656
7657 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
7658 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
7659
7660 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
7661
7662 PR c/59309
7663 * cilk.c (gimplify_cilk_spawn): Properly handle function without
7664 arguments.
7665
7666 2013-11-29 Jakub Jelinek <jakub@redhat.com>
7667
7668 PR c/59280
7669 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
7670 goto invalid. If it is error_mark_node, don't issue further
7671 diagnostics.
7672
7673 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
7674
7675 * c.opt (Wopenmp-simd): New.
7676
7677 2013-11-22 Jakub Jelinek <jakub@redhat.com>
7678
7679 * c-ubsan.h (ubsan_instrument_return): New prototype.
7680 * c-ubsan.c (ubsan_instrument_return): New function.
7681
7682 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
7683
7684 * c-common.c: Add required include files from gimple.h.
7685 * c-gimplify.c: Likewise.
7686 * cilk.c: Likewise.
7687
7688 2013-11-22 David Malcolm <dmalcolm@redhat.com>
7689
7690 * c-common.c (unsafe_conversion_p): Remove use of
7691 EXPR_LOC_OR_HERE macro.
7692 (conversion_warning): Likewise.
7693 (warnings_for_convert_and_check): Likewise.
7694 (warn_for_collisions_1): Likewise.
7695 (shorten_compare): Likewise, and remove use of in_system_header
7696 macro, using the location from the former.
7697 * c-lex.c (dump_one_header): Remove use of input_filename macro.
7698 (cb_def_pragma): Remove use of in_system_header macro.
7699 (lex_string): Likewise.
7700 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7701
7702 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7703 Mike Stump <mikestump@comcast.net>
7704 Richard Sandiford <rdsandiford@googlemail.com>
7705
7706 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
7707 instead of TREE_INT_CST_LOW, in cases where there is a protecting
7708 tree_fits_shwi_p or tree_fits_uhwi_p.
7709 (dump_generic_ada_node): Likewise.
7710 * c-format.c (check_format_arg): Likewise.
7711 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7712
7713 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7714
7715 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
7716
7717 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
7718
7719 PR c/53001
7720 * c-common.c (unsafe_conversion_p): Make this function
7721 return an enumeration with more detail.
7722 (conversion_warning): Use the new return type of
7723 unsafe_conversion_p to separately warn either about conversions
7724 that lower floating point number precision or about the other
7725 kinds of conversions.
7726 * c-common.h (enum conversion_safety): New enumeration.
7727 (unsafe_conversion_p): switching return type to
7728 conversion_safety enumeration.
7729 * c.opt: Adding new warning -Wfloat-conversion and
7730 enabling it with -Wconversion.
7731
7732 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
7733
7734 * c-opts.c: Include plugin.h.
7735 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
7736
7737 2013-11-19 Marek Polacek <polacek@redhat.com>
7738
7739 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
7740 call.
7741 (ubsan_instrument_shift): Likewise.
7742 (ubsan_instrument_vla): Likewise.
7743
7744 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7745
7746 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
7747 cast to unsigned type.
7748
7749 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7750
7751 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
7752 tree_low_cst.
7753 (complete_array_type): Update comment to refer to tree_to_[su]hwi
7754 rather than tree_low_cst.
7755
7756 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7757
7758 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
7759 tree_to_uhwi throughout.
7760
7761 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7762
7763 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
7764 tree_low_cst (..., 0) with tree_to_shwi throughout.
7765
7766 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7767
7768 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
7769 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
7770
7771 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7772
7773 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
7774 host_integerp (..., 0) with tree_fits_shwi_p throughout.
7775
7776 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
7777
7778 * c-cilkplus.c: New file.
7779 * c-common.c (readonly_error): Add location argument.
7780 * c-common.h (readonly_error): Same.
7781 (c_finish_cilk_clauses): Protoize.
7782 (c_check_cilk_loop): Same.
7783 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
7784 Do not fail on error_mark_node.
7785 Abstract increment canonicalization to here...
7786 (c_omp_for_incr_canonicalize_ptr): New.
7787 c-pragma.c (init_pragma): Register "simd" pragma.
7788 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
7789 (enum pragma_cilk_clause): New.
7790
7791 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
7792
7793 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
7794 wchar_type and host_integerp checks.
7795
7796 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
7797
7798 * c-common.c: Likewise.
7799 * c-gimplify.c: Likewise.
7800 * cilk.c: Likewise.
7801
7802 2013-11-14 Diego Novillo <dnovillo@google.com>
7803
7804 * c-common.c: Include fold-const.h.
7805 Include stor-layout.h.
7806 Include calls.h.
7807 Include stringpool.h.
7808 Include attribs.h.
7809 Include varasm.h.
7810 Include trans-mem.h.
7811 * c-cppbuiltin.c: Include stor-layout.h.
7812 Include stringpool.h.
7813 * c-format.c: Include stringpool.h.
7814 * c-lex.c: Include stringpool.h.
7815 Include stor-layout.h.
7816 * c-pragma.c: Include stringpool.h.
7817 Include attribs.h.
7818 Include varasm.h.
7819 Include gcc-symtab.h.
7820 * c-pretty-print.c: Include stor-layout.h.
7821 Include attribs.h.
7822 * cilk.c: Include stringpool.h.
7823 Include calls.h.
7824
7825 2013-11-13 Joseph Myers <joseph@codesourcery.com>
7826
7827 * c-common.h (enum rid): Add RID_AUTO_TYPE.
7828 * c-common.c (c_common_reswords): Add __auto_type.
7829 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
7830
7831 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
7832
7833 * c-common.c: Include gimplify.h.
7834 * c-gimplify.c: Likewise.
7835 * cilk.c: Likewise.
7836 * c-omp.c: Include gimple-expr.h instead of gimple.h.
7837 * c-ubsan.c: Don't include gimple.h.
7838
7839 2013-11-12 Joseph Myers <joseph@codesourcery.com>
7840
7841 * c-common.c (c_common_reswords): Add _Thread_local.
7842
7843 2013-11-09 Joseph Myers <joseph@codesourcery.com>
7844
7845 * c-common.c (atomic_size_supported_p): New function.
7846 (resolve_overloaded_atomic_exchange)
7847 (resolve_overloaded_atomic_compare_exchange)
7848 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
7849 Use it instead of comparing size with a local list of sizes.
7850
7851 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
7852 Joseph Myers <joseph@codesourcery.com>
7853
7854 * c-common.h (enum rid): Add RID_ATOMIC.
7855 * c-common.c (c_common_reswords): Add _Atomic.
7856 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
7857 (keyword_is_type_qualifier): Accept RID_ATOMIC.
7858 * c-format.c (check_format_types): Check for extra _Atomic
7859 qualifiers in format argument.
7860 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
7861 (pp_c_type_qualifier_list): Mention _Atomic in comment.
7862
7863 2013-11-06 Tobias Burnus <burnus@net-b.de>
7864
7865 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
7866
7867 2013-11-06 Joseph Myers <joseph@codesourcery.com>
7868
7869 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
7870 standards modes.
7871 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
7872 to mean lack of IEEE 754 support.
7873
7874 2013-11-05 Tobias Burnus <burnus@net-b.de>
7875
7876 * c.opt (-Wdate-time): New option
7877 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
7878
7879 2013-11-05 Joseph Myers <joseph@codesourcery.com>
7880
7881 * c-cppbuiltin.c (cpp_iec_559_value): Test
7882 flag_excess_precision_cmdline not flag_excess_precision.
7883
7884 2013-11-05 Tobias Burnus <burnus@net-b.de>
7885
7886 * c.opt (fopenmp-simd): New option.
7887 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
7888 (omp_pragmas): ... this new struct.
7889 (c_pp_lookup_pragma): Also walk omp_pragmas.
7890 (init_pragma): Init pragmas for -fopenmp-simd.
7891
7892 2013-11-04 Marek Polacek <polacek@redhat.com>
7893
7894 PR c++/58979
7895 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7896
7897 2013-11-04 Joseph Myers <joseph@codesourcery.com>
7898
7899 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7900 New functions.
7901 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7902
7903 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7904
7905 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7906 (dump_ada_specs): Adjust prototype of second callback.
7907 * c-ada-spec.c (cpp_check): New global variable.
7908 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7909 (print_generic_ada_decl): Likewise.
7910 (has_static_fields): Change return type to bool and add guard.
7911 (has_nontrivial_methods): New predicate.
7912 (is_tagged_type): Change return type to bool.
7913 (separate_class_package): Call has_nontrivial_methods.
7914 (pp_ada_tree_identifier): Minor tweaks.
7915 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7916 (dump_ada_array_domains): Likewise.
7917 (dump_ada_array_type): Likewise.
7918 (dump_template_types): Remove cpp_check parameter and do not pass it to
7919 dump_generic_ada_node.
7920 (dump_ada_template): Likewise.
7921 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7922 recursively.
7923 (print_ada_methods): Change return type to integer. Remove cpp_check
7924 parameter and do not pass it down.
7925 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7926 dump_generic_ada_node.
7927 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7928 accessing methods.
7929 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7930 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7931 value of print_ada_methods.
7932 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7933 Set cpp_check to it before invoking dump_ada_nodes.
7934 (dump_ada_specs): Likewise.
7935
7936 2013-11-03 Marek Polacek <polacek@redhat.com>
7937
7938 * c-ubsan.c: Don't include hash-table.h.
7939 (ubsan_instrument_vla): New function.
7940 * c-ubsan.h: Declare it.
7941
7942 2013-10-31 David Malcolm <dmalcolm@redhat.com>
7943
7944 Automated part of renaming of symtab_node_base to symtab_node.
7945
7946 Patch autogenerated by rename_symtab.py from
7947 https://github.com/davidmalcolm/gcc-refactoring-scripts
7948 revision 58bb219cc090b2f4516a9297d868c245495ee622
7949
7950 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7951 symtab_node_base to symtab_node.
7952
7953 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7954
7955 Implement C++14 digit separators.
7956 * c-lex.c (interpret_float): Remove digit separators from scratch string
7957 before building real literal.
7958
7959 2013-10-30 Jakub Jelinek <jakub@redhat.com>
7960
7961 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7962
7963 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7964
7965 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7966 fields.
7967 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7968 enabled.
7969 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7970 (insert_cilk_frame): New prototype.
7971 (cilk_init_builtins): Likewise.
7972 (gimplify_cilk_spawn): Likewise.
7973 (c_cilk_install_body_w_frame_cleanup): Likewise.
7974 (cilk_detect_spawn_and_unwrap): Likewise.
7975 (cilk_set_spawn_marker): Likewise.
7976 (build_cilk_sync): Likewise.
7977 (build_cilk_spawn): Likewise.
7978 * cilk.c: New file.
7979
7980 2013-10-29 David Malcolm <dmalcolm@redhat.com>
7981
7982 Patch autogenerated by refactor_symtab.py from
7983 https://github.com/davidmalcolm/gcc-refactoring-scripts
7984 revision 58bb219cc090b2f4516a9297d868c245495ee622
7985
7986 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7987 to a true class hierarchy.
7988 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7989
7990 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7991
7992 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7993
7994 2013-10-26 Jeff Law <law@redhat.com>
7995
7996 * c-common.c (c_define_builtins): Remove mudflap support.
7997 * c.opt: Ignore and warn for mudflap options.
7998
7999 2013-10-24 Tobias Burnus <burnus@net-b.de>
8000
8001 PR other/33426
8002 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
8003 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
8004
8005 2013-10-23 Jason Merrill <jason@redhat.com>
8006
8007 * c-format.c (gcc_cxxdiag_char_table): Add %X.
8008
8009 2013-10-11 Jakub Jelinek <jakub@redhat.com>
8010
8011 * c-common.h (omp_clause_mask::operator !=): New method.
8012 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
8013 instead of if (mask & something) tests everywhere.
8014
8015 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
8016 201307 instead of 201107.
8017 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
8018 (c_common_attribute_table): Add "omp declare target" and
8019 "omp declare simd" attributes.
8020 (handle_omp_declare_target_attribute,
8021 handle_omp_declare_simd_attribute): New functions.
8022 * c-omp.c: Include c-pragma.h.
8023 (c_finish_omp_taskgroup): New function.
8024 (c_finish_omp_atomic): Add swapped argument, if true,
8025 build the operation first with rhs, lhs arguments and use NOP_EXPR
8026 build_modify_expr.
8027 (c_finish_omp_for): Add code argument, pass it down to make_code.
8028 (c_omp_split_clauses): New function.
8029 (c_split_parallel_clauses): Removed.
8030 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
8031 c_omp_declare_simd_clauses_to_decls): New functions.
8032 * c-common.h (omp_clause_mask): New type.
8033 (OMP_CLAUSE_MASK_1): Define.
8034 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
8035 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
8036 omp_clause_mask::operator |, omp_clause_mask::operator &,
8037 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
8038 omp_clause_mask::operator ==): New methods.
8039 (enum c_omp_clause_split): New.
8040 (c_finish_omp_taskgroup): New prototype.
8041 (c_finish_omp_atomic): Add swapped argument.
8042 (c_finish_omp_for): Add code argument.
8043 (c_omp_split_clauses): New prototype.
8044 (c_split_parallel_clauses): Removed.
8045 (c_omp_declare_simd_clauses_to_numbers,
8046 c_omp_declare_simd_clauses_to_decls): New prototypes.
8047 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
8048 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
8049 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
8050 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
8051 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
8052 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
8053 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
8054 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
8055 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
8056 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
8057 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
8058 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
8059 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
8060 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
8061 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
8062 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
8063 PRAGMA_OMP_CLAUSE_UNIFORM.
8064
8065 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
8066
8067 PR tree-optimization/20318
8068 * c-common.c (handle_returns_nonnull_attribute): New function.
8069 (c_common_attribute_table): Add returns_nonnull.
8070
8071 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
8072
8073 PR c++/19476
8074 * c.opt (fcheck-new): Move to common.opt.
8075
8076 2013-09-25 Marek Polacek <polacek@redhat.com>
8077 Jakub Jelinek <jakub@redhat.com>
8078
8079 PR sanitizer/58413
8080 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
8081 an expression if we can prove it is correct.
8082 (ubsan_instrument_division): Likewise. Remove unnecessary
8083 check.
8084
8085 2013-09-18 Marek Polacek <polacek@redhat.com>
8086
8087 PR sanitizer/58411
8088 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
8089 Declare it.
8090 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
8091
8092 2013-09-14 Iain Sandoe <iain@codesourcery.com>
8093
8094 PR target/48094
8095 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
8096 fobjc-gc, freplace-objc-classes): Accept for LTO.
8097
8098 2013-09-13 Jacek Caban <jacek@codeweavers.com>
8099
8100 * c-target.def: New hook
8101
8102 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8103
8104 PR c++/43452
8105 * c.opt (Wdelete-incomplete): Add.
8106
8107 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
8108
8109 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
8110 (vector_types_compatible_elements_p): New function.
8111 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
8112 declaration.
8113 (vector_types_compatible_elements_p): Declare.
8114
8115 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8116
8117 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
8118 a virtual member function.
8119 (pp_simple_type_specifier): Remove.
8120 (pp_c_type_specifier): Likewise.
8121 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
8122 Rename from pp_c_type_specifier. Adjust.
8123 (c_pretty_printer::c_pretty_printer): Do not assign to
8124 simple_type_specifier.
8125
8126 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8127
8128 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
8129 member function.
8130 (c_pretty_printer::storage_class_specifier): Likewise.
8131 (c_pretty_printer::initializer): Likewise.
8132 (pp_declaration): Remove.
8133 (pp_declaration_specifiers): Likewise.
8134 (pp_abstract_declarator): Likewise.
8135 (pp_declarator): Likewise.
8136 (pp_type_id): Likewise.
8137 (pp_statement): Likewise.
8138 (pp_constant): Likewise.
8139 (pp_id_expression): Likewise.
8140 (pp_primary_expression): Likewise.
8141 (pp_unary_expression): Likewise.
8142 (pp_multiplicative_expression): Likewise.
8143 (pp_conditional_expression): Likewise.
8144 (pp_assignment_expression): Likewise.
8145 (pp_expression): Likewise.
8146 (pp_c_type_id): Likewise.
8147 (pp_c_storage_class_specifier): Likewise.
8148 * c-pretty-print.c (pp_c_type_cast): Tidy.
8149 (pp_c_pointer): Likewise.
8150 (pp_c_type_specifier): Likewise.
8151 (pp_c_parameter_type_list): Likewise.
8152 (pp_c_function_definition): Likewise.
8153 (pp_c_init_declarator): Likewise.
8154 (pp_c_initializer_list): Likewise.
8155 (pp_c_constructor_elts): Likewise.
8156 (c_pretty_printer::direct_abstract_declarator): Likewise.
8157 (c_pretty_printer::declaration_specifiers): Likewise.
8158 (c_pretty_printer::primary_expression): Likewise.
8159 (c_pretty_printer::postfix_expression): Likewise.
8160 (c_pretty_printer::type_id): Rename from pp_c_type_id.
8161 (c_pretty_printer::storage_class_specifier): Rename from
8162 pp_c_storage_class_specifier.
8163 (c_pretty_printer::initializer): Rename from pp_c_initializer.
8164 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
8165 storage_class_specifier, initializer, offset_list, flags.
8166
8167 2013-08-30 Marek Polacek <polacek@redhat.com>
8168
8169 * c-ubsan.c: New file.
8170 * c-ubsan.h: New file.
8171
8172 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8173
8174 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
8175 member function.
8176 (c_pretty_printer::declaration_specifiers): Likewise.
8177 (c_pretty_printer::declarator): Likewise.
8178 (c_pretty_printer::abstract_declarator): Likewise.
8179 (c_pretty_printer::direct_abstract_declarator): Likewise.
8180 (c_pretty_printer::direct_declarator): Likewise.
8181 (c_pretty_printer::function_specifier): Likewise.
8182 (pp_declaration): Adjust.
8183 (pp_declaration_specifiers): Likewise.
8184 (pp_abstract_declarator): Likewise.
8185 (pp_direct_declarator): Likewise.
8186 (pp_function_specifier): Likewise.
8187 (pp_direct_abstract_declarator): Remove as unused.
8188 (pp_c_declaration): Remove.
8189 (pp_c_declaration_specifiers): Likewise.
8190 (pp_c_declarator): Likewise.
8191 (pp_c_direct_declarator): Likewise.
8192 (pp_c_function_specifier): Likewise.
8193 (pp_c_direct_abstract_declarator): Likewise.
8194 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
8195 from pp_c_abstract_declarator. Adjust.
8196 (c_pretty_printer::direct_abstract_declarator): Rename from
8197 pp_c_direct_abstract_declarator. Adjust.
8198 (c_pretty_printer::function_specifier): Rename from
8199 pp_c_function_specifier. Adjust.
8200 (c_pretty_printer::declaration_specifiers): Rename from
8201 pp_c_declaration_specifiers. Adjust.
8202 (c_pretty_printer::direct_declarator): Rename from
8203 pp_c_direct_declarator. Adjust.
8204 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
8205 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
8206 (c_pretty_printer::c_pretty_printer): Do not assign to
8207 declaration, declaration_specifiers, declarator,
8208 direct_declarator, direct_abstract_declarator, function_specifier.
8209
8210 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
8211
8212 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
8213 virtual member function.
8214 (c_pretty_printer::multiplicative_expression): Likewise.
8215 (c_pretty_printer::conditional_expression): Likewise.
8216 (c_pretty_printer::assignment_expression): Likewise.
8217 (c_pretty_printer::expression): Likewise.
8218 (pp_unary_expression): Adjust.
8219 (pp_multiplicative_expression): Likewise.
8220 (pp_assignment_expression): Likewise.
8221 (pp_conditional_expression): Likewise.
8222 (pp_expression): Likewise.
8223 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
8224 from pp_c_unary_expression. Adjust.
8225 (c_pretty_printer::multiplicative_expression): Rename from
8226 pp_c_multiplicative_expression. Adjust.
8227 (c_pretty_printer::conditional_expression): Rename from
8228 pp_c_conditional_expression. Adjust.
8229 (c_pretty_printer::assignment_expression): Rename from
8230 pp_c_assignment_expression. Adjust.
8231 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
8232 (c_pretty_printer::c_pretty_printer): Do not assign to
8233 unary_expression, multiplicative_expression,
8234 conditional_expression, expression.
8235
8236 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8237
8238 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
8239 virtual member function.
8240 (pp_postfix_expression): Adjust.
8241 (pp_c_postfix_expression): Remove.
8242 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
8243 from pp_c_postfix_expression. Adjust.
8244 (c_pretty_printer::c_pretty_printer): Do not assign to
8245 postfix_expression.
8246
8247 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8248
8249 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8250 virtua member function.
8251 (pp_primary_expression): Adjust.
8252 (pp_c_primary_expression): Remove.
8253 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8254 from pp_c_primary_expression. Adjust.
8255 (pp_c_initializer_list): Use pp_primary_expression.
8256 (c_pretty_printer::c_pretty_printer): Do not assign to
8257 primary_expression.
8258
8259 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8260
8261 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8262 * c-pretty-print.c (M_): Remove.
8263 (c_pretty_printer::translate_string): Define.
8264 (pp_c_type_specifier): Use it.
8265 (pp_c_primary_expression): Likewise.
8266 (pp_c_expression): Likewise.
8267
8268 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8269
8270 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8271 virtual function.
8272 (pp_c_id_expression): Remove.
8273 (pp_id_expression): Adjust.
8274 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8275 pp_c_id_expression. Adjust.
8276 (pp_c_postfix_expression): Use pp_id_expression.
8277 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8278
8279 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8280
8281 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8282 member function.
8283 (pp_constant): Adjust.
8284 (pp_c_constant): Remove.
8285 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8286 pp_c_constant. Adjust.
8287 (pp_c_constant)
8288 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8289 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8290
8291 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8292
8293 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8294 (c_pretty_printer::c_pretty_printer): Declare.
8295 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8296 c_pretty_printer_init. Adjust.
8297 (print_c_tree): Do not call c_pretty_printer_init.
8298 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8299
8300 2013-08-09 Arnaud Charlet <charlet@adacore.com>
8301
8302 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8303
8304 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8305
8306 PR c++/58080
8307 * c-common.c (pointer_int_sum): Add bool parameter.
8308 * c-common.h (pointer_int_sum): Adjust declaration.
8309
8310 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8311
8312 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8313 c_pretty_printer variable.
8314
8315 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8316
8317 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8318 (pp_base): Remove.
8319 (pp_c_base): Likewise. Adjust users.
8320 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8321 (pp_c_whitespace): Do not call pp_base.
8322 (pp_c_left_paren): Likewise.
8323 (pp_c_right_paren): Likewise.
8324 (pp_c_left_brace): Likewise.
8325 (pp_c_right_brace): Likewise.
8326 (pp_c_left_bracket): Likewise.
8327 (pp_c_right_bracket): Likewise.
8328 (pp_c_dot): Likewise.
8329 (pp_c_ampersand): Likewise.
8330 (pp_c_star): Likewise.
8331 (pp_c_arrow): Likewise.
8332 (pp_c_semicolon): Likewise.
8333 (pp_c_complement): Likewise.
8334 (pp_c_exclamation): Likewise.
8335 (pp_c_direct_declarator): Likewise.
8336 (pp_c_ws_string): Likewise.
8337 (pp_c_identifier): Likewise.
8338 (pp_c_statement): Likewise.
8339 (print_c_tree): Likewise.
8340
8341 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8342
8343 PR c++/58072
8344 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8345 provide useful error strings.
8346
8347 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8348
8349 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
8350 printer functions instead of pp_string or operators and punctuators.
8351 (dump_generic_ada_node): Likewise.
8352 * c-pretty-print.c (pp_c_type_specifier): Likewise.
8353 (pp_c_relational_expression): Likewise.
8354 (pp_c_logical_or_expression): Likewise.
8355
8356 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8357
8358 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
8359 functions instead of pp_character.
8360 (pp_ada_tree_identifier): Likewise.
8361 (dump_ada_double_name): Likewise.
8362 (dump_ada_function_declaration): Likewise.
8363 (dump_ada_array_domains): Likewise.
8364 (dump_template_types): Likewise.
8365 (dump_generic_ada_node): Likewise.
8366 (print_ada_declaration): Likewise.
8367 (print_ada_struct_decl): Likewise.
8368 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8369
8370 2013-07-23 Tom Tromey <tromey@redhat.com>
8371
8372 * c-common.h (enum rid) <RID_GENERIC>: New constant.
8373 * c-common.c (c_common_reswords): Add _Generic.
8374
8375 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
8376
8377 * c-common.c: Fix typos.
8378 * c-common.h: Likewise.
8379
8380 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
8381
8382 PR c++/55203
8383 * c-common.c (c_common_attribute_table): Add warn_unused.
8384 (handle_warn_unused_attribute): New.
8385
8386 2013-07-10 Jakub Jelinek <jakub@redhat.com>
8387
8388 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
8389 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
8390
8391 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
8392
8393 PR c++/57869
8394 * c.opt: Add Wconditionally-supported.
8395
8396 2013-07-08 Graham Stott <graham.stott@btinternet.com>
8397
8398 * array-notation-common.c (length_mismatch_in_expr_p): Delete
8399 unused variables l_length and l_node.
8400
8401 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
8402
8403 PR c/57821
8404 * c-common.c (complete_array_type): Delay folding first index
8405 like other indices. When folding, check for index overflow.
8406
8407 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
8408
8409 PR c++/57509
8410 * c-common.h (c_build_vec_perm_expr): New complain argument.
8411 * c-common.c (c_build_vec_perm_expr): Likewise.
8412 Use save_expr also in C++.
8413
8414 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8415
8416 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8417 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8418 * c-opts.c (c_common_post_options): Likewise.
8419
8420 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8421
8422 * array-notation-common.c (length_mismatch_in_expr): Changed the
8423 parameter type's from a dynamic array to a vec_tree. Also removed
8424 the size parameters.
8425 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8426 the change above.
8427
8428 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8429
8430 * c-common.h (struct cilkplus_an_parts): New structure.
8431 (struct cilkplus_an_loop_parts): Likewise.
8432 (cilkplus_extract_an_triplets): New prototype.
8433 (fix_sec_implicit_args): Likewise.
8434 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
8435 (fix_sec_implicit_args): Likewise.
8436
8437 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
8438
8439 * array-notation-common.c (find_inv_trees): Removed an unwanted
8440 typecasting.
8441 * c-common.h (struct inv_list::additional_tcodes): Changed type from
8442 enum rid to enum tree_code.
8443
8444 2013-06-11 Jan Hubicka <jh@suse.cz>
8445
8446 * c-common.c (handle_alias_ifunc_attribute): Do not set
8447 DECL_EXTERNAL for weakref variables.
8448 * c-pragma.c (handle_pragma_weak): Make sure aliases
8449 are not declared as external.
8450
8451 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
8452
8453 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
8454 function from c/c-array-notation.c.
8455 (is_cilkplus_reduce_builtin): Likewise.
8456 (find_rank): Likewise.
8457 (extract_array_notation_exprs): Likewise.
8458 (replace_array_notations): Likewise.
8459 (find_inv_trees): Likewise.
8460 (replace_inv_trees): Likewise.
8461 (contains_array_notation_expr): Likewise.
8462 (find_correct_array_notation_type): Likewise.
8463 * c-common.h (struct inv_list): Moved this struct from the file
8464 c/c-array-notation.c and added a new field called additional tcodes.
8465 (length_mismatch_in_expr_p): New prototype.
8466 (is_cilkplus_reduce_builtin): Likewise.
8467 (find_rank): Likewise.
8468 (extract_array_notation_exprs): Likewise.
8469 (replace_array_notation): Likewise.
8470 (find_inv_trees): Likewise.
8471 (replace_inv_trees): Likewise.
8472 (find_correct_array_notation_type): Likewise.
8473
8474 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
8475
8476 * c-common.c (c_define_builtins): When cilkplus is enabled, the
8477 function array_notation_init_builtins is called.
8478 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
8479 * c-common.def (ARRAY_NOTATION_REF): New tree.
8480 * c-common.h (build_array_notation_expr): New function declaration.
8481 (build_array_notation_ref): Likewise.
8482 (extract_sec_implicit_index_arg): New extern declaration.
8483 (is_sec_implicit_index_fn): Likewise.
8484 (ARRAY_NOTATION_CHECK): New define.
8485 (ARRAY_NOTATION_ARRAY): Likewise.
8486 (ARRAY_NOTATION_START): Likewise.
8487 (ARRAY_NOTATION_LENGTH): Likewise.
8488 (ARRAY_NOTATION_STRIDE): Likewise.
8489 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
8490 ARRAY_NOTATION_REF.
8491 (pp_c_expression): Likewise.
8492 * c.opt (flag_enable_cilkplus): New flag.
8493 * array-notation-common.c: New file.
8494
8495 2013-05-14 Jakub Jelinek <jakub@redhat.com>
8496
8497 PR c++/57274
8498 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
8499
8500 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
8501
8502 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
8503 vectors.
8504
8505 2013-05-07 Han Shen <shenhan@google.com>
8506
8507 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
8508
8509 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8510
8511 * c-common.c (check_user_alignment): Emit error for negative values.
8512
8513 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8514
8515 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
8516
8517 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8518
8519 * c-cppbuiltin.c (c_cpp_builtins): Do not define
8520 __GXX_EXPERIMENTAL_CXX1Y__.
8521
8522 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8523 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
8524
8525 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
8526 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
8527 to simply use OPT_Wpointer_arith.
8528 (c_sizeof_or_alignof_type): Likewise.
8529
8530 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8531
8532 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
8533
8534 2013-04-12 Jakub Jelinek <jakub@redhat.com>
8535
8536 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
8537 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
8538 specifiers.
8539
8540 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
8541
8542 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
8543
8544 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
8545
8546 * c-common.c (pointer_int_sum): Remove dead code.
8547
8548 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
8549
8550 PR middle-end/56524
8551 * c-common.c (handle_optimize_attribute): Don't call
8552 save_optabs_if_changed.
8553
8554 2013-03-05 Jakub Jelinek <jakub@redhat.com>
8555
8556 PR middle-end/56461
8557 * c-pch.c (pch_init): Free target_validity at the end.
8558
8559 2013-03-04 Jakub Jelinek <jakub@redhat.com>
8560
8561 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
8562
8563 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
8564 Jakub Jelinek <jakub@redhat.com>
8565
8566 PR sanitizer/56454
8567 * c-common.c (handle_no_sanitize_address_attribute): New function.
8568 (c_common_attribute_table): Add no_sanitize_address attribute.
8569 (handle_no_address_safety_analysis_attribute): Add
8570 no_sanitize_address attribute, not no_address_safety_analysis
8571 attribute.
8572
8573 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
8574
8575 PR target/52555
8576 * c-common.c (handle_optimize_attribute): Call
8577 save_optabs_if_changed.
8578
8579 2013-02-18 Jakub Jelinek <jakub@redhat.com>
8580 Steven Bosscher <steven@gcc.gnu.org>
8581
8582 PR pch/54117
8583 * c-opts.c (c_common_post_options): If debug info is enabled
8584 and non-dwarf*, refuse to load PCH files and when writing PCH
8585 file warn.
8586
8587 2013-02-05 Jakub Jelinek <jakub@redhat.com>
8588
8589 PR middle-end/56167
8590 * c-common.c (handle_error_attribute): Fix condition.
8591
8592 2013-01-30 Jakub Jelinek <jakub@redhat.com>
8593
8594 PR c++/55742
8595 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
8596
8597 2013-01-18 Jason Merrill <jason@redhat.com>
8598
8599 PR target/54908
8600 * c.opt (-fextern-tls-init): New.
8601 * c-opts.c (c_common_post_options): Handle it.
8602
8603 2013-01-09 Jakub Jelinek <jakub@redhat.com>
8604
8605 PR c/48418
8606 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
8607 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
8608 and is either negative or bigger or equal to type precision
8609 of the first operand.
8610
8611 2012-12-03 Marek Polacek <polacek@redhat.com>
8612
8613 PR c/55570
8614 * c-common.c (check_user_alignment): Swap order of tests,
8615 check TREE_CODE first.
8616
8617 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
8618
8619 PR c++/52654
8620 * c-common.h (overflow_type): New enum.
8621 (build_userdef_literal): Add overflow_type argument.
8622 (tree_userdef_literal): Add overflow_type.
8623 (USERDEF_LITERAL_OVERFLOW): New access macro.
8624 * c-common.c (build_userdef_literal): Add overflow_type
8625 argument.
8626 * c-lex.c (c_lex_with_flags): Add overflow_type to
8627 build_userdef_literal calls.
8628 (interpret_integer, interpret_float): Add overflow_type argument.
8629
8630 2012-11-28 Richard Biener <rguenther@suse.de>
8631
8632 PR c/35634
8633 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8634 here and use a type with proper overflow behavior for types that would
8635 need to be promoted for the arithmetic.
8636
8637 2012-11-23 Jakub Jelinek <jakub@redhat.com>
8638
8639 PR sanitizer/55435
8640 * c-common.c (handle_no_address_safety_analysis_attribute): New
8641 function.
8642 (c_common_attribute_table): Add no_address_safety_analysis.
8643
8644 2012-11-16 Simon Baldwin <simonb@google.com>
8645
8646 * c.opt: Add f[no-]canonical-system-headers.
8647 * c-opts.c (c_common_handle_option): Handle
8648 OPT_fcanonical_system_headers.
8649
8650 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
8651
8652 PR c++/54413
8653 * c-opts.c (c_common_handle_option): Set new flags.
8654 * c.opt: Describe new flags.
8655
8656 2012-11-09 Jason Merrill <jason@redhat.com>
8657
8658 * c.opt (Wabi-tag): New.
8659
8660 2012-11-09 Andi Kleen <ak@linux.intel.com>
8661
8662 PR 55139
8663 * c-common.c (get_atomic_generic_size): Mask with
8664 MEMMODEL_MASK
8665
8666 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8667
8668 PR c/53063
8669 * c.opt (Wformat): Make it Alias Wformat=1.
8670 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
8671 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
8672 LangEnabledBy.
8673 (Wformat=): RejectNegative. Use LangEnabledBy.
8674 (Wnonnull): Use LangEnabledBy.
8675 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
8676 * c-format.c (set_Wformat): Delete.
8677 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8678 (maybe_read_dollar_number): Likewise.
8679 (avoid_dollar_number): Likewise.
8680 (finish_dollar_format_checking): Likewise.
8681 (check_format_info): Likewise.
8682 (check_format_info_main): Likewise.
8683 (check_format_types): Likewise.
8684 (format_type_warning): Likewise.
8685 * c-common.c (int): Likewise.
8686 (check_function_sentinel): Likewise.
8687 * c-common.h (warn_format,set_Wformat): Do not declare here.
8688
8689 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8690
8691 PR c/53063
8692 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
8693 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
8694 Use LangEnabledBy.
8695 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
8696 common.opt.
8697 (Wvariadic-macros): Init(1).
8698 * c-opts.c (c_common_handle_option): Do not handle them
8699 explicitly.
8700 (c_common_post_options): Likewise.
8701 (sanitize_cpp_opts): warn_unused_macros is now
8702 cpp_warn_unused_macros.
8703 (push_command_line_include): Likewise.
8704 * c-common.c (warn_unknown_pragmas): Do not define.
8705 * c-common.h (warn_unknown_pragmas): Do not declare.
8706
8707 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8708
8709 PR c/51294
8710 * c-common.c (conversion_warning): Handle conditional expressions.
8711
8712 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8713
8714 PR c++/54930
8715 * c.opt (Wreturn_local_addr): Define new option.
8716
8717 2012-10-25 Jason Merrill <jason@redhat.com>
8718
8719 * c.opt (Wvirtual-move-assign): New.
8720
8721 * c.opt (Winherited-variadic-ctor): New.
8722
8723 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
8724
8725 PR c++/54427
8726 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
8727
8728 2012-10-23 Joseph Myers <joseph@codesourcery.com>
8729
8730 * c-common.h (pch_cpp_save_state): Declare.
8731 * c-target.def (c_preinclude): New hook.
8732 * c-opts.c (done_preinclude): New.
8733 (push_command_line_include): Handle default preincluded header.
8734 (cb_file_change): Call pch_cpp_save_state when calling
8735 push_command_line_include.
8736 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
8737 (pch_cpp_save_state): New.
8738 (pch_init): Call pch_cpp_save_state conditionally, instead of
8739 calling cpp_save_state.
8740
8741 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8742
8743 PR c/53063
8744 PR c/40989
8745 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
8746 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
8747 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
8748 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
8749 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
8750 * c-opts.c (c_common_handle_option): Remove explicit handling from
8751 here.
8752 (c_common_post_options): Likewise.
8753
8754 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
8755
8756 * c-ada-spec.c (LOCATION_COL): Delete.
8757 (compare_location): New function.
8758 (compare_node): Use it.
8759 (compare_comment): Likewise.
8760
8761 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
8762
8763 PR c/53063
8764 PR c/40989
8765 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
8766 * c-opts.c (c_common_handle_option): Do not set them here. Add
8767 comment.
8768 (c_common_post_options): Likewise.
8769
8770 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
8771
8772 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
8773 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
8774 Remove POINTER_TYPE handling, add large unsigned handling and use
8775 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
8776
8777 2012-10-12 Jakub Jelinek <jakub@redhat.com>
8778
8779 PR c/54381
8780 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
8781 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
8782 locs and array of 3 trees instead of just single loc and single
8783 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
8784 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
8785 For *cmp* builtins that take two sources strings report warnings
8786 about first and second source, not about destination and source.
8787
8788 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
8789
8790 PR c++/53055
8791 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
8792
8793 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
8794
8795 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
8796 declaring something coming from another file.
8797
8798 2012-10-10 Arnaud Charlet <charlet@adacore.com>
8799
8800 PR ada/54845
8801 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
8802
8803 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
8804
8805 PR c++/54194
8806 * c-common.c (warn_about_parentheses): Add location_t parameter;
8807 use EXPR_LOC_OR_LOC.
8808 * c-common.h: Update declaration.
8809
8810 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
8811
8812 PR c++/54427
8813 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
8814 more operations. Make error messages optional.
8815 * c-common.h (enum stv_conv): Moved from c-typeck.c.
8816 (scalar_to_vector): Declare.
8817
8818 2012-10-08 Jason Merrill <jason@redhat.com>
8819
8820 * c-common.c (c_common_reswords): Add thread_local.
8821
8822 2012-10-08 Dodji Seketeli <dodji@redhat.com>
8823
8824 PR c++/53528 C++11 attribute support
8825 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
8826 new functions.
8827 * c-common.c (check_cxx_fundamental_alignment_constraints): New
8828 static function.
8829 (handle_aligned_attribute): In choose strictest alignment
8830 among many. Use new check_cxx_fundamental_alignment_constraints.
8831 (handle_transparent_union_attribute): In c++11 attribute syntax,
8832 don't look through typedefs.
8833
8834 2012-10-04 Arnaud Charlet <charlet@adacore.com>
8835
8836 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
8837 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
8838 out of dumpfile.h.
8839
8840 2012-09-25 Dehao Chen <dehao@google.com>
8841
8842 PR middle-end/54645
8843 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
8844 map when read in the pch.
8845
8846 2012-09-18 Arnaud Charlet <charlet@adacore.com>
8847
8848 * c-ada-spec.c: Style fixes.
8849
8850 2012-09-18 Thomas Quinot <quinot@adacore.com>
8851
8852 * c.opt (-fada-spec-parent): Define new command line switch.
8853 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
8854 is specified, generate binding spec as a child of the specified unit.
8855
8856 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
8857 Manuel López-Ibáñez <manu@gcc.gnu.org>
8858
8859 PR c++/53210
8860 * c.opt ([Winit-self]): Enabled by -Wall in C++.
8861
8862 2012-08-23 Arnaud Charlet <charlet@adacore.com>
8863
8864 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
8865 for pointers, and add missing Convention C pragma.
8866 (print_ada_struct_decl): Add missing aliased keyword.
8867 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
8868
8869 2012-08-17 Jakub Jelinek <jakub@redhat.com>
8870
8871 * c-common.c (sizeof_pointer_memaccess_warning): New function.
8872 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
8873 * c-opts.c (c_common_handle_option): Enable it for -Wall.
8874 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
8875 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
8876
8877 2012-08-10 Richard Guenther <rguenther@suse.de>
8878
8879 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
8880
8881 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
8882
8883 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
8884 instead of separate pp_newline and pp_flush.
8885 (print_c_tree): Likewise.
8886
8887 2012-07-26 Richard Henderson <rth@redhat.com>
8888
8889 * c-common.c (handle_hot_attribute): Allow labels.
8890 (handle_cold_attribute): Likewise.
8891
8892 2012-07-20 Jakub Jelinek <jakub@redhat.com>
8893
8894 PR c++/28656
8895 * c-common.c (check_function_nonnull): Handle multiple nonnull
8896 attributes properly.
8897
8898 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8899
8900 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8901 * c-ada-spec.c: Likewise.
8902 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8903
8904 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8905
8906 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8907 Remove code conditional on it.
8908
8909 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8910
8911 * c-gimplify.c: Do not include basic-block.h.
8912 * c-common.c: Do not include linfuncs.h.
8913
8914 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8915
8916 * c-common.h: Include tree.h.
8917
8918 2012-07-02 Jason Merrill <jason@redhat.com>
8919
8920 PR c++/53524
8921 * c-common.c (get_priority): Call default_conversion.
8922
8923 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
8924
8925 * c-pch.c (c_common_write_pch): Remove unused variables.
8926
8927 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8928
8929 * cppspec.c: Moved from gcc/ to here.
8930
8931 2012-06-27 Kai Tietz <ktietz@redhat.com>
8932
8933 PR preprocessor/37215
8934 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8935
8936 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8937
8938 * c-common.h (c_common_print_pch_checksum): Remove.
8939 * c-pch.c: Do not include output.h.
8940 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8941 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8942 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8943 (struct c_pch_header): Remove.
8944 (get_ident): Update gpch version.
8945 (pch_init): Do not print executable_checksum to asm_out_file.
8946 Do not fail if there is no asm_out_file to read back from. Set
8947 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8948 (c_common_write_pch): Verify that nothing was written to asm_out_file
8949 since pch_init was called. Do not write a c_pch_header, and do not
8950 copy from asm_out_file to the PCH.
8951 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8952 the content of asm_out_file from the PCH.
8953 (c_common_print_pch_checksum): Remove.
8954 * c-opts.c (c_common_init): Print out executable_checksum directly.
8955
8956 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8957
8958 * c-target.def (objc_declare_unresolved_class_reference,
8959 objc_declare_class_definition): Add new hooks.
8960
8961 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8962
8963 * c-lex.c: Do not include output.h.
8964 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8965 Remove uses of ASM_OUTPUT_IDENT.
8966
8967 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
8968
8969 PR c++/51033
8970 * c-common.h (c_build_vec_perm_expr): Move decl here.
8971 * c-common.c (c_build_vec_perm_expr): Move definition
8972 here.
8973
8974 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8975
8976 * c.opt (fconserve-space): Turn into a no-op.
8977
8978 2012-06-04 Sterling Augustine <saugustine@google.com>
8979
8980 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8981 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8982 both the start and end of the function.
8983
8984 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8985
8986 * c-common.c: Do not include output.h.
8987 * c-pragma.c: Likewise.
8988
8989 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8990
8991 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8992 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8993 (lang_decl_name): Handle namespace decls.
8994
8995 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8996
8997 * c-ada-spec.c: Do not include output.h.
8998 * c-semantics.c: Likewise.
8999
9000 2012-05-29 Joseph Myers <joseph@codesourcery.com>
9001
9002 * c-common.c: Fix typo.
9003
9004 2012-05-29 Michael Matz <matz@suse.de>
9005
9006 * c-common.h (c_expand_decl): Remove prototype.
9007
9008 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9009
9010 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
9011 * c-opts.c (c_common_handle_option): Remove code handling
9012 warn_missing_braces.
9013
9014 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
9015
9016 PR c++/25137
9017 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
9018 -Wmissing_braces.
9019
9020 2012-05-22 Dodji Seketeli <dodji@redhat.com>
9021
9022 PR c++/53322
9023 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
9024
9025 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
9026
9027 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
9028 * c-opts.c (c_common_handle_option): Do not handle explicitly
9029 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
9030
9031 2012-05-16 Dodji Seketeli <dodji@redhat.com>
9032
9033 PR preprocessor/7263
9034 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
9035 to cpp_classify_number. For diagnostics, use the precise location
9036 instead of the global input_location.
9037
9038 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9039
9040 PR c++/11856
9041 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
9042
9043 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
9044
9045 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
9046
9047 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
9048
9049 PR 53063
9050 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
9051 Wreorder): Use LangEnabledBy.
9052 * c-opts.c (c_common_handle_option): Do not enable them
9053 explicitly. Call lang-specific generated functions.
9054 (c_common_post_options): Do not set them here.
9055
9056 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
9057
9058 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
9059 Wmissing-field-initializers,Wmissing-parameter-type,
9060 Wold-style-declaration,Woverride-init): Use EnabledBy.
9061 * c-opts.c (c_common_post_options): Do not set here explicitly.
9062
9063 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9064
9065 PR 53063
9066 * c-opts.c (c_common_handle_option): Use handle_generated_option
9067 to enable sub-options.
9068
9069 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
9070
9071 PR c++/53158
9072 * c-common.c (warnings_for_convert_and_check): Use warning_at.
9073
9074 2012-05-10 Richard Guenther <rguenther@suse.de>
9075
9076 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
9077 adjust commentary about TYPE_IS_SIZETYPE types.
9078
9079 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9080
9081 PR c++/53261
9082 * c-common.c (warn_logical_operator): Check that argument of
9083 integer_zerop is not NULL.
9084
9085 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
9086
9087 PR c/43772
9088 * c-common.c (warn_logical_operator): Do not warn if either side
9089 is already true or false.
9090
9091 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9092
9093 PR c/51712
9094 * c-common.c (expr_original_type): New.
9095 (shorten_compare): Do not warn for enumeration types.
9096
9097 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9098
9099 * c.opt (fpermissive): Add Var(flag_permissive).
9100
9101 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
9102
9103 PR c++/51033
9104 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
9105 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
9106
9107 2012-04-30 Dodji Seketeli <dodji@redhat.com>
9108
9109 Add -Wvarargs option
9110 * c.opt (Wvarargs): Define new option.
9111
9112 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9113
9114 * c-common.c (check_function_arguments): Replace
9115 Wmissing-format-attribute with Wsuggest-attribute=format.
9116
9117 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9118
9119 * c.opt (Wsuggest-attribute=format): New. Alias of
9120 Wmissing-format-attribute.
9121 * c-format.c (decode_format_type): Replace
9122 Wmissing-format-attribute with Wsuggest-attribute=format.
9123 (check_function_format): Likewise.
9124
9125 2012-04-27 Ollie Wild <aaw@google.com>
9126
9127 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
9128 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
9129 * c.opt: Add Wliteral-suffix.
9130
9131 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9132
9133 PR c/44774
9134 * c.opt (Wpedantic): New.
9135 (pedantic): Alias Wpedantic.
9136 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
9137 (c_common_post_options): Likewise.
9138 (sanitize_cpp_opts): Likewise.
9139 * c-lex.c (interpret_float): Likewise.
9140 * c-format.c (check_format_types): Likewise.
9141 * c-common.c (pointer_int_sum): Likewise.
9142 (c_sizeof_or_alignof_type): Likewise.
9143 (c_add_case_label): Likewise.
9144 (c_do_switch_warnings): Likewise.
9145 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9146
9147 2012-04-15 Jason Merrill <jason@redhat.com>
9148
9149 PR c++/52818
9150 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
9151 (C_STD_NAME): Distinguish between C++98 and C++11.
9152
9153 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
9154
9155 PR target/52624
9156 * c-common.h (uint16_type_node): Rename into...
9157 (c_uint16_type_node): ...this.
9158 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
9159 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
9160
9161 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
9162
9163 * c-common.c (warn_if_unused_value): Move definition to here.
9164 * c-common.h (warn_if_unused_value): Move declaration to here.
9165
9166 2012-03-23 William Bader <williambader@hotmail.com>
9167
9168 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
9169
9170 2012-03-20 Jason Merrill <jason@redhat.com>
9171
9172 * c-common.h (enum cxx_dialect): Add cxx1y.
9173 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
9174 test.
9175 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
9176 * c-opts.c (c_common_post_options): Likewise.
9177 (set_std_cxx1y): New.
9178 (c_common_handle_option): Call it.
9179 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
9180
9181 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
9182
9183 PR c++/14710
9184 * c.opt ([Wuseless-cast]): Add.
9185
9186 2012-03-16 Richard Guenther <rguenther@suse.de>
9187
9188 * c-pretty-print.c (pp_c_initializer_list): Adjust.
9189
9190 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9191
9192 PR c++/44783
9193 * c.opt (ftemplate-backtrace-limit) Add.
9194
9195 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9196
9197 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
9198 handling.
9199 * c-pragma.c (handle_pragma_extern_prefix): Remove.
9200 (init_pragma): Don't register extern_prefix.
9201
9202 2012-03-12 Richard Guenther <rguenther@suse.de>
9203
9204 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
9205 (builtin_type_for_size): Likewise.
9206
9207 2012-02-13 Jakub Jelinek <jakub@redhat.com>
9208
9209 PR c++/52215
9210 * c-common.c (sync_resolve_params): Don't decide whether to convert
9211 or not based on TYPE_SIZE comparison, convert whenever arg_type
9212 is unsigned INTEGER_TYPE.
9213
9214 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
9215
9216 PR c/52118
9217 * c.opt ([Wunused-local-typedefs]): Fix description.
9218
9219 2012-01-24 Mike Stump <mikestump@comcast.net>
9220
9221 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
9222 exactly.
9223
9224 2012-01-18 Richard Guenther <rguenther@suse.de>
9225
9226 * c-opts.c (c_common_post_options): Reset LTO flags if
9227 we are about to generate a PCH.
9228
9229 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
9230
9231 PR c++/51777
9232 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
9233 use pp_unsigned_wide_integer.
9234
9235 2012-01-10 Richard Guenther <rguenther@suse.de>
9236
9237 PR middle-end/51806
9238 * c-opts.c (c_common_handle_option): Move -Werror handling
9239 to language independent code.
9240
9241 2012-01-05 Richard Guenther <rguenther@suse.de>
9242
9243 PR middle-end/51764
9244 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
9245 from common.opt.
9246
9247 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9248
9249 PR c++/51316
9250 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9251 of array types with an unknown bound.
9252
9253 2011-12-20 Joseph Myers <joseph@codesourcery.com>
9254
9255 * c-common.c (flag_isoc99): Update comment to refer to C11.
9256 (flag_isoc1x): Change to flag_isoc11.
9257 * c-common.h (flag_isoc99): Update comment to refer to C11.
9258 (flag_isoc1x): Change to flag_isoc11.
9259 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9260 C11.
9261 * c-opts.c (set_std_c1x): Change to set_std_c11.
9262 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9263 Call set_std_c11.
9264 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9265 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9266 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9267 standard.
9268 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9269 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9270 (std=gnu1x): Make alias of std=gnu11.
9271
9272 2011-12-19 Jason Merrill <jason@redhat.com>
9273
9274 PR c++/51228
9275 * c-common.c (handle_transparent_union_attribute): Check the first
9276 field if the type is complete.
9277
9278 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9279
9280 PR libstdc++/51365
9281 * c-common.c (RID_IS_FINAL): Add.
9282 * c-common.h (RID_IS_FINAL): Add.
9283
9284 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9285
9286 * c.opt (fgnu-runtime): Provide full description.
9287 (fnext-runtime): Likewise.
9288 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9289
9290 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
9291
9292 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9293 predefines in one place. Add LOCK_FREE predefines.
9294 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9295 new func.
9296
9297 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
9298
9299 PR c/51256
9300 * c-common.c (get_atomic_generic_size): Check for various error
9301 conditions
9302 (resolve_overloaded_atomic_exchange,
9303 resolve_overloaded_atomic_compare_exchange,
9304 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9305 error_mark_node for error conditions.
9306
9307 2011-11-08 Richard Guenther <rguenther@suse.de>
9308
9309 PR middle-end/51010
9310 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
9311
9312 2011-11-07 Richard Henderson <rth@redhat.com>
9313 Aldy Hernandez <aldyh@redhat.com>
9314 Torvald Riegel <triegel@redhat.com>
9315
9316 Merged from transactional-memory.
9317
9318 * c-common.c (handle_tm_wrap_attribute,
9319 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9320 (struct c_common_reswords): Added __transaction* keywords.
9321 (struct c_common_attribute_table): Added transaction* and tm_regparm
9322 attributes.
9323 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9324 masks.
9325 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9326 find_tm_attribute): Declare.
9327
9328 2011-11-07 Jason Merrill <jason@redhat.com>
9329
9330 PR c++/35688
9331 * c-common.c, c-common.h: Revert yesterday's changes.
9332
9333 2011-11-06 Jason Merrill <jason@redhat.com>
9334
9335 PR c++/35688
9336 * c-common.c (decl_has_visibility_attr): Split out from...
9337 (c_determine_visibility): ...here.
9338 * c-common.h: Declare it.
9339
9340 2011-11-06 Joseph Myers <joseph@codesourcery.com>
9341
9342 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9343 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9344 type.
9345 (check_user_alignment): New. Split out of
9346 handle_aligned_attribute. Disallow integer constants with
9347 noninteger types. Conditionally allow zero.
9348 (handle_aligned_attribute): Use check_user_alignment.
9349 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
9350
9351 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
9352 Richard Henderson <rth@redhat.com>
9353
9354 Merged from cxx-mem-model.
9355
9356 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9357 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
9358 parameters that are the same type size.
9359 (get_atomic_generic_size): New. Find size of generic
9360 atomic function parameters and do typechecking.
9361 (add_atomic_size_parameter): New. Insert size into parameter list.
9362 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
9363 either __atomic_exchange_n or external library call.
9364 (resolve_overloaded_atomic_compare_exchange): Restructure
9365 __atomic_compare_exchange to either _n variant or external library call.
9366 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
9367 __atomic_load_n or an external library call.
9368 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
9369 __atomic_store_n or an external library call.
9370 (resolve_overloaded_builtin): Handle new __atomic builtins.
9371
9372 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
9373
9374 PR c++/50608
9375 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
9376 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
9377 <INDIRECT_REF>: Return the argument.
9378 <ARRAY_REF>: Remove special code for negative offset.
9379 Call fold_build_pointer_plus instead of size_binop.
9380 (fold_offsetof): Remove STOP_REF argument and adjust.
9381 * c-common.h (fold_offsetof_1): Declare.
9382 (fold_offsetof): Remove STOP_REF argument.
9383
9384 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
9385
9386 PR c++/50810
9387 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9388 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9389 Wnarrowing for C++0x and C++98.
9390 * c.opt ([Wnarrowing]): Update.
9391
9392 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
9393
9394 PR c++/44277
9395 * c.opt: Add Wzero-as-null-pointer-constant.
9396
9397 2011-10-31 Jason Merrill <jason@redhat.com>
9398
9399 * c.opt (-fdeduce-init-list): Off by default.
9400
9401 PR c++/50920
9402 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
9403 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
9404 and -Wc++11-compat.
9405 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9406
9407 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9408
9409 PR c++/30066
9410 * c.opt (fvisibility-inlines-hidden): Description change.
9411
9412 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9413
9414 Implement C++11 user-defined literals.
9415 * c-common.c (build_userdef_literal): New.
9416 * c-common.def: New tree code.
9417 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9418 * c-lex.c (interpret_float): Add suffix parm.
9419 (c_lex_with_flags): Build literal tokens.
9420
9421 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9422
9423 PR c++/50841
9424 Revert:
9425 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9426
9427 PR c++/50810
9428 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9429 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9430 Wnarrowing for C++0x and C++98.
9431 * c.opt ([Wnarrowing]): Update.
9432
9433 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9434
9435 PR c++/50810
9436 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9437 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9438 Wnarrowing for C++0x and C++98.
9439 * c.opt ([Wnarrowing]): Update.
9440
9441 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
9442
9443 PR c++/45385
9444 * c-common.c (conversion_warning): Remove code looking for
9445 artificial operands.
9446
9447 2011-10-18 Dodji Seketeli <dodji@redhat.com>
9448
9449 PR bootstrap/50760
9450 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9451 !NO_IMPLICIT_EXTERN_C.
9452
9453 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
9454
9455 * c-common.c (c_common_reswords): Add __bases,
9456 __direct_bases.
9457 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
9458
9459 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
9460
9461 PR c++/50757
9462 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
9463
9464 2011-10-15 Tom Tromey <tromey@redhat.com>
9465 Dodji Seketeli <dodji@redhat.com>
9466
9467 * c.opt (fdebug-cpp): New option.
9468 * c-opts.c (c_common_handle_option): Handle the option.
9469 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
9470 output stream in parameter. Factorized from ...
9471 (maybe_print_line): ... this. Dump location debug information when
9472 -fdebug-cpp is in effect.
9473 (print_line_1): New static function. Takes an output stream in
9474 parameter. Factorized from ...
9475 (print_line): ... here. Dump location information when -fdebug-cpp
9476 is in effect.
9477 (scan_translation_unit): Dump location information when
9478 -fdebug-cpp is in effect.
9479
9480 2011-10-15 Tom Tromey <tromey@redhat.com>
9481 Dodji Seketeli <dodji@redhat.com>
9482
9483 * c.opt (ftrack-macro-expansion): New option. Handle it with and
9484 without argument.
9485 * c-opts.c (c_common_handle_option)<case
9486 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
9487 cases. Handle -ftrack-macro-expansion with and without argument.
9488
9489 2011-10-15 Tom Tromey <tromey@redhat.com>
9490 Dodji Seketeli <dodji@redhat.com>
9491
9492 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
9493 (print_line, cb_define, do_line_change): Adjust to avoid touching
9494 the internals of struct line_map. Use the public API instead.
9495 * c-pch.c (c_common_read_pch): Likewise.
9496 * c-lex.c (fe_file_change): Likewise.
9497
9498 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
9499
9500 PR c++/17212
9501 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
9502
9503 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
9504
9505 PR c++/33067
9506 * c-pretty-print.c (pp_c_floating_constant): Output
9507 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
9508
9509 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
9510
9511 * c-common.c (def_builtin_1): Delete old interface with two
9512 parallel arrays to hold standard builtin declarations, and replace
9513 it with a function based interface that can support creating
9514 builtins on the fly in the future. Change all uses, and poison
9515 the old names. Make sure 0 is not a legitimate builtin index.
9516 * c-omp.c (c_finish_omp_barrier): Ditto.
9517 (c_finish_omp_taskwait): Ditto.
9518 (c_finish_omp_flush): Ditto.
9519
9520 2011-10-11 Tristan Gingold <gingold@adacore.com>
9521
9522 * c.opt: (fallow-parameterless-variadic-functions): New.
9523
9524 2011-09-08 Dodji Seketeli <dodji@redhat.com>
9525
9526 PR c++/33255 - Support -Wunused-local-typedefs warning
9527 * c-common.h (struct c_language_function::local_typedefs): New
9528 field.
9529 (record_locally_defined_typedef, maybe_record_typedef_use)
9530 (maybe_warn_unused_local_typedefs): Declare new functions.
9531 * c-common.c (record_locally_defined_typedef)
9532 (maybe_record_typedef_use)
9533 (maybe_warn_unused_local_typedefs): Define new functions.
9534 * c.opt: Declare new -Wunused-local-typedefs flag.
9535
9536 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
9537
9538 PR middle-end/50266
9539 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
9540 computations.
9541
9542 2011-09-05 Richard Guenther <rguenther@suse.de>
9543
9544 * c-common.c (complete_array_type): Use ssize_int (-1) instead
9545 of integer_minus_one_node for empty array upper bounds.
9546
9547 2011-08-28 Dodji Seketeli <dodji@redhat.com>
9548
9549 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
9550 it's the first time it's being called on this main TU.
9551
9552 2011-08-24 Richard Guenther <rguenther@suse.de>
9553
9554 PR c/49396
9555 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
9556
9557 2011-08-22 Gabriel Charette <gchare@google.com>
9558
9559 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
9560 defined in cpp_init_builtins and c_cpp_builtins.
9561
9562 2011-08-19 Joseph Myers <joseph@codesourcery.com>
9563
9564 * c-common.c (c_common_reswords): Add __builtin_complex.
9565 * c-common.h (RID_BUILTIN_COMPLEX): New.
9566
9567 2011-08-18 Joseph Myers <joseph@codesourcery.com>
9568
9569 * c-common.c (c_common_reswords): Add _Noreturn.
9570 (keyword_is_function_specifier): Handle RID_NORETURN.
9571 * c-common.h (RID_NORETURN): New.
9572
9573 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
9574
9575 * c-common.c (unsafe_conversion_p): New function. Check if it is
9576 unsafe to convert an expression to the type.
9577 (conversion_warning): Adjust, use unsafe_conversion_p.
9578 * c-common.h (unsafe_conversion_p): New function declaration.
9579
9580 2011-08-02 Jakub Jelinek <jakub@redhat.com>
9581
9582 * c-common.h (c_finish_omp_atomic): Adjust prototype.
9583 (c_finish_omp_taskyield): New prototype.
9584 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
9585 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
9586 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
9587 or RHS1 have side-effects, evaluate those too in the right spot,
9588 if it is a decl and LHS is also a decl, error out if they
9589 aren't the same.
9590 (c_finish_omp_taskyield): New function.
9591 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
9592 * c-pragma.c (omp_pragmas): Add taskyield.
9593 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
9594 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
9595 PRAGMA_OMP_CLAUSE_MERGEABLE.
9596
9597 2011-07-25 Dodji Seketeli <dodji@redhat.com>
9598
9599 * c-common.h (set_underlying_type): Remove parm name from
9600 declaration.
9601
9602 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
9603
9604 * c-pretty-print.h: Search c-common.h in c-family.
9605
9606 2011-07-22 Jason Merrill <jason@redhat.com>
9607
9608 PR c++/49793
9609 * c.opt (Wnarrowing): New.
9610
9611 PR c++/30112
9612 * c-common.h: Declare c_linkage_bindings.
9613 * c-pragma.c (handle_pragma_redefine_extname): Use it.
9614
9615 PR c++/49813
9616 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
9617 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
9618 as flag_isoc99 for 'restrict'.
9619 (pp_c_specifier_qualifier_list): Likewise for _Complex.
9620
9621 2011-07-21 Ian Lance Taylor <iant@google.com>
9622
9623 PR middle-end/49705
9624 * c-common.c (c_disable_warnings): New static function.
9625 (c_enable_warnings): New static function.
9626 (c_fully_fold_internal): Change local unused_p to bool. Call
9627 c_disable_warnings and c_enable_warnings rather than change
9628 c_inhibit_evaluation_warnings.
9629
9630 2011-07-20 Jason Merrill <jason@redhat.com>
9631
9632 PR c++/6709 (DR 743)
9633 PR c++/42603 (DR 950)
9634 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
9635 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
9636 (CPP_DECLTYPE): New.
9637 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
9638
9639 2011-07-19 Richard Guenther <rguenther@suse.de>
9640
9641 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
9642 * c-omp.c (c_finish_omp_for): Likewise.
9643
9644 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
9645
9646 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
9647 body on the next line.
9648
9649 2011-07-08 Jason Merrill <jason@redhat.com>
9650
9651 PR c++/45437
9652 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
9653
9654 PR c++/49673
9655 * c-common.c (c_apply_type_quals_to_decl): Don't check
9656 TYPE_NEEDS_CONSTRUCTING.
9657
9658 2011-07-06 Richard Guenther <rguenther@suse.de>
9659
9660 * c-common.c (c_common_nodes_and_builtins):
9661 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
9662
9663 2011-07-05 Richard Guenther <rguenther@suse.de>
9664
9665 * c-common.c (c_common_nodes_and_builtins): Build all common
9666 tree nodes first.
9667
9668 2011-06-27 Jakub Jelinek <jakub@redhat.com>
9669
9670 * c-common.h (c_tree_chain_next): New static inline function.
9671
9672 * c-common.c (check_builtin_function_arguments): Handle
9673 BUILT_IN_ASSUME_ALIGNED.
9674
9675 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
9676
9677 * c-common.c: Add sync_ or SYNC__ to builtin names.
9678 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9679
9680 2011-06-20 Pierre Vittet <piervit@pvittet.com>
9681
9682 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
9683 handler.
9684 (gen_pragma_handler): New union.
9685 (internal_pragma_handler): New type.
9686 (c_register_pragma_with_data)
9687 (c_register_pragma_with_expansion_and_data): New functions.
9688
9689 * c-pragma.c (registered_pragmas, c_register_pragma_1)
9690 (c_register_pragma, c_register_pragma_with_expansion)
9691 (c_invoke_pragma_handler): Changed to work with
9692 internal_pragma_handler.
9693 (c_register_pragma_with_data)
9694 (c_register_pragma_with_expansion_and_data): New functions.
9695
9696 2011-06-14 Joseph Myers <joseph@codesourcery.com>
9697
9698 * c-common.c: Include common/common-target.h.
9699 (handle_section_attribute): Use
9700 targetm_common.have_named_sections.
9701 * c-cppbuiltin.c: Include common/common-target.h.
9702 (c_cpp_builtins): Use targetm_common.except_unwind_info.
9703
9704 2011-06-10 Richard Guenther <rguenther@suse.de>
9705
9706 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
9707 to print a IDENTIFIER_NODE.
9708
9709 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9710 Joseph Myers <joseph@codesourcery.com>
9711
9712 * c.opt (fbuilding-libgcc): New option.
9713 * c-cppbuiltin.c (c_cpp_builtins): Define
9714 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
9715
9716 2011-06-07 Jason Merrill <jason@redhat.com>
9717
9718 * c-common.c (max_tinst_depth): Lower default to 900.
9719
9720 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
9721
9722 2011-06-07 Richard Guenther <rguenther@suse.de>
9723
9724 * c-common.c (c_common_nodes_and_builtins): Do not set
9725 size_type_node or call set_sizetype.
9726
9727 2011-06-07 Dodji Seketeli <dodji@redhat.com>
9728
9729 PR debug/49130
9730 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9731 type when using pointer comparison to compare types.
9732
9733 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
9734
9735 * c.opt: Add -Wdelete-non-virtual-dtor.
9736 * c-opts.c (c_common_handle_option): Include it in -Wall.
9737
9738 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
9739
9740 PR bootstrap/49190
9741
9742 Revert:
9743 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9744
9745 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9746 not tree_common.
9747
9748 2011-05-27 Jakub Jelinek <jakub@redhat.com>
9749
9750 PR c++/49165
9751 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
9752 C++ don't call c_common_truthvalue_conversion on void type arms.
9753
9754 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
9755
9756 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
9757 (stmt_list_stack): Define.
9758 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
9759 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
9760
9761 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9762
9763 * c-common.c (warning_candidate_p): Check for BLOCKs.
9764
9765 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9766
9767 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9768 not tree_common.
9769
9770 2011-05-25 Jakub Jelinek <jakub@redhat.com>
9771
9772 * c-common.c (def_fn_type): Remove extra va_end.
9773
9774 2011-05-23 Jason Merrill <jason@redhat.com>
9775
9776 PR c++/48106
9777 * c-common.c (c_common_get_narrower): New.
9778 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
9779
9780 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
9781
9782 * c-common.h (check_function_arguments): Tweak prototype of
9783 check_function_arguments.
9784 * c-common.c (check_function_arguments): Likewise. Adjust
9785 calls to check_function_nonnull, check_function_format, and
9786 check_function_sentinel.
9787 (check_function_sentinel): Take a FUNCTION_TYPE rather than
9788 separate attributes and typelist arguments. Use
9789 FOREACH_FUNCTION_ARGS to iterate over argument types.
9790
9791 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9792
9793 * c-common.c (c_common_reswords): Reorder.
9794 * c-common.h (rid): Likewise.
9795
9796 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
9797
9798 * c-common.c (def_fn_type): Don't call build_function_type, call
9799 build_function_type_array or build_varargs_function_type_array
9800 instead.
9801 (c_common_nodes_and_builtins): Likewise.
9802
9803 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9804
9805 * c-common.c (c_add_case_label): Omit the loc argument to
9806 build_case_label.
9807 * c-common.h (build_case_label): Remove.
9808 * c-semantics.c (build_case_label): Remove.
9809
9810 2011-05-05 Joseph Myers <joseph@codesourcery.com>
9811
9812 * c-objc.h (objc_start_method_definition): Update prototype.
9813 * stub-objc.c (objc_start_method_definition): Add extra parameter.
9814
9815 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
9816
9817 * c-common.c (check_main_parameter_types): Reindent. Don't use
9818 TYPE_ARG_TYPES directly.
9819 (handle_nonnull_attribute): Likewise.
9820 (sync_resolve_params): Likewise.
9821 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
9822 to check_format_string.
9823 (handle_format_attribute): Likewise.
9824 (check_format_string): Take a function type to examine instead of
9825 a type list. Use a function_arg_iterator to step through argument
9826 types.
9827
9828 2011-05-04 Richard Guenther <rguenther@suse.de>
9829
9830 * c-common.c (fix_string_type): Use size_int for index type bounds.
9831 (start_fname_decls): Do not pass NULL to build_int_cst.
9832 (c_init_attributes): Likewise.
9833 * c-lex.c (c_lex_with_flags): Likewise.
9834
9835 2011-04-27 Jason Merrill <jason@redhat.com>
9836
9837 * c-common.c (make_tree_vector_from_list): New.
9838 * c-common.h: Declare it.
9839
9840 2011-04-26 Richard Guenther <rguenther@suse.de>
9841
9842 PR preprocessor/48248
9843 * c-ppoutput.c (maybe_print_line): Always optimize newlines
9844 for output size with -P.
9845
9846 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
9847
9848 * c-common.c (struct c_common_resword): Add __underlying_type.
9849 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
9850
9851 2011-04-20 Jim Meyering <meyering@redhat.com>
9852
9853 * c-format.c (init_dollar_format_checking): Remove useless
9854 if-before-free.
9855
9856 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
9857
9858 * c-objc.h (objc_get_interface_ivars): Removed.
9859 (objc_detect_field_duplicates): New.
9860 * stub-objc.c: Likewise.
9861
9862 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9863
9864 * stub-objc.c (objc_declare_protocols): Renamed to
9865 objc_declare_protocol.
9866 * c-objc.h: Likewise.
9867
9868 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9869
9870 * stub-objc.c (objc_declare_class): Updated argument name.
9871
9872 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
9873
9874 * c-common.h (c_common_init_ts): Declare.
9875 * c-common.c (c_common_init_ts): Define.
9876
9877 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
9878
9879 * c-objc.h (objc_build_message_expr): Updated prototype.
9880 * stub-objc.c (objc_build_message_expr): Likewise.
9881
9882 2011-04-12 Martin Jambor <mjambor@suse.cz>
9883
9884 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
9885 of cgraph_node.
9886
9887 2011-04-11 Richard Guenther <rguenther@suse.de>
9888
9889 * c-common.c (complete_array_type): Build a range type of
9890 proper type.
9891
9892 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9893
9894 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9895 (handle_type_generic_attribute): Likewise.
9896
9897 2011-04-07 Jason Merrill <jason@redhat.com>
9898
9899 PR c++/48450
9900 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9901 conversion from C++0x scoped enum.
9902
9903 2011-04-06 Joseph Myers <joseph@codesourcery.com>
9904
9905 * c-target-def.h: New file.
9906 * c-target.def: New file.
9907 * c-target.h: New file.
9908 * c-common.c (targetcm): Don't define here.
9909 * c-common.h (default_handle_c_option): Declare.
9910 * c-format.c: Include c-target.h instead of target.h.
9911 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9912 include tm.h.
9913 (default_handle_c_option): Move from targhooks.c.
9914
9915 2011-03-29 Jakub Jelinek <jakub@redhat.com>
9916
9917 PR preprocessor/48248
9918 * c-ppoutput.c (print): Add src_file field.
9919 (init_pp_output): Initialize it.
9920 (maybe_print_line): Don't optimize by adding up to 8 newlines
9921 if map->to_file and print.src_file are different file.
9922 (print_line): Update print.src_file.
9923
9924 2011-03-25 Kai Tietz <ktietz@redhat.com>
9925
9926 * c-ada-spec.c (compare_comment): Use filename_cmp
9927 instead of strcmp for filename.
9928
9929 2011-03-25 Jeff Law <law@redhat.com>
9930
9931 * c-common.c (def_fn_type): Add missing va_end.
9932
9933 2011-03-25 Jason Merrill <jason@redhat.com>
9934
9935 * c.opt: Add -std=c++03.
9936
9937 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9938
9939 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9940
9941 2011-03-17 Kai Tietz <ktietz@redhat.com>
9942
9943 PR target/12171
9944 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9945 Display allowed attributes for function pointer types.
9946 (pp_c_attributes_display): New function to display
9947 attributes having affects_type_identity flag set to true.
9948 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9949
9950 * c-common.c (c_common_attribute_table):
9951 Add new element.
9952 (c_common_format_attribute_table): Likewise.
9953
9954 2011-03-18 Jason Merrill <jason@redhat.com>
9955
9956 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9957 * c-common.h: Don't declare it here.
9958 * c-common.c: Or define it here.
9959 * c-opts.c (c_common_handle_option): Or set it here.
9960
9961 PR c++/35315
9962 * c-common.c (handle_transparent_union_attribute): Don't
9963 make a duplicate type in C++.
9964
9965 2011-03-15 Jason Merrill <jason@redhat.com>
9966
9967 * c-common.c (max_constexpr_depth): New.
9968 * c-common.h: Declare it.
9969 * c-opts.c (c_common_handle_option): Set it.
9970 * c.opt (fconstexpr-depth): New option.
9971
9972 2011-03-11 Jason Merrill <jason@redhat.com>
9973
9974 * c-common.c (attribute_takes_identifier_p): Add missing const.
9975
9976 PR c++/46803
9977 * c-common.c (attribute_takes_identifier_p): Assume that an
9978 unknown attribute takes an identifier.
9979
9980 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9981
9982 PR c/47786
9983 * c-common.c (c_type_hash): Call list_length instead of iterating
9984 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9985
9986 2011-02-19 Jakub Jelinek <jakub@redhat.com>
9987
9988 PR c/47809
9989 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9990
9991 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9992
9993 * c.opt (fobjc-abi-version=) New.
9994 (fobjc-nilcheck): New.
9995
9996 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9997
9998 PR c++/46890
9999 * c-common.h (keyword_is_decl_specifier): Declare.
10000 * c-common.c (keyword_is_decl_specifier): Define.
10001 (keyword_is_function_specifier): New function.
10002
10003 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10004
10005 PR c/47473
10006 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
10007 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
10008 REAL_TYPE.
10009
10010 2011-01-26 Arnaud Charlet <charlet@adacore.com>
10011
10012 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
10013
10014 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10015
10016 PR pch/47430
10017 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
10018 after init_c_lex if pch_file is set.
10019
10020 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
10021
10022 PR c++/43601
10023 * c.opt (-fkeep-inline-dllexport): New switch.
10024
10025 2011-01-12 Richard Guenther <rguenther@suse.de>
10026
10027 PR middle-end/32511
10028 * c-common.c (handle_weak_attribute): Warn instead of error
10029 on declaring an inline function weak.
10030
10031 2011-01-05 Tom Tromey <tromey@redhat.com>
10032
10033 * c-common.h (lvalue_error): Update.
10034 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
10035 not error.
10036
10037 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
10038
10039 PR objc/47075
10040 * c-objc.h (objc_finish_message_expr): Added argument to
10041 prototype.
10042
10043 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
10044
10045 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
10046 Use prototype_p.
10047
10048 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
10049
10050 * c-objc.h (objc_maybe_warn_exceptions): New.
10051 * stub-objc.c (objc_maybe_warn_exceptions): New.
10052
10053 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
10054
10055 * c-common.h (readonly_error): Declare.
10056 * c-common.c (readonly_error): Define.
10057
10058 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
10059
10060 * c-common.h (invalid_indirection_error): Declare.
10061 * c-common.c (invalid_indirection_error): Define.
10062
10063 2010-12-03 Richard Guenther <rguenther@suse.de>
10064
10065 PR c/46745
10066 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
10067 (pp_c_unary_expression): Likewise.
10068 (pp_c_expression): Likewise.
10069
10070 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
10071
10072 * c-common.h (objc_finish_function): New.
10073 (objc_non_volatilized_type): Removed.
10074 (objc_type_quals_match): Removed.
10075 * stub-objc.c (objc_finish_function): New.
10076 (objc_non_volatilized_type): Removed.
10077 (objc_type_quals_match): Removed.
10078
10079 2010-11-30 Joseph Myers <joseph@codesourcery.com>
10080
10081 * c-common.h (parse_optimize_options): Declare.
10082 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
10083 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
10084
10085 2010-11-29 Joseph Myers <joseph@codesourcery.com>
10086
10087 * c-opts.c (check_deps_environment_vars): Use getenv instead of
10088 GET_ENVIRONMENT.
10089 * c-pch.c (O_BINARY): Don't define here.
10090 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
10091
10092 2010-11-25 Joseph Myers <joseph@codesourcery.com>
10093
10094 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
10095 targetm.except_unwind_info.
10096
10097 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10098
10099 * c-opts.c (c_common_handle_option): Pass location to
10100 set_struct_debug_option.
10101
10102 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10103
10104 * c-common.c (visibility_options): Move from ../opts.c.
10105 * c-common.h (struct visibility_flags, visibility_options):
10106 Declare here.
10107 * c-opts.c (finish_options): Rename to c_finish_options.
10108 (c_common_init): Update call to finish_options.
10109
10110 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
10111
10112 PR objc/34033
10113 * c-lex.c (lex_string): Check that each string in an Objective-C
10114 string concat sequence starts with either one or zero '@', and
10115 that there are no spurious '@' signs at the end.
10116
10117 2010-11-20 Joseph Myers <joseph@codesourcery.com>
10118
10119 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
10120 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
10121 HANDLE_PRAGMA_VISIBILITY.
10122 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
10123 HANDLE_PRAGMA_VISIBILITY): Don't define.
10124 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
10125
10126 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
10127
10128 PR c++/16189
10129 PR c++/36888
10130 PR c++/45331
10131 * c-common.h (keyword_begins_type_specifier): Declare.
10132 (keyword_is_storage_class_specifier): Declare.
10133 (keyword_is_type_qualifier): Declare.
10134 * c-common.c (keyword_begins_type_specifier): New function.
10135 (keyword_is_storage_class_specifier): New function.
10136 (keyword_is_type_qualifier): Declare.
10137
10138 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10139
10140 PR c/46547
10141 * c-common.c (in_late_binary_op): Define.
10142 (c_common_truthvalue_conversion): Check in_late_binary_op before
10143 calling c_save_expr.
10144 * c-common.h (in_late_binary_op): Declare.
10145
10146 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10147
10148 * c-opts.c (c_common_handle_option): Update calls to
10149 set_struct_debug_option.
10150
10151 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
10152
10153 * c-common.h (objc_declare_protocols): Added additional argument.
10154 * stub-objc.c (objc_declare_protocol): Same change.
10155
10156 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
10157
10158 PR c/33193
10159 * c-common.h (build_real_imag_expr): Declare.
10160 * c-semantics.c (build_real_imag_expr): Define.
10161
10162 2010-11-17 Joseph Myers <joseph@codesourcery.com>
10163
10164 * c-opts.c (c_common_parse_file): Take no arguments.
10165 * c-common.h (c_common_parse_file): Update prototype.
10166
10167 2010-11-16 Jakub Jelinek <jakub@redhat.com>
10168
10169 PR c++/46401
10170 * c-common.c (warning_candidate_p): Don't track non-const calls
10171 or STRING_CSTs.
10172
10173 2010-11-15 Ian Lance Taylor <iant@google.com>
10174
10175 * c-lex.c (init_c_lex): Set macro debug callbacks if
10176 flag_dump_go_spec is set.
10177
10178 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
10179
10180 * c-common.h (objc_build_incr_expr_for_property_ref): New.
10181 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
10182
10183 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
10184
10185 PR preprocessor/45038
10186 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
10187 dialects.
10188
10189 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10190
10191 * c-common.h (c_family_lang_mask): Declare.
10192 * c-opts.c (c_family_lang_mask): Make extern.
10193 * c-pragma.c (handle_pragma_diagnostic): Use
10194 control_warning_option.
10195
10196 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10197
10198 * c-common.c (parse_optimize_options): Update call to
10199 decode_options.
10200 * c-common.h (c_common_handle_option): Update prototype.
10201 * c-opts.c (c_common_handle_option): Take location_t parameter and
10202 pass it to other functions.
10203
10204 2010-11-11 Joseph Myers <joseph@codesourcery.com>
10205
10206 * c-opts.c (warning_as_error_callback): Remove.
10207 (c_common_initialize_diagnostics): Don't call
10208 register_warning_as_error_callback.
10209 (c_common_handle_option): Handle -Werror=normalized= here.
10210
10211 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10212
10213 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
10214 in diagnostic.
10215 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
10216 letter.
10217 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
10218 Remove trailing '.' from diagnostics.
10219 * c.opt (Wwrite-strings_: Avoid '`' in help text.
10220
10221 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10222
10223 * c-common.c (parse_optimize_options): Pass global_dc to
10224 decode_options.
10225 * c-opts.c (c_common_handle_option): Pass &global_options to
10226 set_Wstrict_aliasing.
10227 * c.opt (v): Don't mark Common or document here.
10228
10229 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
10230
10231 PR target/44981
10232 * c-format.c (format_type): New type gcc_objc_string_format_type.
10233 (valid_stringptr_type_p): New.
10234 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
10235 (check_format_string): Pass expected type, use
10236 valid_stringptr_type_p (), check that the format string types are
10237 consistent with the format specification.
10238 (decode_format_attr): Warn if NSString is used outside objective-c.
10239 (format_types_orig): Add NSString.
10240 (format_name): New.
10241 (format_flags): New.
10242 (check_format_arg): Handle format strings requiring an external parser.
10243 first_target_format_type: New variable.
10244 (handle_format_attribute): Set up first_target_format_type, pass the
10245 expected format arg string type to check_format_string().
10246 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
10247 * stub-objc.c (objc_string_ref_type_p): New.
10248 (objc_check_format_arg): New.
10249
10250 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10251
10252 Fixed using the Objective-C 2.0 dot-syntax with class names.
10253 * c-common.h (objc_build_class_component_ref): New.
10254 * stub-objc.c (objc_build_class_component_ref): New.
10255
10256 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10257
10258 * c.opt (Wproperty-assign-default): New option.
10259
10260 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10261
10262 Implemented -fobjc-std=objc1 flag.
10263 * c.opt (fobjc-std=objc1): New option.
10264
10265 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10266
10267 Implemented format and noreturn attributes for Objective-C methods.
10268 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10269 attribute for Objective-C methods.
10270
10271 2010-10-31 Jason Merrill <jason@redhat.com>
10272
10273 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10274 EXPR_LOC_OR_HERE.
10275
10276 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10277
10278 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10279 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10280 (objc_add_property_declaration): Removed arguments for copies and
10281 ivar.
10282 (objc_build_getter_call): Renamed to
10283 objc_maybe_build_component_ref.
10284 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10285 (objc_is_property_ref): New.
10286 * c-common.c (c_common_reswords): Removed copies and ivar.
10287 * stub-objc.c (objc_add_property_declaration): Removed arguments
10288 for copies and ivar.
10289 (objc_build_getter_call): Renamed to
10290 objc_maybe_build_component_ref.
10291 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10292 (objc_is_property_ref): New.
10293
10294 2010-10-29 Arnaud Charlet <charlet@adacore.com>
10295 Matthew Gingell <gingell@adacore.com>
10296
10297 * c-ada-spec.c (separate_class_package): New function.
10298 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10299 name of their enclosing package.
10300 (print_ada_declaration): Use separate_class_package.
10301
10302 2010-10-27 Jason Merrill <jason@redhat.com>
10303
10304 * c-common.c (c_common_reswords): Add __is_literal_type.
10305 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10306
10307 * c-common.c (check_case_value): Remove special C++ code.
10308
10309 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10310
10311 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10312 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10313 and RID_LAST_PATTR.
10314 (objc_add_property_declaration): Added additional arguments.
10315 (objc_property_attribute_kind): Removed.
10316 (objc_set_property_attr): Removed.
10317 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10318 copy and nonatomic.
10319 * stub-objc.c (objc_add_property_declaration): Added additional
10320 arguments.
10321 (objc_set_property_attr): Removed.
10322
10323 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10324
10325 * c-common.h (objc_add_property_variable): Renamed to
10326 objc_add_property_declaration. Added location argument.
10327 * stub-objc.c (objc_add_property_variable): Same change.
10328
10329 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10330
10331 * c-common.h (objc_maybe_printable_name): New.
10332 * stub-objc.c (objc_maybe_printable_name): New.
10333
10334 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10335 Andrew Pinski <pinskia@gmail.com>
10336
10337 * c-common.h (c_common_mark_addressable_vec): Declare.
10338 * c-common.c (c_common_mark_addressable_vec): New function.
10339
10340 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10341
10342 * c-common.h (objc_set_method_type): Removed.
10343 (objc_add_method_declaration): Added boolean argument.
10344 (objc_start_method_definition): Same change.
10345 (objc_build_method_signature): Same change.
10346 * stub-objc.c (objc_set_method_type): Removed.
10347 (objc_add_method_declaration): Added boolean argument.
10348 (objc_start_method_definition): Same change.
10349 (objc_build_method_signature): Same change.
10350
10351 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10352
10353 * c-common.h (finish_file): Removed.
10354 (objc_write_global_declarations): New.
10355 * c-opts.c (c_common_parse_file): Do not call finish_file.
10356 * stub-objc.c (objc_write_global_declarations): New.
10357
10358 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10359
10360 Implemented parsing @synthesize and @dynamic for
10361 Objective-C/Objective-C++.
10362 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
10363 (objc_add_synthesize_declaration): New.
10364 (objc_add_dynamic_declaration): New.
10365 * c-common.c (c_common_reswords): Add synthesize and dynamic.
10366 * stub-objc.c (objc_add_synthesize_declaration): New.
10367 (objc_add_dynamic_declaration): New.
10368
10369 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10370
10371 PR target/46041
10372 * c-cppbuiltin.c (mode_has_fma): Move function here from
10373 builtins.c. Don't use the fma optab, instead just use the
10374 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
10375 using -save-temps.
10376
10377 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10378
10379 Merge from 'apple/trunk' branch on FSF servers.
10380
10381 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
10382
10383 Radar 4330422
10384 * c-common.h (objc_non_volatilized_type): New declaration
10385 * stub-objc.c (objc_non_volatilized_type): New stub.
10386
10387 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
10388
10389 Merge from 'apple/trunk' branch on FSF servers.
10390
10391 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
10392
10393 Radar 4133425
10394 * c-common.h (objc_diagnose_private_ivar): New decl.
10395 * stub-objc.c (objc_diagnose_private_ivar): New stub.
10396
10397 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
10398
10399 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
10400 * c-common.h (enum rid): Add RID_AT_PACKAGE.
10401 (objc_ivar_visibility_kind): New enum.
10402 (objc_set_visibility): Adjust prototype to use visibility enum.
10403 * stub-objc.c (objc_set_visibility): Adjust stub to use
10404 visibility enum.
10405
10406 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10407
10408 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10409 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10410 has the appropriate fma builtins.
10411 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10412
10413 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10414
10415 merge from FSF apple 'trunk' branch.
10416 2006 Fariborz Jahanian <fjahanian@apple.com>
10417
10418 Radars 4436866, 4505126, 4506903, 4517826
10419 * c-common.c (c_common_resword): Define @property and its attributes.
10420 * c-common.h: Define property attribute enum entries.
10421 (OBJC_IS_PATTR_KEYWORD): New.
10422 (objc_property_attribute_kind): New enum.
10423 Declare objc_set_property_attr (), objc_add_property_variable (),
10424 objc_build_getter_call () and objc_build_setter_call ().
10425 * stub-objc.c (objc_set_property_attr): New stub.
10426 (objc_add_property_variable): Likewise.
10427 (objc_build_getter_call): Likewise.
10428 (objc_build_setter_call) Likewise.
10429
10430 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10431
10432 merge from FSF apple 'trunk' branch.
10433 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
10434
10435 Radar 3803157 (method attributes)
10436 * c-common.c (handle_deprecated_attribute): Recognize
10437 objc methods as valid declarations.
10438 * c-common.h: Declare objc_method_decl ().
10439 * stub-objc.c (objc_method_decl): New stub.
10440
10441 2010-10-08 Joseph Myers <joseph@codesourcery.com>
10442
10443 * c-common.c (parse_optimize_options): Call
10444 decode_cmdline_options_to_array_default_mask before
10445 decode_options. Update arguments to decode_options.
10446 * c-common.h (c_common_init_options_struct): Declare.
10447 * c-opts.c (c_common_init_options_struct): New. Split out from
10448 c_common_init_options.
10449
10450 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10451
10452 Implemented fast enumeration for Objective-C.
10453 * c-common.h (objc_finish_foreach_loop): New.
10454 * stub-objc.c (objc_finish_foreach_loop): New.
10455
10456 2010-10-05 Joseph Myers <joseph@codesourcery.com>
10457
10458 * c-common.h (struct diagnostic_context): Don't declare here.
10459 (c_common_initialize_diagnostics): Declare using
10460 diagnostic_context typedef.
10461 * c-opts.c (c_common_handle_option): Pass global_dc to
10462 handle_generated_option.
10463
10464 2010-10-04 Joseph Myers <joseph@codesourcery.com>
10465
10466 * c-opts.c (c_common_handle_option): Pass &global_options_set to
10467 handle_generated_option.
10468
10469 2010-10-03 Ian Lance Taylor <iant@google.com>
10470
10471 * c.opt (-fplan9-extensions): New option.
10472
10473 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10474
10475 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
10476 Remove.
10477 (c_cpp_builtins): Call functions from cppbuiltin.c instead
10478 of duplicating code.
10479
10480 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
10481
10482 * c-common.c: Add two new entries for @optional
10483 and @required keywords.
10484
10485 merge from FSF 'apple/trunk' branch.
10486 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
10487
10488 Radar 4386773
10489 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
10490 objective-c keywords.
10491 (objc_set_method_opt): New declaration.
10492 * stub-objc.c (objc_set_method_opt): New stub.
10493
10494 2010-09-30 Joseph Myers <joseph@codesourcery.com>
10495
10496 * c-common.c (handle_optimize_attribute): Pass &global_options to
10497 cl_optimization_save and cl_optimization_restore.
10498 * c-opts.c (c_common_handle_option): Pass &global_options to
10499 handle_generated_option.
10500 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
10501 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
10502 &global_options to cl_optimization_restore.
10503
10504 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
10505
10506 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
10507 Objective-C/Objective-C++ keywords.
10508
10509 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10510
10511 Merge from 'apple/trunk' branch on FSF servers.
10512
10513 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
10514
10515 Radar 4281748
10516 * c-common.h (objc_check_global_decl): New declaration.
10517 * stub-objc.c (objc_check_global_decl): New stub.
10518
10519 2010-09-29 Joseph Myers <joseph@codesourcery.com>
10520
10521 * c.opt: Don't use VarExists.
10522
10523 2010-09-29 Joseph Myers <joseph@codesourcery.com>
10524
10525 * c-common.c (c_cpp_error): Update names of diagnostic_context
10526 members.
10527 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
10528 cl_optimization members.
10529 * c-opts.c (warning_as_error_callback, c_common_handle_option,
10530 sanitize_cpp_opts, finish_options): Update names of cpp_options
10531 members.
10532
10533 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10534
10535 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
10536 (objc_is_reserved_word): Removed.
10537 * c-common.c: Updated comments.
10538 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
10539 objc_is_reserved_word.
10540 * stub-objc.c (objc_is_reserved_word): Removed.
10541
10542 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10543
10544 * c-common.h (objc_add_method_declaration): Adjust prototype to
10545 include attributes.
10546 (objc_start_method_definition): Likewise.
10547 (objc_build_keyword_decl): Likewise.
10548 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
10549 (objc_start_method_definition): Likewise.
10550 (objc_build_keyword_decl): Likewise.
10551
10552 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10553
10554 * c-common.h (objc_start_class_interface): Adjust prototype.
10555 (objc_start_category_interface): Likewise.
10556 (objc_start_protocol): Likewise.
10557 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
10558 (objc_start_class_interface): Likewise.
10559 (objc_start_category_interface): Likewise.
10560
10561 2010-09-27 Ian Lance Taylor <iant@google.com>
10562
10563 * c-common.c (c_common_attribute_table): Add no_split_stack.
10564 (handle_no_split_stack_attribute): New static function.
10565
10566 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
10567
10568 Merge from 'apple/trunk' branch on FSF servers.
10569
10570 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
10571
10572 Radar 4229905
10573 * c-common.h (objc_have_common_type): New declaration.
10574 * stub-objc.c (objc_have_common_type): New stub.
10575
10576 2005-06-22 Ziemowit Laski <zlaski@apple.com>
10577
10578 Radar 4154928
10579 * c-common.h (objc_common_type): New prototype.
10580 * stub-objc.c (objc_common_type): New stub.
10581
10582 2010-09-24 Jan Hubicka <jh@suse.cz>
10583
10584 * c-common.c (handle_leaf_attribute): New function.
10585 (struct attribute_spec c_common_att): Add leaf.
10586
10587 2010-09-22 Joseph Myers <joseph@codesourcery.com>
10588
10589 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
10590 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
10591 -dump, -dump=, -imacros, -imacros=, -include, -include=,
10592 -include-barrier, -include-directory, -include-directory=,
10593 -include-directory-after, -include-directory-after=,
10594 -include-prefix, -include-prefix=, -include-with-prefix,
10595 -include-with-prefix=, -include-with-prefix-after,
10596 -include-with-prefix-after=, -include-with-prefix-before,
10597 -include-with-prefix-before=, -no-integrated-cpp,
10598 -no-line-commands, -no-standard-includes, -no-warnings, -output,
10599 -output=, -pedantic, -pedantic-errors, -preprocess,
10600 -print-missing-file-dependencies, -trace-includes, -traditional,
10601 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
10602 -user-dependencies, -verbose, -write-dependencies,
10603 -write-user-dependencies, no-integrated-cpp, traditional): New.
10604
10605 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10606
10607 PR objc/23710
10608 * c-common.h (objc_start_method_definition): Return bool instead
10609 of void.
10610 * stub-objc.c (objc_start_method_definition): Return bool instead
10611 of void.
10612
10613 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10614
10615 PR objc/25965
10616 * c-common.h (objc_get_interface_ivars): New declaration.
10617 * stub-objc.c (objc_get_interface_ivars): New stub.
10618
10619 2010-09-15 Ian Lance Taylor <iant@google.com>
10620
10621 * c-common.c (parse_optimize_options): Do not capitalize warning
10622 messages. Remove period at end of warning message.
10623
10624 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
10625
10626 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
10627 (handle_alias_attribute): ... here.
10628 (handle_ifunc_attribute): New.
10629
10630 2010-09-06 Mark Mitchell <mark@codesourcery.com>
10631
10632 * c-common.h (do_warn_double_promotion): Declare.
10633 * c-common.c (do_warn_double_promotion): Define.
10634
10635 2010-09-05 Mark Mitchell <mark@codesourcery.com>
10636
10637 * c.opt (Wdouble-promotion): New.
10638
10639 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10640
10641 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
10642 fvtable-thunks, fxref): Mark no longer supported in help text.
10643
10644 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10645
10646 * c.opt (Wimport, fall-virtual, falt-external-templates,
10647 fdefault-inline, fenum-int-equiv, fexternal-templates,
10648 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
10649 fname-mangling-version-, fnew-abi, fnonnull-objects,
10650 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
10651 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
10652 applicable.
10653 (fhandle-exceptions): Mark with Alias and Warn.
10654 * c-opts.c (c_common_handle_option): Don't handle options marked
10655 as ignored.
10656
10657 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10658
10659 * c.opt (Wcomments, Werror-implicit-function-declaration,
10660 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
10661 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
10662 aliases.
10663 * c-common.c (option_codes): Use OPT_Wcomment instead of
10664 OPT_Wcomments.
10665 * c-opts.c (warning_as_error_callback, c_common_handle_option):
10666 Don't handle options marked as aliases.
10667
10668 2010-08-25 Richard Guenther <rguenther@suse.de>
10669
10670 * c-common.c (c_common_get_alias_set): Remove special
10671 handling for pointers.
10672
10673 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
10674
10675 * c-common.c: Use FOR_EACH_VEC_ELT.
10676 * c-gimplify.c: Likewise.
10677 * c-pragma.c: Likewise.
10678
10679 2010-08-16 Joseph Myers <joseph@codesourcery.com>
10680
10681 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
10682 RejectDriver.
10683 (MMDX): Change back to MMD. Mark NoDriverArg instead of
10684 RejectDriver.
10685 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
10686 instead of OPT_MDX and OPT_MMDX.
10687
10688 2010-08-16 Joseph Myers <joseph@codesourcery.com>
10689
10690 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
10691
10692 2010-08-12 Joseph Myers <joseph@codesourcery.com>
10693
10694 * c.opt (MD, MMD): Change to MDX and MMDX.
10695 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
10696
10697 2010-08-11 Joseph Myers <joseph@codesourcery.com>
10698
10699 * c-opts.c (c_common_handle_option): Call handle_generated_option
10700 instead of handle_option.
10701
10702 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10703
10704 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
10705 (maybe_apply_renaming_pragma): Delete unneeded declarations.
10706
10707 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10708
10709 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
10710 (pending_redefine_extname): Change type to a VEC.
10711 (add_to_renaming_pragma_list): Update for new type of
10712 pending_redefine_extname.
10713 (maybe_apply_renaming_pragma): Likewise.
10714
10715 2010-08-04 Arnaud Charlet <charlet@adacore.com>
10716
10717 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
10718 visited.
10719 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
10720 decide whether a type has already been declared/seen.
10721 Do not go to the original type.
10722 (dump_nested_types): New parameter forward.
10723 Generate forward declaration if needed and mark type as visited.
10724 (print_ada_declaration): Call dump_nested_types if not already done.
10725 Mark types as visited.
10726
10727 2010-08-03 Joseph Myers <joseph@codesourcery.com>
10728
10729 * c.opt (-print-pch-checksum): Remove option.
10730 * c-opts.c (c_common_handle_option): Don't handle
10731 OPT_print_pch_checksum.
10732
10733 2010-07-27 Joseph Myers <joseph@codesourcery.com>
10734
10735 * c-common.h (c_common_handle_option): Update prototype and return
10736 value type.
10737 * c-opts.c (c_common_handle_option): Update prototype and return
10738 value type. Update calls to handle_option and
10739 enable_warning_as_error.
10740
10741 2010-07-27 Jakub Jelinek <jakub@redhat.com>
10742
10743 PR c/45079
10744 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
10745
10746 2010-07-27 Joseph Myers <joseph@codesourcery.com>
10747
10748 * c-common.h (c_common_missing_argument): Remove.
10749 * c-opts.c (c_common_missing_argument): Remove.
10750 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
10751 idirafter, imacros, include, isysroot, isystem, iquote): Add
10752 MissingArgError.
10753 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
10754
10755 2010-07-27 Joseph Myers <joseph@codesourcery.com>
10756
10757 * c-common.h (c_common_option_lang_mask,
10758 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
10759 New.
10760 (c_common_init_options): Update prototype.
10761 * c-opts.c (c_common_option_lang_mask): New.
10762 (c_common_initialize_diagnostics): Split out of
10763 c_common_init_options.
10764 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
10765 New.
10766 (c_common_init_options): Update prototype. Use decoded options in
10767 search for -lang-asm.
10768
10769 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
10770
10771 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
10772 * c-format.c: Likewise.
10773
10774 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
10775
10776 * c-common.h: Include diagnostic-core.h. Error if already
10777 included.
10778 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
10779
10780 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10781
10782 * c-common.c (IN_GCC_FRONTEND): Do not undef.
10783 Do not include expr.h
10784 (vector_mode_valid_p): Move here.
10785
10786 2010-06-21 DJ Delorie <dj@redhat.com>
10787
10788 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
10789 allow these pragmas anywhere.
10790
10791 2010-06-14 Jakub Jelinek <jakub@redhat.com>
10792
10793 PR bootstrap/44509
10794 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
10795 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
10796 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
10797 ggc_strdup instead of xstrdup.
10798
10799 2010-06-10 Jakub Jelinek <jakub@redhat.com>
10800
10801 * c-cppbuiltin.c: Include cpp-id-data.h.
10802 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
10803 (lazy_hex_fp_value): New function.
10804 (builtin_define_with_hex_fp_value): Provide definitions lazily.
10805
10806 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10807
10808 * c-gimplify.c: Do not include tree-flow.h
10809
10810 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
10811
10812 PR other/44034
10813 * c-common.c: Rename targetm member:
10814 targetm.enum_va_list -> targetm.enum_va_list_p
10815
10816 2010-06-28 Anatoly Sokolov <aesok@post.ru>
10817
10818 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
10819
10820 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
10821
10822 * c-cppbuiltin.c: Do not include except.h.
10823
10824 2010-06-24 Andi Kleen <ak@linux.intel.com>
10825
10826 * c-common.c (warn_for_omitted_condop): New.
10827 * c-common.h (warn_for_omitted_condop): Add prototype.
10828
10829 2010-06-21 Joseph Myers <joseph@codesourcery.com>
10830
10831 * c.opt (lang-objc): Remove.
10832 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
10833
10834 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
10835
10836 * c-opts.c: Include "tm_p.h".
10837
10838 2010-06-20 Joseph Myers <joseph@codesourcery.com>
10839
10840 * c-common.c (parse_optimize_options): Update call to
10841 decode_options.
10842
10843 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
10844
10845 * c-common.c (record_types_used_by_current_var_decl): Adjust for
10846 new type of types_used_by_cur_var_decl.
10847
10848 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
10849
10850 PR bootstrap/44512
10851 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
10852 for C++ standard compliance.
10853
10854 2010-06-16 Jason Merrill <jason@redhat.com>
10855
10856 * c.opt: Add -Wnoexcept.
10857
10858 2010-06-16 Richard Guenther <rguenther@suse.de>
10859
10860 PR c/44555
10861 * c-common.c (c_common_truthvalue_conversion): Remove
10862 premature and wrong optimization concering ADDR_EXPRs.
10863
10864 2010-06-15 Arnaud Charlet <charlet@adacore.com>
10865
10866 * c-ada-spec.c (dump_sloc): Remove column info.
10867 (is_simple_enum): New function.
10868 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
10869 enum types when relevant.
10870
10871 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10872
10873 * c-common.c (conversion_warning): Warn at expression
10874 location.
10875
10876 2010-06-10 Joseph Myers <joseph@codesourcery.com>
10877
10878 * c-opts.c (c_common_handle_option): Don't handle
10879 OPT_fshow_column.
10880
10881 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
10882
10883 * c-pragma.c (push_alignment): Use typed GC allocation.
10884 (handle_pragma_push_options): Likewise.
10885
10886 * c-common.c (parse_optimize_options): Likewise.
10887
10888 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10889 option.
10890
10891 2010-06-07 Joseph Myers <joseph@codesourcery.com>
10892
10893 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10894 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10895 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10896 flag_signed_bitfields, warn_strict_null_sentinel,
10897 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10898 flag_gen_declaration, flag_no_gnu_keywords,
10899 flag_implement_inlines, flag_implicit_templates,
10900 flag_implicit_inline_templates, flag_optional_diags,
10901 flag_elide_constructors, flag_default_inline, flag_rtti,
10902 flag_conserve_space, flag_access_control, flag_check_new,
10903 flag_new_for_scope, flag_weak, flag_working_directory,
10904 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10905 flag_enforce_eh_specs, flag_threadsafe_statics,
10906 flag_pretty_templates): Remove.
10907 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10908 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10909 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10910 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10911 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10912 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10913 flag_no_gnu_keywords, flag_implement_inlines,
10914 flag_implicit_templates, flag_implicit_inline_templates,
10915 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10916 flag_rtti, flag_conserve_space, flag_access_control,
10917 flag_check_new, flag_new_for_scope, flag_weak,
10918 flag_working_directory, flag_use_cxa_atexit,
10919 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10920 flag_threadsafe_statics, flag_pretty_templates,
10921 warn_strict_null_sentinel): Remove.
10922 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10923 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10924 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10925 fimplicit-inline-templates, fimplicit-templates,
10926 flax-vector-conversions, fms-extensions, fnil-receivers,
10927 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10928 frtti, fshort-double, fshort-enums, fshort-wchar,
10929 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10930 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10931 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10932 gen-decls, undef): Use Var.
10933 (fdefault-inline, foptional-diags): Document as doing nothing.
10934 * c-opts.c (c_common_handle_option): Remove cases for options now
10935 using Var. Mark ignored options as such.
10936
10937 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10938
10939 * c-common.c: Moved to here from parent directory.
10940 * c-common.def: Likewise.
10941 * c-common.h: Likewise.
10942 * c-cppbuiltin.c: Likewise.
10943 * c-dump.c: Likewise.
10944 * c-format.c: Likewise.
10945 * c-format.h : Likewise.
10946 * c-gimplify.c: Likewise.
10947 * c-lex.c: Likewise.
10948 * c-omp.c: Likewise.
10949 * c.opt: Likewise.
10950 * c-opts.c: Likewise.
10951 * c-pch.c: Likewise.
10952 * c-ppoutput.c: Likewise.
10953 * c-pragma.c: Likewise.
10954 * c-pragma.h: Likewise.
10955 * c-pretty-print.c: Likewise.
10956 * c-pretty-print.h: Likewise.
10957 * c-semantics.c: Likewise.
10958 * stub-objc.c: Likewise.
10959
10960 * c-common.c: Include gt-c-family-c-common.h.
10961 * c-pragma.c: Include gt-c-family-c-pragma.h.
10962 \f
10963 Copyright (C) 2010-2020 Free Software Foundation, Inc.
10964
10965 Copying and distribution of this file, with or without modification,
10966 are permitted in any medium without royalty provided the copyright
10967 notice and this notice are preserved.