]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Add support for ASan odr_indicator.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
47c3d0de 12016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
2
3 * c-attribs.c (asan odr indicator): New attribute.
4 (handle_asan_odr_indicator_attribute): New function.
5
c932c990 62016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
7
8 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
9 ptrdiff_type_node;
10
c39beb8a 112016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
12
13 * c-common.c (excess_precision_mode_join): New.
14 (c_ts18661_flt_eval_method): New.
15 (c_c11_flt_eval_method): Likewise.
16 (c_flt_eval_method): Likewise.
17 * c-common.h (excess_precision_mode_join): New.
18 (c_flt_eval_method): Likewise.
19 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
20 (cpp_iec_559_value): Call it.
21 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
22 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
23 __FLT_EVAL_METHOD_TS_18661_3__.
24
a998ac00 252016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
26
27 * c-opts.c (c_common_post_options): Add logic to handle the default
28 case for -fpermitted-flt-eval-methods.
29
6e47b422 302016-11-23 Paolo Bonzini <bonzini@gnu.org>
31
32 * c.opt (Wexpansion-to-defined): New.
33
0d65cc6c 342016-11-23 Jakub Jelinek <jakub@redhat.com>
35
36 PR target/78451
37 * c-pragma.c (handle_pragma_target): Don't replace
38 current_target_pragma, but chainon the new args to the current one.
39
ff6497a3 402016-11-22 Nathan Sidwell <nathan@acm.org>
41
42 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
bacc5324 43 indentation and formatting.
ff6497a3 44
13341287 452016-11-21 Martin Sebor <msebor@redhat.com>
46
47 * c.opt (-fprintf-return-value): Enable by default.
48
f1b3e1c9 492016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
50
51 PR c++/71973
52 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
53 * c-common.c (c_common_nodes_and_builtins): Initialize
54 const_tm_ptr_type_node.
55
6c1f90ee 562016-11-16 Marek Polacek <polacek@redhat.com>
57
58 PR c/78285
59 * c-common.c (c_add_case_label): Turn error_at calls into inform.
60
a49621cf 612016-11-14 Jakub Jelinek <jakub@redhat.com>
62
63 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
64
b1f04d34 652016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
a49621cf 66 Richard Biener <rguenther@suse.de>
67
68 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
69 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
70 * c.opt (fgimple): New option.
b1f04d34 71
9b8f3aa1 722016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
73
74 PR c/35503
75 * c-common.h (warn_for_restrict): Declare.
76 * c-warn.c: Include gcc-rich-location.h.
77 (warn_for_restrict): New function.
78 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
79 (gcc_cdiag_char_table): Likewise.
80 (gcc_cxxdiag_char_table): Likewise.
81 * c.opt (Wrestrict): New option.
82
7907d43b 832016-11-13 Eric Botcazou <ebotcazou@adacore.com>
84
85 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
86 for nested types only if the type is a record or union and dump SLOC.
87
b1363399 882016-11-09 Jason Merrill <jason@redhat.com>
89
90 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
91
58721d0c 922016-11-09 Jakub Jelinek <jakub@redhat.com>
93
94 * c-ubsan.c (ubsan_instrument_shift): Handle split
95 -fsanitize=shift-base and -fsanitize=shift-exponent.
96
2e9e9363 972016-11-07 Jason Merrill <jason@redhat.com>
98
99 * c.opt (Wc++1z-compat): New.
100 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
101
629b6abc 1022016-11-07 Martin Liska <mliska@suse.cz>
103
104 * c-warn.c (warn_for_unused_label): Save all labels used
105 in goto or in &label.
106
2f1c4c07 1072016-11-03 Jason Merrill <jason@redhat.com>
108
109 * c-cppbuiltin.c (c_cpp_builtins): Correct
110 __cpp_inheriting_constructors.
111
7896267d 1122016-11-01 Jason Merrill <jason@redhat.com>
113
02a9e65f 114 * c-cppbuiltin.c (c_cpp_builtins): Update
115 __cpp_inheriting_constructors.
116
7896267d 117 * c.opt (-fnew-inheriting-ctors): New.
118 * c-opts.c: Default to on for ABI 11+.
119
f6f44a1d 1202016-10-31 Jakub Jelinek <jakub@redhat.com>
121
122 PR c++/77948
123 * c.opt (fext-numeric-literals): Add Var and Init.
124 * c-opts.c (c_common_handle_option): Don't clear
125 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
126 (c_common_post_options): Clear it here if not set
127 explicitly.
128
d24c4079 1292016-10-28 Aldy Hernandez <aldyh@redhat.com>
130
131 PR debug/77773
132 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
133 if NULL.
134
6e1b2ffb 1352016-10-25 Jakub Jelinek <jakub@redhat.com>
136
137 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
138 * c-common.c (c_common_reswords): Add __builtin_launder.
139
5f64e688 1402016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
141
142 * c-common.c (c_common_truthvalue_conversion): Warn for
143 multiplications in boolean context. Fix the quoting of '<<' and '<'
144 in the shift warning.
145
3645e924 1462016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
147
148 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
149
146cbd63 1502016-10-20 Jason Merrill <jason@redhat.com>
151
152 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
153
5c2ba578 1542016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
155
156 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
157 integer shift ops in boolean context.
158
1592016-10-18 Aldy Hernandez <aldyh@redhat.com>
da6cf191 160
161 * c.opt (Walloca): New.
162 (Walloca-larger-than=): New.
163 (Wvla-larger-than=): New.
164
876d4bc9 1652016-10-17 Marek Polacek <polacek@redhat.com>
166
167 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
168 Return immediately when finding a match.
169 (warn_tautological_cmp): Remove a boolean variable that is no longer
170 needed.
171
b0c98c23 1722016-10-17 Marek Polacek <polacek@redhat.com>
173
174 * c-attribs.c: New file.
175 * c-common.c: Move attributes handling to c-attribs.c.
176 (get_nonnull_operand): No longer static.
177 * c-common.h: Move the declarations from c-attribs.c to its own section.
178
2ab6420c 1792016-10-14 Jason Merrill <jason@redhat.com>
180
181 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
182 and __cpp_deduction_guides.
183
81f19d90 1842016-10-13 Jason Merrill <jason@redhat.com>
185
186 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
187
ad7b10a2 1882016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
189
190 * c-cppbuiltin.c: Include memmodel.h.
191 * c-opts.c: Likewise.
192 * c-pragma.c: Likewise.
193 * c-warn.c: Likewise.
194
12663602 1952016-10-12 Jakub Jelinek <jakub@redhat.com>
196
197 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
198 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
199 * c-opts.c (sanitize_cpp_opts): Initialize
200 cpp_opts->cpp_warn_implicit_fallthrough.
201
424b2d7d 2022016-10-11 Marek Polacek <polacek@redhat.com>
203
204 * c-common.c (warning_candidate_p): Change the return type to bool
205 and return true/false instead of 1/0.
206 (vector_mode_valid_p): Likewise.
207
0f4cea33 2082016-10-11 Marek Polacek <polacek@redhat.com>
209
210 * c-common.c (fold_for_warn): No longer static.
211 (bool_promoted_to_int_p): Likewise.
212 (c_common_get_narrower): Likewise.
213 (constant_expression_warning): Move to c-warn.c.
214 (constant_expression_error): Likewise.
215 (overflow_warning): Likewise.
216 (warn_logical_operator): Likewise.
217 (find_array_ref_with_const_idx_r): Likewise.
218 (warn_tautological_cmp): Likewise.
219 (expr_has_boolean_operands_p): Likewise.
220 (warn_logical_not_parentheses): Likewise.
221 (warn_if_unused_value): Likewise.
222 (strict_aliasing_warning): Likewise.
223 (sizeof_pointer_memaccess_warning): Likewise.
224 (check_main_parameter_types): Likewise.
225 (conversion_warning): Likewise.
226 (warnings_for_convert_and_check): Likewise.
227 (match_case_to_enum_1): Likewise.
228 (match_case_to_enum): Likewise.
229 (c_do_switch_warnings): Likewise.
230 (warn_for_omitted_condop): Likewise.
231 (readonly_error): Likewise.
232 (lvalue_error): Likewise.
233 (invalid_indirection_error): Likewise.
234 (warn_array_subscript_with_type_char): Likewise.
235 (warn_about_parentheses): Likewise.
236 (warn_for_unused_label): Likewise.
237 (warn_for_div_by_zero): Likewise.
238 (warn_for_memset): Likewise.
239 (warn_for_sign_compare): Likewise.
240 (do_warn_double_promotion): Likewise.
241 (do_warn_unused_parameter): Likewise.
242 (record_locally_defined_typedef): Likewise.
243 (maybe_record_typedef_use): Likewise.
244 (maybe_warn_unused_local_typedefs): Likewise.
245 (maybe_warn_bool_compare): Likewise.
246 (maybe_warn_shift_overflow): Likewise.
247 (warn_duplicated_cond_add_or_warn): Likewise.
248 (diagnose_mismatched_attributes): Likewise.
249 * c-common.h: Move the declarations from c-warn.c to its own section.
250 * c-warn.c: New file.
251
7a7ca07c 2522016-10-08 Jason Merrill <jason@redhat.com>
253
254 * c-common.c (c_common_truthvalue_conversion): Don't distribute
255 into COND_EXPR in C++.
256
ad0c1dec 2572016-10-08 Jakub Jelinek <jakub@redhat.com>
258
259 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
260 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
261 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
262
cd45162d 2632016-10-07 Jakub Jelinek <jakub@redhat.com>
264
265 Implement LWG2296 helper intrinsic
266 * c-common.h (enum rid): Add RID_ADDRESSOF.
267 * c-common.c (c_common_reswords): Add __builtin_addressof.
268
0365bfa8 2692016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
270
271 PR c++/77700
272 * c-common.c (c_common_truthvalue_conversion): Warn also for
273 suspicious enum values in boolean context.
274
adeca879 2752016-10-06 Jakub Jelinek <jakub@redhat.com>
276
277 Implement P0258R2 - helper for C++17
278 std::has_unique_object_representations trait
279 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
280 * c-common.c (c_common_reswords): Add
281 __has_unique_object_representations.
282
c6958264 2832016-10-05 Jakub Jelinek <jakub@redhat.com>
284
285 PR sanitizer/66343
286 * c-ubsan.c (ubsan_instrument_return): Don't call
287 initialize_sanitizer_builtins here.
288
2b6903a5 2892016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
290
291 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
292 conditional expression in boolean context when only one arm is
293 non-boolean.
294
5c176ebe 2952016-10-05 Jakub Jelinek <jakub@redhat.com>
296
c7b01e77 297 PR sanitizer/77823
298 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
299 is not integral.
300
5c176ebe 301 * c-common.c (c_common_reswords): Update comment for C++11.
302
492ab670 3032016-10-04 Jason Merrill <jason@redhat.com>
304
305 * c-common.c (make_tree_vector_from_ctor): New.
306 * c-common.h: Declare it.
307
bc6b11a7 3082016-10-04 Jakub Jelinek <jakub@redhat.com>
309
310 * c-cppbuiltin.c (c_cpp_builtins): Don't define
311 __LIBGCC_JCR_SECTION_NAME__.
312
255beb07 3132016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
314
315 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
316 left shift in boolean context.
317
c5d89bae 3182016-09-29 Jakub Jelinek <jakub@redhat.com>
319
320 Implement P0001R1 - C++17 removal of register storage class specifier
321 * c.opt (Wregister): New warning.
322 * c-opts.c (c_common_post_options): Enable -Wregister by
323 default for C++17.
324
4267ed07 3252016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
326
327 * c-opts.c (c_common_post_options): Remove special case for
328 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
329 in C++.
330
0b72b025 3312016-09-27 Jakub Jelinek <jakub@redhat.com>
332
4fd4e9e0 333 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
334 -std=c++1z.
335
0b72b025 336 * c-ada-spec.c (print_ada_declaration): Remove break after return.
337
ea36272b 3382016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
339
340 * c-common.c: Include memmodel.h.
341
e997bd3a 3422016-09-26 Marek Polacek <polacek@redhat.com>
343
344 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
345
3c77f69c 3462016-09-26 Marek Polacek <polacek@redhat.com>
347
348 PR c/7652
349 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
350 (handle_fallthrough_attribute): New function.
351 (attribute_fallthrough_p): New function.
352 * c-common.h (attribute_fallthrough_p): Declare.
353
481ce481 3542016-09-24 Marek Polacek <polacek@redhat.com>
355
356 PR c/77490
357 * c.opt (Wbool-operation): New.
358
a5fe0b37 3592016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
360
361 * c-common.c (c_common_truthvalue_conversion): Inhibit
362 Wint-in-bool-context warning with from_macro_definition_at.
363 Mention the expression will always evaluate to true.
364
90f40f08 3652016-09-21 Martin Sebor <msebor@redhat.com>
366
367 PR bootstrap/77676
368 * c.opt (fprintf-return-value): Temporarily initialize to zero
369 to unblock bootstrap failures.
370
98aa0f57 3712016-09-21 Jakub Jelinek <jakub@redhat.com>
372
373 PR c++/77651
374 * c.opt (Waligned-new=): Add RejectNegative.
375 (faligned-new=): Likewise. Spelling fix - change
376 aligned_new_threshhold to aligned_new_threshold.
377 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
378 to aligned_new_threshold.
379
b9833bfd 3802016-09-20 Martin Sebor <msebor@redhat.com>
381
382 PR middle-end/49905
383 * c.opt: Add -Wformat-length and -fprintf-return-value.
384
bed03df1 3852016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
386
387 PR c++/77434
388 * c.opt (Wint-in-bool-context): New warning.
389 * c-common.c (c_common_truthvalue_conversion): Warn on integer
390 constants in boolean context.
391
9b5c49ef 3922016-09-19 Joseph Myers <joseph@codesourcery.com>
393
394 * c-common.c (max_align_t_align): Also consider alignment of
395 float128_type_node.
396
cc4b5c58 3972016-09-15 Jason Merrill <jason@redhat.com>
398
399 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
400 DECL_EXTERNAL.
401
ef45c4c0 4022016-09-14 Jason Merrill <jason@redhat.com>
403
404 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
405 limit FIELD_DECL, either.
406
b99cc6da 4072016-09-14 Marek Polacek <polacek@redhat.com>
408
409 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
410 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
411 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
412
68ef907c 4132016-09-13 David Malcolm <dmalcolm@redhat.com>
414
415 * c-common.c (warn_logical_not_parentheses): Replace
416 rich_location::add_fixit_insert calls with add_fixit_insert_before
417 and add_fixit_insert_after, eliminating the "next_loc" calculation.
418
2c24fd5e 4192016-09-13 Jason Merrill <jason@redhat.com>
420 Tom de Vries <tom@codesourcery.com>
421
422 PR c++/77427
423 * c-common.c (set_underlying_type): Don't treat array as builtin type.
424
005248bc 4252016-09-13 Jason Merrill <jason@redhat.com>
426
427 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
428 limit types at all.
429
0c893604 4302016-09-12 Jason Merrill <jason@redhat.com>
431
432 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
433 bit/byte confusion, allow large alignment for types.
434
7a21b590 4352016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
436
437 PR c++/77496
438 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
439
00434032 4402016-09-12 David Malcolm <dmalcolm@redhat.com>
441
442 PR c/72858
443 * c-format.c (argument_parser::check_argument_type): Add params
444 "type_start" and "conversion_char". Use the former to generate
445 offset_to_type_start and pass it and conversion_char to
446 check_format_types.
447 (check_format_info_main): Capture the start of the type
448 information as "type_start", and pass it an format_char
449 to arg_parser.check_argument_type.
450 (check_format_types): Provide an example in the leading comment.
451 Add params "offset_to_type_start" and "conversion_char"; pass
452 them to format_type_warning calls.
453 (test_get_modifier_for_format_len): Likewise.
454 (matching_type_p): New function.
455 (get_format_for_type): Add param "conversion_char" and move
456 implementation into...
457 (get_format_for_type_1): ...new function, called twice.
458 Use new function matching_type_p rather than checking for
459 TYPE_CANONICAL equality.
460 (get_corrected_substring): New function.
461 (format_type_warning): Provide an example in the leading comment.
462 Add params "offset_to_type_start" and "conversion_char". Replace
463 call to get_format_for_type with call to get_corrected_substring
464 and move rejection of hints for widths/precisions there.
465 (assert_format_for_type_streq): Add param "conversion_char".
466 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
467 (test_get_format_for_type_printf): Add conversion chars to the
468 tests, adding coverage for various combinations of integer
469 vs double conversions, and for preserving octal and hexadecimal
470 conversions.
471 (test_get_format_for_type_scanf): Add conversion chars to the
472 tests.
473
3bb45f76 4742016-09-10 Tom de Vries <tom@codesourcery.com>
475
476 PR C/71602
477 * c-common.c (build_va_arg): Handle more strict
478 targetm.canonical_va_list_type. Replace first argument type error with
479 assert.
480
911ea34a 4812016-09-09 Martin Sebor <msebor@redhat.com>
482
483 PR c/77520
484 PR c/77521
485 * c-format.c (argument_parser::find_format_char_info): Use %qc
486 format directive unconditionally.
487
db8ffb40 4882016-09-09 Jason Merrill <jason@redhat.com>
489
490 Implement C++17 new of over-aligned types.
491 * c.opt: Add -faligned-new and -Waligned-new.
492 * c-common.c (max_align_t_align): Split out from...
493 (cxx_fundamental_alignment_p): ...here.
494 * c-common.h: Declare it.
495 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
496
c5eddaf9 4972016-09-09 Joseph Myers <joseph@codesourcery.com>
498
499 * c-cppbuiltin.c (builtin_define_type_width): New function.
500 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
501 macros.
502
3da97ff7 5032016-09-07 David Malcolm <dmalcolm@redhat.com>
504
505 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
506 a POINTER_TYPE.
507 (substring_loc::get_location): Move to substring-locations.c,
508 keeping implementation as...
509 (c_get_substring_location): New function, from the above, reworked
510 to use accessors rather than member lookup.
511 * c-common.h (class substring_loc): Move to substring-locations.h,
512 replacing with a forward decl.
513 (c_get_substring_location): New decl.
514 * c-format.c: Include "substring-locations.h".
515 (format_warning_va): Move to substring-locations.c.
516 (format_warning_at_substring): Likewise.
517
f9b3f702 5182016-09-06 Martin Sebor <msebor@redhat.com>
519
520 PR c/77336
521 * c-format.c (check_function_format): Avoid issuing warnings for
522 functions unless they call format functions with non-constant
523 format strings.
524
4c04bcce 5252016-09-06 Richard Biener <rguenther@suse.de>
526
527 PR c/77450
528 * c-common.c (c_common_mark_addressable_vec): Handle
529 COMPOUND_LITERAL_EXPR.
530
8f8828ba 5312016-09-05 Marek Polacek <polacek@redhat.com>
532
533 PR c/77423
534 * c-common.c (bool_promoted_to_int_p): New function.
535 (expr_has_boolean_operands_p): New function.
536 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
537 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
538
8ff61e58 5392016-09-04 Tom de Vries <tom@codesourcery.com>
540
541 revert:
542 2016-08-29 Tom de Vries <tom@codesourcery.com>
543
544 * c-common.c (build_va_arg): Replace first argument type error
545 with assert.
546
0b80c4b2 5472016-09-02 Jakub Jelinek <jakub@redhat.com>
548
549 PR c/65467
550 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
551 (c_finish_omp_for): Reject _Atomic qualified iterators.
552
5532016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 554
555 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
556 size to guarantee it fits the output of the formatted function
557 regardless of its arguments.
558
c7afb782 5592016-09-01 Marek Polacek <polacek@redhat.com>
560
561 PR c/7652
562 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
563 FALLTHRU comments.
564
f293b7f2 5652016-08-29 Marek Polacek <polacek@redhat.com>
566
567 PR c/77292
568 * c-common.c (warn_logical_not_parentheses): Don't warn for
569 a comparison or a logical operator.
570
839e4d28 5712016-08-29 Tom de Vries <tom@codesourcery.com>
572
573 * c-common.c (build_va_arg): Fix type comparison assert.
574
0acb92b8 5752016-08-29 Tom de Vries <tom@codesourcery.com>
576
577 * c-common.c (build_va_arg): Replace first argument type error
578 with assert.
579
ea2ec8f6 5802016-08-29 Tom de Vries <tom@codesourcery.com>
581
582 PR c/77398
583 * c-common.c (build_va_arg): Add first argument error. Build va_arg
584 with error_mark_node as va_list instead of with illegal va_list.
585
c4963714 5862016-08-25 Marek Polacek <polacek@redhat.com>
587 David Malcolm <dmalcolm@redhat.com>
588
589 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
590 * c-common.h (warn_logical_not_parentheses): Update declaration.
591
364743f3 5922016-08-22 Marek Polacek <polacek@redhat.com>
593
594 PR c++/77321
595 * c-common.c (warn_for_memset): Check type for null.
596
012f068a 5972016-08-22 Joseph Myers <joseph@codesourcery.com>
598
599 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
600 _FloatNx types for suffixes for built-in functions.
601
82c85aba 6022016-08-19 Joseph Myers <joseph@codesourcery.com>
603
604 PR c/32187
605 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
606 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
607 (RID_FLOAT128X): New enum rid values.
608 (CASE_RID_FLOATN_NX): New macro.
609 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
610 keywords.
611 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
612 corresponding complex types.
613 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
614 _FloatNx and corresponding complex types.
615 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
616 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
617 and _FloatNx types for the widest type for determining
618 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
619 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
620 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
621 and _FloatNx types.
622 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
623 constants.
624 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
625 _FloatNx types.
626
48a7392b 6272016-08-18 David Malcolm <dmalcolm@redhat.com>
628
629 * c-opts.c (c_diagnostic_finalizer): Update for change to
630 diagnostic_show_locus.
631
5c8151fa 6322016-08-18 David Malcolm <dmalcolm@redhat.com>
633
634 * c-common.c: Include "spellcheck.h".
635 (cb_get_suggestion): New function.
636 * c-common.h (cb_get_suggestion): New decl.
637 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
638 cb_get_suggestion.
639
26040f06 6402016-08-18 Marek Polacek <polacek@redhat.com>
641
642 PR c/71514
643 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
644 and pointer-to-VLA.
645
5927e78e 6462016-08-16 David Malcolm <dmalcolm@redhat.com>
647
648 PR c/72857
649 * c-common.c (substring_loc::get_range): Rename to...
650 (substring_loc::get_location): ...this, converting param from a
651 source_range * to a location_t *. Call
652 get_source_location_for_substring rather than
653 get_source_range_for_substring, and pass in m_caret_idx.
654 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
655 (substring_loc::get_range): Replace with...
656 (substring_loc::get_location): ...this.
657 (substring_loc::set_caret_index): New method.
658 (substring_loc): Add field m_caret_idx.
659 * c-format.c (format_warning_va): Update for above changes.
660 Rename local "substring_loc" to "fmt_substring_loc" to avoid
661 clashing with type name.
662 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
663 (check_argument_type): Likewise.
664 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
665 Use a copy when emitting warnings, setting the caret index from TYPE.
666
6ce66d38 6672016-08-16 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 668 Arnaud Charlet <charlet@adacore.com>
6ce66d38 669
670 * c-ada-spec.c (dump_number): New function.
671 (handle_escape_character): Likewise.
672 (print_ada_macros): Add handling of constant integers and strings.
673
e3533433 6742016-08-12 Marek Polacek <polacek@redhat.com>
675
676 PR c/7652
677 * c-common.c (scalar_to_vector): Adjust fall through comment.
678 * c-opts.c (c_common_handle_option): Likewise.
679 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
680 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
681 fall through comment.
682 * cilk.c (extract_free_variables): Add FALLTHRU.
683
0f463aec 6842016-08-10 Jason Merrill <jason@redhat.com>
685
686 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
687
80488e20 6882016-08-09 Jason Merrill <jason@redhat.com>
689
690 * c-common.c (c_common_attribute_table): vector_size affects type
691 identity.
692
a319e7f4 6932016-08-09 Marek Polacek <polacek@redhat.com>
694
695 PR c/7652
696 * c-ada-spec.c (dump_generic_ada_node): Add return.
697
33603066 6982016-08-09 Jason Merrill <jason@redhat.com>
699
700 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
701 C++17 constexpr lambdas.
702
7af4d06b 7032016-08-08 David Malcolm <dmalcolm@redhat.com>
704
705 PR c/64955
706 * c-common.h (selftest::c_format_c_tests): New declaration.
707 (selftest::run_c_tests): New declaration.
708 * c-format.c: Include "selftest.h.
709 (format_warning_va): Add param "corrected_substring" and use
710 it to add a replacement fix-it hint.
711 (format_warning_at_substring): Likewise.
712 (format_warning_at_char): Update for new param of
713 format_warning_va.
714 (argument_parser::check_argument_type): Pass "fki" to
715 check_format_types.
716 (check_format_types): Add param "fki" and pass it to
717 format_type_warning.
718 (deref_n_times): New function.
719 (get_modifier_for_format_len): New function.
720 (selftest::test_get_modifier_for_format_len): New function.
721 (get_format_for_type): New function.
722 (format_type_warning): Add param "fki" and use it to attempt
723 to provide hints for argument types when calling
724 format_warning_at_substring.
725 (selftest::get_info): New function.
726 (selftest::assert_format_for_type_streq): New function.
727 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
728 (selftest::test_get_format_for_type_printf): New function.
729 (selftest::test_get_format_for_type_scanf): New function.
730 (selftest::c_format_c_tests): New function.
731
d189b094 7322016-08-08 David Malcolm <dmalcolm@redhat.com>
733
734 PR c/52952
735 * c-format.c: Include "diagnostic.h".
736 (location_column_from_byte_offset): Delete.
737 (location_from_offset): Delete.
738 (format_warning_va): New function.
739 (format_warning_at_substring): New function.
740 (format_warning_at_char): New function.
741 (check_format_arg): Capture location of format_tree and pass to
742 check_format_info_main.
743 (argument_parser): Add fields "start_of_this_format" and
744 "format_string_cst".
745 (flag_chars_t::validate): Add param "format_string_cst". Convert
746 warning_at call using location_from_offset to call to
747 format_warning_at_char.
748 (argument_parser::argument_parser): Add param "format_string_cst_"
749 and use use it to initialize field "format_string_cst".
750 Initialize new field "start_of_this_format".
751 (argument_parser::read_format_flags): Convert warning_at call
752 using location_from_offset to a call to format_warning_at_char.
753 (argument_parser::read_any_format_left_precision): Likewise.
754 (argument_parser::read_any_format_precision): Likewise.
755 (argument_parser::read_any_other_modifier): Likewise.
756 (argument_parser::find_format_char_info): Likewise, in three places.
757 (argument_parser::parse_any_scan_set): Likewise, in one place.
758 (argument_parser::handle_conversions): Likewise, in two places.
759 (argument_parser::check_argument_type): Add param "fmt_param_loc"
760 and use it to make a substring_loc. Pass the latter to
761 check_format_types.
762 (check_format_info_main): Add params "fmt_param_loc" and
763 "format_string_cst". Convert warning_at calls using
764 location_from_offset to calls to format_warning_at_char. Pass the
765 new params to the arg_parser ctor. Pass "format_string_cst" to
766 flag_chars.validate. Pass "fmt_param_loc" to
767 arg_parser.check_argument_type.
768 (check_format_types): Convert first param from a location_t
769 to a const substring_loc & and rename to "fmt_loc". Attempt
770 to extract the range of the relevant parameter and pass it
771 to format_type_warning.
772 (format_type_warning): Convert first param from a location_t
773 to a const substring_loc & and rename to "fmt_loc". Add
774 params "param_range" and "type". Replace calls to warning_at
775 with calls to format_warning_at_substring.
776
0dae5fef 7772016-08-08 David Malcolm <dmalcolm@redhat.com>
778
779 * c-format.c (class flag_chars_t): New class.
780 (struct length_modifier): New struct.
781 (class argument_parser): New class.
782 (flag_chars_t::flag_chars_t): New ctor.
783 (flag_chars_t::has_char_p): New method.
784 (flag_chars_t::add_char): New method.
785 (flag_chars_t::validate): New method.
786 (flag_chars_t::get_alloc_flag): New method.
787 (flag_chars_t::assignment_suppression_p): New method.
788 (argument_parser::argument_parser): New ctor.
789 (argument_parser::read_any_dollar): New method.
790 (argument_parser::read_format_flags): New method.
791 (argument_parser::read_any_format_width): New method.
792 (argument_parser::read_any_format_left_precision): New method.
793 (argument_parser::read_any_format_precision): New method.
794 (argument_parser::handle_alloc_chars): New method.
795 (argument_parser::read_any_length_modifier): New method.
796 (argument_parser::read_any_other_modifier): New method.
797 (argument_parser::find_format_char_info): New method.
798 (argument_parser::validate_flag_pairs): New method.
799 (argument_parser::give_y2k_warnings): New method.
800 (argument_parser::parse_any_scan_set): New method.
801 (argument_parser::handle_conversions): New method.
802 (argument_parser::check_argument_type): New method.
803 (check_format_info_main): Introduce classes argument_parser
804 and flag_chars_t, moving the code within the loop into methods
805 of these classes. Make various locals "const".
806
d4166bdc 8072016-08-05 David Malcolm <dmalcolm@redhat.com>
808
809 * c-common.c: Include "substring-locations.h".
810 (get_cpp_ttype_from_string_type): New function.
811 (g_string_concat_db): New global.
812 (substring_loc::get_range): New method.
813 * c-common.h (g_string_concat_db): New declaration.
814 (class substring_loc): New class.
815 * c-lex.c (lex_string): When concatenating strings, capture the
816 locations of all tokens using a new obstack, and record the
817 concatenation locations within g_string_concat_db.
818 * c-opts.c (c_common_init_options): Construct g_string_concat_db
819 on the ggc-heap.
820
7648c9c7 8212016-07-29 Marek Polacek <polacek@redhat.com>
822
8ae70602 823 PR c/71926
824 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
825 parentheses warning.
826
7648c9c7 827 PR c/71574
828 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
829
595e387a 8302016-07-28 Martin Liska <mliska@suse.cz>
831
832 PR gcov-profile/68025
833 * c-common.c (handle_no_profile_instrument_function_attribute):
834
296103aa 8352016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
836
837 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
838 BITS_PER_UNIT_LOG.
839
21483ab7 8402016-07-25 Jason Merrill <jason@redhat.com>
841
842 PR c++/65970
843 * c.opt (fconstexpr-loop-limit): New.
844
0b80c4b2 8452016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 846
847 PR c++/71675
848 * c-common.c (resolve_overloaded_builtin): Avoid converting
849 __atomic_compare_exchange_n return type to that of what its
850 first argument points to.
851
59c1507a 8522016-07-22 Uros Bizjak <ubizjak@gmail.com>
853
854 * c-common.c: Use HOST_WIDE_INT_M1U instead of
855 ~(unsigned HOST_WIDE_INT) 0.
856
45648efe 8572016-07-22 Martin Liska <mliska@suse.cz>
858
859 PR gcov-profile/69028
860 PR gcov-profile/62047
861 * cilk.c (create_cilk_helper_decl): Set location of a new decl
862 to the current_function_decl.
863
0c0f63cb 8642016-07-21 Jason Merrill <jason@redhat.com>
865
866 PR c++/65168
867 * c-common.c (c_common_truthvalue_conversion): Check
868 c_inhibit_evaluation_warnings for warning about address of
869 reference.
870
d208f6e6 8712016-07-20 David Malcolm <dmalcolm@redhat.com>
872
873 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
874 const char *.
875
0238e35e 8762016-07-15 Jason Merrill <jason@redhat.com>
877
878 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
879
0dd7db3b 8802016-07-15 Jakub Jelinek <jakub@redhat.com>
881
882 PR c/71858
883 * c-common.h (enum lookup_name_fuzzy_kind): Add
884 FUZZY_LOOKUP_FUNCTION_NAME.
885
e59cff35 8862016-07-08 Jason Merrill <jason@redhat.com>
887
888 P0145: Refining Expression Order for C++.
889 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
890 * c-opts.c: Adjust.
891
faee03ad 8922016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
893
894 PR c++/71214
895 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
896
a4dd89cb 8972016-06-29 Thomas Schwinge <thomas@codesourcery.com>
898
899 * c-pragma.h (enum pragma_kind): Rename
900 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
901 users.
902
b6a4a0f5 9032016-06-29 Richard Biener <rguenther@suse.de>
904
905 PR middle-end/71002
906 * c-common.c (c_common_get_alias_set): Remove union type punning case.
907
176aa551 9082016-06-24 Jason Merrill <jason@redhat.com>
909
910 P0145R2: Refining Expression Order for C++.
911 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
912 MODIFY_EXPR.
913
77104764 9142016-06-24 Jakub Jelinek <jakub@redhat.com>
915
916 * c-common.c (check_builtin_function_arguments): Require last
917 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
918 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
919 if the last argument is pointer to enumerated or boolean type.
920
8469aece 9212016-06-22 David Malcolm <dmalcolm@redhat.com>
922
923 PR c/70339
924 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
925 (lookup_name_fuzzy): New prototype.
926
bd08c370 9272016-06-21 John David Anglin <danglin@gcc.gnu.org>
928
929 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
930
06c75b9a 9312016-06-14 Jason Merrill <jason@redhat.com>
932
933 P0145R2: Refining Expression Order for C++.
934 * c.opt (fargs-in-order): New.
935 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
936
9720103d 9372016-06-13 Jakub Jelinek <jakub@redhat.com>
938
12cb8367 939 PR sanitizer/71498
940 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
941 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
942
9720103d 943 PR preprocessor/71183
944 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
945 to cb_get_source_date_epoch.
946
8ec29807 9472016-06-10 Jakub Jelinek <jakub@redhat.com>
948
949 PR c/68657
950 * c.opt (Wpsabi): Add Warning flag.
951
1dc4d519 9522016-06-10 Martin Sebor <msebor@redhat.com>
953
954 PR c/71392
955 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
956 the nonnull attribute in type-generic builtins.
957
23b101c5 9582016-06-09 Martin Sebor <msebor@redhat.com>
959
960 PR c/70883
961 * c-common.c (builtin_function_validate_nargs): Make text of error
962 message consistent with others like it.
963
732905bb 9642016-06-08 Martin Sebor <msebor@redhat.com>
965 Jakub Jelinek <jakub@redhat.com>
966
967 PR c++/70507
968 PR c/68120
969 * c-common.c (check_builtin_function_arguments): Handle
970 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
971
86a5f91c 9722016-06-08 Richard Biener <rguenther@suse.de>
973
974 * c-common.c (parse_optimize_options): Improve diagnostic messages.
975
b032c4dd 9762016-06-07 Richard Biener <rguenther@suse.de>
977
978 PR c/61564
979 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
980 options and warn about others.
981
dfa5c0d3 9822016-06-01 Eduard Sanou <dhole@openmailbox.org>
983
984 * c-common.c (get_source_date_epoch): Rename to
985 cb_get_source_date_epoch.
986 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
987 message when the parsing fails. Use error_at instead of fatal_error.
988 * c-common.h (get_source_date_epoch): Rename to
989 cb_get_source_date_epoch.
990 * c-common.h (cb_get_source_date_epoch): Prototype.
991 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
992 * c-common.h (c_omp_region_type): Remove trailing comma.
993 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
994 * c-lex.c (c_lex_with_flags): Remove initialization of
995 pfile->source_date_epoch.
996
b6431756 9972016-05-30 Jakub Jelinek <jakub@redhat.com>
998
999 PR c++/71349
1000 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1001 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1002 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1003 instead of C_OMP_CLAUSE_SPLIT_FOR.
1004
7345b977 10052016-05-24 Richard Biener <rguenther@suse.de>
1006
1007 PR middle-end/70434
1008 PR c/69504
1009 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1010 (convert_vector_to_array_for_subscript): ... this.
1011 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1012 VIEW_CONVERT_EXPR to an array type. Rename to ...
1013 (convert_vector_to_array_for_subscript): ... this.
1014
22a3f7bd 10152016-05-12 Marek Polacek <polacek@redhat.com>
1016
1017 PR c/70756
1018 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1019 size_in_bytes and pass LOC to it.
1020
54c4d22e 10212016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1022
1023 PR c/43651
1024 * c.opt (Wduplicate-decl-specifier): New option.
1025
7f8012a5 10262016-05-11 Marek Polacek <polacek@redhat.com>
1027
1028 PR c++/71024
1029 * c-common.c (diagnose_mismatched_attributes): New function.
1030 * c-common.h (diagnose_mismatched_attributes): Declare.
1031
1d52c456 10322016-05-04 Marek Polacek <polacek@redhat.com>
1033
1034 * c.opt (Wdangling-else): New option.
1035
5d4db8ef 10362016-05-03 Marek Polacek <polacek@redhat.com>
1037
1038 PR c/70859
1039 * c-common.c (builtin_function_validate_nargs): Add location
1040 parameter. Use it.
1041 (check_builtin_function_arguments): Add location and arguments
1042 parameters. Use them.
1043 * c-common.h (check_builtin_function_arguments): Update declaration.
1044
9ae1b28a 10452016-05-03 Richard Biener <rguenther@suse.de>
1046
1047 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1048 allow call args to gimplify to SSA names.
1049
4341e093 10502016-05-03 Marek Polacek <polacek@redhat.com>
1051
1052 * c-common.h (enum c_omp_region_type): Remove stray comma.
1053
b5e88f74 10542016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1055
1056 * c-common.h (enum c_omp_region_type): Define.
1057
ee31dd3d 10582016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1059
1060 * c-common.c (shorten_compare): Use wi::to_wide.
1061
4d0a8bac 10622016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1063
1064 PR middle-end/70626
1065 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1066 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1067 reduction clauses in acc parallel loops.
1068
025dd1e0 10692016-04-29 Marek Polacek <polacek@redhat.com>
1070
1071 PR c/70852
1072 * c-common.c (warn_for_memset): Check domain before accessing it.
1073
eb16928e 10742016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1075
1076 PR/69089
1077 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1078 "aligned" attribute.
1079
ddd2a3d4 10802016-04-28 Jason Merrill <jason@redhat.com>
1081
1082 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1083
e3e8c48c 10842016-04-28 Eduard Sanou <dhole@openmailbox.org>
1085 Matthias Klose <doko@debian.org>
1086
1087 * c-common.c (get_source_date_epoch): New function, gets the environment
1088 variable SOURCE_DATE_EPOCH and parses it as long long with error
1089 handling.
1090 * c-common.h (get_source_date_epoch): Prototype.
1091 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1092
605a4556 10932015-04-27 Ryan Burn <contact@rnburn.com>
1094
1095 PR c++/69024
1096 PR c++/68997
1097 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1098 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1099 external linkage.
1100 (cilk_detect_and_unwrap): Corresponding changes.
1101 (extract_free_variables): Don't extract free variables from
1102 AGGR_INIT_EXPR slot.
1103 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1104 (cilk_recognize_spawn): Likewise.
1105
40385231 11062016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1107
1108 * c.opt (Wmemset-elt-size): New option.
1109 * c-common.c (warn_for_memset): New function.
1110 * c-common.h (warn_for_memset): Declare.
1111
f5d49c14 11122016-04-25 Jason Merrill <jason@redhat.com>
1113
1114 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1115 No longer static.
1116 * c-common.h: Declare it.
1117 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1118
9c980ab5 11192016-04-22 Jason Merrill <jason@redhat.com>
1120
1121 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1122
70574e60 11232016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1124
1125 PR c++/69363
1126 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1127 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1128
5d4b30ea 11292016-04-18 Michael Matz <matz@suse.de>
1130
1131 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1132 and SET_DECL_ALIGN.
1133
021ad2f3 11342016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1135
1136 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1137 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1138 to incomplete types.
1139 (dump_nested_type): Remove redundant tests and tidy up.
1140 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1141 a type which is the typedef of an original type.
1142
926f9422 11432016-04-15 Marek Polacek <polacek@redhat.com>
1144
1145 PR c/70651
1146 * c-common.c (build_va_arg): Change two asserts into errors and return
1147 error_mark_node.
1148
92c53257 11492016-04-13 Marek Polacek <polacek@redhat.com>
1150
1151 PR c++/70639
1152 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1153 for switch statements, too.
1154
a3ae889f 11552016-03-28 Jason Merrill <jason@redhat.com>
1156
1157 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1158
62d2a6dc 11592016-03-23 Marek Polacek <polacek@redhat.com>
1160
1161 PR c++/69884
1162 * c.opt (Wignored-attributes): New option.
1163
4baec9f2 11642016-03-22 David Malcolm <dmalcolm@redhat.com>
1165
1166 PR c/69993
1167 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1168 diagnostic text, reversing the order of the warning and note so
1169 that they appear in source order.
1170
92e7ab1e 11712016-03-17 Marek Polacek <polacek@redhat.com>
1172
1173 PR c/69407
1174 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1175 operations.
1176
6f895832 11772016-03-14 Jason Merrill <jason@redhat.com>
1178
14c36b14 1179 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1180
6f895832 1181 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1182
42bb3bfb 11832016-03-09 Richard Biener <rguenther@suse.de>
1184
1185 PR c/70143
1186 * c-common.c (strict_aliasing_warning): Add back
1187 alias_sets_conflict_p check.
1188
3556aa80 11892016-03-08 Jason Merrill <jason@redhat.com>
1190
1191 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1192
0060768a 11932016-03-04 David Malcolm <dmalcolm@redhat.com>
1194
1195 PR c/68187
1196 * c-indentation.c (get_visual_column): Move code to determine next
1197 tab stop to...
1198 (next_tab_stop): ...this new function.
1199 (line_contains_hash_if): Delete function.
1200 (detect_preprocessor_logic): Delete function.
1201 (get_first_nws_vis_column): New function.
1202 (detect_intervening_unindent): New function.
1203 (should_warn_for_misleading_indentation): Replace call to
1204 detect_preprocessor_logic with a call to
1205 detect_intervening_unindent.
1206
74c6fd40 12072016-03-04 David Malcolm <dmalcolm@redhat.com>
1208
1209 PR c/68187
1210 * c-indentation.c (should_warn_for_misleading_indentation): When
1211 suppressing warnings about cases where the guard and body are on
1212 the same column, only use the first non-whitespace column in place
1213 of the guard token column when dealing with "else" clauses.
1214 When rejecting aligned BODY and NEXT, loosen the requirement
1215 from equality with the first non-whitespace of guard to simply
1216 that they not be indented relative to it.
1217
e692d332 12182016-03-04 Richard Biener <rguenther@suse.de>
1219
1220 PR c++/70054
1221 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1222 instead of alias_sets_conflict_p.
1223
12cc1225 12242016-03-01 Marek Polacek <polacek@redhat.com>
1225
1226 PR c++/69795
1227 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1228 any DECL.
1229
8c38d887 12302016-02-22 Martin Sebor <msebor@redhat.com>
1231
1232 PR middle-end/69780
1233 * c-common.c (check_builtin_function_arguments): Validate and
1234 reject invalid arguments to __builtin_alloca_with_align.
1235
e53f41d5 12362016-02-20 Mark Wielaard <mjw@redhat.com>
1237
1238 PR c/28901
1239 * c.opt (Wunused-const-variable): Turn into Alias for...
1240 (Wunused-const-variable=): New option.
1241
9cce8384 12422016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1243
1244 PR c++/69865
1245 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1246 here...
1247 (c_common_init_options): ...to here.
1248 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1249
563d5cb8 12502016-02-19 Jakub Jelinek <jakub@redhat.com>
1251
1252 PR c++/69826
1253 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1254 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1255 flag_preprocess_only.
1256
7675e968 12572016-02-16 Jakub Jelinek <jakub@redhat.com>
1258
1259 PR c/69835
1260 * c.opt (Wnonnull-compare): Enable for -Wall.
1261
77454e6e 12622016-02-15 Jakub Jelinek <jakub@redhat.com>
1263
1264 PR c++/69797
1265 * c-common.c (sync_resolve_size): Diagnose too few arguments
1266 even when params is non-NULL empty vector.
1267
600695e0 12682016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1269
1270 PR target/60410
1271 * c.opt (fshort-double): Remove.
1272
a7cc1f94 12732016-02-05 Martin Sebor <msebor@redhat.com>
1274
1275 PR c++/69662
1276 * c.opt (Warning options): Update -Wplacement-new to take
1277 an optional argument.
1278
6f13b088 12792016-02-01 Jakub Jelinek <jakub@redhat.com>
1280
1281 PR preprocessor/69543
1282 PR c/69558
1283 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1284 instead of loc to control_warning_option.
1285
948eee2f 12862016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1287
1288 * c.opt (fopenacc-dim=): New option.
1289
5fa82c11 12902016-01-27 Ryan Burn <contact@rnburn.com>
1291
1292 PR cilkplus/69267
1293 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1294 gimplify_arg. Removed superfluous post_p argument.
1295 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1296 superfluous post_p argument.
1297 * c-gimplify.c (c_gimplify_expr): Likewise.
1298
3752e5b1 12992016-01-26 David Malcolm <dmalcolm@redhat.com>
1300
1301 PR other/69006
1302 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1303 pp_newline_and_flush with pp_flush.
1304
bbbbe8ab 13052016-01-20 Martin Sebor <msebor@redhat.com>
1306
1307 PR c/69405
1308 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1309 an incompatible argument when the argument isn't a valid tree node.
1310
f6dfb86a 13112016-01-18 Jason Merrill <jason@redhat.com>
1312
1313 PR c++/68767
1314 * c-common.c (check_function_arguments_recurse): Fold the whole
1315 COND_EXPR, not just the condition.
1316
f672c103 13172016-01-18 Tom de Vries <tom@codesourcery.com>
1318
1319 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1320 classify as loop clause.
1321
c8ef893c 13222016-01-15 Jakub Jelinek <jakub@redhat.com>
1323
1324 PR bootstrap/68271
1325 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1326 C++ FE no longer has limit on number of pragmas.
1327
13282015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 1329
1330 PR c++/69048
1331 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 1332 to add missing cleanup point.
7d600da5 1333
a7ed4583 13342016-01-14 David Malcolm <dmalcolm@redhat.com>
1335
1336 PR c++/68819
1337 * c-indentation.c (get_visual_column): Add location_t param.
1338 Handle the column number being zero by effectively disabling the
1339 warning, with an "inform".
1340 (should_warn_for_misleading_indentation): Add location_t argument
1341 for all uses of get_visual_column.
1342
b933e511 13432016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1344
1345 PR c++/69029
1346 * c-indentation.c (should_warn_for_misleading_indentation):
1347 Don't warn about do-while statements.
1348
517906ff 13492016-01-07 Martin Sebor <msebor@redhat.com>
1350
1351 PR c/68966
1352 * c-common.c (sync_resolve_size): Reject first argument when it's
1353 a pointer to _Bool.
1354
d42aa619 13552016-01-05 David Malcolm <dmalcolm@redhat.com>
1356
1357 PR c/69122
1358 * c-indentation.c (get_visual_column): Remove default argument.
1359 (should_warn_for_misleading_indentation): For the multiline case,
1360 update call to get_visual_column for next_stmt_exploc so that it
1361 captures the location of the first non-whitespace character in the
1362 relevant line. Don't issue warnings if there is non-whitespace
1363 before the next statement.
1364
f1717362 13652016-01-04 Jakub Jelinek <jakub@redhat.com>
1366
1367 Update copyright years.
1368
c0bf500c 13692015-12-21 David Malcolm <dmalcolm@redhat.com>
1370
1371 * c-common.c (binary_op_error): Convert first param from
1372 location_t to rich_location * and use it when emitting an error.
1373 * c-common.h (binary_op_error): Convert first param from
1374 location_t to rich_location *.
1375
dbd79382 13762015-12-16 David Malcolm <dmalcolm@redhat.com>
1377
1378 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1379 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1380
c0998828 13812015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1382
1383 * c-common.c (c_common_attribute_table): Handle "omp declare target
1384 link" attribute.
1385
7ca909c6 13862015-12-14 Jakub Jelinek <jakub@redhat.com>
1387
1388 PR c/68833
1389 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1390
d9102cbe 13912014-12-12 Tobias Burnus <burnus@net-b.de>
1392
1393 PR fortran/68815
1394 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1395 specifiers (%d, %i,%u and %c).
1396
a515ebdf 13972015-12-10 David Malcolm <dmalcolm@redhat.com>
1398
1399 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1400
31ba81bd 14012015-12-08 Jakub Jelinek <jakub@redhat.com>
1402
1403 PR c/48088
1404 PR c/68657
1405 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1406 * c-pragma.c (handle_pragma_diagnostic): Adjust
1407 control_warning_option caller.
1408
d0f713f4 14092015-12-07 David Malcolm <dmalcolm@redhat.com>
1410
1411 * c-common.c (c_cpp_error): Update for change to
1412 rich_location::set_range.
1413
32d050b5 14142015-12-04 Paolo Bonzini <bonzini@gnu.org>
1415
1416 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1417 shifting 1 out of the sign bit.
1418
14192015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1420
1421 * c-common.c (c_common_attribute_table[]): Update max arguments
1422 count for "simd" attribute.
1423 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1424
6a8fbd7a 14252015-12-03 Jakub Jelinek <jakub@redhat.com>
1426
1427 PR preprocessor/57580
1428 * c-ppoutput.c (print): Change printed field to bool.
1429 Move src_file last for smaller padding.
1430 (init_pp_output): Set print.printed to false instead of 0.
1431 (scan_translation_unit): Fix up formatting. Set print.printed
1432 to true after printing something other than newline.
1433 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1434 (maybe_print_line_1): Set print.printed to false instead of 0.
1435 (print_line_1): Likewise.
1436 (do_line_change): Set print.printed to true instead of 1.
1437 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1438 dump_macro): Set print.printed to false after printing newline.
1439
da562e32 14402015-12-02 Jason Merrill <jason@redhat.com>
1441
9c691dbd 1442 * c-common.c (fold_for_warn): New.
1443 (warn_logical_operator, warn_tautological_cmp)
1444 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1445
da562e32 1446 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1447 (c_fully_fold_internal, decl_constant_value_for_optimization):
1448 Move to c/c-fold.c.
1449 * c-common.h: Don't declare decl_constant_value_for_optimization.
1450
89f16034 14512015-12-02 Joseph Myers <joseph@codesourcery.com>
1452
1453 PR c/68162
1454 * c-common.h (c_build_qualified_type): Add extra default
1455 arguments.
1456
571b3486 14572015-12-01 Julian Brown <julian@codesourcery.com>
1458 Cesar Philippidis <cesar@codesourcery.com>
1459 James Norris <James_Norris@mentor.com>
1460
1461 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1462 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1463 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1464
ed92a461 14652015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1466
1467 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1468 (decl_sloc_common): Delete and move bulk of processing to...
1469 (decl_sloc): ...here.
1470 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1471 (dump_ada_double_name): Remove S parameter and compute the suffix.
1472 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1473 element type and deal with an anonymous one.
1474 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1475 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1476 and remove reference to QUAL_UNION_TYPE.
1477 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1478 (dump_nested_type): ...here. New function extracted from above.
1479 Generate a full declaration for anonymous element type of arrays.
1480 (print_ada_declaration): Really skip anonymous declarations. Remove
1481 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1482 Clean up processing of declarations of array types and objects.
1483 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1484 Remove obsolete code and tidy up.
1485
c25b3e3f 14862015-11-29 Jan Hubicka <hubicka@ucw.cz>
1487
1488 PR c/67581
1489 * c-common.c (handle_transparent_union_attribute): Update
1490 also type variants.
1491
d4e328e9 14922015-11-27 Martin Liska <mliska@suse.cz>
1493
1494 PR c++/68312
1495 * array-notation-common.c (cilkplus_extract_an_triplets):
1496 Release vector of vectors.
1497 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1498
f63d9c4e 14992015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1500
1501 PR c++/68527
1502 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1503 (print_ada_struct_decl): Likewise.
1504
8d63c601 15052015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1506
1507 PR c++/68001
1508 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1509 * cilk.c (recognize_spawn): Determine location in a more precise
1510 way.
1511
01f11119 15122015-11-19 Jason Merrill <jason@redhat.com>
1513
1514 * c-common.c (shorten_compare): But look through macros from
1515 system headers.
1516
2d3d3af7 15172015-11-18 Jason Merrill <jason@redhat.com>
1518
1519 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1520 non-constant operand comes from a macro.
1521
7991eeee 15222015-11-17 Jason Merrill <jason@redhat.com>
1523
1524 PR bootstrap/68346
1525 * c-common.c (warn_tautological_cmp): Fold before checking for
1526 constants.
1527
73f67931 15282015-11-16 Marek Polacek <polacek@redhat.com>
1529
1530 PR c++/68362
1531 * c-common.c (check_case_bounds): Fold low and high cases.
1532
8e539fdc 15332015-11-16 Marek Polacek <polacek@redhat.com>
1534
1535 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1536 * c-common.c (c_common_get_alias_set): Likewise.
1537 (handle_visibility_attribute): Likewise.
1538
c58a4cfd 15392015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1540
1541 * c-common.c (handle_simd_attribute): New.
1542 (struct attribute_spec): Add entry for "simd".
1543 (handle_simd_attribute): New.
1544
bb036391 15452015-11-13 Kai Tietz <ktietz70@googlemail.com>
1546
1547 * c-lex.c (interpret_float): Use fold_convert.
1548
a96cefb2 15492015-11-13 David Malcolm <dmalcolm@redhat.com>
1550
1551 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1552 and store it on the result.
1553 * c-opts.c (c_common_init_options): Set
1554 global_dc->colorize_source_p.
1555
2fc5e987 15562015-11-12 James Norris <jnorris@codesourcery.com>
1557 Joseph Myers <joseph@codesourcery.com>
1558
1559 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1560 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1561 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1562 PRAGMA_OACC_CLAUSE_LINK.
1563
81b1b2a8 15642015-11-11 Marek Polacek <polacek@redhat.com>
1565
1566 PR c/68107
1567 PR c++/68266
1568 * c-common.c (valid_array_size_p): New function.
1569 * c-common.h (valid_array_size_p): Declare.
1570
92a44a68 15712015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 1572
1573 PR bootstrap/68271
1574 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1575
6e803544 15762015-11-11 Andrew MacLeod <amacleod@redhat.com>
1577
1578 * array-notation-common.c: Remove unused header files.
1579 * c-ada-spec.c: Likewise.
1580 * c-cilkplus.c: Likewise.
1581 * c-common.c: Likewise.
1582 * c-cppbuiltin.c: Likewise.
1583 * c-dump.c: Likewise.
1584 * c-format.c: Likewise.
1585 * c-gimplify.c: Likewise.
1586 * c-indentation.c: Likewise.
1587 * c-lex.c: Likewise.
1588 * c-omp.c: Likewise.
1589 * c-opts.c: Likewise.
1590 * c-pch.c: Likewise.
1591 * c-ppoutput.c: Likewise.
1592 * c-pragma.c: Likewise.
1593 * c-pretty-print.c: Likewise.
1594 * c-semantics.c: Likewise.
1595 * c-ubsan.c: Likewise.
1596 * cilk.c: Likewise.
1597 * stub-objc.c: Likewise.
1598
a1b7fe4b 15992015-11-09 Thomas Schwinge <thomas@codesourcery.com>
1600 Cesar Philippidis <cesar@codesourcery.com>
1601 James Norris <jnorris@codesourcery.com>
1602 Julian Brown <julian@codesourcery.com>
1603 Nathan Sidwell <nathan@codesourcery.com>
1604
1605 * c-pragma.c (oacc_pragmas): Add "routine".
1606 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
1607
292237f3 16082015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1609
1610 * c-common.c (c_common_attributes): Add scalar_storage_order.
1611 (handle_scalar_storage_order_attribute): New function.
1612 * c-pragma.c (global_sso): New variable.
1613 (maybe_apply_pragma_scalar_storage_order): New function.
1614 (handle_pragma_scalar_storage_order): Likewise.
1615 (init_pragma): Register scalar_storage_order.
1616 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
1617 * c.opt (Wscalar-storage-order): New warning.
1618 (fsso-struct=): New option.
1619
b4a4c5fa 16202015-11-08 Martin Sebor <msebor@redhat.com>
1621
1622 * c.opt (Wplacement-new): Add a period to the end of a sentence.
1623
ac677063 16242015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1625
1626 * c-common.c: Don't undef DEF_BUILTIN.
1627
f0479000 16282015-11-06 David Malcolm <dmalcolm@redhat.com>
1629
1630 * c-common.c (c_cpp_error): Convert parameter from location_t to
1631 rich_location *. Eliminate the "column_override" parameter and
1632 the call to diagnostic_override_column.
1633 Update the "done_lexing" clause to set range 0
1634 on the rich_location, rather than overwriting a location_t.
1635 * c-common.h (c_cpp_error): Convert parameter from location_t to
1636 rich_location *. Eliminate the "column_override" parameter.
1637
ef014f95 16382015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1639 Thomas Schwinge <thomas@codesourcery.com>
1640 James Norris <jnorris@codesourcery.com>
1641
1642 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
1643 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
1644 clauses with parallel and kernels and loops.
1645 * c-pragma.h (enum pragma_omp_clause): Add entries for
1646 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
1647 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
1648 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
1649 INDEPENDENT,SEQ}.
1650 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
1651
e520488c 16522015-11-05 Martin Sebor <msebor@redhat.com>
1653
1654 PR c++/67942
1655 * c.opt (-Wplacement-new): New option.
1656
9561765e 16572015-11-05 Jakub Jelinek <jakub@redhat.com>
1658
1659 * c-common.h (c_finish_omp_atomic): Add TEST argument.
1660 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
1661 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
1662 save_expr or create_tmp_var* if TEST is true.
1663 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
1664 Don't call add_stmt here.
1665 (struct c_omp_check_loop_iv_data): New type.
1666 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
1667 c_omp_check_loop_iv_exprs): New functions.
1668 (c_omp_split_clauses): Adjust for lastprivate being allowed on
1669 distribute.
1670 (c_omp_declare_simd_clauses_to_numbers): Change
1671 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
1672 (c_omp_declare_simd_clauses_to_decls): Similarly change those
1673 from numbers to PARM_DECLs.
1674
5e8689fb 16752015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1676
1677 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
1678 flag_checking.
1679
92a44a68 16802015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 1681
1682 PR c++-common/67882
32d050b5 1683 * c-common.h (fold_offsetof_1): Add argument.
1684 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 1685 offsetof expressions that reference elements past the end of
1686 an array.
1687
9e10bfb7 16882015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1689 Chung-Lin Tang <cltang@codesourcery.com>
1690
1691 * c-pragma.c (oacc_pragmas): Add "atomic".
1692 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
1693
ab50af2a 16942015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1695
1696 * c-common.c (handle_target_clones_attribute): New.
1697 (c_common_attribute_table): Add handle_target_clones_attribute.
1698 (handle_always_inline_attribute): Add check on target_clones attribute.
1699 (handle_target_attribute): Ditto.
1700
4cba6f60 17012015-10-29 Andrew MacLeod <amacleod@redhat.com>
1702
1703 * array-notation-common.c: Reorder #include's and remove duplicates.
1704 * c-ada-spec.c: Likewise.
1705 * c-cilkplus.c: Likewise.
1706 * c-common.c: Likewise.
1707 * c-cppbuiltin.c: Likewise.
1708 * c-dump.c: Likewise.
1709 * c-format.c: Likewise.
1710 * c-gimplify.c: Likewise.
1711 * c-indentation.c: Likewise.
1712 * c-lex.c: Likewise.
1713 * c-omp.c: Likewise.
1714 * c-opts.c: Likewise.
1715 * c-pch.c: Likewise.
1716 * c-ppoutput.c: Likewise.
1717 * c-pragma.c: Likewise.
1718 * c-pretty-print.c: Likewise.
1719 * c-semantics.c: Likewise.
1720 * c-ubsan.c: Likewise.
1721 * cilk.c: Likewise.
1722 * stub-objc.c: Likewise.
1723
f576a2e4 17242015-10-28 Jason Merrill <jason@redhat.com>
1725
1726 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
1727
2c4c8725 17282015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1729 James Norris <jnorris@codesourcery.com>
1730 Cesar Philippidis <cesar@codesourcery.com>
1731
1732 PR c/64765
1733 PR c/64880
1734 * c-common.h (c_oacc_split_loop_clauses): Declare function.
1735 * c-omp.c (c_oacc_split_loop_clauses): New function.
1736
8204c077 17372015-10-21 Martin Sebor <msebor@redhat.com>
1738
1739 PR driver/68043
1740 * c.opt: End each sentence that describes an option with a period.
1741
8523243e 17422015-10-20 Marek Polacek <polacek@redhat.com>
1743
1744 * array-notation-common.c (is_cilkplus_vector_p): Define.
1745 * c-common.h (is_cilkplus_vector_p): Declare.
1746
08881cb8 17472015-10-20 Marek Polacek <polacek@redhat.com>
1748
1749 * c.opt (std=gnu++11): Do not describe as experimental.
1750 (std=gnu++14): Likewise.
1751
a36e5e5e 17522015-10-19 Jason Merrill <jason@redhat.com>
1753
1754 * c-cppbuiltin.c (c_cpp_builtins): Define
1755 __cpp_nontype_template_args.
1756
a349de0a 17572015-10-19 Jason Merrill <jason@redhat.com>
1758
1759 * c-cppbuiltin.c (c_cpp_builtins): Define
1760 __cpp_enumerator_attributes, __cpp_fold_expressions,
1761 __cpp_unicode_characters.
1762
43895be5 17632015-10-13 Jakub Jelinek <jakub@redhat.com>
1764 Aldy Hernandez <aldyh@redhat.com>
1765
1766 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
1767 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
1768 (c_define_builtins): Likewise.
1769 * c-common.h (enum c_omp_clause_split): Add
1770 C_OMP_CLAUSE_SPLIT_TASKLOOP.
1771 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
1772 (c_finish_omp_for): Add ORIG_DECLV argument.
1773 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
1774 201511 instead of 201307.
1775 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
1776 OMP_CRITICAL_CLAUSES to it.
1777 (c_finish_omp_ordered): Add CLAUSES argument, set
1778 OMP_ORDERED_CLAUSES to it.
1779 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
1780 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
1781 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
1782 constructs and new OpenMP 4.5 clauses. Clear
1783 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
1784 verification code.
1785 * c-pragma.c (omp_pragmas_simd): Add taskloop.
1786 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
1787 (enum pragma_omp_clause): Add
1788 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
1789 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
1790
20cb53c9 17912015-10-05 Richard Sandiford <richard.sandiford@arm.com>
1792
1793 * c-lex.c (interpret_float): Use real_equal instead of
1794 REAL_VALUES_EQUAL.
1795
6d02e6b2 17962015-10-04 Jason Merrill <jason@redhat.com>
1797
1798 Implement N4514, C++ Extensions for Transactional Memory.
1799 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
1800 (c_common_attribute_table): Add transaction_safe_dynamic.
1801 transaction_safe now affects type identity.
1802 (handle_tm_attribute): Handle transaction_safe_dynamic.
1803 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
1804 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
1805 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
1806 (D_TRANSMEM): New.
1807 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
1808 * c-pretty-print.c (pp_c_attributes_display): Don't print
1809 transaction_safe in C++.
1810
c0999a5d 18112015-10-02 Marek Polacek <polacek@redhat.com>
1812
1813 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
1814
ef17a71a 18152015-10-02 Marek Polacek <polacek@redhat.com>
1816
1817 PR c/64249
1818 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
1819 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
1820 * c.opt (Wduplicated-cond): New option.
1821
05b84e7b 18222015-10-01 Joseph Myers <joseph@codesourcery.com>
1823
1824 * c.opt (std=c11): Do not describe as experimental.
1825 (std=gnu11): Likewise.
1826 (std=iso9899:2011): Likewise.
1827
e561d5e1 18282015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1829
1830 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
1831 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1832
bd4b90d2 18332015-09-25 Marek Polacek <polacek@redhat.com>
1834
1835 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
1836 (ubsan_instrument_shift): Likewise.
1837
ac13b2b2 18382015-09-25 Marek Polacek <polacek@redhat.com>
1839
1840 PR sanitizer/64906
1841 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
1842
a3c82f4c 18432015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
1844
1845 * c-indentation.c (should_warn_for_misleading_indentation):
1846 Compare next_stmt_vis_column with guard_line_first_nws instead
1847 of with guard_line_vis_column.
1848
5eef101d 18492015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1850
1851 PR c/49654
1852 PR c/49655
1853 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
1854 options and options not valid for the current language.
1855
60897493 18562015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
1857
1858 * c-indentation.c (should_warn_for_misleading_indentation):
1859 Float out and consolidate the calls to get_visual_column that
1860 are passed guard_exploc as an argument. Compare
1861 next_stmt_vis_column with guard_line_first_nws instead of with
1862 body_line_first_nws.
1863
85c93154 18642015-09-22 Nathan Sidwell <nathan@codesourcery.com>
1865
1866 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
1867 Wnamespaces): New C++ warnings.
1868
229a58b1 18692015-09-22 Jason Merrill <jason@redhat.com>
1870
1871 * c-common.h (abi_compat_version_crosses): New.
1872 (warn_abi_version): Declare.
1873 * c-common.c: Define it.
1874 * c-opts.c (c_common_post_options): Handle it.
1875 flag_abi_compat_version defaults to 8.
1876
2d2de569 18772015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1878
1879 Complete the implementation of N4230, Nested namespace definition.
1880 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
1881 __cpp_nested_namespace_definitions.
1882
2b897e68 18832015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1884
1885 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
1886
ed536208 18872015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1888
1889 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
1890 when warning.
1891 * c-pragma.h (pragma_lex): Add optional loc argument.
1892
1dc6c44d 18932015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
1894
1895 * c-format.c (check_format_arg): Adjust to use common block size in all
1896 object pools.
1897
be812248 18982015-09-15 David Malcolm <dmalcolm@redhat.com>
1899
1900 * c-format.c (location_from_offset): Update for change in
1901 signature of location_get_source_line.
1902 * c-indentation.c (get_visual_column): Likewise.
1903 (line_contains_hash_if): Likewise.
1904
e4cc057f 19052015-09-14 Marek Polacek <polacek@redhat.com>
1906
1907 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
1908 setting various warnings.
1909
85f5e2ee 19102015-09-14 Marek Polacek <polacek@redhat.com>
1911
1912 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
1913 a negative value.
1914
1bca8cbd 19152015-09-11 Mark Wielaard <mjw@redhat.com>
1916
1917 PR c/28901
1918 * c.opt (Wunused-variable): Option from common.opt.
1919 (Wunused-const-variable): New option.
1920
ee48893a 19212015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1922
1923 PR c++/53184
1924 * c.opt ([Wsubobject-linkage]): Add.
1925
547c6b1f 19262015-09-03 Martin Sebor <msebor@redhat.com>
1927
1928 PR c/66516
1929 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
1930 functions.
1931 * c-common.c (reject_gcc_builtin): Define.
1932
7e976b10 19332015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
1934
1935 PR middle-end/60586
1936 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
1937 prototype.
1938 * c-gimplify.c (c_gimplify_expr): Added a call to the function
1939 cilk_gimplify_call_params_in_spawned_fn.
1940 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
1941 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
1942 unwrapping.
1943
9e6bcade 19442015-08-25 Marek Polacek <polacek@redhat.com>
1945
1946 PR middle-end/67330
1947 * c-common.c (handle_weak_attribute): Don't check whether the
1948 visibility can be changed here.
1949
af9de21d 19502015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1951
1952 * c-lex.c (c_lex_with_flags): Use explicit locations.
1953
6dc50383 19542015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1955
1956 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
1957 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
1958
10902624 19592015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1960
1961 PR middle-end/36757
1962 * c-common.c (check_builtin_function_arguments): Add check
1963 for BUILT_IN_SIGNBIT argument.
1964
a03a71ab 19652015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
1966
1967 PR c++/67160
1968 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
1969 in c++1z mode.
1970
22723c26 19712015-08-17 Marek Polacek <polacek@redhat.com>
1972
1973 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
1974 with whitespaces before qualifier names.
1975
f4809955 19762015-08-12 Marek Polacek <polacek@redhat.com>
1977
1978 PR c++/55095
1979 * c-common.c (maybe_warn_shift_overflow): Properly handle
1980 left-shifting 1 into the sign bit.
1981
5463f502 19822015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1983
1984 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
1985
56c12fd4 19862015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
1987 Braden Obrzut <admin@maniacsvault.net>
1988 Jason Merrill <jason@redhat.com>
1989
1990 Add C++ Concepts TS support.
1991 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
1992 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
1993 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
1994 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
1995 * c-opts.c (set_std_cxx1z): Set flag_concepts.
1996 * c.opt (fconcepts): New.
1997
32d050b5 19982015-08-02 Martin Sebor <msebor@redhat.com>
1999
2000 * c.opt (-Wframe-address): New warning option.
2001
17afcef6 20022015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2003
2004 * c-indentation.c (should_warn_for_misleading_indentation):
2005 Improve heuristics.
2006
f95bfdd4 20072015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2008
2009 * c-indentation.c (get_visual_column): Add parameter first_nws,
2010 use it. Update comment documenting the function.
2011 (is_first_nonwhitespace_on_line): Remove.
2012 (should_warn_for_misleading_indentation): Replace usage of
2013 of is_first_nonwhitespace_on_line with get_visual_column.
2014
9255be07 20152015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2016
2017 * c-indentation.h (struct token_indent_info): Define.
2018 (get_token_indent_info): Define.
2019 (warn_for_misleading_information): Declare.
2020 * c-common.h (warn_for_misleading_information): Remove.
2021 * c-identation.c (warn_for_misleading_indentation):
2022 Change declaration to take three token_indent_infos. Adjust
2023 accordingly.
2024 * c-identation.c (should_warn_for_misleading_indentation):
2025 Likewise. Bail out early if the body is a compound statement.
2026 (guard_tinfo_to_string): Define.
2027
e880695c 20282015-07-30 Jason Merrill <jason@redhat.com>
2029
2030 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2031 '*' for reference decay.
2032
f58dd84b 20332015-07-30 Marek Polacek <polacek@redhat.com>
2034
2035 * c-common.c (warn_tautological_cmp): Bail for float types.
2036
d9e4fe27 20372015-07-27 Marek Polacek <polacek@redhat.com>
2038
2039 PR bootstrap/67030
2040 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2041
6784a472 20422015-07-27 Marek Polacek <polacek@redhat.com>
2043
2044 PR c++/66555
2045 PR c/54979
2046 * c-common.c (find_array_ref_with_const_idx_r): New function.
2047 (warn_tautological_cmp): New function.
2048 * c-common.h (warn_tautological_cmp): Declare.
2049 * c.opt (Wtautological-compare): New option.
2050
08034975 20512015-07-23 Marek Polacek <polacek@redhat.com>
2052
2053 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2054 (ubsan_instrument_shift): Likewise.
2055
f6f5e49b 20562015-07-23 Marek Polacek <polacek@redhat.com>
2057
2058 PR sanitizer/66908
2059 * c-ubsan.c: Include gimplify.h.
2060 (ubsan_instrument_division): Unshare OP0 and OP1.
2061 (ubsan_instrument_shift): Likewise.
2062
8d669e79 20632015-07-20 Marek Polacek <polacek@redhat.com>
2064 Richard Sandiford <richard.sandiford@arm.com>
2065
2066 PR c++/55095
2067 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2068 Use EXPR_LOC_OR_LOC.
2069 (maybe_warn_shift_overflow): New function.
2070 * c-common.h (maybe_warn_shift_overflow): Declare.
2071 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2072 * c.opt (Wshift-overflow): New option.
2073
e16712b1 20742015-07-16 Martin Liska <mliska@suse.cz>
2075
2076 * c-format.c (static void check_format_info_main): Use
2077 object_allocator instead of pool_allocator.
2078 (check_format_arg): Likewise.
2079 (check_format_info_main): Likewise.
2080
e51764ad 20812015-07-15 Andrew MacLeod <amacleod@redhat.com>
2082
2083 * c-opts.c: Remove multiline #include comment.
2084
47ae02b7 20852015-07-12 Aldy Hernandez <aldyh@redhat.com>
2086
2087 * c-common.c: Fix double word typos.
2088
ed2b2eb2 20892015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2090
2091 * c-ada-spec.h (cpp_operation): Revert latest change.
2092 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2093 constructors and destructors.
2094
1eacc14a 20952015-07-09 Andrew MacLeod <amacleod@redhat.com>
2096
2097 * c-common.h: Adjust includes for flags.h changes.
2098 * stub-objc.c: Likewise.
47ae02b7 2099
0124237f 21002015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2101
2102 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2103 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2104
386ef929 21052015-07-08 Jakub Jelinek <jakub@redhat.com>
2106
2107 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2108 are to be removed, return NULL rather than original clauses list.
2109
9ef16211 21102015-07-07 Andrew MacLeod <amacleod@redhat.com>
2111
2112 * array-notation-common.c: Adjust includes.
2113 * c-ada-spec.c: Likewise.
2114 * c-cilkplus.c: Likewise.
2115 * c-common.h: Likewise.
2116 * c-cppbuiltin.c: Likewise.
2117 * c-dump.c: Likewise.
2118 * c-format.c: Likewise.
2119 * c-gimplify.c: Likewise.
2120 * c-indentation.c: Likewise.
2121 * c-lex.c: Likewise.
2122 * c-omp.c: Likewise.
2123 * c-opts.c: Likewise.
2124 * c-pch.c: Likewise.
2125 * c-ppoutput.c: Likewise.
2126 * c-pragma.c: Likewise.
2127 * c-pretty-print.c: Likewise.
2128 * c-semantics.c: Likewise.
2129 * c-ubsan.c: Likewise.
2130 * cilk.c: Likewise.
2131 * stub-objc.c: Likewise.
2132
67ede3e4 21332015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2134
2135 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2136 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2137
42af8c2a 21382015-07-01 Jason Merrill <jason@redhat.com>
2139
fa769cc5 2140 * c-common.h (D_CXX11): Rename from D_CXX0X.
2141 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2142 * c-common.c: Adjust.
2143
97e9c847 2144 * c-opts.c (c_common_post_options): Default to C++14.
2145
42af8c2a 2146 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2147
30b1ba42 21482015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2149
2150 Implement N4197 - Adding u8 character literals
32d050b5 2151 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 2152 CPP_CHAR.
32d050b5 2153 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 2154 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 2155 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 2156 and CPP_UTF8CHAR tokens.
2157 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 2158
0949f227 21592015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2160
2161 PR fortran/66605
2162 * c-common.c (do_warn_unused_parameter): Move here.
2163 * c-common.h (do_warn_unused_parameter): Declare.
2164
be23b16f 21652015-06-29 Marek Polacek <polacek@redhat.com>
2166
2167 PR c/66322
2168 * c-common.c (check_case_bounds): Add bool * parameter. Set
2169 OUTSIDE_RANGE_P.
2170 (c_add_case_label): Add bool * parameter. Pass it down to
2171 check_case_bounds.
2172 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2173 warning here.
2174 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2175 declarations.
2176
6290f0db 21772015-06-27 Marek Polacek <polacek@redhat.com>
2178
2179 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2180 or VECTOR_INTEGER_TYPE_P throughout.
2181 * c-gimplify.c: Likewise.
2182
aa3e402e 21832015-06-26 Marek Polacek <polacek@redhat.com>
2184
2185 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2186 * c-common.c (c_fully_fold_internal): Likewise.
2187 (c_alignof_expr): Likewise.
2188 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2189 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 2190 * cilk.c (create_parm_list): Likewise.
aa3e402e 2191
4e81b384 21922015-06-26 Marek Polacek <polacek@redhat.com>
2193
2194 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2195
ec2e0095 21962015-06-25 Andrew MacLeod <amacleod@redhat.com>
2197
2198 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2199 * c-gimplify.c: Likewise.
2200 * c-pragma.c: Likewise.
2201 * c-ubsan.c: Likewise.
2202 * cilk.c: Likewise.
2203
b594087e 22042015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2205
2206 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2207 ggc_hasher.
2208
a3c76fda 22092015-06-25 Andrew MacLeod <amacleod@redhat.com>
2210
2211 * cilk.c: Move calls.h after tm.h in the include chain.
2212
f48c7f4a 22132015-06-25 Marek Polacek <polacek@redhat.com>
2214
2215 * array-notation-common.c: Use VAR_P throughout.
2216 * c-ada-spec.c: Likewise.
2217 * c-common.c: Likewise.
2218 * c-format.c: Likewise.
2219 * c-gimplify.c: Likewise.
2220 * c-omp.c: Likewise.
2221 * c-pragma.c: Likewise.
2222 * c-pretty-print.c: Likewise.
2223 * cilk.c: Likewise.
2224
ce41e81a 22252015-06-25 Marek Polacek <polacek@redhat.com>
2226
2227 * cilk.c (extract_free_variables): Use is_global_var.
2228
de231ec2 22292015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2230
2231 * c-common.c: Don't include target-def.h.
2232
0200602e 22332015-06-23 Marek Polacek <polacek@redhat.com>
2234
2235 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2236 when comparing INTEGER_CSTs.
2237
99838ed7 22382015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2239
2240 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2241 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2242 (dump_ada_template): Skip partially specialized types.
2243
a4f59596 22442015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2245
2246 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2247 swapping.
2248
f2ab3bac 22492015-06-17 Andrew MacLeod <amacleod@redhat.com>
2250
2251 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2252 * c-ada-spec.c: Likewise.
2253 * c-cilkplus.c: Likewise.
2254 * c-common.c: Likewise.
2255 * c-common.h: Likewise.
2256 * c-cppbuiltin.c: Likewise.
2257 * c-dump.c: Likewise.
2258 * c-format.c: Likewise.
2259 * c-gimplify.c: Likewise.
2260 * c-indentation.c: Likewise.
2261 * c-lex.c: Likewise.
2262 * c-omp.c: Likewise.
2263 * c-opts.c: Likewise.
2264 * c-pch.c: Likewise.
2265 * c-ppoutput.c: Likewise.
2266 * c-pragma.c: Likewise.
2267 * c-pretty-print.c: Likewise.
2268 * c-semantics.c: Likewise.
2269 * c-ubsan.c: Likewise.
2270 * cilk.c: Likewise.
2271 * stub-objc.c: Likewise.
2272
db3d1ffc 22732015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2274
2275 PR c++/65168
2276 * c-common.c (c_common_truthvalue_conversion): Warn when
2277 converting an address of a reference to a truth value.
2278
64486212 22792015-06-08 Andrew MacLeod <amacleod@redhat.com>
2280
2281 * array-notation-common.c : Adjust include files.
2282 * c-ada-spec.c : Likewise.
2283 * c-cilkplus.c : Likewise.
2284 * c-common.c : Likewise.
2285 * c-common.h : Likewise.
2286 * c-cppbuiltin.c : Likewise.
2287 * c-dump.c : Likewise.
2288 * c-format.c : Likewise.
2289 * c-gimplify.c : Likewise.
2290 * c-indentation.c : Likewise.
2291 * c-lex.c : Likewise.
2292 * c-omp.c : Likewise.
2293 * c-opts.c : Likewise.
2294 * c-pch.c : Likewise.
2295 * c-ppoutput.c : Likewise.
2296 * c-pragma.c : Likewise.
2297 * c-pretty-print.c : Likewise.
2298 * c-semantics.c : Likewise.
2299 * c-ubsan.c : Likewise.
2300 * cilk.c : Likewise.
2301 * stub-objc.c : Likewise.
2302
6e84ccad 23032015-06-08 Marek Polacek <polacek@redhat.com>
2304
2305 PR c/66415
2306 * c-format.c (location_from_offset): Return LOC if LINE is null.
2307
3a1c9df2 23082015-06-05 Aldy Hernandez <aldyh@redhat.com>
2309
2310 * c-common.h (c_parse_final_cleanups): New prototype.
2311 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2312
32d050b5 23132015-06-04 Sriraman Tallam <tmsriram@google.com>
2314
2315 * c-common.c (noplt): New attribute.
2316 (handle_noplt_attribute): New handler.
2317
f77c0292 23182015-06-04 Andrew MacLeod <amacleod@redhat.com>
2319
2320 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2321 * c-ada-spec.c: Likewise.
2322 * c-cilkplus.c: Likewise.
2323 * c-common.c: Likewise.
2324 * c-common.h: Likewise.
2325 * c-cppbuiltin.c: Likewise.
2326 * c-dump.c: Likewise.
2327 * c-format.c: Likewise.
2328 * c-gimplify.c: Likewise.
2329 * c-indentation.c: Likewise.
2330 * c-lex.c: Likewise.
2331 * c-omp.c: Likewise.
2332 * c-opts.c: Likewise.
2333 * c-pch.c: Likewise.
2334 * c-ppoutput.c: Likewise.
2335 * c-pragma.c: Likewise.
2336 * c-pretty-print.c: Likewise.
2337 * c-semantics.c: Likewise.
2338 * c-ubsan.c: Likewise.
2339 * cilk.c: Likewise.
2340 * stub-objc.c: Likewise.
2341
7c62dfbb 23422015-06-02 David Malcolm <dmalcolm@redhat.com>
2343
2344 PR c/66220:
2345 * c-indentation.c (should_warn_for_misleading_indentation): Use
2346 expand_location rather than expand_location_to_spelling_point.
2347 Don't warn if the guarding statement is more indented than the
2348 next/body stmts.
2349
9af7c176 23502015-06-02 David Malcolm <dmalcolm@redhat.com>
2351
2352 * c-indentation.c (warn_for_misleading_indentation): Bail out
2353 immediately if -Wmisleading-indentation isn't enabled.
2354
eebcf436 23552015-06-01 Martin Liska <mliska@suse.cz>
2356
2357 * c-format.c (check_format_arg):Use new type-based pool allocator.
2358 (check_format_info_main) Likewise.
2359
b0a23e2f 23602015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2361
2362 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2363 (has_nontrivial_methods): Likewise.
2364
63dc1330 23652015-05-25 Marek Polacek <polacek@redhat.com>
2366
2367 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2368
5a4c69dd 23692015-05-22 Marek Polacek <polacek@redhat.com>
2370
2371 PR c/47043
2372 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2373
044580bb 23742015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 2375
2376 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2377 STACK_GROWS_DOWNWARD.
2378
044580bb 23792015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 2380
2381 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2382 STACK_GROWS_DOWNWARD rather than if it is defined.
2383
d5a2ddc7 23842015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 2385
d5a2ddc7 2386 PR c/52952
2387 * c-format.c (location_column_from_byte_offset): New.
2388 (location_from_offset): New.
2389 (struct format_wanted_type): Add offset_loc field.
2390 (check_format_info): Move handling of location for extra arguments
2391 closer to the point of warning.
2392 (check_format_info_main): Pass the result of location_from_offset
2393 to warning_at.
2394 (format_type_warning): Pass the result of location_from_offset
2395 to warning_at.
2396
72f8014e 23972015-05-20 Marek Polacek <polacek@redhat.com>
2398
2399 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2400
74efe522 24012015-05-20 Marek Polacek <polacek@redhat.com>
2402
2403 * c-ada-spec.c (dump_sloc): Use DECL_P.
2404
b443c459 24052015-05-20 Marek Polacek <polacek@redhat.com>
2406
2407 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2408 * c-common.c: Likewise.
2409
551e34da 24102015-05-19 David Malcolm <dmalcolm@redhat.com>
2411
2412 * c-common.h (fe_file_change): Strengthen param from
2413 const line_map * to const line_map_ordinary *.
2414 (pp_file_change): Likewise.
2415 * c-lex.c (fe_file_change): Likewise.
2416 (cb_define): Use linemap_check_ordinary when invoking
2417 SOURCE_LINE.
2418 (cb_undef): Likewise.
2419 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2420 invoking cb_file_change.
2421 (c_finish_options): Likewise.
2422 (push_command_line_include): Likewise.
2423 (cb_file_change): Strengthen param "new_map" from
2424 const line_map * to const line_map_ordinary *.
2425 * c-ppoutput.c (cb_define): Likewise for local "map".
2426 (pp_file_change): Likewise for param "map" and local "from".
2427
dfcf26a5 24282015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2429
2430 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2431
2e474820 24322015-05-18 Tom de Vries <tom@codesourcery.com>
2433
2434 * c-common.c (build_va_arg_1): New function.
2435 (build_va_arg): Add address operator to va_list operand if necessary.
2436
e53013a8 24372015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2438
2439 PR c/48956
2440 * c-common.c (int_safely_convertible_to_real_p): Define.
2441 (unsafe_conversion_p): Check conversions involving complex types.
2442 (conversion_warning): Add new warning message for conversions which
2443 discard imaginary component.
2444 * c-common.h: (enum conversion_safety): Add new enumerator for such
2445 conversions.
2446
aac24642 24472015-05-14 Marek Polacek <polacek@redhat.com>
2448
2449 PR c/66066
2450 PR c/66127
2451 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2452 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2453 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2454 use it. If FOR_INT_CONST, require that all evaluated operands be
2455 INTEGER_CSTs.
2456
e5f01cba 24572015-05-12 David Malcolm <dmalcolm@redhat.com>
2458
2459 * c-common.h (warn_for_misleading_indentation): New prototype.
2460 * c-indentation.c: New file.
2461 * c.opt (Wmisleading-indentation): New option.
2462
c37be9ec 24632015-05-12 Tom de Vries <tom@codesourcery.com>
2464
2465 PR tree-optimization/66010
2466 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2467
7290114b 24682015-05-09 Jason Merrill <jason@redhat.com>
2469
3c665566 2470 * c-opts.c (c_common_post_options): Also clear
2471 cpp_opts->cpp_warn_cxx11_compat.
2472
d875b9d2 2473 * c-common.h (enum cxx_dialect): Add cxx_unset.
2474 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2475 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2476
7290114b 2477 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2478 (std=gnu++0x): Mark as Undocumented.
2479 (std=gnu++1y): Add deprecated message.
2480
1b03cc89 24812015-05-08 Jason Merrill <jason@redhat.com>
2482
1c5f7aba 2483 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2484 * c-opts.c: Adjust.
2485
1b03cc89 2486 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2487
dc5945dc 24882015-05-08 Marek Polacek <polacek@redhat.com>
2489
2490 PR c/64918
2491 * c.opt (Woverride-init-side-effects): New option.
2492
cdc64059 24932015-05-07 Marek Polacek <polacek@redhat.com>
2494
2495 PR c/65179
2496 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2497 negative value.
2498 * c.opt (Wshift-negative-value): New option.
2499 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2500 when -Wextra and C99/C++11 mode.
2501
8cafe283 25022015-05-07 Marek Polacek <polacek@redhat.com>
2503 Martin Uecker <uecker@eecs.berkeley.edu>
2504
2505 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2506 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2507
cb40a6f7 25082015-05-05 Jason Merrill <jason@redhat.com>
2509
2510 * c.opt (Wterminate): New.
2511
14744a16 25122015-04-30 Marek Polacek <polacek@redhat.com>
2513
2514 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2515 require that the non-constant be of a boolean type.
2516
9866562d 25172015-04-29 Josh Triplett <josh@joshtriplett.org>
2518
8cafe283 2519 * c-common.c (handle_section_attribute): Refactor to reduce
2520 nesting and distinguish between error cases.
9866562d 2521
a720ab1c 25222015-04-29 Marek Polacek <polacek@redhat.com>
2523
2524 PR c/64610
2525 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2526 with 0/1.
2527
8c072e52 25282015-04-29 Jakub Jelinek <jakub@redhat.com>
2529
2530 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2531 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2532 HOST_BITS_PER_WIDE_INT.
2533
f7fec1c7 25342015-04-28 Tom de Vries <tom@codesourcery.com>
2535
2536 PR tree-optimization/65887
2537 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2538
483b3d26 25392015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 2540 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 2541
2542 * c-ada-spec.c (in_function): Delete.
2543 (dump_generic_ada_node): Do not change in_function and remove the
2544 redundant code dealing with it.
2545 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2546 (print_ada_methods): Output the static member functions in a nested
2547 package after the regular methods as well as associated renamings.
2548
f11bdffb 25492015-04-24 Marek Polacek <polacek@redhat.com>
2550
2551 PR c/65830
2552 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2553 and OPT_Wshift_count_overflow.
2554
485f6b9c 2555 PR c/63357
2556 * c-common.c (warn_logical_operator): Warn if the operands have the
2557 same expressions.
2558
439606a9 25592015-04-24 Marek Polacek <polacek@redhat.com>
2560
2561 PR c/61534
2562 * c-common.c (warn_logical_operator): Bail if either operand comes
2563 from a macro expansion.
2564
de801c28 25652015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2566
2567 PR target/55143
2568 * c-common.c (c_default_pointer_mode): Add definition.
2569 * c-common.h (c_default_pointer_mode): Add declaration.
2570
76738f56 25712015-03-11 Jakub Jelinek <jakub@redhat.com>
2572
2573 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2574 on record_builtin_type argument.
2575
16f958b3 25762015-03-10 Jakub Jelinek <jakub@redhat.com>
2577
2578 PR c/65120
2579 * c-common.c (warn_logical_not_parentheses): Don't warn for
2580 !x == 0 or !x != 0.
2581
9b22f73f 25822015-03-07 Marek Polacek <polacek@redhat.com>
2583
2584 PR sanitizer/65280
2585 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2586 before trying to figure out whether we have a flexible array member.
2587
a864b7d4 25882015-03-06 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 2589 Jonathan Wakely <jwakely.gcc@gmail.com>
a864b7d4 2590
2591 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2592
9bf8c90b 25932015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2594
2595 PR ada/65319
2596 * c-ada-spec.c (print_destructor): Remove obsolete code.
2597
037ac54f 25982015-03-01 Eric Botcazou <ebotcazou@adacore.com>
2599
2600 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
2601 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
2602 DECL_TEMPLATE_RESULT emulations.
2603 (dump_ada_template)): Add guard for TYPE_METHODS.
2604
495cbfb8 26052015-02-27 Marek Polacek <polacek@redhat.com>
2606
2607 PR c/65040
2608 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
2609
688a864e 26102015-02-27 Kai Tietz <ktietz@redhat.com>
2611
2612 PR c/35330
2613 * c-pragma.c (handle_pragma_weak): Do not try to create
2614 weak/alias of declarations not being function, or variable
2615 declarations.
2616
6349b8cc 26172015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2618
2619 PR libgomp/64625
2620 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2621 Remove macros.
2622 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2623
3afd5369 26242015-02-16 Marek Polacek <polacek@redhat.com>
2625
2626 PR c/65066
2627 * c-format.c (check_format_types): Handle null param.
2628
46173d1b 26292015-02-13 Marek Polacek <polacek@redhat.com>
2630
2631 PR c/65040
2632 * c-format.c (check_format_types): Don't warn about different
2633 signedness if the original value is in the range of WANTED_TYPE.
2634
1d524ff7 26352015-02-12 Jason Merrill <jason@redhat.com>
2636
2637 PR c++/64956
2638 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
2639 to the current highest version.
2640 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
2641
bbf8fbec 26422015-02-04 Jakub Jelinek <jakub@redhat.com>
2643
2644 PR c/64824
2645 PR c/64868
2646 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
2647 instead of RDIV_EXPR. Use build_binary_op instead of
2648 build2_loc.
2649
c05be867 26502015-01-30 Joseph Myers <joseph@codesourcery.com>
2651
2652 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
2653 to pass input_location as first argument.
2654
85977647 26552015-01-23 Tom de Vries <tom@codesourcery.com>
2656
2657 PR libgomp/64672
2658 * c.opt (fopenacc): Mark as LTO option.
2659
fa175926 26602015-01-23 Tom de Vries <tom@codesourcery.com>
2661
2662 PR libgomp/64707
2663 * c.opt (fopenmp): Mark as LTO option.
2664
20aad5ba 26652015-01-21 Jakub Jelinek <jakub@redhat.com>
2666
2667 PR c/63307
8204c077 2668 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 2669 (compare_decls): Fix up formatting.
2670
26712015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
2672
2673 PR c/63307
2674 * cilk.c: Include vec.h.
2675 (struct cilk_decls): New structure.
2676 (wrapper_parm_cb): Split this function to...
2677 (fill_decls_vec): ...this...
2678 (create_parm_list): ...and this.
2679 (compare_decls): New function.
2680 (for_local_cb): Remove.
2681 (wrapper_local_cb): Ditto.
2682 (build_wrapper_type): For now first traverse and fill vector of
2683 declarations then sort it and then deal with sorted vector.
2684 (cilk_outline): Ditto.
2685 (declare_one_free_variable): Ditto.
2686
60b77e28 26872015-01-21 Jason Merrill <jason@redhat.com>
2688
2689 PR c++/64629
2690 * c-format.c (check_format_arg): Call decl_constant_value.
2691
85fbea97 26922015-01-19 Martin Liska <mliska@suse.cz>
2693
2694 * c-common.c (handle_noicf_attribute): New function.
2695
ca4c3545 26962015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2697 Bernd Schmidt <bernds@codesourcery.com>
2698 James Norris <jnorris@codesourcery.com>
2699 Cesar Philippidis <cesar@codesourcery.com>
2700 Ilmir Usmanov <i.usmanov@samsung.com>
2701 Jakub Jelinek <jakub@redhat.com>
2702
2703 * c.opt (fopenacc): New option.
2704 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
2705 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2706 New macros.
2707 * c-common.h (c_finish_oacc_wait): New prototype.
2708 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
2709 (c_finish_oacc_wait): New function.
2710 * c-pragma.c (oacc_pragmas): New variable.
2711 (c_pp_lookup_pragma, init_pragma): Handle it.
2712 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
2713 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
2714 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
2715 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
2716 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
2717 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
2718 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
2719 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
2720 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
2721 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
2722 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
2723 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
2724 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
2725 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
2726 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
2727 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
2728 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
2729 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
2730 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
2731 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
2732 PRAGMA_OACC_CLAUSE_WORKER.
2733
92a44a68 27342015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 2735
2736 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
2737 for the new option fstack-protector_explicit.
2738 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
2739 (handle_stack_protect_attribute): New function.
2740
92a44a68 27412015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 2742
2743 * c.opt: New option -Warray-bounds=.
2744
1f78217c 27452015-01-09 Michael Collison <michael.collison@linaro.org>
2746
2747 * array-notation-common.c: Include hash-set.h, machmode.h,
2748 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2749 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
2750 * c-ada-spec.c: Ditto.
2751 * c-cilkplus.c: Ditto.
2752 * c-common.c: Include input.h due to flattening of tree.h.
2753 Define macro GCC_C_COMMON_C.
2754 * c-common.h: Flatten tree.h header files into c-common.h.
2755 Remove include of tree-core.h.
2756 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2757 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2758 fold-const.h, wide-int.h, and inchash.h due to
2759 flattening of tree.h.
2760 * c-dump.c: Ditto.
2761 * c-format.c: Flatten tree.h header files into c-common.h.
2762 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2763 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2764 fold-const.h, wide-int.h, and inchash.h due to
2765 flattening of tree.h.
2766 * c-dump.c: Include hash-set.h, machmode.h,
2767 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2768 fold-const.h, wide-int.h, and inchash.h due to
2769 flattening of tree.h.
2770 * c-format.c: Include hash-set.h, machmode.h,
2771 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2772 fold-const.h, wide-int.h, inchash.h and real.h due to
2773 flattening of tree.h.
2774 * c-gimplify.c: Include hash-set.h, machmode.h,
2775 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2776 fold-const.h, wide-int.h, and inchash.h due to
2777 flattening of tree.h.
2778 * cilk.c: Ditto.
2779 * c-lex.c: Ditto.
2780 * c-omp.c: Ditto.
2781 * c-opts.c: Ditto.
2782 * c-pch.c: Ditto.
2783 * c-ppoutput.c: Ditto.
2784 * c-pragma.c: Ditto.
2785 * c-pretty-print.c: Ditto.
2786 * c-semantics.c: Ditto.
2787 * c-ubsan.c: Ditto.
2788 * stub-objc.c: Ditto.
2789
411b7663 27902015-01-08 Jason Merrill <jason@redhat.com>
2791
2792 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
2793 do_ubsan_in_current_function.
2794 (ubsan_maybe_instrument_reference_or_call): Likewise.
2795 * c-ubsan.h: Declare it.
2796
d1e96383 27972015-01-08 Mike Stump <mikestump@comcast.net>
2798
2799 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
2800
b57910fa 28012015-01-07 Marek Polacek <polacek@redhat.com>
2802
2803 PR c/64440
2804 * c-common.c (c_fully_fold_internal): Warn for division and modulo
2805 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
2806
678a4e3e 28072015-01-05 Trevor Saunders <tsaunders@mozilla.com>
2808
2809 PR c++/31397
2810 * c.opt (Wsuggest-override): New option.
2811
d353bf18 28122015-01-05 Jakub Jelinek <jakub@redhat.com>
2813
2814 Update copyright years.
2815
92b63884 28162015-01-05 Marek Polacek <polacek@redhat.com>
2817
2818 PR c/64423
2819 * c-common.c (warn_array_subscript_with_type_char): Add location_t
2820 parameter. Use it.
2821 * c-common.h (warn_array_subscript_with_type_char): Update
2822 declaration.
2823
83715bc4 28242014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
2825
2826 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
2827 Control macro with flag_sized_deallocation.
2828
92a44a68 28292014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 2830
2831 * c.opt (Wdiscarded-array-qualifiers): New option.
2832
33058239 28332014-12-19 Jakub Jelinek <jakub@redhat.com>
2834
2835 PR preprocessor/63831
2836 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
2837 and __has_cpp_attribute here.
2838 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
2839 c_common_has_attribute.
2840 * c-common.h (c_common_has_attribute): New prototype.
2841 * c-lex.c (init_c_lex): Set cb->has_attribute to
2842 c_common_has_attribute instead of cb_has_attribute.
2843 (get_token_no_padding): New function.
2844 (cb_has_attribute): Renamed to ...
2845 (c_common_has_attribute): ... this. No longer static. Use
2846 get_token_no_padding, require ()s, don't build TREE_LIST
2847 unnecessarily, fix up formatting, adjust diagnostics, call
2848 init_attributes.
2849
d1856d2c 28502014-12-15 Jason Merrill <jason@redhat.com>
2851
2852 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
2853 (-Wsized-deallocation): New.
2854 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
2855 to on in C++14 and up.
2856
4972ed5d 28572014-12-11 Jason Merrill <jason@redhat.com>
2858
7d7fa964 2859 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
2860
4972ed5d 2861 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
2862 we aren't complaining about VLAs.
2863
5ebccf71 28642014-12-06 Marek Polacek <polacek@redhat.com>
2865
2866 PR tree-optimization/64183
2867 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
2868 shift-expression if it is integer_type_node. Use types_compatible_p.
2869
f9e245b2 28702014-11-29 Jakub Jelinek <jakub@redhat.com>
2871
2872 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
2873 last argument from create_tmp_var_raw and create_tmp_var calls.
2874 * cilk.c (gimplify_cilk_spawn): Likewise.
2875 * c-omp.c (c_finish_omp_atomic): Likewise.
2876
d2f60593 28772014-11-28 Marek Polacek <polacek@redhat.com>
2878
2879 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
2880 instead of unsigned_type_node.
2881
fce2dbd1 28822014-11-28 Marek Polacek <polacek@redhat.com>
2883
2884 PR c/63862
2885 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
2886 to op1_utype.
2887 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
2888 expression to unsigned_type_node.
2889
3a4a2292 28902014-11-20 Mark Wielaard <mjw@redhat.com>
2891
2892 PR debug/38757
2893 * c-opts.c (set_std_c89): Set lang_hooks.name.
2894 (set_std_c99): Likewise.
2895 (set_std_c11): Likewise.
2896 (set_std_cxx98): Likewise.
2897 (set_std_cxx11): Likewise.
2898 (set_std_cxx14): Likewise.
2899 (set_std_cxx1z): Likewise.
2900
c61ef207 29012014-11-21 Jakub Jelinek <jakub@redhat.com>
2902
2903 PR target/63764
2904 * c-common.h (convert_vector_to_pointer_for_subscript): Change
2905 return type to bool.
c9ed79de 2906 * c-common.c: Include gimple-expr.h.
c61ef207 2907 (convert_vector_to_pointer_for_subscript): Change return type to
2908 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
2909 and copy it into a TARGET_EXPR and use that instead of *vecp
2910 directly.
2911
1a91d914 29122014-11-19 David Malcolm <dmalcolm@redhat.com>
2913
2914 Merger of git branch "gimple-classes-v2-option-3".
2915 * ChangeLog.gimple-classes: New.
2916 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
2917 from being just a vec<gimple> to a vec<gbind *>.
2918
f8fc8b8e 29192014-11-18 Jakub Jelinek <jakub@redhat.com>
2920
2921 PR sanitizer/63813
2922 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
2923 argument to ptype, set type to TREE_TYPE (ptype). Don't call
2924 get_pointer_alignment for non-pointers. Use ptype, or if it is
2925 reference type, corresponding pointer type, as type of kind
2926 argument.
2927 (ubsan_maybe_instrument_reference,
2928 ubsan_maybe_instrument_member_call): Adjust callers.
2929
8315e35e 29302014-11-15 Marek Polacek <polacek@redhat.com>
2931
2932 PR middle-end/63884
2933 * array-notation-common.c (is_sec_implicit_index_fn): Return false
2934 for NULL fndecl.
2935 (extract_array_notation_exprs): Return for NULL node.
2936
86b9f14b 29372014-11-12 Joseph Myers <joseph@codesourcery.com>
2938
2939 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
2940 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
2941
0c93c8a9 29422014-11-12 Jakub Jelinek <jakub@redhat.com>
2943
2944 PR c/59708
2945 * c-common.c (check_builtin_function_arguments): Handle
2946 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
2947
fdd735a7 29482014-11-10 Andi Kleen <ak@linux.intel.com>
2949
2950 PR c/60804
2951 * c-common.h (check_no_cilk): Declare.
2952 * cilk.c (get_error_location): New function.
2953 (check_no_cilk): Dito.
2954
5cb678b4 29552014-11-10 Andi Kleen <ak@linux.intel.com>
2956
2957 * cilk.c (recognize_spawn): Use expression location
2958 for error message.
2959
0feb4de1 29602014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
2961
2962 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
2963
3aa2fa44 29642014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
2965
2966 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
2967 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
2968 (__cpp_range_based_for, __cpp_initializer_lists,
2969 __cpp_delegating_constructors, __cpp_nsdmi,
2970 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
2971 for C++11; (__cpp_attribute_deprecated): Remove in favor of
2972 __has_cpp_attribute.
2973 * c-lex.c (cb_has_attribute): New callback CPP function;
2974 (init_c_lex): Set has_attribute callback.
2975
7fd22aae 29762014-11-04 Richard Biener <rguenther@suse.de>
2977
2978 * c-common.c (shorten_compare): Do not shorten mixed
2979 DFP and non-DFP compares.
2980
4af203ac 29812014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2982
2983 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
2984 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
2985 Commentary and rearrangement of tests.
2986 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
2987 Commentary and rearrangement of tests.
2988 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
2989 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
2990
3754d046 29912014-10-29 Richard Sandiford <richard.sandiford@arm.com>
2992
2993 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
2994 enum from machine_mode.
2995
1140c305 29962014-10-28 Andrew MacLeod <amacleod@redhat.com>
2997
1f78217c 2998 * c-common.c: Adjust include files.
2999 * c-gimplify.c: Ditto.
3000 * cilk.c: Ditto.
3001 * c-pragma.c: Ditto.
3002 * c-ubsan.c: Ditto.
1140c305 3003
94ea8568 30042014-10-27 Andrew MacLeod <amacleod@redhat.com>
3005
3006 * c-gimplify.c: Adjust include files.
3007
32ecf960 30082014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3009
3010 PR c++/53061
3011 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3012 c_common_initialize_diagnostics.
3013 * c-common.h: Likewise.
3014
85fecbe2 30152014-10-24 Marek Polacek <polacek@redhat.com>
3016
3017 PR c/56980
3018 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3019 print "struct"/"union"/"enum" for typedefed names.
3020
e7ec033a 30212014-10-23 Marek Polacek <polacek@redhat.com>
3022
3023 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3024 in unsigned type.
3025
c2598081 30262014-10-22 Jakub Jelinek <jakub@redhat.com>
3027 Yury Gribov <y.gribov@samsung.com>
3028
3029 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3030 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3031 instead of flag_sanitize_recover as bool flag.
3032
acebb7e2 30332014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3034
3035 * cilk.c: Revert previous change.
3036
6115016c 30372014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3038
3039 PR c/63307
3040 * cilk.c: Include vec.h.
3041 (struct cilk_decls): New structure.
3042 (wrapper_parm_cb): Split this function to...
3043 (fill_decls_vec): ...this...
3044 (create_parm_list): ...and this.
3045 (compare_decls): New function.
3046 (for_local_cb): Remove.
3047 (wrapper_local_cb): Ditto.
3048 (build_wrapper_type): For now first traverse and fill vector of
3049 declarations then sort it and then deal with sorted vector.
3050 (cilk_outline): Ditto.
3051 (declare_one_free_variable): Ditto.
3052
e610d2b2 30532014-10-17 Marek Polacek <polacek@redhat.com>
3054
3055 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3056 * c.opt (Wimplicit-int): Initialize to -1.
3057
a3020f2f 30582014-10-16 Andrew MacLeod <amacleod@redhat.com>
3059
3060 * c-pragma.c: Adjust include files.
3061 * c-semantics.c: Likewise.
3062
926ddd2c 30632014-10-16 DJ Delorie <dj@redhat.com>
3064
3065 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3066 multiples of bytes.
3067
b0542e7c 30682014-10-14 Jason Merrill <jason@redhat.com>
3069
3070 PR c++/63455
3071 * c-common.h (CPP_PREPARSED_EXPR): New.
3072 (N_CP_TTYPES): Adjust.
3073
b2601928 30742014-10-15 Marek Polacek <polacek@redhat.com>
3075
3076 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3077
9f75f026 30782014-10-14 DJ Delorie <dj@redhat.com>
3079
3080 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3081 types, not just __int128.
3082 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3083 types, not just __int128.
3084 (cpp_atomic_builtins): Round pointer sizes up.
3085 (type_suffix): Use type precision, not specific types.
3086 * c-common.c (c_common_reswords): Remove __int128 special case.
3087 (c_common_type_for_size): Check for all __intN types, not just
3088 __int128.
3089 (c_common_type_for_mode): Likewise.
3090 (c_common_signed_or_unsigned_type): Likewise.
3091 (c_build_bitfield_integer_type): Likewise.
3092 (c_common_nodes_and_builtins): Likewise.
3093 (keyword_begins_type_specifier): Likewise.
3094 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3095 __intN variants.
3096
2ef51f0e 30972014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3098
3099 * c-common.c: Use hash_table instead of hashtab.
3100
5b8257e3 31012014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3102
1f78217c 3103 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 3104 C++11 section.
3105
5e84569c 31062014-10-03 Marc Glisse <marc.glisse@inria.fr>
3107
3108 PR c++/54427
3109 PR c++/57198
3110 PR c++/58845
3111 * c-common.c (warn_logical_operator): Punt for vectors.
3112
f6751ff2 31132014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3114
3115 Implement SD-6: SG10 Feature Test Recommendations
3116 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3117 macros and the __has_header macro.
3118
c33e051d 31192014-09-30 Jason Merrill <jason@redhat.com>
3120
f76a9aa8 3121 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3122 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3123 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3124
717e52f9 3125 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3126 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3127
c33e051d 3128 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3129 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3130
5213d6c9 31312014-09-24 Marek Polacek <polacek@redhat.com>
3132
3133 PR c/61405
3134 PR c/53874
3135 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3136
6b722052 31372014-09-23 Andi Kleen <ak@linux.intel.com>
3138
3139 * c-common.c (handle_no_reorder_attribute): New function.
3140 (c_common_attribute_table): Add no_reorder attribute.
3141
0cb69d12 31422014-09-22 Joseph Myers <joseph@codesourcery.com>
3143
3144 * c-cppbuiltin.c (c_cpp_builtins): Define
3145 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3146 modes.
3147
168dfbf0 31482014-09-18 Joseph Myers <joseph@codesourcery.com>
3149
3150 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3151 for supported floating-point modes.
3152
b83705f4 31532014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3154
3155 * c.opt (Wpsabi): Use LangEnabledBy.
3156 * c-opts.c (c_common_handle_option): Do not handle here.
3157
d5957f0d 31582014-09-12 Joseph Myers <joseph@codesourcery.com>
3159
3160 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3161 macros for floating-point modes.
3162
bae6edff 31632014-09-11 Marc Glisse <marc.glisse@inria.fr>
3164
3165 PR target/58757
3166 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3167 __*_DENORM_MIN__ without denormals.
3168
73a69d02 31692014-09-10 Jakub Jelinek <jakub@redhat.com>
3170
3171 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3172 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3173 ubsan_create_data callers.
3174 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3175 index is constant or BIT_AND_EXPR with constant mask and is
3176 small enough for the bound.
3177 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3178 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3179
7ff8db31 31802014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3181
3182 * c.opt: Add CppReason to various flags.
3183 (Wdate-time): Re-sort.
3184 * c-common.c: Include c-common.h earlier.
3185 (struct reason_option_codes_t): Delete.
3186 (c_option_controlling_cpp_error): Prefix global type and struct
3187 with cpp_.
3188
bcc1f37e 31892014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3190
3191 * c.opt (Wnormalized): New.
3192 (Wnormalized=): Use Enum and Reject Negative.
3193 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3194
b660d3c6 31952014-09-08 Joseph Myers <joseph@codesourcery.com>
3196
3197 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3198 digits of floating-point modes if -fbuilding-libgcc.
3199
325b8c3c 32002014-09-05 Joseph Myers <joseph@codesourcery.com>
3201
3202 * c-cppbuiltin.c (c_cpp_builtins): Also define
3203 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3204 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3205 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3206 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3207 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3208 __LIBGCC_STACK_GROWS_DOWNWARD__,
3209 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3210 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3211 __LIBGCC_DWARF_FRAME_REGISTERS__,
3212 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3213 __LIBGCC_STACK_POINTER_REGNUM__ and
3214 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3215 (builtin_define_with_value): Handle backslash-escaping in string
3216 macro values.
3217
1e074e77 32182014-09-05 Richard Biener <rguenther@suse.de>
3219
3220 PR middle-end/63148
3221 * c-format.c (check_format_arg): Properly handle
3222 effectively signed POINTER_PLUS_EXPR offset.
3223
04afd878 32242014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3225
3226 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3227 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3228 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3229 and Init.
3230 * c-opts.c (c_common_handle_option): Do not handle here.
3231 (sanitize_cpp_opts): Likewise.
3232 * c-common.c (struct reason_option_codes_t): Handle
3233 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3234
a3f448f0 32352014-09-03 Marek Polacek <polacek@redhat.com>
3236
3237 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3238
40750995 32392014-09-02 Jakub Jelinek <jakub@redhat.com>
3240 Balaji V. Iyer <balaji.v.iyer@intel.com>
3241 Igor Zamyatin <igor.zamyatin@intel.com>
3242
3243 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3244 * c-common.c (c_common_reswords): Added _Cilk_for.
3245 * c-common.h (enum rid): Added RID_CILK_FOR.
3246 (cilk_for_number_of_iterations): Add declaration.
3247 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3248 CILK_FOR.
3249 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3250 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3251
f0fbe519 32522014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3253
3254 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3255 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3256 Wundef): Use CPP, Var and Init.
3257 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3258
a7d2e480 32592014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3260
3261 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3262 * c-opts.c (c_common_handle_option): Do not handle here.
3263
c35e53f1 32642014-08-25 Jason Merrill <jason@redhat.com>
3265
3266 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3267 -std=c++14 and -std=gnu++14, rather than the reverse.
3268 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3269 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3270 * c-common.h (cxx_dialect): Remove cxx1y.
3271
4e454776 32722014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3273
3274 * c-common.h (enum cxx_dialect): Add cxx14.
3275 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3276 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3277 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3278
af1a80f2 32792014-08-22 Jason Merrill <jason@redhat.com>
3280
3281 * c.opt (std=gnu++17): Fix alias.
3282
dc6229e8 32832014-08-22 Marek Polacek <polacek@redhat.com>
3284
3285 PR c++/62199
3286 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
3287 check for vector types. Drop LHS argument.
3288 * c-common.h (warn_logical_not_parentheses): Adjust.
3289
ba7f7c88 32902014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3291
3292 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3293 (Wmultichar): Likewise.
3294 (Wdate-time): Use C-family languages instead of Common. Use CPP
3295 and Var.
3296 * c-opts.c (c_common_handle_option): Do not handle the above
3297 options here.
3298 (sanitize_cpp_opts): Likewise.
3299
399d4f80 33002014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
3301
3302 PR fortran/44054
3303 * c-opts.c: Include tree-diagnostics.h.
3304 (c_diagnostic_finalizer): New.
3305 (c_common_initialize_diagnostics): Use it.
3306
1babed5f 33072014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3308
3309 PR preprocessor/51303
3310 * c-common.c (struct reason_option_codes_t option_codes):
3311 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3312
3636964b 33132014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3314
3315 PR c/60975
3316 PR c/53063
3317 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3318 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3319 (c_common_post_options): Call init_global_opts_from_cpp.
3320 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3321
78bf4156 33222014-08-19 Marek Polacek <polacek@redhat.com>
3323
3324 PR c++/62153
3325 * c-common.c (maybe_warn_bool_compare): New function.
3326 * c-common.h (maybe_warn_bool_compare): Declare.
3327 * c.opt (Wbool-compare): New option.
3328
508ea33a 33292014-08-19 Marek Polacek <polacek@redhat.com>
3330
3331 * c.opt (Wc99-c11-compat): New option.
3332
806fe15e 33332014-08-19 Marek Polacek <polacek@redhat.com>
3334
3335 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3336 to warn_c90_c99_compat.
3337 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3338 to -1.
3339
6c867de1 33402014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3341 Steven Bosscher <steven@gcc.gnu.org>
3342
3343 PR c/52952
3344 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3345 format_check_results.
3346 (check_function_format): Use true and add comment for boolean
3347 argument.
3348 (finish_dollar_format_checking): Use explicit location when warning.
3349 (check_format_info): Likewise.
3350 (check_format_arg): Set extra_arg_loc and format_string_loc.
3351 (check_format_info_main): Use explicit location when warning.
3352 (check_format_types): Pass explicit location.
3353 (format_type_warning): Likewise.
3354
dc8078a3 33552014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3356
3357 PR fortran/44054
3358 * c-format.c: Handle Fortran flags.
3359
d271ec7e 33602014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3361
3362 PR other/61962
3363 * array-notation-common.c (find_rank): Added handling for other
3364 types of references.
3365
890c2e2f 33662014-08-10 Marek Polacek <polacek@redhat.com>
3367
3368 PR c/51849
3369 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3370 * c.opt (Wc90-c99-compat): Add option.
3371
7149db5f 33722014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3373
3374 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3375
2d2f6a15 33762014-08-03 Marek Polacek <polacek@redhat.com>
3377
3378 * c-common.c (check_case_value): Add location_t parameter. Use it.
3379 (c_add_case_label): Pass loc to check_case_value.
3380
06ecf488 33812014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3382
3383 * cilk.c: Use hash_map instead of pointer_map.
3384
431205b7 33852014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3386
3387 * c-gimplify.c: Use hash_set instead of pointer_set.
3388
3394c80c 33892014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3390
3391 PR middle-end/61455
3392 * array-notation-common.c (extract_array_notation_exprs): Handling
3393 of DECL_EXPR added.
3394
392dee1e 33952014-08-01 Jakub Jelinek <jakub@redhat.com>
3396
3397 * c-common.h (min_align_of_type): Removed prototype.
3398 * c-common.c (min_align_of_type): Removed.
3399 * c-ubsan.h (ubsan_maybe_instrument_reference,
3400 ubsan_maybe_instrument_member_call): New prototypes.
3401 * c-ubsan.c: Include stor-layout.h and builtins.h.
3402 (ubsan_maybe_instrument_reference_or_call,
3403 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3404 functions.
3405
f22a2cb7 34062014-07-31 Marc Glisse <marc.glisse@inria.fr>
3407
3408 PR c++/60517
3409 * c.opt (-Wreturn-local-addr): Move to common.opt.
3410
87b0198f 34112014-07-30 Jason Merrill <jason@redhat.com>
3412
3413 PR c++/61659
3414 PR c++/61687
3415 Revert:
3416 * c.opt (-fuse-all-virtuals): New.
3417
74691f46 34182014-07-30 Tom Tromey <tromey@redhat.com>
3419
3420 PR c/59855
3421 * c.opt (Wdesignated-init): New option.
3422 * c-common.c (c_common_attribute_table): Add "designated_init".
3423 (handle_designated_init): New function.
3424
9140d56f 34252014-07-24 Marek Polacek <polacek@redhat.com>
3426
3427 PR c/57653
3428 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3429
a09c5cc2 34302014-07-16 Dodji Seketeli <dodji@redhat.com>
3431
3432 PR preprocessor/60723 - missing system-ness marks for macro tokens
3433 * c-ppoutput.c (struct print::prev_was_system_token): New data
3434 member.
3435 (init_pp_output): Initialize it.
3436 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3437 (do_line_change): Return a flag saying if a line marker was
3438 emitted or not.
3439 (scan_translation_unit): Detect if the system-ness of the token we
3440 are about to emit is different from the one of the previously
3441 emitted token. If so, emit a line marker. Avoid emitting useless
3442 adjacent line markers. Avoid emitting line markers for tokens
3443 originating from the expansion of built-in macros.
3444 (scan_translation_unit_directives_only): Adjust.
3445
2b25b62f 34462014-07-15 Marek Polacek <polacek@redhat.com>
3447
3448 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3449 TYPE_MAX_VALUE is NULL.
3450
305d96bc 34512014-07-14 Jakub Jelinek <jakub@redhat.com>
3452
3453 PR middle-end/61294
3454 * c.opt (Wmemset-transposed-args): New warning.
3455
8ea4660d 34562014-07-10 Jason Merrill <jason@redhat.com>
3457
3458 PR c++/61659
3459 PR c++/61687
3460 * c.opt (-fuse-all-virtuals): New.
3461
cd480f3d 34622014-07-09 Richard Biener <rguenther@suse.de>
3463
3464 PR c-family/61741
3465 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3466 using unsigned arithmetic if overflow does not wrap instead of
3467 if overflow is undefined.
3468
87d59e72 34692014-07-06 Marek Polacek <polacek@redhat.com>
3470
3471 PR c/6940
3472 * c.opt (Wsizeof-array-argument): New option.
3473
d69521d8 34742014-07-03 Jakub Jelinek <jakub@redhat.com>
3475
8204c077 3476 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 3477 comments->count <= 1, as comments->entries might be NULL.
3478
1207866e 34792014-07-01 Marek Polacek <polacek@redhat.com>
3480
3481 * c.opt (Wint-conversion): New option.
3482
7a6bbb76 34832014-07-01 Marek Polacek <polacek@redhat.com>
3484
3485 PR c/58286
3486 * c.opt (Wincompatible-pointer-types): New option.
3487
9d4eeb52 34882014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3489
3490 PR c++/51400
3491 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3492 Do not discard TYPE_QUALS of type.
3493
4b53bc0f 34942014-06-26 Jason Merrill <jason@redhat.com>
3495
3496 * c-common.h (enum cxx_dialect): Add cxx1z.
3497 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3498 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3499
a8a8d4ea 35002014-06-26 Teresa Johnson <tejohnson@google.com>
3501
3502 * c-common.h (get_dump_info): Declare.
3503 * c-gimplify.c (c_genericize): Use saved dump files.
3504 * c-opts.c (c_common_parse_file): Begin and end dumps
3505 once around parsing invocation.
3506 (get_dump_info): New function.
3507
1f6be080 35082014-06-23 Marek Polacek <polacek@redhat.com>
3509 Andrew MacLeod <amacleod@redhat.com>
3510
3511 PR c/61553
3512 * c-common.c (get_atomic_generic_size): Don't segfault if the
3513 type doesn't have a size.
3514
5ef6b660 35152014-06-20 Marek Polacek <polacek@redhat.com>
3516
3517 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3518 (ubsan_walk_array_refs_r): New function.
3519 (c_genericize): Instrument array bounds.
3520 * c-ubsan.c: Include "internal-fn.h".
3521 (ubsan_instrument_division): Mark instrumented arrays as having
3522 side effects. Adjust ubsan_type_descriptor call.
3523 (ubsan_instrument_shift): Likewise.
3524 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3525 (ubsan_instrument_bounds): New function.
3526 (ubsan_array_ref_instrumented_p): New function.
3527 (ubsan_maybe_instrument_array_ref): New function.
3528 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3529 (ubsan_array_ref_instrumented_p): Declare.
3530 (ubsan_maybe_instrument_array_ref): Declare.
3531
35322014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 3533
3534 PR lto/61123
3535 * c.opt (fshort-enums): Add to LTO.
3536 * c.opt (fshort-wchar): Likewise.
3537
78438f31 35382014-06-16 Marek Polacek <polacek@redhat.com>
3539
3540 PR c/60439
3541 * c.opt (Wswitch-bool): Add Var.
3542
5fddcf34 35432014-06-12 Jakub Jelinek <jakub@redhat.com>
3544
3545 PR middle-end/61486
3546 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3547 #pragma omp target teams or
3548 #pragma omp {,target }teams distribute simd.
3549
74b777e5 35502014-06-12 Jason Merrill <jason@redhat.com>
3551
3552 * c.opt (Wabi=, fabi-compat-version): New.
3553 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3554 (c_common_post_options): Handle flag_abi_compat_version default.
3555 Disallow -fabi-compat-version=1.
3556 * c-common.h (abi_version_crosses): New.
3557
738a6bda 35582014-06-11 Jan Hubicka <hubicka@ucw.cz>
3559
1f78217c 3560 * c-common.c (handle_section_attribute): Update handling for
738a6bda 3561 section names that are no longer trees.
3562
cf5f881f 35632014-06-10 Jakub Jelinek <jakub@redhat.com>
3564
3565 PR fortran/60928
3566 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3567 (omp_pragmas): ... back here.
3568
32dc1512 35692014-06-05 Marek Polacek <polacek@redhat.com>
3570
3571 PR c/49706
3572 * c-common.c (warn_logical_not_parentheses): New function.
3573 * c-common.h (warn_logical_not_parentheses): Declare.
3574 * c.opt (Wlogical-not-parentheses): New option.
3575
f61a9bc2 35762014-06-04 Marek Polacek <polacek@redhat.com>
3577
3578 PR c/30020
3579 * c-common.c (check_case_bounds): Add location parameter.
3580 Use it.
3581 (c_add_case_label): Pass loc to check_case_bounds.
3582
c69ec07d 35832014-06-03 Marek Polacek <polacek@redhat.com>
3584
3585 PR c/60439
3586 * c.opt (Wswitch-bool): New option.
3587
3c77ca67 35882014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3589
68a2c870 3590 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3591 Remove prototypes.
3592 (record_types_used_by_current_var_decl): Move prototype to where
3593 it belongs.
3594
3c77ca67 3595 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3596 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3597 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3598
3ab4693e 35992014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3600
3601 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
3602 * c-common.c (c_common_nodes_and_builtins): Don't initialize
3603 void_zero_node.
3604 * c-pretty-print.c (pp_c_void_constant): New function.
3605 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
3606 (c_pretty_printer::expression): Handle VOID_CST.
3607 * cilk.c (extract_free_variables): Likewise.
3608 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
3609 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
3610
25a27413 36112014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3612
3613 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
3614 * c-pragma.c (push_alignment): Adjust.
3615 (handle_pragma_push_options): Likewise.
3616
3e5a8b00 36172014-05-09 Marek Polacek <polacek@redhat.com>
3618
3619 PR c/50459
3620 * c-common.c (check_user_alignment): Return -1 if alignment is error
3621 node.
3622 (handle_aligned_attribute): Don't call default_conversion on
3623 FUNCTION_DECLs.
3624 (handle_vector_size_attribute): Likewise.
3625 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
3626 (handle_sentinel_attribute): Call default_conversion and allow even
3627 integral types as an argument.
3628
c2c4ae8d 36292014-05-08 Marek Polacek <polacek@redhat.com>
3630
3631 PR c/61053
3632 * c-common.c (min_align_of_type): New function factored out from...
3633 (c_sizeof_or_alignof_type): ...here.
3634 * c-common.h (min_align_of_type): Declare.
3635
2026249a 36362014-05-08 Marek Polacek <polacek@redhat.com>
3637
3638 PR c/61077
3639 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
3640 parameter type of main.
3641
33c8dcfe 36422014-05-07 DJ Delorie <dj@redhat.com>
3643
3644 * c-cppbuiltin.c (print_bits_of_hex): New.
3645 (builtin_define_type_minmax): Print values using hex so as not to
3646 require a pre-computed list of string values.
3647
960d5a55 36482014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3649 Mike Stump <mikestump@comcast.net>
3650 Richard Sandiford <rdsandiford@googlemail.com>
3651
3652 * c-ada-spec.c: Include wide-int.h.
3653 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
3654 (dump_generic_ada_node): Use wide-int interfaces.
3655 * c-common.c: Include wide-int-print.h.
3656 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
3657 (pointer_int_sum): Use wide-int interfaces.
3658 (c_common_nodes_and_builtins): Use make_int_cst.
3659 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
3660 (handle_alloc_size_attribute): Use wide-int interfaces.
3661 (get_nonnull_operand): Likewise.
3662 * c-format.c (get_constant): Use tree_fits_uhwi_p.
3663 * c-lex.c: Include wide-int.h.
3664 (narrowest_unsigned_type): Take a widest_int rather than two
3665 HOST_WIDE_INTs.
3666 (narrowest_signed_type): Likewise.
3667 (interpret_integer): Update accordingly. Use wide-int interfaces.
3668 (lex_charconst): Use wide-int interfaces.
3669 * c-pretty-print.c: Include wide-int.h.
3670 (pp_c_integer_constant): Use wide-int interfaces.
3671 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
3672 INT_CST_LT_UNSIGNED.
3673
bbb88b31 36742014-05-06 Richard Biener <rguenther@suse.de>
3675
3676 * c-opts.c (c_common_post_options): For -freestanding,
3677 -fno-hosted and -fno-builtin disable pattern recognition
3678 if not enabled explicitely.
3679
022d4718 36802014-05-02 Marek Polacek <polacek@redhat.com>
3681
3682 * c.opt (Wsizeof-pointer-memaccess): Describe option.
3683
e4ab2ef3 36842014-05-01 Marek Polacek <polacek@redhat.com>
3685
3686 PR c/43245
3687 * c.opt (Wdiscarded-qualifiers): Add.
3688
52cc0072 36892014-04-30 Marek Polacek <polacek@redhat.com>
3690
3691 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
3692 INT_MIN / -1 sanitization only for integer types.
3693
4a026b48 36942014-04-25 Marek Polacek <polacek@redhat.com>
3695
3696 PR c/18079
3697 * c-common.c (handle_noinline_attribute): Warn if the attribute
3698 conflicts with always_inline attribute.
3699 (handle_always_inline_attribute): Warn if the attribute conflicts
3700 with noinline attribute.
3701
90e645fa 37022014-04-25 Marek Polacek <polacek@redhat.com>
3703
3704 PR c/60156
3705 * c-common.c (check_main_parameter_types): Warn about variadic main.
3706
db103ea4 37072014-04-24 Mike Stump <mikestump@comcast.net>
3708
3709 * c.opt (Wshadow-ivar): Default to on.
3710
06511efd 37112014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3712
3713 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
3714
cdf34fca 37152014-04-23 Marek Polacek <polacek@redhat.com>
3716
3717 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
3718
7311d7c1 37192014-04-22 Jakub Jelinek <jakub@redhat.com>
3720
3721 PR sanitizer/60275
3722 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
3723 if flag_sanitize_undefined_trap_on_error.
3724 (ubsan_instrument_division, ubsan_instrument_shift,
3725 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
3726 if !flag_sanitize_recover.
3727
c1917557 37282014-04-22 Marc Glisse <marc.glisse@inria.fr>
3729
3730 PR libstdc++/43622
3731 * c-common.c (registered_builtin_types): Make non-static.
3732 * c-common.h (registered_builtin_types): Declare.
3733
b2ca6510 37342014-04-14 Richard Biener <rguenther@suse.de>
3735 Marc Glisse <marc.glisse@inria.fr>
3736
3737 PR c/60819
3738 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
3739 apply may-alias the scalar pointer type when applicable.
3740
855372a3 37412014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
3742
3743 PR middle-end/60467
3744 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
3745 as possible argument for Cilk_spawn.
3746
4012a986 37472014-04-11 Tobias Burnus <burnus@net-b.de>
3748
3749 PR c/60194
3750 * c.opt (Wformat-signedness): Add
3751 * c-format.c(check_format_types): Use it.
3752
0d284870 37532014-04-11 Jason Merrill <jason@redhat.com>
3754
3755 PR c++/57926
3756 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
3757 default_conversion for an array argument.
3758
a34c1231 37592014-04-08 Marek Polacek <polacek@redhat.com>
3760
3761 PR sanitizer/60745
3762 * c-ubsan.c: Include asan.h.
3763 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
3764
a35a8e18 37652014-04-03 Nathan Sidwell <nathan@codesourcery.com>
3766
3767 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
3768
b23e42b6 37692014-04-02 Marek Polacek <polacek@redhat.com>
3770
3771 * c-common.h (c_expand_expr): Remove declaration.
3772
5a672e62 37732014-03-28 Jakub Jelinek <jakub@redhat.com>
3774
3775 PR c++/60689
3776 * c-common.c (add_atomic_size_parameter): When creating new
3777 params vector, push the size argument first.
3778
d4d068c0 37792014-03-26 Jakub Jelinek <jakub@redhat.com>
3780
3781 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3782 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3783 ubsan_create_data callers.
3784
446bdf5f 37852014-03-22 Jakub Jelinek <jakub@redhat.com>
3786
3787 PR debug/60603
3788 * c-opts.c (c_finish_options): Restore cb_file_change call to
3789 <built-in>.
3790
8895f0a3 37912014-03-13 Jakub Jelinek <jakub@redhat.com>
3792
3793 PR middle-end/36282
3794 * c-pragma.c (apply_pragma_weak): Only look at
3795 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
3796 DECL_ASSEMBLER_NAME_SET_P (decl).
3797 (maybe_apply_pending_pragma_weaks): Exit early if
3798 vec_safe_is_empty (pending_weaks) rather than only when
3799 !pending_weaks.
3800 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
3801 set assembler name back to NULL afterwards.
3802
7a5da2cd 38032014-03-11 Jason Merrill <jason@redhat.com>
3804
3805 * c.opt: Add -std=gnu++14.
3806
95093889 38072014-03-11 Ian Bolton <ian.bolton@arm.com>
3808
3809 * c-opts.c (c_common_post_options): Don't override
3810 -ffp-contract=fast if unsafe-math-optimizations is on.
3811
c9a24b37 38122014-03-08 Paulo Matos <paulo@matos-sorge.com>
3813
9b8f3aa1 3814 * c.opt: Enable LTO FE for fshort-double.
c9a24b37 3815
3f6dba6e 38162014-03-07 Jason Merrill <jason@redhat.com>
3817
3818 * c.opt: Add -std=c++14.
3819
3bfdc94f 38202014-03-06 Marek Polacek <polacek@redhat.com>
3821
3822 PR c/60197
3823 * cilk.c (contains_cilk_spawn_stmt): New function.
3824 (contains_cilk_spawn_stmt_walker): Likewise.
3825 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
3826 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
3827
8b3a6a4c 38282014-03-03 Jakub Jelinek <jakub@redhat.com>
3829
3830 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
3831 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
3832 even when flag_preprocess_only.
3833
734ec290 38342014-02-26 Jason Merrill <jason@redhat.com>
3835
3836 PR c++/59231
3837 PR c++/11586
3838 * c-common.c (shorten_compare): Don't check
3839 c_inhibit_evaluation_warnings.
3840
81aec8b8 38412014-02-19 Jakub Jelinek <jakub@redhat.com>
3842
d1081017 3843 PR c/37743
3844 * c-common.c (c_common_nodes_and_builtins): When initializing
3845 c_uint{16,32,64}_type_node, also set corresponding
3846 uint{16,32,64}_type_node to the same value.
3847
81aec8b8 3848 PR c++/60267
3849 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
3850 for PRAGMA_IVDEP if flag_preprocess_only.
3851
312243bb 38522014-02-12 Jakub Jelinek <jakub@redhat.com>
3853
3854 PR c/60101
3855 * c-common.c (merge_tlist): If copy is true, call new_tlist,
3856 if false, add ADD itself, rather than vice versa.
3857 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
3858 copy. For SAVE_EXPR, only call merge_tlist once.
3859
237e78b1 38602014-02-08 Jakub Jelinek <jakub@redhat.com>
3861
3862 PR middle-end/60092
3863 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
3864 and tree_to_uhwi.
3865 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
3866 functions.
3867 (c_common_attribute_table): Add alloc_align and assume_aligned
3868 attributes.
3869
76fdceeb 38702014-02-06 Marek Polacek <polacek@redhat.com>
3871
3872 PR c/60087
3873 * c-common.c (warn_for_sign_compare): Call warning_at with location
3874 instead of warning.
3875
4a4dea42 38762014-02-05 Marek Polacek <polacek@redhat.com>
3877
3878 PR c/53123
3879 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
3880 statement.
3881
ec704957 38822014-02-04 Marek Polacek <polacek@redhat.com>
3883
3884 PR c/60036
3885 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
3886 SAVE_EXPR.
3887
caf62483 38882014-02-03 Marc Glisse <marc.glisse@inria.fr>
3889
3890 PR c++/53017
3891 PR c++/59211
3892 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
3893 handle_vector_size_attribute, handle_nonnull_attribute): Call
3894 default_conversion on the attribute argument.
3895 (handle_nonnull_attribute): Increment the argument number.
3896
ec761d5a 38972014-01-31 Marek Polacek <polacek@redhat.com>
3898
3899 PR c/59963
3900 * c-common.c (add_atomic_size_parameter): Pass vNULL to
3901 build_function_call_vec.
3902 (resolve_overloaded_builtin): Likewise.
3903 * c-common.h (build_function_call_vec): Adjust declaration.
3904
22a75734 39052014-01-30 Marek Polacek <polacek@redhat.com>
3906
3907 PR c/59940
3908 * c-common.h (unsafe_conversion_p): Adjust declaration.
3909 (warnings_for_convert_and_check): Likewise.
3910 (convert_and_check): Likewise.
3911 * c-common.c (unsafe_conversion_p): Add location parameter. Call
3912 expansion_point_location_if_in_system_header on it.
3913 (warnings_for_convert_and_check): Add location parameter. Call
3914 expansion_point_location_if_in_system_header on it. Use it.
3915 (convert_and_check): Add location parameter. Use it.
3916 (conversion_warning): Likewise.
3917 (c_add_case_label): Adjust convert_and_check calls.
3918 (scalar_to_vector): Adjust unsafe_conversion_p calls.
3919
a89e6c15 39202014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
3921
3922 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
3923 flag_cilkplus.
3924 * c-pragma.c (init_pragma): Likewise.
3925 * c.opt: Likewise.
3926
2623625f 39272014-01-23 Marek Polacek <polacek@redhat.com>
3928
3929 PR c/59846
3930 * c-common.c (shorten_compare): Add location_t parameter.
3931 * c-common.h (shorten_binary_op): Adjust declaration.
3932
46da3601 39332014-01-23 Marek Polacek <polacek@redhat.com>
3934
3935 PR c/58346
3936 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
3937 * c-common.h: Declare it.
3938
c9743c6a 39392014-01-20 Eric Botcazou <ebotcazou@adacore.com>
3940
3941 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
3942 * c-ada-spec.c (dump_ads): Likewise.
3943 (cpp_check): Likewise.
3944 (dump_ada_specs): Likewise.
3945
39462014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 3947
3948 PR c++/49718
3949 * c-common.c (handle_no_instrument_function_attribute): Allow
3950 no_instrument_function attribute in class member
3951 definition/declaration.
3952
1248c663 39532014-01-15 Jakub Jelinek <jakub@redhat.com>
3954
3955 PR c/58943
3956 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
3957 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
3958 being COMPOUND_EXPR.
3959 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
3960 operand a SAVE_EXPR and second MODIFY_EXPR.
3961
6e5c480b 39622014-01-09 Jakub Jelinek <jakub@redhat.com>
3963
3964 PR target/58115
3965 * c-pch.c (c_common_write_pch): Call
3966 prepare_target_option_nodes_for_pch.
3967
3aea1f79 39682014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3969
3970 Update copyright years
3971
e4f22041 39722014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3973
3974 * array-notation-common.c, c-cilkplus.c: Use the standard form for
3975 the copyright notice.
3976
7fb0fe24 39772013-12-28 Eric Botcazou <ebotcazou@adacore.com>
3978
3979 * c-ada-spec.c (print_constructor): New function.
3980 (print_destructor): Retrieve the origin of the destructor.
3981 (print_ada_declaration): Revamp handling of constructors/destructors.
3982
92a44a68 39832013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 3984 Bill Maddox <maddox@google.com>
3985 Jason Merrill <jason@redhat.com>
3986
3987 * c.opt: Add -fdeclone-ctor-dtor.
3988 * c-opts.c (c_common_post_options): Default to on iff -Os.
3989
74acc703 39902013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
3991
3992 * c-common.c (c_common_attribute_table): Added "cilk simd function"
3993 attribute.
3994 * c-pragma.h (enum pragma_cilk_clause): Remove.
3995 (enum pragma_omp_clause): Added the following fields:
3996 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
3997 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
3998 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
3999 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4000 PRAGMA_CILK_CLAUSE_UNIFORM.
4001
8204c077 4002
433e804e 40032013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4004
4005 * cilk.c (cilk_outline): Made this function non-static.
4006 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4007 (create_cilk_wrapper): Added a new parameter: a function pointer.
4008 (c_install_body_w_frame_cleanup): Remove
4009 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4010 * c-common.h (cilk_outline): New prototype.
4011 (gimplify_cilk_spawn): Removed two parameters.
4012 (cilk_install_body_with_frame_cleanup): New prototype.
4013 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4014 CILK_SPAWN_STMT case.
4015
5bcc7e60 40162013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4017
e66325ea 4018 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4019
5bcc7e60 4020 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4021 (int_array_type_node): Remove.
4022 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4023
0b26ec77 40242013-12-05 Marek Polacek <polacek@redhat.com>
4025
4026 PR c/52023
4027 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4028 [ADJUST_FIELD_ALIGN].
4029
a179a7dc 40302013-12-04 Joseph Myers <joseph@codesourcery.com>
4031
4032 PR c/52023
4033 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4034 and check field alignment if set.
4035 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4036 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4037
8204c077 40382013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 4039 Marek Polacek <polacek@redhat.com>
4040
4041 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4042 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4043
648fd348 40442013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4045
4046 PR c/59309
4047 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4048 arguments.
4049
253e1cae 40502013-11-29 Jakub Jelinek <jakub@redhat.com>
4051
4052 PR c/59280
4053 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4054 goto invalid. If it is error_mark_node, don't issue further
4055 diagnostics.
4056
3e398f5b 40572013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4058
4059 * c.opt (Wopenmp-simd): New.
4060
020bc656 40612013-11-22 Jakub Jelinek <jakub@redhat.com>
4062
4063 * c-ubsan.h (ubsan_instrument_return): New prototype.
4064 * c-ubsan.c (ubsan_instrument_return): New function.
4065
bc61cadb 40662013-11-22 Andrew MacLeod <amacleod@redhat.com>
4067
4068 * c-common.c: Add required include files from gimple.h.
4069 * c-gimplify.c: Likewise
4070 * cilk.c: Likewise
4071
3df42822 40722013-11-22 David Malcolm <dmalcolm@redhat.com>
4073
4074 * c-common.c (unsafe_conversion_p): Remove use of
4075 EXPR_LOC_OR_HERE macro.
4076 (conversion_warning): Likewise.
4077 (warnings_for_convert_and_check): Likewise.
4078 (warn_for_collisions_1): Likewise.
4079 (shorten_compare): Likewise, and remove use of in_system_header
4080 macro, using the location from the former.
4081 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4082 (cb_def_pragma): Remove use of in_system_header macro.
4083 (lex_string): Likewise.
4084 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4085
8c53c46c 40862013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4087 Mike Stump <mikestump@comcast.net>
4088 Richard Sandiford <rdsandiford@googlemail.com>
4089
4090 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4091 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4092 tree_fits_shwi_p or tree_fits_uhwi_p.
4093 (dump_generic_ada_node): Likewise.
4094 * c-format.c (check_format_arg): Likewise.
4095 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4096
5200ef07 40972013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4098
4099 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4100
ca9d7d74 41012013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4102
4103 PR c/53001
4104 * c-common.c (unsafe_conversion_p): Make this function
4105 return an enumeration with more detail.
4106 (conversion_warning): Use the new return type of
4107 unsafe_conversion_p to separately warn either about conversions
4108 that lower floating point number precision or about the other
4109 kinds of conversions.
4110 * c-common.h (enum conversion_safety): New enumeration.
a49621cf 4111 (unsafe_conversion_p): switching return type to
4112 conversion_safety enumeration.
ca9d7d74 4113 * c.opt: Adding new warning -Wfloat-conversion and
4114 enabling it with -Wconversion.
4115
0391a567 41162013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4117
a49621cf 4118 * c-opts.c: Include plugin.h.
4119 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
0391a567 4120
19b928d9 41212013-11-19 Marek Polacek <polacek@redhat.com>
4122
4123 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4124 call.
4125 (ubsan_instrument_shift): Likewise.
4126 (ubsan_instrument_vla): Likewise.
4127
aa59f000 41282013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4129
4130 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4131 cast to unsigned type.
4132
08f817b3 41332013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4134
4135 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4136 tree_low_cst.
4137 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4138 rather than tree_low_cst.
4139
6a0712d4 41402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4141
4142 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4143 tree_to_uhwi throughout.
4144
fcb97e84 41452013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4146
4147 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4148 tree_low_cst (..., 0) with tree_to_shwi throughout.
4149
cd4547bf 41502013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4151
4152 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4153 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4154
35ec552a 41552013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4156
4157 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4158 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4159
f2697631 41602013-11-15 Aldy Hernandez <aldyh@redhat.com>
4161
4162 * c-cilkplus.c: New file.
4163 * c-common.c (readonly_error): Add location argument.
4164 * c-common.h (readonly_error): Same.
4165 (c_finish_cilk_clauses): Protoize.
4166 (c_check_cilk_loop): Same.
4167 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4168 Do not fail on error_mark_node.
4169 Abstract increment canonicalization to here...
4170 (c_omp_for_incr_canonicalize_ptr): New.
4171 c-pragma.c (init_pragma): Register "simd" pragma.
4172 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4173 (enum pragma_cilk_clause): New.
4174
0aa8c34e 41752013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4176
4177 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4178 wchar_type and host_integerp checks.
4179
e795d6e1 41802013-11-14 Andrew MacLeod <amacleod@redhat.com>
4181
4182 * c-common.c: Likewise.
4183 * c-gimplify.c: Likewise.
4184 * cilk.c: Likewise.
4185
9ed99284 41862013-11-14 Diego Novillo <dnovillo@google.com>
4187
4188 * c-common.c: Include fold-const.h.
4189 Include stor-layout.h.
4190 Include calls.h.
4191 Include stringpool.h.
4192 Include attribs.h.
4193 Include varasm.h.
4194 Include trans-mem.h.
4195 * c-cppbuiltin.c: Include stor-layout.h.
4196 Include stringpool.h.
4197 * c-format.c: Include stringpool.h.
4198 * c-lex.c: Include stringpool.h.
4199 Include stor-layout.h.
4200 * c-pragma.c: Include stringpool.h.
4201 Include attribs.h.
4202 Include varasm.h.
4203 Include gcc-symtab.h.
4204 * c-pretty-print.c: Include stor-layout.h.
4205 Include attribs.h.
4206 * cilk.c: Include stringpool.h.
4207 Include calls.h.
4208
4fba5eb9 42092013-11-13 Joseph Myers <joseph@codesourcery.com>
4210
4211 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4212 * c-common.c (c_common_reswords): Add __auto_type.
4213 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4214
a8783bee 42152013-11-12 Andrew MacLeod <amacleod@redhat.com>
4216
e795d6e1 4217 * c-common.c: Include gimplify.h.
4218 * c-gimplify.c: Likewise.
4219 * cilk.c: Likewise.
4220 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4221 * c-ubsan.c: Don't include gimple.h.
a8783bee 4222
d184e0c0 42232013-11-12 Joseph Myers <joseph@codesourcery.com>
4224
4225 * c-common.c (c_common_reswords): Add _Thread_local.
4226
a056826c 42272013-11-09 Joseph Myers <joseph@codesourcery.com>
4228
4229 * c-common.c (atomic_size_supported_p): New function.
4230 (resolve_overloaded_atomic_exchange)
4231 (resolve_overloaded_atomic_compare_exchange)
4232 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4233 Use it instead of comparing size with a local list of sizes.
4234
b560fabd 42352013-11-07 Andrew MacLeod <amacleod@redhat.com>
4236 Joseph Myers <joseph@codesourcery.com>
4237
4238 * c-common.h (enum rid): Add RID_ATOMIC.
4239 * c-common.c (c_common_reswords): Add _Atomic.
4240 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4241 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4242 * c-format.c (check_format_types): Check for extra _Atomic
4243 qualifiers in format argument.
4244 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4245 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4246
5b1a0622 42472013-11-06 Tobias Burnus <burnus@net-b.de>
4248
4249 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4250
4f8f4cb8 42512013-11-06 Joseph Myers <joseph@codesourcery.com>
4252
4253 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4254 standards modes.
4255 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4256 to mean lack of IEEE 754 support.
4257
9148bda3 42582013-11-05 Tobias Burnus <burnus@net-b.de>
4259
4260 * c.opt (-Wdate-time): New option
4261 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4262
08c5f4d5 42632013-11-05 Joseph Myers <joseph@codesourcery.com>
4264
4265 * c-cppbuiltin.c (cpp_iec_559_value): Test
4266 flag_excess_precision_cmdline not flag_excess_precision.
4267
c630ef93 42682013-11-05 Tobias Burnus <burnus@net-b.de>
4269
4270 * c.opt (fopenmp-simd): New option.
4271 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4272 (omp_pragmas): ... this new struct.
4273 (c_pp_lookup_pragma): Also walk omp_pragmas.
4274 (init_pragma): Init pragmas for -fopenmp-simd.
4275
7354a89b 42762013-11-04 Marek Polacek <polacek@redhat.com>
4277
4278 PR c++/58979
4279 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4280
4c866b9b 42812013-11-04 Joseph Myers <joseph@codesourcery.com>
4282
4283 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4284 New functions.
4285 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4286
e2a6a333 42872013-11-04 Eric Botcazou <ebotcazou@adacore.com>
4288
4289 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4290 (dump_ada_specs): Adjust prototype of second callback.
4291 * c-ada-spec.c (cpp_check): New global variable.
4292 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4293 (print_generic_ada_decl): Likewise.
4294 (has_static_fields): Change return type to bool and add guard.
4295 (has_nontrivial_methods): New predicate.
4296 (is_tagged_type): Change return type to bool.
4297 (separate_class_package): Call has_nontrivial_methods.
4298 (pp_ada_tree_identifier): Minor tweaks.
4299 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4300 (dump_ada_array_domains): Likewise.
4301 (dump_ada_array_type): Likewise.
4302 (dump_template_types): Remove cpp_check parameter and do not pass it to
4303 dump_generic_ada_node.
4304 (dump_ada_template): Likewise.
4305 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4306 recursively.
4307 (print_ada_methods): Change return type to integer. Remove cpp_check
4308 parameter and do not pass it down.
4309 (dump_nested_types): Remove cpp_check parameter and do not pass it to
4310 dump_generic_ada_node.
4311 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
4312 accessing methods.
4313 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4314 down. Use has_nontrivial_methods to recognize C++ classes. Use return
4315 value of print_ada_methods.
4316 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4317 Set cpp_check to it before invoking dump_ada_nodes.
4318 (dump_ada_specs): Likewise.
4319
2c4c3477 43202013-11-03 Marek Polacek <polacek@redhat.com>
4321
4322 * c-ubsan.c: Don't include hash-table.h.
4323 (ubsan_instrument_vla): New function.
4324 * c-ubsan.h: Declare it.
4325
452659af 43262013-10-31 David Malcolm <dmalcolm@redhat.com>
4327
4328 Automated part of renaming of symtab_node_base to symtab_node.
4329
4330 Patch autogenerated by rename_symtab.py from
4331 https://github.com/davidmalcolm/gcc-refactoring-scripts
4332 revision 58bb219cc090b2f4516a9297d868c245495ee622
4333
4334 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4335 symtab_node_base to symtab_node.
4336
4d6f7dd4 43372013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4338
a49621cf 4339 Implement C++14 digit separators.
4d6f7dd4 4340 * c-lex.c (interpret_float): Remove digit separators from scratch string
4341 before building real literal.
4342
06cfe805 43432013-10-30 Jakub Jelinek <jakub@redhat.com>
4344
4345 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4346
d037099f 43472013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4348
4349 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4350 fields.
4351 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4352 enabled.
4353 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4354 (insert_cilk_frame): New prototype.
4355 (cilk_init_builtins): Likewise.
4356 (gimplify_cilk_spawn): Likewise.
4357 (c_cilk_install_body_w_frame_cleanup): Likewise.
4358 (cilk_detect_spawn_and_unwrap): Likewise.
4359 (cilk_set_spawn_marker): Likewise.
4360 (build_cilk_sync): Likewise.
4361 (build_cilk_spawn): Likewise.
4362 * cilk.c: New file.
4363
02774f2d 43642013-10-29 David Malcolm <dmalcolm@redhat.com>
4365
4366 Patch autogenerated by refactor_symtab.py from
4367 https://github.com/davidmalcolm/gcc-refactoring-scripts
4368 revision 58bb219cc090b2f4516a9297d868c245495ee622
4369
4370 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4371 to a true class hierarchy.
4372 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4373
31fe10fd 43742013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4375
4376 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4377
b1c06ff9 43782013-10-26 Jeff Law <law@redhat.com>
4379
1f78217c 4380 * c-common.c (c_define_builtins): Remove mudflap support.
4381 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 4382
48a972c8 43832013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 4384
4385 PR other/33426
4386 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4387 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4388
546a04b1 43892013-10-23 Jason Merrill <jason@redhat.com>
4390
4391 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4392
bc7bff74 43932013-10-11 Jakub Jelinek <jakub@redhat.com>
4394
d62c713e 4395 * c-common.h (omp_clause_mask::operator !=): New method.
4396 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4397 instead of if (mask & something) tests everywhere.
4398
bc7bff74 4399 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4400 201307 instead of 201107.
4401 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4402 (c_common_attribute_table): Add "omp declare target" and
4403 "omp declare simd" attributes.
4404 (handle_omp_declare_target_attribute,
4405 handle_omp_declare_simd_attribute): New functions.
4406 * c-omp.c: Include c-pragma.h.
4407 (c_finish_omp_taskgroup): New function.
4408 (c_finish_omp_atomic): Add swapped argument, if true,
4409 build the operation first with rhs, lhs arguments and use NOP_EXPR
4410 build_modify_expr.
4411 (c_finish_omp_for): Add code argument, pass it down to make_code.
4412 (c_omp_split_clauses): New function.
4413 (c_split_parallel_clauses): Removed.
4414 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4415 c_omp_declare_simd_clauses_to_decls): New functions.
4416 * c-common.h (omp_clause_mask): New type.
4417 (OMP_CLAUSE_MASK_1): Define.
4418 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4419 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4420 omp_clause_mask::operator |, omp_clause_mask::operator &,
4421 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4422 omp_clause_mask::operator ==): New methods.
4423 (enum c_omp_clause_split): New.
4424 (c_finish_omp_taskgroup): New prototype.
4425 (c_finish_omp_atomic): Add swapped argument.
4426 (c_finish_omp_for): Add code argument.
4427 (c_omp_split_clauses): New prototype.
4428 (c_split_parallel_clauses): Removed.
4429 (c_omp_declare_simd_clauses_to_numbers,
4430 c_omp_declare_simd_clauses_to_decls): New prototypes.
4431 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4432 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4433 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4434 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4435 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4436 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4437 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4438 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4439 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4440 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4441 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4442 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4443 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4444 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4445 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4446 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4447 PRAGMA_OMP_CLAUSE_UNIFORM.
4448
d7dcba40 44492013-10-09 Marc Glisse <marc.glisse@inria.fr>
4450
4451 PR tree-optimization/20318
4452 * c-common.c (handle_returns_nonnull_attribute): New function.
4453 (c_common_attribute_table): Add returns_nonnull.
4454
0b7282f1 44552013-10-03 Marc Glisse <marc.glisse@inria.fr>
4456
4457 PR c++/19476
4458 * c.opt (fcheck-new): Move to common.opt.
4459
51f553af 44602013-09-25 Marek Polacek <polacek@redhat.com>
4461 Jakub Jelinek <jakub@redhat.com>
4462
4463 PR sanitizer/58413
4464 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4465 an expression if we can prove it is correct.
4466 (ubsan_instrument_division): Likewise. Remove unnecessary
4467 check.
4468
05f893e1 44692013-09-18 Marek Polacek <polacek@redhat.com>
4470
4471 PR sanitizer/58411
4472 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4473 Declare it.
4474 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4475
236ce1d1 44762013-09-14 Iain Sandoe <iain@codesourcery.com>
4477
4478 PR target/48094
4479 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4480 fobjc-gc, freplace-objc-classes): Accept for LTO.
4481
f9f68d35 44822013-09-13 Jacek Caban <jacek@codeweavers.com>
4483
4484 * c-target.def: New hook
4485
ba2f764e 44862013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4487
4488 PR c++/43452
4489 * c.opt (Wdelete-incomplete): Add.
4490
73437615 44912013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4492
4493 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4494 (vector_types_compatible_elements_p): New function.
4495 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4496 declaration.
4497 (vector_types_compatible_elements_p): Declare.
4498
95af4c75 44992013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4500
4501 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4502 a virtual member function.
4503 (pp_simple_type_specifier): Remove.
4504 (pp_c_type_specifier): Likewise.
4505 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4506 Rename from pp_c_type_specifier. Adjust.
4507 (c_pretty_printer::c_pretty_printer): Do not assign to
4508 simple_type_specifier.
4509
eaab24b9 45102013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4511
4512 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4513 member function.
4514 (c_pretty_printer::storage_class_specifier): Likewise.
4515 (c_pretty_printer::initializer): Likewise.
4516 (pp_declaration): Remove.
4517 (pp_declaration_specifiers): Likewise.
4518 (pp_abstract_declarator): Likewise.
4519 (pp_declarator): Likewise.
4520 (pp_type_id): Likewise.
4521 (pp_statement): Likewise.
4522 (pp_constant): Likewise.
4523 (pp_id_expression): Likewise.
4524 (pp_primary_expression): Likewise.
4525 (pp_unary_expression): Likewise.
4526 (pp_multiplicative_expression): Likewise.
4527 (pp_conditional_expression): Likewise.
4528 (pp_assignment_expression): Likewise.
4529 (pp_expression): Likewise.
4530 (pp_c_type_id): Likewise.
4531 (pp_c_storage_class_specifier): Likewise.
4532 * c-pretty-print.c (pp_c_type_cast): Tidy.
4533 (pp_c_pointer): Likewise.
4534 (pp_c_type_specifier): Likewise.
4535 (pp_c_parameter_type_list): Likewise.
4536 (pp_c_function_definition): Likewise.
4537 (pp_c_init_declarator): Likewise.
4538 (pp_c_initializer_list): Likewise.
4539 (pp_c_constructor_elts): Likewise.
4540 (c_pretty_printer::direct_abstract_declarator): Likewise.
4541 (c_pretty_printer::declaration_specifiers): Likewise.
4542 (c_pretty_printer::primary_expression): Likewise.
4543 (c_pretty_printer::postfix_expression): Likewise.
4544 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4545 (c_pretty_printer::storage_class_specifier): Rename from
4546 pp_c_storage_class_specifier.
4547 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4548 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4549 storage_class_specifier, initializer, offset_list, flags.
4550
9e46467d 45512013-08-30 Marek Polacek <polacek@redhat.com>
4552
4553 * c-ubsan.c: New file.
4554 * c-ubsan.h: New file.
4555
36a8d9b9 45562013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4557
4558 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4559 member function.
4560 (c_pretty_printer::declaration_specifiers): Likewise.
4561 (c_pretty_printer::declarator): Likewise.
4562 (c_pretty_printer::abstract_declarator): Likewise.
4563 (c_pretty_printer::direct_abstract_declarator): Likewise.
4564 (c_pretty_printer::direct_declarator): Likewise.
4565 (c_pretty_printer::function_specifier): Likewise.
4566 (pp_declaration): Adjust.
4567 (pp_declaration_specifiers): Likewise.
4568 (pp_abstract_declarator): Likewise.
4569 (pp_direct_declarator): Likewise.
4570 (pp_function_specifier): Likewise.
4571 (pp_direct_abstract_declarator): Remove as unused.
4572 (pp_c_declaration): Remove.
4573 (pp_c_declaration_specifiers): Likewise.
4574 (pp_c_declarator): Likewise.
4575 (pp_c_direct_declarator): Likewise.
4576 (pp_c_function_specifier): Likewise.
4577 (pp_c_direct_abstract_declarator): Likewise.
4578 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4579 from pp_c_abstract_declarator. Adjust.
4580 (c_pretty_printer::direct_abstract_declarator): Rename from
4581 pp_c_direct_abstract_declarator. Adjust.
4582 (c_pretty_printer::function_specifier): Rename from
4583 pp_c_function_specifier. Adjust.
4584 (c_pretty_printer::declaration_specifiers): Rename from
4585 pp_c_declaration_specifiers. Adjust.
4586 (c_pretty_printer::direct_declarator): Rename from
4587 pp_c_direct_declarator. Adjust.
4588 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4589 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4590 (c_pretty_printer::c_pretty_printer): Do not assign to
4591 declaration, declaration_specifiers, declarator,
4592 direct_declarator, direct_abstract_declarator, function_specifier.
4593
30635c2e 45942013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4595
4596 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4597 virtual member function.
4598 (c_pretty_printer::multiplicative_expression): Likewise.
4599 (c_pretty_printer::conditional_expression): Likewise.
4600 (c_pretty_printer::assignment_expression): Likewise.
4601 (c_pretty_printer::expression): Likewise.
4602 (pp_unary_expression): Adjust.
4603 (pp_multiplicative_expression): Likewise.
4604 (pp_assignment_expression): Likewise.
4605 (pp_conditional_expression): Likewise.
4606 (pp_expression): Likewise.
4607 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
4608 from pp_c_unary_expression. Adjust.
4609 (c_pretty_printer::multiplicative_expression): Rename from
4610 pp_c_multiplicative_expression. Adjust.
4611 (c_pretty_printer::conditional_expression): Rename from
4612 pp_c_conditional_expression. Adjust.
4613 (c_pretty_printer::assignment_expression): Rename from
4614 pp_c_assignment_expression. Adjust.
4615 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
4616 (c_pretty_printer::c_pretty_printer): Do not assign to
4617 unary_expression, multiplicative_expression,
4618 conditional_expression, expression.
4619
027d08ed 46202013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4621
4622 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
4623 virtual member function.
4624 (pp_postfix_expression): Adjust.
4625 (pp_c_postfix_expression): Remove.
4626 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
4627 from pp_c_postfix_expression. Adjust.
4628 (c_pretty_printer::c_pretty_printer): Do not assign to
4629 postfix_expression.
4630
f873303a 46312013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4632
4633 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
4634 virtua member function.
4635 (pp_primary_expression): Adjust.
4636 (pp_c_primary_expression): Remove.
4637 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
4638 from pp_c_primary_expression. Adjust.
4639 (pp_c_initializer_list): Use pp_primary_expression.
4640 (c_pretty_printer::c_pretty_printer): Do not assign to
4641 primary_expression.
4642
08e3e481 46432013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4644
4645 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4646 * c-pretty-print.c (M_): Remove.
4647 (c_pretty_printer::translate_string): Define.
4648 (pp_c_type_specifier): Use it.
4649 (pp_c_primary_expression): Likewise.
4650 (pp_c_expression): Likewise.
4651
1fc4a87f 46522013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4653
4654 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
4655 virtual function.
4656 (pp_c_id_expression): Remove.
4657 (pp_id_expression): Adjust.
4658 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
4659 pp_c_id_expression. Adjust.
4660 (pp_c_postfix_expression): Use pp_id_expression.
4661 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
4662
a6cb161b 46632013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4664
4665 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4666 member function.
4667 (pp_constant): Adjust.
4668 (pp_c_constant): Remove.
4669 * c-pretty-print.c (c_pretty_printer::constant): Rename from
4670 pp_c_constant. Adjust.
4671 (pp_c_constant)
4672 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
4673 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
4674
eed6bc21 46752013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4676
4677 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
4678 (c_pretty_printer::c_pretty_printer): Declare.
4679 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
4680 c_pretty_printer_init. Adjust.
4681 (print_c_tree): Do not call c_pretty_printer_init.
4682 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
4683
df558d2e 46842013-08-09 Arnaud Charlet <charlet@adacore.com>
4685
4686 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
4687
42f9a786 46882013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
4689
4690 PR c++/58080
4691 * c-common.c (pointer_int_sum): Add bool parameter.
4692 * c-common.h (pointer_int_sum): Adjust declaration.
4693
f874ddad 46942013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4695
4696 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
4697 c_pretty_printer variable.
4698
a94db6b0 46992013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4700
4701 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
4702 (pp_base): Remove.
4703 (pp_c_base): Likewise. Adjust users.
4704 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
4705 (pp_c_whitespace): Do not call pp_base.
4706 (pp_c_left_paren): Likewise.
4707 (pp_c_right_paren): Likewise.
4708 (pp_c_left_brace): Likewise.
4709 (pp_c_right_brace): Likewise.
4710 (pp_c_left_bracket): Likewise.
4711 (pp_c_right_bracket): Likewise.
4712 (pp_c_dot): Likewise.
4713 (pp_c_ampersand): Likewise.
4714 (pp_c_star): Likewise.
4715 (pp_c_arrow): Likewise.
4716 (pp_c_semicolon): Likewise.
4717 (pp_c_complement): Likewise.
4718 (pp_c_exclamation): Likewise.
4719 (pp_c_direct_declarator): Likewise.
4720 (pp_c_ws_string): Likewise.
4721 (pp_c_identifier): Likewise.
4722 (pp_c_statement): Likewise.
4723 (print_c_tree): Likewise.
4724
1898176c 47252013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
4726
4727 PR c++/58072
4728 * c-common.c (c_parse_error): Catch user-defined literal tokens and
4729 provide useful error strings.
4730
70d60d1d 47312013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4732
4733 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
4734 printer functions instead of pp_string or operators and punctuators.
4735 (dump_generic_ada_node): Likewise.
4736 * c-pretty-print.c (pp_c_type_specifier): Likewise.
4737 (pp_c_relational_expression): Likewise.
4738 (pp_c_logical_or_expression): Likewise.
4739
dda4f0ec 47402013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4741
4742 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
4743 functions instead of pp_character.
4744 (pp_ada_tree_identifier): Likewise.
4745 (dump_ada_double_name): Likewise.
4746 (dump_ada_function_declaration): Likewise.
4747 (dump_ada_array_domains): Likewise.
4748 (dump_template_types): Likewise.
4749 (dump_generic_ada_node): Likewise.
4750 (print_ada_declaration): Likewise.
4751 (print_ada_struct_decl): Likewise.
4752 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4753
7aa04c8d 47542013-07-23 Tom Tromey <tromey@redhat.com>
4755
4756 * c-common.h (enum rid) <RID_GENERIC>: New constant.
4757 * c-common.c (c_common_reswords): Add _Generic.
4758
a04e8d62 47592013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
4760
4761 * c-common.c: Fix typos.
4762 * c-common.h: Likewise.
4763
a96c3cc1 47642013-07-13 Lubos Lunak <l.lunak@suse.cz>
4765
4766 PR c++/55203
4767 * c-common.c (c_common_attribute_table): Add warn_unused.
4768 (handle_warn_unused_attribute): New.
4769
da31536d 47702013-07-10 Jakub Jelinek <jakub@redhat.com>
4771
4772 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
4773 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
4774
839f2f70 47752013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
4776
4777 PR c++/57869
4778 * c.opt: Add Wconditionally-supported.
4779
73f353d0 47802013-07-08 Graham Stott <graham.stott@btinternet.com>
4781
1f78217c 4782 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 4783 unused variables l_length and l_node.
4784
21ebaa24 47852013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 4786
4787 PR c/57821
4788 * c-common.c (complete_array_type): Delay folding first index
4789 like other indices. When folding, check for index overflow.
4790
68ea4406 47912013-06-27 Marc Glisse <marc.glisse@inria.fr>
4792
4793 PR c++/57509
4794 * c-common.h (c_build_vec_perm_expr): New complain argument.
4795 * c-common.c (c_build_vec_perm_expr): Likewise.
4796 Use save_expr also in C++.
4797
60777f69 47982013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4799
4800 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
4801 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4802 * c-opts.c (c_common_post_options): Likewise.
4803
839f2f70 48042013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 4805
4806 * array-notation-common.c (length_mismatch_in_expr): Changed the
4807 parameter type's from a dynamic array to a vec_tree. Also removed
4808 the size parameters.
4809 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
4810 the change above.
4811
e9331eab 48122013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
4813
4814 * c-common.h (struct cilkplus_an_parts): New structure.
4815 (struct cilkplus_an_loop_parts): Likewise.
4816 (cilkplus_extract_an_triplets): New prototype.
4817 (fix_sec_implicit_args): Likewise.
4818 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
4819 (fix_sec_implicit_args): Likewise.
60777f69 4820
a9c99fc4 48212013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
4822
4823 * array-notation-common.c (find_inv_trees): Removed an unwanted
4824 typecasting.
4825 * c-common.h (struct inv_list::additional_tcodes): Changed type from
4826 enum rid to enum tree_code.
4827
f2526cce 48282013-06-11 Jan Hubicka <jh@suse.cz>
4829
4830 * c-common.c (handle_alias_ifunc_attribute): Do not set
4831 DECL_EXTERNAL for weakref variables.
4832 * c-pragma.c (handle_pragma_weak): Make sure aliases
4833 are not declared as external.
4834
09970d67 48352013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
4836
4837 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
4838 function from c/c-array-notation.c.
4839 (is_cilkplus_reduce_builtin): Likewise.
4840 (find_rank): Likewise.
4841 (extract_array_notation_exprs): Likewise.
4842 (replace_array_notations): Likewise.
4843 (find_inv_trees): Likewise.
4844 (replace_inv_trees): Likewise.
4845 (contains_array_notation_expr): Likewise.
4846 (find_correct_array_notation_type): Likewise.
4847 * c-common.h (struct inv_list): Moved this struct from the file
4848 c/c-array-notation.c and added a new field called additional tcodes.
4849 (length_mismatch_in_expr_p): New prototype.
4850 (is_cilkplus_reduce_builtin): Likewise.
4851 (find_rank): Likewise.
4852 (extract_array_notation_exprs): Likewise.
4853 (replace_array_notation): Likewise.
4854 (find_inv_trees): Likewise.
4855 (replace_inv_trees): Likewise.
4856 (find_correct_array_notation_type): Likewise.
839f2f70 4857
3c6d4197 48582013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
4859
4860 * c-common.c (c_define_builtins): When cilkplus is enabled, the
4861 function array_notation_init_builtins is called.
4862 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
4863 * c-common.def (ARRAY_NOTATION_REF): New tree.
4864 * c-common.h (build_array_notation_expr): New function declaration.
4865 (build_array_notation_ref): Likewise.
4866 (extract_sec_implicit_index_arg): New extern declaration.
4867 (is_sec_implicit_index_fn): Likewise.
4868 (ARRAY_NOTATION_CHECK): New define.
4869 (ARRAY_NOTATION_ARRAY): Likewise.
4870 (ARRAY_NOTATION_START): Likewise.
4871 (ARRAY_NOTATION_LENGTH): Likewise.
4872 (ARRAY_NOTATION_STRIDE): Likewise.
4873 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
4874 ARRAY_NOTATION_REF.
4875 (pp_c_expression): Likewise.
4876 * c.opt (flag_enable_cilkplus): New flag.
4877 * array-notation-common.c: New file.
4878
8e71dad2 48792013-05-14 Jakub Jelinek <jakub@redhat.com>
4880
4881 PR c++/57274
4882 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
4883
432dd330 48842013-05-10 Marc Glisse <marc.glisse@inria.fr>
4885
4886 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
4887 vectors.
4888
b156ec37 48892013-05-07 Han Shen <shenhan@google.com>
4890
4891 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
4892
1a087624 48932013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4894
4895 * c-common.c (check_user_alignment): Emit error for negative values.
4896
1638c736 48972013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4898
4899 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
4900
949dbf93 49012013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4902
4903 * c-cppbuiltin.c (c_cpp_builtins): Do not define
4904 __GXX_EXPERIMENTAL_CXX1Y__.
4905
9205a6cc 49062013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
a49621cf 4907 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9205a6cc 4908
4909 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
4910 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
4911 to simply use OPT_Wpointer_arith.
4912 (c_sizeof_or_alignof_type): Likewise.
4913
05d0bce1 49142013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4915
4916 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
4917
41609f8b 49182013-04-12 Jakub Jelinek <jakub@redhat.com>
4919
4920 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
4921 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
4922 specifiers.
4923
c671dc4f 49242013-04-07 Steven Bosscher <steven@gcc.gnu.org>
4925
4926 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
4927
ba125576 49282013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
4929
4930 * c-common.c (pointer_int_sum): Remove dead code.
4931
9d3fa937 49322013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
4933
4934 PR middle-end/56524
4935 * c-common.c (handle_optimize_attribute): Don't call
4936 save_optabs_if_changed.
4937
5ceebb21 49382013-03-05 Jakub Jelinek <jakub@redhat.com>
4939
4940 PR middle-end/56461
4941 * c-pch.c (pch_init): Free target_validity at the end.
4942
18eeed2b 49432013-03-04 Jakub Jelinek <jakub@redhat.com>
4944
4945 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
4946
a9196da9 49472013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
4948 Jakub Jelinek <jakub@redhat.com>
4949
4950 PR sanitizer/56454
4951 * c-common.c (handle_no_sanitize_address_attribute): New function.
4952 (c_common_attribute_table): Add no_sanitize_address attribute.
4953 (handle_no_address_safety_analysis_attribute): Add
4954 no_sanitize_address attribute, not no_address_safety_analysis
4955 attribute.
4956
15c27dda 49572013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 4958
4959 PR target/52555
4960 * c-common.c (handle_optimize_attribute): Call
4961 save_optabs_if_changed.
4962
19426fe1 49632013-02-18 Jakub Jelinek <jakub@redhat.com>
4964 Steven Bosscher <steven@gcc.gnu.org>
4965
4966 PR pch/54117
4967 * c-opts.c (c_common_post_options): If debug info is enabled
4968 and non-dwarf*, refuse to load PCH files and when writing PCH
4969 file warn.
4970
df936998 49712013-02-05 Jakub Jelinek <jakub@redhat.com>
4972
4973 PR middle-end/56167
4974 * c-common.c (handle_error_attribute): Fix condition.
4975
ae0c3984 49762013-01-30 Jakub Jelinek <jakub@redhat.com>
4977
4978 PR c++/55742
4979 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
4980
1c4973d7 49812013-01-18 Jason Merrill <jason@redhat.com>
4982
4983 PR target/54908
4984 * c.opt (-fextern-tls-init): New.
4985 * c-opts.c (c_common_post_options): Handle it.
4986
7c834436 49872013-01-09 Jakub Jelinek <jakub@redhat.com>
4988
4989 PR c/48418
4990 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
4991 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
4992 and is either negative or bigger or equal to type precision
4993 of the first operand.
4994
5abaa10a 49952012-12-03 Marek Polacek <polacek@redhat.com>
4996
4997 PR c/55570
4998 * c-common.c (check_user_alignment): Swap order of tests,
4999 check TREE_CODE first.
5000
324ca377 50012012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5002
5003 PR c++/52654
5004 * c-common.h (overflow_type): New enum.
5005 (build_userdef_literal): Add overflow_type argument.
5006 (tree_userdef_literal): Add overflow_type.
5007 (USERDEF_LITERAL_OVERFLOW): New access macro.
5008 * c-common.c (build_userdef_literal): Add overflow_type
5009 argument.
5010 * c-lex.c (c_lex_with_flags): Add overflow_type to
5011 build_userdef_literal calls.
5012 (interpret_integer, interpret_float): Add overflow_type argument.
5013
b4c4a429 50142012-11-28 Richard Biener <rguenther@suse.de>
5015
5016 PR c/35634
5017 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5018 here and use a type with proper overflow behavior for types that would
5019 need to be promoted for the arithmetic.
5020
d413ffdd 50212012-11-23 Jakub Jelinek <jakub@redhat.com>
5022
5023 PR sanitizer/55435
5024 * c-common.c (handle_no_address_safety_analysis_attribute): New
5025 function.
5026 (c_common_attribute_table): Add no_address_safety_analysis.
5027
52bc861d 50282012-11-16 Simon Baldwin <simonb@google.com>
5029
5030 * c.opt: Add f[no-]canonical-system-headers.
5031 * c-opts.c (c_common_handle_option): Handle
5032 OPT_fcanonical_system_headers.
5033
2dd00636 50342012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5035
5036 PR c++/54413
5037 * c-opts.c (c_common_handle_option): Set new flags.
5038 * c.opt: Describe new flags.
5039
d4701f6c 50402012-11-09 Jason Merrill <jason@redhat.com>
5041
5042 * c.opt (Wabi-tag): New.
5043
72d65da9 50442012-11-09 Andi Kleen <ak@linux.intel.com>
5045
5046 PR 55139
5047 * c-common.c (get_atomic_generic_size): Mask with
a49621cf 5048 MEMMODEL_MASK
72d65da9 5049
77a357e3 50502012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5051
5052 PR c/53063
5053 * c.opt (Wformat): Make it Alias Wformat=1.
5054 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5055 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5056 LangEnabledBy.
5057 (Wformat=): RejectNegative. Use LangEnabledBy.
5058 (Wnonnull): Use LangEnabledBy.
5059 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5060 * c-format.c (set_Wformat): Delete.
5061 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
a49621cf 5062 (maybe_read_dollar_number): Likewise.
5063 (avoid_dollar_number): Likewise.
5064 (finish_dollar_format_checking): Likewise.
5065 (check_format_info): Likewise.
5066 (check_format_info_main): Likewise.
5067 (check_format_types): Likewise.
5068 (format_type_warning): Likewise.
5069 * c-common.c (int): Likewise.
5070 (check_function_sentinel): Likewise.
5071 * c-common.h (warn_format,set_Wformat): Do not declare here.
77a357e3 5072
45efa6b9 50732012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5074
5075 PR c/53063
5076 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5077 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5078 Use LangEnabledBy.
5079 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5080 common.opt.
5081 (Wvariadic-macros): Init(1).
5082 * c-opts.c (c_common_handle_option): Do not handle them
5083 explicitly.
5084 (c_common_post_options): Likewise.
5085 (sanitize_cpp_opts): warn_unused_macros is now
5086 cpp_warn_unused_macros.
5087 (push_command_line_include): Likewise.
5088 * c-common.c (warn_unknown_pragmas): Do not define.
5089 * c-common.h (warn_unknown_pragmas): Do not declare.
5090
0e4e775a 50912012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5092
5093 PR c/51294
5094 * c-common.c (conversion_warning): Handle conditional expressions.
5095
8b447d3f 50962012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5097
5098 PR c++/54930
5099 * c.opt (Wreturn_local_addr): Define new option.
5100
f4a61754 51012012-10-25 Jason Merrill <jason@redhat.com>
5102
ecb10e6a 5103 * c.opt (Wvirtual-move-assign): New.
5104
f4a61754 5105 * c.opt (Winherited-variadic-ctor): New.
5106
7b463b19 51072012-10-25 Marc Glisse <marc.glisse@inria.fr>
5108
5109 PR c++/54427
5110 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5111
6adc88f8 51122012-10-23 Joseph Myers <joseph@codesourcery.com>
5113
5114 * c-common.h (pch_cpp_save_state): Declare.
5115 * c-target.def (c_preinclude): New hook.
5116 * c-opts.c (done_preinclude): New.
5117 (push_command_line_include): Handle default preincluded header.
5118 (cb_file_change): Call pch_cpp_save_state when calling
5119 push_command_line_include.
5120 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5121 (pch_cpp_save_state): New.
5122 (pch_init): Call pch_cpp_save_state conditionally, instead of
5123 calling cpp_save_state.
5124
fa816b0b 51252012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5126
5127 PR c/53063
5128 PR c/40989
5129 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5130 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5131 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5132 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5133 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5134 * c-opts.c (c_common_handle_option): Remove explicit handling from
5135 here.
5136 (c_common_post_options): Likewise.
5137
d214ccee 51382012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5139
5140 * c-ada-spec.c (LOCATION_COL): Delete.
5141 (compare_location): New function.
5142 (compare_node): Use it.
5143 (compare_comment): Likewise.
5144
77b27208 51452012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5146
5147 PR c/53063
5148 PR c/40989
5149 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5150 * c-opts.c (c_common_handle_option): Do not set them here. Add
5151 comment.
5152 (c_common_post_options): Likewise.
5153
cc02ca4d 51542012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5155
5156 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5157 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5158 Remove POINTER_TYPE handling, add large unsigned handling and use
5159 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5160
57f872a2 51612012-10-12 Jakub Jelinek <jakub@redhat.com>
5162
5163 PR c/54381
5164 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5165 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5166 locs and array of 3 trees instead of just single loc and single
5167 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5168 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5169 For *cmp* builtins that take two sources strings report warnings
5170 about first and second source, not about destination and source.
5171
7354ad2e 51722012-10-12 Marc Glisse <marc.glisse@inria.fr>
5173
5174 PR c++/53055
5175 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5176
1ac7f120 51772012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5178
5179 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5180 declaring something coming from another file.
5181
1e0cc9e3 51822012-10-10 Arnaud Charlet <charlet@adacore.com>
5183
1ac7f120 5184 PR ada/54845
1e0cc9e3 5185 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5186
b0e7825e 51872012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5188
5189 PR c++/54194
5190 * c-common.c (warn_about_parentheses): Add location_t parameter;
5191 use EXPR_LOC_OR_LOC.
5192 * c-common.h: Update declaration.
5193
41ed701a 51942012-10-09 Marc Glisse <marc.glisse@inria.fr>
5195
5196 PR c++/54427
5197 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5198 more operations. Make error messages optional.
5199 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5200 (scalar_to_vector): Declare.
5201
3740094c 52022012-10-08 Jason Merrill <jason@redhat.com>
5203
5204 * c-common.c (c_common_reswords): Add thread_local.
5205
ffcdbf9c 52062012-10-08 Dodji Seketeli <dodji@redhat.com>
5207
5208 PR c++/53528 C++11 attribute support
5209 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5210 new functions.
5211 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5212 static function.
5213 (handle_aligned_attribute): In choose strictest alignment
5214 among many. Use new check_cxx_fundamental_alignment_constraints.
5215 (handle_transparent_union_attribute): In c++11 attribute syntax,
5216 don't look through typedefs.
5217
ef34afc1 52182012-10-04 Arnaud Charlet <charlet@adacore.com>
5219
5220 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5221 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5222 out of dumpfile.h.
5223
f1ff4562 52242012-09-25 Dehao Chen <dehao@google.com>
5225
5226 PR middle-end/54645
ef34afc1 5227 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 5228 map when read in the pch.
5229
92a44a68 52302012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 5231
5232 * c-ada-spec.c: Style fixes.
5233
92a44a68 52342012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 5235
5236 * c.opt (-fada-spec-parent): Define new command line switch.
5237 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5238 is specified, generate binding spec as a child of the specified unit.
5239
8eba82c2 52402012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5241 Manuel López-Ibáñez <manu@gcc.gnu.org>
5242
5243 PR c++/53210
5244 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5245
38682990 52462012-08-23 Arnaud Charlet <charlet@adacore.com>
5247
5248 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5249 for pointers, and add missing Convention C pragma.
5250 (print_ada_struct_decl): Add missing aliased keyword.
5251 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5252
f003f5dc 52532012-08-17 Jakub Jelinek <jakub@redhat.com>
5254
5255 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5256 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5257 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5258 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5259 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5260
ec11736b 52612012-08-10 Richard Guenther <rguenther@suse.de>
5262
5263 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5264
5f7f600e 52652012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5266
5267 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5268 instead of separate pp_newline and pp_flush.
5269 (print_c_tree): Likewise.
5270
758a38ab 52712012-07-26 Richard Henderson <rth@redhat.com>
5272
5273 * c-common.c (handle_hot_attribute): Allow labels.
5274 (handle_cold_attribute): Likewise.
5275
9ca77b08 52762012-07-20 Jakub Jelinek <jakub@redhat.com>
5277
5278 PR c++/28656
5279 * c-common.c (check_function_nonnull): Handle multiple nonnull
5280 attributes properly.
5281
b9ed1410 52822012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5283
5284 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5285 * c-ada-spec.c: Likewise.
5286 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5287
c2a65b90 52882012-07-14 Steven Bosscher <steven@gcc.gnu.org>
5289
5290 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5291 Remove code conditional on it.
5292
88c5a1d1 52932012-07-11 Steven Bosscher <steven@gcc.gnu.org>
5294
5295 * c-gimplify.c: Do not include basic-block.h.
5296 * c-common.c: Do not include linfuncs.h.
5297
4a020a8c 52982012-07-08 Steven Bosscher <steven@gcc.gnu.org>
5299
5300 * c-common.h: Include tree.h.
5301
c28ddc97 53022012-07-02 Jason Merrill <jason@redhat.com>
5303
5304 PR c++/53524
5305 * c-common.c (get_priority): Call default_conversion.
5306
405ed67f 53072012-07-01 Uros Bizjak <ubizjak@gmail.com>
5308
5309 * c-pch.c (c_common_write_pch): Remove unused variables.
5310
e53d55e7 53112012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5312
5313 * cppspec.c: Moved from gcc/ to here.
5314
3d9c25ec 53152012-06-27 Kai Tietz <ktietz@redhat.com>
5316
5317 PR preprocessor/37215
5318 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5319
3169c57a 53202012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5321
5322 * c-common.h (c_common_print_pch_checksum): Remove.
5323 * c-pch.c: Do not include output.h.
5324 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5325 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5326 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5327 (struct c_pch_header): Remove.
5328 (get_ident): Update gpch version.
5329 (pch_init): Do not print executable_checksum to asm_out_file.
5330 Do not fail if there is no asm_out_file to read back from. Set
5331 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5332 (c_common_write_pch): Verify that nothing was written to asm_out_file
5333 since pch_init was called. Do not write a c_pch_header, and do not
5334 copy from asm_out_file to the PCH.
5335 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5336 the content of asm_out_file from the PCH.
5337 (c_common_print_pch_checksum): Remove.
5338 * c-opts.c (c_common_init): Print out executable_checksum directly.
5339
ff6624bc 53402012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5341
5342 * c-target.def (objc_declare_unresolved_class_reference,
5343 objc_declare_class_definition): Add new hooks.
5344
367b1459 53452012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5346
5347 * c-lex.c: Do not include output.h.
5348 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5349 Remove uses of ASM_OUTPUT_IDENT.
5350
bf0cb017 53512012-06-15 Marc Glisse <marc.glisse@inria.fr>
5352
5353 PR c++/51033
5354 * c-common.h (c_build_vec_perm_expr): Move decl here.
5355 * c-common.c (c_build_vec_perm_expr): Move definition
5356 here.
5357
b37a3600 53582012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5359
5360 * c.opt (fconserve-space): Turn into a no-op.
5361
19931eea 53622012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 5363
5364 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5365 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5366 both the start and end of the function.
5367
dff12c10 53682012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5369
5370 * c-common.c: Do not include output.h.
5371 * c-pragma.c: Likewise.
5372
5f9e7dd5 53732012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5374
5375 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5376 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5377 (lang_decl_name): Handle namespace decls.
5378
b5369b7d 53792012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5380
5381 * c-ada-spec.c: Do not include output.h.
5382 * c-semantics.c: Likewise.
5383
8032877c 53842012-05-29 Joseph Myers <joseph@codesourcery.com>
5385
5386 * c-common.c: Fix typo.
5387
7843e4bc 53882012-05-29 Michael Matz <matz@suse.de>
5389
5390 * c-common.h (c_expand_decl): Remove prototype.
5391
8cf857d4 53922012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5393
5394 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5395 * c-opts.c (c_common_handle_option): Remove code handling
5396 warn_missing_braces.
5397
8b64dc3c 53982012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5399
5400 PR c++/25137
5401 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5402 -Wmissing_braces.
5403
43cbde16 54042012-05-22 Dodji Seketeli <dodji@redhat.com>
5405
5406 PR c++/53322
5407 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5408
db490cb6 54092012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5410
5411 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5412 * c-opts.c (c_common_handle_option): Do not handle explicitly
5413 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5414
a60f3e81 54152012-05-16 Dodji Seketeli <dodji@redhat.com>
5416
5417 PR preprocessor/7263
5418 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5419 to cpp_classify_number. For diagnostics, use the precise location
5420 instead of the global input_location.
5421
82e6ef7c 54222012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5423
cd4797ff 5424 PR c++/11856
82e6ef7c 5425 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5426
258a168d 54272012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5428
82e6ef7c 5429 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 5430
d3b7ee7c 54312012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5432
5433 PR 53063
5434 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5435 Wreorder): Use LangEnabledBy.
5436 * c-opts.c (c_common_handle_option): Do not enable them
5437 explicitly. Call lang-specific generated functions.
5438 (c_common_post_options): Do not set them here.
5439
70059cea 54402012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5441
5442 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5443 Wmissing-field-initializers,Wmissing-parameter-type,
5444 Wold-style-declaration,Woverride-init): Use EnabledBy.
5445 * c-opts.c (c_common_post_options): Do not set here explicitly.
5446
fbb6fbd8 54472012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5448
5449 PR 53063
5450 * c-opts.c (c_common_handle_option): Use handle_generated_option
5451 to enable sub-options.
5452
61f69bc9 54532012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5454
5455 PR c++/53158
5456 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5457
5a1fe2db 54582012-05-10 Richard Guenther <rguenther@suse.de>
5459
5460 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5461 adjust commentary about TYPE_IS_SIZETYPE types.
5462
d42e7c5a 54632012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5464
5465 PR c++/53261
5466 * c-common.c (warn_logical_operator): Check that argument of
5467 integer_zerop is not NULL.
5468
686369e8 54692012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5470
5471 PR c/43772
5472 * c-common.c (warn_logical_operator): Do not warn if either side
5473 is already true or false.
5474
03fe1dc2 54752012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5476
5477 PR c/51712
5478 * c-common.c (expr_original_type): New.
5479 (shorten_compare): Do not warn for enumeration types.
5480
bba5a206 54812012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5482
5483 * c.opt (fpermissive): Add Var(flag_permissive).
5484
7059d45d 54852012-04-30 Marc Glisse <marc.glisse@inria.fr>
5486
5487 PR c++/51033
5488 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5489 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5490
7edb1062 54912012-04-30 Dodji Seketeli <dodji@redhat.com>
5492
5493 Add -Wvarargs option
5494 * c.opt (Wvarargs): Define new option.
5495
068bea1e 54962012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5497
5498 * c-common.c (check_function_arguments): Replace
5499 Wmissing-format-attribute with Wsuggest-attribute=format.
5500
b86527d8 55012012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5502
5503 * c.opt (Wsuggest-attribute=format): New. Alias of
5504 Wmissing-format-attribute.
5505 * c-format.c (decode_format_type): Replace
5506 Wmissing-format-attribute with Wsuggest-attribute=format.
5507 (check_function_format): Likewise.
5508
19931eea 55092012-04-27 Ollie Wild <aaw@google.com>
76d340ac 5510
5511 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5512 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5513 * c.opt: Add Wliteral-suffix.
5514
29438999 55152012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5516
5517 PR c/44774
5518 * c.opt (Wpedantic): New.
5519 (pedantic): Alias Wpedantic.
5520 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5521 (c_common_post_options): Likewise.
5522 (sanitize_cpp_opts): Likewise.
5523 * c-lex.c (interpret_float): Likewise.
5524 * c-format.c (check_format_types): Likewise.
5525 * c-common.c (pointer_int_sum): Likewise.
5526 (c_sizeof_or_alignof_type): Likewise.
5527 (c_add_case_label): Likewise.
5528 (c_do_switch_warnings): Likewise.
5529 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5530
4f9d6b8b 55312012-04-15 Jason Merrill <jason@redhat.com>
5532
5533 PR c++/52818
5534 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5535 (C_STD_NAME): Distinguish between C++98 and C++11.
5536
74bdbe96 55372012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5538
5539 PR target/52624
5540 * c-common.h (uint16_type_node): Rename into...
5541 (c_uint16_type_node): ...this.
5542 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5543 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5544
3d177e8c 55452012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5546
5547 * c-common.c (warn_if_unused_value): Move definition to here.
5548 * c-common.h (warn_if_unused_value): Move declaration to here.
5549
6a9a958f 55502012-03-23 William Bader <williambader@hotmail.com>
5551
5552 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5553
543efdbe 55542012-03-20 Jason Merrill <jason@redhat.com>
5555
5556 * c-common.h (enum cxx_dialect): Add cxx1y.
5557 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5558 test.
5559 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5560 * c-opts.c (c_common_post_options): Likewise.
5561 (set_std_cxx1y): New.
5562 (c_common_handle_option): Call it.
5563 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5564
62206d34 55652012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5566
5567 PR c++/14710
5568 * c.opt ([Wuseless-cast]): Add.
5569
fadf62f4 55702012-03-16 Richard Guenther <rguenther@suse.de>
5571
5572 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5573
249faa35 55742012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5575
5576 PR c++/44783
5577 * c.opt (ftemplate-backtrace-limit) Add.
5578
126b6848 55792012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5580
5581 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5582 handling.
5583 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5584 (init_pragma): Don't register extern_prefix.
5585
a51edb4c 55862012-03-12 Richard Guenther <rguenther@suse.de>
5587
5588 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5589 (builtin_type_for_size): Likewise.
5590
0f6a7cb7 55912012-02-13 Jakub Jelinek <jakub@redhat.com>
5592
5593 PR c++/52215
5594 * c-common.c (sync_resolve_params): Don't decide whether to convert
5595 or not based on TYPE_SIZE comparison, convert whenever arg_type
5596 is unsigned INTEGER_TYPE.
5597
0779e32c 55982012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
5599
5600 PR c/52118
5601 * c.opt ([Wunused-local-typedefs]): Fix description.
5602
baec58e1 56032012-01-24 Mike Stump <mikestump@comcast.net>
5604
5605 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
5606 exactly.
5607
c779d8cc 56082012-01-18 Richard Guenther <rguenther@suse.de>
5609
5610 * c-opts.c (c_common_post_options): Reset LTO flags if
5611 we are about to generate a PCH.
5612
ee917d24 56132012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
5614
5615 PR c++/51777
5616 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
5617 use pp_unsigned_wide_integer.
5618
90e2341f 56192012-01-10 Richard Guenther <rguenther@suse.de>
5620
5621 PR middle-end/51806
5622 * c-opts.c (c_common_handle_option): Move -Werror handling
5623 to language independent code.
5624
9ea022ce 56252012-01-05 Richard Guenther <rguenther@suse.de>
5626
5627 PR middle-end/51764
5628 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
5629 from common.opt.
5630
3df19e1b 56312011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
5632
5633 PR c++/51316
5634 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5635 of array types with an unknown bound.
5636
32074525 56372011-12-20 Joseph Myers <joseph@codesourcery.com>
5638
5639 * c-common.c (flag_isoc99): Update comment to refer to C11.
5640 (flag_isoc1x): Change to flag_isoc11.
5641 * c-common.h (flag_isoc99): Update comment to refer to C11.
5642 (flag_isoc1x): Change to flag_isoc11.
5643 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
5644 C11.
5645 * c-opts.c (set_std_c1x): Change to set_std_c11.
5646 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
5647 Call set_std_c11.
5648 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
5649 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
5650 * c.opt (std=c1x): Change to std=c11. Document as non-draft
5651 standard.
5652 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
5653 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
5654 (std=gnu1x): Make alias of std=gnu11.
5655
fca86134 56562011-12-19 Jason Merrill <jason@redhat.com>
5657
5658 PR c++/51228
5659 * c-common.c (handle_transparent_union_attribute): Check the first
5660 field if the type is complete.
5661
aa4313eb 56622011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
5663
5664 PR libstdc++/51365
5665 * c-common.c (RID_IS_FINAL): Add.
5666 * c-common.h (RID_IS_FINAL): Add.
5667
3f3d5ad4 56682011-11-30 Iain Sandoe <iains@gcc.gnu.org>
5669
5670 * c.opt (fgnu-runtime): Provide full description.
5671 (fnext-runtime): Likewise.
5672 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
5673
c4606d19 56742011-11-28 Andrew MacLeod <amacleod@redhat.com>
5675
5676 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
5677 predefines in one place. Add LOCK_FREE predefines.
5678 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
5679 new func.
5680
1d581089 56812011-11-24 Andrew MacLeod <amacleod@redhat.com>
5682
5683 PR c/51256
19931eea 5684 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 5685 conditions
19931eea 5686 (resolve_overloaded_atomic_exchange,
5687 resolve_overloaded_atomic_compare_exchange,
1d581089 5688 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
5689 error_mark_node for error conditions.
19931eea 5690
6aa221fa 56912011-11-08 Richard Guenther <rguenther@suse.de>
5692
5693 PR middle-end/51010
5694 c-family/
5695
4c0315d0 56962011-11-07 Richard Henderson <rth@redhat.com>
5697 Aldy Hernandez <aldyh@redhat.com>
5698 Torvald Riegel <triegel@redhat.com>
5699
5700 Merged from transactional-memory.
5701
5702 * c-common.c (handle_tm_wrap_attribute,
5703 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
5704 (struct c_common_reswords): Added __transaction* keywords.
5705 (struct c_common_attribute_table): Added transaction* and tm_regparm
5706 attributes.
5707 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
5708 masks.
5709 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
5710 find_tm_attribute): Declare.
5711
920f5a70 57122011-11-07 Jason Merrill <jason@redhat.com>
5713
5714 PR c++/35688
5715 * c-common.c, c-common.h: Revert yesterday's changes.
5716
b4f861b4 57172011-11-06 Jason Merrill <jason@redhat.com>
5718
5719 PR c++/35688
5720 * c-common.c (decl_has_visibility_attr): Split out from...
5721 (c_determine_visibility): ...here.
5722 * c-common.h: Declare it.
5723
83e25171 57242011-11-06 Joseph Myers <joseph@codesourcery.com>
5725
5726 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
5727 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
5728 type.
5729 (check_user_alignment): New. Split out of
5730 handle_aligned_attribute. Disallow integer constants with
5731 noninteger types. Conditionally allow zero.
5732 (handle_aligned_attribute): Use check_user_alignment.
5733 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
5734
1cd6e20d 57352011-11-06 Andrew MacLeod <amacleod@redhat.com>
5736 Richard Henderson <rth@redhat.com>
5737
5738 Merged from cxx-mem-model.
5739
5740 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 5741 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 5742 parameters that are the same type size.
5743 (get_atomic_generic_size): New. Find size of generic
5744 atomic function parameters and do typechecking.
5745 (add_atomic_size_parameter): New. Insert size into parameter list.
5746 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
5747 either __atomic_exchange_n or external library call.
19931eea 5748 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 5749 __atomic_compare_exchange to either _n variant or external library call.
19931eea 5750 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 5751 __atomic_load_n or an external library call.
5752 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
5753 __atomic_store_n or an external library call.
5754 (resolve_overloaded_builtin): Handle new __atomic builtins.
5755
7549df0d 57562011-11-04 Eric Botcazou <ebotcazou@adacore.com>
5757
5758 PR c++/50608
5759 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
5760 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
5761 <INDIRECT_REF>: Return the argument.
5762 <ARRAY_REF>: Remove special code for negative offset.
5763 Call fold_build_pointer_plus instead of size_binop.
5764 (fold_offsetof): Remove STOP_REF argument and adjust.
5765 * c-common.h (fold_offsetof_1): Declare.
5766 (fold_offsetof): Remove STOP_REF argument.
5767
7e783eb3 57682011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
5769
5770 PR c++/50810
5771 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5772 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5773 Wnarrowing for C++0x and C++98.
5774 * c.opt ([Wnarrowing]): Update.
5775
8fe701f5 57762011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
5777
5778 PR c++/44277
5779 * c.opt: Add Wzero-as-null-pointer-constant.
5780
0d84dc2d 57812011-10-31 Jason Merrill <jason@redhat.com>
5782
67031f52 5783 * c.opt (-fdeduce-init-list): Off by default.
5784
0d84dc2d 5785 PR c++/50920
5786 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
5787 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
5788 and -Wc++11-compat.
5789 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
5790
66f24c41 57912011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
5792
5793 PR c++/30066
5794 * c.opt (fvisibility-inlines-hidden): Description change.
5795
244db24d 57962011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
5797
5798 Implement C++11 user-defined literals.
5799 * c-common.c (build_userdef_literal): New.
5800 * c-common.def: New tree code.
5801 * c-common.h (tree_userdef_literal): New tree struct and accessors.
5802 * c-lex.c (interpret_float): Add suffix parm.
5803 (c_lex_with_flags): Build literal tokens.
5804
235be70f 58052011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5806
5807 PR c++/50841
5808 Revert:
5809 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5810
5811 PR c++/50810
5812 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5813 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5814 Wnarrowing for C++0x and C++98.
5815 * c.opt ([Wnarrowing]): Update.
5816
4fe0fb1c 58172011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5818
5819 PR c++/50810
5820 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5821 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5822 Wnarrowing for C++0x and C++98.
5823 * c.opt ([Wnarrowing]): Update.
5824
5f7504f9 58252011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
5826
5827 PR c++/45385
5828 * c-common.c (conversion_warning): Remove code looking for
5829 artificial operands.
5830
2a688977 58312011-10-18 Dodji Seketeli <dodji@redhat.com>
5832
5833 PR bootstrap/50760
5834 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 5835 !NO_IMPLICIT_EXTERN_C.
2a688977 5836
326e3391 58372011-10-17 Michael Spertus <mike_spertus@symantec.com>
5838
5839 * c-common.c (c_common_reswords): Add __bases,
5840 __direct_bases.
5841 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
5842
58432011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
5844
5845 PR c++/50757
5846 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
5847
62db153a 58482011-10-15 Tom Tromey <tromey@redhat.com>
5849 Dodji Seketeli <dodji@redhat.com>
5850
5851 * c.opt (fdebug-cpp): New option.
5852 * c-opts.c (c_common_handle_option): Handle the option.
5853 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
5854 output stream in parameter. Factorized from ...
5855 (maybe_print_line): ... this. Dump location debug information when
5856 -fdebug-cpp is in effect.
5857 (print_line_1): New static function. Takes an output stream in
5858 parameter. Factorized from ...
5859 (print_line): ... here. Dump location information when -fdebug-cpp
5860 is in effect.
5861 (scan_translation_unit): Dump location information when
5862 -fdebug-cpp is in effect.
5863
ce70f433 58642011-10-15 Tom Tromey <tromey@redhat.com>
5865 Dodji Seketeli <dodji@redhat.com>
5866
5867 * c.opt (ftrack-macro-expansion): New option. Handle it with and
5868 without argument.
5869 * c-opts.c (c_common_handle_option)<case
5870 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
5871 cases. Handle -ftrack-macro-expansion with and without argument.
5872
97bfb9ef 58732011-10-15 Tom Tromey <tromey@redhat.com>
5874 Dodji Seketeli <dodji@redhat.com>
5875
5876 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
5877 (print_line, cb_define, do_line_change): Adjust to avoid touching
5878 the internals of struct line_map. Use the public API instead.
5879 * c-pch.c (c_common_read_pch): Likewise.
5880 * c-lex.c (fe_file_change): Likewise.
5881
326e3391 58822011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
5883
5884 PR c++/17212
5885 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
5886
58872011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
5888
5889 PR c++/33067
5890 * c-pretty-print.c (pp_c_floating_constant): Output
5891 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
5892
b9a16870 58932011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
5894
5895 * c-common.c (def_builtin_1): Delete old interface with two
5896 parallel arrays to hold standard builtin declarations, and replace
5897 it with a function based interface that can support creating
5898 builtins on the fly in the future. Change all uses, and poison
5899 the old names. Make sure 0 is not a legitimate builtin index.
5900 * c-omp.c (c_finish_omp_barrier): Ditto.
5901 (c_finish_omp_taskwait): Ditto.
5902 (c_finish_omp_flush): Ditto.
5903
c7964868 59042011-10-11 Tristan Gingold <gingold@adacore.com>
5905
5906 * c.opt: (fallow-parameterless-variadic-functions): New.
5907
a4e3ffad 59082011-09-08 Dodji Seketeli <dodji@redhat.com>
5909
5910 PR c++/33255 - Support -Wunused-local-typedefs warning
5911 * c-common.h (struct c_language_function::local_typedefs): New
5912 field.
19931eea 5913 (record_locally_defined_typedef, maybe_record_typedef_use)
5914 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 5915 * c-common.c (record_locally_defined_typedef)
19931eea 5916 (maybe_record_typedef_use)
5917 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 5918 * c.opt: Declare new -Wunused-local-typedefs flag.
5919
737a23cc 59202011-09-06 Eric Botcazou <ebotcazou@adacore.com>
5921
5922 PR middle-end/50266
5923 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
5924 computations.
5925
7542c3b4 59262011-09-05 Richard Guenther <rguenther@suse.de>
5927
5928 * c-common.c (complete_array_type): Use ssize_int (-1) instead
5929 of integer_minus_one_node for empty array upper bounds.
5930
1dc92c59 59312011-08-28 Dodji Seketeli <dodji@redhat.com>
5932
5933 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
5934 it's the first time it's being called on this main TU.
5935
2bdf2b6e 59362011-08-24 Richard Guenther <rguenther@suse.de>
5937
5938 PR c/49396
5939 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
5940
59412011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 5942
5943 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
5944 defined in cpp_init_builtins and c_cpp_builtins.
5945
bff4ad11 59462011-08-19 Joseph Myers <joseph@codesourcery.com>
5947
5948 * c-common.c (c_common_reswords): Add __builtin_complex.
5949 * c-common.h (RID_BUILTIN_COMPLEX): New.
5950
985c6e3a 59512011-08-18 Joseph Myers <joseph@codesourcery.com>
5952
5953 * c-common.c (c_common_reswords): Add _Noreturn.
5954 (keyword_is_function_specifier): Handle RID_NORETURN.
5955 * c-common.h (RID_NORETURN): New.
5956
92a44a68 59572011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 5958
5959 * c-common.c (unsafe_conversion_p): New function. Check if it is
5960 unsafe to convert an expression to the type.
5961 (conversion_warning): Adjust, use unsafe_conversion_p.
5962 * c-common.h (unsafe_conversion_p): New function declaration.
5963
2169f33b 59642011-08-02 Jakub Jelinek <jakub@redhat.com>
5965
5966 * c-common.h (c_finish_omp_atomic): Adjust prototype.
5967 (c_finish_omp_taskyield): New prototype.
5968 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
5969 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
5970 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
5971 or RHS1 have side-effects, evaluate those too in the right spot,
5972 if it is a decl and LHS is also a decl, error out if they
5973 aren't the same.
5974 (c_finish_omp_taskyield): New function.
5975 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
5976 * c-pragma.c (omp_pragmas): Add taskyield.
5977 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
5978 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
5979 PRAGMA_OMP_CLAUSE_MERGEABLE.
5980
ab77850e 59812011-07-25 Dodji Seketeli <dodji@redhat.com>
5982
5983 * c-common.h (set_underlying_type): Remove parm name from
5984 declaration.
5985
6ee97920 59862011-07-25 Romain Geissler <romain.geissler@gmail.com>
5987
5988 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 5989
dc251364 59902011-07-22 Jason Merrill <jason@redhat.com>
5991
1a2a35f0 5992 PR c++/49793
5993 * c.opt (Wnarrowing): New.
5994
27282252 5995 PR c++/30112
5996 * c-common.h: Declare c_linkage_bindings.
5997 * c-pragma.c (handle_pragma_redefine_extname): Use it.
5998
dc251364 5999 PR c++/49813
6000 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6001 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6002 as flag_isoc99 for 'restrict'.
6003 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6004
fc501191 60052011-07-21 Ian Lance Taylor <iant@google.com>
6006
6007 PR middle-end/49705
6008 * c-common.c (c_disable_warnings): New static function.
6009 (c_enable_warnings): New static function.
6010 (c_fully_fold_internal): Change local unused_p to bool. Call
6011 c_disable_warnings and c_enable_warnings rather than change
6012 c_inhibit_evaluation_warnings.
6013
07b8f133 60142011-07-20 Jason Merrill <jason@redhat.com>
6015
6016 PR c++/6709 (DR 743)
6017 PR c++/42603 (DR 950)
6018 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6019 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6020 (CPP_DECLTYPE): New.
6021 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6022
2cc66f2a 60232011-07-19 Richard Guenther <rguenther@suse.de>
6024
6025 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6026 * c-omp.c (c_finish_omp_for): Likewise.
6027
3c802a1e 60282011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6029
6030 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6031 body on the next line.
6032
98a33d9f 60332011-07-08 Jason Merrill <jason@redhat.com>
6034
3115bda0 6035 PR c++/45437
6036 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6037
98a33d9f 6038 PR c++/49673
6039 * c-common.c (c_apply_type_quals_to_decl): Don't check
6040 TYPE_NEEDS_CONSTRUCTING.
6041
c38a75b7 60422011-07-06 Richard Guenther <rguenther@suse.de>
6043
6044 * c-common.c (c_common_nodes_and_builtins):
6045 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6046
e593356b 60472011-07-05 Richard Guenther <rguenther@suse.de>
6048
6049 * c-common.c (c_common_nodes_and_builtins): Build all common
6050 tree nodes first.
6051
fca0886c 60522011-06-27 Jakub Jelinek <jakub@redhat.com>
6053
a68f7a8d 6054 * c-common.h (c_tree_chain_next): New static inline function.
6055
fca0886c 6056 * c-common.c (check_builtin_function_arguments): Handle
6057 BUILT_IN_ASSUME_ALIGNED.
6058
2797f13a 60592011-06-21 Andrew MacLeod <amacleod@redhat.com>
6060
6061 * c-common.c: Add sync_ or SYNC__ to builtin names.
6062 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 6063
60642011-06-20 Pierre Vittet <piervit@pvittet.com>
6065
6066 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6067 handler.
6068 (gen_pragma_handler): New union.
6069 (internal_pragma_handler): New type.
6070 (c_register_pragma_with_data)
6071 (c_register_pragma_with_expansion_and_data): New functions.
6072
6073 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6074 (c_register_pragma, c_register_pragma_with_expansion)
6075 (c_invoke_pragma_handler): Changed to work with
6076 internal_pragma_handler.
6077 (c_register_pragma_with_data)
6078 (c_register_pragma_with_expansion_and_data): New functions.
6079
218e3e4e 60802011-06-14 Joseph Myers <joseph@codesourcery.com>
6081
6082 * c-common.c: Include common/common-target.h.
6083 (handle_section_attribute): Use
6084 targetm_common.have_named_sections.
6085 * c-cppbuiltin.c: Include common/common-target.h.
6086 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6087
41e53ed2 60882011-06-10 Richard Guenther <rguenther@suse.de>
6089
6090 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6091 to print a IDENTIFIER_NODE.
6092
a6f06169 60932011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6094 Joseph Myers <joseph@codesourcery.com>
6095
6096 * c.opt (fbuilding-libgcc): New option.
6097 * c-cppbuiltin.c (c_cpp_builtins): Define
6098 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6099
1ea9269b 61002011-06-07 Jason Merrill <jason@redhat.com>
6101
8ce59854 6102 * c-common.c (max_tinst_depth): Lower default to 900.
6103
1ea9269b 6104 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6105
1af0124d 61062011-06-07 Richard Guenther <rguenther@suse.de>
6107
6108 * c-common.c (c_common_nodes_and_builtins): Do not set
6109 size_type_node or call set_sizetype.
6110
0e9a4c01 61112011-06-07 Dodji Seketeli <dodji@redhat.com>
6112
6113 PR debug/49130
6114 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 6115 type when using pointer comparison to compare types.
0e9a4c01 6116
90b40725 61172011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6118
6119 * c.opt: Add -Wdelete-non-virtual-dtor.
6120 * c-opts.c (c_common_handle_option): Include it in -Wall.
6121
fc9c9e87 61222011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6123
6124 PR bootstrap/49190
6125
6126 Revert:
6127 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6128
6129 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6130 not tree_common.
6131
d0389adc 61322011-05-27 Jakub Jelinek <jakub@redhat.com>
6133
6134 PR c++/49165
6135 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6136 C++ don't call c_common_truthvalue_conversion on void type arms.
6137
cacfdc02 61382011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6139
6140 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6141 (stmt_list_stack): Define.
6142 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6143 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6144
027fc6ef 61452011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6146
6147 * c-common.c (warning_candidate_p): Check for BLOCKs.
6148
f21317a1 61492011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6150
6151 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6152 not tree_common.
6153
789e953d 61542011-05-25 Jakub Jelinek <jakub@redhat.com>
6155
6156 * c-common.c (def_fn_type): Remove extra va_end.
6157
7f506bca 61582011-05-23 Jason Merrill <jason@redhat.com>
6159
6160 PR c++/48106
6161 * c-common.c (c_common_get_narrower): New.
6162 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6163
774e9d58 61642011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6165
6166 * c-common.h (check_function_arguments): Tweak prototype of
6167 check_function_arguments.
6168 * c-common.c (check_function_arguments): Likewise. Adjust
6169 calls to check_function_nonnull, check_function_format, and
6170 check_function_sentinel.
6171 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6172 separate attributes and typelist arguments. Use
6173 FOREACH_FUNCTION_ARGS to iterate over argument types.
6174
23407dc9 61752011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6176
6177 * c-common.c (c_common_reswords): Reorder.
6178 * c-common.h (rid): Likewise.
6179
3a939d12 61802011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6181
6182 * c-common.c (def_fn_type): Don't call build_function_type, call
6183 build_function_type_array or build_varargs_function_type_array
6184 instead.
6185 (c_common_nodes_and_builtins): Likewise.
6186
b6e3dd65 61872011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6188
6189 * c-common.c (c_add_case_label): Omit the loc argument to
6190 build_case_label.
6191 * c-common.h (build_case_label): Remove.
6192 * c-semantics.c (build_case_label): Remove.
6193
4232a958 61942011-05-05 Joseph Myers <joseph@codesourcery.com>
6195
6196 * c-objc.h (objc_start_method_definition): Update prototype.
6197 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6198
d0af78c5 61992011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6200
6201 * c-common.c (check_main_parameter_types): Reindent. Don't use
6202 TYPE_ARG_TYPES directly.
6203 (handle_nonnull_attribute): Likewise.
6204 (sync_resolve_params): Likewise.
6205 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6206 to check_format_string.
6207 (handle_format_attribute): Likewise.
6208 (check_format_string): Take a function type to examine instead of
6209 a type list. Use a function_arg_iterator to step through argument
6210 types.
6211
ceb7b692 62122011-05-04 Richard Guenther <rguenther@suse.de>
6213
6214 * c-common.c (fix_string_type): Use size_int for index type bounds.
6215 (start_fname_decls): Do not pass NULL to build_int_cst.
6216 (c_init_attributes): Likewise.
6217 * c-lex.c (c_lex_with_flags): Likewise.
6218
c66c81be 62192011-04-27 Jason Merrill <jason@redhat.com>
6220
6221 * c-common.c (make_tree_vector_from_list): New.
6222 * c-common.h: Declare it.
6223
16930c72 62242011-04-26 Richard Guenther <rguenther@suse.de>
6225
6226 PR preprocessor/48248
6227 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6228 for output size with -P.
6229
23407dc9 62302011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6231
6232 * c-common.c (struct c_common_resword): Add __underlying_type.
6233 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6234
dd045aee 62352011-04-20 Jim Meyering <meyering@redhat.com>
6236
6237 * c-format.c (init_dollar_format_checking): Remove useless
6238 if-before-free.
6239
394dd737 62402011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6241
6242 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 6243 (objc_detect_field_duplicates): New.
394dd737 6244 * stub-objc.c: Likewise.
23407dc9 6245
a758bf7d 62462011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6247
6248 * stub-objc.c (objc_declare_protocols): Renamed to
6249 objc_declare_protocol.
6250 * c-objc.h: Likewise.
23407dc9 6251
29d7200d 62522011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6253
6254 * stub-objc.c (objc_declare_class): Updated argument name.
6255
9b88d08d 62562011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6257
6258 * c-common.h (c_common_init_ts): Declare.
6259 * c-common.c (c_common_init_ts): Define.
6260
4185cf58 62612011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6262
6263 * c-objc.h (objc_build_message_expr): Updated prototype.
6264 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 6265
5a90471f 62662011-04-12 Martin Jambor <mjambor@suse.cz>
6267
6268 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6269 of cgraph_node.
6270
783bb57e 62712011-04-11 Richard Guenther <rguenther@suse.de>
6272
6273 * c-common.c (complete_array_type): Build a range type of
6274 proper type.
6275
c33080b9 62762011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6277
6278 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6279 (handle_type_generic_attribute): Likewise.
6280
f8913d47 62812011-04-07 Jason Merrill <jason@redhat.com>
6282
6283 PR c++/48450
6284 * c-common.c (c_common_truthvalue_conversion): Don't ignore
6285 conversion from C++0x scoped enum.
6286
c94b1d0e 62872011-04-06 Joseph Myers <joseph@codesourcery.com>
6288
6289 * c-target-def.h: New file.
6290 * c-target.def: New file.
6291 * c-target.h: New file.
6292 * c-common.c (targetcm): Don't define here.
6293 * c-common.h (default_handle_c_option): Declare.
6294 * c-format.c: Include c-target.h instead of target.h.
6295 * c-opts.c: Include c-target.h instead of target.h. Explicitly
6296 include tm.h.
6297 (default_handle_c_option): Move from targhooks.c.
6298
acb10f41 62992011-03-29 Jakub Jelinek <jakub@redhat.com>
6300
6301 PR preprocessor/48248
6302 * c-ppoutput.c (print): Add src_file field.
6303 (init_pp_output): Initialize it.
6304 (maybe_print_line): Don't optimize by adding up to 8 newlines
6305 if map->to_file and print.src_file are different file.
6306 (print_line): Update print.src_file.
6307
82715bcd 63082011-03-25 Kai Tietz <ktietz@redhat.com>
6309
6310 * c-ada-spec.c (compare_comment): Use filename_cmp
6311 instead of strcmp for filename.
6312
451c8e2f 63132011-03-25 Jeff Law <law@redhat.com>
6314
1f78217c 6315 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 6316
3c47771c 63172011-03-25 Jason Merrill <jason@redhat.com>
6318
6319 * c.opt: Add -std=c++03.
6320
97e6200f 63212011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6322
6323 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6324
92a44a68 63252011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 6326
6327 PR target/12171
ee212425 6328 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6329 Display allowed attributes for function pointer types.
6330 (pp_c_attributes_display): New function to display
6331 attributes having affects_type_identity flag set to true.
6332 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6333
ac86af5d 6334 * c-common.c (c_common_attribute_table):
6335 Add new element.
6336 (c_common_format_attribute_table): Likewise.
6337
914d1151 63382011-03-18 Jason Merrill <jason@redhat.com>
6339
69788bdf 6340 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6341 * c-common.h: Don't declare it here.
6342 * c-common.c: Or define it here.
6343 * c-opts.c (c_common_handle_option): Or set it here.
6344
914d1151 6345 PR c++/35315
6346 * c-common.c (handle_transparent_union_attribute): Don't
6347 make a duplicate type in C++.
6348
54cf6eed 63492011-03-15 Jason Merrill <jason@redhat.com>
6350
6351 * c-common.c (max_constexpr_depth): New.
6352 * c-common.h: Declare it.
6353 * c-opts.c (c_common_handle_option): Set it.
6354 * c.opt (fconstexpr-depth): New option.
6355
02cb1060 63562011-03-11 Jason Merrill <jason@redhat.com>
6357
9bf1c74e 6358 * c-common.c (attribute_takes_identifier_p): Add missing const.
6359
02cb1060 6360 PR c++/46803
6361 * c-common.c (attribute_takes_identifier_p): Assume that an
6362 unknown attribute takes an identifier.
6363
ecf2703d 63642011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6365
6366 PR c/47786
6367 * c-common.c (c_type_hash): Call list_length instead of iterating
6368 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6369
2b19dfe4 63702011-02-19 Jakub Jelinek <jakub@redhat.com>
6371
6372 PR c/47809
6373 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6374
29cf2335 63752011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6376
6377 * c.opt (fobjc-abi-version=) New.
6378 (fobjc-nilcheck): New.
6379
fad3f658 63802011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6381
6382 PR c++/46890
6383 * c-common.h (keyword_is_decl_specifier): Declare.
6384 * c-common.c (keyword_is_decl_specifier): Define.
6385 (keyword_is_function_specifier): New function.
6386
a12319b3 63872011-01-26 Jakub Jelinek <jakub@redhat.com>
6388
6389 PR c/47473
6390 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6391 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6392 REAL_TYPE.
6393
5c128dc8 63942011-01-26 Arnaud Charlet <charlet@adacore.com>
6395
6396 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6397
8d67b0c7 63982011-01-26 Jakub Jelinek <jakub@redhat.com>
6399
6400 PR pch/47430
6401 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6402 after init_c_lex if pch_file is set.
6403
0675168d 64042011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6405
e8911163 6406 PR c++/43601
0675168d 6407 * c.opt (-fkeep-inline-dllexport): New switch.
6408
0725e25c 64092011-01-12 Richard Guenther <rguenther@suse.de>
6410
6411 PR middle-end/32511
6412 * c-common.c (handle_weak_attribute): Warn instead of error
6413 on declaring an inline function weak.
6414
fdd84b77 64152011-01-05 Tom Tromey <tromey@redhat.com>
6416
6417 * c-common.h (lvalue_error): Update.
6418 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6419 not error.
6420
e6e73d14 64212010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 6422
d67e8485 6423 PR objc/47075
6424 * c-objc.h (objc_finish_message_expr): Added argument to
6425 prototype.
6426
a36cf284 64272010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6428
6429 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6430 Use prototype_p.
6431
33b3681f 64322010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6433
6434 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 6435 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 6436
a1f90215 64372010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6438
6439 * c-common.h (readonly_error): Declare.
6440 * c-common.c (readonly_error): Define.
6441
b1bbc8e5 64422010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6443
6444 * c-common.h (invalid_indirection_error): Declare.
6445 * c-common.c (invalid_indirection_error): Define.
6446
b0d55af9 64472010-12-03 Richard Guenther <rguenther@suse.de>
6448
6449 PR c/46745
6450 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6451 (pp_c_unary_expression): Likewise.
6452 (pp_c_expression): Likewise.
6453
d7489d8d 64542010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6455
6456 * c-common.h (objc_finish_function): New.
6457 (objc_non_volatilized_type): Removed.
6458 (objc_type_quals_match): Removed.
6459 * stub-objc.c (objc_finish_function): New.
6460 (objc_non_volatilized_type): Removed.
6461 (objc_type_quals_match): Removed.
19931eea 6462
92468061 64632010-11-30 Joseph Myers <joseph@codesourcery.com>
6464
6465 * c-common.h (parse_optimize_options): Declare.
6466 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6467 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6468
967958e4 64692010-11-29 Joseph Myers <joseph@codesourcery.com>
6470
6471 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6472 GET_ENVIRONMENT.
6473 * c-pch.c (O_BINARY): Don't define here.
6474 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6475
b213bf24 64762010-11-25 Joseph Myers <joseph@codesourcery.com>
6477
6478 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6479 targetm.except_unwind_info.
6480
9faf44d6 64812010-11-23 Joseph Myers <joseph@codesourcery.com>
6482
6483 * c-opts.c (c_common_handle_option): Pass location to
6484 set_struct_debug_option.
6485
79396169 64862010-11-23 Joseph Myers <joseph@codesourcery.com>
6487
6488 * c-common.c (visibility_options): Move from ../opts.c.
6489 * c-common.h (struct visibility_flags, visibility_options):
6490 Declare here.
6491 * c-opts.c (finish_options): Rename to c_finish_options.
6492 (c_common_init): Update call to finish_options.
6493
b4aa4123 64942010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6495
6496 PR objc/34033
6497 * c-lex.c (lex_string): Check that each string in an Objective-C
6498 string concat sequence starts with either one or zero '@', and
6499 that there are no spurious '@' signs at the end.
6500
3e0e49f2 65012010-11-20 Joseph Myers <joseph@codesourcery.com>
6502
6503 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6504 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6505 HANDLE_PRAGMA_VISIBILITY.
6506 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6507 HANDLE_PRAGMA_VISIBILITY): Don't define.
6508 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6509
a9ffdd35 65102010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6511
6512 PR c++/16189
6513 PR c++/36888
6514 PR c++/45331
6515 * c-common.h (keyword_begins_type_specifier): Declare.
6516 (keyword_is_storage_class_specifier): Declare.
6517 (keyword_is_type_qualifier): Declare.
6518 * c-common.c (keyword_begins_type_specifier): New function.
6519 (keyword_is_storage_class_specifier): New function.
6520 (keyword_is_type_qualifier): Declare.
6521
93be21c0 65222010-11-19 Joseph Myers <joseph@codesourcery.com>
6523
6524 PR c/46547
6525 * c-common.c (in_late_binary_op): Define.
6526 (c_common_truthvalue_conversion): Check in_late_binary_op before
6527 calling c_save_expr.
6528 * c-common.h (in_late_binary_op): Declare.
6529
d7175aef 65302010-11-19 Joseph Myers <joseph@codesourcery.com>
6531
6532 * c-opts.c (c_common_handle_option): Update calls to
6533 set_struct_debug_option.
6534
c213e196 65352010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6536
6537 * c-common.h (objc_declare_protocols): Added additional argument.
6538 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 6539
0b5fc5d6 65402010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6541
6542 PR c/33193
6543 * c-common.h (build_real_imag_expr): Declare.
6544 * c-semantics.c (build_real_imag_expr): Define.
6545
b8ba44e7 65462010-11-17 Joseph Myers <joseph@codesourcery.com>
6547
6548 * c-opts.c (c_common_parse_file): Take no arguments.
6549 * c-common.h (c_common_parse_file): Update prototype.
6550
6ef8d12f 65512010-11-16 Jakub Jelinek <jakub@redhat.com>
6552
6553 PR c++/46401
6554 * c-common.c (warning_candidate_p): Don't track non-const calls
6555 or STRING_CSTs.
6556
929d2a90 65572010-11-15 Ian Lance Taylor <iant@google.com>
6558
6559 * c-lex.c (init_c_lex): Set macro debug callbacks if
6560 flag_dump_go_spec is set.
6561
e4a7640a 65622010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6563
6564 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6565 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6566
597d2d81 65672010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6568
6569 PR preprocessor/45038
6570 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6571 dialects.
6572
c123f04d 65732010-11-12 Joseph Myers <joseph@codesourcery.com>
6574
6575 * c-common.h (c_family_lang_mask): Declare.
6576 * c-opts.c (c_family_lang_mask): Make extern.
6577 * c-pragma.c (handle_pragma_diagnostic): Use
6578 control_warning_option.
6579
3c6c0e40 65802010-11-12 Joseph Myers <joseph@codesourcery.com>
6581
6582 * c-common.c (parse_optimize_options): Update call to
6583 decode_options.
6584 * c-common.h (c_common_handle_option): Update prototype.
6585 * c-opts.c (c_common_handle_option): Take location_t parameter and
6586 pass it to other functions.
6587
19ec5c9e 65882010-11-11 Joseph Myers <joseph@codesourcery.com>
6589
6590 * c-opts.c (warning_as_error_callback): Remove.
6591 (c_common_initialize_diagnostics): Don't call
6592 register_warning_as_error_callback.
6593 (c_common_handle_option): Handle -Werror=normalized= here.
6594
bf776685 65952010-11-10 Joseph Myers <joseph@codesourcery.com>
6596
6597 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6598 in diagnostic.
6599 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
6600 letter.
6601 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
6602 Remove trailing '.' from diagnostics.
6603 * c.opt (Wwrite-strings_: Avoid '`' in help text.
6604
6bd9d862 66052010-11-10 Joseph Myers <joseph@codesourcery.com>
6606
6607 * c-common.c (parse_optimize_options): Pass global_dc to
6608 decode_options.
6609 * c-opts.c (c_common_handle_option): Pass &global_options to
6610 set_Wstrict_aliasing.
6611 * c.opt (v): Don't mark Common or document here.
6612
1f6616ee 66132010-11-06 Iain Sandoe <iains@gcc.gnu.org>
6614
6615 PR target/44981
6616 * c-format.c (format_type): New type gcc_objc_string_format_type.
6617 (valid_stringptr_type_p): New.
6618 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 6619 (check_format_string): Pass expected type, use
1f6616ee 6620 valid_stringptr_type_p (), check that the format string types are
6621 consistent with the format specification.
6622 (decode_format_attr): Warn if NSString is used outside objective-c.
6623 (format_types_orig): Add NSString.
6624 (format_name): New.
6625 (format_flags): New.
6626 (check_format_arg): Handle format strings requiring an external parser.
6627 first_target_format_type: New variable.
6628 (handle_format_attribute): Set up first_target_format_type, pass the
6629 expected format arg string type to check_format_string().
6630 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
6631 * stub-objc.c (objc_string_ref_type_p): New.
6632 (objc_check_format_arg): New.
6633
b0d0931f 66342010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
6635
19931eea 6636 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 6637 * c-common.h (objc_build_class_component_ref): New.
6638 * stub-objc.c (objc_build_class_component_ref): New.
6639
f26877d5 66402010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6641
6642 * c.opt (Wproperty-assign-default): New option.
6643
1ef143b6 66442010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6645
6646 Implemented -fobjc-std=objc1 flag.
6647 * c.opt (fobjc-std=objc1): New option.
6648
8c582e4f 66492010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
6650
6651 Implemented format and noreturn attributes for Objective-C methods.
6652 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
6653 attribute for Objective-C methods.
6654
8637f1db 66552010-10-31 Jason Merrill <jason@redhat.com>
6656
6657 * c-common.c (conversion_warning, warn_for_collisions_1): Use
6658 EXPR_LOC_OR_HERE.
6659
9d9f5bb3 66602010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6661
6662 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6663 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
6664 (objc_add_property_declaration): Removed arguments for copies and
6665 ivar.
6666 (objc_build_getter_call): Renamed to
6667 objc_maybe_build_component_ref.
6668 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6669 (objc_is_property_ref): New.
6670 * c-common.c (c_common_reswords): Removed copies and ivar.
6671 * stub-objc.c (objc_add_property_declaration): Removed arguments
6672 for copies and ivar.
6673 (objc_build_getter_call): Renamed to
6674 objc_maybe_build_component_ref.
6675 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6676 (objc_is_property_ref): New.
19931eea 6677
56f907a0 66782010-10-29 Arnaud Charlet <charlet@adacore.com>
6679 Matthew Gingell <gingell@adacore.com>
6680
6681 * c-ada-spec.c (separate_class_package): New function.
6682 (pp_ada_tree_identifier): Prefix references to C++ classes with the
6683 name of their enclosing package.
6684 (print_ada_declaration): Use separate_class_package.
6685
b5fa273e 66862010-10-27 Jason Merrill <jason@redhat.com>
6687
5290e253 6688 * c-common.c (c_common_reswords): Add __is_literal_type.
6689 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
6690
b5fa273e 6691 * c-common.c (check_case_value): Remove special C++ code.
6692
7590f0e5 66932010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6694
6695 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
6696 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
6697 and RID_LAST_PATTR.
6698 (objc_add_property_declaration): Added additional arguments.
6699 (objc_property_attribute_kind): Removed.
6700 (objc_set_property_attr): Removed.
6701 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
6702 copy and nonatomic.
6703 * stub-objc.c (objc_add_property_declaration): Added additional
6704 arguments.
6705 (objc_set_property_attr): Removed.
19931eea 6706
1d894bcf 67072010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6708
6709 * c-common.h (objc_add_property_variable): Renamed to
6710 objc_add_property_declaration. Added location argument.
6711 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 6712
e23bf1fb 67132010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
6714
6715 * c-common.h (objc_maybe_printable_name): New.
6716 * stub-objc.c (objc_maybe_printable_name): New.
6717
92a44a68 67182010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6719 Andrew Pinski <pinskia@gmail.com>
93426222 6720
6721 * c-common.h (c_common_mark_addressable_vec): Declare.
6722 * c-common.c (c_common_mark_addressable_vec): New function.
6723
45b2b110 67242010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6725
6726 * c-common.h (objc_set_method_type): Removed.
6727 (objc_add_method_declaration): Added boolean argument.
6728 (objc_start_method_definition): Same change.
6729 (objc_build_method_signature): Same change.
6730 * stub-objc.c (objc_set_method_type): Removed.
6731 (objc_add_method_declaration): Added boolean argument.
6732 (objc_start_method_definition): Same change.
6733 (objc_build_method_signature): Same change.
6734
64cd9619 67352010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6736
6737 * c-common.h (finish_file): Removed.
6738 (objc_write_global_declarations): New.
6739 * c-opts.c (c_common_parse_file): Do not call finish_file.
6740 * stub-objc.c (objc_write_global_declarations): New.
19931eea 6741
e1f293c0 67422010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6743
6744 Implemented parsing @synthesize and @dynamic for
6745 Objective-C/Objective-C++.
6746 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
6747 (objc_add_synthesize_declaration): New.
6748 (objc_add_dynamic_declaration): New.
6749 * c-common.c (c_common_reswords): Add synthesize and dynamic.
6750 * stub-objc.c (objc_add_synthesize_declaration): New.
6751 (objc_add_dynamic_declaration): New.
19931eea 6752
ef97a312 67532010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6754
6755 PR target/46041
6756 * c-cppbuiltin.c (mode_has_fma): Move function here from
6757 builtins.c. Don't use the fma optab, instead just use the
6758 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
6759 using -save-temps.
6760
69b07042 67612010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6762
6763 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 6764
92a44a68 6765 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 6766
19931eea 6767 Radar 4330422
69b07042 6768 * c-common.h (objc_non_volatilized_type): New declaration
6769 * stub-objc.c (objc_non_volatilized_type): New stub.
6770
f15f2e56 67712010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
6772
69b07042 6773 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 6774
92a44a68 6775 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 6776
19931eea 6777 Radar 4133425
f15f2e56 6778 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 6779 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 6780
4a8875ed 67812010-10-17 Iain Sandoe <iains@gcc.gnu.org>
6782
6783 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
6784 * c-common.h (enum rid): Add RID_AT_PACKAGE.
6785 (objc_ivar_visibility_kind): New enum.
6786 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 6787 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 6788 visibility enum.
6789
7e0713b1 67902010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6791
6792 * c-cppbuiltin.c (builtin_define_float_constants): Emit
6793 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
6794 has the appropriate fma builtins.
6795 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
6796
86c110ac 67972010-10-14 Iain Sandoe <iains@gcc.gnu.org>
6798
7e0713b1 6799 merge from FSF apple 'trunk' branch.
92a44a68 6800 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 6801
86c110ac 6802 Radars 4436866, 4505126, 4506903, 4517826
6803 * c-common.c (c_common_resword): Define @property and its attributes.
6804 * c-common.h: Define property attribute enum entries.
6805 (OBJC_IS_PATTR_KEYWORD): New.
6806 (objc_property_attribute_kind): New enum.
6807 Declare objc_set_property_attr (), objc_add_property_variable (),
6808 objc_build_getter_call () and objc_build_setter_call ().
6809 * stub-objc.c (objc_set_property_attr): New stub.
6810 (objc_add_property_variable): Likewise.
6811 (objc_build_getter_call): Likewise.
6812 (objc_build_setter_call) Likewise.
7e0713b1 6813
40c8d1dd 68142010-10-13 Iain Sandoe <iains@gcc.gnu.org>
6815
7e0713b1 6816 merge from FSF apple 'trunk' branch.
92a44a68 6817 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 6818
6819 Radar 3803157 (method attributes)
6820 * c-common.c (handle_deprecated_attribute): Recognize
6821 objc methods as valid declarations.
6822 * c-common.h: Declare objc_method_decl ().
7e0713b1 6823 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 6824
f3f006ad 68252010-10-08 Joseph Myers <joseph@codesourcery.com>
6826
6827 * c-common.c (parse_optimize_options): Call
6828 decode_cmdline_options_to_array_default_mask before
6829 decode_options. Update arguments to decode_options.
6830 * c-common.h (c_common_init_options_struct): Declare.
6831 * c-opts.c (c_common_init_options_struct): New. Split out from
6832 c_common_init_options.
6833
0a65c3bb 68342010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
6835
6836 Implemented fast enumeration for Objective-C.
6837 * c-common.h (objc_finish_foreach_loop): New.
6838 * stub-objc.c (objc_finish_foreach_loop): New.
6839
24ca3b4e 68402010-10-05 Joseph Myers <joseph@codesourcery.com>
6841
6842 * c-common.h (struct diagnostic_context): Don't declare here.
6843 (c_common_initialize_diagnostics): Declare using
6844 diagnostic_context typedef.
6845 * c-opts.c (c_common_handle_option): Pass global_dc to
6846 handle_generated_option.
6847
f83b64ca 68482010-10-04 Joseph Myers <joseph@codesourcery.com>
6849
6850 * c-opts.c (c_common_handle_option): Pass &global_options_set to
6851 handle_generated_option.
6852
2fdec027 68532010-10-03 Ian Lance Taylor <iant@google.com>
6854
6855 * c.opt (-fplan9-extensions): New option.
6856
41acdfa4 68572010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6858
6859 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
6860 Remove.
6861 (c_cpp_builtins): Call functions from cppbuiltin.c instead
6862 of duplicating code.
6863
069761fb 68642010-09-30 Iain Sandoe <iains@gcc.gnu.org>
6865
6866 * c-common.c: Add two new entries for @optional
6867 and @required keywords.
6868
6869 merge from FSF 'apple/trunk' branch.
92a44a68 6870 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 6871
6872 Radar 4386773
6873 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
6874 objective-c keywords.
6875 (objc_set_method_opt): New declaration.
6876 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 6877
2c5d2e39 68782010-09-30 Joseph Myers <joseph@codesourcery.com>
6879
6880 * c-common.c (handle_optimize_attribute): Pass &global_options to
6881 cl_optimization_save and cl_optimization_restore.
6882 * c-opts.c (c_common_handle_option): Pass &global_options to
6883 handle_generated_option.
6884 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
6885 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
6886 &global_options to cl_optimization_restore.
6887
e5c75ac3 68882010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
6889
6890 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
6891 Objective-C/Objective-C++ keywords.
6892
3511333e 68932010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 6894
19931eea 6895 Merge from 'apple/trunk' branch on FSF servers.
6896
92a44a68 6897 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 6898
6899 Radar 4281748
6900 * c-common.h (objc_check_global_decl): New declaration.
6901 * stub-objc.c (objc_check_global_decl): New stub.
6902
5461e683 69032010-09-29 Joseph Myers <joseph@codesourcery.com>
6904
6905 * c.opt: Don't use VarExists.
6906
5ae82d58 69072010-09-29 Joseph Myers <joseph@codesourcery.com>
6908
6909 * c-common.c (c_cpp_error): Update names of diagnostic_context
6910 members.
6911 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
6912 cl_optimization members.
6913 * c-opts.c (warning_as_error_callback, c_common_handle_option,
6914 sanitize_cpp_opts, finish_options): Update names of cpp_options
6915 members.
6916
b27e241e 69172010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
6918
6919 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
6920 (objc_is_reserved_word): Removed.
6921 * c-common.c: Updated comments.
6922 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
6923 objc_is_reserved_word.
6924 * stub-objc.c (objc_is_reserved_word): Removed.
6925
03fc2271 69262010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6927
19931eea 6928 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 6929 include attributes.
6930 (objc_start_method_definition): Likewise.
6931 (objc_build_keyword_decl): Likewise.
6932 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
6933 (objc_start_method_definition): Likewise.
6934 (objc_build_keyword_decl): Likewise.
6935
a336eb4b 69362010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6937
6938 * c-common.h (objc_start_class_interface): Adjust prototype.
6939 (objc_start_category_interface): Likewise.
6940 (objc_start_protocol): Likewise.
6941 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
6942 (objc_start_class_interface): Likewise.
6943 (objc_start_category_interface): Likewise.
6944
48b14f50 69452010-09-27 Ian Lance Taylor <iant@google.com>
6946
6947 * c-common.c (c_common_attribute_table): Add no_split_stack.
6948 (handle_no_split_stack_attribute): New static function.
6949
4abfc532 69502010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
6951
19931eea 6952 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 6953
92a44a68 6954 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 6955
19931eea 6956 Radar 4229905
4abfc532 6957 * c-common.h (objc_have_common_type): New declaration.
6958 * stub-objc.c (objc_have_common_type): New stub.
6959
6960 2005-06-22 Ziemowit Laski <zlaski@apple.com>
6961
6962 Radar 4154928
6963 * c-common.h (objc_common_type): New prototype.
19931eea 6964 * stub-objc.c (objc_common_type): New stub.
4abfc532 6965
7bd95dfd 69662010-09-24 Jan Hubicka <jh@suse.cz>
6967
6968 * c-common.c (handle_leaf_attribute): New function.
6969 (struct attribute_spec c_common_att): Add leaf.
6970
5789e05b 69712010-09-22 Joseph Myers <joseph@codesourcery.com>
6972
6973 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
6974 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
6975 -dump, -dump=, -imacros, -imacros=, -include, -include=,
6976 -include-barrier, -include-directory, -include-directory=,
6977 -include-directory-after, -include-directory-after=,
6978 -include-prefix, -include-prefix=, -include-with-prefix,
6979 -include-with-prefix=, -include-with-prefix-after,
6980 -include-with-prefix-after=, -include-with-prefix-before,
6981 -include-with-prefix-before=, -no-integrated-cpp,
6982 -no-line-commands, -no-standard-includes, -no-warnings, -output,
6983 -output=, -pedantic, -pedantic-errors, -preprocess,
6984 -print-missing-file-dependencies, -trace-includes, -traditional,
6985 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
6986 -user-dependencies, -verbose, -write-dependencies,
6987 -write-user-dependencies, no-integrated-cpp, traditional): New.
6988
e6fb54ba 69892010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6990
6991 PR objc/23710
9b60f3b0 6992 * c-common.h (objc_start_method_definition): Return bool instead
6993 of void.
6994 * stub-objc.c (objc_start_method_definition): Return bool instead
6995 of void.
6996
69972010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6998
6999 PR objc/25965
7000 * c-common.h (objc_get_interface_ivars): New declaration.
7001 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 7002
e44b0a1f 70032010-09-15 Ian Lance Taylor <iant@google.com>
7004
7005 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 7006 messages. Remove period at end of warning message.
e44b0a1f 7007
85c0a25c 70082010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7009
7010 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7011 (handle_alias_attribute): ... here.
7012 (handle_ifunc_attribute): New.
7013
5ba33bf4 70142010-09-06 Mark Mitchell <mark@codesourcery.com>
7015
7016 * c-common.h (do_warn_double_promotion): Declare.
7017 * c-common.c (do_warn_double_promotion): Define.
7018
c920faa3 70192010-09-05 Mark Mitchell <mark@codesourcery.com>
7020
7021 * c.opt (Wdouble-promotion): New.
7022
9604e070 70232010-09-02 Joseph Myers <joseph@codesourcery.com>
7024
7025 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7026 fvtable-thunks, fxref): Mark no longer supported in help text.
7027
3b0273a1 70282010-09-02 Joseph Myers <joseph@codesourcery.com>
7029
7030 * c.opt (Wimport, fall-virtual, falt-external-templates,
7031 fdefault-inline, fenum-int-equiv, fexternal-templates,
7032 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7033 fname-mangling-version-, fnew-abi, fnonnull-objects,
7034 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7035 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7036 applicable.
7037 (fhandle-exceptions): Mark with Alias and Warn.
7038 * c-opts.c (c_common_handle_option): Don't handle options marked
7039 as ignored.
7040
67089c6b 70412010-09-02 Joseph Myers <joseph@codesourcery.com>
7042
7043 * c.opt (Wcomments, Werror-implicit-function-declaration,
7044 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7045 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7046 aliases.
7047 * c-common.c (option_codes): Use OPT_Wcomment instead of
7048 OPT_Wcomments.
7049 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7050 Don't handle options marked as aliases.
7051
2af087f2 70522010-08-25 Richard Guenther <rguenther@suse.de>
7053
7054 * c-common.c (c_common_get_alias_set): Remove special
7055 handling for pointers.
7056
48148244 70572010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7058
7059 * c-common.c: Use FOR_EACH_VEC_ELT.
7060 * c-gimplify.c: Likewise.
7061 * c-pragma.c: Likewise.
7062
89c69892 70632010-08-16 Joseph Myers <joseph@codesourcery.com>
7064
7065 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7066 RejectDriver.
7067 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7068 RejectDriver.
7069 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7070 instead of OPT_MDX and OPT_MMDX.
7071
e28aa114 70722010-08-16 Joseph Myers <joseph@codesourcery.com>
7073
7074 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7075
99b66d21 70762010-08-12 Joseph Myers <joseph@codesourcery.com>
7077
7078 * c.opt (MD, MMD): Change to MDX and MMDX.
7079 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7080
666f4bf0 70812010-08-11 Joseph Myers <joseph@codesourcery.com>
7082
7083 * c-opts.c (c_common_handle_option): Call handle_generated_option
7084 instead of handle_option.
7085
5ec815f6 70862010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7087
7088 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7089 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7090
d13143cf 70912010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7092
7093 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7094 (pending_redefine_extname): Change type to a VEC.
7095 (add_to_renaming_pragma_list): Update for new type of
7096 pending_redefine_extname.
5ec815f6 7097 (maybe_apply_renaming_pragma): Likewise.
d13143cf 7098
2008c983 70992010-08-04 Arnaud Charlet <charlet@adacore.com>
7100
7101 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7102 visited.
7103 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7104 decide whether a type has already been declared/seen.
7105 Do not go to the original type.
7106 (dump_nested_types): New parameter forward.
7107 Generate forward declaration if needed and mark type as visited.
7108 (print_ada_declaration): Call dump_nested_types if not already done.
7109 Mark types as visited.
7110
9b091a73 71112010-08-03 Joseph Myers <joseph@codesourcery.com>
7112
7113 * c.opt (-print-pch-checksum): Remove option.
7114 * c-opts.c (c_common_handle_option): Don't handle
7115 OPT_print_pch_checksum.
7116
b78351e5 71172010-07-27 Joseph Myers <joseph@codesourcery.com>
7118
7119 * c-common.h (c_common_handle_option): Update prototype and return
7120 value type.
7121 * c-opts.c (c_common_handle_option): Update prototype and return
7122 value type. Update calls to handle_option and
7123 enable_warning_as_error.
7124
34416a90 71252010-07-27 Jakub Jelinek <jakub@redhat.com>
7126
7127 PR c/45079
7128 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7129
fecf9011 71302010-07-27 Joseph Myers <joseph@codesourcery.com>
7131
7132 * c-common.h (c_common_missing_argument): Remove.
7133 * c-opts.c (c_common_missing_argument): Remove.
7134 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7135 idirafter, imacros, include, isysroot, isystem, iquote): Add
7136 MissingArgError.
7137 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7138
e88d34f6 71392010-07-27 Joseph Myers <joseph@codesourcery.com>
7140
7141 * c-common.h (c_common_option_lang_mask,
7142 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7143 New.
7144 (c_common_init_options): Update prototype.
7145 * c-opts.c (c_common_option_lang_mask): New.
7146 (c_common_initialize_diagnostics): Split out of
7147 c_common_init_options.
7148 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7149 New.
7150 (c_common_init_options): Update prototype. Use decoded options in
7151 search for -lang-asm.
7152
1767a056 71532010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7154
7155 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7156 * c-format.c: Likewise.
7157
0b205f4c 71582010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7159
7160 * c-common.h: Include diagnostic-core.h. Error if already
7161 included.
7162 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7163
1c58e3f1 71642010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7165
1f78217c 7166 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 7167 Do not include expr.h
7168 (vector_mode_valid_p): Move here.
7169
33cc157c 71702010-06-21 DJ Delorie <dj@redhat.com>
7171
7172 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7173 allow these pragmas anywhere.
7174
71752010-06-14 Jakub Jelinek <jakub@redhat.com>
7176
7177 PR bootstrap/44509
7178 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7179 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7180 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7181 ggc_strdup instead of xstrdup.
7182
71832010-06-10 Jakub Jelinek <jakub@redhat.com>
7184
7185 * c-cppbuiltin.c: Include cpp-id-data.h.
7186 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7187 (lazy_hex_fp_value): New function.
7188 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7189
9b40bfbf 71902010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7191
7192 * c-gimplify.c: Do not include tree-flow.h
7193
202d6e5f 71942010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7195
7196 PR other/44034
7197 * c-common.c: Rename targetm member:
7198 targetm.enum_va_list -> targetm.enum_va_list_p
7199
d3237426 72002010-06-28 Anatoly Sokolov <aesok@post.ru>
7201
7202 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7203
596981c8 72042010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7205
7206 * c-cppbuiltin.c: Do not include except.h.
7207
b9bdfa0b 72082010-06-24 Andi Kleen <ak@linux.intel.com>
7209
19931eea 7210 * c-common.c (warn_for_omitted_condop): New.
7211 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 7212
55ad092d 72132010-06-21 Joseph Myers <joseph@codesourcery.com>
7214
7215 * c.opt (lang-objc): Remove.
7216 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7217
9e7c2572 72182010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7219
7220 * c-opts.c: Include "tm_p.h".
7221
615ef0bb 72222010-06-20 Joseph Myers <joseph@codesourcery.com>
7223
7224 * c-common.c (parse_optimize_options): Update call to
7225 decode_options.
7226
aef48c9a 72272010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7228
7229 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7230 new type of types_used_by_cur_var_decl.
7231
d74003b4 72322010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7233
7234 PR bootstrap/44512
7235 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7236 for C++ standard compliance.
7237
1194d077 72382010-06-16 Jason Merrill <jason@redhat.com>
7239
7240 * c.opt: Add -Wnoexcept.
7241
d473d901 72422010-06-16 Richard Guenther <rguenther@suse.de>
7243
7244 PR c/44555
7245 * c-common.c (c_common_truthvalue_conversion): Remove
7246 premature and wrong optimization concering ADDR_EXPRs.
7247
b62dbfd3 72482010-06-15 Arnaud Charlet <charlet@adacore.com>
7249
7250 * c-ada-spec.c (dump_sloc): Remove column info.
7251 (is_simple_enum): New function.
7252 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7253 enum types when relevant.
7254
200dd99c 72552010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7256
19931eea 7257 * c-common.c (conversion_warning): Warn at expression
200dd99c 7258 location.
7259
abf6a617 72602010-06-10 Joseph Myers <joseph@codesourcery.com>
7261
7262 * c-opts.c (c_common_handle_option): Don't handle
7263 OPT_fshow_column.
7264
ba72912a 72652010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7266
7267 * c-pragma.c (push_alignment): Use typed GC allocation.
7268 (handle_pragma_push_options): Likewise.
7269
7270 * c-common.c (parse_optimize_options): Likewise.
7271
7272 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7273 option.
7274
4aafe913 72752010-06-07 Joseph Myers <joseph@codesourcery.com>
7276
7277 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7278 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7279 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7280 flag_signed_bitfields, warn_strict_null_sentinel,
7281 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7282 flag_gen_declaration, flag_no_gnu_keywords,
7283 flag_implement_inlines, flag_implicit_templates,
7284 flag_implicit_inline_templates, flag_optional_diags,
7285 flag_elide_constructors, flag_default_inline, flag_rtti,
7286 flag_conserve_space, flag_access_control, flag_check_new,
7287 flag_new_for_scope, flag_weak, flag_working_directory,
7288 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7289 flag_enforce_eh_specs, flag_threadsafe_statics,
7290 flag_pretty_templates): Remove.
7291 * c-common.h (flag_preprocess_only, flag_nil_receivers,
7292 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7293 flag_replace_objc_classes, flag_undef, flag_no_builtin,
7294 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7295 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7296 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7297 flag_no_gnu_keywords, flag_implement_inlines,
7298 flag_implicit_templates, flag_implicit_inline_templates,
7299 flag_optional_diags, flag_elide_constructors, flag_default_inline,
7300 flag_rtti, flag_conserve_space, flag_access_control,
7301 flag_check_new, flag_new_for_scope, flag_weak,
7302 flag_working_directory, flag_use_cxa_atexit,
7303 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7304 flag_threadsafe_statics, flag_pretty_templates,
7305 warn_strict_null_sentinel): Remove.
7306 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7307 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7308 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7309 fimplicit-inline-templates, fimplicit-templates,
7310 flax-vector-conversions, fms-extensions, fnil-receivers,
7311 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7312 frtti, fshort-double, fshort-enums, fshort-wchar,
7313 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7314 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7315 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7316 gen-decls, undef): Use Var.
7317 (fdefault-inline, foptional-diags): Document as doing nothing.
7318 * c-opts.c (c_common_handle_option): Remove cases for options now
7319 using Var. Mark ignored options as such.
7320
7bedc3a0 73212010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7322
19931eea 7323 * c-common.c: Moved to here from parent directory.
7bedc3a0 7324 * c-common.def: Likewise.
7325 * c-common.h: Likewise.
7326 * c-cppbuiltin.c: Likewise.
7327 * c-dump.c: Likewise.
7328 * c-format.c: Likewise.
7329 * c-format.h : Likewise.
7330 * c-gimplify.c: Likewise.
7331 * c-lex.c: Likewise.
7332 * c-omp.c: Likewise.
7333 * c.opt: Likewise.
7334 * c-opts.c: Likewise.
7335 * c-pch.c: Likewise.
7336 * c-ppoutput.c: Likewise.
7337 * c-pragma.c: Likewise.
7338 * c-pragma.h: Likewise.
7339 * c-pretty-print.c: Likewise.
7340 * c-pretty-print.h: Likewise.
7341 * c-semantics.c: Likewise.
7342 * stub-objc.c: Likewise.
7343
7344 * c-common.c: Include gt-c-family-c-common.h.
7345 * c-pragma.c: Include gt-c-family-c-pragma.h.
7346\f
f1717362 7347Copyright (C) 2010-2016 Free Software Foundation, Inc.
7bedc3a0 7348
7349Copying and distribution of this file, with or without modification,
7350are permitted in any medium without royalty provided the copyright
7351notice and this notice are preserved.