]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
[gcc]
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
231589de 12017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2
3 PR c++/71737
4 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
5
78cf39ca 62017-01-12 Martin Sebor <msebor@redhat.com>
7
8 (-Wformat-overflow): ...to this.
9
1a1ce9a6 102017-01-11 Martin Sebor <msebor@redhat.com>
11
12 PR c/78768
13 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
14 Also enable for LTO.
15
3386344d 162017-01-10 Jason Merrill <jason@redhat.com>
17
18 Implement P0195R2, C++17 variadic using.
19 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
20
d0abd9e0 212017-01-09 Jakub Jelinek <jakub@redhat.com>
22
23 PR translation/79019
24 PR translation/79020
25 * c.opt (Wnormalized=): Fix typo in description.
26
aba01341 272017-01-08 Martin Sebor <msebor@redhat.com>
28
29 PR middle-end/77708
30 * c.opt (-Wformat-truncation): New option.
31
2792c2c7 322017-01-06 Alexandre Oliva <aoliva@redhat.com>
33
34 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
35 value to unsigned short to fit in 4 hex digits without
36 warnings.
37
3389a464 382017-01-05 Eric Botcazou <ebotcazou@adacore.com>
39
40 * c.opt (fsso-struct): Add 'native' value.
41
f6deeb21 422017-01-05 Martin Liska <mliska@suse.cz>
43
44 PR pch/78970
45 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
46 header.
47
6124217c 482017-01-04 Marek Polacek <polacek@redhat.com>
49
50 PR c++/64767
51 * c.opt (Wpointer-compare): New option.
52
48284845 532017-01-04 Jakub Jelinek <jakub@redhat.com>
54
55 PR driver/78957
56 * c.opt (fsso-struct=): Add RejectNegative.
57
aad93da1 582017-01-01 Jakub Jelinek <jakub@redhat.com>
59
60 Update copyright years.
61
7dbe2449 622016-12-29 Martin Liska <mliska@suse.cz>
63
64 PR c/78933
65 * c.opt (strong-eval-order): Add RejectNegative keyword.
66
23ea3d01 672016-12-22 Jason Merrill <jason@redhat.com>
68
69 Implement P0522R0, matching of template template arguments.
70 * c-cppbuiltin.c (c_cpp_builtins): Define
71 __cpp_template_template_args.
72
184fac50 732016-12-21 Jakub Jelinek <jakub@redhat.com>
74
75 PR bootstrap/78817
76 * c-common.c (struct nonnull_arg_ctx): New type.
77 (check_function_nonnull): Return bool instead of void. Use
78 nonnull_arg_ctx as context rather than just location_t.
79 (check_nonnull_arg): Adjust for the new context type, set
80 warned_p to true if a warning has been diagnosed.
81 (check_function_arguments): Return bool instead of void.
82 * c-common.h (check_function_arguments): Adjust prototype.
83
7806e079 842016-12-21 Jason Merrill <jason@redhat.com>
85
86 * c.opt (-fnew-ttp-matching): New flag.
87 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
88
4954efd4 892016-12-14 Martin Jambor <mjambor@suse.cz>
90
91 * c-omp.c: Include omp-general.h instead of omp-low.h.
92 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
93 name.
94
5cfa3fc8 952016-12-14 Martin Sebor <msebor@redhat.com>
96
97 PR c/17308
98 * c-common.c (check_nonnull_arg): Disable when optimization
99 is enabled.
100
bbdce47f 1012016-12-12 Marek Polacek <polacek@redhat.com>
102
103 PR c++/78647
104 * c-common.c (attribute_fallthrough_p): Return false for
105 error_mark_node.
106
370e45b9 1072016-12-08 Martin Sebor <msebor@redhat.com>
108
109 PR c/78284
110 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
111
3bb246b3 1122016-12-08 Martin Sebor <msebor@redhat.com>
113
114 PR c/78165
115 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
116 suffix.
117gcc/testsuite/ChangeLog:
118
5aef8938 1192016-12-07 Martin Sebor <msebor@redhat.com>
120
121 PR c/53562
122 PR middle-end/77784
123 PR middle-end/78149
124 PR middle-end/78138
125 * c.opt (-Wstringop-overflow): New option.
126
47c3d0de 1272016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
128
129 * c-attribs.c (asan odr indicator): New attribute.
130 (handle_asan_odr_indicator_attribute): New function.
131
c932c990 1322016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
133
134 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
135 ptrdiff_type_node;
136
c39beb8a 1372016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
138
139 * c-common.c (excess_precision_mode_join): New.
140 (c_ts18661_flt_eval_method): New.
141 (c_c11_flt_eval_method): Likewise.
142 (c_flt_eval_method): Likewise.
143 * c-common.h (excess_precision_mode_join): New.
144 (c_flt_eval_method): Likewise.
145 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
146 (cpp_iec_559_value): Call it.
147 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
148 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
149 __FLT_EVAL_METHOD_TS_18661_3__.
150
a998ac00 1512016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
152
153 * c-opts.c (c_common_post_options): Add logic to handle the default
154 case for -fpermitted-flt-eval-methods.
155
6e47b422 1562016-11-23 Paolo Bonzini <bonzini@gnu.org>
157
158 * c.opt (Wexpansion-to-defined): New.
159
0d65cc6c 1602016-11-23 Jakub Jelinek <jakub@redhat.com>
161
162 PR target/78451
163 * c-pragma.c (handle_pragma_target): Don't replace
164 current_target_pragma, but chainon the new args to the current one.
165
ff6497a3 1662016-11-22 Nathan Sidwell <nathan@acm.org>
167
168 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
bacc5324 169 indentation and formatting.
ff6497a3 170
13341287 1712016-11-21 Martin Sebor <msebor@redhat.com>
172
173 * c.opt (-fprintf-return-value): Enable by default.
174
f1b3e1c9 1752016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
176
177 PR c++/71973
178 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
179 * c-common.c (c_common_nodes_and_builtins): Initialize
180 const_tm_ptr_type_node.
181
6c1f90ee 1822016-11-16 Marek Polacek <polacek@redhat.com>
183
184 PR c/78285
185 * c-common.c (c_add_case_label): Turn error_at calls into inform.
186
a49621cf 1872016-11-14 Jakub Jelinek <jakub@redhat.com>
188
189 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
190
b1f04d34 1912016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
a49621cf 192 Richard Biener <rguenther@suse.de>
193
194 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
195 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
196 * c.opt (fgimple): New option.
b1f04d34 197
9b8f3aa1 1982016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
199
200 PR c/35503
201 * c-common.h (warn_for_restrict): Declare.
202 * c-warn.c: Include gcc-rich-location.h.
203 (warn_for_restrict): New function.
204 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
205 (gcc_cdiag_char_table): Likewise.
206 (gcc_cxxdiag_char_table): Likewise.
207 * c.opt (Wrestrict): New option.
208
7907d43b 2092016-11-13 Eric Botcazou <ebotcazou@adacore.com>
210
211 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
212 for nested types only if the type is a record or union and dump SLOC.
213
b1363399 2142016-11-09 Jason Merrill <jason@redhat.com>
215
216 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
217
58721d0c 2182016-11-09 Jakub Jelinek <jakub@redhat.com>
219
220 * c-ubsan.c (ubsan_instrument_shift): Handle split
221 -fsanitize=shift-base and -fsanitize=shift-exponent.
222
2e9e9363 2232016-11-07 Jason Merrill <jason@redhat.com>
224
225 * c.opt (Wc++1z-compat): New.
226 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
227
629b6abc 2282016-11-07 Martin Liska <mliska@suse.cz>
229
230 * c-warn.c (warn_for_unused_label): Save all labels used
231 in goto or in &label.
232
2f1c4c07 2332016-11-03 Jason Merrill <jason@redhat.com>
234
235 * c-cppbuiltin.c (c_cpp_builtins): Correct
236 __cpp_inheriting_constructors.
237
7896267d 2382016-11-01 Jason Merrill <jason@redhat.com>
239
02a9e65f 240 * c-cppbuiltin.c (c_cpp_builtins): Update
241 __cpp_inheriting_constructors.
242
7896267d 243 * c.opt (-fnew-inheriting-ctors): New.
244 * c-opts.c: Default to on for ABI 11+.
245
f6f44a1d 2462016-10-31 Jakub Jelinek <jakub@redhat.com>
247
248 PR c++/77948
249 * c.opt (fext-numeric-literals): Add Var and Init.
250 * c-opts.c (c_common_handle_option): Don't clear
251 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
252 (c_common_post_options): Clear it here if not set
253 explicitly.
254
d24c4079 2552016-10-28 Aldy Hernandez <aldyh@redhat.com>
256
257 PR debug/77773
258 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
259 if NULL.
260
6e1b2ffb 2612016-10-25 Jakub Jelinek <jakub@redhat.com>
262
263 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
264 * c-common.c (c_common_reswords): Add __builtin_launder.
265
5f64e688 2662016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
267
268 * c-common.c (c_common_truthvalue_conversion): Warn for
269 multiplications in boolean context. Fix the quoting of '<<' and '<'
270 in the shift warning.
271
3645e924 2722016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
273
274 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
275
146cbd63 2762016-10-20 Jason Merrill <jason@redhat.com>
277
278 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
279
5c2ba578 2802016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
281
282 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
283 integer shift ops in boolean context.
284
2852016-10-18 Aldy Hernandez <aldyh@redhat.com>
da6cf191 286
287 * c.opt (Walloca): New.
288 (Walloca-larger-than=): New.
289 (Wvla-larger-than=): New.
290
876d4bc9 2912016-10-17 Marek Polacek <polacek@redhat.com>
292
293 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
294 Return immediately when finding a match.
295 (warn_tautological_cmp): Remove a boolean variable that is no longer
296 needed.
297
b0c98c23 2982016-10-17 Marek Polacek <polacek@redhat.com>
299
300 * c-attribs.c: New file.
301 * c-common.c: Move attributes handling to c-attribs.c.
302 (get_nonnull_operand): No longer static.
303 * c-common.h: Move the declarations from c-attribs.c to its own section.
304
2ab6420c 3052016-10-14 Jason Merrill <jason@redhat.com>
306
307 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
308 and __cpp_deduction_guides.
309
81f19d90 3102016-10-13 Jason Merrill <jason@redhat.com>
311
312 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
313
ad7b10a2 3142016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
315
316 * c-cppbuiltin.c: Include memmodel.h.
317 * c-opts.c: Likewise.
318 * c-pragma.c: Likewise.
319 * c-warn.c: Likewise.
320
12663602 3212016-10-12 Jakub Jelinek <jakub@redhat.com>
322
323 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
324 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
325 * c-opts.c (sanitize_cpp_opts): Initialize
326 cpp_opts->cpp_warn_implicit_fallthrough.
327
424b2d7d 3282016-10-11 Marek Polacek <polacek@redhat.com>
329
330 * c-common.c (warning_candidate_p): Change the return type to bool
331 and return true/false instead of 1/0.
332 (vector_mode_valid_p): Likewise.
333
0f4cea33 3342016-10-11 Marek Polacek <polacek@redhat.com>
335
336 * c-common.c (fold_for_warn): No longer static.
337 (bool_promoted_to_int_p): Likewise.
338 (c_common_get_narrower): Likewise.
339 (constant_expression_warning): Move to c-warn.c.
340 (constant_expression_error): Likewise.
341 (overflow_warning): Likewise.
342 (warn_logical_operator): Likewise.
343 (find_array_ref_with_const_idx_r): Likewise.
344 (warn_tautological_cmp): Likewise.
345 (expr_has_boolean_operands_p): Likewise.
346 (warn_logical_not_parentheses): Likewise.
347 (warn_if_unused_value): Likewise.
348 (strict_aliasing_warning): Likewise.
349 (sizeof_pointer_memaccess_warning): Likewise.
350 (check_main_parameter_types): Likewise.
351 (conversion_warning): Likewise.
352 (warnings_for_convert_and_check): Likewise.
353 (match_case_to_enum_1): Likewise.
354 (match_case_to_enum): Likewise.
355 (c_do_switch_warnings): Likewise.
356 (warn_for_omitted_condop): Likewise.
357 (readonly_error): Likewise.
358 (lvalue_error): Likewise.
359 (invalid_indirection_error): Likewise.
360 (warn_array_subscript_with_type_char): Likewise.
361 (warn_about_parentheses): Likewise.
362 (warn_for_unused_label): Likewise.
363 (warn_for_div_by_zero): Likewise.
364 (warn_for_memset): Likewise.
365 (warn_for_sign_compare): Likewise.
366 (do_warn_double_promotion): Likewise.
367 (do_warn_unused_parameter): Likewise.
368 (record_locally_defined_typedef): Likewise.
369 (maybe_record_typedef_use): Likewise.
370 (maybe_warn_unused_local_typedefs): Likewise.
371 (maybe_warn_bool_compare): Likewise.
372 (maybe_warn_shift_overflow): Likewise.
373 (warn_duplicated_cond_add_or_warn): Likewise.
374 (diagnose_mismatched_attributes): Likewise.
375 * c-common.h: Move the declarations from c-warn.c to its own section.
376 * c-warn.c: New file.
377
7a7ca07c 3782016-10-08 Jason Merrill <jason@redhat.com>
379
380 * c-common.c (c_common_truthvalue_conversion): Don't distribute
381 into COND_EXPR in C++.
382
ad0c1dec 3832016-10-08 Jakub Jelinek <jakub@redhat.com>
384
385 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
386 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
387 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
388
cd45162d 3892016-10-07 Jakub Jelinek <jakub@redhat.com>
390
391 Implement LWG2296 helper intrinsic
392 * c-common.h (enum rid): Add RID_ADDRESSOF.
393 * c-common.c (c_common_reswords): Add __builtin_addressof.
394
0365bfa8 3952016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
396
397 PR c++/77700
398 * c-common.c (c_common_truthvalue_conversion): Warn also for
399 suspicious enum values in boolean context.
400
adeca879 4012016-10-06 Jakub Jelinek <jakub@redhat.com>
402
403 Implement P0258R2 - helper for C++17
404 std::has_unique_object_representations trait
405 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
406 * c-common.c (c_common_reswords): Add
407 __has_unique_object_representations.
408
c6958264 4092016-10-05 Jakub Jelinek <jakub@redhat.com>
410
411 PR sanitizer/66343
412 * c-ubsan.c (ubsan_instrument_return): Don't call
413 initialize_sanitizer_builtins here.
414
2b6903a5 4152016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
416
417 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
418 conditional expression in boolean context when only one arm is
419 non-boolean.
420
5c176ebe 4212016-10-05 Jakub Jelinek <jakub@redhat.com>
422
c7b01e77 423 PR sanitizer/77823
424 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
425 is not integral.
426
5c176ebe 427 * c-common.c (c_common_reswords): Update comment for C++11.
428
492ab670 4292016-10-04 Jason Merrill <jason@redhat.com>
430
431 * c-common.c (make_tree_vector_from_ctor): New.
432 * c-common.h: Declare it.
433
bc6b11a7 4342016-10-04 Jakub Jelinek <jakub@redhat.com>
435
436 * c-cppbuiltin.c (c_cpp_builtins): Don't define
437 __LIBGCC_JCR_SECTION_NAME__.
438
255beb07 4392016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
440
441 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
442 left shift in boolean context.
443
c5d89bae 4442016-09-29 Jakub Jelinek <jakub@redhat.com>
445
446 Implement P0001R1 - C++17 removal of register storage class specifier
447 * c.opt (Wregister): New warning.
448 * c-opts.c (c_common_post_options): Enable -Wregister by
449 default for C++17.
450
4267ed07 4512016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
452
453 * c-opts.c (c_common_post_options): Remove special case for
454 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
455 in C++.
456
0b72b025 4572016-09-27 Jakub Jelinek <jakub@redhat.com>
458
4fd4e9e0 459 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
460 -std=c++1z.
461
0b72b025 462 * c-ada-spec.c (print_ada_declaration): Remove break after return.
463
ea36272b 4642016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
465
466 * c-common.c: Include memmodel.h.
467
e997bd3a 4682016-09-26 Marek Polacek <polacek@redhat.com>
469
470 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
471
3c77f69c 4722016-09-26 Marek Polacek <polacek@redhat.com>
473
474 PR c/7652
475 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
476 (handle_fallthrough_attribute): New function.
477 (attribute_fallthrough_p): New function.
478 * c-common.h (attribute_fallthrough_p): Declare.
479
481ce481 4802016-09-24 Marek Polacek <polacek@redhat.com>
481
482 PR c/77490
483 * c.opt (Wbool-operation): New.
484
a5fe0b37 4852016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
486
487 * c-common.c (c_common_truthvalue_conversion): Inhibit
488 Wint-in-bool-context warning with from_macro_definition_at.
489 Mention the expression will always evaluate to true.
490
90f40f08 4912016-09-21 Martin Sebor <msebor@redhat.com>
492
493 PR bootstrap/77676
494 * c.opt (fprintf-return-value): Temporarily initialize to zero
495 to unblock bootstrap failures.
496
98aa0f57 4972016-09-21 Jakub Jelinek <jakub@redhat.com>
498
499 PR c++/77651
500 * c.opt (Waligned-new=): Add RejectNegative.
501 (faligned-new=): Likewise. Spelling fix - change
502 aligned_new_threshhold to aligned_new_threshold.
503 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
504 to aligned_new_threshold.
505
b9833bfd 5062016-09-20 Martin Sebor <msebor@redhat.com>
507
508 PR middle-end/49905
509 * c.opt: Add -Wformat-length and -fprintf-return-value.
510
bed03df1 5112016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
512
513 PR c++/77434
514 * c.opt (Wint-in-bool-context): New warning.
515 * c-common.c (c_common_truthvalue_conversion): Warn on integer
516 constants in boolean context.
517
9b5c49ef 5182016-09-19 Joseph Myers <joseph@codesourcery.com>
519
520 * c-common.c (max_align_t_align): Also consider alignment of
521 float128_type_node.
522
cc4b5c58 5232016-09-15 Jason Merrill <jason@redhat.com>
524
525 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
526 DECL_EXTERNAL.
527
ef45c4c0 5282016-09-14 Jason Merrill <jason@redhat.com>
529
530 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
531 limit FIELD_DECL, either.
532
b99cc6da 5332016-09-14 Marek Polacek <polacek@redhat.com>
534
535 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
536 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
537 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
538
68ef907c 5392016-09-13 David Malcolm <dmalcolm@redhat.com>
540
541 * c-common.c (warn_logical_not_parentheses): Replace
542 rich_location::add_fixit_insert calls with add_fixit_insert_before
543 and add_fixit_insert_after, eliminating the "next_loc" calculation.
544
2c24fd5e 5452016-09-13 Jason Merrill <jason@redhat.com>
546 Tom de Vries <tom@codesourcery.com>
547
548 PR c++/77427
549 * c-common.c (set_underlying_type): Don't treat array as builtin type.
550
005248bc 5512016-09-13 Jason Merrill <jason@redhat.com>
552
553 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
554 limit types at all.
555
0c893604 5562016-09-12 Jason Merrill <jason@redhat.com>
557
558 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
559 bit/byte confusion, allow large alignment for types.
560
7a21b590 5612016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
562
563 PR c++/77496
564 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
565
00434032 5662016-09-12 David Malcolm <dmalcolm@redhat.com>
567
568 PR c/72858
569 * c-format.c (argument_parser::check_argument_type): Add params
570 "type_start" and "conversion_char". Use the former to generate
571 offset_to_type_start and pass it and conversion_char to
572 check_format_types.
573 (check_format_info_main): Capture the start of the type
574 information as "type_start", and pass it an format_char
575 to arg_parser.check_argument_type.
576 (check_format_types): Provide an example in the leading comment.
577 Add params "offset_to_type_start" and "conversion_char"; pass
578 them to format_type_warning calls.
579 (test_get_modifier_for_format_len): Likewise.
580 (matching_type_p): New function.
581 (get_format_for_type): Add param "conversion_char" and move
582 implementation into...
583 (get_format_for_type_1): ...new function, called twice.
584 Use new function matching_type_p rather than checking for
585 TYPE_CANONICAL equality.
586 (get_corrected_substring): New function.
587 (format_type_warning): Provide an example in the leading comment.
588 Add params "offset_to_type_start" and "conversion_char". Replace
589 call to get_format_for_type with call to get_corrected_substring
590 and move rejection of hints for widths/precisions there.
591 (assert_format_for_type_streq): Add param "conversion_char".
592 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
593 (test_get_format_for_type_printf): Add conversion chars to the
594 tests, adding coverage for various combinations of integer
595 vs double conversions, and for preserving octal and hexadecimal
596 conversions.
597 (test_get_format_for_type_scanf): Add conversion chars to the
598 tests.
599
3bb45f76 6002016-09-10 Tom de Vries <tom@codesourcery.com>
601
602 PR C/71602
603 * c-common.c (build_va_arg): Handle more strict
604 targetm.canonical_va_list_type. Replace first argument type error with
605 assert.
606
911ea34a 6072016-09-09 Martin Sebor <msebor@redhat.com>
608
609 PR c/77520
610 PR c/77521
611 * c-format.c (argument_parser::find_format_char_info): Use %qc
612 format directive unconditionally.
613
db8ffb40 6142016-09-09 Jason Merrill <jason@redhat.com>
615
616 Implement C++17 new of over-aligned types.
617 * c.opt: Add -faligned-new and -Waligned-new.
618 * c-common.c (max_align_t_align): Split out from...
619 (cxx_fundamental_alignment_p): ...here.
620 * c-common.h: Declare it.
621 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
622
c5eddaf9 6232016-09-09 Joseph Myers <joseph@codesourcery.com>
624
625 * c-cppbuiltin.c (builtin_define_type_width): New function.
626 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
627 macros.
628
3da97ff7 6292016-09-07 David Malcolm <dmalcolm@redhat.com>
630
631 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
632 a POINTER_TYPE.
633 (substring_loc::get_location): Move to substring-locations.c,
634 keeping implementation as...
635 (c_get_substring_location): New function, from the above, reworked
636 to use accessors rather than member lookup.
637 * c-common.h (class substring_loc): Move to substring-locations.h,
638 replacing with a forward decl.
639 (c_get_substring_location): New decl.
640 * c-format.c: Include "substring-locations.h".
641 (format_warning_va): Move to substring-locations.c.
642 (format_warning_at_substring): Likewise.
643
f9b3f702 6442016-09-06 Martin Sebor <msebor@redhat.com>
645
646 PR c/77336
647 * c-format.c (check_function_format): Avoid issuing warnings for
648 functions unless they call format functions with non-constant
649 format strings.
650
4c04bcce 6512016-09-06 Richard Biener <rguenther@suse.de>
652
653 PR c/77450
654 * c-common.c (c_common_mark_addressable_vec): Handle
655 COMPOUND_LITERAL_EXPR.
656
8f8828ba 6572016-09-05 Marek Polacek <polacek@redhat.com>
658
659 PR c/77423
660 * c-common.c (bool_promoted_to_int_p): New function.
661 (expr_has_boolean_operands_p): New function.
662 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
663 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
664
8ff61e58 6652016-09-04 Tom de Vries <tom@codesourcery.com>
666
667 revert:
668 2016-08-29 Tom de Vries <tom@codesourcery.com>
669
670 * c-common.c (build_va_arg): Replace first argument type error
671 with assert.
672
0b80c4b2 6732016-09-02 Jakub Jelinek <jakub@redhat.com>
674
675 PR c/65467
676 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
677 (c_finish_omp_for): Reject _Atomic qualified iterators.
678
6792016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 680
681 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
682 size to guarantee it fits the output of the formatted function
683 regardless of its arguments.
684
c7afb782 6852016-09-01 Marek Polacek <polacek@redhat.com>
686
687 PR c/7652
688 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
689 FALLTHRU comments.
690
f293b7f2 6912016-08-29 Marek Polacek <polacek@redhat.com>
692
693 PR c/77292
694 * c-common.c (warn_logical_not_parentheses): Don't warn for
695 a comparison or a logical operator.
696
839e4d28 6972016-08-29 Tom de Vries <tom@codesourcery.com>
698
699 * c-common.c (build_va_arg): Fix type comparison assert.
700
0acb92b8 7012016-08-29 Tom de Vries <tom@codesourcery.com>
702
703 * c-common.c (build_va_arg): Replace first argument type error
704 with assert.
705
ea2ec8f6 7062016-08-29 Tom de Vries <tom@codesourcery.com>
707
708 PR c/77398
709 * c-common.c (build_va_arg): Add first argument error. Build va_arg
710 with error_mark_node as va_list instead of with illegal va_list.
711
c4963714 7122016-08-25 Marek Polacek <polacek@redhat.com>
713 David Malcolm <dmalcolm@redhat.com>
714
715 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
716 * c-common.h (warn_logical_not_parentheses): Update declaration.
717
364743f3 7182016-08-22 Marek Polacek <polacek@redhat.com>
719
720 PR c++/77321
721 * c-common.c (warn_for_memset): Check type for null.
722
012f068a 7232016-08-22 Joseph Myers <joseph@codesourcery.com>
724
725 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
726 _FloatNx types for suffixes for built-in functions.
727
82c85aba 7282016-08-19 Joseph Myers <joseph@codesourcery.com>
729
730 PR c/32187
731 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
732 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
733 (RID_FLOAT128X): New enum rid values.
734 (CASE_RID_FLOATN_NX): New macro.
735 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
736 keywords.
737 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
738 corresponding complex types.
739 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
740 _FloatNx and corresponding complex types.
741 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
742 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
743 and _FloatNx types for the widest type for determining
744 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
745 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
746 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
747 and _FloatNx types.
748 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
749 constants.
750 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
751 _FloatNx types.
752
48a7392b 7532016-08-18 David Malcolm <dmalcolm@redhat.com>
754
755 * c-opts.c (c_diagnostic_finalizer): Update for change to
756 diagnostic_show_locus.
757
5c8151fa 7582016-08-18 David Malcolm <dmalcolm@redhat.com>
759
760 * c-common.c: Include "spellcheck.h".
761 (cb_get_suggestion): New function.
762 * c-common.h (cb_get_suggestion): New decl.
763 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
764 cb_get_suggestion.
765
26040f06 7662016-08-18 Marek Polacek <polacek@redhat.com>
767
768 PR c/71514
769 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
770 and pointer-to-VLA.
771
5927e78e 7722016-08-16 David Malcolm <dmalcolm@redhat.com>
773
774 PR c/72857
775 * c-common.c (substring_loc::get_range): Rename to...
776 (substring_loc::get_location): ...this, converting param from a
777 source_range * to a location_t *. Call
778 get_source_location_for_substring rather than
779 get_source_range_for_substring, and pass in m_caret_idx.
780 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
781 (substring_loc::get_range): Replace with...
782 (substring_loc::get_location): ...this.
783 (substring_loc::set_caret_index): New method.
784 (substring_loc): Add field m_caret_idx.
785 * c-format.c (format_warning_va): Update for above changes.
786 Rename local "substring_loc" to "fmt_substring_loc" to avoid
787 clashing with type name.
788 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
789 (check_argument_type): Likewise.
790 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
791 Use a copy when emitting warnings, setting the caret index from TYPE.
792
6ce66d38 7932016-08-16 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 794 Arnaud Charlet <charlet@adacore.com>
6ce66d38 795
796 * c-ada-spec.c (dump_number): New function.
797 (handle_escape_character): Likewise.
798 (print_ada_macros): Add handling of constant integers and strings.
799
e3533433 8002016-08-12 Marek Polacek <polacek@redhat.com>
801
802 PR c/7652
803 * c-common.c (scalar_to_vector): Adjust fall through comment.
804 * c-opts.c (c_common_handle_option): Likewise.
805 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
806 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
807 fall through comment.
808 * cilk.c (extract_free_variables): Add FALLTHRU.
809
0f463aec 8102016-08-10 Jason Merrill <jason@redhat.com>
811
812 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
813
80488e20 8142016-08-09 Jason Merrill <jason@redhat.com>
815
816 * c-common.c (c_common_attribute_table): vector_size affects type
817 identity.
818
a319e7f4 8192016-08-09 Marek Polacek <polacek@redhat.com>
820
821 PR c/7652
822 * c-ada-spec.c (dump_generic_ada_node): Add return.
823
33603066 8242016-08-09 Jason Merrill <jason@redhat.com>
825
826 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
827 C++17 constexpr lambdas.
828
7af4d06b 8292016-08-08 David Malcolm <dmalcolm@redhat.com>
830
831 PR c/64955
832 * c-common.h (selftest::c_format_c_tests): New declaration.
833 (selftest::run_c_tests): New declaration.
834 * c-format.c: Include "selftest.h.
835 (format_warning_va): Add param "corrected_substring" and use
836 it to add a replacement fix-it hint.
837 (format_warning_at_substring): Likewise.
838 (format_warning_at_char): Update for new param of
839 format_warning_va.
840 (argument_parser::check_argument_type): Pass "fki" to
841 check_format_types.
842 (check_format_types): Add param "fki" and pass it to
843 format_type_warning.
844 (deref_n_times): New function.
845 (get_modifier_for_format_len): New function.
846 (selftest::test_get_modifier_for_format_len): New function.
847 (get_format_for_type): New function.
848 (format_type_warning): Add param "fki" and use it to attempt
849 to provide hints for argument types when calling
850 format_warning_at_substring.
851 (selftest::get_info): New function.
852 (selftest::assert_format_for_type_streq): New function.
853 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
854 (selftest::test_get_format_for_type_printf): New function.
855 (selftest::test_get_format_for_type_scanf): New function.
856 (selftest::c_format_c_tests): New function.
857
d189b094 8582016-08-08 David Malcolm <dmalcolm@redhat.com>
859
860 PR c/52952
861 * c-format.c: Include "diagnostic.h".
862 (location_column_from_byte_offset): Delete.
863 (location_from_offset): Delete.
864 (format_warning_va): New function.
865 (format_warning_at_substring): New function.
866 (format_warning_at_char): New function.
867 (check_format_arg): Capture location of format_tree and pass to
868 check_format_info_main.
869 (argument_parser): Add fields "start_of_this_format" and
870 "format_string_cst".
871 (flag_chars_t::validate): Add param "format_string_cst". Convert
872 warning_at call using location_from_offset to call to
873 format_warning_at_char.
874 (argument_parser::argument_parser): Add param "format_string_cst_"
875 and use use it to initialize field "format_string_cst".
876 Initialize new field "start_of_this_format".
877 (argument_parser::read_format_flags): Convert warning_at call
878 using location_from_offset to a call to format_warning_at_char.
879 (argument_parser::read_any_format_left_precision): Likewise.
880 (argument_parser::read_any_format_precision): Likewise.
881 (argument_parser::read_any_other_modifier): Likewise.
882 (argument_parser::find_format_char_info): Likewise, in three places.
883 (argument_parser::parse_any_scan_set): Likewise, in one place.
884 (argument_parser::handle_conversions): Likewise, in two places.
885 (argument_parser::check_argument_type): Add param "fmt_param_loc"
886 and use it to make a substring_loc. Pass the latter to
887 check_format_types.
888 (check_format_info_main): Add params "fmt_param_loc" and
889 "format_string_cst". Convert warning_at calls using
890 location_from_offset to calls to format_warning_at_char. Pass the
891 new params to the arg_parser ctor. Pass "format_string_cst" to
892 flag_chars.validate. Pass "fmt_param_loc" to
893 arg_parser.check_argument_type.
894 (check_format_types): Convert first param from a location_t
895 to a const substring_loc & and rename to "fmt_loc". Attempt
896 to extract the range of the relevant parameter and pass it
897 to format_type_warning.
898 (format_type_warning): Convert first param from a location_t
899 to a const substring_loc & and rename to "fmt_loc". Add
900 params "param_range" and "type". Replace calls to warning_at
901 with calls to format_warning_at_substring.
902
0dae5fef 9032016-08-08 David Malcolm <dmalcolm@redhat.com>
904
905 * c-format.c (class flag_chars_t): New class.
906 (struct length_modifier): New struct.
907 (class argument_parser): New class.
908 (flag_chars_t::flag_chars_t): New ctor.
909 (flag_chars_t::has_char_p): New method.
910 (flag_chars_t::add_char): New method.
911 (flag_chars_t::validate): New method.
912 (flag_chars_t::get_alloc_flag): New method.
913 (flag_chars_t::assignment_suppression_p): New method.
914 (argument_parser::argument_parser): New ctor.
915 (argument_parser::read_any_dollar): New method.
916 (argument_parser::read_format_flags): New method.
917 (argument_parser::read_any_format_width): New method.
918 (argument_parser::read_any_format_left_precision): New method.
919 (argument_parser::read_any_format_precision): New method.
920 (argument_parser::handle_alloc_chars): New method.
921 (argument_parser::read_any_length_modifier): New method.
922 (argument_parser::read_any_other_modifier): New method.
923 (argument_parser::find_format_char_info): New method.
924 (argument_parser::validate_flag_pairs): New method.
925 (argument_parser::give_y2k_warnings): New method.
926 (argument_parser::parse_any_scan_set): New method.
927 (argument_parser::handle_conversions): New method.
928 (argument_parser::check_argument_type): New method.
929 (check_format_info_main): Introduce classes argument_parser
930 and flag_chars_t, moving the code within the loop into methods
931 of these classes. Make various locals "const".
932
d4166bdc 9332016-08-05 David Malcolm <dmalcolm@redhat.com>
934
935 * c-common.c: Include "substring-locations.h".
936 (get_cpp_ttype_from_string_type): New function.
937 (g_string_concat_db): New global.
938 (substring_loc::get_range): New method.
939 * c-common.h (g_string_concat_db): New declaration.
940 (class substring_loc): New class.
941 * c-lex.c (lex_string): When concatenating strings, capture the
942 locations of all tokens using a new obstack, and record the
943 concatenation locations within g_string_concat_db.
944 * c-opts.c (c_common_init_options): Construct g_string_concat_db
945 on the ggc-heap.
946
7648c9c7 9472016-07-29 Marek Polacek <polacek@redhat.com>
948
8ae70602 949 PR c/71926
950 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
951 parentheses warning.
952
7648c9c7 953 PR c/71574
954 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
955
595e387a 9562016-07-28 Martin Liska <mliska@suse.cz>
957
958 PR gcov-profile/68025
959 * c-common.c (handle_no_profile_instrument_function_attribute):
960
296103aa 9612016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
962
963 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
964 BITS_PER_UNIT_LOG.
965
21483ab7 9662016-07-25 Jason Merrill <jason@redhat.com>
967
968 PR c++/65970
969 * c.opt (fconstexpr-loop-limit): New.
970
0b80c4b2 9712016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 972
973 PR c++/71675
974 * c-common.c (resolve_overloaded_builtin): Avoid converting
975 __atomic_compare_exchange_n return type to that of what its
976 first argument points to.
977
59c1507a 9782016-07-22 Uros Bizjak <ubizjak@gmail.com>
979
980 * c-common.c: Use HOST_WIDE_INT_M1U instead of
981 ~(unsigned HOST_WIDE_INT) 0.
982
45648efe 9832016-07-22 Martin Liska <mliska@suse.cz>
984
985 PR gcov-profile/69028
986 PR gcov-profile/62047
987 * cilk.c (create_cilk_helper_decl): Set location of a new decl
988 to the current_function_decl.
989
0c0f63cb 9902016-07-21 Jason Merrill <jason@redhat.com>
991
992 PR c++/65168
993 * c-common.c (c_common_truthvalue_conversion): Check
994 c_inhibit_evaluation_warnings for warning about address of
995 reference.
996
d208f6e6 9972016-07-20 David Malcolm <dmalcolm@redhat.com>
998
999 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1000 const char *.
1001
0238e35e 10022016-07-15 Jason Merrill <jason@redhat.com>
1003
1004 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1005
0dd7db3b 10062016-07-15 Jakub Jelinek <jakub@redhat.com>
1007
1008 PR c/71858
1009 * c-common.h (enum lookup_name_fuzzy_kind): Add
1010 FUZZY_LOOKUP_FUNCTION_NAME.
1011
e59cff35 10122016-07-08 Jason Merrill <jason@redhat.com>
1013
1014 P0145: Refining Expression Order for C++.
1015 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1016 * c-opts.c: Adjust.
1017
faee03ad 10182016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1019
1020 PR c++/71214
1021 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1022
a4dd89cb 10232016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1024
1025 * c-pragma.h (enum pragma_kind): Rename
1026 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1027 users.
1028
b6a4a0f5 10292016-06-29 Richard Biener <rguenther@suse.de>
1030
1031 PR middle-end/71002
1032 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1033
176aa551 10342016-06-24 Jason Merrill <jason@redhat.com>
1035
1036 P0145R2: Refining Expression Order for C++.
1037 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1038 MODIFY_EXPR.
1039
77104764 10402016-06-24 Jakub Jelinek <jakub@redhat.com>
1041
1042 * c-common.c (check_builtin_function_arguments): Require last
1043 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1044 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1045 if the last argument is pointer to enumerated or boolean type.
1046
8469aece 10472016-06-22 David Malcolm <dmalcolm@redhat.com>
1048
1049 PR c/70339
1050 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1051 (lookup_name_fuzzy): New prototype.
1052
bd08c370 10532016-06-21 John David Anglin <danglin@gcc.gnu.org>
1054
1055 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1056
06c75b9a 10572016-06-14 Jason Merrill <jason@redhat.com>
1058
1059 P0145R2: Refining Expression Order for C++.
1060 * c.opt (fargs-in-order): New.
1061 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1062
9720103d 10632016-06-13 Jakub Jelinek <jakub@redhat.com>
1064
12cb8367 1065 PR sanitizer/71498
1066 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1067 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1068
9720103d 1069 PR preprocessor/71183
1070 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1071 to cb_get_source_date_epoch.
1072
8ec29807 10732016-06-10 Jakub Jelinek <jakub@redhat.com>
1074
1075 PR c/68657
1076 * c.opt (Wpsabi): Add Warning flag.
1077
1dc4d519 10782016-06-10 Martin Sebor <msebor@redhat.com>
1079
1080 PR c/71392
1081 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1082 the nonnull attribute in type-generic builtins.
1083
23b101c5 10842016-06-09 Martin Sebor <msebor@redhat.com>
1085
1086 PR c/70883
1087 * c-common.c (builtin_function_validate_nargs): Make text of error
1088 message consistent with others like it.
1089
732905bb 10902016-06-08 Martin Sebor <msebor@redhat.com>
1091 Jakub Jelinek <jakub@redhat.com>
1092
1093 PR c++/70507
1094 PR c/68120
1095 * c-common.c (check_builtin_function_arguments): Handle
1096 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1097
86a5f91c 10982016-06-08 Richard Biener <rguenther@suse.de>
1099
1100 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1101
b032c4dd 11022016-06-07 Richard Biener <rguenther@suse.de>
1103
1104 PR c/61564
1105 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1106 options and warn about others.
1107
dfa5c0d3 11082016-06-01 Eduard Sanou <dhole@openmailbox.org>
1109
1110 * c-common.c (get_source_date_epoch): Rename to
1111 cb_get_source_date_epoch.
1112 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1113 message when the parsing fails. Use error_at instead of fatal_error.
1114 * c-common.h (get_source_date_epoch): Rename to
1115 cb_get_source_date_epoch.
1116 * c-common.h (cb_get_source_date_epoch): Prototype.
1117 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1118 * c-common.h (c_omp_region_type): Remove trailing comma.
1119 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1120 * c-lex.c (c_lex_with_flags): Remove initialization of
1121 pfile->source_date_epoch.
1122
b6431756 11232016-05-30 Jakub Jelinek <jakub@redhat.com>
1124
1125 PR c++/71349
1126 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1127 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1128 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1129 instead of C_OMP_CLAUSE_SPLIT_FOR.
1130
7345b977 11312016-05-24 Richard Biener <rguenther@suse.de>
1132
1133 PR middle-end/70434
1134 PR c/69504
1135 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1136 (convert_vector_to_array_for_subscript): ... this.
1137 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1138 VIEW_CONVERT_EXPR to an array type. Rename to ...
1139 (convert_vector_to_array_for_subscript): ... this.
1140
22a3f7bd 11412016-05-12 Marek Polacek <polacek@redhat.com>
1142
1143 PR c/70756
1144 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1145 size_in_bytes and pass LOC to it.
1146
54c4d22e 11472016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1148
1149 PR c/43651
1150 * c.opt (Wduplicate-decl-specifier): New option.
1151
7f8012a5 11522016-05-11 Marek Polacek <polacek@redhat.com>
1153
1154 PR c++/71024
1155 * c-common.c (diagnose_mismatched_attributes): New function.
1156 * c-common.h (diagnose_mismatched_attributes): Declare.
1157
1d52c456 11582016-05-04 Marek Polacek <polacek@redhat.com>
1159
1160 * c.opt (Wdangling-else): New option.
1161
5d4db8ef 11622016-05-03 Marek Polacek <polacek@redhat.com>
1163
1164 PR c/70859
1165 * c-common.c (builtin_function_validate_nargs): Add location
1166 parameter. Use it.
1167 (check_builtin_function_arguments): Add location and arguments
1168 parameters. Use them.
1169 * c-common.h (check_builtin_function_arguments): Update declaration.
1170
9ae1b28a 11712016-05-03 Richard Biener <rguenther@suse.de>
1172
1173 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1174 allow call args to gimplify to SSA names.
1175
4341e093 11762016-05-03 Marek Polacek <polacek@redhat.com>
1177
1178 * c-common.h (enum c_omp_region_type): Remove stray comma.
1179
b5e88f74 11802016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1181
1182 * c-common.h (enum c_omp_region_type): Define.
1183
ee31dd3d 11842016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1185
1186 * c-common.c (shorten_compare): Use wi::to_wide.
1187
4d0a8bac 11882016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1189
1190 PR middle-end/70626
1191 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1192 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1193 reduction clauses in acc parallel loops.
1194
025dd1e0 11952016-04-29 Marek Polacek <polacek@redhat.com>
1196
1197 PR c/70852
1198 * c-common.c (warn_for_memset): Check domain before accessing it.
1199
eb16928e 12002016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1201
1202 PR/69089
1203 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1204 "aligned" attribute.
1205
ddd2a3d4 12062016-04-28 Jason Merrill <jason@redhat.com>
1207
1208 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1209
e3e8c48c 12102016-04-28 Eduard Sanou <dhole@openmailbox.org>
1211 Matthias Klose <doko@debian.org>
1212
1213 * c-common.c (get_source_date_epoch): New function, gets the environment
1214 variable SOURCE_DATE_EPOCH and parses it as long long with error
1215 handling.
1216 * c-common.h (get_source_date_epoch): Prototype.
1217 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1218
605a4556 12192015-04-27 Ryan Burn <contact@rnburn.com>
1220
1221 PR c++/69024
1222 PR c++/68997
1223 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1224 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1225 external linkage.
1226 (cilk_detect_and_unwrap): Corresponding changes.
1227 (extract_free_variables): Don't extract free variables from
1228 AGGR_INIT_EXPR slot.
1229 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1230 (cilk_recognize_spawn): Likewise.
1231
40385231 12322016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1233
1234 * c.opt (Wmemset-elt-size): New option.
1235 * c-common.c (warn_for_memset): New function.
1236 * c-common.h (warn_for_memset): Declare.
1237
f5d49c14 12382016-04-25 Jason Merrill <jason@redhat.com>
1239
1240 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1241 No longer static.
1242 * c-common.h: Declare it.
1243 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1244
9c980ab5 12452016-04-22 Jason Merrill <jason@redhat.com>
1246
1247 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1248
70574e60 12492016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1250
1251 PR c++/69363
1252 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1253 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1254
5d4b30ea 12552016-04-18 Michael Matz <matz@suse.de>
1256
1257 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1258 and SET_DECL_ALIGN.
1259
021ad2f3 12602016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1261
1262 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1263 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1264 to incomplete types.
1265 (dump_nested_type): Remove redundant tests and tidy up.
1266 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1267 a type which is the typedef of an original type.
1268
926f9422 12692016-04-15 Marek Polacek <polacek@redhat.com>
1270
1271 PR c/70651
1272 * c-common.c (build_va_arg): Change two asserts into errors and return
1273 error_mark_node.
1274
92c53257 12752016-04-13 Marek Polacek <polacek@redhat.com>
1276
1277 PR c++/70639
1278 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1279 for switch statements, too.
1280
a3ae889f 12812016-03-28 Jason Merrill <jason@redhat.com>
1282
1283 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1284
62d2a6dc 12852016-03-23 Marek Polacek <polacek@redhat.com>
1286
1287 PR c++/69884
1288 * c.opt (Wignored-attributes): New option.
1289
4baec9f2 12902016-03-22 David Malcolm <dmalcolm@redhat.com>
1291
1292 PR c/69993
1293 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1294 diagnostic text, reversing the order of the warning and note so
1295 that they appear in source order.
1296
92e7ab1e 12972016-03-17 Marek Polacek <polacek@redhat.com>
1298
1299 PR c/69407
1300 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1301 operations.
1302
6f895832 13032016-03-14 Jason Merrill <jason@redhat.com>
1304
14c36b14 1305 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1306
6f895832 1307 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1308
42bb3bfb 13092016-03-09 Richard Biener <rguenther@suse.de>
1310
1311 PR c/70143
1312 * c-common.c (strict_aliasing_warning): Add back
1313 alias_sets_conflict_p check.
1314
3556aa80 13152016-03-08 Jason Merrill <jason@redhat.com>
1316
1317 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1318
0060768a 13192016-03-04 David Malcolm <dmalcolm@redhat.com>
1320
1321 PR c/68187
1322 * c-indentation.c (get_visual_column): Move code to determine next
1323 tab stop to...
1324 (next_tab_stop): ...this new function.
1325 (line_contains_hash_if): Delete function.
1326 (detect_preprocessor_logic): Delete function.
1327 (get_first_nws_vis_column): New function.
1328 (detect_intervening_unindent): New function.
1329 (should_warn_for_misleading_indentation): Replace call to
1330 detect_preprocessor_logic with a call to
1331 detect_intervening_unindent.
1332
74c6fd40 13332016-03-04 David Malcolm <dmalcolm@redhat.com>
1334
1335 PR c/68187
1336 * c-indentation.c (should_warn_for_misleading_indentation): When
1337 suppressing warnings about cases where the guard and body are on
1338 the same column, only use the first non-whitespace column in place
1339 of the guard token column when dealing with "else" clauses.
1340 When rejecting aligned BODY and NEXT, loosen the requirement
1341 from equality with the first non-whitespace of guard to simply
1342 that they not be indented relative to it.
1343
e692d332 13442016-03-04 Richard Biener <rguenther@suse.de>
1345
1346 PR c++/70054
1347 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1348 instead of alias_sets_conflict_p.
1349
12cc1225 13502016-03-01 Marek Polacek <polacek@redhat.com>
1351
1352 PR c++/69795
1353 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1354 any DECL.
1355
8c38d887 13562016-02-22 Martin Sebor <msebor@redhat.com>
1357
1358 PR middle-end/69780
1359 * c-common.c (check_builtin_function_arguments): Validate and
1360 reject invalid arguments to __builtin_alloca_with_align.
1361
e53f41d5 13622016-02-20 Mark Wielaard <mjw@redhat.com>
1363
1364 PR c/28901
1365 * c.opt (Wunused-const-variable): Turn into Alias for...
1366 (Wunused-const-variable=): New option.
1367
9cce8384 13682016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1369
1370 PR c++/69865
1371 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1372 here...
1373 (c_common_init_options): ...to here.
1374 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1375
563d5cb8 13762016-02-19 Jakub Jelinek <jakub@redhat.com>
1377
1378 PR c++/69826
1379 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1380 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1381 flag_preprocess_only.
1382
7675e968 13832016-02-16 Jakub Jelinek <jakub@redhat.com>
1384
1385 PR c/69835
1386 * c.opt (Wnonnull-compare): Enable for -Wall.
1387
77454e6e 13882016-02-15 Jakub Jelinek <jakub@redhat.com>
1389
1390 PR c++/69797
1391 * c-common.c (sync_resolve_size): Diagnose too few arguments
1392 even when params is non-NULL empty vector.
1393
600695e0 13942016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1395
1396 PR target/60410
1397 * c.opt (fshort-double): Remove.
1398
a7cc1f94 13992016-02-05 Martin Sebor <msebor@redhat.com>
1400
1401 PR c++/69662
1402 * c.opt (Warning options): Update -Wplacement-new to take
1403 an optional argument.
1404
6f13b088 14052016-02-01 Jakub Jelinek <jakub@redhat.com>
1406
1407 PR preprocessor/69543
1408 PR c/69558
1409 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1410 instead of loc to control_warning_option.
1411
948eee2f 14122016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1413
1414 * c.opt (fopenacc-dim=): New option.
1415
5fa82c11 14162016-01-27 Ryan Burn <contact@rnburn.com>
1417
1418 PR cilkplus/69267
1419 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1420 gimplify_arg. Removed superfluous post_p argument.
1421 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1422 superfluous post_p argument.
1423 * c-gimplify.c (c_gimplify_expr): Likewise.
1424
3752e5b1 14252016-01-26 David Malcolm <dmalcolm@redhat.com>
1426
1427 PR other/69006
1428 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1429 pp_newline_and_flush with pp_flush.
1430
bbbbe8ab 14312016-01-20 Martin Sebor <msebor@redhat.com>
1432
1433 PR c/69405
1434 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1435 an incompatible argument when the argument isn't a valid tree node.
1436
f6dfb86a 14372016-01-18 Jason Merrill <jason@redhat.com>
1438
1439 PR c++/68767
1440 * c-common.c (check_function_arguments_recurse): Fold the whole
1441 COND_EXPR, not just the condition.
1442
f672c103 14432016-01-18 Tom de Vries <tom@codesourcery.com>
1444
1445 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1446 classify as loop clause.
1447
c8ef893c 14482016-01-15 Jakub Jelinek <jakub@redhat.com>
1449
1450 PR bootstrap/68271
1451 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1452 C++ FE no longer has limit on number of pragmas.
1453
14542015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 1455
1456 PR c++/69048
1457 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 1458 to add missing cleanup point.
7d600da5 1459
a7ed4583 14602016-01-14 David Malcolm <dmalcolm@redhat.com>
1461
1462 PR c++/68819
1463 * c-indentation.c (get_visual_column): Add location_t param.
1464 Handle the column number being zero by effectively disabling the
1465 warning, with an "inform".
1466 (should_warn_for_misleading_indentation): Add location_t argument
1467 for all uses of get_visual_column.
1468
b933e511 14692016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1470
1471 PR c++/69029
1472 * c-indentation.c (should_warn_for_misleading_indentation):
1473 Don't warn about do-while statements.
1474
517906ff 14752016-01-07 Martin Sebor <msebor@redhat.com>
1476
1477 PR c/68966
1478 * c-common.c (sync_resolve_size): Reject first argument when it's
1479 a pointer to _Bool.
1480
d42aa619 14812016-01-05 David Malcolm <dmalcolm@redhat.com>
1482
1483 PR c/69122
1484 * c-indentation.c (get_visual_column): Remove default argument.
1485 (should_warn_for_misleading_indentation): For the multiline case,
1486 update call to get_visual_column for next_stmt_exploc so that it
1487 captures the location of the first non-whitespace character in the
1488 relevant line. Don't issue warnings if there is non-whitespace
1489 before the next statement.
1490
f1717362 14912016-01-04 Jakub Jelinek <jakub@redhat.com>
1492
1493 Update copyright years.
1494
c0bf500c 14952015-12-21 David Malcolm <dmalcolm@redhat.com>
1496
1497 * c-common.c (binary_op_error): Convert first param from
1498 location_t to rich_location * and use it when emitting an error.
1499 * c-common.h (binary_op_error): Convert first param from
1500 location_t to rich_location *.
1501
dbd79382 15022015-12-16 David Malcolm <dmalcolm@redhat.com>
1503
1504 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1505 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1506
c0998828 15072015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1508
1509 * c-common.c (c_common_attribute_table): Handle "omp declare target
1510 link" attribute.
1511
7ca909c6 15122015-12-14 Jakub Jelinek <jakub@redhat.com>
1513
1514 PR c/68833
1515 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1516
d9102cbe 15172014-12-12 Tobias Burnus <burnus@net-b.de>
1518
1519 PR fortran/68815
1520 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1521 specifiers (%d, %i,%u and %c).
1522
a515ebdf 15232015-12-10 David Malcolm <dmalcolm@redhat.com>
1524
1525 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1526
31ba81bd 15272015-12-08 Jakub Jelinek <jakub@redhat.com>
1528
1529 PR c/48088
1530 PR c/68657
1531 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1532 * c-pragma.c (handle_pragma_diagnostic): Adjust
1533 control_warning_option caller.
1534
d0f713f4 15352015-12-07 David Malcolm <dmalcolm@redhat.com>
1536
1537 * c-common.c (c_cpp_error): Update for change to
1538 rich_location::set_range.
1539
32d050b5 15402015-12-04 Paolo Bonzini <bonzini@gnu.org>
1541
1542 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1543 shifting 1 out of the sign bit.
1544
15452015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1546
1547 * c-common.c (c_common_attribute_table[]): Update max arguments
1548 count for "simd" attribute.
1549 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1550
6a8fbd7a 15512015-12-03 Jakub Jelinek <jakub@redhat.com>
1552
1553 PR preprocessor/57580
1554 * c-ppoutput.c (print): Change printed field to bool.
1555 Move src_file last for smaller padding.
1556 (init_pp_output): Set print.printed to false instead of 0.
1557 (scan_translation_unit): Fix up formatting. Set print.printed
1558 to true after printing something other than newline.
1559 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1560 (maybe_print_line_1): Set print.printed to false instead of 0.
1561 (print_line_1): Likewise.
1562 (do_line_change): Set print.printed to true instead of 1.
1563 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1564 dump_macro): Set print.printed to false after printing newline.
1565
da562e32 15662015-12-02 Jason Merrill <jason@redhat.com>
1567
9c691dbd 1568 * c-common.c (fold_for_warn): New.
1569 (warn_logical_operator, warn_tautological_cmp)
1570 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1571
da562e32 1572 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1573 (c_fully_fold_internal, decl_constant_value_for_optimization):
1574 Move to c/c-fold.c.
1575 * c-common.h: Don't declare decl_constant_value_for_optimization.
1576
89f16034 15772015-12-02 Joseph Myers <joseph@codesourcery.com>
1578
1579 PR c/68162
1580 * c-common.h (c_build_qualified_type): Add extra default
1581 arguments.
1582
571b3486 15832015-12-01 Julian Brown <julian@codesourcery.com>
1584 Cesar Philippidis <cesar@codesourcery.com>
1585 James Norris <James_Norris@mentor.com>
1586
1587 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1588 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1589 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1590
ed92a461 15912015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1592
1593 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1594 (decl_sloc_common): Delete and move bulk of processing to...
1595 (decl_sloc): ...here.
1596 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1597 (dump_ada_double_name): Remove S parameter and compute the suffix.
1598 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1599 element type and deal with an anonymous one.
1600 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1601 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1602 and remove reference to QUAL_UNION_TYPE.
1603 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1604 (dump_nested_type): ...here. New function extracted from above.
1605 Generate a full declaration for anonymous element type of arrays.
1606 (print_ada_declaration): Really skip anonymous declarations. Remove
1607 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1608 Clean up processing of declarations of array types and objects.
1609 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1610 Remove obsolete code and tidy up.
1611
c25b3e3f 16122015-11-29 Jan Hubicka <hubicka@ucw.cz>
1613
1614 PR c/67581
1615 * c-common.c (handle_transparent_union_attribute): Update
1616 also type variants.
1617
d4e328e9 16182015-11-27 Martin Liska <mliska@suse.cz>
1619
1620 PR c++/68312
1621 * array-notation-common.c (cilkplus_extract_an_triplets):
1622 Release vector of vectors.
1623 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1624
f63d9c4e 16252015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1626
1627 PR c++/68527
1628 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1629 (print_ada_struct_decl): Likewise.
1630
8d63c601 16312015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1632
1633 PR c++/68001
1634 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1635 * cilk.c (recognize_spawn): Determine location in a more precise
1636 way.
1637
01f11119 16382015-11-19 Jason Merrill <jason@redhat.com>
1639
1640 * c-common.c (shorten_compare): But look through macros from
1641 system headers.
1642
2d3d3af7 16432015-11-18 Jason Merrill <jason@redhat.com>
1644
1645 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1646 non-constant operand comes from a macro.
1647
7991eeee 16482015-11-17 Jason Merrill <jason@redhat.com>
1649
1650 PR bootstrap/68346
1651 * c-common.c (warn_tautological_cmp): Fold before checking for
1652 constants.
1653
73f67931 16542015-11-16 Marek Polacek <polacek@redhat.com>
1655
1656 PR c++/68362
1657 * c-common.c (check_case_bounds): Fold low and high cases.
1658
8e539fdc 16592015-11-16 Marek Polacek <polacek@redhat.com>
1660
1661 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1662 * c-common.c (c_common_get_alias_set): Likewise.
1663 (handle_visibility_attribute): Likewise.
1664
c58a4cfd 16652015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1666
1667 * c-common.c (handle_simd_attribute): New.
1668 (struct attribute_spec): Add entry for "simd".
1669 (handle_simd_attribute): New.
1670
bb036391 16712015-11-13 Kai Tietz <ktietz70@googlemail.com>
1672
1673 * c-lex.c (interpret_float): Use fold_convert.
1674
a96cefb2 16752015-11-13 David Malcolm <dmalcolm@redhat.com>
1676
1677 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1678 and store it on the result.
1679 * c-opts.c (c_common_init_options): Set
1680 global_dc->colorize_source_p.
1681
2fc5e987 16822015-11-12 James Norris <jnorris@codesourcery.com>
1683 Joseph Myers <joseph@codesourcery.com>
1684
1685 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1686 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1687 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1688 PRAGMA_OACC_CLAUSE_LINK.
1689
81b1b2a8 16902015-11-11 Marek Polacek <polacek@redhat.com>
1691
1692 PR c/68107
1693 PR c++/68266
1694 * c-common.c (valid_array_size_p): New function.
1695 * c-common.h (valid_array_size_p): Declare.
1696
92a44a68 16972015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 1698
1699 PR bootstrap/68271
1700 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1701
6e803544 17022015-11-11 Andrew MacLeod <amacleod@redhat.com>
1703
1704 * array-notation-common.c: Remove unused header files.
1705 * c-ada-spec.c: Likewise.
1706 * c-cilkplus.c: Likewise.
1707 * c-common.c: Likewise.
1708 * c-cppbuiltin.c: Likewise.
1709 * c-dump.c: Likewise.
1710 * c-format.c: Likewise.
1711 * c-gimplify.c: Likewise.
1712 * c-indentation.c: Likewise.
1713 * c-lex.c: Likewise.
1714 * c-omp.c: Likewise.
1715 * c-opts.c: Likewise.
1716 * c-pch.c: Likewise.
1717 * c-ppoutput.c: Likewise.
1718 * c-pragma.c: Likewise.
1719 * c-pretty-print.c: Likewise.
1720 * c-semantics.c: Likewise.
1721 * c-ubsan.c: Likewise.
1722 * cilk.c: Likewise.
1723 * stub-objc.c: Likewise.
1724
a1b7fe4b 17252015-11-09 Thomas Schwinge <thomas@codesourcery.com>
1726 Cesar Philippidis <cesar@codesourcery.com>
1727 James Norris <jnorris@codesourcery.com>
1728 Julian Brown <julian@codesourcery.com>
1729 Nathan Sidwell <nathan@codesourcery.com>
1730
1731 * c-pragma.c (oacc_pragmas): Add "routine".
1732 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
1733
292237f3 17342015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1735
1736 * c-common.c (c_common_attributes): Add scalar_storage_order.
1737 (handle_scalar_storage_order_attribute): New function.
1738 * c-pragma.c (global_sso): New variable.
1739 (maybe_apply_pragma_scalar_storage_order): New function.
1740 (handle_pragma_scalar_storage_order): Likewise.
1741 (init_pragma): Register scalar_storage_order.
1742 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
1743 * c.opt (Wscalar-storage-order): New warning.
1744 (fsso-struct=): New option.
1745
b4a4c5fa 17462015-11-08 Martin Sebor <msebor@redhat.com>
1747
1748 * c.opt (Wplacement-new): Add a period to the end of a sentence.
1749
ac677063 17502015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1751
1752 * c-common.c: Don't undef DEF_BUILTIN.
1753
f0479000 17542015-11-06 David Malcolm <dmalcolm@redhat.com>
1755
1756 * c-common.c (c_cpp_error): Convert parameter from location_t to
1757 rich_location *. Eliminate the "column_override" parameter and
1758 the call to diagnostic_override_column.
1759 Update the "done_lexing" clause to set range 0
1760 on the rich_location, rather than overwriting a location_t.
1761 * c-common.h (c_cpp_error): Convert parameter from location_t to
1762 rich_location *. Eliminate the "column_override" parameter.
1763
ef014f95 17642015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1765 Thomas Schwinge <thomas@codesourcery.com>
1766 James Norris <jnorris@codesourcery.com>
1767
1768 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
1769 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
1770 clauses with parallel and kernels and loops.
1771 * c-pragma.h (enum pragma_omp_clause): Add entries for
1772 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
1773 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
1774 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
1775 INDEPENDENT,SEQ}.
1776 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
1777
e520488c 17782015-11-05 Martin Sebor <msebor@redhat.com>
1779
1780 PR c++/67942
1781 * c.opt (-Wplacement-new): New option.
1782
9561765e 17832015-11-05 Jakub Jelinek <jakub@redhat.com>
1784
1785 * c-common.h (c_finish_omp_atomic): Add TEST argument.
1786 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
1787 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
1788 save_expr or create_tmp_var* if TEST is true.
1789 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
1790 Don't call add_stmt here.
1791 (struct c_omp_check_loop_iv_data): New type.
1792 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
1793 c_omp_check_loop_iv_exprs): New functions.
1794 (c_omp_split_clauses): Adjust for lastprivate being allowed on
1795 distribute.
1796 (c_omp_declare_simd_clauses_to_numbers): Change
1797 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
1798 (c_omp_declare_simd_clauses_to_decls): Similarly change those
1799 from numbers to PARM_DECLs.
1800
5e8689fb 18012015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1802
1803 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
1804 flag_checking.
1805
92a44a68 18062015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 1807
1808 PR c++-common/67882
32d050b5 1809 * c-common.h (fold_offsetof_1): Add argument.
1810 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 1811 offsetof expressions that reference elements past the end of
1812 an array.
1813
9e10bfb7 18142015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1815 Chung-Lin Tang <cltang@codesourcery.com>
1816
1817 * c-pragma.c (oacc_pragmas): Add "atomic".
1818 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
1819
ab50af2a 18202015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1821
1822 * c-common.c (handle_target_clones_attribute): New.
1823 (c_common_attribute_table): Add handle_target_clones_attribute.
1824 (handle_always_inline_attribute): Add check on target_clones attribute.
1825 (handle_target_attribute): Ditto.
1826
4cba6f60 18272015-10-29 Andrew MacLeod <amacleod@redhat.com>
1828
1829 * array-notation-common.c: Reorder #include's and remove duplicates.
1830 * c-ada-spec.c: Likewise.
1831 * c-cilkplus.c: Likewise.
1832 * c-common.c: Likewise.
1833 * c-cppbuiltin.c: Likewise.
1834 * c-dump.c: Likewise.
1835 * c-format.c: Likewise.
1836 * c-gimplify.c: Likewise.
1837 * c-indentation.c: Likewise.
1838 * c-lex.c: Likewise.
1839 * c-omp.c: Likewise.
1840 * c-opts.c: Likewise.
1841 * c-pch.c: Likewise.
1842 * c-ppoutput.c: Likewise.
1843 * c-pragma.c: Likewise.
1844 * c-pretty-print.c: Likewise.
1845 * c-semantics.c: Likewise.
1846 * c-ubsan.c: Likewise.
1847 * cilk.c: Likewise.
1848 * stub-objc.c: Likewise.
1849
f576a2e4 18502015-10-28 Jason Merrill <jason@redhat.com>
1851
1852 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
1853
2c4c8725 18542015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1855 James Norris <jnorris@codesourcery.com>
1856 Cesar Philippidis <cesar@codesourcery.com>
1857
1858 PR c/64765
1859 PR c/64880
1860 * c-common.h (c_oacc_split_loop_clauses): Declare function.
1861 * c-omp.c (c_oacc_split_loop_clauses): New function.
1862
8204c077 18632015-10-21 Martin Sebor <msebor@redhat.com>
1864
1865 PR driver/68043
1866 * c.opt: End each sentence that describes an option with a period.
1867
8523243e 18682015-10-20 Marek Polacek <polacek@redhat.com>
1869
1870 * array-notation-common.c (is_cilkplus_vector_p): Define.
1871 * c-common.h (is_cilkplus_vector_p): Declare.
1872
08881cb8 18732015-10-20 Marek Polacek <polacek@redhat.com>
1874
1875 * c.opt (std=gnu++11): Do not describe as experimental.
1876 (std=gnu++14): Likewise.
1877
a36e5e5e 18782015-10-19 Jason Merrill <jason@redhat.com>
1879
1880 * c-cppbuiltin.c (c_cpp_builtins): Define
1881 __cpp_nontype_template_args.
1882
a349de0a 18832015-10-19 Jason Merrill <jason@redhat.com>
1884
1885 * c-cppbuiltin.c (c_cpp_builtins): Define
1886 __cpp_enumerator_attributes, __cpp_fold_expressions,
1887 __cpp_unicode_characters.
1888
43895be5 18892015-10-13 Jakub Jelinek <jakub@redhat.com>
1890 Aldy Hernandez <aldyh@redhat.com>
1891
1892 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
1893 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
1894 (c_define_builtins): Likewise.
1895 * c-common.h (enum c_omp_clause_split): Add
1896 C_OMP_CLAUSE_SPLIT_TASKLOOP.
1897 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
1898 (c_finish_omp_for): Add ORIG_DECLV argument.
1899 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
1900 201511 instead of 201307.
1901 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
1902 OMP_CRITICAL_CLAUSES to it.
1903 (c_finish_omp_ordered): Add CLAUSES argument, set
1904 OMP_ORDERED_CLAUSES to it.
1905 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
1906 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
1907 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
1908 constructs and new OpenMP 4.5 clauses. Clear
1909 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
1910 verification code.
1911 * c-pragma.c (omp_pragmas_simd): Add taskloop.
1912 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
1913 (enum pragma_omp_clause): Add
1914 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
1915 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
1916
20cb53c9 19172015-10-05 Richard Sandiford <richard.sandiford@arm.com>
1918
1919 * c-lex.c (interpret_float): Use real_equal instead of
1920 REAL_VALUES_EQUAL.
1921
6d02e6b2 19222015-10-04 Jason Merrill <jason@redhat.com>
1923
1924 Implement N4514, C++ Extensions for Transactional Memory.
1925 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
1926 (c_common_attribute_table): Add transaction_safe_dynamic.
1927 transaction_safe now affects type identity.
1928 (handle_tm_attribute): Handle transaction_safe_dynamic.
1929 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
1930 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
1931 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
1932 (D_TRANSMEM): New.
1933 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
1934 * c-pretty-print.c (pp_c_attributes_display): Don't print
1935 transaction_safe in C++.
1936
c0999a5d 19372015-10-02 Marek Polacek <polacek@redhat.com>
1938
1939 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
1940
ef17a71a 19412015-10-02 Marek Polacek <polacek@redhat.com>
1942
1943 PR c/64249
1944 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
1945 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
1946 * c.opt (Wduplicated-cond): New option.
1947
05b84e7b 19482015-10-01 Joseph Myers <joseph@codesourcery.com>
1949
1950 * c.opt (std=c11): Do not describe as experimental.
1951 (std=gnu11): Likewise.
1952 (std=iso9899:2011): Likewise.
1953
e561d5e1 19542015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1955
1956 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
1957 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1958
bd4b90d2 19592015-09-25 Marek Polacek <polacek@redhat.com>
1960
1961 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
1962 (ubsan_instrument_shift): Likewise.
1963
ac13b2b2 19642015-09-25 Marek Polacek <polacek@redhat.com>
1965
1966 PR sanitizer/64906
1967 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
1968
a3c82f4c 19692015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
1970
1971 * c-indentation.c (should_warn_for_misleading_indentation):
1972 Compare next_stmt_vis_column with guard_line_first_nws instead
1973 of with guard_line_vis_column.
1974
5eef101d 19752015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1976
1977 PR c/49654
1978 PR c/49655
1979 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
1980 options and options not valid for the current language.
1981
60897493 19822015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
1983
1984 * c-indentation.c (should_warn_for_misleading_indentation):
1985 Float out and consolidate the calls to get_visual_column that
1986 are passed guard_exploc as an argument. Compare
1987 next_stmt_vis_column with guard_line_first_nws instead of with
1988 body_line_first_nws.
1989
85c93154 19902015-09-22 Nathan Sidwell <nathan@codesourcery.com>
1991
1992 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
1993 Wnamespaces): New C++ warnings.
1994
229a58b1 19952015-09-22 Jason Merrill <jason@redhat.com>
1996
1997 * c-common.h (abi_compat_version_crosses): New.
1998 (warn_abi_version): Declare.
1999 * c-common.c: Define it.
2000 * c-opts.c (c_common_post_options): Handle it.
2001 flag_abi_compat_version defaults to 8.
2002
2d2de569 20032015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2004
2005 Complete the implementation of N4230, Nested namespace definition.
2006 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2007 __cpp_nested_namespace_definitions.
2008
2b897e68 20092015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2010
2011 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2012
ed536208 20132015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2014
2015 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2016 when warning.
2017 * c-pragma.h (pragma_lex): Add optional loc argument.
2018
1dc6c44d 20192015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2020
2021 * c-format.c (check_format_arg): Adjust to use common block size in all
2022 object pools.
2023
be812248 20242015-09-15 David Malcolm <dmalcolm@redhat.com>
2025
2026 * c-format.c (location_from_offset): Update for change in
2027 signature of location_get_source_line.
2028 * c-indentation.c (get_visual_column): Likewise.
2029 (line_contains_hash_if): Likewise.
2030
e4cc057f 20312015-09-14 Marek Polacek <polacek@redhat.com>
2032
2033 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2034 setting various warnings.
2035
85f5e2ee 20362015-09-14 Marek Polacek <polacek@redhat.com>
2037
2038 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2039 a negative value.
2040
1bca8cbd 20412015-09-11 Mark Wielaard <mjw@redhat.com>
2042
2043 PR c/28901
2044 * c.opt (Wunused-variable): Option from common.opt.
2045 (Wunused-const-variable): New option.
2046
ee48893a 20472015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2048
2049 PR c++/53184
2050 * c.opt ([Wsubobject-linkage]): Add.
2051
547c6b1f 20522015-09-03 Martin Sebor <msebor@redhat.com>
2053
2054 PR c/66516
2055 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2056 functions.
2057 * c-common.c (reject_gcc_builtin): Define.
2058
7e976b10 20592015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2060
2061 PR middle-end/60586
2062 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2063 prototype.
2064 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2065 cilk_gimplify_call_params_in_spawned_fn.
2066 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2067 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2068 unwrapping.
2069
9e6bcade 20702015-08-25 Marek Polacek <polacek@redhat.com>
2071
2072 PR middle-end/67330
2073 * c-common.c (handle_weak_attribute): Don't check whether the
2074 visibility can be changed here.
2075
af9de21d 20762015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2077
2078 * c-lex.c (c_lex_with_flags): Use explicit locations.
2079
6dc50383 20802015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2081
2082 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2083 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2084
10902624 20852015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2086
2087 PR middle-end/36757
2088 * c-common.c (check_builtin_function_arguments): Add check
2089 for BUILT_IN_SIGNBIT argument.
2090
a03a71ab 20912015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2092
2093 PR c++/67160
2094 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2095 in c++1z mode.
2096
22723c26 20972015-08-17 Marek Polacek <polacek@redhat.com>
2098
2099 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2100 with whitespaces before qualifier names.
2101
f4809955 21022015-08-12 Marek Polacek <polacek@redhat.com>
2103
2104 PR c++/55095
2105 * c-common.c (maybe_warn_shift_overflow): Properly handle
2106 left-shifting 1 into the sign bit.
2107
5463f502 21082015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2109
2110 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2111
56c12fd4 21122015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2113 Braden Obrzut <admin@maniacsvault.net>
2114 Jason Merrill <jason@redhat.com>
2115
2116 Add C++ Concepts TS support.
2117 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2118 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2119 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2120 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2121 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2122 * c.opt (fconcepts): New.
2123
32d050b5 21242015-08-02 Martin Sebor <msebor@redhat.com>
2125
2126 * c.opt (-Wframe-address): New warning option.
2127
17afcef6 21282015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2129
2130 * c-indentation.c (should_warn_for_misleading_indentation):
2131 Improve heuristics.
2132
f95bfdd4 21332015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2134
2135 * c-indentation.c (get_visual_column): Add parameter first_nws,
2136 use it. Update comment documenting the function.
2137 (is_first_nonwhitespace_on_line): Remove.
2138 (should_warn_for_misleading_indentation): Replace usage of
2139 of is_first_nonwhitespace_on_line with get_visual_column.
2140
9255be07 21412015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2142
2143 * c-indentation.h (struct token_indent_info): Define.
2144 (get_token_indent_info): Define.
2145 (warn_for_misleading_information): Declare.
2146 * c-common.h (warn_for_misleading_information): Remove.
2147 * c-identation.c (warn_for_misleading_indentation):
2148 Change declaration to take three token_indent_infos. Adjust
2149 accordingly.
2150 * c-identation.c (should_warn_for_misleading_indentation):
2151 Likewise. Bail out early if the body is a compound statement.
2152 (guard_tinfo_to_string): Define.
2153
e880695c 21542015-07-30 Jason Merrill <jason@redhat.com>
2155
2156 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2157 '*' for reference decay.
2158
f58dd84b 21592015-07-30 Marek Polacek <polacek@redhat.com>
2160
2161 * c-common.c (warn_tautological_cmp): Bail for float types.
2162
d9e4fe27 21632015-07-27 Marek Polacek <polacek@redhat.com>
2164
2165 PR bootstrap/67030
2166 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2167
6784a472 21682015-07-27 Marek Polacek <polacek@redhat.com>
2169
2170 PR c++/66555
2171 PR c/54979
2172 * c-common.c (find_array_ref_with_const_idx_r): New function.
2173 (warn_tautological_cmp): New function.
2174 * c-common.h (warn_tautological_cmp): Declare.
2175 * c.opt (Wtautological-compare): New option.
2176
08034975 21772015-07-23 Marek Polacek <polacek@redhat.com>
2178
2179 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2180 (ubsan_instrument_shift): Likewise.
2181
f6f5e49b 21822015-07-23 Marek Polacek <polacek@redhat.com>
2183
2184 PR sanitizer/66908
2185 * c-ubsan.c: Include gimplify.h.
2186 (ubsan_instrument_division): Unshare OP0 and OP1.
2187 (ubsan_instrument_shift): Likewise.
2188
8d669e79 21892015-07-20 Marek Polacek <polacek@redhat.com>
2190 Richard Sandiford <richard.sandiford@arm.com>
2191
2192 PR c++/55095
2193 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2194 Use EXPR_LOC_OR_LOC.
2195 (maybe_warn_shift_overflow): New function.
2196 * c-common.h (maybe_warn_shift_overflow): Declare.
2197 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2198 * c.opt (Wshift-overflow): New option.
2199
e16712b1 22002015-07-16 Martin Liska <mliska@suse.cz>
2201
2202 * c-format.c (static void check_format_info_main): Use
2203 object_allocator instead of pool_allocator.
2204 (check_format_arg): Likewise.
2205 (check_format_info_main): Likewise.
2206
e51764ad 22072015-07-15 Andrew MacLeod <amacleod@redhat.com>
2208
2209 * c-opts.c: Remove multiline #include comment.
2210
47ae02b7 22112015-07-12 Aldy Hernandez <aldyh@redhat.com>
2212
2213 * c-common.c: Fix double word typos.
2214
ed2b2eb2 22152015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2216
2217 * c-ada-spec.h (cpp_operation): Revert latest change.
2218 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2219 constructors and destructors.
2220
1eacc14a 22212015-07-09 Andrew MacLeod <amacleod@redhat.com>
2222
2223 * c-common.h: Adjust includes for flags.h changes.
2224 * stub-objc.c: Likewise.
47ae02b7 2225
0124237f 22262015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2227
2228 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2229 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2230
386ef929 22312015-07-08 Jakub Jelinek <jakub@redhat.com>
2232
2233 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2234 are to be removed, return NULL rather than original clauses list.
2235
9ef16211 22362015-07-07 Andrew MacLeod <amacleod@redhat.com>
2237
2238 * array-notation-common.c: Adjust includes.
2239 * c-ada-spec.c: Likewise.
2240 * c-cilkplus.c: Likewise.
2241 * c-common.h: Likewise.
2242 * c-cppbuiltin.c: Likewise.
2243 * c-dump.c: Likewise.
2244 * c-format.c: Likewise.
2245 * c-gimplify.c: Likewise.
2246 * c-indentation.c: Likewise.
2247 * c-lex.c: Likewise.
2248 * c-omp.c: Likewise.
2249 * c-opts.c: Likewise.
2250 * c-pch.c: Likewise.
2251 * c-ppoutput.c: Likewise.
2252 * c-pragma.c: Likewise.
2253 * c-pretty-print.c: Likewise.
2254 * c-semantics.c: Likewise.
2255 * c-ubsan.c: Likewise.
2256 * cilk.c: Likewise.
2257 * stub-objc.c: Likewise.
2258
67ede3e4 22592015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2260
2261 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2262 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2263
42af8c2a 22642015-07-01 Jason Merrill <jason@redhat.com>
2265
fa769cc5 2266 * c-common.h (D_CXX11): Rename from D_CXX0X.
2267 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2268 * c-common.c: Adjust.
2269
97e9c847 2270 * c-opts.c (c_common_post_options): Default to C++14.
2271
42af8c2a 2272 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2273
30b1ba42 22742015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2275
2276 Implement N4197 - Adding u8 character literals
32d050b5 2277 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 2278 CPP_CHAR.
32d050b5 2279 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 2280 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 2281 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 2282 and CPP_UTF8CHAR tokens.
2283 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 2284
0949f227 22852015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2286
2287 PR fortran/66605
2288 * c-common.c (do_warn_unused_parameter): Move here.
2289 * c-common.h (do_warn_unused_parameter): Declare.
2290
be23b16f 22912015-06-29 Marek Polacek <polacek@redhat.com>
2292
2293 PR c/66322
2294 * c-common.c (check_case_bounds): Add bool * parameter. Set
2295 OUTSIDE_RANGE_P.
2296 (c_add_case_label): Add bool * parameter. Pass it down to
2297 check_case_bounds.
2298 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2299 warning here.
2300 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2301 declarations.
2302
6290f0db 23032015-06-27 Marek Polacek <polacek@redhat.com>
2304
2305 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2306 or VECTOR_INTEGER_TYPE_P throughout.
2307 * c-gimplify.c: Likewise.
2308
aa3e402e 23092015-06-26 Marek Polacek <polacek@redhat.com>
2310
2311 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2312 * c-common.c (c_fully_fold_internal): Likewise.
2313 (c_alignof_expr): Likewise.
2314 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2315 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 2316 * cilk.c (create_parm_list): Likewise.
aa3e402e 2317
4e81b384 23182015-06-26 Marek Polacek <polacek@redhat.com>
2319
2320 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2321
ec2e0095 23222015-06-25 Andrew MacLeod <amacleod@redhat.com>
2323
2324 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2325 * c-gimplify.c: Likewise.
2326 * c-pragma.c: Likewise.
2327 * c-ubsan.c: Likewise.
2328 * cilk.c: Likewise.
2329
b594087e 23302015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2331
2332 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2333 ggc_hasher.
2334
a3c76fda 23352015-06-25 Andrew MacLeod <amacleod@redhat.com>
2336
2337 * cilk.c: Move calls.h after tm.h in the include chain.
2338
f48c7f4a 23392015-06-25 Marek Polacek <polacek@redhat.com>
2340
2341 * array-notation-common.c: Use VAR_P throughout.
2342 * c-ada-spec.c: Likewise.
2343 * c-common.c: Likewise.
2344 * c-format.c: Likewise.
2345 * c-gimplify.c: Likewise.
2346 * c-omp.c: Likewise.
2347 * c-pragma.c: Likewise.
2348 * c-pretty-print.c: Likewise.
2349 * cilk.c: Likewise.
2350
ce41e81a 23512015-06-25 Marek Polacek <polacek@redhat.com>
2352
2353 * cilk.c (extract_free_variables): Use is_global_var.
2354
de231ec2 23552015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2356
2357 * c-common.c: Don't include target-def.h.
2358
0200602e 23592015-06-23 Marek Polacek <polacek@redhat.com>
2360
2361 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2362 when comparing INTEGER_CSTs.
2363
99838ed7 23642015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2365
2366 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2367 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2368 (dump_ada_template): Skip partially specialized types.
2369
a4f59596 23702015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2371
2372 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2373 swapping.
2374
f2ab3bac 23752015-06-17 Andrew MacLeod <amacleod@redhat.com>
2376
2377 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2378 * c-ada-spec.c: Likewise.
2379 * c-cilkplus.c: Likewise.
2380 * c-common.c: Likewise.
2381 * c-common.h: Likewise.
2382 * c-cppbuiltin.c: Likewise.
2383 * c-dump.c: Likewise.
2384 * c-format.c: Likewise.
2385 * c-gimplify.c: Likewise.
2386 * c-indentation.c: Likewise.
2387 * c-lex.c: Likewise.
2388 * c-omp.c: Likewise.
2389 * c-opts.c: Likewise.
2390 * c-pch.c: Likewise.
2391 * c-ppoutput.c: Likewise.
2392 * c-pragma.c: Likewise.
2393 * c-pretty-print.c: Likewise.
2394 * c-semantics.c: Likewise.
2395 * c-ubsan.c: Likewise.
2396 * cilk.c: Likewise.
2397 * stub-objc.c: Likewise.
2398
db3d1ffc 23992015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2400
2401 PR c++/65168
2402 * c-common.c (c_common_truthvalue_conversion): Warn when
2403 converting an address of a reference to a truth value.
2404
64486212 24052015-06-08 Andrew MacLeod <amacleod@redhat.com>
2406
2407 * array-notation-common.c : Adjust include files.
2408 * c-ada-spec.c : Likewise.
2409 * c-cilkplus.c : Likewise.
2410 * c-common.c : Likewise.
2411 * c-common.h : Likewise.
2412 * c-cppbuiltin.c : Likewise.
2413 * c-dump.c : Likewise.
2414 * c-format.c : Likewise.
2415 * c-gimplify.c : Likewise.
2416 * c-indentation.c : Likewise.
2417 * c-lex.c : Likewise.
2418 * c-omp.c : Likewise.
2419 * c-opts.c : Likewise.
2420 * c-pch.c : Likewise.
2421 * c-ppoutput.c : Likewise.
2422 * c-pragma.c : Likewise.
2423 * c-pretty-print.c : Likewise.
2424 * c-semantics.c : Likewise.
2425 * c-ubsan.c : Likewise.
2426 * cilk.c : Likewise.
2427 * stub-objc.c : Likewise.
2428
6e84ccad 24292015-06-08 Marek Polacek <polacek@redhat.com>
2430
2431 PR c/66415
2432 * c-format.c (location_from_offset): Return LOC if LINE is null.
2433
3a1c9df2 24342015-06-05 Aldy Hernandez <aldyh@redhat.com>
2435
2436 * c-common.h (c_parse_final_cleanups): New prototype.
2437 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2438
32d050b5 24392015-06-04 Sriraman Tallam <tmsriram@google.com>
2440
2441 * c-common.c (noplt): New attribute.
2442 (handle_noplt_attribute): New handler.
2443
f77c0292 24442015-06-04 Andrew MacLeod <amacleod@redhat.com>
2445
2446 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2447 * c-ada-spec.c: Likewise.
2448 * c-cilkplus.c: Likewise.
2449 * c-common.c: Likewise.
2450 * c-common.h: Likewise.
2451 * c-cppbuiltin.c: Likewise.
2452 * c-dump.c: Likewise.
2453 * c-format.c: Likewise.
2454 * c-gimplify.c: Likewise.
2455 * c-indentation.c: Likewise.
2456 * c-lex.c: Likewise.
2457 * c-omp.c: Likewise.
2458 * c-opts.c: Likewise.
2459 * c-pch.c: Likewise.
2460 * c-ppoutput.c: Likewise.
2461 * c-pragma.c: Likewise.
2462 * c-pretty-print.c: Likewise.
2463 * c-semantics.c: Likewise.
2464 * c-ubsan.c: Likewise.
2465 * cilk.c: Likewise.
2466 * stub-objc.c: Likewise.
2467
7c62dfbb 24682015-06-02 David Malcolm <dmalcolm@redhat.com>
2469
2470 PR c/66220:
2471 * c-indentation.c (should_warn_for_misleading_indentation): Use
2472 expand_location rather than expand_location_to_spelling_point.
2473 Don't warn if the guarding statement is more indented than the
2474 next/body stmts.
2475
9af7c176 24762015-06-02 David Malcolm <dmalcolm@redhat.com>
2477
2478 * c-indentation.c (warn_for_misleading_indentation): Bail out
2479 immediately if -Wmisleading-indentation isn't enabled.
2480
eebcf436 24812015-06-01 Martin Liska <mliska@suse.cz>
2482
2483 * c-format.c (check_format_arg):Use new type-based pool allocator.
2484 (check_format_info_main) Likewise.
2485
b0a23e2f 24862015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2487
2488 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2489 (has_nontrivial_methods): Likewise.
2490
63dc1330 24912015-05-25 Marek Polacek <polacek@redhat.com>
2492
2493 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2494
5a4c69dd 24952015-05-22 Marek Polacek <polacek@redhat.com>
2496
2497 PR c/47043
2498 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2499
044580bb 25002015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 2501
2502 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2503 STACK_GROWS_DOWNWARD.
2504
044580bb 25052015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 2506
2507 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2508 STACK_GROWS_DOWNWARD rather than if it is defined.
2509
d5a2ddc7 25102015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 2511
d5a2ddc7 2512 PR c/52952
2513 * c-format.c (location_column_from_byte_offset): New.
2514 (location_from_offset): New.
2515 (struct format_wanted_type): Add offset_loc field.
2516 (check_format_info): Move handling of location for extra arguments
2517 closer to the point of warning.
2518 (check_format_info_main): Pass the result of location_from_offset
2519 to warning_at.
2520 (format_type_warning): Pass the result of location_from_offset
2521 to warning_at.
2522
72f8014e 25232015-05-20 Marek Polacek <polacek@redhat.com>
2524
2525 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2526
74efe522 25272015-05-20 Marek Polacek <polacek@redhat.com>
2528
2529 * c-ada-spec.c (dump_sloc): Use DECL_P.
2530
b443c459 25312015-05-20 Marek Polacek <polacek@redhat.com>
2532
2533 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2534 * c-common.c: Likewise.
2535
551e34da 25362015-05-19 David Malcolm <dmalcolm@redhat.com>
2537
2538 * c-common.h (fe_file_change): Strengthen param from
2539 const line_map * to const line_map_ordinary *.
2540 (pp_file_change): Likewise.
2541 * c-lex.c (fe_file_change): Likewise.
2542 (cb_define): Use linemap_check_ordinary when invoking
2543 SOURCE_LINE.
2544 (cb_undef): Likewise.
2545 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2546 invoking cb_file_change.
2547 (c_finish_options): Likewise.
2548 (push_command_line_include): Likewise.
2549 (cb_file_change): Strengthen param "new_map" from
2550 const line_map * to const line_map_ordinary *.
2551 * c-ppoutput.c (cb_define): Likewise for local "map".
2552 (pp_file_change): Likewise for param "map" and local "from".
2553
dfcf26a5 25542015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2555
2556 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2557
2e474820 25582015-05-18 Tom de Vries <tom@codesourcery.com>
2559
2560 * c-common.c (build_va_arg_1): New function.
2561 (build_va_arg): Add address operator to va_list operand if necessary.
2562
e53013a8 25632015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2564
2565 PR c/48956
2566 * c-common.c (int_safely_convertible_to_real_p): Define.
2567 (unsafe_conversion_p): Check conversions involving complex types.
2568 (conversion_warning): Add new warning message for conversions which
2569 discard imaginary component.
2570 * c-common.h: (enum conversion_safety): Add new enumerator for such
2571 conversions.
2572
aac24642 25732015-05-14 Marek Polacek <polacek@redhat.com>
2574
2575 PR c/66066
2576 PR c/66127
2577 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2578 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2579 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2580 use it. If FOR_INT_CONST, require that all evaluated operands be
2581 INTEGER_CSTs.
2582
e5f01cba 25832015-05-12 David Malcolm <dmalcolm@redhat.com>
2584
2585 * c-common.h (warn_for_misleading_indentation): New prototype.
2586 * c-indentation.c: New file.
2587 * c.opt (Wmisleading-indentation): New option.
2588
c37be9ec 25892015-05-12 Tom de Vries <tom@codesourcery.com>
2590
2591 PR tree-optimization/66010
2592 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2593
7290114b 25942015-05-09 Jason Merrill <jason@redhat.com>
2595
3c665566 2596 * c-opts.c (c_common_post_options): Also clear
2597 cpp_opts->cpp_warn_cxx11_compat.
2598
d875b9d2 2599 * c-common.h (enum cxx_dialect): Add cxx_unset.
2600 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2601 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2602
7290114b 2603 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2604 (std=gnu++0x): Mark as Undocumented.
2605 (std=gnu++1y): Add deprecated message.
2606
1b03cc89 26072015-05-08 Jason Merrill <jason@redhat.com>
2608
1c5f7aba 2609 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2610 * c-opts.c: Adjust.
2611
1b03cc89 2612 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2613
dc5945dc 26142015-05-08 Marek Polacek <polacek@redhat.com>
2615
2616 PR c/64918
2617 * c.opt (Woverride-init-side-effects): New option.
2618
cdc64059 26192015-05-07 Marek Polacek <polacek@redhat.com>
2620
2621 PR c/65179
2622 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2623 negative value.
2624 * c.opt (Wshift-negative-value): New option.
2625 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2626 when -Wextra and C99/C++11 mode.
2627
8cafe283 26282015-05-07 Marek Polacek <polacek@redhat.com>
2629 Martin Uecker <uecker@eecs.berkeley.edu>
2630
2631 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2632 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2633
cb40a6f7 26342015-05-05 Jason Merrill <jason@redhat.com>
2635
2636 * c.opt (Wterminate): New.
2637
14744a16 26382015-04-30 Marek Polacek <polacek@redhat.com>
2639
2640 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2641 require that the non-constant be of a boolean type.
2642
9866562d 26432015-04-29 Josh Triplett <josh@joshtriplett.org>
2644
8cafe283 2645 * c-common.c (handle_section_attribute): Refactor to reduce
2646 nesting and distinguish between error cases.
9866562d 2647
a720ab1c 26482015-04-29 Marek Polacek <polacek@redhat.com>
2649
2650 PR c/64610
2651 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2652 with 0/1.
2653
8c072e52 26542015-04-29 Jakub Jelinek <jakub@redhat.com>
2655
2656 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2657 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2658 HOST_BITS_PER_WIDE_INT.
2659
f7fec1c7 26602015-04-28 Tom de Vries <tom@codesourcery.com>
2661
2662 PR tree-optimization/65887
2663 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2664
483b3d26 26652015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 2666 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 2667
2668 * c-ada-spec.c (in_function): Delete.
2669 (dump_generic_ada_node): Do not change in_function and remove the
2670 redundant code dealing with it.
2671 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2672 (print_ada_methods): Output the static member functions in a nested
2673 package after the regular methods as well as associated renamings.
2674
f11bdffb 26752015-04-24 Marek Polacek <polacek@redhat.com>
2676
2677 PR c/65830
2678 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2679 and OPT_Wshift_count_overflow.
2680
485f6b9c 2681 PR c/63357
2682 * c-common.c (warn_logical_operator): Warn if the operands have the
2683 same expressions.
2684
439606a9 26852015-04-24 Marek Polacek <polacek@redhat.com>
2686
2687 PR c/61534
2688 * c-common.c (warn_logical_operator): Bail if either operand comes
2689 from a macro expansion.
2690
de801c28 26912015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2692
2693 PR target/55143
2694 * c-common.c (c_default_pointer_mode): Add definition.
2695 * c-common.h (c_default_pointer_mode): Add declaration.
2696
76738f56 26972015-03-11 Jakub Jelinek <jakub@redhat.com>
2698
2699 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2700 on record_builtin_type argument.
2701
16f958b3 27022015-03-10 Jakub Jelinek <jakub@redhat.com>
2703
2704 PR c/65120
2705 * c-common.c (warn_logical_not_parentheses): Don't warn for
2706 !x == 0 or !x != 0.
2707
9b22f73f 27082015-03-07 Marek Polacek <polacek@redhat.com>
2709
2710 PR sanitizer/65280
2711 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2712 before trying to figure out whether we have a flexible array member.
2713
a864b7d4 27142015-03-06 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 2715 Jonathan Wakely <jwakely.gcc@gmail.com>
a864b7d4 2716
2717 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2718
9bf8c90b 27192015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2720
2721 PR ada/65319
2722 * c-ada-spec.c (print_destructor): Remove obsolete code.
2723
037ac54f 27242015-03-01 Eric Botcazou <ebotcazou@adacore.com>
2725
2726 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
2727 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
2728 DECL_TEMPLATE_RESULT emulations.
2729 (dump_ada_template)): Add guard for TYPE_METHODS.
2730
495cbfb8 27312015-02-27 Marek Polacek <polacek@redhat.com>
2732
2733 PR c/65040
2734 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
2735
688a864e 27362015-02-27 Kai Tietz <ktietz@redhat.com>
2737
2738 PR c/35330
2739 * c-pragma.c (handle_pragma_weak): Do not try to create
2740 weak/alias of declarations not being function, or variable
2741 declarations.
2742
6349b8cc 27432015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2744
2745 PR libgomp/64625
2746 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2747 Remove macros.
2748 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2749
3afd5369 27502015-02-16 Marek Polacek <polacek@redhat.com>
2751
2752 PR c/65066
2753 * c-format.c (check_format_types): Handle null param.
2754
46173d1b 27552015-02-13 Marek Polacek <polacek@redhat.com>
2756
2757 PR c/65040
2758 * c-format.c (check_format_types): Don't warn about different
2759 signedness if the original value is in the range of WANTED_TYPE.
2760
1d524ff7 27612015-02-12 Jason Merrill <jason@redhat.com>
2762
2763 PR c++/64956
2764 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
2765 to the current highest version.
2766 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
2767
bbf8fbec 27682015-02-04 Jakub Jelinek <jakub@redhat.com>
2769
2770 PR c/64824
2771 PR c/64868
2772 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
2773 instead of RDIV_EXPR. Use build_binary_op instead of
2774 build2_loc.
2775
c05be867 27762015-01-30 Joseph Myers <joseph@codesourcery.com>
2777
2778 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
2779 to pass input_location as first argument.
2780
85977647 27812015-01-23 Tom de Vries <tom@codesourcery.com>
2782
2783 PR libgomp/64672
2784 * c.opt (fopenacc): Mark as LTO option.
2785
fa175926 27862015-01-23 Tom de Vries <tom@codesourcery.com>
2787
2788 PR libgomp/64707
2789 * c.opt (fopenmp): Mark as LTO option.
2790
20aad5ba 27912015-01-21 Jakub Jelinek <jakub@redhat.com>
2792
2793 PR c/63307
8204c077 2794 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 2795 (compare_decls): Fix up formatting.
2796
27972015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
2798
2799 PR c/63307
2800 * cilk.c: Include vec.h.
2801 (struct cilk_decls): New structure.
2802 (wrapper_parm_cb): Split this function to...
2803 (fill_decls_vec): ...this...
2804 (create_parm_list): ...and this.
2805 (compare_decls): New function.
2806 (for_local_cb): Remove.
2807 (wrapper_local_cb): Ditto.
2808 (build_wrapper_type): For now first traverse and fill vector of
2809 declarations then sort it and then deal with sorted vector.
2810 (cilk_outline): Ditto.
2811 (declare_one_free_variable): Ditto.
2812
60b77e28 28132015-01-21 Jason Merrill <jason@redhat.com>
2814
2815 PR c++/64629
2816 * c-format.c (check_format_arg): Call decl_constant_value.
2817
85fbea97 28182015-01-19 Martin Liska <mliska@suse.cz>
2819
2820 * c-common.c (handle_noicf_attribute): New function.
2821
ca4c3545 28222015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2823 Bernd Schmidt <bernds@codesourcery.com>
2824 James Norris <jnorris@codesourcery.com>
2825 Cesar Philippidis <cesar@codesourcery.com>
2826 Ilmir Usmanov <i.usmanov@samsung.com>
2827 Jakub Jelinek <jakub@redhat.com>
2828
2829 * c.opt (fopenacc): New option.
2830 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
2831 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2832 New macros.
2833 * c-common.h (c_finish_oacc_wait): New prototype.
2834 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
2835 (c_finish_oacc_wait): New function.
2836 * c-pragma.c (oacc_pragmas): New variable.
2837 (c_pp_lookup_pragma, init_pragma): Handle it.
2838 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
2839 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
2840 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
2841 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
2842 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
2843 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
2844 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
2845 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
2846 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
2847 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
2848 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
2849 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
2850 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
2851 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
2852 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
2853 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
2854 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
2855 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
2856 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
2857 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
2858 PRAGMA_OACC_CLAUSE_WORKER.
2859
92a44a68 28602015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 2861
2862 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
2863 for the new option fstack-protector_explicit.
2864 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
2865 (handle_stack_protect_attribute): New function.
2866
92a44a68 28672015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 2868
2869 * c.opt: New option -Warray-bounds=.
2870
1f78217c 28712015-01-09 Michael Collison <michael.collison@linaro.org>
2872
2873 * array-notation-common.c: Include hash-set.h, machmode.h,
2874 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2875 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
2876 * c-ada-spec.c: Ditto.
2877 * c-cilkplus.c: Ditto.
2878 * c-common.c: Include input.h due to flattening of tree.h.
2879 Define macro GCC_C_COMMON_C.
2880 * c-common.h: Flatten tree.h header files into c-common.h.
2881 Remove include of tree-core.h.
2882 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2883 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2884 fold-const.h, wide-int.h, and inchash.h due to
2885 flattening of tree.h.
2886 * c-dump.c: Ditto.
2887 * c-format.c: Flatten tree.h header files into c-common.h.
2888 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2889 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2890 fold-const.h, wide-int.h, and inchash.h due to
2891 flattening of tree.h.
2892 * c-dump.c: Include hash-set.h, machmode.h,
2893 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2894 fold-const.h, wide-int.h, and inchash.h due to
2895 flattening of tree.h.
2896 * c-format.c: Include hash-set.h, machmode.h,
2897 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2898 fold-const.h, wide-int.h, inchash.h and real.h due to
2899 flattening of tree.h.
2900 * c-gimplify.c: Include hash-set.h, machmode.h,
2901 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2902 fold-const.h, wide-int.h, and inchash.h due to
2903 flattening of tree.h.
2904 * cilk.c: Ditto.
2905 * c-lex.c: Ditto.
2906 * c-omp.c: Ditto.
2907 * c-opts.c: Ditto.
2908 * c-pch.c: Ditto.
2909 * c-ppoutput.c: Ditto.
2910 * c-pragma.c: Ditto.
2911 * c-pretty-print.c: Ditto.
2912 * c-semantics.c: Ditto.
2913 * c-ubsan.c: Ditto.
2914 * stub-objc.c: Ditto.
2915
411b7663 29162015-01-08 Jason Merrill <jason@redhat.com>
2917
2918 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
2919 do_ubsan_in_current_function.
2920 (ubsan_maybe_instrument_reference_or_call): Likewise.
2921 * c-ubsan.h: Declare it.
2922
d1e96383 29232015-01-08 Mike Stump <mikestump@comcast.net>
2924
2925 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
2926
b57910fa 29272015-01-07 Marek Polacek <polacek@redhat.com>
2928
2929 PR c/64440
2930 * c-common.c (c_fully_fold_internal): Warn for division and modulo
2931 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
2932
678a4e3e 29332015-01-05 Trevor Saunders <tsaunders@mozilla.com>
2934
2935 PR c++/31397
2936 * c.opt (Wsuggest-override): New option.
2937
d353bf18 29382015-01-05 Jakub Jelinek <jakub@redhat.com>
2939
2940 Update copyright years.
2941
92b63884 29422015-01-05 Marek Polacek <polacek@redhat.com>
2943
2944 PR c/64423
2945 * c-common.c (warn_array_subscript_with_type_char): Add location_t
2946 parameter. Use it.
2947 * c-common.h (warn_array_subscript_with_type_char): Update
2948 declaration.
2949
83715bc4 29502014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
2951
2952 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
2953 Control macro with flag_sized_deallocation.
2954
92a44a68 29552014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 2956
2957 * c.opt (Wdiscarded-array-qualifiers): New option.
2958
33058239 29592014-12-19 Jakub Jelinek <jakub@redhat.com>
2960
2961 PR preprocessor/63831
2962 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
2963 and __has_cpp_attribute here.
2964 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
2965 c_common_has_attribute.
2966 * c-common.h (c_common_has_attribute): New prototype.
2967 * c-lex.c (init_c_lex): Set cb->has_attribute to
2968 c_common_has_attribute instead of cb_has_attribute.
2969 (get_token_no_padding): New function.
2970 (cb_has_attribute): Renamed to ...
2971 (c_common_has_attribute): ... this. No longer static. Use
2972 get_token_no_padding, require ()s, don't build TREE_LIST
2973 unnecessarily, fix up formatting, adjust diagnostics, call
2974 init_attributes.
2975
d1856d2c 29762014-12-15 Jason Merrill <jason@redhat.com>
2977
2978 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
2979 (-Wsized-deallocation): New.
2980 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
2981 to on in C++14 and up.
2982
4972ed5d 29832014-12-11 Jason Merrill <jason@redhat.com>
2984
7d7fa964 2985 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
2986
4972ed5d 2987 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
2988 we aren't complaining about VLAs.
2989
5ebccf71 29902014-12-06 Marek Polacek <polacek@redhat.com>
2991
2992 PR tree-optimization/64183
2993 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
2994 shift-expression if it is integer_type_node. Use types_compatible_p.
2995
f9e245b2 29962014-11-29 Jakub Jelinek <jakub@redhat.com>
2997
2998 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
2999 last argument from create_tmp_var_raw and create_tmp_var calls.
3000 * cilk.c (gimplify_cilk_spawn): Likewise.
3001 * c-omp.c (c_finish_omp_atomic): Likewise.
3002
d2f60593 30032014-11-28 Marek Polacek <polacek@redhat.com>
3004
3005 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3006 instead of unsigned_type_node.
3007
fce2dbd1 30082014-11-28 Marek Polacek <polacek@redhat.com>
3009
3010 PR c/63862
3011 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3012 to op1_utype.
3013 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3014 expression to unsigned_type_node.
3015
3a4a2292 30162014-11-20 Mark Wielaard <mjw@redhat.com>
3017
3018 PR debug/38757
3019 * c-opts.c (set_std_c89): Set lang_hooks.name.
3020 (set_std_c99): Likewise.
3021 (set_std_c11): Likewise.
3022 (set_std_cxx98): Likewise.
3023 (set_std_cxx11): Likewise.
3024 (set_std_cxx14): Likewise.
3025 (set_std_cxx1z): Likewise.
3026
c61ef207 30272014-11-21 Jakub Jelinek <jakub@redhat.com>
3028
3029 PR target/63764
3030 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3031 return type to bool.
c9ed79de 3032 * c-common.c: Include gimple-expr.h.
c61ef207 3033 (convert_vector_to_pointer_for_subscript): Change return type to
3034 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3035 and copy it into a TARGET_EXPR and use that instead of *vecp
3036 directly.
3037
1a91d914 30382014-11-19 David Malcolm <dmalcolm@redhat.com>
3039
3040 Merger of git branch "gimple-classes-v2-option-3".
3041 * ChangeLog.gimple-classes: New.
3042 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3043 from being just a vec<gimple> to a vec<gbind *>.
3044
f8fc8b8e 30452014-11-18 Jakub Jelinek <jakub@redhat.com>
3046
3047 PR sanitizer/63813
3048 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3049 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3050 get_pointer_alignment for non-pointers. Use ptype, or if it is
3051 reference type, corresponding pointer type, as type of kind
3052 argument.
3053 (ubsan_maybe_instrument_reference,
3054 ubsan_maybe_instrument_member_call): Adjust callers.
3055
8315e35e 30562014-11-15 Marek Polacek <polacek@redhat.com>
3057
3058 PR middle-end/63884
3059 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3060 for NULL fndecl.
3061 (extract_array_notation_exprs): Return for NULL node.
3062
86b9f14b 30632014-11-12 Joseph Myers <joseph@codesourcery.com>
3064
3065 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3066 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3067
0c93c8a9 30682014-11-12 Jakub Jelinek <jakub@redhat.com>
3069
3070 PR c/59708
3071 * c-common.c (check_builtin_function_arguments): Handle
3072 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3073
fdd735a7 30742014-11-10 Andi Kleen <ak@linux.intel.com>
3075
3076 PR c/60804
3077 * c-common.h (check_no_cilk): Declare.
3078 * cilk.c (get_error_location): New function.
3079 (check_no_cilk): Dito.
3080
5cb678b4 30812014-11-10 Andi Kleen <ak@linux.intel.com>
3082
3083 * cilk.c (recognize_spawn): Use expression location
3084 for error message.
3085
0feb4de1 30862014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3087
3088 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3089
3aa2fa44 30902014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3091
3092 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3093 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3094 (__cpp_range_based_for, __cpp_initializer_lists,
3095 __cpp_delegating_constructors, __cpp_nsdmi,
3096 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3097 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3098 __has_cpp_attribute.
3099 * c-lex.c (cb_has_attribute): New callback CPP function;
3100 (init_c_lex): Set has_attribute callback.
3101
7fd22aae 31022014-11-04 Richard Biener <rguenther@suse.de>
3103
3104 * c-common.c (shorten_compare): Do not shorten mixed
3105 DFP and non-DFP compares.
3106
4af203ac 31072014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3108
3109 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3110 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3111 Commentary and rearrangement of tests.
3112 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3113 Commentary and rearrangement of tests.
3114 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3115 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3116
3754d046 31172014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3118
3119 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3120 enum from machine_mode.
3121
1140c305 31222014-10-28 Andrew MacLeod <amacleod@redhat.com>
3123
1f78217c 3124 * c-common.c: Adjust include files.
3125 * c-gimplify.c: Ditto.
3126 * cilk.c: Ditto.
3127 * c-pragma.c: Ditto.
3128 * c-ubsan.c: Ditto.
1140c305 3129
94ea8568 31302014-10-27 Andrew MacLeod <amacleod@redhat.com>
3131
3132 * c-gimplify.c: Adjust include files.
3133
32ecf960 31342014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3135
3136 PR c++/53061
3137 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3138 c_common_initialize_diagnostics.
3139 * c-common.h: Likewise.
3140
85fecbe2 31412014-10-24 Marek Polacek <polacek@redhat.com>
3142
3143 PR c/56980
3144 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3145 print "struct"/"union"/"enum" for typedefed names.
3146
e7ec033a 31472014-10-23 Marek Polacek <polacek@redhat.com>
3148
3149 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3150 in unsigned type.
3151
c2598081 31522014-10-22 Jakub Jelinek <jakub@redhat.com>
3153 Yury Gribov <y.gribov@samsung.com>
3154
3155 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3156 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3157 instead of flag_sanitize_recover as bool flag.
3158
acebb7e2 31592014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3160
3161 * cilk.c: Revert previous change.
3162
6115016c 31632014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3164
3165 PR c/63307
3166 * cilk.c: Include vec.h.
3167 (struct cilk_decls): New structure.
3168 (wrapper_parm_cb): Split this function to...
3169 (fill_decls_vec): ...this...
3170 (create_parm_list): ...and this.
3171 (compare_decls): New function.
3172 (for_local_cb): Remove.
3173 (wrapper_local_cb): Ditto.
3174 (build_wrapper_type): For now first traverse and fill vector of
3175 declarations then sort it and then deal with sorted vector.
3176 (cilk_outline): Ditto.
3177 (declare_one_free_variable): Ditto.
3178
e610d2b2 31792014-10-17 Marek Polacek <polacek@redhat.com>
3180
3181 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3182 * c.opt (Wimplicit-int): Initialize to -1.
3183
a3020f2f 31842014-10-16 Andrew MacLeod <amacleod@redhat.com>
3185
3186 * c-pragma.c: Adjust include files.
3187 * c-semantics.c: Likewise.
3188
926ddd2c 31892014-10-16 DJ Delorie <dj@redhat.com>
3190
3191 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3192 multiples of bytes.
3193
b0542e7c 31942014-10-14 Jason Merrill <jason@redhat.com>
3195
3196 PR c++/63455
3197 * c-common.h (CPP_PREPARSED_EXPR): New.
3198 (N_CP_TTYPES): Adjust.
3199
b2601928 32002014-10-15 Marek Polacek <polacek@redhat.com>
3201
3202 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3203
9f75f026 32042014-10-14 DJ Delorie <dj@redhat.com>
3205
3206 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3207 types, not just __int128.
3208 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3209 types, not just __int128.
3210 (cpp_atomic_builtins): Round pointer sizes up.
3211 (type_suffix): Use type precision, not specific types.
3212 * c-common.c (c_common_reswords): Remove __int128 special case.
3213 (c_common_type_for_size): Check for all __intN types, not just
3214 __int128.
3215 (c_common_type_for_mode): Likewise.
3216 (c_common_signed_or_unsigned_type): Likewise.
3217 (c_build_bitfield_integer_type): Likewise.
3218 (c_common_nodes_and_builtins): Likewise.
3219 (keyword_begins_type_specifier): Likewise.
3220 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3221 __intN variants.
3222
2ef51f0e 32232014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3224
3225 * c-common.c: Use hash_table instead of hashtab.
3226
5b8257e3 32272014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3228
1f78217c 3229 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 3230 C++11 section.
3231
5e84569c 32322014-10-03 Marc Glisse <marc.glisse@inria.fr>
3233
3234 PR c++/54427
3235 PR c++/57198
3236 PR c++/58845
3237 * c-common.c (warn_logical_operator): Punt for vectors.
3238
f6751ff2 32392014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3240
3241 Implement SD-6: SG10 Feature Test Recommendations
3242 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3243 macros and the __has_header macro.
3244
c33e051d 32452014-09-30 Jason Merrill <jason@redhat.com>
3246
f76a9aa8 3247 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3248 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3249 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3250
717e52f9 3251 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3252 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3253
c33e051d 3254 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3255 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3256
5213d6c9 32572014-09-24 Marek Polacek <polacek@redhat.com>
3258
3259 PR c/61405
3260 PR c/53874
3261 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3262
6b722052 32632014-09-23 Andi Kleen <ak@linux.intel.com>
3264
3265 * c-common.c (handle_no_reorder_attribute): New function.
3266 (c_common_attribute_table): Add no_reorder attribute.
3267
0cb69d12 32682014-09-22 Joseph Myers <joseph@codesourcery.com>
3269
3270 * c-cppbuiltin.c (c_cpp_builtins): Define
3271 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3272 modes.
3273
168dfbf0 32742014-09-18 Joseph Myers <joseph@codesourcery.com>
3275
3276 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3277 for supported floating-point modes.
3278
b83705f4 32792014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3280
3281 * c.opt (Wpsabi): Use LangEnabledBy.
3282 * c-opts.c (c_common_handle_option): Do not handle here.
3283
d5957f0d 32842014-09-12 Joseph Myers <joseph@codesourcery.com>
3285
3286 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3287 macros for floating-point modes.
3288
bae6edff 32892014-09-11 Marc Glisse <marc.glisse@inria.fr>
3290
3291 PR target/58757
3292 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3293 __*_DENORM_MIN__ without denormals.
3294
73a69d02 32952014-09-10 Jakub Jelinek <jakub@redhat.com>
3296
3297 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3298 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3299 ubsan_create_data callers.
3300 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3301 index is constant or BIT_AND_EXPR with constant mask and is
3302 small enough for the bound.
3303 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3304 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3305
7ff8db31 33062014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3307
3308 * c.opt: Add CppReason to various flags.
3309 (Wdate-time): Re-sort.
3310 * c-common.c: Include c-common.h earlier.
3311 (struct reason_option_codes_t): Delete.
3312 (c_option_controlling_cpp_error): Prefix global type and struct
3313 with cpp_.
3314
bcc1f37e 33152014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3316
3317 * c.opt (Wnormalized): New.
3318 (Wnormalized=): Use Enum and Reject Negative.
3319 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3320
b660d3c6 33212014-09-08 Joseph Myers <joseph@codesourcery.com>
3322
3323 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3324 digits of floating-point modes if -fbuilding-libgcc.
3325
325b8c3c 33262014-09-05 Joseph Myers <joseph@codesourcery.com>
3327
3328 * c-cppbuiltin.c (c_cpp_builtins): Also define
3329 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3330 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3331 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3332 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3333 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3334 __LIBGCC_STACK_GROWS_DOWNWARD__,
3335 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3336 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3337 __LIBGCC_DWARF_FRAME_REGISTERS__,
3338 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3339 __LIBGCC_STACK_POINTER_REGNUM__ and
3340 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3341 (builtin_define_with_value): Handle backslash-escaping in string
3342 macro values.
3343
1e074e77 33442014-09-05 Richard Biener <rguenther@suse.de>
3345
3346 PR middle-end/63148
3347 * c-format.c (check_format_arg): Properly handle
3348 effectively signed POINTER_PLUS_EXPR offset.
3349
04afd878 33502014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3351
3352 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3353 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3354 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3355 and Init.
3356 * c-opts.c (c_common_handle_option): Do not handle here.
3357 (sanitize_cpp_opts): Likewise.
3358 * c-common.c (struct reason_option_codes_t): Handle
3359 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3360
a3f448f0 33612014-09-03 Marek Polacek <polacek@redhat.com>
3362
3363 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3364
40750995 33652014-09-02 Jakub Jelinek <jakub@redhat.com>
3366 Balaji V. Iyer <balaji.v.iyer@intel.com>
3367 Igor Zamyatin <igor.zamyatin@intel.com>
3368
3369 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3370 * c-common.c (c_common_reswords): Added _Cilk_for.
3371 * c-common.h (enum rid): Added RID_CILK_FOR.
3372 (cilk_for_number_of_iterations): Add declaration.
3373 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3374 CILK_FOR.
3375 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3376 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3377
f0fbe519 33782014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3379
3380 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3381 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3382 Wundef): Use CPP, Var and Init.
3383 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3384
a7d2e480 33852014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3386
3387 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3388 * c-opts.c (c_common_handle_option): Do not handle here.
3389
c35e53f1 33902014-08-25 Jason Merrill <jason@redhat.com>
3391
3392 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3393 -std=c++14 and -std=gnu++14, rather than the reverse.
3394 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3395 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3396 * c-common.h (cxx_dialect): Remove cxx1y.
3397
4e454776 33982014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3399
3400 * c-common.h (enum cxx_dialect): Add cxx14.
3401 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3402 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3403 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3404
af1a80f2 34052014-08-22 Jason Merrill <jason@redhat.com>
3406
3407 * c.opt (std=gnu++17): Fix alias.
3408
dc6229e8 34092014-08-22 Marek Polacek <polacek@redhat.com>
3410
3411 PR c++/62199
3412 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
3413 check for vector types. Drop LHS argument.
3414 * c-common.h (warn_logical_not_parentheses): Adjust.
3415
ba7f7c88 34162014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3417
3418 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3419 (Wmultichar): Likewise.
3420 (Wdate-time): Use C-family languages instead of Common. Use CPP
3421 and Var.
3422 * c-opts.c (c_common_handle_option): Do not handle the above
3423 options here.
3424 (sanitize_cpp_opts): Likewise.
3425
399d4f80 34262014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
3427
3428 PR fortran/44054
3429 * c-opts.c: Include tree-diagnostics.h.
3430 (c_diagnostic_finalizer): New.
3431 (c_common_initialize_diagnostics): Use it.
3432
1babed5f 34332014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3434
3435 PR preprocessor/51303
3436 * c-common.c (struct reason_option_codes_t option_codes):
3437 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3438
3636964b 34392014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3440
3441 PR c/60975
3442 PR c/53063
3443 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3444 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3445 (c_common_post_options): Call init_global_opts_from_cpp.
3446 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3447
78bf4156 34482014-08-19 Marek Polacek <polacek@redhat.com>
3449
3450 PR c++/62153
3451 * c-common.c (maybe_warn_bool_compare): New function.
3452 * c-common.h (maybe_warn_bool_compare): Declare.
3453 * c.opt (Wbool-compare): New option.
3454
508ea33a 34552014-08-19 Marek Polacek <polacek@redhat.com>
3456
3457 * c.opt (Wc99-c11-compat): New option.
3458
806fe15e 34592014-08-19 Marek Polacek <polacek@redhat.com>
3460
3461 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3462 to warn_c90_c99_compat.
3463 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3464 to -1.
3465
6c867de1 34662014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3467 Steven Bosscher <steven@gcc.gnu.org>
3468
3469 PR c/52952
3470 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3471 format_check_results.
3472 (check_function_format): Use true and add comment for boolean
3473 argument.
3474 (finish_dollar_format_checking): Use explicit location when warning.
3475 (check_format_info): Likewise.
3476 (check_format_arg): Set extra_arg_loc and format_string_loc.
3477 (check_format_info_main): Use explicit location when warning.
3478 (check_format_types): Pass explicit location.
3479 (format_type_warning): Likewise.
3480
dc8078a3 34812014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3482
3483 PR fortran/44054
3484 * c-format.c: Handle Fortran flags.
3485
d271ec7e 34862014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3487
3488 PR other/61962
3489 * array-notation-common.c (find_rank): Added handling for other
3490 types of references.
3491
890c2e2f 34922014-08-10 Marek Polacek <polacek@redhat.com>
3493
3494 PR c/51849
3495 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3496 * c.opt (Wc90-c99-compat): Add option.
3497
7149db5f 34982014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3499
3500 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3501
2d2f6a15 35022014-08-03 Marek Polacek <polacek@redhat.com>
3503
3504 * c-common.c (check_case_value): Add location_t parameter. Use it.
3505 (c_add_case_label): Pass loc to check_case_value.
3506
06ecf488 35072014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3508
3509 * cilk.c: Use hash_map instead of pointer_map.
3510
431205b7 35112014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3512
3513 * c-gimplify.c: Use hash_set instead of pointer_set.
3514
3394c80c 35152014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3516
3517 PR middle-end/61455
3518 * array-notation-common.c (extract_array_notation_exprs): Handling
3519 of DECL_EXPR added.
3520
392dee1e 35212014-08-01 Jakub Jelinek <jakub@redhat.com>
3522
3523 * c-common.h (min_align_of_type): Removed prototype.
3524 * c-common.c (min_align_of_type): Removed.
3525 * c-ubsan.h (ubsan_maybe_instrument_reference,
3526 ubsan_maybe_instrument_member_call): New prototypes.
3527 * c-ubsan.c: Include stor-layout.h and builtins.h.
3528 (ubsan_maybe_instrument_reference_or_call,
3529 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3530 functions.
3531
f22a2cb7 35322014-07-31 Marc Glisse <marc.glisse@inria.fr>
3533
3534 PR c++/60517
3535 * c.opt (-Wreturn-local-addr): Move to common.opt.
3536
87b0198f 35372014-07-30 Jason Merrill <jason@redhat.com>
3538
3539 PR c++/61659
3540 PR c++/61687
3541 Revert:
3542 * c.opt (-fuse-all-virtuals): New.
3543
74691f46 35442014-07-30 Tom Tromey <tromey@redhat.com>
3545
3546 PR c/59855
3547 * c.opt (Wdesignated-init): New option.
3548 * c-common.c (c_common_attribute_table): Add "designated_init".
3549 (handle_designated_init): New function.
3550
9140d56f 35512014-07-24 Marek Polacek <polacek@redhat.com>
3552
3553 PR c/57653
3554 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3555
a09c5cc2 35562014-07-16 Dodji Seketeli <dodji@redhat.com>
3557
3558 PR preprocessor/60723 - missing system-ness marks for macro tokens
3559 * c-ppoutput.c (struct print::prev_was_system_token): New data
3560 member.
3561 (init_pp_output): Initialize it.
3562 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3563 (do_line_change): Return a flag saying if a line marker was
3564 emitted or not.
3565 (scan_translation_unit): Detect if the system-ness of the token we
3566 are about to emit is different from the one of the previously
3567 emitted token. If so, emit a line marker. Avoid emitting useless
3568 adjacent line markers. Avoid emitting line markers for tokens
3569 originating from the expansion of built-in macros.
3570 (scan_translation_unit_directives_only): Adjust.
3571
2b25b62f 35722014-07-15 Marek Polacek <polacek@redhat.com>
3573
3574 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3575 TYPE_MAX_VALUE is NULL.
3576
305d96bc 35772014-07-14 Jakub Jelinek <jakub@redhat.com>
3578
3579 PR middle-end/61294
3580 * c.opt (Wmemset-transposed-args): New warning.
3581
8ea4660d 35822014-07-10 Jason Merrill <jason@redhat.com>
3583
3584 PR c++/61659
3585 PR c++/61687
3586 * c.opt (-fuse-all-virtuals): New.
3587
cd480f3d 35882014-07-09 Richard Biener <rguenther@suse.de>
3589
3590 PR c-family/61741
3591 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3592 using unsigned arithmetic if overflow does not wrap instead of
3593 if overflow is undefined.
3594
87d59e72 35952014-07-06 Marek Polacek <polacek@redhat.com>
3596
3597 PR c/6940
3598 * c.opt (Wsizeof-array-argument): New option.
3599
d69521d8 36002014-07-03 Jakub Jelinek <jakub@redhat.com>
3601
8204c077 3602 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 3603 comments->count <= 1, as comments->entries might be NULL.
3604
1207866e 36052014-07-01 Marek Polacek <polacek@redhat.com>
3606
3607 * c.opt (Wint-conversion): New option.
3608
7a6bbb76 36092014-07-01 Marek Polacek <polacek@redhat.com>
3610
3611 PR c/58286
3612 * c.opt (Wincompatible-pointer-types): New option.
3613
9d4eeb52 36142014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3615
3616 PR c++/51400
3617 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3618 Do not discard TYPE_QUALS of type.
3619
4b53bc0f 36202014-06-26 Jason Merrill <jason@redhat.com>
3621
3622 * c-common.h (enum cxx_dialect): Add cxx1z.
3623 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3624 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3625
a8a8d4ea 36262014-06-26 Teresa Johnson <tejohnson@google.com>
3627
3628 * c-common.h (get_dump_info): Declare.
3629 * c-gimplify.c (c_genericize): Use saved dump files.
3630 * c-opts.c (c_common_parse_file): Begin and end dumps
3631 once around parsing invocation.
3632 (get_dump_info): New function.
3633
1f6be080 36342014-06-23 Marek Polacek <polacek@redhat.com>
3635 Andrew MacLeod <amacleod@redhat.com>
3636
3637 PR c/61553
3638 * c-common.c (get_atomic_generic_size): Don't segfault if the
3639 type doesn't have a size.
3640
5ef6b660 36412014-06-20 Marek Polacek <polacek@redhat.com>
3642
3643 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3644 (ubsan_walk_array_refs_r): New function.
3645 (c_genericize): Instrument array bounds.
3646 * c-ubsan.c: Include "internal-fn.h".
3647 (ubsan_instrument_division): Mark instrumented arrays as having
3648 side effects. Adjust ubsan_type_descriptor call.
3649 (ubsan_instrument_shift): Likewise.
3650 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3651 (ubsan_instrument_bounds): New function.
3652 (ubsan_array_ref_instrumented_p): New function.
3653 (ubsan_maybe_instrument_array_ref): New function.
3654 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3655 (ubsan_array_ref_instrumented_p): Declare.
3656 (ubsan_maybe_instrument_array_ref): Declare.
3657
36582014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 3659
3660 PR lto/61123
3661 * c.opt (fshort-enums): Add to LTO.
3662 * c.opt (fshort-wchar): Likewise.
3663
78438f31 36642014-06-16 Marek Polacek <polacek@redhat.com>
3665
3666 PR c/60439
3667 * c.opt (Wswitch-bool): Add Var.
3668
5fddcf34 36692014-06-12 Jakub Jelinek <jakub@redhat.com>
3670
3671 PR middle-end/61486
3672 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3673 #pragma omp target teams or
3674 #pragma omp {,target }teams distribute simd.
3675
74b777e5 36762014-06-12 Jason Merrill <jason@redhat.com>
3677
3678 * c.opt (Wabi=, fabi-compat-version): New.
3679 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3680 (c_common_post_options): Handle flag_abi_compat_version default.
3681 Disallow -fabi-compat-version=1.
3682 * c-common.h (abi_version_crosses): New.
3683
738a6bda 36842014-06-11 Jan Hubicka <hubicka@ucw.cz>
3685
1f78217c 3686 * c-common.c (handle_section_attribute): Update handling for
738a6bda 3687 section names that are no longer trees.
3688
cf5f881f 36892014-06-10 Jakub Jelinek <jakub@redhat.com>
3690
3691 PR fortran/60928
3692 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3693 (omp_pragmas): ... back here.
3694
32dc1512 36952014-06-05 Marek Polacek <polacek@redhat.com>
3696
3697 PR c/49706
3698 * c-common.c (warn_logical_not_parentheses): New function.
3699 * c-common.h (warn_logical_not_parentheses): Declare.
3700 * c.opt (Wlogical-not-parentheses): New option.
3701
f61a9bc2 37022014-06-04 Marek Polacek <polacek@redhat.com>
3703
3704 PR c/30020
3705 * c-common.c (check_case_bounds): Add location parameter.
3706 Use it.
3707 (c_add_case_label): Pass loc to check_case_bounds.
3708
c69ec07d 37092014-06-03 Marek Polacek <polacek@redhat.com>
3710
3711 PR c/60439
3712 * c.opt (Wswitch-bool): New option.
3713
3c77ca67 37142014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3715
68a2c870 3716 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3717 Remove prototypes.
3718 (record_types_used_by_current_var_decl): Move prototype to where
3719 it belongs.
3720
3c77ca67 3721 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3722 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3723 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3724
3ab4693e 37252014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3726
3727 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
3728 * c-common.c (c_common_nodes_and_builtins): Don't initialize
3729 void_zero_node.
3730 * c-pretty-print.c (pp_c_void_constant): New function.
3731 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
3732 (c_pretty_printer::expression): Handle VOID_CST.
3733 * cilk.c (extract_free_variables): Likewise.
3734 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
3735 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
3736
25a27413 37372014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3738
3739 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
3740 * c-pragma.c (push_alignment): Adjust.
3741 (handle_pragma_push_options): Likewise.
3742
3e5a8b00 37432014-05-09 Marek Polacek <polacek@redhat.com>
3744
3745 PR c/50459
3746 * c-common.c (check_user_alignment): Return -1 if alignment is error
3747 node.
3748 (handle_aligned_attribute): Don't call default_conversion on
3749 FUNCTION_DECLs.
3750 (handle_vector_size_attribute): Likewise.
3751 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
3752 (handle_sentinel_attribute): Call default_conversion and allow even
3753 integral types as an argument.
3754
c2c4ae8d 37552014-05-08 Marek Polacek <polacek@redhat.com>
3756
3757 PR c/61053
3758 * c-common.c (min_align_of_type): New function factored out from...
3759 (c_sizeof_or_alignof_type): ...here.
3760 * c-common.h (min_align_of_type): Declare.
3761
2026249a 37622014-05-08 Marek Polacek <polacek@redhat.com>
3763
3764 PR c/61077
3765 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
3766 parameter type of main.
3767
33c8dcfe 37682014-05-07 DJ Delorie <dj@redhat.com>
3769
3770 * c-cppbuiltin.c (print_bits_of_hex): New.
3771 (builtin_define_type_minmax): Print values using hex so as not to
3772 require a pre-computed list of string values.
3773
960d5a55 37742014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3775 Mike Stump <mikestump@comcast.net>
3776 Richard Sandiford <rdsandiford@googlemail.com>
3777
3778 * c-ada-spec.c: Include wide-int.h.
3779 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
3780 (dump_generic_ada_node): Use wide-int interfaces.
3781 * c-common.c: Include wide-int-print.h.
3782 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
3783 (pointer_int_sum): Use wide-int interfaces.
3784 (c_common_nodes_and_builtins): Use make_int_cst.
3785 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
3786 (handle_alloc_size_attribute): Use wide-int interfaces.
3787 (get_nonnull_operand): Likewise.
3788 * c-format.c (get_constant): Use tree_fits_uhwi_p.
3789 * c-lex.c: Include wide-int.h.
3790 (narrowest_unsigned_type): Take a widest_int rather than two
3791 HOST_WIDE_INTs.
3792 (narrowest_signed_type): Likewise.
3793 (interpret_integer): Update accordingly. Use wide-int interfaces.
3794 (lex_charconst): Use wide-int interfaces.
3795 * c-pretty-print.c: Include wide-int.h.
3796 (pp_c_integer_constant): Use wide-int interfaces.
3797 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
3798 INT_CST_LT_UNSIGNED.
3799
bbb88b31 38002014-05-06 Richard Biener <rguenther@suse.de>
3801
3802 * c-opts.c (c_common_post_options): For -freestanding,
3803 -fno-hosted and -fno-builtin disable pattern recognition
3804 if not enabled explicitely.
3805
022d4718 38062014-05-02 Marek Polacek <polacek@redhat.com>
3807
3808 * c.opt (Wsizeof-pointer-memaccess): Describe option.
3809
e4ab2ef3 38102014-05-01 Marek Polacek <polacek@redhat.com>
3811
3812 PR c/43245
3813 * c.opt (Wdiscarded-qualifiers): Add.
3814
52cc0072 38152014-04-30 Marek Polacek <polacek@redhat.com>
3816
3817 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
3818 INT_MIN / -1 sanitization only for integer types.
3819
4a026b48 38202014-04-25 Marek Polacek <polacek@redhat.com>
3821
3822 PR c/18079
3823 * c-common.c (handle_noinline_attribute): Warn if the attribute
3824 conflicts with always_inline attribute.
3825 (handle_always_inline_attribute): Warn if the attribute conflicts
3826 with noinline attribute.
3827
90e645fa 38282014-04-25 Marek Polacek <polacek@redhat.com>
3829
3830 PR c/60156
3831 * c-common.c (check_main_parameter_types): Warn about variadic main.
3832
db103ea4 38332014-04-24 Mike Stump <mikestump@comcast.net>
3834
3835 * c.opt (Wshadow-ivar): Default to on.
3836
06511efd 38372014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3838
3839 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
3840
cdf34fca 38412014-04-23 Marek Polacek <polacek@redhat.com>
3842
3843 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
3844
7311d7c1 38452014-04-22 Jakub Jelinek <jakub@redhat.com>
3846
3847 PR sanitizer/60275
3848 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
3849 if flag_sanitize_undefined_trap_on_error.
3850 (ubsan_instrument_division, ubsan_instrument_shift,
3851 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
3852 if !flag_sanitize_recover.
3853
c1917557 38542014-04-22 Marc Glisse <marc.glisse@inria.fr>
3855
3856 PR libstdc++/43622
3857 * c-common.c (registered_builtin_types): Make non-static.
3858 * c-common.h (registered_builtin_types): Declare.
3859
b2ca6510 38602014-04-14 Richard Biener <rguenther@suse.de>
3861 Marc Glisse <marc.glisse@inria.fr>
3862
3863 PR c/60819
3864 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
3865 apply may-alias the scalar pointer type when applicable.
3866
855372a3 38672014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
3868
3869 PR middle-end/60467
3870 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
3871 as possible argument for Cilk_spawn.
3872
4012a986 38732014-04-11 Tobias Burnus <burnus@net-b.de>
3874
3875 PR c/60194
3876 * c.opt (Wformat-signedness): Add
3877 * c-format.c(check_format_types): Use it.
3878
0d284870 38792014-04-11 Jason Merrill <jason@redhat.com>
3880
3881 PR c++/57926
3882 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
3883 default_conversion for an array argument.
3884
a34c1231 38852014-04-08 Marek Polacek <polacek@redhat.com>
3886
3887 PR sanitizer/60745
3888 * c-ubsan.c: Include asan.h.
3889 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
3890
a35a8e18 38912014-04-03 Nathan Sidwell <nathan@codesourcery.com>
3892
3893 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
3894
b23e42b6 38952014-04-02 Marek Polacek <polacek@redhat.com>
3896
3897 * c-common.h (c_expand_expr): Remove declaration.
3898
5a672e62 38992014-03-28 Jakub Jelinek <jakub@redhat.com>
3900
3901 PR c++/60689
3902 * c-common.c (add_atomic_size_parameter): When creating new
3903 params vector, push the size argument first.
3904
d4d068c0 39052014-03-26 Jakub Jelinek <jakub@redhat.com>
3906
3907 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3908 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3909 ubsan_create_data callers.
3910
446bdf5f 39112014-03-22 Jakub Jelinek <jakub@redhat.com>
3912
3913 PR debug/60603
3914 * c-opts.c (c_finish_options): Restore cb_file_change call to
3915 <built-in>.
3916
8895f0a3 39172014-03-13 Jakub Jelinek <jakub@redhat.com>
3918
3919 PR middle-end/36282
3920 * c-pragma.c (apply_pragma_weak): Only look at
3921 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
3922 DECL_ASSEMBLER_NAME_SET_P (decl).
3923 (maybe_apply_pending_pragma_weaks): Exit early if
3924 vec_safe_is_empty (pending_weaks) rather than only when
3925 !pending_weaks.
3926 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
3927 set assembler name back to NULL afterwards.
3928
7a5da2cd 39292014-03-11 Jason Merrill <jason@redhat.com>
3930
3931 * c.opt: Add -std=gnu++14.
3932
95093889 39332014-03-11 Ian Bolton <ian.bolton@arm.com>
3934
3935 * c-opts.c (c_common_post_options): Don't override
3936 -ffp-contract=fast if unsafe-math-optimizations is on.
3937
c9a24b37 39382014-03-08 Paulo Matos <paulo@matos-sorge.com>
3939
9b8f3aa1 3940 * c.opt: Enable LTO FE for fshort-double.
c9a24b37 3941
3f6dba6e 39422014-03-07 Jason Merrill <jason@redhat.com>
3943
3944 * c.opt: Add -std=c++14.
3945
3bfdc94f 39462014-03-06 Marek Polacek <polacek@redhat.com>
3947
3948 PR c/60197
3949 * cilk.c (contains_cilk_spawn_stmt): New function.
3950 (contains_cilk_spawn_stmt_walker): Likewise.
3951 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
3952 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
3953
8b3a6a4c 39542014-03-03 Jakub Jelinek <jakub@redhat.com>
3955
3956 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
3957 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
3958 even when flag_preprocess_only.
3959
734ec290 39602014-02-26 Jason Merrill <jason@redhat.com>
3961
3962 PR c++/59231
3963 PR c++/11586
3964 * c-common.c (shorten_compare): Don't check
3965 c_inhibit_evaluation_warnings.
3966
81aec8b8 39672014-02-19 Jakub Jelinek <jakub@redhat.com>
3968
d1081017 3969 PR c/37743
3970 * c-common.c (c_common_nodes_and_builtins): When initializing
3971 c_uint{16,32,64}_type_node, also set corresponding
3972 uint{16,32,64}_type_node to the same value.
3973
81aec8b8 3974 PR c++/60267
3975 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
3976 for PRAGMA_IVDEP if flag_preprocess_only.
3977
312243bb 39782014-02-12 Jakub Jelinek <jakub@redhat.com>
3979
3980 PR c/60101
3981 * c-common.c (merge_tlist): If copy is true, call new_tlist,
3982 if false, add ADD itself, rather than vice versa.
3983 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
3984 copy. For SAVE_EXPR, only call merge_tlist once.
3985
237e78b1 39862014-02-08 Jakub Jelinek <jakub@redhat.com>
3987
3988 PR middle-end/60092
3989 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
3990 and tree_to_uhwi.
3991 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
3992 functions.
3993 (c_common_attribute_table): Add alloc_align and assume_aligned
3994 attributes.
3995
76fdceeb 39962014-02-06 Marek Polacek <polacek@redhat.com>
3997
3998 PR c/60087
3999 * c-common.c (warn_for_sign_compare): Call warning_at with location
4000 instead of warning.
4001
4a4dea42 40022014-02-05 Marek Polacek <polacek@redhat.com>
4003
4004 PR c/53123
4005 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4006 statement.
4007
ec704957 40082014-02-04 Marek Polacek <polacek@redhat.com>
4009
4010 PR c/60036
4011 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4012 SAVE_EXPR.
4013
caf62483 40142014-02-03 Marc Glisse <marc.glisse@inria.fr>
4015
4016 PR c++/53017
4017 PR c++/59211
4018 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4019 handle_vector_size_attribute, handle_nonnull_attribute): Call
4020 default_conversion on the attribute argument.
4021 (handle_nonnull_attribute): Increment the argument number.
4022
ec761d5a 40232014-01-31 Marek Polacek <polacek@redhat.com>
4024
4025 PR c/59963
4026 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4027 build_function_call_vec.
4028 (resolve_overloaded_builtin): Likewise.
4029 * c-common.h (build_function_call_vec): Adjust declaration.
4030
22a75734 40312014-01-30 Marek Polacek <polacek@redhat.com>
4032
4033 PR c/59940
4034 * c-common.h (unsafe_conversion_p): Adjust declaration.
4035 (warnings_for_convert_and_check): Likewise.
4036 (convert_and_check): Likewise.
4037 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4038 expansion_point_location_if_in_system_header on it.
4039 (warnings_for_convert_and_check): Add location parameter. Call
4040 expansion_point_location_if_in_system_header on it. Use it.
4041 (convert_and_check): Add location parameter. Use it.
4042 (conversion_warning): Likewise.
4043 (c_add_case_label): Adjust convert_and_check calls.
4044 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4045
a89e6c15 40462014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4047
4048 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4049 flag_cilkplus.
4050 * c-pragma.c (init_pragma): Likewise.
4051 * c.opt: Likewise.
4052
2623625f 40532014-01-23 Marek Polacek <polacek@redhat.com>
4054
4055 PR c/59846
4056 * c-common.c (shorten_compare): Add location_t parameter.
4057 * c-common.h (shorten_binary_op): Adjust declaration.
4058
46da3601 40592014-01-23 Marek Polacek <polacek@redhat.com>
4060
4061 PR c/58346
4062 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4063 * c-common.h: Declare it.
4064
c9743c6a 40652014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4066
4067 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4068 * c-ada-spec.c (dump_ads): Likewise.
4069 (cpp_check): Likewise.
4070 (dump_ada_specs): Likewise.
4071
40722014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 4073
4074 PR c++/49718
4075 * c-common.c (handle_no_instrument_function_attribute): Allow
4076 no_instrument_function attribute in class member
4077 definition/declaration.
4078
1248c663 40792014-01-15 Jakub Jelinek <jakub@redhat.com>
4080
4081 PR c/58943
4082 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4083 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4084 being COMPOUND_EXPR.
4085 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4086 operand a SAVE_EXPR and second MODIFY_EXPR.
4087
6e5c480b 40882014-01-09 Jakub Jelinek <jakub@redhat.com>
4089
4090 PR target/58115
4091 * c-pch.c (c_common_write_pch): Call
4092 prepare_target_option_nodes_for_pch.
4093
3aea1f79 40942014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4095
4096 Update copyright years
4097
e4f22041 40982014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4099
4100 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4101 the copyright notice.
4102
7fb0fe24 41032013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4104
4105 * c-ada-spec.c (print_constructor): New function.
4106 (print_destructor): Retrieve the origin of the destructor.
4107 (print_ada_declaration): Revamp handling of constructors/destructors.
4108
92a44a68 41092013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 4110 Bill Maddox <maddox@google.com>
4111 Jason Merrill <jason@redhat.com>
4112
4113 * c.opt: Add -fdeclone-ctor-dtor.
4114 * c-opts.c (c_common_post_options): Default to on iff -Os.
4115
74acc703 41162013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4117
4118 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4119 attribute.
4120 * c-pragma.h (enum pragma_cilk_clause): Remove.
4121 (enum pragma_omp_clause): Added the following fields:
4122 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4123 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4124 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4125 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4126 PRAGMA_CILK_CLAUSE_UNIFORM.
4127
8204c077 4128
433e804e 41292013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4130
4131 * cilk.c (cilk_outline): Made this function non-static.
4132 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4133 (create_cilk_wrapper): Added a new parameter: a function pointer.
4134 (c_install_body_w_frame_cleanup): Remove
4135 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4136 * c-common.h (cilk_outline): New prototype.
4137 (gimplify_cilk_spawn): Removed two parameters.
4138 (cilk_install_body_with_frame_cleanup): New prototype.
4139 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4140 CILK_SPAWN_STMT case.
4141
5bcc7e60 41422013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4143
e66325ea 4144 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4145
5bcc7e60 4146 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4147 (int_array_type_node): Remove.
4148 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4149
0b26ec77 41502013-12-05 Marek Polacek <polacek@redhat.com>
4151
4152 PR c/52023
4153 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4154 [ADJUST_FIELD_ALIGN].
4155
a179a7dc 41562013-12-04 Joseph Myers <joseph@codesourcery.com>
4157
4158 PR c/52023
4159 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4160 and check field alignment if set.
4161 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4162 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4163
8204c077 41642013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 4165 Marek Polacek <polacek@redhat.com>
4166
4167 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4168 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4169
648fd348 41702013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4171
4172 PR c/59309
4173 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4174 arguments.
4175
253e1cae 41762013-11-29 Jakub Jelinek <jakub@redhat.com>
4177
4178 PR c/59280
4179 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4180 goto invalid. If it is error_mark_node, don't issue further
4181 diagnostics.
4182
3e398f5b 41832013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4184
4185 * c.opt (Wopenmp-simd): New.
4186
020bc656 41872013-11-22 Jakub Jelinek <jakub@redhat.com>
4188
4189 * c-ubsan.h (ubsan_instrument_return): New prototype.
4190 * c-ubsan.c (ubsan_instrument_return): New function.
4191
bc61cadb 41922013-11-22 Andrew MacLeod <amacleod@redhat.com>
4193
4194 * c-common.c: Add required include files from gimple.h.
4195 * c-gimplify.c: Likewise
4196 * cilk.c: Likewise
4197
3df42822 41982013-11-22 David Malcolm <dmalcolm@redhat.com>
4199
4200 * c-common.c (unsafe_conversion_p): Remove use of
4201 EXPR_LOC_OR_HERE macro.
4202 (conversion_warning): Likewise.
4203 (warnings_for_convert_and_check): Likewise.
4204 (warn_for_collisions_1): Likewise.
4205 (shorten_compare): Likewise, and remove use of in_system_header
4206 macro, using the location from the former.
4207 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4208 (cb_def_pragma): Remove use of in_system_header macro.
4209 (lex_string): Likewise.
4210 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4211
8c53c46c 42122013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4213 Mike Stump <mikestump@comcast.net>
4214 Richard Sandiford <rdsandiford@googlemail.com>
4215
4216 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4217 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4218 tree_fits_shwi_p or tree_fits_uhwi_p.
4219 (dump_generic_ada_node): Likewise.
4220 * c-format.c (check_format_arg): Likewise.
4221 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4222
5200ef07 42232013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4224
4225 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4226
ca9d7d74 42272013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4228
4229 PR c/53001
4230 * c-common.c (unsafe_conversion_p): Make this function
4231 return an enumeration with more detail.
4232 (conversion_warning): Use the new return type of
4233 unsafe_conversion_p to separately warn either about conversions
4234 that lower floating point number precision or about the other
4235 kinds of conversions.
4236 * c-common.h (enum conversion_safety): New enumeration.
a49621cf 4237 (unsafe_conversion_p): switching return type to
4238 conversion_safety enumeration.
ca9d7d74 4239 * c.opt: Adding new warning -Wfloat-conversion and
4240 enabling it with -Wconversion.
4241
0391a567 42422013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4243
a49621cf 4244 * c-opts.c: Include plugin.h.
4245 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
0391a567 4246
19b928d9 42472013-11-19 Marek Polacek <polacek@redhat.com>
4248
4249 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4250 call.
4251 (ubsan_instrument_shift): Likewise.
4252 (ubsan_instrument_vla): Likewise.
4253
aa59f000 42542013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4255
4256 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4257 cast to unsigned type.
4258
08f817b3 42592013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4260
4261 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4262 tree_low_cst.
4263 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4264 rather than tree_low_cst.
4265
6a0712d4 42662013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4267
4268 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4269 tree_to_uhwi throughout.
4270
fcb97e84 42712013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4272
4273 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4274 tree_low_cst (..., 0) with tree_to_shwi throughout.
4275
cd4547bf 42762013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4277
4278 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4279 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4280
35ec552a 42812013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4282
4283 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4284 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4285
f2697631 42862013-11-15 Aldy Hernandez <aldyh@redhat.com>
4287
4288 * c-cilkplus.c: New file.
4289 * c-common.c (readonly_error): Add location argument.
4290 * c-common.h (readonly_error): Same.
4291 (c_finish_cilk_clauses): Protoize.
4292 (c_check_cilk_loop): Same.
4293 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4294 Do not fail on error_mark_node.
4295 Abstract increment canonicalization to here...
4296 (c_omp_for_incr_canonicalize_ptr): New.
4297 c-pragma.c (init_pragma): Register "simd" pragma.
4298 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4299 (enum pragma_cilk_clause): New.
4300
0aa8c34e 43012013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4302
4303 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4304 wchar_type and host_integerp checks.
4305
e795d6e1 43062013-11-14 Andrew MacLeod <amacleod@redhat.com>
4307
4308 * c-common.c: Likewise.
4309 * c-gimplify.c: Likewise.
4310 * cilk.c: Likewise.
4311
9ed99284 43122013-11-14 Diego Novillo <dnovillo@google.com>
4313
4314 * c-common.c: Include fold-const.h.
4315 Include stor-layout.h.
4316 Include calls.h.
4317 Include stringpool.h.
4318 Include attribs.h.
4319 Include varasm.h.
4320 Include trans-mem.h.
4321 * c-cppbuiltin.c: Include stor-layout.h.
4322 Include stringpool.h.
4323 * c-format.c: Include stringpool.h.
4324 * c-lex.c: Include stringpool.h.
4325 Include stor-layout.h.
4326 * c-pragma.c: Include stringpool.h.
4327 Include attribs.h.
4328 Include varasm.h.
4329 Include gcc-symtab.h.
4330 * c-pretty-print.c: Include stor-layout.h.
4331 Include attribs.h.
4332 * cilk.c: Include stringpool.h.
4333 Include calls.h.
4334
4fba5eb9 43352013-11-13 Joseph Myers <joseph@codesourcery.com>
4336
4337 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4338 * c-common.c (c_common_reswords): Add __auto_type.
4339 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4340
a8783bee 43412013-11-12 Andrew MacLeod <amacleod@redhat.com>
4342
e795d6e1 4343 * c-common.c: Include gimplify.h.
4344 * c-gimplify.c: Likewise.
4345 * cilk.c: Likewise.
4346 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4347 * c-ubsan.c: Don't include gimple.h.
a8783bee 4348
d184e0c0 43492013-11-12 Joseph Myers <joseph@codesourcery.com>
4350
4351 * c-common.c (c_common_reswords): Add _Thread_local.
4352
a056826c 43532013-11-09 Joseph Myers <joseph@codesourcery.com>
4354
4355 * c-common.c (atomic_size_supported_p): New function.
4356 (resolve_overloaded_atomic_exchange)
4357 (resolve_overloaded_atomic_compare_exchange)
4358 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4359 Use it instead of comparing size with a local list of sizes.
4360
b560fabd 43612013-11-07 Andrew MacLeod <amacleod@redhat.com>
4362 Joseph Myers <joseph@codesourcery.com>
4363
4364 * c-common.h (enum rid): Add RID_ATOMIC.
4365 * c-common.c (c_common_reswords): Add _Atomic.
4366 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4367 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4368 * c-format.c (check_format_types): Check for extra _Atomic
4369 qualifiers in format argument.
4370 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4371 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4372
5b1a0622 43732013-11-06 Tobias Burnus <burnus@net-b.de>
4374
4375 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4376
4f8f4cb8 43772013-11-06 Joseph Myers <joseph@codesourcery.com>
4378
4379 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4380 standards modes.
4381 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4382 to mean lack of IEEE 754 support.
4383
9148bda3 43842013-11-05 Tobias Burnus <burnus@net-b.de>
4385
4386 * c.opt (-Wdate-time): New option
4387 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4388
08c5f4d5 43892013-11-05 Joseph Myers <joseph@codesourcery.com>
4390
4391 * c-cppbuiltin.c (cpp_iec_559_value): Test
4392 flag_excess_precision_cmdline not flag_excess_precision.
4393
c630ef93 43942013-11-05 Tobias Burnus <burnus@net-b.de>
4395
4396 * c.opt (fopenmp-simd): New option.
4397 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4398 (omp_pragmas): ... this new struct.
4399 (c_pp_lookup_pragma): Also walk omp_pragmas.
4400 (init_pragma): Init pragmas for -fopenmp-simd.
4401
7354a89b 44022013-11-04 Marek Polacek <polacek@redhat.com>
4403
4404 PR c++/58979
4405 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4406
4c866b9b 44072013-11-04 Joseph Myers <joseph@codesourcery.com>
4408
4409 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4410 New functions.
4411 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4412
e2a6a333 44132013-11-04 Eric Botcazou <ebotcazou@adacore.com>
4414
4415 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4416 (dump_ada_specs): Adjust prototype of second callback.
4417 * c-ada-spec.c (cpp_check): New global variable.
4418 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4419 (print_generic_ada_decl): Likewise.
4420 (has_static_fields): Change return type to bool and add guard.
4421 (has_nontrivial_methods): New predicate.
4422 (is_tagged_type): Change return type to bool.
4423 (separate_class_package): Call has_nontrivial_methods.
4424 (pp_ada_tree_identifier): Minor tweaks.
4425 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4426 (dump_ada_array_domains): Likewise.
4427 (dump_ada_array_type): Likewise.
4428 (dump_template_types): Remove cpp_check parameter and do not pass it to
4429 dump_generic_ada_node.
4430 (dump_ada_template): Likewise.
4431 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4432 recursively.
4433 (print_ada_methods): Change return type to integer. Remove cpp_check
4434 parameter and do not pass it down.
4435 (dump_nested_types): Remove cpp_check parameter and do not pass it to
4436 dump_generic_ada_node.
4437 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
4438 accessing methods.
4439 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4440 down. Use has_nontrivial_methods to recognize C++ classes. Use return
4441 value of print_ada_methods.
4442 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4443 Set cpp_check to it before invoking dump_ada_nodes.
4444 (dump_ada_specs): Likewise.
4445
2c4c3477 44462013-11-03 Marek Polacek <polacek@redhat.com>
4447
4448 * c-ubsan.c: Don't include hash-table.h.
4449 (ubsan_instrument_vla): New function.
4450 * c-ubsan.h: Declare it.
4451
452659af 44522013-10-31 David Malcolm <dmalcolm@redhat.com>
4453
4454 Automated part of renaming of symtab_node_base to symtab_node.
4455
4456 Patch autogenerated by rename_symtab.py from
4457 https://github.com/davidmalcolm/gcc-refactoring-scripts
4458 revision 58bb219cc090b2f4516a9297d868c245495ee622
4459
4460 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4461 symtab_node_base to symtab_node.
4462
4d6f7dd4 44632013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4464
a49621cf 4465 Implement C++14 digit separators.
4d6f7dd4 4466 * c-lex.c (interpret_float): Remove digit separators from scratch string
4467 before building real literal.
4468
06cfe805 44692013-10-30 Jakub Jelinek <jakub@redhat.com>
4470
4471 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4472
d037099f 44732013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4474
4475 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4476 fields.
4477 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4478 enabled.
4479 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4480 (insert_cilk_frame): New prototype.
4481 (cilk_init_builtins): Likewise.
4482 (gimplify_cilk_spawn): Likewise.
4483 (c_cilk_install_body_w_frame_cleanup): Likewise.
4484 (cilk_detect_spawn_and_unwrap): Likewise.
4485 (cilk_set_spawn_marker): Likewise.
4486 (build_cilk_sync): Likewise.
4487 (build_cilk_spawn): Likewise.
4488 * cilk.c: New file.
4489
02774f2d 44902013-10-29 David Malcolm <dmalcolm@redhat.com>
4491
4492 Patch autogenerated by refactor_symtab.py from
4493 https://github.com/davidmalcolm/gcc-refactoring-scripts
4494 revision 58bb219cc090b2f4516a9297d868c245495ee622
4495
4496 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4497 to a true class hierarchy.
4498 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4499
31fe10fd 45002013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4501
4502 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4503
b1c06ff9 45042013-10-26 Jeff Law <law@redhat.com>
4505
1f78217c 4506 * c-common.c (c_define_builtins): Remove mudflap support.
4507 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 4508
48a972c8 45092013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 4510
4511 PR other/33426
4512 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4513 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4514
546a04b1 45152013-10-23 Jason Merrill <jason@redhat.com>
4516
4517 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4518
bc7bff74 45192013-10-11 Jakub Jelinek <jakub@redhat.com>
4520
d62c713e 4521 * c-common.h (omp_clause_mask::operator !=): New method.
4522 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4523 instead of if (mask & something) tests everywhere.
4524
bc7bff74 4525 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4526 201307 instead of 201107.
4527 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4528 (c_common_attribute_table): Add "omp declare target" and
4529 "omp declare simd" attributes.
4530 (handle_omp_declare_target_attribute,
4531 handle_omp_declare_simd_attribute): New functions.
4532 * c-omp.c: Include c-pragma.h.
4533 (c_finish_omp_taskgroup): New function.
4534 (c_finish_omp_atomic): Add swapped argument, if true,
4535 build the operation first with rhs, lhs arguments and use NOP_EXPR
4536 build_modify_expr.
4537 (c_finish_omp_for): Add code argument, pass it down to make_code.
4538 (c_omp_split_clauses): New function.
4539 (c_split_parallel_clauses): Removed.
4540 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4541 c_omp_declare_simd_clauses_to_decls): New functions.
4542 * c-common.h (omp_clause_mask): New type.
4543 (OMP_CLAUSE_MASK_1): Define.
4544 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4545 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4546 omp_clause_mask::operator |, omp_clause_mask::operator &,
4547 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4548 omp_clause_mask::operator ==): New methods.
4549 (enum c_omp_clause_split): New.
4550 (c_finish_omp_taskgroup): New prototype.
4551 (c_finish_omp_atomic): Add swapped argument.
4552 (c_finish_omp_for): Add code argument.
4553 (c_omp_split_clauses): New prototype.
4554 (c_split_parallel_clauses): Removed.
4555 (c_omp_declare_simd_clauses_to_numbers,
4556 c_omp_declare_simd_clauses_to_decls): New prototypes.
4557 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4558 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4559 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4560 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4561 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4562 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4563 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4564 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4565 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4566 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4567 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4568 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4569 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4570 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4571 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4572 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4573 PRAGMA_OMP_CLAUSE_UNIFORM.
4574
d7dcba40 45752013-10-09 Marc Glisse <marc.glisse@inria.fr>
4576
4577 PR tree-optimization/20318
4578 * c-common.c (handle_returns_nonnull_attribute): New function.
4579 (c_common_attribute_table): Add returns_nonnull.
4580
0b7282f1 45812013-10-03 Marc Glisse <marc.glisse@inria.fr>
4582
4583 PR c++/19476
4584 * c.opt (fcheck-new): Move to common.opt.
4585
51f553af 45862013-09-25 Marek Polacek <polacek@redhat.com>
4587 Jakub Jelinek <jakub@redhat.com>
4588
4589 PR sanitizer/58413
4590 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4591 an expression if we can prove it is correct.
4592 (ubsan_instrument_division): Likewise. Remove unnecessary
4593 check.
4594
05f893e1 45952013-09-18 Marek Polacek <polacek@redhat.com>
4596
4597 PR sanitizer/58411
4598 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4599 Declare it.
4600 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4601
236ce1d1 46022013-09-14 Iain Sandoe <iain@codesourcery.com>
4603
4604 PR target/48094
4605 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4606 fobjc-gc, freplace-objc-classes): Accept for LTO.
4607
f9f68d35 46082013-09-13 Jacek Caban <jacek@codeweavers.com>
4609
4610 * c-target.def: New hook
4611
ba2f764e 46122013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4613
4614 PR c++/43452
4615 * c.opt (Wdelete-incomplete): Add.
4616
73437615 46172013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4618
4619 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4620 (vector_types_compatible_elements_p): New function.
4621 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4622 declaration.
4623 (vector_types_compatible_elements_p): Declare.
4624
95af4c75 46252013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4626
4627 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4628 a virtual member function.
4629 (pp_simple_type_specifier): Remove.
4630 (pp_c_type_specifier): Likewise.
4631 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4632 Rename from pp_c_type_specifier. Adjust.
4633 (c_pretty_printer::c_pretty_printer): Do not assign to
4634 simple_type_specifier.
4635
eaab24b9 46362013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4637
4638 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4639 member function.
4640 (c_pretty_printer::storage_class_specifier): Likewise.
4641 (c_pretty_printer::initializer): Likewise.
4642 (pp_declaration): Remove.
4643 (pp_declaration_specifiers): Likewise.
4644 (pp_abstract_declarator): Likewise.
4645 (pp_declarator): Likewise.
4646 (pp_type_id): Likewise.
4647 (pp_statement): Likewise.
4648 (pp_constant): Likewise.
4649 (pp_id_expression): Likewise.
4650 (pp_primary_expression): Likewise.
4651 (pp_unary_expression): Likewise.
4652 (pp_multiplicative_expression): Likewise.
4653 (pp_conditional_expression): Likewise.
4654 (pp_assignment_expression): Likewise.
4655 (pp_expression): Likewise.
4656 (pp_c_type_id): Likewise.
4657 (pp_c_storage_class_specifier): Likewise.
4658 * c-pretty-print.c (pp_c_type_cast): Tidy.
4659 (pp_c_pointer): Likewise.
4660 (pp_c_type_specifier): Likewise.
4661 (pp_c_parameter_type_list): Likewise.
4662 (pp_c_function_definition): Likewise.
4663 (pp_c_init_declarator): Likewise.
4664 (pp_c_initializer_list): Likewise.
4665 (pp_c_constructor_elts): Likewise.
4666 (c_pretty_printer::direct_abstract_declarator): Likewise.
4667 (c_pretty_printer::declaration_specifiers): Likewise.
4668 (c_pretty_printer::primary_expression): Likewise.
4669 (c_pretty_printer::postfix_expression): Likewise.
4670 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4671 (c_pretty_printer::storage_class_specifier): Rename from
4672 pp_c_storage_class_specifier.
4673 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4674 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4675 storage_class_specifier, initializer, offset_list, flags.
4676
9e46467d 46772013-08-30 Marek Polacek <polacek@redhat.com>
4678
4679 * c-ubsan.c: New file.
4680 * c-ubsan.h: New file.
4681
36a8d9b9 46822013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4683
4684 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4685 member function.
4686 (c_pretty_printer::declaration_specifiers): Likewise.
4687 (c_pretty_printer::declarator): Likewise.
4688 (c_pretty_printer::abstract_declarator): Likewise.
4689 (c_pretty_printer::direct_abstract_declarator): Likewise.
4690 (c_pretty_printer::direct_declarator): Likewise.
4691 (c_pretty_printer::function_specifier): Likewise.
4692 (pp_declaration): Adjust.
4693 (pp_declaration_specifiers): Likewise.
4694 (pp_abstract_declarator): Likewise.
4695 (pp_direct_declarator): Likewise.
4696 (pp_function_specifier): Likewise.
4697 (pp_direct_abstract_declarator): Remove as unused.
4698 (pp_c_declaration): Remove.
4699 (pp_c_declaration_specifiers): Likewise.
4700 (pp_c_declarator): Likewise.
4701 (pp_c_direct_declarator): Likewise.
4702 (pp_c_function_specifier): Likewise.
4703 (pp_c_direct_abstract_declarator): Likewise.
4704 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4705 from pp_c_abstract_declarator. Adjust.
4706 (c_pretty_printer::direct_abstract_declarator): Rename from
4707 pp_c_direct_abstract_declarator. Adjust.
4708 (c_pretty_printer::function_specifier): Rename from
4709 pp_c_function_specifier. Adjust.
4710 (c_pretty_printer::declaration_specifiers): Rename from
4711 pp_c_declaration_specifiers. Adjust.
4712 (c_pretty_printer::direct_declarator): Rename from
4713 pp_c_direct_declarator. Adjust.
4714 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4715 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4716 (c_pretty_printer::c_pretty_printer): Do not assign to
4717 declaration, declaration_specifiers, declarator,
4718 direct_declarator, direct_abstract_declarator, function_specifier.
4719
30635c2e 47202013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4721
4722 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4723 virtual member function.
4724 (c_pretty_printer::multiplicative_expression): Likewise.
4725 (c_pretty_printer::conditional_expression): Likewise.
4726 (c_pretty_printer::assignment_expression): Likewise.
4727 (c_pretty_printer::expression): Likewise.
4728 (pp_unary_expression): Adjust.
4729 (pp_multiplicative_expression): Likewise.
4730 (pp_assignment_expression): Likewise.
4731 (pp_conditional_expression): Likewise.
4732 (pp_expression): Likewise.
4733 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
4734 from pp_c_unary_expression. Adjust.
4735 (c_pretty_printer::multiplicative_expression): Rename from
4736 pp_c_multiplicative_expression. Adjust.
4737 (c_pretty_printer::conditional_expression): Rename from
4738 pp_c_conditional_expression. Adjust.
4739 (c_pretty_printer::assignment_expression): Rename from
4740 pp_c_assignment_expression. Adjust.
4741 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
4742 (c_pretty_printer::c_pretty_printer): Do not assign to
4743 unary_expression, multiplicative_expression,
4744 conditional_expression, expression.
4745
027d08ed 47462013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4747
4748 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
4749 virtual member function.
4750 (pp_postfix_expression): Adjust.
4751 (pp_c_postfix_expression): Remove.
4752 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
4753 from pp_c_postfix_expression. Adjust.
4754 (c_pretty_printer::c_pretty_printer): Do not assign to
4755 postfix_expression.
4756
f873303a 47572013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4758
4759 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
4760 virtua member function.
4761 (pp_primary_expression): Adjust.
4762 (pp_c_primary_expression): Remove.
4763 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
4764 from pp_c_primary_expression. Adjust.
4765 (pp_c_initializer_list): Use pp_primary_expression.
4766 (c_pretty_printer::c_pretty_printer): Do not assign to
4767 primary_expression.
4768
08e3e481 47692013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4770
4771 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4772 * c-pretty-print.c (M_): Remove.
4773 (c_pretty_printer::translate_string): Define.
4774 (pp_c_type_specifier): Use it.
4775 (pp_c_primary_expression): Likewise.
4776 (pp_c_expression): Likewise.
4777
1fc4a87f 47782013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4779
4780 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
4781 virtual function.
4782 (pp_c_id_expression): Remove.
4783 (pp_id_expression): Adjust.
4784 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
4785 pp_c_id_expression. Adjust.
4786 (pp_c_postfix_expression): Use pp_id_expression.
4787 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
4788
a6cb161b 47892013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4790
4791 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4792 member function.
4793 (pp_constant): Adjust.
4794 (pp_c_constant): Remove.
4795 * c-pretty-print.c (c_pretty_printer::constant): Rename from
4796 pp_c_constant. Adjust.
4797 (pp_c_constant)
4798 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
4799 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
4800
eed6bc21 48012013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4802
4803 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
4804 (c_pretty_printer::c_pretty_printer): Declare.
4805 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
4806 c_pretty_printer_init. Adjust.
4807 (print_c_tree): Do not call c_pretty_printer_init.
4808 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
4809
df558d2e 48102013-08-09 Arnaud Charlet <charlet@adacore.com>
4811
4812 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
4813
42f9a786 48142013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
4815
4816 PR c++/58080
4817 * c-common.c (pointer_int_sum): Add bool parameter.
4818 * c-common.h (pointer_int_sum): Adjust declaration.
4819
f874ddad 48202013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4821
4822 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
4823 c_pretty_printer variable.
4824
a94db6b0 48252013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4826
4827 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
4828 (pp_base): Remove.
4829 (pp_c_base): Likewise. Adjust users.
4830 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
4831 (pp_c_whitespace): Do not call pp_base.
4832 (pp_c_left_paren): Likewise.
4833 (pp_c_right_paren): Likewise.
4834 (pp_c_left_brace): Likewise.
4835 (pp_c_right_brace): Likewise.
4836 (pp_c_left_bracket): Likewise.
4837 (pp_c_right_bracket): Likewise.
4838 (pp_c_dot): Likewise.
4839 (pp_c_ampersand): Likewise.
4840 (pp_c_star): Likewise.
4841 (pp_c_arrow): Likewise.
4842 (pp_c_semicolon): Likewise.
4843 (pp_c_complement): Likewise.
4844 (pp_c_exclamation): Likewise.
4845 (pp_c_direct_declarator): Likewise.
4846 (pp_c_ws_string): Likewise.
4847 (pp_c_identifier): Likewise.
4848 (pp_c_statement): Likewise.
4849 (print_c_tree): Likewise.
4850
1898176c 48512013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
4852
4853 PR c++/58072
4854 * c-common.c (c_parse_error): Catch user-defined literal tokens and
4855 provide useful error strings.
4856
70d60d1d 48572013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4858
4859 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
4860 printer functions instead of pp_string or operators and punctuators.
4861 (dump_generic_ada_node): Likewise.
4862 * c-pretty-print.c (pp_c_type_specifier): Likewise.
4863 (pp_c_relational_expression): Likewise.
4864 (pp_c_logical_or_expression): Likewise.
4865
dda4f0ec 48662013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4867
4868 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
4869 functions instead of pp_character.
4870 (pp_ada_tree_identifier): Likewise.
4871 (dump_ada_double_name): Likewise.
4872 (dump_ada_function_declaration): Likewise.
4873 (dump_ada_array_domains): Likewise.
4874 (dump_template_types): Likewise.
4875 (dump_generic_ada_node): Likewise.
4876 (print_ada_declaration): Likewise.
4877 (print_ada_struct_decl): Likewise.
4878 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4879
7aa04c8d 48802013-07-23 Tom Tromey <tromey@redhat.com>
4881
4882 * c-common.h (enum rid) <RID_GENERIC>: New constant.
4883 * c-common.c (c_common_reswords): Add _Generic.
4884
a04e8d62 48852013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
4886
4887 * c-common.c: Fix typos.
4888 * c-common.h: Likewise.
4889
a96c3cc1 48902013-07-13 Lubos Lunak <l.lunak@suse.cz>
4891
4892 PR c++/55203
4893 * c-common.c (c_common_attribute_table): Add warn_unused.
4894 (handle_warn_unused_attribute): New.
4895
da31536d 48962013-07-10 Jakub Jelinek <jakub@redhat.com>
4897
4898 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
4899 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
4900
839f2f70 49012013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
4902
4903 PR c++/57869
4904 * c.opt: Add Wconditionally-supported.
4905
73f353d0 49062013-07-08 Graham Stott <graham.stott@btinternet.com>
4907
1f78217c 4908 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 4909 unused variables l_length and l_node.
4910
21ebaa24 49112013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 4912
4913 PR c/57821
4914 * c-common.c (complete_array_type): Delay folding first index
4915 like other indices. When folding, check for index overflow.
4916
68ea4406 49172013-06-27 Marc Glisse <marc.glisse@inria.fr>
4918
4919 PR c++/57509
4920 * c-common.h (c_build_vec_perm_expr): New complain argument.
4921 * c-common.c (c_build_vec_perm_expr): Likewise.
4922 Use save_expr also in C++.
4923
60777f69 49242013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4925
4926 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
4927 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4928 * c-opts.c (c_common_post_options): Likewise.
4929
839f2f70 49302013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 4931
4932 * array-notation-common.c (length_mismatch_in_expr): Changed the
4933 parameter type's from a dynamic array to a vec_tree. Also removed
4934 the size parameters.
4935 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
4936 the change above.
4937
e9331eab 49382013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
4939
4940 * c-common.h (struct cilkplus_an_parts): New structure.
4941 (struct cilkplus_an_loop_parts): Likewise.
4942 (cilkplus_extract_an_triplets): New prototype.
4943 (fix_sec_implicit_args): Likewise.
4944 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
4945 (fix_sec_implicit_args): Likewise.
60777f69 4946
a9c99fc4 49472013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
4948
4949 * array-notation-common.c (find_inv_trees): Removed an unwanted
4950 typecasting.
4951 * c-common.h (struct inv_list::additional_tcodes): Changed type from
4952 enum rid to enum tree_code.
4953
f2526cce 49542013-06-11 Jan Hubicka <jh@suse.cz>
4955
4956 * c-common.c (handle_alias_ifunc_attribute): Do not set
4957 DECL_EXTERNAL for weakref variables.
4958 * c-pragma.c (handle_pragma_weak): Make sure aliases
4959 are not declared as external.
4960
09970d67 49612013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
4962
4963 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
4964 function from c/c-array-notation.c.
4965 (is_cilkplus_reduce_builtin): Likewise.
4966 (find_rank): Likewise.
4967 (extract_array_notation_exprs): Likewise.
4968 (replace_array_notations): Likewise.
4969 (find_inv_trees): Likewise.
4970 (replace_inv_trees): Likewise.
4971 (contains_array_notation_expr): Likewise.
4972 (find_correct_array_notation_type): Likewise.
4973 * c-common.h (struct inv_list): Moved this struct from the file
4974 c/c-array-notation.c and added a new field called additional tcodes.
4975 (length_mismatch_in_expr_p): New prototype.
4976 (is_cilkplus_reduce_builtin): Likewise.
4977 (find_rank): Likewise.
4978 (extract_array_notation_exprs): Likewise.
4979 (replace_array_notation): Likewise.
4980 (find_inv_trees): Likewise.
4981 (replace_inv_trees): Likewise.
4982 (find_correct_array_notation_type): Likewise.
839f2f70 4983
3c6d4197 49842013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
4985
4986 * c-common.c (c_define_builtins): When cilkplus is enabled, the
4987 function array_notation_init_builtins is called.
4988 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
4989 * c-common.def (ARRAY_NOTATION_REF): New tree.
4990 * c-common.h (build_array_notation_expr): New function declaration.
4991 (build_array_notation_ref): Likewise.
4992 (extract_sec_implicit_index_arg): New extern declaration.
4993 (is_sec_implicit_index_fn): Likewise.
4994 (ARRAY_NOTATION_CHECK): New define.
4995 (ARRAY_NOTATION_ARRAY): Likewise.
4996 (ARRAY_NOTATION_START): Likewise.
4997 (ARRAY_NOTATION_LENGTH): Likewise.
4998 (ARRAY_NOTATION_STRIDE): Likewise.
4999 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5000 ARRAY_NOTATION_REF.
5001 (pp_c_expression): Likewise.
5002 * c.opt (flag_enable_cilkplus): New flag.
5003 * array-notation-common.c: New file.
5004
8e71dad2 50052013-05-14 Jakub Jelinek <jakub@redhat.com>
5006
5007 PR c++/57274
5008 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5009
432dd330 50102013-05-10 Marc Glisse <marc.glisse@inria.fr>
5011
5012 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5013 vectors.
5014
b156ec37 50152013-05-07 Han Shen <shenhan@google.com>
5016
5017 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5018
1a087624 50192013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5020
5021 * c-common.c (check_user_alignment): Emit error for negative values.
5022
1638c736 50232013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5024
5025 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5026
949dbf93 50272013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5028
5029 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5030 __GXX_EXPERIMENTAL_CXX1Y__.
5031
9205a6cc 50322013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
a49621cf 5033 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9205a6cc 5034
5035 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5036 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5037 to simply use OPT_Wpointer_arith.
5038 (c_sizeof_or_alignof_type): Likewise.
5039
05d0bce1 50402013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5041
5042 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5043
41609f8b 50442013-04-12 Jakub Jelinek <jakub@redhat.com>
5045
5046 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5047 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5048 specifiers.
5049
c671dc4f 50502013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5051
5052 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5053
ba125576 50542013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5055
5056 * c-common.c (pointer_int_sum): Remove dead code.
5057
9d3fa937 50582013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5059
5060 PR middle-end/56524
5061 * c-common.c (handle_optimize_attribute): Don't call
5062 save_optabs_if_changed.
5063
5ceebb21 50642013-03-05 Jakub Jelinek <jakub@redhat.com>
5065
5066 PR middle-end/56461
5067 * c-pch.c (pch_init): Free target_validity at the end.
5068
18eeed2b 50692013-03-04 Jakub Jelinek <jakub@redhat.com>
5070
5071 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5072
a9196da9 50732013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5074 Jakub Jelinek <jakub@redhat.com>
5075
5076 PR sanitizer/56454
5077 * c-common.c (handle_no_sanitize_address_attribute): New function.
5078 (c_common_attribute_table): Add no_sanitize_address attribute.
5079 (handle_no_address_safety_analysis_attribute): Add
5080 no_sanitize_address attribute, not no_address_safety_analysis
5081 attribute.
5082
15c27dda 50832013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 5084
5085 PR target/52555
5086 * c-common.c (handle_optimize_attribute): Call
5087 save_optabs_if_changed.
5088
19426fe1 50892013-02-18 Jakub Jelinek <jakub@redhat.com>
5090 Steven Bosscher <steven@gcc.gnu.org>
5091
5092 PR pch/54117
5093 * c-opts.c (c_common_post_options): If debug info is enabled
5094 and non-dwarf*, refuse to load PCH files and when writing PCH
5095 file warn.
5096
df936998 50972013-02-05 Jakub Jelinek <jakub@redhat.com>
5098
5099 PR middle-end/56167
5100 * c-common.c (handle_error_attribute): Fix condition.
5101
ae0c3984 51022013-01-30 Jakub Jelinek <jakub@redhat.com>
5103
5104 PR c++/55742
5105 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5106
1c4973d7 51072013-01-18 Jason Merrill <jason@redhat.com>
5108
5109 PR target/54908
5110 * c.opt (-fextern-tls-init): New.
5111 * c-opts.c (c_common_post_options): Handle it.
5112
7c834436 51132013-01-09 Jakub Jelinek <jakub@redhat.com>
5114
5115 PR c/48418
5116 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5117 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5118 and is either negative or bigger or equal to type precision
5119 of the first operand.
5120
5abaa10a 51212012-12-03 Marek Polacek <polacek@redhat.com>
5122
5123 PR c/55570
5124 * c-common.c (check_user_alignment): Swap order of tests,
5125 check TREE_CODE first.
5126
324ca377 51272012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5128
5129 PR c++/52654
5130 * c-common.h (overflow_type): New enum.
5131 (build_userdef_literal): Add overflow_type argument.
5132 (tree_userdef_literal): Add overflow_type.
5133 (USERDEF_LITERAL_OVERFLOW): New access macro.
5134 * c-common.c (build_userdef_literal): Add overflow_type
5135 argument.
5136 * c-lex.c (c_lex_with_flags): Add overflow_type to
5137 build_userdef_literal calls.
5138 (interpret_integer, interpret_float): Add overflow_type argument.
5139
b4c4a429 51402012-11-28 Richard Biener <rguenther@suse.de>
5141
5142 PR c/35634
5143 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5144 here and use a type with proper overflow behavior for types that would
5145 need to be promoted for the arithmetic.
5146
d413ffdd 51472012-11-23 Jakub Jelinek <jakub@redhat.com>
5148
5149 PR sanitizer/55435
5150 * c-common.c (handle_no_address_safety_analysis_attribute): New
5151 function.
5152 (c_common_attribute_table): Add no_address_safety_analysis.
5153
52bc861d 51542012-11-16 Simon Baldwin <simonb@google.com>
5155
5156 * c.opt: Add f[no-]canonical-system-headers.
5157 * c-opts.c (c_common_handle_option): Handle
5158 OPT_fcanonical_system_headers.
5159
2dd00636 51602012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5161
5162 PR c++/54413
5163 * c-opts.c (c_common_handle_option): Set new flags.
5164 * c.opt: Describe new flags.
5165
d4701f6c 51662012-11-09 Jason Merrill <jason@redhat.com>
5167
5168 * c.opt (Wabi-tag): New.
5169
72d65da9 51702012-11-09 Andi Kleen <ak@linux.intel.com>
5171
5172 PR 55139
5173 * c-common.c (get_atomic_generic_size): Mask with
a49621cf 5174 MEMMODEL_MASK
72d65da9 5175
77a357e3 51762012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5177
5178 PR c/53063
5179 * c.opt (Wformat): Make it Alias Wformat=1.
5180 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5181 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5182 LangEnabledBy.
5183 (Wformat=): RejectNegative. Use LangEnabledBy.
5184 (Wnonnull): Use LangEnabledBy.
5185 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5186 * c-format.c (set_Wformat): Delete.
5187 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
a49621cf 5188 (maybe_read_dollar_number): Likewise.
5189 (avoid_dollar_number): Likewise.
5190 (finish_dollar_format_checking): Likewise.
5191 (check_format_info): Likewise.
5192 (check_format_info_main): Likewise.
5193 (check_format_types): Likewise.
5194 (format_type_warning): Likewise.
5195 * c-common.c (int): Likewise.
5196 (check_function_sentinel): Likewise.
5197 * c-common.h (warn_format,set_Wformat): Do not declare here.
77a357e3 5198
45efa6b9 51992012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5200
5201 PR c/53063
5202 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5203 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5204 Use LangEnabledBy.
5205 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5206 common.opt.
5207 (Wvariadic-macros): Init(1).
5208 * c-opts.c (c_common_handle_option): Do not handle them
5209 explicitly.
5210 (c_common_post_options): Likewise.
5211 (sanitize_cpp_opts): warn_unused_macros is now
5212 cpp_warn_unused_macros.
5213 (push_command_line_include): Likewise.
5214 * c-common.c (warn_unknown_pragmas): Do not define.
5215 * c-common.h (warn_unknown_pragmas): Do not declare.
5216
0e4e775a 52172012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5218
5219 PR c/51294
5220 * c-common.c (conversion_warning): Handle conditional expressions.
5221
8b447d3f 52222012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5223
5224 PR c++/54930
5225 * c.opt (Wreturn_local_addr): Define new option.
5226
f4a61754 52272012-10-25 Jason Merrill <jason@redhat.com>
5228
ecb10e6a 5229 * c.opt (Wvirtual-move-assign): New.
5230
f4a61754 5231 * c.opt (Winherited-variadic-ctor): New.
5232
7b463b19 52332012-10-25 Marc Glisse <marc.glisse@inria.fr>
5234
5235 PR c++/54427
5236 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5237
6adc88f8 52382012-10-23 Joseph Myers <joseph@codesourcery.com>
5239
5240 * c-common.h (pch_cpp_save_state): Declare.
5241 * c-target.def (c_preinclude): New hook.
5242 * c-opts.c (done_preinclude): New.
5243 (push_command_line_include): Handle default preincluded header.
5244 (cb_file_change): Call pch_cpp_save_state when calling
5245 push_command_line_include.
5246 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5247 (pch_cpp_save_state): New.
5248 (pch_init): Call pch_cpp_save_state conditionally, instead of
5249 calling cpp_save_state.
5250
fa816b0b 52512012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5252
5253 PR c/53063
5254 PR c/40989
5255 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5256 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5257 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5258 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5259 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5260 * c-opts.c (c_common_handle_option): Remove explicit handling from
5261 here.
5262 (c_common_post_options): Likewise.
5263
d214ccee 52642012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5265
5266 * c-ada-spec.c (LOCATION_COL): Delete.
5267 (compare_location): New function.
5268 (compare_node): Use it.
5269 (compare_comment): Likewise.
5270
77b27208 52712012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5272
5273 PR c/53063
5274 PR c/40989
5275 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5276 * c-opts.c (c_common_handle_option): Do not set them here. Add
5277 comment.
5278 (c_common_post_options): Likewise.
5279
cc02ca4d 52802012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5281
5282 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5283 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5284 Remove POINTER_TYPE handling, add large unsigned handling and use
5285 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5286
57f872a2 52872012-10-12 Jakub Jelinek <jakub@redhat.com>
5288
5289 PR c/54381
5290 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5291 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5292 locs and array of 3 trees instead of just single loc and single
5293 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5294 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5295 For *cmp* builtins that take two sources strings report warnings
5296 about first and second source, not about destination and source.
5297
7354ad2e 52982012-10-12 Marc Glisse <marc.glisse@inria.fr>
5299
5300 PR c++/53055
5301 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5302
1ac7f120 53032012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5304
5305 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5306 declaring something coming from another file.
5307
1e0cc9e3 53082012-10-10 Arnaud Charlet <charlet@adacore.com>
5309
1ac7f120 5310 PR ada/54845
1e0cc9e3 5311 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5312
b0e7825e 53132012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5314
5315 PR c++/54194
5316 * c-common.c (warn_about_parentheses): Add location_t parameter;
5317 use EXPR_LOC_OR_LOC.
5318 * c-common.h: Update declaration.
5319
41ed701a 53202012-10-09 Marc Glisse <marc.glisse@inria.fr>
5321
5322 PR c++/54427
5323 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5324 more operations. Make error messages optional.
5325 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5326 (scalar_to_vector): Declare.
5327
3740094c 53282012-10-08 Jason Merrill <jason@redhat.com>
5329
5330 * c-common.c (c_common_reswords): Add thread_local.
5331
ffcdbf9c 53322012-10-08 Dodji Seketeli <dodji@redhat.com>
5333
5334 PR c++/53528 C++11 attribute support
5335 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5336 new functions.
5337 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5338 static function.
5339 (handle_aligned_attribute): In choose strictest alignment
5340 among many. Use new check_cxx_fundamental_alignment_constraints.
5341 (handle_transparent_union_attribute): In c++11 attribute syntax,
5342 don't look through typedefs.
5343
ef34afc1 53442012-10-04 Arnaud Charlet <charlet@adacore.com>
5345
5346 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5347 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5348 out of dumpfile.h.
5349
f1ff4562 53502012-09-25 Dehao Chen <dehao@google.com>
5351
5352 PR middle-end/54645
ef34afc1 5353 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 5354 map when read in the pch.
5355
92a44a68 53562012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 5357
5358 * c-ada-spec.c: Style fixes.
5359
92a44a68 53602012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 5361
5362 * c.opt (-fada-spec-parent): Define new command line switch.
5363 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5364 is specified, generate binding spec as a child of the specified unit.
5365
8eba82c2 53662012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5367 Manuel López-Ibáñez <manu@gcc.gnu.org>
5368
5369 PR c++/53210
5370 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5371
38682990 53722012-08-23 Arnaud Charlet <charlet@adacore.com>
5373
5374 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5375 for pointers, and add missing Convention C pragma.
5376 (print_ada_struct_decl): Add missing aliased keyword.
5377 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5378
f003f5dc 53792012-08-17 Jakub Jelinek <jakub@redhat.com>
5380
5381 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5382 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5383 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5384 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5385 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5386
ec11736b 53872012-08-10 Richard Guenther <rguenther@suse.de>
5388
5389 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5390
5f7f600e 53912012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5392
5393 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5394 instead of separate pp_newline and pp_flush.
5395 (print_c_tree): Likewise.
5396
758a38ab 53972012-07-26 Richard Henderson <rth@redhat.com>
5398
5399 * c-common.c (handle_hot_attribute): Allow labels.
5400 (handle_cold_attribute): Likewise.
5401
9ca77b08 54022012-07-20 Jakub Jelinek <jakub@redhat.com>
5403
5404 PR c++/28656
5405 * c-common.c (check_function_nonnull): Handle multiple nonnull
5406 attributes properly.
5407
b9ed1410 54082012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5409
5410 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5411 * c-ada-spec.c: Likewise.
5412 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5413
c2a65b90 54142012-07-14 Steven Bosscher <steven@gcc.gnu.org>
5415
5416 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5417 Remove code conditional on it.
5418
88c5a1d1 54192012-07-11 Steven Bosscher <steven@gcc.gnu.org>
5420
5421 * c-gimplify.c: Do not include basic-block.h.
5422 * c-common.c: Do not include linfuncs.h.
5423
4a020a8c 54242012-07-08 Steven Bosscher <steven@gcc.gnu.org>
5425
5426 * c-common.h: Include tree.h.
5427
c28ddc97 54282012-07-02 Jason Merrill <jason@redhat.com>
5429
5430 PR c++/53524
5431 * c-common.c (get_priority): Call default_conversion.
5432
405ed67f 54332012-07-01 Uros Bizjak <ubizjak@gmail.com>
5434
5435 * c-pch.c (c_common_write_pch): Remove unused variables.
5436
e53d55e7 54372012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5438
5439 * cppspec.c: Moved from gcc/ to here.
5440
3d9c25ec 54412012-06-27 Kai Tietz <ktietz@redhat.com>
5442
5443 PR preprocessor/37215
5444 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5445
3169c57a 54462012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5447
5448 * c-common.h (c_common_print_pch_checksum): Remove.
5449 * c-pch.c: Do not include output.h.
5450 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5451 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5452 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5453 (struct c_pch_header): Remove.
5454 (get_ident): Update gpch version.
5455 (pch_init): Do not print executable_checksum to asm_out_file.
5456 Do not fail if there is no asm_out_file to read back from. Set
5457 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5458 (c_common_write_pch): Verify that nothing was written to asm_out_file
5459 since pch_init was called. Do not write a c_pch_header, and do not
5460 copy from asm_out_file to the PCH.
5461 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5462 the content of asm_out_file from the PCH.
5463 (c_common_print_pch_checksum): Remove.
5464 * c-opts.c (c_common_init): Print out executable_checksum directly.
5465
ff6624bc 54662012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5467
5468 * c-target.def (objc_declare_unresolved_class_reference,
5469 objc_declare_class_definition): Add new hooks.
5470
367b1459 54712012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5472
5473 * c-lex.c: Do not include output.h.
5474 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5475 Remove uses of ASM_OUTPUT_IDENT.
5476
bf0cb017 54772012-06-15 Marc Glisse <marc.glisse@inria.fr>
5478
5479 PR c++/51033
5480 * c-common.h (c_build_vec_perm_expr): Move decl here.
5481 * c-common.c (c_build_vec_perm_expr): Move definition
5482 here.
5483
b37a3600 54842012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5485
5486 * c.opt (fconserve-space): Turn into a no-op.
5487
19931eea 54882012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 5489
5490 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5491 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5492 both the start and end of the function.
5493
dff12c10 54942012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5495
5496 * c-common.c: Do not include output.h.
5497 * c-pragma.c: Likewise.
5498
5f9e7dd5 54992012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5500
5501 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5502 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5503 (lang_decl_name): Handle namespace decls.
5504
b5369b7d 55052012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5506
5507 * c-ada-spec.c: Do not include output.h.
5508 * c-semantics.c: Likewise.
5509
8032877c 55102012-05-29 Joseph Myers <joseph@codesourcery.com>
5511
5512 * c-common.c: Fix typo.
5513
7843e4bc 55142012-05-29 Michael Matz <matz@suse.de>
5515
5516 * c-common.h (c_expand_decl): Remove prototype.
5517
8cf857d4 55182012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5519
5520 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5521 * c-opts.c (c_common_handle_option): Remove code handling
5522 warn_missing_braces.
5523
8b64dc3c 55242012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5525
5526 PR c++/25137
5527 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5528 -Wmissing_braces.
5529
43cbde16 55302012-05-22 Dodji Seketeli <dodji@redhat.com>
5531
5532 PR c++/53322
5533 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5534
db490cb6 55352012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5536
5537 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5538 * c-opts.c (c_common_handle_option): Do not handle explicitly
5539 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5540
a60f3e81 55412012-05-16 Dodji Seketeli <dodji@redhat.com>
5542
5543 PR preprocessor/7263
5544 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5545 to cpp_classify_number. For diagnostics, use the precise location
5546 instead of the global input_location.
5547
82e6ef7c 55482012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5549
cd4797ff 5550 PR c++/11856
82e6ef7c 5551 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5552
258a168d 55532012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5554
82e6ef7c 5555 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 5556
d3b7ee7c 55572012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5558
5559 PR 53063
5560 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5561 Wreorder): Use LangEnabledBy.
5562 * c-opts.c (c_common_handle_option): Do not enable them
5563 explicitly. Call lang-specific generated functions.
5564 (c_common_post_options): Do not set them here.
5565
70059cea 55662012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5567
5568 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5569 Wmissing-field-initializers,Wmissing-parameter-type,
5570 Wold-style-declaration,Woverride-init): Use EnabledBy.
5571 * c-opts.c (c_common_post_options): Do not set here explicitly.
5572
fbb6fbd8 55732012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5574
5575 PR 53063
5576 * c-opts.c (c_common_handle_option): Use handle_generated_option
5577 to enable sub-options.
5578
61f69bc9 55792012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5580
5581 PR c++/53158
5582 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5583
5a1fe2db 55842012-05-10 Richard Guenther <rguenther@suse.de>
5585
5586 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5587 adjust commentary about TYPE_IS_SIZETYPE types.
5588
d42e7c5a 55892012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5590
5591 PR c++/53261
5592 * c-common.c (warn_logical_operator): Check that argument of
5593 integer_zerop is not NULL.
5594
686369e8 55952012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5596
5597 PR c/43772
5598 * c-common.c (warn_logical_operator): Do not warn if either side
5599 is already true or false.
5600
03fe1dc2 56012012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5602
5603 PR c/51712
5604 * c-common.c (expr_original_type): New.
5605 (shorten_compare): Do not warn for enumeration types.
5606
bba5a206 56072012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5608
5609 * c.opt (fpermissive): Add Var(flag_permissive).
5610
7059d45d 56112012-04-30 Marc Glisse <marc.glisse@inria.fr>
5612
5613 PR c++/51033
5614 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5615 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5616
7edb1062 56172012-04-30 Dodji Seketeli <dodji@redhat.com>
5618
5619 Add -Wvarargs option
5620 * c.opt (Wvarargs): Define new option.
5621
068bea1e 56222012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5623
5624 * c-common.c (check_function_arguments): Replace
5625 Wmissing-format-attribute with Wsuggest-attribute=format.
5626
b86527d8 56272012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5628
5629 * c.opt (Wsuggest-attribute=format): New. Alias of
5630 Wmissing-format-attribute.
5631 * c-format.c (decode_format_type): Replace
5632 Wmissing-format-attribute with Wsuggest-attribute=format.
5633 (check_function_format): Likewise.
5634
19931eea 56352012-04-27 Ollie Wild <aaw@google.com>
76d340ac 5636
5637 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5638 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5639 * c.opt: Add Wliteral-suffix.
5640
29438999 56412012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5642
5643 PR c/44774
5644 * c.opt (Wpedantic): New.
5645 (pedantic): Alias Wpedantic.
5646 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5647 (c_common_post_options): Likewise.
5648 (sanitize_cpp_opts): Likewise.
5649 * c-lex.c (interpret_float): Likewise.
5650 * c-format.c (check_format_types): Likewise.
5651 * c-common.c (pointer_int_sum): Likewise.
5652 (c_sizeof_or_alignof_type): Likewise.
5653 (c_add_case_label): Likewise.
5654 (c_do_switch_warnings): Likewise.
5655 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5656
4f9d6b8b 56572012-04-15 Jason Merrill <jason@redhat.com>
5658
5659 PR c++/52818
5660 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5661 (C_STD_NAME): Distinguish between C++98 and C++11.
5662
74bdbe96 56632012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5664
5665 PR target/52624
5666 * c-common.h (uint16_type_node): Rename into...
5667 (c_uint16_type_node): ...this.
5668 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5669 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5670
3d177e8c 56712012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5672
5673 * c-common.c (warn_if_unused_value): Move definition to here.
5674 * c-common.h (warn_if_unused_value): Move declaration to here.
5675
6a9a958f 56762012-03-23 William Bader <williambader@hotmail.com>
5677
5678 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5679
543efdbe 56802012-03-20 Jason Merrill <jason@redhat.com>
5681
5682 * c-common.h (enum cxx_dialect): Add cxx1y.
5683 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5684 test.
5685 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5686 * c-opts.c (c_common_post_options): Likewise.
5687 (set_std_cxx1y): New.
5688 (c_common_handle_option): Call it.
5689 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5690
62206d34 56912012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5692
5693 PR c++/14710
5694 * c.opt ([Wuseless-cast]): Add.
5695
fadf62f4 56962012-03-16 Richard Guenther <rguenther@suse.de>
5697
5698 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5699
249faa35 57002012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5701
5702 PR c++/44783
5703 * c.opt (ftemplate-backtrace-limit) Add.
5704
126b6848 57052012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5706
5707 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5708 handling.
5709 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5710 (init_pragma): Don't register extern_prefix.
5711
a51edb4c 57122012-03-12 Richard Guenther <rguenther@suse.de>
5713
5714 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5715 (builtin_type_for_size): Likewise.
5716
0f6a7cb7 57172012-02-13 Jakub Jelinek <jakub@redhat.com>
5718
5719 PR c++/52215
5720 * c-common.c (sync_resolve_params): Don't decide whether to convert
5721 or not based on TYPE_SIZE comparison, convert whenever arg_type
5722 is unsigned INTEGER_TYPE.
5723
0779e32c 57242012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
5725
5726 PR c/52118
5727 * c.opt ([Wunused-local-typedefs]): Fix description.
5728
baec58e1 57292012-01-24 Mike Stump <mikestump@comcast.net>
5730
5731 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
5732 exactly.
5733
c779d8cc 57342012-01-18 Richard Guenther <rguenther@suse.de>
5735
5736 * c-opts.c (c_common_post_options): Reset LTO flags if
5737 we are about to generate a PCH.
5738
ee917d24 57392012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
5740
5741 PR c++/51777
5742 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
5743 use pp_unsigned_wide_integer.
5744
90e2341f 57452012-01-10 Richard Guenther <rguenther@suse.de>
5746
5747 PR middle-end/51806
5748 * c-opts.c (c_common_handle_option): Move -Werror handling
5749 to language independent code.
5750
9ea022ce 57512012-01-05 Richard Guenther <rguenther@suse.de>
5752
5753 PR middle-end/51764
5754 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
5755 from common.opt.
5756
3df19e1b 57572011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
5758
5759 PR c++/51316
5760 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5761 of array types with an unknown bound.
5762
32074525 57632011-12-20 Joseph Myers <joseph@codesourcery.com>
5764
5765 * c-common.c (flag_isoc99): Update comment to refer to C11.
5766 (flag_isoc1x): Change to flag_isoc11.
5767 * c-common.h (flag_isoc99): Update comment to refer to C11.
5768 (flag_isoc1x): Change to flag_isoc11.
5769 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
5770 C11.
5771 * c-opts.c (set_std_c1x): Change to set_std_c11.
5772 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
5773 Call set_std_c11.
5774 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
5775 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
5776 * c.opt (std=c1x): Change to std=c11. Document as non-draft
5777 standard.
5778 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
5779 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
5780 (std=gnu1x): Make alias of std=gnu11.
5781
fca86134 57822011-12-19 Jason Merrill <jason@redhat.com>
5783
5784 PR c++/51228
5785 * c-common.c (handle_transparent_union_attribute): Check the first
5786 field if the type is complete.
5787
aa4313eb 57882011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
5789
5790 PR libstdc++/51365
5791 * c-common.c (RID_IS_FINAL): Add.
5792 * c-common.h (RID_IS_FINAL): Add.
5793
3f3d5ad4 57942011-11-30 Iain Sandoe <iains@gcc.gnu.org>
5795
5796 * c.opt (fgnu-runtime): Provide full description.
5797 (fnext-runtime): Likewise.
5798 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
5799
c4606d19 58002011-11-28 Andrew MacLeod <amacleod@redhat.com>
5801
5802 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
5803 predefines in one place. Add LOCK_FREE predefines.
5804 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
5805 new func.
5806
1d581089 58072011-11-24 Andrew MacLeod <amacleod@redhat.com>
5808
5809 PR c/51256
19931eea 5810 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 5811 conditions
19931eea 5812 (resolve_overloaded_atomic_exchange,
5813 resolve_overloaded_atomic_compare_exchange,
1d581089 5814 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
5815 error_mark_node for error conditions.
19931eea 5816
6aa221fa 58172011-11-08 Richard Guenther <rguenther@suse.de>
5818
5819 PR middle-end/51010
5820 c-family/
5821
4c0315d0 58222011-11-07 Richard Henderson <rth@redhat.com>
5823 Aldy Hernandez <aldyh@redhat.com>
5824 Torvald Riegel <triegel@redhat.com>
5825
5826 Merged from transactional-memory.
5827
5828 * c-common.c (handle_tm_wrap_attribute,
5829 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
5830 (struct c_common_reswords): Added __transaction* keywords.
5831 (struct c_common_attribute_table): Added transaction* and tm_regparm
5832 attributes.
5833 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
5834 masks.
5835 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
5836 find_tm_attribute): Declare.
5837
920f5a70 58382011-11-07 Jason Merrill <jason@redhat.com>
5839
5840 PR c++/35688
5841 * c-common.c, c-common.h: Revert yesterday's changes.
5842
b4f861b4 58432011-11-06 Jason Merrill <jason@redhat.com>
5844
5845 PR c++/35688
5846 * c-common.c (decl_has_visibility_attr): Split out from...
5847 (c_determine_visibility): ...here.
5848 * c-common.h: Declare it.
5849
83e25171 58502011-11-06 Joseph Myers <joseph@codesourcery.com>
5851
5852 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
5853 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
5854 type.
5855 (check_user_alignment): New. Split out of
5856 handle_aligned_attribute. Disallow integer constants with
5857 noninteger types. Conditionally allow zero.
5858 (handle_aligned_attribute): Use check_user_alignment.
5859 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
5860
1cd6e20d 58612011-11-06 Andrew MacLeod <amacleod@redhat.com>
5862 Richard Henderson <rth@redhat.com>
5863
5864 Merged from cxx-mem-model.
5865
5866 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 5867 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 5868 parameters that are the same type size.
5869 (get_atomic_generic_size): New. Find size of generic
5870 atomic function parameters and do typechecking.
5871 (add_atomic_size_parameter): New. Insert size into parameter list.
5872 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
5873 either __atomic_exchange_n or external library call.
19931eea 5874 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 5875 __atomic_compare_exchange to either _n variant or external library call.
19931eea 5876 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 5877 __atomic_load_n or an external library call.
5878 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
5879 __atomic_store_n or an external library call.
5880 (resolve_overloaded_builtin): Handle new __atomic builtins.
5881
7549df0d 58822011-11-04 Eric Botcazou <ebotcazou@adacore.com>
5883
5884 PR c++/50608
5885 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
5886 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
5887 <INDIRECT_REF>: Return the argument.
5888 <ARRAY_REF>: Remove special code for negative offset.
5889 Call fold_build_pointer_plus instead of size_binop.
5890 (fold_offsetof): Remove STOP_REF argument and adjust.
5891 * c-common.h (fold_offsetof_1): Declare.
5892 (fold_offsetof): Remove STOP_REF argument.
5893
7e783eb3 58942011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
5895
5896 PR c++/50810
5897 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5898 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5899 Wnarrowing for C++0x and C++98.
5900 * c.opt ([Wnarrowing]): Update.
5901
8fe701f5 59022011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
5903
5904 PR c++/44277
5905 * c.opt: Add Wzero-as-null-pointer-constant.
5906
0d84dc2d 59072011-10-31 Jason Merrill <jason@redhat.com>
5908
67031f52 5909 * c.opt (-fdeduce-init-list): Off by default.
5910
0d84dc2d 5911 PR c++/50920
5912 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
5913 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
5914 and -Wc++11-compat.
5915 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
5916
66f24c41 59172011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
5918
5919 PR c++/30066
5920 * c.opt (fvisibility-inlines-hidden): Description change.
5921
244db24d 59222011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
5923
5924 Implement C++11 user-defined literals.
5925 * c-common.c (build_userdef_literal): New.
5926 * c-common.def: New tree code.
5927 * c-common.h (tree_userdef_literal): New tree struct and accessors.
5928 * c-lex.c (interpret_float): Add suffix parm.
5929 (c_lex_with_flags): Build literal tokens.
5930
235be70f 59312011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5932
5933 PR c++/50841
5934 Revert:
5935 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5936
5937 PR c++/50810
5938 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5939 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5940 Wnarrowing for C++0x and C++98.
5941 * c.opt ([Wnarrowing]): Update.
5942
4fe0fb1c 59432011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5944
5945 PR c++/50810
5946 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5947 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5948 Wnarrowing for C++0x and C++98.
5949 * c.opt ([Wnarrowing]): Update.
5950
5f7504f9 59512011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
5952
5953 PR c++/45385
5954 * c-common.c (conversion_warning): Remove code looking for
5955 artificial operands.
5956
2a688977 59572011-10-18 Dodji Seketeli <dodji@redhat.com>
5958
5959 PR bootstrap/50760
5960 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 5961 !NO_IMPLICIT_EXTERN_C.
2a688977 5962
326e3391 59632011-10-17 Michael Spertus <mike_spertus@symantec.com>
5964
5965 * c-common.c (c_common_reswords): Add __bases,
5966 __direct_bases.
5967 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
5968
59692011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
5970
5971 PR c++/50757
5972 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
5973
62db153a 59742011-10-15 Tom Tromey <tromey@redhat.com>
5975 Dodji Seketeli <dodji@redhat.com>
5976
5977 * c.opt (fdebug-cpp): New option.
5978 * c-opts.c (c_common_handle_option): Handle the option.
5979 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
5980 output stream in parameter. Factorized from ...
5981 (maybe_print_line): ... this. Dump location debug information when
5982 -fdebug-cpp is in effect.
5983 (print_line_1): New static function. Takes an output stream in
5984 parameter. Factorized from ...
5985 (print_line): ... here. Dump location information when -fdebug-cpp
5986 is in effect.
5987 (scan_translation_unit): Dump location information when
5988 -fdebug-cpp is in effect.
5989
ce70f433 59902011-10-15 Tom Tromey <tromey@redhat.com>
5991 Dodji Seketeli <dodji@redhat.com>
5992
5993 * c.opt (ftrack-macro-expansion): New option. Handle it with and
5994 without argument.
5995 * c-opts.c (c_common_handle_option)<case
5996 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
5997 cases. Handle -ftrack-macro-expansion with and without argument.
5998
97bfb9ef 59992011-10-15 Tom Tromey <tromey@redhat.com>
6000 Dodji Seketeli <dodji@redhat.com>
6001
6002 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6003 (print_line, cb_define, do_line_change): Adjust to avoid touching
6004 the internals of struct line_map. Use the public API instead.
6005 * c-pch.c (c_common_read_pch): Likewise.
6006 * c-lex.c (fe_file_change): Likewise.
6007
326e3391 60082011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6009
6010 PR c++/17212
6011 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6012
60132011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6014
6015 PR c++/33067
6016 * c-pretty-print.c (pp_c_floating_constant): Output
6017 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6018
b9a16870 60192011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6020
6021 * c-common.c (def_builtin_1): Delete old interface with two
6022 parallel arrays to hold standard builtin declarations, and replace
6023 it with a function based interface that can support creating
6024 builtins on the fly in the future. Change all uses, and poison
6025 the old names. Make sure 0 is not a legitimate builtin index.
6026 * c-omp.c (c_finish_omp_barrier): Ditto.
6027 (c_finish_omp_taskwait): Ditto.
6028 (c_finish_omp_flush): Ditto.
6029
c7964868 60302011-10-11 Tristan Gingold <gingold@adacore.com>
6031
6032 * c.opt: (fallow-parameterless-variadic-functions): New.
6033
a4e3ffad 60342011-09-08 Dodji Seketeli <dodji@redhat.com>
6035
6036 PR c++/33255 - Support -Wunused-local-typedefs warning
6037 * c-common.h (struct c_language_function::local_typedefs): New
6038 field.
19931eea 6039 (record_locally_defined_typedef, maybe_record_typedef_use)
6040 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 6041 * c-common.c (record_locally_defined_typedef)
19931eea 6042 (maybe_record_typedef_use)
6043 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 6044 * c.opt: Declare new -Wunused-local-typedefs flag.
6045
737a23cc 60462011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6047
6048 PR middle-end/50266
6049 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6050 computations.
6051
7542c3b4 60522011-09-05 Richard Guenther <rguenther@suse.de>
6053
6054 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6055 of integer_minus_one_node for empty array upper bounds.
6056
1dc92c59 60572011-08-28 Dodji Seketeli <dodji@redhat.com>
6058
6059 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6060 it's the first time it's being called on this main TU.
6061
2bdf2b6e 60622011-08-24 Richard Guenther <rguenther@suse.de>
6063
6064 PR c/49396
6065 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6066
60672011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 6068
6069 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6070 defined in cpp_init_builtins and c_cpp_builtins.
6071
bff4ad11 60722011-08-19 Joseph Myers <joseph@codesourcery.com>
6073
6074 * c-common.c (c_common_reswords): Add __builtin_complex.
6075 * c-common.h (RID_BUILTIN_COMPLEX): New.
6076
985c6e3a 60772011-08-18 Joseph Myers <joseph@codesourcery.com>
6078
6079 * c-common.c (c_common_reswords): Add _Noreturn.
6080 (keyword_is_function_specifier): Handle RID_NORETURN.
6081 * c-common.h (RID_NORETURN): New.
6082
92a44a68 60832011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 6084
6085 * c-common.c (unsafe_conversion_p): New function. Check if it is
6086 unsafe to convert an expression to the type.
6087 (conversion_warning): Adjust, use unsafe_conversion_p.
6088 * c-common.h (unsafe_conversion_p): New function declaration.
6089
2169f33b 60902011-08-02 Jakub Jelinek <jakub@redhat.com>
6091
6092 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6093 (c_finish_omp_taskyield): New prototype.
6094 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6095 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6096 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6097 or RHS1 have side-effects, evaluate those too in the right spot,
6098 if it is a decl and LHS is also a decl, error out if they
6099 aren't the same.
6100 (c_finish_omp_taskyield): New function.
6101 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6102 * c-pragma.c (omp_pragmas): Add taskyield.
6103 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6104 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6105 PRAGMA_OMP_CLAUSE_MERGEABLE.
6106
ab77850e 61072011-07-25 Dodji Seketeli <dodji@redhat.com>
6108
6109 * c-common.h (set_underlying_type): Remove parm name from
6110 declaration.
6111
6ee97920 61122011-07-25 Romain Geissler <romain.geissler@gmail.com>
6113
6114 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 6115
dc251364 61162011-07-22 Jason Merrill <jason@redhat.com>
6117
1a2a35f0 6118 PR c++/49793
6119 * c.opt (Wnarrowing): New.
6120
27282252 6121 PR c++/30112
6122 * c-common.h: Declare c_linkage_bindings.
6123 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6124
dc251364 6125 PR c++/49813
6126 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6127 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6128 as flag_isoc99 for 'restrict'.
6129 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6130
fc501191 61312011-07-21 Ian Lance Taylor <iant@google.com>
6132
6133 PR middle-end/49705
6134 * c-common.c (c_disable_warnings): New static function.
6135 (c_enable_warnings): New static function.
6136 (c_fully_fold_internal): Change local unused_p to bool. Call
6137 c_disable_warnings and c_enable_warnings rather than change
6138 c_inhibit_evaluation_warnings.
6139
07b8f133 61402011-07-20 Jason Merrill <jason@redhat.com>
6141
6142 PR c++/6709 (DR 743)
6143 PR c++/42603 (DR 950)
6144 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6145 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6146 (CPP_DECLTYPE): New.
6147 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6148
2cc66f2a 61492011-07-19 Richard Guenther <rguenther@suse.de>
6150
6151 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6152 * c-omp.c (c_finish_omp_for): Likewise.
6153
3c802a1e 61542011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6155
6156 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6157 body on the next line.
6158
98a33d9f 61592011-07-08 Jason Merrill <jason@redhat.com>
6160
3115bda0 6161 PR c++/45437
6162 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6163
98a33d9f 6164 PR c++/49673
6165 * c-common.c (c_apply_type_quals_to_decl): Don't check
6166 TYPE_NEEDS_CONSTRUCTING.
6167
c38a75b7 61682011-07-06 Richard Guenther <rguenther@suse.de>
6169
6170 * c-common.c (c_common_nodes_and_builtins):
6171 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6172
e593356b 61732011-07-05 Richard Guenther <rguenther@suse.de>
6174
6175 * c-common.c (c_common_nodes_and_builtins): Build all common
6176 tree nodes first.
6177
fca0886c 61782011-06-27 Jakub Jelinek <jakub@redhat.com>
6179
a68f7a8d 6180 * c-common.h (c_tree_chain_next): New static inline function.
6181
fca0886c 6182 * c-common.c (check_builtin_function_arguments): Handle
6183 BUILT_IN_ASSUME_ALIGNED.
6184
2797f13a 61852011-06-21 Andrew MacLeod <amacleod@redhat.com>
6186
6187 * c-common.c: Add sync_ or SYNC__ to builtin names.
6188 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 6189
61902011-06-20 Pierre Vittet <piervit@pvittet.com>
6191
6192 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6193 handler.
6194 (gen_pragma_handler): New union.
6195 (internal_pragma_handler): New type.
6196 (c_register_pragma_with_data)
6197 (c_register_pragma_with_expansion_and_data): New functions.
6198
6199 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6200 (c_register_pragma, c_register_pragma_with_expansion)
6201 (c_invoke_pragma_handler): Changed to work with
6202 internal_pragma_handler.
6203 (c_register_pragma_with_data)
6204 (c_register_pragma_with_expansion_and_data): New functions.
6205
218e3e4e 62062011-06-14 Joseph Myers <joseph@codesourcery.com>
6207
6208 * c-common.c: Include common/common-target.h.
6209 (handle_section_attribute): Use
6210 targetm_common.have_named_sections.
6211 * c-cppbuiltin.c: Include common/common-target.h.
6212 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6213
41e53ed2 62142011-06-10 Richard Guenther <rguenther@suse.de>
6215
6216 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6217 to print a IDENTIFIER_NODE.
6218
a6f06169 62192011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6220 Joseph Myers <joseph@codesourcery.com>
6221
6222 * c.opt (fbuilding-libgcc): New option.
6223 * c-cppbuiltin.c (c_cpp_builtins): Define
6224 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6225
1ea9269b 62262011-06-07 Jason Merrill <jason@redhat.com>
6227
8ce59854 6228 * c-common.c (max_tinst_depth): Lower default to 900.
6229
1ea9269b 6230 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6231
1af0124d 62322011-06-07 Richard Guenther <rguenther@suse.de>
6233
6234 * c-common.c (c_common_nodes_and_builtins): Do not set
6235 size_type_node or call set_sizetype.
6236
0e9a4c01 62372011-06-07 Dodji Seketeli <dodji@redhat.com>
6238
6239 PR debug/49130
6240 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 6241 type when using pointer comparison to compare types.
0e9a4c01 6242
90b40725 62432011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6244
6245 * c.opt: Add -Wdelete-non-virtual-dtor.
6246 * c-opts.c (c_common_handle_option): Include it in -Wall.
6247
fc9c9e87 62482011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6249
6250 PR bootstrap/49190
6251
6252 Revert:
6253 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6254
6255 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6256 not tree_common.
6257
d0389adc 62582011-05-27 Jakub Jelinek <jakub@redhat.com>
6259
6260 PR c++/49165
6261 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6262 C++ don't call c_common_truthvalue_conversion on void type arms.
6263
cacfdc02 62642011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6265
6266 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6267 (stmt_list_stack): Define.
6268 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6269 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6270
027fc6ef 62712011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6272
6273 * c-common.c (warning_candidate_p): Check for BLOCKs.
6274
f21317a1 62752011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6276
6277 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6278 not tree_common.
6279
789e953d 62802011-05-25 Jakub Jelinek <jakub@redhat.com>
6281
6282 * c-common.c (def_fn_type): Remove extra va_end.
6283
7f506bca 62842011-05-23 Jason Merrill <jason@redhat.com>
6285
6286 PR c++/48106
6287 * c-common.c (c_common_get_narrower): New.
6288 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6289
774e9d58 62902011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6291
6292 * c-common.h (check_function_arguments): Tweak prototype of
6293 check_function_arguments.
6294 * c-common.c (check_function_arguments): Likewise. Adjust
6295 calls to check_function_nonnull, check_function_format, and
6296 check_function_sentinel.
6297 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6298 separate attributes and typelist arguments. Use
6299 FOREACH_FUNCTION_ARGS to iterate over argument types.
6300
23407dc9 63012011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6302
6303 * c-common.c (c_common_reswords): Reorder.
6304 * c-common.h (rid): Likewise.
6305
3a939d12 63062011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6307
6308 * c-common.c (def_fn_type): Don't call build_function_type, call
6309 build_function_type_array or build_varargs_function_type_array
6310 instead.
6311 (c_common_nodes_and_builtins): Likewise.
6312
b6e3dd65 63132011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6314
6315 * c-common.c (c_add_case_label): Omit the loc argument to
6316 build_case_label.
6317 * c-common.h (build_case_label): Remove.
6318 * c-semantics.c (build_case_label): Remove.
6319
4232a958 63202011-05-05 Joseph Myers <joseph@codesourcery.com>
6321
6322 * c-objc.h (objc_start_method_definition): Update prototype.
6323 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6324
d0af78c5 63252011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6326
6327 * c-common.c (check_main_parameter_types): Reindent. Don't use
6328 TYPE_ARG_TYPES directly.
6329 (handle_nonnull_attribute): Likewise.
6330 (sync_resolve_params): Likewise.
6331 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6332 to check_format_string.
6333 (handle_format_attribute): Likewise.
6334 (check_format_string): Take a function type to examine instead of
6335 a type list. Use a function_arg_iterator to step through argument
6336 types.
6337
ceb7b692 63382011-05-04 Richard Guenther <rguenther@suse.de>
6339
6340 * c-common.c (fix_string_type): Use size_int for index type bounds.
6341 (start_fname_decls): Do not pass NULL to build_int_cst.
6342 (c_init_attributes): Likewise.
6343 * c-lex.c (c_lex_with_flags): Likewise.
6344
c66c81be 63452011-04-27 Jason Merrill <jason@redhat.com>
6346
6347 * c-common.c (make_tree_vector_from_list): New.
6348 * c-common.h: Declare it.
6349
16930c72 63502011-04-26 Richard Guenther <rguenther@suse.de>
6351
6352 PR preprocessor/48248
6353 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6354 for output size with -P.
6355
23407dc9 63562011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6357
6358 * c-common.c (struct c_common_resword): Add __underlying_type.
6359 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6360
dd045aee 63612011-04-20 Jim Meyering <meyering@redhat.com>
6362
6363 * c-format.c (init_dollar_format_checking): Remove useless
6364 if-before-free.
6365
394dd737 63662011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6367
6368 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 6369 (objc_detect_field_duplicates): New.
394dd737 6370 * stub-objc.c: Likewise.
23407dc9 6371
a758bf7d 63722011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6373
6374 * stub-objc.c (objc_declare_protocols): Renamed to
6375 objc_declare_protocol.
6376 * c-objc.h: Likewise.
23407dc9 6377
29d7200d 63782011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6379
6380 * stub-objc.c (objc_declare_class): Updated argument name.
6381
9b88d08d 63822011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6383
6384 * c-common.h (c_common_init_ts): Declare.
6385 * c-common.c (c_common_init_ts): Define.
6386
4185cf58 63872011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6388
6389 * c-objc.h (objc_build_message_expr): Updated prototype.
6390 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 6391
5a90471f 63922011-04-12 Martin Jambor <mjambor@suse.cz>
6393
6394 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6395 of cgraph_node.
6396
783bb57e 63972011-04-11 Richard Guenther <rguenther@suse.de>
6398
6399 * c-common.c (complete_array_type): Build a range type of
6400 proper type.
6401
c33080b9 64022011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6403
6404 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6405 (handle_type_generic_attribute): Likewise.
6406
f8913d47 64072011-04-07 Jason Merrill <jason@redhat.com>
6408
6409 PR c++/48450
6410 * c-common.c (c_common_truthvalue_conversion): Don't ignore
6411 conversion from C++0x scoped enum.
6412
c94b1d0e 64132011-04-06 Joseph Myers <joseph@codesourcery.com>
6414
6415 * c-target-def.h: New file.
6416 * c-target.def: New file.
6417 * c-target.h: New file.
6418 * c-common.c (targetcm): Don't define here.
6419 * c-common.h (default_handle_c_option): Declare.
6420 * c-format.c: Include c-target.h instead of target.h.
6421 * c-opts.c: Include c-target.h instead of target.h. Explicitly
6422 include tm.h.
6423 (default_handle_c_option): Move from targhooks.c.
6424
acb10f41 64252011-03-29 Jakub Jelinek <jakub@redhat.com>
6426
6427 PR preprocessor/48248
6428 * c-ppoutput.c (print): Add src_file field.
6429 (init_pp_output): Initialize it.
6430 (maybe_print_line): Don't optimize by adding up to 8 newlines
6431 if map->to_file and print.src_file are different file.
6432 (print_line): Update print.src_file.
6433
82715bcd 64342011-03-25 Kai Tietz <ktietz@redhat.com>
6435
6436 * c-ada-spec.c (compare_comment): Use filename_cmp
6437 instead of strcmp for filename.
6438
451c8e2f 64392011-03-25 Jeff Law <law@redhat.com>
6440
1f78217c 6441 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 6442
3c47771c 64432011-03-25 Jason Merrill <jason@redhat.com>
6444
6445 * c.opt: Add -std=c++03.
6446
97e6200f 64472011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6448
6449 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6450
92a44a68 64512011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 6452
6453 PR target/12171
ee212425 6454 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6455 Display allowed attributes for function pointer types.
6456 (pp_c_attributes_display): New function to display
6457 attributes having affects_type_identity flag set to true.
6458 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6459
ac86af5d 6460 * c-common.c (c_common_attribute_table):
6461 Add new element.
6462 (c_common_format_attribute_table): Likewise.
6463
914d1151 64642011-03-18 Jason Merrill <jason@redhat.com>
6465
69788bdf 6466 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6467 * c-common.h: Don't declare it here.
6468 * c-common.c: Or define it here.
6469 * c-opts.c (c_common_handle_option): Or set it here.
6470
914d1151 6471 PR c++/35315
6472 * c-common.c (handle_transparent_union_attribute): Don't
6473 make a duplicate type in C++.
6474
54cf6eed 64752011-03-15 Jason Merrill <jason@redhat.com>
6476
6477 * c-common.c (max_constexpr_depth): New.
6478 * c-common.h: Declare it.
6479 * c-opts.c (c_common_handle_option): Set it.
6480 * c.opt (fconstexpr-depth): New option.
6481
02cb1060 64822011-03-11 Jason Merrill <jason@redhat.com>
6483
9bf1c74e 6484 * c-common.c (attribute_takes_identifier_p): Add missing const.
6485
02cb1060 6486 PR c++/46803
6487 * c-common.c (attribute_takes_identifier_p): Assume that an
6488 unknown attribute takes an identifier.
6489
ecf2703d 64902011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6491
6492 PR c/47786
6493 * c-common.c (c_type_hash): Call list_length instead of iterating
6494 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6495
2b19dfe4 64962011-02-19 Jakub Jelinek <jakub@redhat.com>
6497
6498 PR c/47809
6499 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6500
29cf2335 65012011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6502
6503 * c.opt (fobjc-abi-version=) New.
6504 (fobjc-nilcheck): New.
6505
fad3f658 65062011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6507
6508 PR c++/46890
6509 * c-common.h (keyword_is_decl_specifier): Declare.
6510 * c-common.c (keyword_is_decl_specifier): Define.
6511 (keyword_is_function_specifier): New function.
6512
a12319b3 65132011-01-26 Jakub Jelinek <jakub@redhat.com>
6514
6515 PR c/47473
6516 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6517 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6518 REAL_TYPE.
6519
5c128dc8 65202011-01-26 Arnaud Charlet <charlet@adacore.com>
6521
6522 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6523
8d67b0c7 65242011-01-26 Jakub Jelinek <jakub@redhat.com>
6525
6526 PR pch/47430
6527 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6528 after init_c_lex if pch_file is set.
6529
0675168d 65302011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6531
e8911163 6532 PR c++/43601
0675168d 6533 * c.opt (-fkeep-inline-dllexport): New switch.
6534
0725e25c 65352011-01-12 Richard Guenther <rguenther@suse.de>
6536
6537 PR middle-end/32511
6538 * c-common.c (handle_weak_attribute): Warn instead of error
6539 on declaring an inline function weak.
6540
fdd84b77 65412011-01-05 Tom Tromey <tromey@redhat.com>
6542
6543 * c-common.h (lvalue_error): Update.
6544 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6545 not error.
6546
e6e73d14 65472010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 6548
d67e8485 6549 PR objc/47075
6550 * c-objc.h (objc_finish_message_expr): Added argument to
6551 prototype.
6552
a36cf284 65532010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6554
6555 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6556 Use prototype_p.
6557
33b3681f 65582010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6559
6560 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 6561 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 6562
a1f90215 65632010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6564
6565 * c-common.h (readonly_error): Declare.
6566 * c-common.c (readonly_error): Define.
6567
b1bbc8e5 65682010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6569
6570 * c-common.h (invalid_indirection_error): Declare.
6571 * c-common.c (invalid_indirection_error): Define.
6572
b0d55af9 65732010-12-03 Richard Guenther <rguenther@suse.de>
6574
6575 PR c/46745
6576 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6577 (pp_c_unary_expression): Likewise.
6578 (pp_c_expression): Likewise.
6579
d7489d8d 65802010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6581
6582 * c-common.h (objc_finish_function): New.
6583 (objc_non_volatilized_type): Removed.
6584 (objc_type_quals_match): Removed.
6585 * stub-objc.c (objc_finish_function): New.
6586 (objc_non_volatilized_type): Removed.
6587 (objc_type_quals_match): Removed.
19931eea 6588
92468061 65892010-11-30 Joseph Myers <joseph@codesourcery.com>
6590
6591 * c-common.h (parse_optimize_options): Declare.
6592 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6593 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6594
967958e4 65952010-11-29 Joseph Myers <joseph@codesourcery.com>
6596
6597 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6598 GET_ENVIRONMENT.
6599 * c-pch.c (O_BINARY): Don't define here.
6600 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6601
b213bf24 66022010-11-25 Joseph Myers <joseph@codesourcery.com>
6603
6604 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6605 targetm.except_unwind_info.
6606
9faf44d6 66072010-11-23 Joseph Myers <joseph@codesourcery.com>
6608
6609 * c-opts.c (c_common_handle_option): Pass location to
6610 set_struct_debug_option.
6611
79396169 66122010-11-23 Joseph Myers <joseph@codesourcery.com>
6613
6614 * c-common.c (visibility_options): Move from ../opts.c.
6615 * c-common.h (struct visibility_flags, visibility_options):
6616 Declare here.
6617 * c-opts.c (finish_options): Rename to c_finish_options.
6618 (c_common_init): Update call to finish_options.
6619
b4aa4123 66202010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6621
6622 PR objc/34033
6623 * c-lex.c (lex_string): Check that each string in an Objective-C
6624 string concat sequence starts with either one or zero '@', and
6625 that there are no spurious '@' signs at the end.
6626
3e0e49f2 66272010-11-20 Joseph Myers <joseph@codesourcery.com>
6628
6629 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6630 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6631 HANDLE_PRAGMA_VISIBILITY.
6632 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6633 HANDLE_PRAGMA_VISIBILITY): Don't define.
6634 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6635
a9ffdd35 66362010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6637
6638 PR c++/16189
6639 PR c++/36888
6640 PR c++/45331
6641 * c-common.h (keyword_begins_type_specifier): Declare.
6642 (keyword_is_storage_class_specifier): Declare.
6643 (keyword_is_type_qualifier): Declare.
6644 * c-common.c (keyword_begins_type_specifier): New function.
6645 (keyword_is_storage_class_specifier): New function.
6646 (keyword_is_type_qualifier): Declare.
6647
93be21c0 66482010-11-19 Joseph Myers <joseph@codesourcery.com>
6649
6650 PR c/46547
6651 * c-common.c (in_late_binary_op): Define.
6652 (c_common_truthvalue_conversion): Check in_late_binary_op before
6653 calling c_save_expr.
6654 * c-common.h (in_late_binary_op): Declare.
6655
d7175aef 66562010-11-19 Joseph Myers <joseph@codesourcery.com>
6657
6658 * c-opts.c (c_common_handle_option): Update calls to
6659 set_struct_debug_option.
6660
c213e196 66612010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6662
6663 * c-common.h (objc_declare_protocols): Added additional argument.
6664 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 6665
0b5fc5d6 66662010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6667
6668 PR c/33193
6669 * c-common.h (build_real_imag_expr): Declare.
6670 * c-semantics.c (build_real_imag_expr): Define.
6671
b8ba44e7 66722010-11-17 Joseph Myers <joseph@codesourcery.com>
6673
6674 * c-opts.c (c_common_parse_file): Take no arguments.
6675 * c-common.h (c_common_parse_file): Update prototype.
6676
6ef8d12f 66772010-11-16 Jakub Jelinek <jakub@redhat.com>
6678
6679 PR c++/46401
6680 * c-common.c (warning_candidate_p): Don't track non-const calls
6681 or STRING_CSTs.
6682
929d2a90 66832010-11-15 Ian Lance Taylor <iant@google.com>
6684
6685 * c-lex.c (init_c_lex): Set macro debug callbacks if
6686 flag_dump_go_spec is set.
6687
e4a7640a 66882010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6689
6690 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6691 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6692
597d2d81 66932010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6694
6695 PR preprocessor/45038
6696 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6697 dialects.
6698
c123f04d 66992010-11-12 Joseph Myers <joseph@codesourcery.com>
6700
6701 * c-common.h (c_family_lang_mask): Declare.
6702 * c-opts.c (c_family_lang_mask): Make extern.
6703 * c-pragma.c (handle_pragma_diagnostic): Use
6704 control_warning_option.
6705
3c6c0e40 67062010-11-12 Joseph Myers <joseph@codesourcery.com>
6707
6708 * c-common.c (parse_optimize_options): Update call to
6709 decode_options.
6710 * c-common.h (c_common_handle_option): Update prototype.
6711 * c-opts.c (c_common_handle_option): Take location_t parameter and
6712 pass it to other functions.
6713
19ec5c9e 67142010-11-11 Joseph Myers <joseph@codesourcery.com>
6715
6716 * c-opts.c (warning_as_error_callback): Remove.
6717 (c_common_initialize_diagnostics): Don't call
6718 register_warning_as_error_callback.
6719 (c_common_handle_option): Handle -Werror=normalized= here.
6720
bf776685 67212010-11-10 Joseph Myers <joseph@codesourcery.com>
6722
6723 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6724 in diagnostic.
6725 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
6726 letter.
6727 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
6728 Remove trailing '.' from diagnostics.
6729 * c.opt (Wwrite-strings_: Avoid '`' in help text.
6730
6bd9d862 67312010-11-10 Joseph Myers <joseph@codesourcery.com>
6732
6733 * c-common.c (parse_optimize_options): Pass global_dc to
6734 decode_options.
6735 * c-opts.c (c_common_handle_option): Pass &global_options to
6736 set_Wstrict_aliasing.
6737 * c.opt (v): Don't mark Common or document here.
6738
1f6616ee 67392010-11-06 Iain Sandoe <iains@gcc.gnu.org>
6740
6741 PR target/44981
6742 * c-format.c (format_type): New type gcc_objc_string_format_type.
6743 (valid_stringptr_type_p): New.
6744 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 6745 (check_format_string): Pass expected type, use
1f6616ee 6746 valid_stringptr_type_p (), check that the format string types are
6747 consistent with the format specification.
6748 (decode_format_attr): Warn if NSString is used outside objective-c.
6749 (format_types_orig): Add NSString.
6750 (format_name): New.
6751 (format_flags): New.
6752 (check_format_arg): Handle format strings requiring an external parser.
6753 first_target_format_type: New variable.
6754 (handle_format_attribute): Set up first_target_format_type, pass the
6755 expected format arg string type to check_format_string().
6756 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
6757 * stub-objc.c (objc_string_ref_type_p): New.
6758 (objc_check_format_arg): New.
6759
b0d0931f 67602010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
6761
19931eea 6762 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 6763 * c-common.h (objc_build_class_component_ref): New.
6764 * stub-objc.c (objc_build_class_component_ref): New.
6765
f26877d5 67662010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6767
6768 * c.opt (Wproperty-assign-default): New option.
6769
1ef143b6 67702010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6771
6772 Implemented -fobjc-std=objc1 flag.
6773 * c.opt (fobjc-std=objc1): New option.
6774
8c582e4f 67752010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
6776
6777 Implemented format and noreturn attributes for Objective-C methods.
6778 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
6779 attribute for Objective-C methods.
6780
8637f1db 67812010-10-31 Jason Merrill <jason@redhat.com>
6782
6783 * c-common.c (conversion_warning, warn_for_collisions_1): Use
6784 EXPR_LOC_OR_HERE.
6785
9d9f5bb3 67862010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6787
6788 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6789 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
6790 (objc_add_property_declaration): Removed arguments for copies and
6791 ivar.
6792 (objc_build_getter_call): Renamed to
6793 objc_maybe_build_component_ref.
6794 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6795 (objc_is_property_ref): New.
6796 * c-common.c (c_common_reswords): Removed copies and ivar.
6797 * stub-objc.c (objc_add_property_declaration): Removed arguments
6798 for copies and ivar.
6799 (objc_build_getter_call): Renamed to
6800 objc_maybe_build_component_ref.
6801 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6802 (objc_is_property_ref): New.
19931eea 6803
56f907a0 68042010-10-29 Arnaud Charlet <charlet@adacore.com>
6805 Matthew Gingell <gingell@adacore.com>
6806
6807 * c-ada-spec.c (separate_class_package): New function.
6808 (pp_ada_tree_identifier): Prefix references to C++ classes with the
6809 name of their enclosing package.
6810 (print_ada_declaration): Use separate_class_package.
6811
b5fa273e 68122010-10-27 Jason Merrill <jason@redhat.com>
6813
5290e253 6814 * c-common.c (c_common_reswords): Add __is_literal_type.
6815 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
6816
b5fa273e 6817 * c-common.c (check_case_value): Remove special C++ code.
6818
7590f0e5 68192010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6820
6821 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
6822 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
6823 and RID_LAST_PATTR.
6824 (objc_add_property_declaration): Added additional arguments.
6825 (objc_property_attribute_kind): Removed.
6826 (objc_set_property_attr): Removed.
6827 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
6828 copy and nonatomic.
6829 * stub-objc.c (objc_add_property_declaration): Added additional
6830 arguments.
6831 (objc_set_property_attr): Removed.
19931eea 6832
1d894bcf 68332010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6834
6835 * c-common.h (objc_add_property_variable): Renamed to
6836 objc_add_property_declaration. Added location argument.
6837 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 6838
e23bf1fb 68392010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
6840
6841 * c-common.h (objc_maybe_printable_name): New.
6842 * stub-objc.c (objc_maybe_printable_name): New.
6843
92a44a68 68442010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6845 Andrew Pinski <pinskia@gmail.com>
93426222 6846
6847 * c-common.h (c_common_mark_addressable_vec): Declare.
6848 * c-common.c (c_common_mark_addressable_vec): New function.
6849
45b2b110 68502010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6851
6852 * c-common.h (objc_set_method_type): Removed.
6853 (objc_add_method_declaration): Added boolean argument.
6854 (objc_start_method_definition): Same change.
6855 (objc_build_method_signature): Same change.
6856 * stub-objc.c (objc_set_method_type): Removed.
6857 (objc_add_method_declaration): Added boolean argument.
6858 (objc_start_method_definition): Same change.
6859 (objc_build_method_signature): Same change.
6860
64cd9619 68612010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6862
6863 * c-common.h (finish_file): Removed.
6864 (objc_write_global_declarations): New.
6865 * c-opts.c (c_common_parse_file): Do not call finish_file.
6866 * stub-objc.c (objc_write_global_declarations): New.
19931eea 6867
e1f293c0 68682010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6869
6870 Implemented parsing @synthesize and @dynamic for
6871 Objective-C/Objective-C++.
6872 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
6873 (objc_add_synthesize_declaration): New.
6874 (objc_add_dynamic_declaration): New.
6875 * c-common.c (c_common_reswords): Add synthesize and dynamic.
6876 * stub-objc.c (objc_add_synthesize_declaration): New.
6877 (objc_add_dynamic_declaration): New.
19931eea 6878
ef97a312 68792010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6880
6881 PR target/46041
6882 * c-cppbuiltin.c (mode_has_fma): Move function here from
6883 builtins.c. Don't use the fma optab, instead just use the
6884 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
6885 using -save-temps.
6886
69b07042 68872010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6888
6889 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 6890
92a44a68 6891 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 6892
19931eea 6893 Radar 4330422
69b07042 6894 * c-common.h (objc_non_volatilized_type): New declaration
6895 * stub-objc.c (objc_non_volatilized_type): New stub.
6896
f15f2e56 68972010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
6898
69b07042 6899 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 6900
92a44a68 6901 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 6902
19931eea 6903 Radar 4133425
f15f2e56 6904 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 6905 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 6906
4a8875ed 69072010-10-17 Iain Sandoe <iains@gcc.gnu.org>
6908
6909 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
6910 * c-common.h (enum rid): Add RID_AT_PACKAGE.
6911 (objc_ivar_visibility_kind): New enum.
6912 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 6913 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 6914 visibility enum.
6915
7e0713b1 69162010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6917
6918 * c-cppbuiltin.c (builtin_define_float_constants): Emit
6919 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
6920 has the appropriate fma builtins.
6921 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
6922
86c110ac 69232010-10-14 Iain Sandoe <iains@gcc.gnu.org>
6924
7e0713b1 6925 merge from FSF apple 'trunk' branch.
92a44a68 6926 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 6927
86c110ac 6928 Radars 4436866, 4505126, 4506903, 4517826
6929 * c-common.c (c_common_resword): Define @property and its attributes.
6930 * c-common.h: Define property attribute enum entries.
6931 (OBJC_IS_PATTR_KEYWORD): New.
6932 (objc_property_attribute_kind): New enum.
6933 Declare objc_set_property_attr (), objc_add_property_variable (),
6934 objc_build_getter_call () and objc_build_setter_call ().
6935 * stub-objc.c (objc_set_property_attr): New stub.
6936 (objc_add_property_variable): Likewise.
6937 (objc_build_getter_call): Likewise.
6938 (objc_build_setter_call) Likewise.
7e0713b1 6939
40c8d1dd 69402010-10-13 Iain Sandoe <iains@gcc.gnu.org>
6941
7e0713b1 6942 merge from FSF apple 'trunk' branch.
92a44a68 6943 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 6944
6945 Radar 3803157 (method attributes)
6946 * c-common.c (handle_deprecated_attribute): Recognize
6947 objc methods as valid declarations.
6948 * c-common.h: Declare objc_method_decl ().
7e0713b1 6949 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 6950
f3f006ad 69512010-10-08 Joseph Myers <joseph@codesourcery.com>
6952
6953 * c-common.c (parse_optimize_options): Call
6954 decode_cmdline_options_to_array_default_mask before
6955 decode_options. Update arguments to decode_options.
6956 * c-common.h (c_common_init_options_struct): Declare.
6957 * c-opts.c (c_common_init_options_struct): New. Split out from
6958 c_common_init_options.
6959
0a65c3bb 69602010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
6961
6962 Implemented fast enumeration for Objective-C.
6963 * c-common.h (objc_finish_foreach_loop): New.
6964 * stub-objc.c (objc_finish_foreach_loop): New.
6965
24ca3b4e 69662010-10-05 Joseph Myers <joseph@codesourcery.com>
6967
6968 * c-common.h (struct diagnostic_context): Don't declare here.
6969 (c_common_initialize_diagnostics): Declare using
6970 diagnostic_context typedef.
6971 * c-opts.c (c_common_handle_option): Pass global_dc to
6972 handle_generated_option.
6973
f83b64ca 69742010-10-04 Joseph Myers <joseph@codesourcery.com>
6975
6976 * c-opts.c (c_common_handle_option): Pass &global_options_set to
6977 handle_generated_option.
6978
2fdec027 69792010-10-03 Ian Lance Taylor <iant@google.com>
6980
6981 * c.opt (-fplan9-extensions): New option.
6982
41acdfa4 69832010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6984
6985 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
6986 Remove.
6987 (c_cpp_builtins): Call functions from cppbuiltin.c instead
6988 of duplicating code.
6989
069761fb 69902010-09-30 Iain Sandoe <iains@gcc.gnu.org>
6991
6992 * c-common.c: Add two new entries for @optional
6993 and @required keywords.
6994
6995 merge from FSF 'apple/trunk' branch.
92a44a68 6996 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 6997
6998 Radar 4386773
6999 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7000 objective-c keywords.
7001 (objc_set_method_opt): New declaration.
7002 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 7003
2c5d2e39 70042010-09-30 Joseph Myers <joseph@codesourcery.com>
7005
7006 * c-common.c (handle_optimize_attribute): Pass &global_options to
7007 cl_optimization_save and cl_optimization_restore.
7008 * c-opts.c (c_common_handle_option): Pass &global_options to
7009 handle_generated_option.
7010 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7011 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7012 &global_options to cl_optimization_restore.
7013
e5c75ac3 70142010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7015
7016 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7017 Objective-C/Objective-C++ keywords.
7018
3511333e 70192010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 7020
19931eea 7021 Merge from 'apple/trunk' branch on FSF servers.
7022
92a44a68 7023 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 7024
7025 Radar 4281748
7026 * c-common.h (objc_check_global_decl): New declaration.
7027 * stub-objc.c (objc_check_global_decl): New stub.
7028
5461e683 70292010-09-29 Joseph Myers <joseph@codesourcery.com>
7030
7031 * c.opt: Don't use VarExists.
7032
5ae82d58 70332010-09-29 Joseph Myers <joseph@codesourcery.com>
7034
7035 * c-common.c (c_cpp_error): Update names of diagnostic_context
7036 members.
7037 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7038 cl_optimization members.
7039 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7040 sanitize_cpp_opts, finish_options): Update names of cpp_options
7041 members.
7042
b27e241e 70432010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7044
7045 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7046 (objc_is_reserved_word): Removed.
7047 * c-common.c: Updated comments.
7048 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7049 objc_is_reserved_word.
7050 * stub-objc.c (objc_is_reserved_word): Removed.
7051
03fc2271 70522010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7053
19931eea 7054 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 7055 include attributes.
7056 (objc_start_method_definition): Likewise.
7057 (objc_build_keyword_decl): Likewise.
7058 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7059 (objc_start_method_definition): Likewise.
7060 (objc_build_keyword_decl): Likewise.
7061
a336eb4b 70622010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7063
7064 * c-common.h (objc_start_class_interface): Adjust prototype.
7065 (objc_start_category_interface): Likewise.
7066 (objc_start_protocol): Likewise.
7067 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7068 (objc_start_class_interface): Likewise.
7069 (objc_start_category_interface): Likewise.
7070
48b14f50 70712010-09-27 Ian Lance Taylor <iant@google.com>
7072
7073 * c-common.c (c_common_attribute_table): Add no_split_stack.
7074 (handle_no_split_stack_attribute): New static function.
7075
4abfc532 70762010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7077
19931eea 7078 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 7079
92a44a68 7080 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 7081
19931eea 7082 Radar 4229905
4abfc532 7083 * c-common.h (objc_have_common_type): New declaration.
7084 * stub-objc.c (objc_have_common_type): New stub.
7085
7086 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7087
7088 Radar 4154928
7089 * c-common.h (objc_common_type): New prototype.
19931eea 7090 * stub-objc.c (objc_common_type): New stub.
4abfc532 7091
7bd95dfd 70922010-09-24 Jan Hubicka <jh@suse.cz>
7093
7094 * c-common.c (handle_leaf_attribute): New function.
7095 (struct attribute_spec c_common_att): Add leaf.
7096
5789e05b 70972010-09-22 Joseph Myers <joseph@codesourcery.com>
7098
7099 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7100 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7101 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7102 -include-barrier, -include-directory, -include-directory=,
7103 -include-directory-after, -include-directory-after=,
7104 -include-prefix, -include-prefix=, -include-with-prefix,
7105 -include-with-prefix=, -include-with-prefix-after,
7106 -include-with-prefix-after=, -include-with-prefix-before,
7107 -include-with-prefix-before=, -no-integrated-cpp,
7108 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7109 -output=, -pedantic, -pedantic-errors, -preprocess,
7110 -print-missing-file-dependencies, -trace-includes, -traditional,
7111 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7112 -user-dependencies, -verbose, -write-dependencies,
7113 -write-user-dependencies, no-integrated-cpp, traditional): New.
7114
e6fb54ba 71152010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7116
7117 PR objc/23710
9b60f3b0 7118 * c-common.h (objc_start_method_definition): Return bool instead
7119 of void.
7120 * stub-objc.c (objc_start_method_definition): Return bool instead
7121 of void.
7122
71232010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7124
7125 PR objc/25965
7126 * c-common.h (objc_get_interface_ivars): New declaration.
7127 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 7128
e44b0a1f 71292010-09-15 Ian Lance Taylor <iant@google.com>
7130
7131 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 7132 messages. Remove period at end of warning message.
e44b0a1f 7133
85c0a25c 71342010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7135
7136 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7137 (handle_alias_attribute): ... here.
7138 (handle_ifunc_attribute): New.
7139
5ba33bf4 71402010-09-06 Mark Mitchell <mark@codesourcery.com>
7141
7142 * c-common.h (do_warn_double_promotion): Declare.
7143 * c-common.c (do_warn_double_promotion): Define.
7144
c920faa3 71452010-09-05 Mark Mitchell <mark@codesourcery.com>
7146
7147 * c.opt (Wdouble-promotion): New.
7148
9604e070 71492010-09-02 Joseph Myers <joseph@codesourcery.com>
7150
7151 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7152 fvtable-thunks, fxref): Mark no longer supported in help text.
7153
3b0273a1 71542010-09-02 Joseph Myers <joseph@codesourcery.com>
7155
7156 * c.opt (Wimport, fall-virtual, falt-external-templates,
7157 fdefault-inline, fenum-int-equiv, fexternal-templates,
7158 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7159 fname-mangling-version-, fnew-abi, fnonnull-objects,
7160 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7161 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7162 applicable.
7163 (fhandle-exceptions): Mark with Alias and Warn.
7164 * c-opts.c (c_common_handle_option): Don't handle options marked
7165 as ignored.
7166
67089c6b 71672010-09-02 Joseph Myers <joseph@codesourcery.com>
7168
7169 * c.opt (Wcomments, Werror-implicit-function-declaration,
7170 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7171 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7172 aliases.
7173 * c-common.c (option_codes): Use OPT_Wcomment instead of
7174 OPT_Wcomments.
7175 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7176 Don't handle options marked as aliases.
7177
2af087f2 71782010-08-25 Richard Guenther <rguenther@suse.de>
7179
7180 * c-common.c (c_common_get_alias_set): Remove special
7181 handling for pointers.
7182
48148244 71832010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7184
7185 * c-common.c: Use FOR_EACH_VEC_ELT.
7186 * c-gimplify.c: Likewise.
7187 * c-pragma.c: Likewise.
7188
89c69892 71892010-08-16 Joseph Myers <joseph@codesourcery.com>
7190
7191 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7192 RejectDriver.
7193 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7194 RejectDriver.
7195 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7196 instead of OPT_MDX and OPT_MMDX.
7197
e28aa114 71982010-08-16 Joseph Myers <joseph@codesourcery.com>
7199
7200 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7201
99b66d21 72022010-08-12 Joseph Myers <joseph@codesourcery.com>
7203
7204 * c.opt (MD, MMD): Change to MDX and MMDX.
7205 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7206
666f4bf0 72072010-08-11 Joseph Myers <joseph@codesourcery.com>
7208
7209 * c-opts.c (c_common_handle_option): Call handle_generated_option
7210 instead of handle_option.
7211
5ec815f6 72122010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7213
7214 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7215 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7216
d13143cf 72172010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7218
7219 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7220 (pending_redefine_extname): Change type to a VEC.
7221 (add_to_renaming_pragma_list): Update for new type of
7222 pending_redefine_extname.
5ec815f6 7223 (maybe_apply_renaming_pragma): Likewise.
d13143cf 7224
2008c983 72252010-08-04 Arnaud Charlet <charlet@adacore.com>
7226
7227 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7228 visited.
7229 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7230 decide whether a type has already been declared/seen.
7231 Do not go to the original type.
7232 (dump_nested_types): New parameter forward.
7233 Generate forward declaration if needed and mark type as visited.
7234 (print_ada_declaration): Call dump_nested_types if not already done.
7235 Mark types as visited.
7236
9b091a73 72372010-08-03 Joseph Myers <joseph@codesourcery.com>
7238
7239 * c.opt (-print-pch-checksum): Remove option.
7240 * c-opts.c (c_common_handle_option): Don't handle
7241 OPT_print_pch_checksum.
7242
b78351e5 72432010-07-27 Joseph Myers <joseph@codesourcery.com>
7244
7245 * c-common.h (c_common_handle_option): Update prototype and return
7246 value type.
7247 * c-opts.c (c_common_handle_option): Update prototype and return
7248 value type. Update calls to handle_option and
7249 enable_warning_as_error.
7250
34416a90 72512010-07-27 Jakub Jelinek <jakub@redhat.com>
7252
7253 PR c/45079
7254 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7255
fecf9011 72562010-07-27 Joseph Myers <joseph@codesourcery.com>
7257
7258 * c-common.h (c_common_missing_argument): Remove.
7259 * c-opts.c (c_common_missing_argument): Remove.
7260 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7261 idirafter, imacros, include, isysroot, isystem, iquote): Add
7262 MissingArgError.
7263 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7264
e88d34f6 72652010-07-27 Joseph Myers <joseph@codesourcery.com>
7266
7267 * c-common.h (c_common_option_lang_mask,
7268 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7269 New.
7270 (c_common_init_options): Update prototype.
7271 * c-opts.c (c_common_option_lang_mask): New.
7272 (c_common_initialize_diagnostics): Split out of
7273 c_common_init_options.
7274 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7275 New.
7276 (c_common_init_options): Update prototype. Use decoded options in
7277 search for -lang-asm.
7278
1767a056 72792010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7280
7281 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7282 * c-format.c: Likewise.
7283
0b205f4c 72842010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7285
7286 * c-common.h: Include diagnostic-core.h. Error if already
7287 included.
7288 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7289
1c58e3f1 72902010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7291
1f78217c 7292 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 7293 Do not include expr.h
7294 (vector_mode_valid_p): Move here.
7295
33cc157c 72962010-06-21 DJ Delorie <dj@redhat.com>
7297
7298 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7299 allow these pragmas anywhere.
7300
73012010-06-14 Jakub Jelinek <jakub@redhat.com>
7302
7303 PR bootstrap/44509
7304 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7305 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7306 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7307 ggc_strdup instead of xstrdup.
7308
73092010-06-10 Jakub Jelinek <jakub@redhat.com>
7310
7311 * c-cppbuiltin.c: Include cpp-id-data.h.
7312 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7313 (lazy_hex_fp_value): New function.
7314 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7315
9b40bfbf 73162010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7317
7318 * c-gimplify.c: Do not include tree-flow.h
7319
202d6e5f 73202010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7321
7322 PR other/44034
7323 * c-common.c: Rename targetm member:
7324 targetm.enum_va_list -> targetm.enum_va_list_p
7325
d3237426 73262010-06-28 Anatoly Sokolov <aesok@post.ru>
7327
7328 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7329
596981c8 73302010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7331
7332 * c-cppbuiltin.c: Do not include except.h.
7333
b9bdfa0b 73342010-06-24 Andi Kleen <ak@linux.intel.com>
7335
19931eea 7336 * c-common.c (warn_for_omitted_condop): New.
7337 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 7338
55ad092d 73392010-06-21 Joseph Myers <joseph@codesourcery.com>
7340
7341 * c.opt (lang-objc): Remove.
7342 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7343
9e7c2572 73442010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7345
7346 * c-opts.c: Include "tm_p.h".
7347
615ef0bb 73482010-06-20 Joseph Myers <joseph@codesourcery.com>
7349
7350 * c-common.c (parse_optimize_options): Update call to
7351 decode_options.
7352
aef48c9a 73532010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7354
7355 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7356 new type of types_used_by_cur_var_decl.
7357
d74003b4 73582010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7359
7360 PR bootstrap/44512
7361 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7362 for C++ standard compliance.
7363
1194d077 73642010-06-16 Jason Merrill <jason@redhat.com>
7365
7366 * c.opt: Add -Wnoexcept.
7367
d473d901 73682010-06-16 Richard Guenther <rguenther@suse.de>
7369
7370 PR c/44555
7371 * c-common.c (c_common_truthvalue_conversion): Remove
7372 premature and wrong optimization concering ADDR_EXPRs.
7373
b62dbfd3 73742010-06-15 Arnaud Charlet <charlet@adacore.com>
7375
7376 * c-ada-spec.c (dump_sloc): Remove column info.
7377 (is_simple_enum): New function.
7378 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7379 enum types when relevant.
7380
200dd99c 73812010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7382
19931eea 7383 * c-common.c (conversion_warning): Warn at expression
200dd99c 7384 location.
7385
abf6a617 73862010-06-10 Joseph Myers <joseph@codesourcery.com>
7387
7388 * c-opts.c (c_common_handle_option): Don't handle
7389 OPT_fshow_column.
7390
ba72912a 73912010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7392
7393 * c-pragma.c (push_alignment): Use typed GC allocation.
7394 (handle_pragma_push_options): Likewise.
7395
7396 * c-common.c (parse_optimize_options): Likewise.
7397
7398 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7399 option.
7400
4aafe913 74012010-06-07 Joseph Myers <joseph@codesourcery.com>
7402
7403 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7404 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7405 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7406 flag_signed_bitfields, warn_strict_null_sentinel,
7407 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7408 flag_gen_declaration, flag_no_gnu_keywords,
7409 flag_implement_inlines, flag_implicit_templates,
7410 flag_implicit_inline_templates, flag_optional_diags,
7411 flag_elide_constructors, flag_default_inline, flag_rtti,
7412 flag_conserve_space, flag_access_control, flag_check_new,
7413 flag_new_for_scope, flag_weak, flag_working_directory,
7414 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7415 flag_enforce_eh_specs, flag_threadsafe_statics,
7416 flag_pretty_templates): Remove.
7417 * c-common.h (flag_preprocess_only, flag_nil_receivers,
7418 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7419 flag_replace_objc_classes, flag_undef, flag_no_builtin,
7420 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7421 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7422 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7423 flag_no_gnu_keywords, flag_implement_inlines,
7424 flag_implicit_templates, flag_implicit_inline_templates,
7425 flag_optional_diags, flag_elide_constructors, flag_default_inline,
7426 flag_rtti, flag_conserve_space, flag_access_control,
7427 flag_check_new, flag_new_for_scope, flag_weak,
7428 flag_working_directory, flag_use_cxa_atexit,
7429 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7430 flag_threadsafe_statics, flag_pretty_templates,
7431 warn_strict_null_sentinel): Remove.
7432 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7433 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7434 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7435 fimplicit-inline-templates, fimplicit-templates,
7436 flax-vector-conversions, fms-extensions, fnil-receivers,
7437 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7438 frtti, fshort-double, fshort-enums, fshort-wchar,
7439 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7440 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7441 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7442 gen-decls, undef): Use Var.
7443 (fdefault-inline, foptional-diags): Document as doing nothing.
7444 * c-opts.c (c_common_handle_option): Remove cases for options now
7445 using Var. Mark ignored options as such.
7446
7bedc3a0 74472010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7448
19931eea 7449 * c-common.c: Moved to here from parent directory.
7bedc3a0 7450 * c-common.def: Likewise.
7451 * c-common.h: Likewise.
7452 * c-cppbuiltin.c: Likewise.
7453 * c-dump.c: Likewise.
7454 * c-format.c: Likewise.
7455 * c-format.h : Likewise.
7456 * c-gimplify.c: Likewise.
7457 * c-lex.c: Likewise.
7458 * c-omp.c: Likewise.
7459 * c.opt: Likewise.
7460 * c-opts.c: Likewise.
7461 * c-pch.c: Likewise.
7462 * c-ppoutput.c: Likewise.
7463 * c-pragma.c: Likewise.
7464 * c-pragma.h: Likewise.
7465 * c-pretty-print.c: Likewise.
7466 * c-pretty-print.h: Likewise.
7467 * c-semantics.c: Likewise.
7468 * stub-objc.c: Likewise.
7469
7470 * c-common.c: Include gt-c-family-c-common.h.
7471 * c-pragma.c: Include gt-c-family-c-pragma.h.
7472\f
aad93da1 7473Copyright (C) 2010-2017 Free Software Foundation, Inc.
7bedc3a0 7474
7475Copying and distribution of this file, with or without modification,
7476are permitted in any medium without royalty provided the copyright
7477notice and this notice are preserved.