]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Introduce -fprofile-update=prefer-atomic
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
7907d43b 12016-11-13 Eric Botcazou <ebotcazou@adacore.com>
2
3 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
4 for nested types only if the type is a record or union and dump SLOC.
5
b1363399 62016-11-09 Jason Merrill <jason@redhat.com>
7
8 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
9
58721d0c 102016-11-09 Jakub Jelinek <jakub@redhat.com>
11
12 * c-ubsan.c (ubsan_instrument_shift): Handle split
13 -fsanitize=shift-base and -fsanitize=shift-exponent.
14
2e9e9363 152016-11-07 Jason Merrill <jason@redhat.com>
16
17 * c.opt (Wc++1z-compat): New.
18 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
19
629b6abc 202016-11-07 Martin Liska <mliska@suse.cz>
21
22 * c-warn.c (warn_for_unused_label): Save all labels used
23 in goto or in &label.
24
2f1c4c07 252016-11-03 Jason Merrill <jason@redhat.com>
26
27 * c-cppbuiltin.c (c_cpp_builtins): Correct
28 __cpp_inheriting_constructors.
29
7896267d 302016-11-01 Jason Merrill <jason@redhat.com>
31
02a9e65f 32 * c-cppbuiltin.c (c_cpp_builtins): Update
33 __cpp_inheriting_constructors.
34
7896267d 35 * c.opt (-fnew-inheriting-ctors): New.
36 * c-opts.c: Default to on for ABI 11+.
37
f6f44a1d 382016-10-31 Jakub Jelinek <jakub@redhat.com>
39
40 PR c++/77948
41 * c.opt (fext-numeric-literals): Add Var and Init.
42 * c-opts.c (c_common_handle_option): Don't clear
43 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
44 (c_common_post_options): Clear it here if not set
45 explicitly.
46
d24c4079 472016-10-28 Aldy Hernandez <aldyh@redhat.com>
48
49 PR debug/77773
50 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
51 if NULL.
52
6e1b2ffb 532016-10-25 Jakub Jelinek <jakub@redhat.com>
54
55 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
56 * c-common.c (c_common_reswords): Add __builtin_launder.
57
5f64e688 582016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
59
60 * c-common.c (c_common_truthvalue_conversion): Warn for
61 multiplications in boolean context. Fix the quoting of '<<' and '<'
62 in the shift warning.
63
3645e924 642016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
65
66 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
67
146cbd63 682016-10-20 Jason Merrill <jason@redhat.com>
69
70 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
71
5c2ba578 722016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
73
74 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
75 integer shift ops in boolean context.
76
772016-10-18 Aldy Hernandez <aldyh@redhat.com>
da6cf191 78
79 * c.opt (Walloca): New.
80 (Walloca-larger-than=): New.
81 (Wvla-larger-than=): New.
82
876d4bc9 832016-10-17 Marek Polacek <polacek@redhat.com>
84
85 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
86 Return immediately when finding a match.
87 (warn_tautological_cmp): Remove a boolean variable that is no longer
88 needed.
89
b0c98c23 902016-10-17 Marek Polacek <polacek@redhat.com>
91
92 * c-attribs.c: New file.
93 * c-common.c: Move attributes handling to c-attribs.c.
94 (get_nonnull_operand): No longer static.
95 * c-common.h: Move the declarations from c-attribs.c to its own section.
96
2ab6420c 972016-10-14 Jason Merrill <jason@redhat.com>
98
99 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
100 and __cpp_deduction_guides.
101
81f19d90 1022016-10-13 Jason Merrill <jason@redhat.com>
103
104 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
105
ad7b10a2 1062016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
107
108 * c-cppbuiltin.c: Include memmodel.h.
109 * c-opts.c: Likewise.
110 * c-pragma.c: Likewise.
111 * c-warn.c: Likewise.
112
12663602 1132016-10-12 Jakub Jelinek <jakub@redhat.com>
114
115 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
116 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
117 * c-opts.c (sanitize_cpp_opts): Initialize
118 cpp_opts->cpp_warn_implicit_fallthrough.
119
424b2d7d 1202016-10-11 Marek Polacek <polacek@redhat.com>
121
122 * c-common.c (warning_candidate_p): Change the return type to bool
123 and return true/false instead of 1/0.
124 (vector_mode_valid_p): Likewise.
125
0f4cea33 1262016-10-11 Marek Polacek <polacek@redhat.com>
127
128 * c-common.c (fold_for_warn): No longer static.
129 (bool_promoted_to_int_p): Likewise.
130 (c_common_get_narrower): Likewise.
131 (constant_expression_warning): Move to c-warn.c.
132 (constant_expression_error): Likewise.
133 (overflow_warning): Likewise.
134 (warn_logical_operator): Likewise.
135 (find_array_ref_with_const_idx_r): Likewise.
136 (warn_tautological_cmp): Likewise.
137 (expr_has_boolean_operands_p): Likewise.
138 (warn_logical_not_parentheses): Likewise.
139 (warn_if_unused_value): Likewise.
140 (strict_aliasing_warning): Likewise.
141 (sizeof_pointer_memaccess_warning): Likewise.
142 (check_main_parameter_types): Likewise.
143 (conversion_warning): Likewise.
144 (warnings_for_convert_and_check): Likewise.
145 (match_case_to_enum_1): Likewise.
146 (match_case_to_enum): Likewise.
147 (c_do_switch_warnings): Likewise.
148 (warn_for_omitted_condop): Likewise.
149 (readonly_error): Likewise.
150 (lvalue_error): Likewise.
151 (invalid_indirection_error): Likewise.
152 (warn_array_subscript_with_type_char): Likewise.
153 (warn_about_parentheses): Likewise.
154 (warn_for_unused_label): Likewise.
155 (warn_for_div_by_zero): Likewise.
156 (warn_for_memset): Likewise.
157 (warn_for_sign_compare): Likewise.
158 (do_warn_double_promotion): Likewise.
159 (do_warn_unused_parameter): Likewise.
160 (record_locally_defined_typedef): Likewise.
161 (maybe_record_typedef_use): Likewise.
162 (maybe_warn_unused_local_typedefs): Likewise.
163 (maybe_warn_bool_compare): Likewise.
164 (maybe_warn_shift_overflow): Likewise.
165 (warn_duplicated_cond_add_or_warn): Likewise.
166 (diagnose_mismatched_attributes): Likewise.
167 * c-common.h: Move the declarations from c-warn.c to its own section.
168 * c-warn.c: New file.
169
7a7ca07c 1702016-10-08 Jason Merrill <jason@redhat.com>
171
172 * c-common.c (c_common_truthvalue_conversion): Don't distribute
173 into COND_EXPR in C++.
174
ad0c1dec 1752016-10-08 Jakub Jelinek <jakub@redhat.com>
176
177 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
178 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
179 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
180
cd45162d 1812016-10-07 Jakub Jelinek <jakub@redhat.com>
182
183 Implement LWG2296 helper intrinsic
184 * c-common.h (enum rid): Add RID_ADDRESSOF.
185 * c-common.c (c_common_reswords): Add __builtin_addressof.
186
0365bfa8 1872016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
188
189 PR c++/77700
190 * c-common.c (c_common_truthvalue_conversion): Warn also for
191 suspicious enum values in boolean context.
192
adeca879 1932016-10-06 Jakub Jelinek <jakub@redhat.com>
194
195 Implement P0258R2 - helper for C++17
196 std::has_unique_object_representations trait
197 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
198 * c-common.c (c_common_reswords): Add
199 __has_unique_object_representations.
200
c6958264 2012016-10-05 Jakub Jelinek <jakub@redhat.com>
202
203 PR sanitizer/66343
204 * c-ubsan.c (ubsan_instrument_return): Don't call
205 initialize_sanitizer_builtins here.
206
2b6903a5 2072016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
208
209 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
210 conditional expression in boolean context when only one arm is
211 non-boolean.
212
5c176ebe 2132016-10-05 Jakub Jelinek <jakub@redhat.com>
214
c7b01e77 215 PR sanitizer/77823
216 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
217 is not integral.
218
5c176ebe 219 * c-common.c (c_common_reswords): Update comment for C++11.
220
492ab670 2212016-10-04 Jason Merrill <jason@redhat.com>
222
223 * c-common.c (make_tree_vector_from_ctor): New.
224 * c-common.h: Declare it.
225
bc6b11a7 2262016-10-04 Jakub Jelinek <jakub@redhat.com>
227
228 * c-cppbuiltin.c (c_cpp_builtins): Don't define
229 __LIBGCC_JCR_SECTION_NAME__.
230
255beb07 2312016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
232
233 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
234 left shift in boolean context.
235
c5d89bae 2362016-09-29 Jakub Jelinek <jakub@redhat.com>
237
238 Implement P0001R1 - C++17 removal of register storage class specifier
239 * c.opt (Wregister): New warning.
240 * c-opts.c (c_common_post_options): Enable -Wregister by
241 default for C++17.
242
4267ed07 2432016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
244
245 * c-opts.c (c_common_post_options): Remove special case for
246 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
247 in C++.
248
0b72b025 2492016-09-27 Jakub Jelinek <jakub@redhat.com>
250
4fd4e9e0 251 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
252 -std=c++1z.
253
0b72b025 254 * c-ada-spec.c (print_ada_declaration): Remove break after return.
255
ea36272b 2562016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
257
258 * c-common.c: Include memmodel.h.
259
e997bd3a 2602016-09-26 Marek Polacek <polacek@redhat.com>
261
262 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
263
3c77f69c 2642016-09-26 Marek Polacek <polacek@redhat.com>
265
266 PR c/7652
267 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
268 (handle_fallthrough_attribute): New function.
269 (attribute_fallthrough_p): New function.
270 * c-common.h (attribute_fallthrough_p): Declare.
271
481ce481 2722016-09-24 Marek Polacek <polacek@redhat.com>
273
274 PR c/77490
275 * c.opt (Wbool-operation): New.
276
a5fe0b37 2772016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
278
279 * c-common.c (c_common_truthvalue_conversion): Inhibit
280 Wint-in-bool-context warning with from_macro_definition_at.
281 Mention the expression will always evaluate to true.
282
90f40f08 2832016-09-21 Martin Sebor <msebor@redhat.com>
284
285 PR bootstrap/77676
286 * c.opt (fprintf-return-value): Temporarily initialize to zero
287 to unblock bootstrap failures.
288
98aa0f57 2892016-09-21 Jakub Jelinek <jakub@redhat.com>
290
291 PR c++/77651
292 * c.opt (Waligned-new=): Add RejectNegative.
293 (faligned-new=): Likewise. Spelling fix - change
294 aligned_new_threshhold to aligned_new_threshold.
295 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
296 to aligned_new_threshold.
297
b9833bfd 2982016-09-20 Martin Sebor <msebor@redhat.com>
299
300 PR middle-end/49905
301 * c.opt: Add -Wformat-length and -fprintf-return-value.
302
bed03df1 3032016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
304
305 PR c++/77434
306 * c.opt (Wint-in-bool-context): New warning.
307 * c-common.c (c_common_truthvalue_conversion): Warn on integer
308 constants in boolean context.
309
9b5c49ef 3102016-09-19 Joseph Myers <joseph@codesourcery.com>
311
312 * c-common.c (max_align_t_align): Also consider alignment of
313 float128_type_node.
314
cc4b5c58 3152016-09-15 Jason Merrill <jason@redhat.com>
316
317 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
318 DECL_EXTERNAL.
319
ef45c4c0 3202016-09-14 Jason Merrill <jason@redhat.com>
321
322 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
323 limit FIELD_DECL, either.
324
b99cc6da 3252016-09-14 Marek Polacek <polacek@redhat.com>
326
327 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
328 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
329 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
330
68ef907c 3312016-09-13 David Malcolm <dmalcolm@redhat.com>
332
333 * c-common.c (warn_logical_not_parentheses): Replace
334 rich_location::add_fixit_insert calls with add_fixit_insert_before
335 and add_fixit_insert_after, eliminating the "next_loc" calculation.
336
2c24fd5e 3372016-09-13 Jason Merrill <jason@redhat.com>
338 Tom de Vries <tom@codesourcery.com>
339
340 PR c++/77427
341 * c-common.c (set_underlying_type): Don't treat array as builtin type.
342
005248bc 3432016-09-13 Jason Merrill <jason@redhat.com>
344
345 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
346 limit types at all.
347
0c893604 3482016-09-12 Jason Merrill <jason@redhat.com>
349
350 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
351 bit/byte confusion, allow large alignment for types.
352
7a21b590 3532016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
354
355 PR c++/77496
356 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
357
00434032 3582016-09-12 David Malcolm <dmalcolm@redhat.com>
359
360 PR c/72858
361 * c-format.c (argument_parser::check_argument_type): Add params
362 "type_start" and "conversion_char". Use the former to generate
363 offset_to_type_start and pass it and conversion_char to
364 check_format_types.
365 (check_format_info_main): Capture the start of the type
366 information as "type_start", and pass it an format_char
367 to arg_parser.check_argument_type.
368 (check_format_types): Provide an example in the leading comment.
369 Add params "offset_to_type_start" and "conversion_char"; pass
370 them to format_type_warning calls.
371 (test_get_modifier_for_format_len): Likewise.
372 (matching_type_p): New function.
373 (get_format_for_type): Add param "conversion_char" and move
374 implementation into...
375 (get_format_for_type_1): ...new function, called twice.
376 Use new function matching_type_p rather than checking for
377 TYPE_CANONICAL equality.
378 (get_corrected_substring): New function.
379 (format_type_warning): Provide an example in the leading comment.
380 Add params "offset_to_type_start" and "conversion_char". Replace
381 call to get_format_for_type with call to get_corrected_substring
382 and move rejection of hints for widths/precisions there.
383 (assert_format_for_type_streq): Add param "conversion_char".
384 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
385 (test_get_format_for_type_printf): Add conversion chars to the
386 tests, adding coverage for various combinations of integer
387 vs double conversions, and for preserving octal and hexadecimal
388 conversions.
389 (test_get_format_for_type_scanf): Add conversion chars to the
390 tests.
391
3bb45f76 3922016-09-10 Tom de Vries <tom@codesourcery.com>
393
394 PR C/71602
395 * c-common.c (build_va_arg): Handle more strict
396 targetm.canonical_va_list_type. Replace first argument type error with
397 assert.
398
911ea34a 3992016-09-09 Martin Sebor <msebor@redhat.com>
400
401 PR c/77520
402 PR c/77521
403 * c-format.c (argument_parser::find_format_char_info): Use %qc
404 format directive unconditionally.
405
db8ffb40 4062016-09-09 Jason Merrill <jason@redhat.com>
407
408 Implement C++17 new of over-aligned types.
409 * c.opt: Add -faligned-new and -Waligned-new.
410 * c-common.c (max_align_t_align): Split out from...
411 (cxx_fundamental_alignment_p): ...here.
412 * c-common.h: Declare it.
413 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
414
c5eddaf9 4152016-09-09 Joseph Myers <joseph@codesourcery.com>
416
417 * c-cppbuiltin.c (builtin_define_type_width): New function.
418 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
419 macros.
420
3da97ff7 4212016-09-07 David Malcolm <dmalcolm@redhat.com>
422
423 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
424 a POINTER_TYPE.
425 (substring_loc::get_location): Move to substring-locations.c,
426 keeping implementation as...
427 (c_get_substring_location): New function, from the above, reworked
428 to use accessors rather than member lookup.
429 * c-common.h (class substring_loc): Move to substring-locations.h,
430 replacing with a forward decl.
431 (c_get_substring_location): New decl.
432 * c-format.c: Include "substring-locations.h".
433 (format_warning_va): Move to substring-locations.c.
434 (format_warning_at_substring): Likewise.
435
f9b3f702 4362016-09-06 Martin Sebor <msebor@redhat.com>
437
438 PR c/77336
439 * c-format.c (check_function_format): Avoid issuing warnings for
440 functions unless they call format functions with non-constant
441 format strings.
442
4c04bcce 4432016-09-06 Richard Biener <rguenther@suse.de>
444
445 PR c/77450
446 * c-common.c (c_common_mark_addressable_vec): Handle
447 COMPOUND_LITERAL_EXPR.
448
8f8828ba 4492016-09-05 Marek Polacek <polacek@redhat.com>
450
451 PR c/77423
452 * c-common.c (bool_promoted_to_int_p): New function.
453 (expr_has_boolean_operands_p): New function.
454 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
455 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
456
8ff61e58 4572016-09-04 Tom de Vries <tom@codesourcery.com>
458
459 revert:
460 2016-08-29 Tom de Vries <tom@codesourcery.com>
461
462 * c-common.c (build_va_arg): Replace first argument type error
463 with assert.
464
0b80c4b2 4652016-09-02 Jakub Jelinek <jakub@redhat.com>
466
467 PR c/65467
468 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
469 (c_finish_omp_for): Reject _Atomic qualified iterators.
470
4712016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 472
473 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
474 size to guarantee it fits the output of the formatted function
475 regardless of its arguments.
476
c7afb782 4772016-09-01 Marek Polacek <polacek@redhat.com>
478
479 PR c/7652
480 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
481 FALLTHRU comments.
482
f293b7f2 4832016-08-29 Marek Polacek <polacek@redhat.com>
484
485 PR c/77292
486 * c-common.c (warn_logical_not_parentheses): Don't warn for
487 a comparison or a logical operator.
488
839e4d28 4892016-08-29 Tom de Vries <tom@codesourcery.com>
490
491 * c-common.c (build_va_arg): Fix type comparison assert.
492
0acb92b8 4932016-08-29 Tom de Vries <tom@codesourcery.com>
494
495 * c-common.c (build_va_arg): Replace first argument type error
496 with assert.
497
ea2ec8f6 4982016-08-29 Tom de Vries <tom@codesourcery.com>
499
500 PR c/77398
501 * c-common.c (build_va_arg): Add first argument error. Build va_arg
502 with error_mark_node as va_list instead of with illegal va_list.
503
c4963714 5042016-08-25 Marek Polacek <polacek@redhat.com>
505 David Malcolm <dmalcolm@redhat.com>
506
507 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
508 * c-common.h (warn_logical_not_parentheses): Update declaration.
509
364743f3 5102016-08-22 Marek Polacek <polacek@redhat.com>
511
512 PR c++/77321
513 * c-common.c (warn_for_memset): Check type for null.
514
012f068a 5152016-08-22 Joseph Myers <joseph@codesourcery.com>
516
517 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
518 _FloatNx types for suffixes for built-in functions.
519
82c85aba 5202016-08-19 Joseph Myers <joseph@codesourcery.com>
521
522 PR c/32187
523 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
524 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
525 (RID_FLOAT128X): New enum rid values.
526 (CASE_RID_FLOATN_NX): New macro.
527 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
528 keywords.
529 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
530 corresponding complex types.
531 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
532 _FloatNx and corresponding complex types.
533 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
534 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
535 and _FloatNx types for the widest type for determining
536 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
537 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
538 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
539 and _FloatNx types.
540 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
541 constants.
542 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
543 _FloatNx types.
544
48a7392b 5452016-08-18 David Malcolm <dmalcolm@redhat.com>
546
547 * c-opts.c (c_diagnostic_finalizer): Update for change to
548 diagnostic_show_locus.
549
5c8151fa 5502016-08-18 David Malcolm <dmalcolm@redhat.com>
551
552 * c-common.c: Include "spellcheck.h".
553 (cb_get_suggestion): New function.
554 * c-common.h (cb_get_suggestion): New decl.
555 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
556 cb_get_suggestion.
557
26040f06 5582016-08-18 Marek Polacek <polacek@redhat.com>
559
560 PR c/71514
561 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
562 and pointer-to-VLA.
563
5927e78e 5642016-08-16 David Malcolm <dmalcolm@redhat.com>
565
566 PR c/72857
567 * c-common.c (substring_loc::get_range): Rename to...
568 (substring_loc::get_location): ...this, converting param from a
569 source_range * to a location_t *. Call
570 get_source_location_for_substring rather than
571 get_source_range_for_substring, and pass in m_caret_idx.
572 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
573 (substring_loc::get_range): Replace with...
574 (substring_loc::get_location): ...this.
575 (substring_loc::set_caret_index): New method.
576 (substring_loc): Add field m_caret_idx.
577 * c-format.c (format_warning_va): Update for above changes.
578 Rename local "substring_loc" to "fmt_substring_loc" to avoid
579 clashing with type name.
580 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
581 (check_argument_type): Likewise.
582 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
583 Use a copy when emitting warnings, setting the caret index from TYPE.
584
6ce66d38 5852016-08-16 Eric Botcazou <ebotcazou@adacore.com>
586 Arnaud Charlet <charlet@adacore.com>
587
588 * c-ada-spec.c (dump_number): New function.
589 (handle_escape_character): Likewise.
590 (print_ada_macros): Add handling of constant integers and strings.
591
e3533433 5922016-08-12 Marek Polacek <polacek@redhat.com>
593
594 PR c/7652
595 * c-common.c (scalar_to_vector): Adjust fall through comment.
596 * c-opts.c (c_common_handle_option): Likewise.
597 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
598 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
599 fall through comment.
600 * cilk.c (extract_free_variables): Add FALLTHRU.
601
0f463aec 6022016-08-10 Jason Merrill <jason@redhat.com>
603
604 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
605
80488e20 6062016-08-09 Jason Merrill <jason@redhat.com>
607
608 * c-common.c (c_common_attribute_table): vector_size affects type
609 identity.
610
a319e7f4 6112016-08-09 Marek Polacek <polacek@redhat.com>
612
613 PR c/7652
614 * c-ada-spec.c (dump_generic_ada_node): Add return.
615
33603066 6162016-08-09 Jason Merrill <jason@redhat.com>
617
618 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
619 C++17 constexpr lambdas.
620
7af4d06b 6212016-08-08 David Malcolm <dmalcolm@redhat.com>
622
623 PR c/64955
624 * c-common.h (selftest::c_format_c_tests): New declaration.
625 (selftest::run_c_tests): New declaration.
626 * c-format.c: Include "selftest.h.
627 (format_warning_va): Add param "corrected_substring" and use
628 it to add a replacement fix-it hint.
629 (format_warning_at_substring): Likewise.
630 (format_warning_at_char): Update for new param of
631 format_warning_va.
632 (argument_parser::check_argument_type): Pass "fki" to
633 check_format_types.
634 (check_format_types): Add param "fki" and pass it to
635 format_type_warning.
636 (deref_n_times): New function.
637 (get_modifier_for_format_len): New function.
638 (selftest::test_get_modifier_for_format_len): New function.
639 (get_format_for_type): New function.
640 (format_type_warning): Add param "fki" and use it to attempt
641 to provide hints for argument types when calling
642 format_warning_at_substring.
643 (selftest::get_info): New function.
644 (selftest::assert_format_for_type_streq): New function.
645 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
646 (selftest::test_get_format_for_type_printf): New function.
647 (selftest::test_get_format_for_type_scanf): New function.
648 (selftest::c_format_c_tests): New function.
649
d189b094 6502016-08-08 David Malcolm <dmalcolm@redhat.com>
651
652 PR c/52952
653 * c-format.c: Include "diagnostic.h".
654 (location_column_from_byte_offset): Delete.
655 (location_from_offset): Delete.
656 (format_warning_va): New function.
657 (format_warning_at_substring): New function.
658 (format_warning_at_char): New function.
659 (check_format_arg): Capture location of format_tree and pass to
660 check_format_info_main.
661 (argument_parser): Add fields "start_of_this_format" and
662 "format_string_cst".
663 (flag_chars_t::validate): Add param "format_string_cst". Convert
664 warning_at call using location_from_offset to call to
665 format_warning_at_char.
666 (argument_parser::argument_parser): Add param "format_string_cst_"
667 and use use it to initialize field "format_string_cst".
668 Initialize new field "start_of_this_format".
669 (argument_parser::read_format_flags): Convert warning_at call
670 using location_from_offset to a call to format_warning_at_char.
671 (argument_parser::read_any_format_left_precision): Likewise.
672 (argument_parser::read_any_format_precision): Likewise.
673 (argument_parser::read_any_other_modifier): Likewise.
674 (argument_parser::find_format_char_info): Likewise, in three places.
675 (argument_parser::parse_any_scan_set): Likewise, in one place.
676 (argument_parser::handle_conversions): Likewise, in two places.
677 (argument_parser::check_argument_type): Add param "fmt_param_loc"
678 and use it to make a substring_loc. Pass the latter to
679 check_format_types.
680 (check_format_info_main): Add params "fmt_param_loc" and
681 "format_string_cst". Convert warning_at calls using
682 location_from_offset to calls to format_warning_at_char. Pass the
683 new params to the arg_parser ctor. Pass "format_string_cst" to
684 flag_chars.validate. Pass "fmt_param_loc" to
685 arg_parser.check_argument_type.
686 (check_format_types): Convert first param from a location_t
687 to a const substring_loc & and rename to "fmt_loc". Attempt
688 to extract the range of the relevant parameter and pass it
689 to format_type_warning.
690 (format_type_warning): Convert first param from a location_t
691 to a const substring_loc & and rename to "fmt_loc". Add
692 params "param_range" and "type". Replace calls to warning_at
693 with calls to format_warning_at_substring.
694
0dae5fef 6952016-08-08 David Malcolm <dmalcolm@redhat.com>
696
697 * c-format.c (class flag_chars_t): New class.
698 (struct length_modifier): New struct.
699 (class argument_parser): New class.
700 (flag_chars_t::flag_chars_t): New ctor.
701 (flag_chars_t::has_char_p): New method.
702 (flag_chars_t::add_char): New method.
703 (flag_chars_t::validate): New method.
704 (flag_chars_t::get_alloc_flag): New method.
705 (flag_chars_t::assignment_suppression_p): New method.
706 (argument_parser::argument_parser): New ctor.
707 (argument_parser::read_any_dollar): New method.
708 (argument_parser::read_format_flags): New method.
709 (argument_parser::read_any_format_width): New method.
710 (argument_parser::read_any_format_left_precision): New method.
711 (argument_parser::read_any_format_precision): New method.
712 (argument_parser::handle_alloc_chars): New method.
713 (argument_parser::read_any_length_modifier): New method.
714 (argument_parser::read_any_other_modifier): New method.
715 (argument_parser::find_format_char_info): New method.
716 (argument_parser::validate_flag_pairs): New method.
717 (argument_parser::give_y2k_warnings): New method.
718 (argument_parser::parse_any_scan_set): New method.
719 (argument_parser::handle_conversions): New method.
720 (argument_parser::check_argument_type): New method.
721 (check_format_info_main): Introduce classes argument_parser
722 and flag_chars_t, moving the code within the loop into methods
723 of these classes. Make various locals "const".
724
d4166bdc 7252016-08-05 David Malcolm <dmalcolm@redhat.com>
726
727 * c-common.c: Include "substring-locations.h".
728 (get_cpp_ttype_from_string_type): New function.
729 (g_string_concat_db): New global.
730 (substring_loc::get_range): New method.
731 * c-common.h (g_string_concat_db): New declaration.
732 (class substring_loc): New class.
733 * c-lex.c (lex_string): When concatenating strings, capture the
734 locations of all tokens using a new obstack, and record the
735 concatenation locations within g_string_concat_db.
736 * c-opts.c (c_common_init_options): Construct g_string_concat_db
737 on the ggc-heap.
738
7648c9c7 7392016-07-29 Marek Polacek <polacek@redhat.com>
740
8ae70602 741 PR c/71926
742 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
743 parentheses warning.
744
7648c9c7 745 PR c/71574
746 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
747
595e387a 7482016-07-28 Martin Liska <mliska@suse.cz>
749
750 PR gcov-profile/68025
751 * c-common.c (handle_no_profile_instrument_function_attribute):
752
296103aa 7532016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
754
755 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
756 BITS_PER_UNIT_LOG.
757
21483ab7 7582016-07-25 Jason Merrill <jason@redhat.com>
759
760 PR c++/65970
761 * c.opt (fconstexpr-loop-limit): New.
762
0b80c4b2 7632016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 764
765 PR c++/71675
766 * c-common.c (resolve_overloaded_builtin): Avoid converting
767 __atomic_compare_exchange_n return type to that of what its
768 first argument points to.
769
59c1507a 7702016-07-22 Uros Bizjak <ubizjak@gmail.com>
771
772 * c-common.c: Use HOST_WIDE_INT_M1U instead of
773 ~(unsigned HOST_WIDE_INT) 0.
774
45648efe 7752016-07-22 Martin Liska <mliska@suse.cz>
776
777 PR gcov-profile/69028
778 PR gcov-profile/62047
779 * cilk.c (create_cilk_helper_decl): Set location of a new decl
780 to the current_function_decl.
781
0c0f63cb 7822016-07-21 Jason Merrill <jason@redhat.com>
783
784 PR c++/65168
785 * c-common.c (c_common_truthvalue_conversion): Check
786 c_inhibit_evaluation_warnings for warning about address of
787 reference.
788
d208f6e6 7892016-07-20 David Malcolm <dmalcolm@redhat.com>
790
791 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
792 const char *.
793
0238e35e 7942016-07-15 Jason Merrill <jason@redhat.com>
795
796 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
797
0dd7db3b 7982016-07-15 Jakub Jelinek <jakub@redhat.com>
799
800 PR c/71858
801 * c-common.h (enum lookup_name_fuzzy_kind): Add
802 FUZZY_LOOKUP_FUNCTION_NAME.
803
e59cff35 8042016-07-08 Jason Merrill <jason@redhat.com>
805
806 P0145: Refining Expression Order for C++.
807 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
808 * c-opts.c: Adjust.
809
faee03ad 8102016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
811
812 PR c++/71214
813 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
814
a4dd89cb 8152016-06-29 Thomas Schwinge <thomas@codesourcery.com>
816
817 * c-pragma.h (enum pragma_kind): Rename
818 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
819 users.
820
b6a4a0f5 8212016-06-29 Richard Biener <rguenther@suse.de>
822
823 PR middle-end/71002
824 * c-common.c (c_common_get_alias_set): Remove union type punning case.
825
176aa551 8262016-06-24 Jason Merrill <jason@redhat.com>
827
828 P0145R2: Refining Expression Order for C++.
829 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
830 MODIFY_EXPR.
831
77104764 8322016-06-24 Jakub Jelinek <jakub@redhat.com>
833
834 * c-common.c (check_builtin_function_arguments): Require last
835 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
836 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
837 if the last argument is pointer to enumerated or boolean type.
838
8469aece 8392016-06-22 David Malcolm <dmalcolm@redhat.com>
840
841 PR c/70339
842 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
843 (lookup_name_fuzzy): New prototype.
844
bd08c370 8452016-06-21 John David Anglin <danglin@gcc.gnu.org>
846
847 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
848
06c75b9a 8492016-06-14 Jason Merrill <jason@redhat.com>
850
851 P0145R2: Refining Expression Order for C++.
852 * c.opt (fargs-in-order): New.
853 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
854
9720103d 8552016-06-13 Jakub Jelinek <jakub@redhat.com>
856
12cb8367 857 PR sanitizer/71498
858 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
859 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
860
9720103d 861 PR preprocessor/71183
862 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
863 to cb_get_source_date_epoch.
864
8ec29807 8652016-06-10 Jakub Jelinek <jakub@redhat.com>
866
867 PR c/68657
868 * c.opt (Wpsabi): Add Warning flag.
869
1dc4d519 8702016-06-10 Martin Sebor <msebor@redhat.com>
871
872 PR c/71392
873 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
874 the nonnull attribute in type-generic builtins.
875
23b101c5 8762016-06-09 Martin Sebor <msebor@redhat.com>
877
878 PR c/70883
879 * c-common.c (builtin_function_validate_nargs): Make text of error
880 message consistent with others like it.
881
732905bb 8822016-06-08 Martin Sebor <msebor@redhat.com>
883 Jakub Jelinek <jakub@redhat.com>
884
885 PR c++/70507
886 PR c/68120
887 * c-common.c (check_builtin_function_arguments): Handle
888 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
889
86a5f91c 8902016-06-08 Richard Biener <rguenther@suse.de>
891
892 * c-common.c (parse_optimize_options): Improve diagnostic messages.
893
b032c4dd 8942016-06-07 Richard Biener <rguenther@suse.de>
895
896 PR c/61564
897 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
898 options and warn about others.
899
dfa5c0d3 9002016-06-01 Eduard Sanou <dhole@openmailbox.org>
901
902 * c-common.c (get_source_date_epoch): Rename to
903 cb_get_source_date_epoch.
904 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
905 message when the parsing fails. Use error_at instead of fatal_error.
906 * c-common.h (get_source_date_epoch): Rename to
907 cb_get_source_date_epoch.
908 * c-common.h (cb_get_source_date_epoch): Prototype.
909 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
910 * c-common.h (c_omp_region_type): Remove trailing comma.
911 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
912 * c-lex.c (c_lex_with_flags): Remove initialization of
913 pfile->source_date_epoch.
914
b6431756 9152016-05-30 Jakub Jelinek <jakub@redhat.com>
916
917 PR c++/71349
918 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
919 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
920 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
921 instead of C_OMP_CLAUSE_SPLIT_FOR.
922
7345b977 9232016-05-24 Richard Biener <rguenther@suse.de>
924
925 PR middle-end/70434
926 PR c/69504
927 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
928 (convert_vector_to_array_for_subscript): ... this.
929 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
930 VIEW_CONVERT_EXPR to an array type. Rename to ...
931 (convert_vector_to_array_for_subscript): ... this.
932
22a3f7bd 9332016-05-12 Marek Polacek <polacek@redhat.com>
934
935 PR c/70756
936 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
937 size_in_bytes and pass LOC to it.
938
54c4d22e 9392016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
940
941 PR c/43651
942 * c.opt (Wduplicate-decl-specifier): New option.
943
7f8012a5 9442016-05-11 Marek Polacek <polacek@redhat.com>
945
946 PR c++/71024
947 * c-common.c (diagnose_mismatched_attributes): New function.
948 * c-common.h (diagnose_mismatched_attributes): Declare.
949
1d52c456 9502016-05-04 Marek Polacek <polacek@redhat.com>
951
952 * c.opt (Wdangling-else): New option.
953
5d4db8ef 9542016-05-03 Marek Polacek <polacek@redhat.com>
955
956 PR c/70859
957 * c-common.c (builtin_function_validate_nargs): Add location
958 parameter. Use it.
959 (check_builtin_function_arguments): Add location and arguments
960 parameters. Use them.
961 * c-common.h (check_builtin_function_arguments): Update declaration.
962
9ae1b28a 9632016-05-03 Richard Biener <rguenther@suse.de>
964
965 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
966 allow call args to gimplify to SSA names.
967
4341e093 9682016-05-03 Marek Polacek <polacek@redhat.com>
969
970 * c-common.h (enum c_omp_region_type): Remove stray comma.
971
b5e88f74 9722016-05-02 Cesar Philippidis <cesar@codesourcery.com>
973
974 * c-common.h (enum c_omp_region_type): Define.
975
ee31dd3d 9762016-05-02 Richard Sandiford <richard.sandiford@arm.com>
977
978 * c-common.c (shorten_compare): Use wi::to_wide.
979
4d0a8bac 9802016-04-29 Cesar Philippidis <cesar@codesourcery.com>
981
982 PR middle-end/70626
983 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
984 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
985 reduction clauses in acc parallel loops.
986
025dd1e0 9872016-04-29 Marek Polacek <polacek@redhat.com>
988
989 PR c/70852
990 * c-common.c (warn_for_memset): Check domain before accessing it.
991
eb16928e 9922016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
993
994 PR/69089
995 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
996 "aligned" attribute.
997
ddd2a3d4 9982016-04-28 Jason Merrill <jason@redhat.com>
999
1000 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1001
e3e8c48c 10022016-04-28 Eduard Sanou <dhole@openmailbox.org>
1003 Matthias Klose <doko@debian.org>
1004
1005 * c-common.c (get_source_date_epoch): New function, gets the environment
1006 variable SOURCE_DATE_EPOCH and parses it as long long with error
1007 handling.
1008 * c-common.h (get_source_date_epoch): Prototype.
1009 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1010
605a4556 10112015-04-27 Ryan Burn <contact@rnburn.com>
1012
1013 PR c++/69024
1014 PR c++/68997
1015 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1016 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1017 external linkage.
1018 (cilk_detect_and_unwrap): Corresponding changes.
1019 (extract_free_variables): Don't extract free variables from
1020 AGGR_INIT_EXPR slot.
1021 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1022 (cilk_recognize_spawn): Likewise.
1023
40385231 10242016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1025
1026 * c.opt (Wmemset-elt-size): New option.
1027 * c-common.c (warn_for_memset): New function.
1028 * c-common.h (warn_for_memset): Declare.
1029
f5d49c14 10302016-04-25 Jason Merrill <jason@redhat.com>
1031
1032 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1033 No longer static.
1034 * c-common.h: Declare it.
1035 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1036
9c980ab5 10372016-04-22 Jason Merrill <jason@redhat.com>
1038
1039 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1040
70574e60 10412016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1042
1043 PR c++/69363
1044 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1045 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1046
5d4b30ea 10472016-04-18 Michael Matz <matz@suse.de>
1048
1049 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1050 and SET_DECL_ALIGN.
1051
021ad2f3 10522016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1053
1054 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1055 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1056 to incomplete types.
1057 (dump_nested_type): Remove redundant tests and tidy up.
1058 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1059 a type which is the typedef of an original type.
1060
926f9422 10612016-04-15 Marek Polacek <polacek@redhat.com>
1062
1063 PR c/70651
1064 * c-common.c (build_va_arg): Change two asserts into errors and return
1065 error_mark_node.
1066
92c53257 10672016-04-13 Marek Polacek <polacek@redhat.com>
1068
1069 PR c++/70639
1070 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1071 for switch statements, too.
1072
a3ae889f 10732016-03-28 Jason Merrill <jason@redhat.com>
1074
1075 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1076
62d2a6dc 10772016-03-23 Marek Polacek <polacek@redhat.com>
1078
1079 PR c++/69884
1080 * c.opt (Wignored-attributes): New option.
1081
4baec9f2 10822016-03-22 David Malcolm <dmalcolm@redhat.com>
1083
1084 PR c/69993
1085 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1086 diagnostic text, reversing the order of the warning and note so
1087 that they appear in source order.
1088
92e7ab1e 10892016-03-17 Marek Polacek <polacek@redhat.com>
1090
1091 PR c/69407
1092 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1093 operations.
1094
6f895832 10952016-03-14 Jason Merrill <jason@redhat.com>
1096
14c36b14 1097 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1098
6f895832 1099 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1100
42bb3bfb 11012016-03-09 Richard Biener <rguenther@suse.de>
1102
1103 PR c/70143
1104 * c-common.c (strict_aliasing_warning): Add back
1105 alias_sets_conflict_p check.
1106
3556aa80 11072016-03-08 Jason Merrill <jason@redhat.com>
1108
1109 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1110
0060768a 11112016-03-04 David Malcolm <dmalcolm@redhat.com>
1112
1113 PR c/68187
1114 * c-indentation.c (get_visual_column): Move code to determine next
1115 tab stop to...
1116 (next_tab_stop): ...this new function.
1117 (line_contains_hash_if): Delete function.
1118 (detect_preprocessor_logic): Delete function.
1119 (get_first_nws_vis_column): New function.
1120 (detect_intervening_unindent): New function.
1121 (should_warn_for_misleading_indentation): Replace call to
1122 detect_preprocessor_logic with a call to
1123 detect_intervening_unindent.
1124
74c6fd40 11252016-03-04 David Malcolm <dmalcolm@redhat.com>
1126
1127 PR c/68187
1128 * c-indentation.c (should_warn_for_misleading_indentation): When
1129 suppressing warnings about cases where the guard and body are on
1130 the same column, only use the first non-whitespace column in place
1131 of the guard token column when dealing with "else" clauses.
1132 When rejecting aligned BODY and NEXT, loosen the requirement
1133 from equality with the first non-whitespace of guard to simply
1134 that they not be indented relative to it.
1135
e692d332 11362016-03-04 Richard Biener <rguenther@suse.de>
1137
1138 PR c++/70054
1139 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1140 instead of alias_sets_conflict_p.
1141
12cc1225 11422016-03-01 Marek Polacek <polacek@redhat.com>
1143
1144 PR c++/69795
1145 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1146 any DECL.
1147
8c38d887 11482016-02-22 Martin Sebor <msebor@redhat.com>
1149
1150 PR middle-end/69780
1151 * c-common.c (check_builtin_function_arguments): Validate and
1152 reject invalid arguments to __builtin_alloca_with_align.
1153
e53f41d5 11542016-02-20 Mark Wielaard <mjw@redhat.com>
1155
1156 PR c/28901
1157 * c.opt (Wunused-const-variable): Turn into Alias for...
1158 (Wunused-const-variable=): New option.
1159
9cce8384 11602016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1161
1162 PR c++/69865
1163 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1164 here...
1165 (c_common_init_options): ...to here.
1166 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1167
563d5cb8 11682016-02-19 Jakub Jelinek <jakub@redhat.com>
1169
1170 PR c++/69826
1171 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1172 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1173 flag_preprocess_only.
1174
7675e968 11752016-02-16 Jakub Jelinek <jakub@redhat.com>
1176
1177 PR c/69835
1178 * c.opt (Wnonnull-compare): Enable for -Wall.
1179
77454e6e 11802016-02-15 Jakub Jelinek <jakub@redhat.com>
1181
1182 PR c++/69797
1183 * c-common.c (sync_resolve_size): Diagnose too few arguments
1184 even when params is non-NULL empty vector.
1185
600695e0 11862016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1187
1188 PR target/60410
1189 * c.opt (fshort-double): Remove.
1190
a7cc1f94 11912016-02-05 Martin Sebor <msebor@redhat.com>
1192
1193 PR c++/69662
1194 * c.opt (Warning options): Update -Wplacement-new to take
1195 an optional argument.
1196
6f13b088 11972016-02-01 Jakub Jelinek <jakub@redhat.com>
1198
1199 PR preprocessor/69543
1200 PR c/69558
1201 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1202 instead of loc to control_warning_option.
1203
948eee2f 12042016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1205
1206 * c.opt (fopenacc-dim=): New option.
1207
5fa82c11 12082016-01-27 Ryan Burn <contact@rnburn.com>
1209
1210 PR cilkplus/69267
1211 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1212 gimplify_arg. Removed superfluous post_p argument.
1213 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1214 superfluous post_p argument.
1215 * c-gimplify.c (c_gimplify_expr): Likewise.
1216
3752e5b1 12172016-01-26 David Malcolm <dmalcolm@redhat.com>
1218
1219 PR other/69006
1220 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1221 pp_newline_and_flush with pp_flush.
1222
bbbbe8ab 12232016-01-20 Martin Sebor <msebor@redhat.com>
1224
1225 PR c/69405
1226 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1227 an incompatible argument when the argument isn't a valid tree node.
1228
f6dfb86a 12292016-01-18 Jason Merrill <jason@redhat.com>
1230
1231 PR c++/68767
1232 * c-common.c (check_function_arguments_recurse): Fold the whole
1233 COND_EXPR, not just the condition.
1234
f672c103 12352016-01-18 Tom de Vries <tom@codesourcery.com>
1236
1237 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1238 classify as loop clause.
1239
c8ef893c 12402016-01-15 Jakub Jelinek <jakub@redhat.com>
1241
1242 PR bootstrap/68271
1243 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1244 C++ FE no longer has limit on number of pragmas.
1245
12462015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 1247
1248 PR c++/69048
1249 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 1250 to add missing cleanup point.
7d600da5 1251
a7ed4583 12522016-01-14 David Malcolm <dmalcolm@redhat.com>
1253
1254 PR c++/68819
1255 * c-indentation.c (get_visual_column): Add location_t param.
1256 Handle the column number being zero by effectively disabling the
1257 warning, with an "inform".
1258 (should_warn_for_misleading_indentation): Add location_t argument
1259 for all uses of get_visual_column.
1260
b933e511 12612016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1262
1263 PR c++/69029
1264 * c-indentation.c (should_warn_for_misleading_indentation):
1265 Don't warn about do-while statements.
1266
517906ff 12672016-01-07 Martin Sebor <msebor@redhat.com>
1268
1269 PR c/68966
1270 * c-common.c (sync_resolve_size): Reject first argument when it's
1271 a pointer to _Bool.
1272
d42aa619 12732016-01-05 David Malcolm <dmalcolm@redhat.com>
1274
1275 PR c/69122
1276 * c-indentation.c (get_visual_column): Remove default argument.
1277 (should_warn_for_misleading_indentation): For the multiline case,
1278 update call to get_visual_column for next_stmt_exploc so that it
1279 captures the location of the first non-whitespace character in the
1280 relevant line. Don't issue warnings if there is non-whitespace
1281 before the next statement.
1282
f1717362 12832016-01-04 Jakub Jelinek <jakub@redhat.com>
1284
1285 Update copyright years.
1286
c0bf500c 12872015-12-21 David Malcolm <dmalcolm@redhat.com>
1288
1289 * c-common.c (binary_op_error): Convert first param from
1290 location_t to rich_location * and use it when emitting an error.
1291 * c-common.h (binary_op_error): Convert first param from
1292 location_t to rich_location *.
1293
dbd79382 12942015-12-16 David Malcolm <dmalcolm@redhat.com>
1295
1296 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1297 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1298
c0998828 12992015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1300
1301 * c-common.c (c_common_attribute_table): Handle "omp declare target
1302 link" attribute.
1303
7ca909c6 13042015-12-14 Jakub Jelinek <jakub@redhat.com>
1305
1306 PR c/68833
1307 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1308
d9102cbe 13092014-12-12 Tobias Burnus <burnus@net-b.de>
1310
1311 PR fortran/68815
1312 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1313 specifiers (%d, %i,%u and %c).
1314
a515ebdf 13152015-12-10 David Malcolm <dmalcolm@redhat.com>
1316
1317 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1318
31ba81bd 13192015-12-08 Jakub Jelinek <jakub@redhat.com>
1320
1321 PR c/48088
1322 PR c/68657
1323 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1324 * c-pragma.c (handle_pragma_diagnostic): Adjust
1325 control_warning_option caller.
1326
d0f713f4 13272015-12-07 David Malcolm <dmalcolm@redhat.com>
1328
1329 * c-common.c (c_cpp_error): Update for change to
1330 rich_location::set_range.
1331
32d050b5 13322015-12-04 Paolo Bonzini <bonzini@gnu.org>
1333
1334 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1335 shifting 1 out of the sign bit.
1336
13372015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1338
1339 * c-common.c (c_common_attribute_table[]): Update max arguments
1340 count for "simd" attribute.
1341 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1342
6a8fbd7a 13432015-12-03 Jakub Jelinek <jakub@redhat.com>
1344
1345 PR preprocessor/57580
1346 * c-ppoutput.c (print): Change printed field to bool.
1347 Move src_file last for smaller padding.
1348 (init_pp_output): Set print.printed to false instead of 0.
1349 (scan_translation_unit): Fix up formatting. Set print.printed
1350 to true after printing something other than newline.
1351 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1352 (maybe_print_line_1): Set print.printed to false instead of 0.
1353 (print_line_1): Likewise.
1354 (do_line_change): Set print.printed to true instead of 1.
1355 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1356 dump_macro): Set print.printed to false after printing newline.
1357
da562e32 13582015-12-02 Jason Merrill <jason@redhat.com>
1359
9c691dbd 1360 * c-common.c (fold_for_warn): New.
1361 (warn_logical_operator, warn_tautological_cmp)
1362 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1363
da562e32 1364 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1365 (c_fully_fold_internal, decl_constant_value_for_optimization):
1366 Move to c/c-fold.c.
1367 * c-common.h: Don't declare decl_constant_value_for_optimization.
1368
89f16034 13692015-12-02 Joseph Myers <joseph@codesourcery.com>
1370
1371 PR c/68162
1372 * c-common.h (c_build_qualified_type): Add extra default
1373 arguments.
1374
571b3486 13752015-12-01 Julian Brown <julian@codesourcery.com>
1376 Cesar Philippidis <cesar@codesourcery.com>
1377 James Norris <James_Norris@mentor.com>
1378
1379 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1380 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1381 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1382
ed92a461 13832015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1384
1385 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1386 (decl_sloc_common): Delete and move bulk of processing to...
1387 (decl_sloc): ...here.
1388 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1389 (dump_ada_double_name): Remove S parameter and compute the suffix.
1390 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1391 element type and deal with an anonymous one.
1392 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1393 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1394 and remove reference to QUAL_UNION_TYPE.
1395 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1396 (dump_nested_type): ...here. New function extracted from above.
1397 Generate a full declaration for anonymous element type of arrays.
1398 (print_ada_declaration): Really skip anonymous declarations. Remove
1399 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1400 Clean up processing of declarations of array types and objects.
1401 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1402 Remove obsolete code and tidy up.
1403
c25b3e3f 14042015-11-29 Jan Hubicka <hubicka@ucw.cz>
1405
1406 PR c/67581
1407 * c-common.c (handle_transparent_union_attribute): Update
1408 also type variants.
1409
d4e328e9 14102015-11-27 Martin Liska <mliska@suse.cz>
1411
1412 PR c++/68312
1413 * array-notation-common.c (cilkplus_extract_an_triplets):
1414 Release vector of vectors.
1415 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1416
f63d9c4e 14172015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1418
1419 PR c++/68527
1420 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1421 (print_ada_struct_decl): Likewise.
1422
8d63c601 14232015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1424
1425 PR c++/68001
1426 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1427 * cilk.c (recognize_spawn): Determine location in a more precise
1428 way.
1429
01f11119 14302015-11-19 Jason Merrill <jason@redhat.com>
1431
1432 * c-common.c (shorten_compare): But look through macros from
1433 system headers.
1434
2d3d3af7 14352015-11-18 Jason Merrill <jason@redhat.com>
1436
1437 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1438 non-constant operand comes from a macro.
1439
7991eeee 14402015-11-17 Jason Merrill <jason@redhat.com>
1441
1442 PR bootstrap/68346
1443 * c-common.c (warn_tautological_cmp): Fold before checking for
1444 constants.
1445
73f67931 14462015-11-16 Marek Polacek <polacek@redhat.com>
1447
1448 PR c++/68362
1449 * c-common.c (check_case_bounds): Fold low and high cases.
1450
8e539fdc 14512015-11-16 Marek Polacek <polacek@redhat.com>
1452
1453 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1454 * c-common.c (c_common_get_alias_set): Likewise.
1455 (handle_visibility_attribute): Likewise.
1456
c58a4cfd 14572015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1458
1459 * c-common.c (handle_simd_attribute): New.
1460 (struct attribute_spec): Add entry for "simd".
1461 (handle_simd_attribute): New.
1462
bb036391 14632015-11-13 Kai Tietz <ktietz70@googlemail.com>
1464
1465 * c-lex.c (interpret_float): Use fold_convert.
1466
a96cefb2 14672015-11-13 David Malcolm <dmalcolm@redhat.com>
1468
1469 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1470 and store it on the result.
1471 * c-opts.c (c_common_init_options): Set
1472 global_dc->colorize_source_p.
1473
2fc5e987 14742015-11-12 James Norris <jnorris@codesourcery.com>
1475 Joseph Myers <joseph@codesourcery.com>
1476
1477 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1478 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1479 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1480 PRAGMA_OACC_CLAUSE_LINK.
1481
81b1b2a8 14822015-11-11 Marek Polacek <polacek@redhat.com>
1483
1484 PR c/68107
1485 PR c++/68266
1486 * c-common.c (valid_array_size_p): New function.
1487 * c-common.h (valid_array_size_p): Declare.
1488
92a44a68 14892015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 1490
1491 PR bootstrap/68271
1492 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1493
6e803544 14942015-11-11 Andrew MacLeod <amacleod@redhat.com>
1495
1496 * array-notation-common.c: Remove unused header files.
1497 * c-ada-spec.c: Likewise.
1498 * c-cilkplus.c: Likewise.
1499 * c-common.c: Likewise.
1500 * c-cppbuiltin.c: Likewise.
1501 * c-dump.c: Likewise.
1502 * c-format.c: Likewise.
1503 * c-gimplify.c: Likewise.
1504 * c-indentation.c: Likewise.
1505 * c-lex.c: Likewise.
1506 * c-omp.c: Likewise.
1507 * c-opts.c: Likewise.
1508 * c-pch.c: Likewise.
1509 * c-ppoutput.c: Likewise.
1510 * c-pragma.c: Likewise.
1511 * c-pretty-print.c: Likewise.
1512 * c-semantics.c: Likewise.
1513 * c-ubsan.c: Likewise.
1514 * cilk.c: Likewise.
1515 * stub-objc.c: Likewise.
1516
a1b7fe4b 15172015-11-09 Thomas Schwinge <thomas@codesourcery.com>
1518 Cesar Philippidis <cesar@codesourcery.com>
1519 James Norris <jnorris@codesourcery.com>
1520 Julian Brown <julian@codesourcery.com>
1521 Nathan Sidwell <nathan@codesourcery.com>
1522
1523 * c-pragma.c (oacc_pragmas): Add "routine".
1524 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
1525
292237f3 15262015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1527
1528 * c-common.c (c_common_attributes): Add scalar_storage_order.
1529 (handle_scalar_storage_order_attribute): New function.
1530 * c-pragma.c (global_sso): New variable.
1531 (maybe_apply_pragma_scalar_storage_order): New function.
1532 (handle_pragma_scalar_storage_order): Likewise.
1533 (init_pragma): Register scalar_storage_order.
1534 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
1535 * c.opt (Wscalar-storage-order): New warning.
1536 (fsso-struct=): New option.
1537
b4a4c5fa 15382015-11-08 Martin Sebor <msebor@redhat.com>
1539
1540 * c.opt (Wplacement-new): Add a period to the end of a sentence.
1541
ac677063 15422015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1543
1544 * c-common.c: Don't undef DEF_BUILTIN.
1545
f0479000 15462015-11-06 David Malcolm <dmalcolm@redhat.com>
1547
1548 * c-common.c (c_cpp_error): Convert parameter from location_t to
1549 rich_location *. Eliminate the "column_override" parameter and
1550 the call to diagnostic_override_column.
1551 Update the "done_lexing" clause to set range 0
1552 on the rich_location, rather than overwriting a location_t.
1553 * c-common.h (c_cpp_error): Convert parameter from location_t to
1554 rich_location *. Eliminate the "column_override" parameter.
1555
ef014f95 15562015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1557 Thomas Schwinge <thomas@codesourcery.com>
1558 James Norris <jnorris@codesourcery.com>
1559
1560 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
1561 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
1562 clauses with parallel and kernels and loops.
1563 * c-pragma.h (enum pragma_omp_clause): Add entries for
1564 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
1565 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
1566 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
1567 INDEPENDENT,SEQ}.
1568 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
1569
e520488c 15702015-11-05 Martin Sebor <msebor@redhat.com>
1571
1572 PR c++/67942
1573 * c.opt (-Wplacement-new): New option.
1574
9561765e 15752015-11-05 Jakub Jelinek <jakub@redhat.com>
1576
1577 * c-common.h (c_finish_omp_atomic): Add TEST argument.
1578 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
1579 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
1580 save_expr or create_tmp_var* if TEST is true.
1581 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
1582 Don't call add_stmt here.
1583 (struct c_omp_check_loop_iv_data): New type.
1584 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
1585 c_omp_check_loop_iv_exprs): New functions.
1586 (c_omp_split_clauses): Adjust for lastprivate being allowed on
1587 distribute.
1588 (c_omp_declare_simd_clauses_to_numbers): Change
1589 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
1590 (c_omp_declare_simd_clauses_to_decls): Similarly change those
1591 from numbers to PARM_DECLs.
1592
5e8689fb 15932015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1594
1595 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
1596 flag_checking.
1597
92a44a68 15982015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 1599
1600 PR c++-common/67882
32d050b5 1601 * c-common.h (fold_offsetof_1): Add argument.
1602 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 1603 offsetof expressions that reference elements past the end of
1604 an array.
1605
9e10bfb7 16062015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1607 Chung-Lin Tang <cltang@codesourcery.com>
1608
1609 * c-pragma.c (oacc_pragmas): Add "atomic".
1610 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
1611
ab50af2a 16122015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1613
1614 * c-common.c (handle_target_clones_attribute): New.
1615 (c_common_attribute_table): Add handle_target_clones_attribute.
1616 (handle_always_inline_attribute): Add check on target_clones attribute.
1617 (handle_target_attribute): Ditto.
1618
4cba6f60 16192015-10-29 Andrew MacLeod <amacleod@redhat.com>
1620
1621 * array-notation-common.c: Reorder #include's and remove duplicates.
1622 * c-ada-spec.c: Likewise.
1623 * c-cilkplus.c: Likewise.
1624 * c-common.c: Likewise.
1625 * c-cppbuiltin.c: Likewise.
1626 * c-dump.c: Likewise.
1627 * c-format.c: Likewise.
1628 * c-gimplify.c: Likewise.
1629 * c-indentation.c: Likewise.
1630 * c-lex.c: Likewise.
1631 * c-omp.c: Likewise.
1632 * c-opts.c: Likewise.
1633 * c-pch.c: Likewise.
1634 * c-ppoutput.c: Likewise.
1635 * c-pragma.c: Likewise.
1636 * c-pretty-print.c: Likewise.
1637 * c-semantics.c: Likewise.
1638 * c-ubsan.c: Likewise.
1639 * cilk.c: Likewise.
1640 * stub-objc.c: Likewise.
1641
f576a2e4 16422015-10-28 Jason Merrill <jason@redhat.com>
1643
1644 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
1645
2c4c8725 16462015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1647 James Norris <jnorris@codesourcery.com>
1648 Cesar Philippidis <cesar@codesourcery.com>
1649
1650 PR c/64765
1651 PR c/64880
1652 * c-common.h (c_oacc_split_loop_clauses): Declare function.
1653 * c-omp.c (c_oacc_split_loop_clauses): New function.
1654
8204c077 16552015-10-21 Martin Sebor <msebor@redhat.com>
1656
1657 PR driver/68043
1658 * c.opt: End each sentence that describes an option with a period.
1659
8523243e 16602015-10-20 Marek Polacek <polacek@redhat.com>
1661
1662 * array-notation-common.c (is_cilkplus_vector_p): Define.
1663 * c-common.h (is_cilkplus_vector_p): Declare.
1664
08881cb8 16652015-10-20 Marek Polacek <polacek@redhat.com>
1666
1667 * c.opt (std=gnu++11): Do not describe as experimental.
1668 (std=gnu++14): Likewise.
1669
a36e5e5e 16702015-10-19 Jason Merrill <jason@redhat.com>
1671
1672 * c-cppbuiltin.c (c_cpp_builtins): Define
1673 __cpp_nontype_template_args.
1674
a349de0a 16752015-10-19 Jason Merrill <jason@redhat.com>
1676
1677 * c-cppbuiltin.c (c_cpp_builtins): Define
1678 __cpp_enumerator_attributes, __cpp_fold_expressions,
1679 __cpp_unicode_characters.
1680
43895be5 16812015-10-13 Jakub Jelinek <jakub@redhat.com>
1682 Aldy Hernandez <aldyh@redhat.com>
1683
1684 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
1685 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
1686 (c_define_builtins): Likewise.
1687 * c-common.h (enum c_omp_clause_split): Add
1688 C_OMP_CLAUSE_SPLIT_TASKLOOP.
1689 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
1690 (c_finish_omp_for): Add ORIG_DECLV argument.
1691 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
1692 201511 instead of 201307.
1693 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
1694 OMP_CRITICAL_CLAUSES to it.
1695 (c_finish_omp_ordered): Add CLAUSES argument, set
1696 OMP_ORDERED_CLAUSES to it.
1697 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
1698 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
1699 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
1700 constructs and new OpenMP 4.5 clauses. Clear
1701 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
1702 verification code.
1703 * c-pragma.c (omp_pragmas_simd): Add taskloop.
1704 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
1705 (enum pragma_omp_clause): Add
1706 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
1707 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
1708
20cb53c9 17092015-10-05 Richard Sandiford <richard.sandiford@arm.com>
1710
1711 * c-lex.c (interpret_float): Use real_equal instead of
1712 REAL_VALUES_EQUAL.
1713
6d02e6b2 17142015-10-04 Jason Merrill <jason@redhat.com>
1715
1716 Implement N4514, C++ Extensions for Transactional Memory.
1717 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
1718 (c_common_attribute_table): Add transaction_safe_dynamic.
1719 transaction_safe now affects type identity.
1720 (handle_tm_attribute): Handle transaction_safe_dynamic.
1721 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
1722 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
1723 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
1724 (D_TRANSMEM): New.
1725 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
1726 * c-pretty-print.c (pp_c_attributes_display): Don't print
1727 transaction_safe in C++.
1728
c0999a5d 17292015-10-02 Marek Polacek <polacek@redhat.com>
1730
1731 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
1732
ef17a71a 17332015-10-02 Marek Polacek <polacek@redhat.com>
1734
1735 PR c/64249
1736 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
1737 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
1738 * c.opt (Wduplicated-cond): New option.
1739
05b84e7b 17402015-10-01 Joseph Myers <joseph@codesourcery.com>
1741
1742 * c.opt (std=c11): Do not describe as experimental.
1743 (std=gnu11): Likewise.
1744 (std=iso9899:2011): Likewise.
1745
e561d5e1 17462015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1747
1748 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
1749 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1750
bd4b90d2 17512015-09-25 Marek Polacek <polacek@redhat.com>
1752
1753 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
1754 (ubsan_instrument_shift): Likewise.
1755
ac13b2b2 17562015-09-25 Marek Polacek <polacek@redhat.com>
1757
1758 PR sanitizer/64906
1759 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
1760
a3c82f4c 17612015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
1762
1763 * c-indentation.c (should_warn_for_misleading_indentation):
1764 Compare next_stmt_vis_column with guard_line_first_nws instead
1765 of with guard_line_vis_column.
1766
5eef101d 17672015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1768
1769 PR c/49654
1770 PR c/49655
1771 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
1772 options and options not valid for the current language.
1773
60897493 17742015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
1775
1776 * c-indentation.c (should_warn_for_misleading_indentation):
1777 Float out and consolidate the calls to get_visual_column that
1778 are passed guard_exploc as an argument. Compare
1779 next_stmt_vis_column with guard_line_first_nws instead of with
1780 body_line_first_nws.
1781
85c93154 17822015-09-22 Nathan Sidwell <nathan@codesourcery.com>
1783
1784 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
1785 Wnamespaces): New C++ warnings.
1786
229a58b1 17872015-09-22 Jason Merrill <jason@redhat.com>
1788
1789 * c-common.h (abi_compat_version_crosses): New.
1790 (warn_abi_version): Declare.
1791 * c-common.c: Define it.
1792 * c-opts.c (c_common_post_options): Handle it.
1793 flag_abi_compat_version defaults to 8.
1794
2d2de569 17952015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1796
1797 Complete the implementation of N4230, Nested namespace definition.
1798 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
1799 __cpp_nested_namespace_definitions.
1800
2b897e68 18012015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1802
1803 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
1804
ed536208 18052015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1806
1807 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
1808 when warning.
1809 * c-pragma.h (pragma_lex): Add optional loc argument.
1810
1dc6c44d 18112015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
1812
1813 * c-format.c (check_format_arg): Adjust to use common block size in all
1814 object pools.
1815
be812248 18162015-09-15 David Malcolm <dmalcolm@redhat.com>
1817
1818 * c-format.c (location_from_offset): Update for change in
1819 signature of location_get_source_line.
1820 * c-indentation.c (get_visual_column): Likewise.
1821 (line_contains_hash_if): Likewise.
1822
e4cc057f 18232015-09-14 Marek Polacek <polacek@redhat.com>
1824
1825 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
1826 setting various warnings.
1827
85f5e2ee 18282015-09-14 Marek Polacek <polacek@redhat.com>
1829
1830 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
1831 a negative value.
1832
1bca8cbd 18332015-09-11 Mark Wielaard <mjw@redhat.com>
1834
1835 PR c/28901
1836 * c.opt (Wunused-variable): Option from common.opt.
1837 (Wunused-const-variable): New option.
1838
ee48893a 18392015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1840
1841 PR c++/53184
1842 * c.opt ([Wsubobject-linkage]): Add.
1843
547c6b1f 18442015-09-03 Martin Sebor <msebor@redhat.com>
1845
1846 PR c/66516
1847 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
1848 functions.
1849 * c-common.c (reject_gcc_builtin): Define.
1850
7e976b10 18512015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
1852
1853 PR middle-end/60586
1854 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
1855 prototype.
1856 * c-gimplify.c (c_gimplify_expr): Added a call to the function
1857 cilk_gimplify_call_params_in_spawned_fn.
1858 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
1859 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
1860 unwrapping.
1861
9e6bcade 18622015-08-25 Marek Polacek <polacek@redhat.com>
1863
1864 PR middle-end/67330
1865 * c-common.c (handle_weak_attribute): Don't check whether the
1866 visibility can be changed here.
1867
af9de21d 18682015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1869
1870 * c-lex.c (c_lex_with_flags): Use explicit locations.
1871
6dc50383 18722015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1873
1874 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
1875 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
1876
10902624 18772015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1878
1879 PR middle-end/36757
1880 * c-common.c (check_builtin_function_arguments): Add check
1881 for BUILT_IN_SIGNBIT argument.
1882
a03a71ab 18832015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
1884
1885 PR c++/67160
1886 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
1887 in c++1z mode.
1888
22723c26 18892015-08-17 Marek Polacek <polacek@redhat.com>
1890
1891 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
1892 with whitespaces before qualifier names.
1893
f4809955 18942015-08-12 Marek Polacek <polacek@redhat.com>
1895
1896 PR c++/55095
1897 * c-common.c (maybe_warn_shift_overflow): Properly handle
1898 left-shifting 1 into the sign bit.
1899
5463f502 19002015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1901
1902 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
1903
56c12fd4 19042015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
1905 Braden Obrzut <admin@maniacsvault.net>
1906 Jason Merrill <jason@redhat.com>
1907
1908 Add C++ Concepts TS support.
1909 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
1910 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
1911 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
1912 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
1913 * c-opts.c (set_std_cxx1z): Set flag_concepts.
1914 * c.opt (fconcepts): New.
1915
32d050b5 19162015-08-02 Martin Sebor <msebor@redhat.com>
1917
1918 * c.opt (-Wframe-address): New warning option.
1919
17afcef6 19202015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1921
1922 * c-indentation.c (should_warn_for_misleading_indentation):
1923 Improve heuristics.
1924
f95bfdd4 19252015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1926
1927 * c-indentation.c (get_visual_column): Add parameter first_nws,
1928 use it. Update comment documenting the function.
1929 (is_first_nonwhitespace_on_line): Remove.
1930 (should_warn_for_misleading_indentation): Replace usage of
1931 of is_first_nonwhitespace_on_line with get_visual_column.
1932
9255be07 19332015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1934
1935 * c-indentation.h (struct token_indent_info): Define.
1936 (get_token_indent_info): Define.
1937 (warn_for_misleading_information): Declare.
1938 * c-common.h (warn_for_misleading_information): Remove.
1939 * c-identation.c (warn_for_misleading_indentation):
1940 Change declaration to take three token_indent_infos. Adjust
1941 accordingly.
1942 * c-identation.c (should_warn_for_misleading_indentation):
1943 Likewise. Bail out early if the body is a compound statement.
1944 (guard_tinfo_to_string): Define.
1945
e880695c 19462015-07-30 Jason Merrill <jason@redhat.com>
1947
1948 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
1949 '*' for reference decay.
1950
f58dd84b 19512015-07-30 Marek Polacek <polacek@redhat.com>
1952
1953 * c-common.c (warn_tautological_cmp): Bail for float types.
1954
d9e4fe27 19552015-07-27 Marek Polacek <polacek@redhat.com>
1956
1957 PR bootstrap/67030
1958 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
1959
6784a472 19602015-07-27 Marek Polacek <polacek@redhat.com>
1961
1962 PR c++/66555
1963 PR c/54979
1964 * c-common.c (find_array_ref_with_const_idx_r): New function.
1965 (warn_tautological_cmp): New function.
1966 * c-common.h (warn_tautological_cmp): Declare.
1967 * c.opt (Wtautological-compare): New option.
1968
08034975 19692015-07-23 Marek Polacek <polacek@redhat.com>
1970
1971 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
1972 (ubsan_instrument_shift): Likewise.
1973
f6f5e49b 19742015-07-23 Marek Polacek <polacek@redhat.com>
1975
1976 PR sanitizer/66908
1977 * c-ubsan.c: Include gimplify.h.
1978 (ubsan_instrument_division): Unshare OP0 and OP1.
1979 (ubsan_instrument_shift): Likewise.
1980
8d669e79 19812015-07-20 Marek Polacek <polacek@redhat.com>
1982 Richard Sandiford <richard.sandiford@arm.com>
1983
1984 PR c++/55095
1985 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
1986 Use EXPR_LOC_OR_LOC.
1987 (maybe_warn_shift_overflow): New function.
1988 * c-common.h (maybe_warn_shift_overflow): Declare.
1989 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
1990 * c.opt (Wshift-overflow): New option.
1991
e16712b1 19922015-07-16 Martin Liska <mliska@suse.cz>
1993
1994 * c-format.c (static void check_format_info_main): Use
1995 object_allocator instead of pool_allocator.
1996 (check_format_arg): Likewise.
1997 (check_format_info_main): Likewise.
1998
e51764ad 19992015-07-15 Andrew MacLeod <amacleod@redhat.com>
2000
2001 * c-opts.c: Remove multiline #include comment.
2002
47ae02b7 20032015-07-12 Aldy Hernandez <aldyh@redhat.com>
2004
2005 * c-common.c: Fix double word typos.
2006
ed2b2eb2 20072015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2008
2009 * c-ada-spec.h (cpp_operation): Revert latest change.
2010 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2011 constructors and destructors.
2012
1eacc14a 20132015-07-09 Andrew MacLeod <amacleod@redhat.com>
2014
2015 * c-common.h: Adjust includes for flags.h changes.
2016 * stub-objc.c: Likewise.
47ae02b7 2017
0124237f 20182015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2019
2020 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2021 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2022
386ef929 20232015-07-08 Jakub Jelinek <jakub@redhat.com>
2024
2025 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2026 are to be removed, return NULL rather than original clauses list.
2027
9ef16211 20282015-07-07 Andrew MacLeod <amacleod@redhat.com>
2029
2030 * array-notation-common.c: Adjust includes.
2031 * c-ada-spec.c: Likewise.
2032 * c-cilkplus.c: Likewise.
2033 * c-common.h: Likewise.
2034 * c-cppbuiltin.c: Likewise.
2035 * c-dump.c: Likewise.
2036 * c-format.c: Likewise.
2037 * c-gimplify.c: Likewise.
2038 * c-indentation.c: Likewise.
2039 * c-lex.c: Likewise.
2040 * c-omp.c: Likewise.
2041 * c-opts.c: Likewise.
2042 * c-pch.c: Likewise.
2043 * c-ppoutput.c: Likewise.
2044 * c-pragma.c: Likewise.
2045 * c-pretty-print.c: Likewise.
2046 * c-semantics.c: Likewise.
2047 * c-ubsan.c: Likewise.
2048 * cilk.c: Likewise.
2049 * stub-objc.c: Likewise.
2050
67ede3e4 20512015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2052
2053 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2054 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2055
42af8c2a 20562015-07-01 Jason Merrill <jason@redhat.com>
2057
fa769cc5 2058 * c-common.h (D_CXX11): Rename from D_CXX0X.
2059 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2060 * c-common.c: Adjust.
2061
97e9c847 2062 * c-opts.c (c_common_post_options): Default to C++14.
2063
42af8c2a 2064 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2065
30b1ba42 20662015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2067
2068 Implement N4197 - Adding u8 character literals
32d050b5 2069 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 2070 CPP_CHAR.
32d050b5 2071 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 2072 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 2073 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 2074 and CPP_UTF8CHAR tokens.
2075 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 2076
0949f227 20772015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2078
2079 PR fortran/66605
2080 * c-common.c (do_warn_unused_parameter): Move here.
2081 * c-common.h (do_warn_unused_parameter): Declare.
2082
be23b16f 20832015-06-29 Marek Polacek <polacek@redhat.com>
2084
2085 PR c/66322
2086 * c-common.c (check_case_bounds): Add bool * parameter. Set
2087 OUTSIDE_RANGE_P.
2088 (c_add_case_label): Add bool * parameter. Pass it down to
2089 check_case_bounds.
2090 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2091 warning here.
2092 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2093 declarations.
2094
6290f0db 20952015-06-27 Marek Polacek <polacek@redhat.com>
2096
2097 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2098 or VECTOR_INTEGER_TYPE_P throughout.
2099 * c-gimplify.c: Likewise.
2100
aa3e402e 21012015-06-26 Marek Polacek <polacek@redhat.com>
2102
2103 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2104 * c-common.c (c_fully_fold_internal): Likewise.
2105 (c_alignof_expr): Likewise.
2106 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2107 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 2108 * cilk.c (create_parm_list): Likewise.
aa3e402e 2109
4e81b384 21102015-06-26 Marek Polacek <polacek@redhat.com>
2111
2112 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2113
ec2e0095 21142015-06-25 Andrew MacLeod <amacleod@redhat.com>
2115
2116 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2117 * c-gimplify.c: Likewise.
2118 * c-pragma.c: Likewise.
2119 * c-ubsan.c: Likewise.
2120 * cilk.c: Likewise.
2121
b594087e 21222015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2123
2124 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2125 ggc_hasher.
2126
a3c76fda 21272015-06-25 Andrew MacLeod <amacleod@redhat.com>
2128
2129 * cilk.c: Move calls.h after tm.h in the include chain.
2130
f48c7f4a 21312015-06-25 Marek Polacek <polacek@redhat.com>
2132
2133 * array-notation-common.c: Use VAR_P throughout.
2134 * c-ada-spec.c: Likewise.
2135 * c-common.c: Likewise.
2136 * c-format.c: Likewise.
2137 * c-gimplify.c: Likewise.
2138 * c-omp.c: Likewise.
2139 * c-pragma.c: Likewise.
2140 * c-pretty-print.c: Likewise.
2141 * cilk.c: Likewise.
2142
ce41e81a 21432015-06-25 Marek Polacek <polacek@redhat.com>
2144
2145 * cilk.c (extract_free_variables): Use is_global_var.
2146
de231ec2 21472015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2148
2149 * c-common.c: Don't include target-def.h.
2150
0200602e 21512015-06-23 Marek Polacek <polacek@redhat.com>
2152
2153 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2154 when comparing INTEGER_CSTs.
2155
99838ed7 21562015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2157
2158 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2159 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2160 (dump_ada_template): Skip partially specialized types.
2161
a4f59596 21622015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2163
2164 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2165 swapping.
2166
f2ab3bac 21672015-06-17 Andrew MacLeod <amacleod@redhat.com>
2168
2169 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2170 * c-ada-spec.c: Likewise.
2171 * c-cilkplus.c: Likewise.
2172 * c-common.c: Likewise.
2173 * c-common.h: Likewise.
2174 * c-cppbuiltin.c: Likewise.
2175 * c-dump.c: Likewise.
2176 * c-format.c: Likewise.
2177 * c-gimplify.c: Likewise.
2178 * c-indentation.c: Likewise.
2179 * c-lex.c: Likewise.
2180 * c-omp.c: Likewise.
2181 * c-opts.c: Likewise.
2182 * c-pch.c: Likewise.
2183 * c-ppoutput.c: Likewise.
2184 * c-pragma.c: Likewise.
2185 * c-pretty-print.c: Likewise.
2186 * c-semantics.c: Likewise.
2187 * c-ubsan.c: Likewise.
2188 * cilk.c: Likewise.
2189 * stub-objc.c: Likewise.
2190
db3d1ffc 21912015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2192
2193 PR c++/65168
2194 * c-common.c (c_common_truthvalue_conversion): Warn when
2195 converting an address of a reference to a truth value.
2196
64486212 21972015-06-08 Andrew MacLeod <amacleod@redhat.com>
2198
2199 * array-notation-common.c : Adjust include files.
2200 * c-ada-spec.c : Likewise.
2201 * c-cilkplus.c : Likewise.
2202 * c-common.c : Likewise.
2203 * c-common.h : Likewise.
2204 * c-cppbuiltin.c : Likewise.
2205 * c-dump.c : Likewise.
2206 * c-format.c : Likewise.
2207 * c-gimplify.c : Likewise.
2208 * c-indentation.c : Likewise.
2209 * c-lex.c : Likewise.
2210 * c-omp.c : Likewise.
2211 * c-opts.c : Likewise.
2212 * c-pch.c : Likewise.
2213 * c-ppoutput.c : Likewise.
2214 * c-pragma.c : Likewise.
2215 * c-pretty-print.c : Likewise.
2216 * c-semantics.c : Likewise.
2217 * c-ubsan.c : Likewise.
2218 * cilk.c : Likewise.
2219 * stub-objc.c : Likewise.
2220
6e84ccad 22212015-06-08 Marek Polacek <polacek@redhat.com>
2222
2223 PR c/66415
2224 * c-format.c (location_from_offset): Return LOC if LINE is null.
2225
3a1c9df2 22262015-06-05 Aldy Hernandez <aldyh@redhat.com>
2227
2228 * c-common.h (c_parse_final_cleanups): New prototype.
2229 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2230
32d050b5 22312015-06-04 Sriraman Tallam <tmsriram@google.com>
2232
2233 * c-common.c (noplt): New attribute.
2234 (handle_noplt_attribute): New handler.
2235
f77c0292 22362015-06-04 Andrew MacLeod <amacleod@redhat.com>
2237
2238 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2239 * c-ada-spec.c: Likewise.
2240 * c-cilkplus.c: Likewise.
2241 * c-common.c: Likewise.
2242 * c-common.h: Likewise.
2243 * c-cppbuiltin.c: Likewise.
2244 * c-dump.c: Likewise.
2245 * c-format.c: Likewise.
2246 * c-gimplify.c: Likewise.
2247 * c-indentation.c: Likewise.
2248 * c-lex.c: Likewise.
2249 * c-omp.c: Likewise.
2250 * c-opts.c: Likewise.
2251 * c-pch.c: Likewise.
2252 * c-ppoutput.c: Likewise.
2253 * c-pragma.c: Likewise.
2254 * c-pretty-print.c: Likewise.
2255 * c-semantics.c: Likewise.
2256 * c-ubsan.c: Likewise.
2257 * cilk.c: Likewise.
2258 * stub-objc.c: Likewise.
2259
7c62dfbb 22602015-06-02 David Malcolm <dmalcolm@redhat.com>
2261
2262 PR c/66220:
2263 * c-indentation.c (should_warn_for_misleading_indentation): Use
2264 expand_location rather than expand_location_to_spelling_point.
2265 Don't warn if the guarding statement is more indented than the
2266 next/body stmts.
2267
9af7c176 22682015-06-02 David Malcolm <dmalcolm@redhat.com>
2269
2270 * c-indentation.c (warn_for_misleading_indentation): Bail out
2271 immediately if -Wmisleading-indentation isn't enabled.
2272
eebcf436 22732015-06-01 Martin Liska <mliska@suse.cz>
2274
2275 * c-format.c (check_format_arg):Use new type-based pool allocator.
2276 (check_format_info_main) Likewise.
2277
b0a23e2f 22782015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2279
2280 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2281 (has_nontrivial_methods): Likewise.
2282
63dc1330 22832015-05-25 Marek Polacek <polacek@redhat.com>
2284
2285 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2286
5a4c69dd 22872015-05-22 Marek Polacek <polacek@redhat.com>
2288
2289 PR c/47043
2290 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2291
044580bb 22922015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 2293
2294 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2295 STACK_GROWS_DOWNWARD.
2296
044580bb 22972015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 2298
2299 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2300 STACK_GROWS_DOWNWARD rather than if it is defined.
2301
d5a2ddc7 23022015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 2303
d5a2ddc7 2304 PR c/52952
2305 * c-format.c (location_column_from_byte_offset): New.
2306 (location_from_offset): New.
2307 (struct format_wanted_type): Add offset_loc field.
2308 (check_format_info): Move handling of location for extra arguments
2309 closer to the point of warning.
2310 (check_format_info_main): Pass the result of location_from_offset
2311 to warning_at.
2312 (format_type_warning): Pass the result of location_from_offset
2313 to warning_at.
2314
72f8014e 23152015-05-20 Marek Polacek <polacek@redhat.com>
2316
2317 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2318
74efe522 23192015-05-20 Marek Polacek <polacek@redhat.com>
2320
2321 * c-ada-spec.c (dump_sloc): Use DECL_P.
2322
b443c459 23232015-05-20 Marek Polacek <polacek@redhat.com>
2324
2325 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2326 * c-common.c: Likewise.
2327
551e34da 23282015-05-19 David Malcolm <dmalcolm@redhat.com>
2329
2330 * c-common.h (fe_file_change): Strengthen param from
2331 const line_map * to const line_map_ordinary *.
2332 (pp_file_change): Likewise.
2333 * c-lex.c (fe_file_change): Likewise.
2334 (cb_define): Use linemap_check_ordinary when invoking
2335 SOURCE_LINE.
2336 (cb_undef): Likewise.
2337 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2338 invoking cb_file_change.
2339 (c_finish_options): Likewise.
2340 (push_command_line_include): Likewise.
2341 (cb_file_change): Strengthen param "new_map" from
2342 const line_map * to const line_map_ordinary *.
2343 * c-ppoutput.c (cb_define): Likewise for local "map".
2344 (pp_file_change): Likewise for param "map" and local "from".
2345
dfcf26a5 23462015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2347
2348 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2349
2e474820 23502015-05-18 Tom de Vries <tom@codesourcery.com>
2351
2352 * c-common.c (build_va_arg_1): New function.
2353 (build_va_arg): Add address operator to va_list operand if necessary.
2354
e53013a8 23552015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2356
2357 PR c/48956
2358 * c-common.c (int_safely_convertible_to_real_p): Define.
2359 (unsafe_conversion_p): Check conversions involving complex types.
2360 (conversion_warning): Add new warning message for conversions which
2361 discard imaginary component.
2362 * c-common.h: (enum conversion_safety): Add new enumerator for such
2363 conversions.
2364
aac24642 23652015-05-14 Marek Polacek <polacek@redhat.com>
2366
2367 PR c/66066
2368 PR c/66127
2369 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2370 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2371 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2372 use it. If FOR_INT_CONST, require that all evaluated operands be
2373 INTEGER_CSTs.
2374
e5f01cba 23752015-05-12 David Malcolm <dmalcolm@redhat.com>
2376
2377 * c-common.h (warn_for_misleading_indentation): New prototype.
2378 * c-indentation.c: New file.
2379 * c.opt (Wmisleading-indentation): New option.
2380
c37be9ec 23812015-05-12 Tom de Vries <tom@codesourcery.com>
2382
2383 PR tree-optimization/66010
2384 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2385
7290114b 23862015-05-09 Jason Merrill <jason@redhat.com>
2387
3c665566 2388 * c-opts.c (c_common_post_options): Also clear
2389 cpp_opts->cpp_warn_cxx11_compat.
2390
d875b9d2 2391 * c-common.h (enum cxx_dialect): Add cxx_unset.
2392 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2393 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2394
7290114b 2395 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2396 (std=gnu++0x): Mark as Undocumented.
2397 (std=gnu++1y): Add deprecated message.
2398
1b03cc89 23992015-05-08 Jason Merrill <jason@redhat.com>
2400
1c5f7aba 2401 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2402 * c-opts.c: Adjust.
2403
1b03cc89 2404 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2405
dc5945dc 24062015-05-08 Marek Polacek <polacek@redhat.com>
2407
2408 PR c/64918
2409 * c.opt (Woverride-init-side-effects): New option.
2410
cdc64059 24112015-05-07 Marek Polacek <polacek@redhat.com>
2412
2413 PR c/65179
2414 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2415 negative value.
2416 * c.opt (Wshift-negative-value): New option.
2417 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2418 when -Wextra and C99/C++11 mode.
2419
8cafe283 24202015-05-07 Marek Polacek <polacek@redhat.com>
2421 Martin Uecker <uecker@eecs.berkeley.edu>
2422
2423 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2424 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2425
cb40a6f7 24262015-05-05 Jason Merrill <jason@redhat.com>
2427
2428 * c.opt (Wterminate): New.
2429
14744a16 24302015-04-30 Marek Polacek <polacek@redhat.com>
2431
2432 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2433 require that the non-constant be of a boolean type.
2434
9866562d 24352015-04-29 Josh Triplett <josh@joshtriplett.org>
2436
8cafe283 2437 * c-common.c (handle_section_attribute): Refactor to reduce
2438 nesting and distinguish between error cases.
9866562d 2439
a720ab1c 24402015-04-29 Marek Polacek <polacek@redhat.com>
2441
2442 PR c/64610
2443 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2444 with 0/1.
2445
8c072e52 24462015-04-29 Jakub Jelinek <jakub@redhat.com>
2447
2448 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2449 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2450 HOST_BITS_PER_WIDE_INT.
2451
f7fec1c7 24522015-04-28 Tom de Vries <tom@codesourcery.com>
2453
2454 PR tree-optimization/65887
2455 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2456
483b3d26 24572015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 2458 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 2459
2460 * c-ada-spec.c (in_function): Delete.
2461 (dump_generic_ada_node): Do not change in_function and remove the
2462 redundant code dealing with it.
2463 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2464 (print_ada_methods): Output the static member functions in a nested
2465 package after the regular methods as well as associated renamings.
2466
f11bdffb 24672015-04-24 Marek Polacek <polacek@redhat.com>
2468
2469 PR c/65830
2470 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2471 and OPT_Wshift_count_overflow.
2472
485f6b9c 2473 PR c/63357
2474 * c-common.c (warn_logical_operator): Warn if the operands have the
2475 same expressions.
2476
439606a9 24772015-04-24 Marek Polacek <polacek@redhat.com>
2478
2479 PR c/61534
2480 * c-common.c (warn_logical_operator): Bail if either operand comes
2481 from a macro expansion.
2482
de801c28 24832015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2484
2485 PR target/55143
2486 * c-common.c (c_default_pointer_mode): Add definition.
2487 * c-common.h (c_default_pointer_mode): Add declaration.
2488
76738f56 24892015-03-11 Jakub Jelinek <jakub@redhat.com>
2490
2491 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2492 on record_builtin_type argument.
2493
16f958b3 24942015-03-10 Jakub Jelinek <jakub@redhat.com>
2495
2496 PR c/65120
2497 * c-common.c (warn_logical_not_parentheses): Don't warn for
2498 !x == 0 or !x != 0.
2499
9b22f73f 25002015-03-07 Marek Polacek <polacek@redhat.com>
2501
2502 PR sanitizer/65280
2503 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2504 before trying to figure out whether we have a flexible array member.
2505
a864b7d4 25062015-03-06 Eric Botcazou <ebotcazou@adacore.com>
2507 Jonathan Wakely <jwakely.gcc@gmail.com>
2508
2509 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2510
9bf8c90b 25112015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2512
2513 PR ada/65319
2514 * c-ada-spec.c (print_destructor): Remove obsolete code.
2515
037ac54f 25162015-03-01 Eric Botcazou <ebotcazou@adacore.com>
2517
2518 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
2519 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
2520 DECL_TEMPLATE_RESULT emulations.
2521 (dump_ada_template)): Add guard for TYPE_METHODS.
2522
495cbfb8 25232015-02-27 Marek Polacek <polacek@redhat.com>
2524
2525 PR c/65040
2526 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
2527
688a864e 25282015-02-27 Kai Tietz <ktietz@redhat.com>
2529
2530 PR c/35330
2531 * c-pragma.c (handle_pragma_weak): Do not try to create
2532 weak/alias of declarations not being function, or variable
2533 declarations.
2534
6349b8cc 25352015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2536
2537 PR libgomp/64625
2538 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2539 Remove macros.
2540 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2541
3afd5369 25422015-02-16 Marek Polacek <polacek@redhat.com>
2543
2544 PR c/65066
2545 * c-format.c (check_format_types): Handle null param.
2546
46173d1b 25472015-02-13 Marek Polacek <polacek@redhat.com>
2548
2549 PR c/65040
2550 * c-format.c (check_format_types): Don't warn about different
2551 signedness if the original value is in the range of WANTED_TYPE.
2552
1d524ff7 25532015-02-12 Jason Merrill <jason@redhat.com>
2554
2555 PR c++/64956
2556 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
2557 to the current highest version.
2558 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
2559
bbf8fbec 25602015-02-04 Jakub Jelinek <jakub@redhat.com>
2561
2562 PR c/64824
2563 PR c/64868
2564 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
2565 instead of RDIV_EXPR. Use build_binary_op instead of
2566 build2_loc.
2567
c05be867 25682015-01-30 Joseph Myers <joseph@codesourcery.com>
2569
2570 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
2571 to pass input_location as first argument.
2572
85977647 25732015-01-23 Tom de Vries <tom@codesourcery.com>
2574
2575 PR libgomp/64672
2576 * c.opt (fopenacc): Mark as LTO option.
2577
fa175926 25782015-01-23 Tom de Vries <tom@codesourcery.com>
2579
2580 PR libgomp/64707
2581 * c.opt (fopenmp): Mark as LTO option.
2582
20aad5ba 25832015-01-21 Jakub Jelinek <jakub@redhat.com>
2584
2585 PR c/63307
8204c077 2586 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 2587 (compare_decls): Fix up formatting.
2588
25892015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
2590
2591 PR c/63307
2592 * cilk.c: Include vec.h.
2593 (struct cilk_decls): New structure.
2594 (wrapper_parm_cb): Split this function to...
2595 (fill_decls_vec): ...this...
2596 (create_parm_list): ...and this.
2597 (compare_decls): New function.
2598 (for_local_cb): Remove.
2599 (wrapper_local_cb): Ditto.
2600 (build_wrapper_type): For now first traverse and fill vector of
2601 declarations then sort it and then deal with sorted vector.
2602 (cilk_outline): Ditto.
2603 (declare_one_free_variable): Ditto.
2604
60b77e28 26052015-01-21 Jason Merrill <jason@redhat.com>
2606
2607 PR c++/64629
2608 * c-format.c (check_format_arg): Call decl_constant_value.
2609
85fbea97 26102015-01-19 Martin Liska <mliska@suse.cz>
2611
2612 * c-common.c (handle_noicf_attribute): New function.
2613
ca4c3545 26142015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2615 Bernd Schmidt <bernds@codesourcery.com>
2616 James Norris <jnorris@codesourcery.com>
2617 Cesar Philippidis <cesar@codesourcery.com>
2618 Ilmir Usmanov <i.usmanov@samsung.com>
2619 Jakub Jelinek <jakub@redhat.com>
2620
2621 * c.opt (fopenacc): New option.
2622 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
2623 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2624 New macros.
2625 * c-common.h (c_finish_oacc_wait): New prototype.
2626 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
2627 (c_finish_oacc_wait): New function.
2628 * c-pragma.c (oacc_pragmas): New variable.
2629 (c_pp_lookup_pragma, init_pragma): Handle it.
2630 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
2631 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
2632 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
2633 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
2634 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
2635 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
2636 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
2637 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
2638 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
2639 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
2640 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
2641 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
2642 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
2643 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
2644 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
2645 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
2646 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
2647 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
2648 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
2649 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
2650 PRAGMA_OACC_CLAUSE_WORKER.
2651
92a44a68 26522015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 2653
2654 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
2655 for the new option fstack-protector_explicit.
2656 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
2657 (handle_stack_protect_attribute): New function.
2658
92a44a68 26592015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 2660
2661 * c.opt: New option -Warray-bounds=.
2662
1f78217c 26632015-01-09 Michael Collison <michael.collison@linaro.org>
2664
2665 * array-notation-common.c: Include hash-set.h, machmode.h,
2666 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2667 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
2668 * c-ada-spec.c: Ditto.
2669 * c-cilkplus.c: Ditto.
2670 * c-common.c: Include input.h due to flattening of tree.h.
2671 Define macro GCC_C_COMMON_C.
2672 * c-common.h: Flatten tree.h header files into c-common.h.
2673 Remove include of tree-core.h.
2674 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2675 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2676 fold-const.h, wide-int.h, and inchash.h due to
2677 flattening of tree.h.
2678 * c-dump.c: Ditto.
2679 * c-format.c: Flatten tree.h header files into c-common.h.
2680 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2681 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2682 fold-const.h, wide-int.h, and inchash.h due to
2683 flattening of tree.h.
2684 * c-dump.c: Include hash-set.h, machmode.h,
2685 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2686 fold-const.h, wide-int.h, and inchash.h due to
2687 flattening of tree.h.
2688 * c-format.c: Include hash-set.h, machmode.h,
2689 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2690 fold-const.h, wide-int.h, inchash.h and real.h due to
2691 flattening of tree.h.
2692 * c-gimplify.c: Include hash-set.h, machmode.h,
2693 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2694 fold-const.h, wide-int.h, and inchash.h due to
2695 flattening of tree.h.
2696 * cilk.c: Ditto.
2697 * c-lex.c: Ditto.
2698 * c-omp.c: Ditto.
2699 * c-opts.c: Ditto.
2700 * c-pch.c: Ditto.
2701 * c-ppoutput.c: Ditto.
2702 * c-pragma.c: Ditto.
2703 * c-pretty-print.c: Ditto.
2704 * c-semantics.c: Ditto.
2705 * c-ubsan.c: Ditto.
2706 * stub-objc.c: Ditto.
2707
411b7663 27082015-01-08 Jason Merrill <jason@redhat.com>
2709
2710 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
2711 do_ubsan_in_current_function.
2712 (ubsan_maybe_instrument_reference_or_call): Likewise.
2713 * c-ubsan.h: Declare it.
2714
d1e96383 27152015-01-08 Mike Stump <mikestump@comcast.net>
2716
2717 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
2718
b57910fa 27192015-01-07 Marek Polacek <polacek@redhat.com>
2720
2721 PR c/64440
2722 * c-common.c (c_fully_fold_internal): Warn for division and modulo
2723 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
2724
678a4e3e 27252015-01-05 Trevor Saunders <tsaunders@mozilla.com>
2726
2727 PR c++/31397
2728 * c.opt (Wsuggest-override): New option.
2729
d353bf18 27302015-01-05 Jakub Jelinek <jakub@redhat.com>
2731
2732 Update copyright years.
2733
92b63884 27342015-01-05 Marek Polacek <polacek@redhat.com>
2735
2736 PR c/64423
2737 * c-common.c (warn_array_subscript_with_type_char): Add location_t
2738 parameter. Use it.
2739 * c-common.h (warn_array_subscript_with_type_char): Update
2740 declaration.
2741
83715bc4 27422014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
2743
2744 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
2745 Control macro with flag_sized_deallocation.
2746
92a44a68 27472014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 2748
2749 * c.opt (Wdiscarded-array-qualifiers): New option.
2750
33058239 27512014-12-19 Jakub Jelinek <jakub@redhat.com>
2752
2753 PR preprocessor/63831
2754 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
2755 and __has_cpp_attribute here.
2756 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
2757 c_common_has_attribute.
2758 * c-common.h (c_common_has_attribute): New prototype.
2759 * c-lex.c (init_c_lex): Set cb->has_attribute to
2760 c_common_has_attribute instead of cb_has_attribute.
2761 (get_token_no_padding): New function.
2762 (cb_has_attribute): Renamed to ...
2763 (c_common_has_attribute): ... this. No longer static. Use
2764 get_token_no_padding, require ()s, don't build TREE_LIST
2765 unnecessarily, fix up formatting, adjust diagnostics, call
2766 init_attributes.
2767
d1856d2c 27682014-12-15 Jason Merrill <jason@redhat.com>
2769
2770 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
2771 (-Wsized-deallocation): New.
2772 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
2773 to on in C++14 and up.
2774
4972ed5d 27752014-12-11 Jason Merrill <jason@redhat.com>
2776
7d7fa964 2777 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
2778
4972ed5d 2779 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
2780 we aren't complaining about VLAs.
2781
5ebccf71 27822014-12-06 Marek Polacek <polacek@redhat.com>
2783
2784 PR tree-optimization/64183
2785 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
2786 shift-expression if it is integer_type_node. Use types_compatible_p.
2787
f9e245b2 27882014-11-29 Jakub Jelinek <jakub@redhat.com>
2789
2790 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
2791 last argument from create_tmp_var_raw and create_tmp_var calls.
2792 * cilk.c (gimplify_cilk_spawn): Likewise.
2793 * c-omp.c (c_finish_omp_atomic): Likewise.
2794
d2f60593 27952014-11-28 Marek Polacek <polacek@redhat.com>
2796
2797 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
2798 instead of unsigned_type_node.
2799
fce2dbd1 28002014-11-28 Marek Polacek <polacek@redhat.com>
2801
2802 PR c/63862
2803 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
2804 to op1_utype.
2805 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
2806 expression to unsigned_type_node.
2807
3a4a2292 28082014-11-20 Mark Wielaard <mjw@redhat.com>
2809
2810 PR debug/38757
2811 * c-opts.c (set_std_c89): Set lang_hooks.name.
2812 (set_std_c99): Likewise.
2813 (set_std_c11): Likewise.
2814 (set_std_cxx98): Likewise.
2815 (set_std_cxx11): Likewise.
2816 (set_std_cxx14): Likewise.
2817 (set_std_cxx1z): Likewise.
2818
c61ef207 28192014-11-21 Jakub Jelinek <jakub@redhat.com>
2820
2821 PR target/63764
2822 * c-common.h (convert_vector_to_pointer_for_subscript): Change
2823 return type to bool.
c9ed79de 2824 * c-common.c: Include gimple-expr.h.
c61ef207 2825 (convert_vector_to_pointer_for_subscript): Change return type to
2826 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
2827 and copy it into a TARGET_EXPR and use that instead of *vecp
2828 directly.
2829
1a91d914 28302014-11-19 David Malcolm <dmalcolm@redhat.com>
2831
2832 Merger of git branch "gimple-classes-v2-option-3".
2833 * ChangeLog.gimple-classes: New.
2834 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
2835 from being just a vec<gimple> to a vec<gbind *>.
2836
f8fc8b8e 28372014-11-18 Jakub Jelinek <jakub@redhat.com>
2838
2839 PR sanitizer/63813
2840 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
2841 argument to ptype, set type to TREE_TYPE (ptype). Don't call
2842 get_pointer_alignment for non-pointers. Use ptype, or if it is
2843 reference type, corresponding pointer type, as type of kind
2844 argument.
2845 (ubsan_maybe_instrument_reference,
2846 ubsan_maybe_instrument_member_call): Adjust callers.
2847
8315e35e 28482014-11-15 Marek Polacek <polacek@redhat.com>
2849
2850 PR middle-end/63884
2851 * array-notation-common.c (is_sec_implicit_index_fn): Return false
2852 for NULL fndecl.
2853 (extract_array_notation_exprs): Return for NULL node.
2854
86b9f14b 28552014-11-12 Joseph Myers <joseph@codesourcery.com>
2856
2857 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
2858 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
2859
0c93c8a9 28602014-11-12 Jakub Jelinek <jakub@redhat.com>
2861
2862 PR c/59708
2863 * c-common.c (check_builtin_function_arguments): Handle
2864 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
2865
fdd735a7 28662014-11-10 Andi Kleen <ak@linux.intel.com>
2867
2868 PR c/60804
2869 * c-common.h (check_no_cilk): Declare.
2870 * cilk.c (get_error_location): New function.
2871 (check_no_cilk): Dito.
2872
5cb678b4 28732014-11-10 Andi Kleen <ak@linux.intel.com>
2874
2875 * cilk.c (recognize_spawn): Use expression location
2876 for error message.
2877
0feb4de1 28782014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
2879
2880 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
2881
3aa2fa44 28822014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
2883
2884 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
2885 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
2886 (__cpp_range_based_for, __cpp_initializer_lists,
2887 __cpp_delegating_constructors, __cpp_nsdmi,
2888 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
2889 for C++11; (__cpp_attribute_deprecated): Remove in favor of
2890 __has_cpp_attribute.
2891 * c-lex.c (cb_has_attribute): New callback CPP function;
2892 (init_c_lex): Set has_attribute callback.
2893
7fd22aae 28942014-11-04 Richard Biener <rguenther@suse.de>
2895
2896 * c-common.c (shorten_compare): Do not shorten mixed
2897 DFP and non-DFP compares.
2898
4af203ac 28992014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2900
2901 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
2902 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
2903 Commentary and rearrangement of tests.
2904 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
2905 Commentary and rearrangement of tests.
2906 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
2907 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
2908
3754d046 29092014-10-29 Richard Sandiford <richard.sandiford@arm.com>
2910
2911 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
2912 enum from machine_mode.
2913
1140c305 29142014-10-28 Andrew MacLeod <amacleod@redhat.com>
2915
1f78217c 2916 * c-common.c: Adjust include files.
2917 * c-gimplify.c: Ditto.
2918 * cilk.c: Ditto.
2919 * c-pragma.c: Ditto.
2920 * c-ubsan.c: Ditto.
1140c305 2921
94ea8568 29222014-10-27 Andrew MacLeod <amacleod@redhat.com>
2923
2924 * c-gimplify.c: Adjust include files.
2925
32ecf960 29262014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
2927
2928 PR c++/53061
2929 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
2930 c_common_initialize_diagnostics.
2931 * c-common.h: Likewise.
2932
85fecbe2 29332014-10-24 Marek Polacek <polacek@redhat.com>
2934
2935 PR c/56980
2936 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
2937 print "struct"/"union"/"enum" for typedefed names.
2938
e7ec033a 29392014-10-23 Marek Polacek <polacek@redhat.com>
2940
2941 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
2942 in unsigned type.
2943
c2598081 29442014-10-22 Jakub Jelinek <jakub@redhat.com>
2945 Yury Gribov <y.gribov@samsung.com>
2946
2947 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2948 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
2949 instead of flag_sanitize_recover as bool flag.
2950
acebb7e2 29512014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
2952
2953 * cilk.c: Revert previous change.
2954
6115016c 29552014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
2956
2957 PR c/63307
2958 * cilk.c: Include vec.h.
2959 (struct cilk_decls): New structure.
2960 (wrapper_parm_cb): Split this function to...
2961 (fill_decls_vec): ...this...
2962 (create_parm_list): ...and this.
2963 (compare_decls): New function.
2964 (for_local_cb): Remove.
2965 (wrapper_local_cb): Ditto.
2966 (build_wrapper_type): For now first traverse and fill vector of
2967 declarations then sort it and then deal with sorted vector.
2968 (cilk_outline): Ditto.
2969 (declare_one_free_variable): Ditto.
2970
e610d2b2 29712014-10-17 Marek Polacek <polacek@redhat.com>
2972
2973 * c-opts.c (c_common_post_options): Set warn_implicit_int.
2974 * c.opt (Wimplicit-int): Initialize to -1.
2975
a3020f2f 29762014-10-16 Andrew MacLeod <amacleod@redhat.com>
2977
2978 * c-pragma.c: Adjust include files.
2979 * c-semantics.c: Likewise.
2980
926ddd2c 29812014-10-16 DJ Delorie <dj@redhat.com>
2982
2983 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
2984 multiples of bytes.
2985
b0542e7c 29862014-10-14 Jason Merrill <jason@redhat.com>
2987
2988 PR c++/63455
2989 * c-common.h (CPP_PREPARSED_EXPR): New.
2990 (N_CP_TTYPES): Adjust.
2991
b2601928 29922014-10-15 Marek Polacek <polacek@redhat.com>
2993
2994 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
2995
9f75f026 29962014-10-14 DJ Delorie <dj@redhat.com>
2997
2998 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
2999 types, not just __int128.
3000 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3001 types, not just __int128.
3002 (cpp_atomic_builtins): Round pointer sizes up.
3003 (type_suffix): Use type precision, not specific types.
3004 * c-common.c (c_common_reswords): Remove __int128 special case.
3005 (c_common_type_for_size): Check for all __intN types, not just
3006 __int128.
3007 (c_common_type_for_mode): Likewise.
3008 (c_common_signed_or_unsigned_type): Likewise.
3009 (c_build_bitfield_integer_type): Likewise.
3010 (c_common_nodes_and_builtins): Likewise.
3011 (keyword_begins_type_specifier): Likewise.
3012 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3013 __intN variants.
3014
2ef51f0e 30152014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3016
3017 * c-common.c: Use hash_table instead of hashtab.
3018
5b8257e3 30192014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3020
1f78217c 3021 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 3022 C++11 section.
3023
5e84569c 30242014-10-03 Marc Glisse <marc.glisse@inria.fr>
3025
3026 PR c++/54427
3027 PR c++/57198
3028 PR c++/58845
3029 * c-common.c (warn_logical_operator): Punt for vectors.
3030
f6751ff2 30312014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3032
3033 Implement SD-6: SG10 Feature Test Recommendations
3034 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3035 macros and the __has_header macro.
3036
c33e051d 30372014-09-30 Jason Merrill <jason@redhat.com>
3038
f76a9aa8 3039 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3040 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3041 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3042
717e52f9 3043 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3044 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3045
c33e051d 3046 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3047 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3048
5213d6c9 30492014-09-24 Marek Polacek <polacek@redhat.com>
3050
3051 PR c/61405
3052 PR c/53874
3053 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3054
6b722052 30552014-09-23 Andi Kleen <ak@linux.intel.com>
3056
3057 * c-common.c (handle_no_reorder_attribute): New function.
3058 (c_common_attribute_table): Add no_reorder attribute.
3059
0cb69d12 30602014-09-22 Joseph Myers <joseph@codesourcery.com>
3061
3062 * c-cppbuiltin.c (c_cpp_builtins): Define
3063 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3064 modes.
3065
168dfbf0 30662014-09-18 Joseph Myers <joseph@codesourcery.com>
3067
3068 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3069 for supported floating-point modes.
3070
b83705f4 30712014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3072
3073 * c.opt (Wpsabi): Use LangEnabledBy.
3074 * c-opts.c (c_common_handle_option): Do not handle here.
3075
d5957f0d 30762014-09-12 Joseph Myers <joseph@codesourcery.com>
3077
3078 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3079 macros for floating-point modes.
3080
bae6edff 30812014-09-11 Marc Glisse <marc.glisse@inria.fr>
3082
3083 PR target/58757
3084 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3085 __*_DENORM_MIN__ without denormals.
3086
73a69d02 30872014-09-10 Jakub Jelinek <jakub@redhat.com>
3088
3089 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3090 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3091 ubsan_create_data callers.
3092 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3093 index is constant or BIT_AND_EXPR with constant mask and is
3094 small enough for the bound.
3095 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3096 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3097
7ff8db31 30982014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3099
3100 * c.opt: Add CppReason to various flags.
3101 (Wdate-time): Re-sort.
3102 * c-common.c: Include c-common.h earlier.
3103 (struct reason_option_codes_t): Delete.
3104 (c_option_controlling_cpp_error): Prefix global type and struct
3105 with cpp_.
3106
bcc1f37e 31072014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3108
3109 * c.opt (Wnormalized): New.
3110 (Wnormalized=): Use Enum and Reject Negative.
3111 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3112
b660d3c6 31132014-09-08 Joseph Myers <joseph@codesourcery.com>
3114
3115 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3116 digits of floating-point modes if -fbuilding-libgcc.
3117
325b8c3c 31182014-09-05 Joseph Myers <joseph@codesourcery.com>
3119
3120 * c-cppbuiltin.c (c_cpp_builtins): Also define
3121 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3122 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3123 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3124 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3125 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3126 __LIBGCC_STACK_GROWS_DOWNWARD__,
3127 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3128 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3129 __LIBGCC_DWARF_FRAME_REGISTERS__,
3130 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3131 __LIBGCC_STACK_POINTER_REGNUM__ and
3132 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3133 (builtin_define_with_value): Handle backslash-escaping in string
3134 macro values.
3135
1e074e77 31362014-09-05 Richard Biener <rguenther@suse.de>
3137
3138 PR middle-end/63148
3139 * c-format.c (check_format_arg): Properly handle
3140 effectively signed POINTER_PLUS_EXPR offset.
3141
04afd878 31422014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3143
3144 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3145 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3146 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3147 and Init.
3148 * c-opts.c (c_common_handle_option): Do not handle here.
3149 (sanitize_cpp_opts): Likewise.
3150 * c-common.c (struct reason_option_codes_t): Handle
3151 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3152
a3f448f0 31532014-09-03 Marek Polacek <polacek@redhat.com>
3154
3155 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3156
40750995 31572014-09-02 Jakub Jelinek <jakub@redhat.com>
3158 Balaji V. Iyer <balaji.v.iyer@intel.com>
3159 Igor Zamyatin <igor.zamyatin@intel.com>
3160
3161 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3162 * c-common.c (c_common_reswords): Added _Cilk_for.
3163 * c-common.h (enum rid): Added RID_CILK_FOR.
3164 (cilk_for_number_of_iterations): Add declaration.
3165 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3166 CILK_FOR.
3167 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3168 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3169
f0fbe519 31702014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3171
3172 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3173 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3174 Wundef): Use CPP, Var and Init.
3175 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3176
a7d2e480 31772014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3178
3179 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3180 * c-opts.c (c_common_handle_option): Do not handle here.
3181
c35e53f1 31822014-08-25 Jason Merrill <jason@redhat.com>
3183
3184 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3185 -std=c++14 and -std=gnu++14, rather than the reverse.
3186 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3187 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3188 * c-common.h (cxx_dialect): Remove cxx1y.
3189
4e454776 31902014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3191
3192 * c-common.h (enum cxx_dialect): Add cxx14.
3193 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3194 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3195 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3196
af1a80f2 31972014-08-22 Jason Merrill <jason@redhat.com>
3198
3199 * c.opt (std=gnu++17): Fix alias.
3200
dc6229e8 32012014-08-22 Marek Polacek <polacek@redhat.com>
3202
3203 PR c++/62199
3204 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
3205 check for vector types. Drop LHS argument.
3206 * c-common.h (warn_logical_not_parentheses): Adjust.
3207
ba7f7c88 32082014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3209
3210 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3211 (Wmultichar): Likewise.
3212 (Wdate-time): Use C-family languages instead of Common. Use CPP
3213 and Var.
3214 * c-opts.c (c_common_handle_option): Do not handle the above
3215 options here.
3216 (sanitize_cpp_opts): Likewise.
3217
399d4f80 32182014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
3219
3220 PR fortran/44054
3221 * c-opts.c: Include tree-diagnostics.h.
3222 (c_diagnostic_finalizer): New.
3223 (c_common_initialize_diagnostics): Use it.
3224
1babed5f 32252014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3226
3227 PR preprocessor/51303
3228 * c-common.c (struct reason_option_codes_t option_codes):
3229 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3230
3636964b 32312014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3232
3233 PR c/60975
3234 PR c/53063
3235 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3236 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3237 (c_common_post_options): Call init_global_opts_from_cpp.
3238 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3239
78bf4156 32402014-08-19 Marek Polacek <polacek@redhat.com>
3241
3242 PR c++/62153
3243 * c-common.c (maybe_warn_bool_compare): New function.
3244 * c-common.h (maybe_warn_bool_compare): Declare.
3245 * c.opt (Wbool-compare): New option.
3246
508ea33a 32472014-08-19 Marek Polacek <polacek@redhat.com>
3248
3249 * c.opt (Wc99-c11-compat): New option.
3250
806fe15e 32512014-08-19 Marek Polacek <polacek@redhat.com>
3252
3253 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3254 to warn_c90_c99_compat.
3255 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3256 to -1.
3257
6c867de1 32582014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3259 Steven Bosscher <steven@gcc.gnu.org>
3260
3261 PR c/52952
3262 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3263 format_check_results.
3264 (check_function_format): Use true and add comment for boolean
3265 argument.
3266 (finish_dollar_format_checking): Use explicit location when warning.
3267 (check_format_info): Likewise.
3268 (check_format_arg): Set extra_arg_loc and format_string_loc.
3269 (check_format_info_main): Use explicit location when warning.
3270 (check_format_types): Pass explicit location.
3271 (format_type_warning): Likewise.
3272
dc8078a3 32732014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3274
3275 PR fortran/44054
3276 * c-format.c: Handle Fortran flags.
3277
d271ec7e 32782014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3279
3280 PR other/61962
3281 * array-notation-common.c (find_rank): Added handling for other
3282 types of references.
3283
890c2e2f 32842014-08-10 Marek Polacek <polacek@redhat.com>
3285
3286 PR c/51849
3287 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3288 * c.opt (Wc90-c99-compat): Add option.
3289
7149db5f 32902014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3291
3292 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3293
2d2f6a15 32942014-08-03 Marek Polacek <polacek@redhat.com>
3295
3296 * c-common.c (check_case_value): Add location_t parameter. Use it.
3297 (c_add_case_label): Pass loc to check_case_value.
3298
06ecf488 32992014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3300
3301 * cilk.c: Use hash_map instead of pointer_map.
3302
431205b7 33032014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3304
3305 * c-gimplify.c: Use hash_set instead of pointer_set.
3306
3394c80c 33072014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3308
3309 PR middle-end/61455
3310 * array-notation-common.c (extract_array_notation_exprs): Handling
3311 of DECL_EXPR added.
3312
392dee1e 33132014-08-01 Jakub Jelinek <jakub@redhat.com>
3314
3315 * c-common.h (min_align_of_type): Removed prototype.
3316 * c-common.c (min_align_of_type): Removed.
3317 * c-ubsan.h (ubsan_maybe_instrument_reference,
3318 ubsan_maybe_instrument_member_call): New prototypes.
3319 * c-ubsan.c: Include stor-layout.h and builtins.h.
3320 (ubsan_maybe_instrument_reference_or_call,
3321 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3322 functions.
3323
f22a2cb7 33242014-07-31 Marc Glisse <marc.glisse@inria.fr>
3325
3326 PR c++/60517
3327 * c.opt (-Wreturn-local-addr): Move to common.opt.
3328
87b0198f 33292014-07-30 Jason Merrill <jason@redhat.com>
3330
3331 PR c++/61659
3332 PR c++/61687
3333 Revert:
3334 * c.opt (-fuse-all-virtuals): New.
3335
74691f46 33362014-07-30 Tom Tromey <tromey@redhat.com>
3337
3338 PR c/59855
3339 * c.opt (Wdesignated-init): New option.
3340 * c-common.c (c_common_attribute_table): Add "designated_init".
3341 (handle_designated_init): New function.
3342
9140d56f 33432014-07-24 Marek Polacek <polacek@redhat.com>
3344
3345 PR c/57653
3346 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3347
a09c5cc2 33482014-07-16 Dodji Seketeli <dodji@redhat.com>
3349
3350 PR preprocessor/60723 - missing system-ness marks for macro tokens
3351 * c-ppoutput.c (struct print::prev_was_system_token): New data
3352 member.
3353 (init_pp_output): Initialize it.
3354 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3355 (do_line_change): Return a flag saying if a line marker was
3356 emitted or not.
3357 (scan_translation_unit): Detect if the system-ness of the token we
3358 are about to emit is different from the one of the previously
3359 emitted token. If so, emit a line marker. Avoid emitting useless
3360 adjacent line markers. Avoid emitting line markers for tokens
3361 originating from the expansion of built-in macros.
3362 (scan_translation_unit_directives_only): Adjust.
3363
2b25b62f 33642014-07-15 Marek Polacek <polacek@redhat.com>
3365
3366 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3367 TYPE_MAX_VALUE is NULL.
3368
305d96bc 33692014-07-14 Jakub Jelinek <jakub@redhat.com>
3370
3371 PR middle-end/61294
3372 * c.opt (Wmemset-transposed-args): New warning.
3373
8ea4660d 33742014-07-10 Jason Merrill <jason@redhat.com>
3375
3376 PR c++/61659
3377 PR c++/61687
3378 * c.opt (-fuse-all-virtuals): New.
3379
cd480f3d 33802014-07-09 Richard Biener <rguenther@suse.de>
3381
3382 PR c-family/61741
3383 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3384 using unsigned arithmetic if overflow does not wrap instead of
3385 if overflow is undefined.
3386
87d59e72 33872014-07-06 Marek Polacek <polacek@redhat.com>
3388
3389 PR c/6940
3390 * c.opt (Wsizeof-array-argument): New option.
3391
d69521d8 33922014-07-03 Jakub Jelinek <jakub@redhat.com>
3393
8204c077 3394 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 3395 comments->count <= 1, as comments->entries might be NULL.
3396
1207866e 33972014-07-01 Marek Polacek <polacek@redhat.com>
3398
3399 * c.opt (Wint-conversion): New option.
3400
7a6bbb76 34012014-07-01 Marek Polacek <polacek@redhat.com>
3402
3403 PR c/58286
3404 * c.opt (Wincompatible-pointer-types): New option.
3405
9d4eeb52 34062014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3407
3408 PR c++/51400
3409 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3410 Do not discard TYPE_QUALS of type.
3411
4b53bc0f 34122014-06-26 Jason Merrill <jason@redhat.com>
3413
3414 * c-common.h (enum cxx_dialect): Add cxx1z.
3415 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3416 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3417
a8a8d4ea 34182014-06-26 Teresa Johnson <tejohnson@google.com>
3419
3420 * c-common.h (get_dump_info): Declare.
3421 * c-gimplify.c (c_genericize): Use saved dump files.
3422 * c-opts.c (c_common_parse_file): Begin and end dumps
3423 once around parsing invocation.
3424 (get_dump_info): New function.
3425
1f6be080 34262014-06-23 Marek Polacek <polacek@redhat.com>
3427 Andrew MacLeod <amacleod@redhat.com>
3428
3429 PR c/61553
3430 * c-common.c (get_atomic_generic_size): Don't segfault if the
3431 type doesn't have a size.
3432
5ef6b660 34332014-06-20 Marek Polacek <polacek@redhat.com>
3434
3435 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3436 (ubsan_walk_array_refs_r): New function.
3437 (c_genericize): Instrument array bounds.
3438 * c-ubsan.c: Include "internal-fn.h".
3439 (ubsan_instrument_division): Mark instrumented arrays as having
3440 side effects. Adjust ubsan_type_descriptor call.
3441 (ubsan_instrument_shift): Likewise.
3442 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3443 (ubsan_instrument_bounds): New function.
3444 (ubsan_array_ref_instrumented_p): New function.
3445 (ubsan_maybe_instrument_array_ref): New function.
3446 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3447 (ubsan_array_ref_instrumented_p): Declare.
3448 (ubsan_maybe_instrument_array_ref): Declare.
3449
34502014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 3451
3452 PR lto/61123
3453 * c.opt (fshort-enums): Add to LTO.
3454 * c.opt (fshort-wchar): Likewise.
3455
78438f31 34562014-06-16 Marek Polacek <polacek@redhat.com>
3457
3458 PR c/60439
3459 * c.opt (Wswitch-bool): Add Var.
3460
5fddcf34 34612014-06-12 Jakub Jelinek <jakub@redhat.com>
3462
3463 PR middle-end/61486
3464 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3465 #pragma omp target teams or
3466 #pragma omp {,target }teams distribute simd.
3467
74b777e5 34682014-06-12 Jason Merrill <jason@redhat.com>
3469
3470 * c.opt (Wabi=, fabi-compat-version): New.
3471 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3472 (c_common_post_options): Handle flag_abi_compat_version default.
3473 Disallow -fabi-compat-version=1.
3474 * c-common.h (abi_version_crosses): New.
3475
738a6bda 34762014-06-11 Jan Hubicka <hubicka@ucw.cz>
3477
1f78217c 3478 * c-common.c (handle_section_attribute): Update handling for
738a6bda 3479 section names that are no longer trees.
3480
cf5f881f 34812014-06-10 Jakub Jelinek <jakub@redhat.com>
3482
3483 PR fortran/60928
3484 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3485 (omp_pragmas): ... back here.
3486
32dc1512 34872014-06-05 Marek Polacek <polacek@redhat.com>
3488
3489 PR c/49706
3490 * c-common.c (warn_logical_not_parentheses): New function.
3491 * c-common.h (warn_logical_not_parentheses): Declare.
3492 * c.opt (Wlogical-not-parentheses): New option.
3493
f61a9bc2 34942014-06-04 Marek Polacek <polacek@redhat.com>
3495
3496 PR c/30020
3497 * c-common.c (check_case_bounds): Add location parameter.
3498 Use it.
3499 (c_add_case_label): Pass loc to check_case_bounds.
3500
c69ec07d 35012014-06-03 Marek Polacek <polacek@redhat.com>
3502
3503 PR c/60439
3504 * c.opt (Wswitch-bool): New option.
3505
3c77ca67 35062014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3507
68a2c870 3508 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3509 Remove prototypes.
3510 (record_types_used_by_current_var_decl): Move prototype to where
3511 it belongs.
3512
3c77ca67 3513 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3514 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3515 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3516
3ab4693e 35172014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3518
3519 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
3520 * c-common.c (c_common_nodes_and_builtins): Don't initialize
3521 void_zero_node.
3522 * c-pretty-print.c (pp_c_void_constant): New function.
3523 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
3524 (c_pretty_printer::expression): Handle VOID_CST.
3525 * cilk.c (extract_free_variables): Likewise.
3526 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
3527 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
3528
25a27413 35292014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3530
3531 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
3532 * c-pragma.c (push_alignment): Adjust.
3533 (handle_pragma_push_options): Likewise.
3534
3e5a8b00 35352014-05-09 Marek Polacek <polacek@redhat.com>
3536
3537 PR c/50459
3538 * c-common.c (check_user_alignment): Return -1 if alignment is error
3539 node.
3540 (handle_aligned_attribute): Don't call default_conversion on
3541 FUNCTION_DECLs.
3542 (handle_vector_size_attribute): Likewise.
3543 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
3544 (handle_sentinel_attribute): Call default_conversion and allow even
3545 integral types as an argument.
3546
c2c4ae8d 35472014-05-08 Marek Polacek <polacek@redhat.com>
3548
3549 PR c/61053
3550 * c-common.c (min_align_of_type): New function factored out from...
3551 (c_sizeof_or_alignof_type): ...here.
3552 * c-common.h (min_align_of_type): Declare.
3553
2026249a 35542014-05-08 Marek Polacek <polacek@redhat.com>
3555
3556 PR c/61077
3557 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
3558 parameter type of main.
3559
33c8dcfe 35602014-05-07 DJ Delorie <dj@redhat.com>
3561
3562 * c-cppbuiltin.c (print_bits_of_hex): New.
3563 (builtin_define_type_minmax): Print values using hex so as not to
3564 require a pre-computed list of string values.
3565
960d5a55 35662014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3567 Mike Stump <mikestump@comcast.net>
3568 Richard Sandiford <rdsandiford@googlemail.com>
3569
3570 * c-ada-spec.c: Include wide-int.h.
3571 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
3572 (dump_generic_ada_node): Use wide-int interfaces.
3573 * c-common.c: Include wide-int-print.h.
3574 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
3575 (pointer_int_sum): Use wide-int interfaces.
3576 (c_common_nodes_and_builtins): Use make_int_cst.
3577 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
3578 (handle_alloc_size_attribute): Use wide-int interfaces.
3579 (get_nonnull_operand): Likewise.
3580 * c-format.c (get_constant): Use tree_fits_uhwi_p.
3581 * c-lex.c: Include wide-int.h.
3582 (narrowest_unsigned_type): Take a widest_int rather than two
3583 HOST_WIDE_INTs.
3584 (narrowest_signed_type): Likewise.
3585 (interpret_integer): Update accordingly. Use wide-int interfaces.
3586 (lex_charconst): Use wide-int interfaces.
3587 * c-pretty-print.c: Include wide-int.h.
3588 (pp_c_integer_constant): Use wide-int interfaces.
3589 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
3590 INT_CST_LT_UNSIGNED.
3591
bbb88b31 35922014-05-06 Richard Biener <rguenther@suse.de>
3593
3594 * c-opts.c (c_common_post_options): For -freestanding,
3595 -fno-hosted and -fno-builtin disable pattern recognition
3596 if not enabled explicitely.
3597
022d4718 35982014-05-02 Marek Polacek <polacek@redhat.com>
3599
3600 * c.opt (Wsizeof-pointer-memaccess): Describe option.
3601
e4ab2ef3 36022014-05-01 Marek Polacek <polacek@redhat.com>
3603
3604 PR c/43245
3605 * c.opt (Wdiscarded-qualifiers): Add.
3606
52cc0072 36072014-04-30 Marek Polacek <polacek@redhat.com>
3608
3609 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
3610 INT_MIN / -1 sanitization only for integer types.
3611
4a026b48 36122014-04-25 Marek Polacek <polacek@redhat.com>
3613
3614 PR c/18079
3615 * c-common.c (handle_noinline_attribute): Warn if the attribute
3616 conflicts with always_inline attribute.
3617 (handle_always_inline_attribute): Warn if the attribute conflicts
3618 with noinline attribute.
3619
90e645fa 36202014-04-25 Marek Polacek <polacek@redhat.com>
3621
3622 PR c/60156
3623 * c-common.c (check_main_parameter_types): Warn about variadic main.
3624
db103ea4 36252014-04-24 Mike Stump <mikestump@comcast.net>
3626
3627 * c.opt (Wshadow-ivar): Default to on.
3628
06511efd 36292014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3630
3631 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
3632
cdf34fca 36332014-04-23 Marek Polacek <polacek@redhat.com>
3634
3635 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
3636
7311d7c1 36372014-04-22 Jakub Jelinek <jakub@redhat.com>
3638
3639 PR sanitizer/60275
3640 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
3641 if flag_sanitize_undefined_trap_on_error.
3642 (ubsan_instrument_division, ubsan_instrument_shift,
3643 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
3644 if !flag_sanitize_recover.
3645
c1917557 36462014-04-22 Marc Glisse <marc.glisse@inria.fr>
3647
3648 PR libstdc++/43622
3649 * c-common.c (registered_builtin_types): Make non-static.
3650 * c-common.h (registered_builtin_types): Declare.
3651
b2ca6510 36522014-04-14 Richard Biener <rguenther@suse.de>
3653 Marc Glisse <marc.glisse@inria.fr>
3654
3655 PR c/60819
3656 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
3657 apply may-alias the scalar pointer type when applicable.
3658
855372a3 36592014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
3660
3661 PR middle-end/60467
3662 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
3663 as possible argument for Cilk_spawn.
3664
4012a986 36652014-04-11 Tobias Burnus <burnus@net-b.de>
3666
3667 PR c/60194
3668 * c.opt (Wformat-signedness): Add
3669 * c-format.c(check_format_types): Use it.
3670
0d284870 36712014-04-11 Jason Merrill <jason@redhat.com>
3672
3673 PR c++/57926
3674 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
3675 default_conversion for an array argument.
3676
a34c1231 36772014-04-08 Marek Polacek <polacek@redhat.com>
3678
3679 PR sanitizer/60745
3680 * c-ubsan.c: Include asan.h.
3681 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
3682
a35a8e18 36832014-04-03 Nathan Sidwell <nathan@codesourcery.com>
3684
3685 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
3686
b23e42b6 36872014-04-02 Marek Polacek <polacek@redhat.com>
3688
3689 * c-common.h (c_expand_expr): Remove declaration.
3690
5a672e62 36912014-03-28 Jakub Jelinek <jakub@redhat.com>
3692
3693 PR c++/60689
3694 * c-common.c (add_atomic_size_parameter): When creating new
3695 params vector, push the size argument first.
3696
d4d068c0 36972014-03-26 Jakub Jelinek <jakub@redhat.com>
3698
3699 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3700 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3701 ubsan_create_data callers.
3702
446bdf5f 37032014-03-22 Jakub Jelinek <jakub@redhat.com>
3704
3705 PR debug/60603
3706 * c-opts.c (c_finish_options): Restore cb_file_change call to
3707 <built-in>.
3708
8895f0a3 37092014-03-13 Jakub Jelinek <jakub@redhat.com>
3710
3711 PR middle-end/36282
3712 * c-pragma.c (apply_pragma_weak): Only look at
3713 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
3714 DECL_ASSEMBLER_NAME_SET_P (decl).
3715 (maybe_apply_pending_pragma_weaks): Exit early if
3716 vec_safe_is_empty (pending_weaks) rather than only when
3717 !pending_weaks.
3718 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
3719 set assembler name back to NULL afterwards.
3720
7a5da2cd 37212014-03-11 Jason Merrill <jason@redhat.com>
3722
3723 * c.opt: Add -std=gnu++14.
3724
95093889 37252014-03-11 Ian Bolton <ian.bolton@arm.com>
3726
3727 * c-opts.c (c_common_post_options): Don't override
3728 -ffp-contract=fast if unsafe-math-optimizations is on.
3729
c9a24b37 37302014-03-08 Paulo Matos <paulo@matos-sorge.com>
3731
3732 * c.opt: Enable LTO FE for fshort-double.
3733
3f6dba6e 37342014-03-07 Jason Merrill <jason@redhat.com>
3735
3736 * c.opt: Add -std=c++14.
3737
3bfdc94f 37382014-03-06 Marek Polacek <polacek@redhat.com>
3739
3740 PR c/60197
3741 * cilk.c (contains_cilk_spawn_stmt): New function.
3742 (contains_cilk_spawn_stmt_walker): Likewise.
3743 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
3744 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
3745
8b3a6a4c 37462014-03-03 Jakub Jelinek <jakub@redhat.com>
3747
3748 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
3749 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
3750 even when flag_preprocess_only.
3751
734ec290 37522014-02-26 Jason Merrill <jason@redhat.com>
3753
3754 PR c++/59231
3755 PR c++/11586
3756 * c-common.c (shorten_compare): Don't check
3757 c_inhibit_evaluation_warnings.
3758
81aec8b8 37592014-02-19 Jakub Jelinek <jakub@redhat.com>
3760
d1081017 3761 PR c/37743
3762 * c-common.c (c_common_nodes_and_builtins): When initializing
3763 c_uint{16,32,64}_type_node, also set corresponding
3764 uint{16,32,64}_type_node to the same value.
3765
81aec8b8 3766 PR c++/60267
3767 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
3768 for PRAGMA_IVDEP if flag_preprocess_only.
3769
312243bb 37702014-02-12 Jakub Jelinek <jakub@redhat.com>
3771
3772 PR c/60101
3773 * c-common.c (merge_tlist): If copy is true, call new_tlist,
3774 if false, add ADD itself, rather than vice versa.
3775 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
3776 copy. For SAVE_EXPR, only call merge_tlist once.
3777
237e78b1 37782014-02-08 Jakub Jelinek <jakub@redhat.com>
3779
3780 PR middle-end/60092
3781 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
3782 and tree_to_uhwi.
3783 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
3784 functions.
3785 (c_common_attribute_table): Add alloc_align and assume_aligned
3786 attributes.
3787
76fdceeb 37882014-02-06 Marek Polacek <polacek@redhat.com>
3789
3790 PR c/60087
3791 * c-common.c (warn_for_sign_compare): Call warning_at with location
3792 instead of warning.
3793
4a4dea42 37942014-02-05 Marek Polacek <polacek@redhat.com>
3795
3796 PR c/53123
3797 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
3798 statement.
3799
ec704957 38002014-02-04 Marek Polacek <polacek@redhat.com>
3801
3802 PR c/60036
3803 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
3804 SAVE_EXPR.
3805
caf62483 38062014-02-03 Marc Glisse <marc.glisse@inria.fr>
3807
3808 PR c++/53017
3809 PR c++/59211
3810 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
3811 handle_vector_size_attribute, handle_nonnull_attribute): Call
3812 default_conversion on the attribute argument.
3813 (handle_nonnull_attribute): Increment the argument number.
3814
ec761d5a 38152014-01-31 Marek Polacek <polacek@redhat.com>
3816
3817 PR c/59963
3818 * c-common.c (add_atomic_size_parameter): Pass vNULL to
3819 build_function_call_vec.
3820 (resolve_overloaded_builtin): Likewise.
3821 * c-common.h (build_function_call_vec): Adjust declaration.
3822
22a75734 38232014-01-30 Marek Polacek <polacek@redhat.com>
3824
3825 PR c/59940
3826 * c-common.h (unsafe_conversion_p): Adjust declaration.
3827 (warnings_for_convert_and_check): Likewise.
3828 (convert_and_check): Likewise.
3829 * c-common.c (unsafe_conversion_p): Add location parameter. Call
3830 expansion_point_location_if_in_system_header on it.
3831 (warnings_for_convert_and_check): Add location parameter. Call
3832 expansion_point_location_if_in_system_header on it. Use it.
3833 (convert_and_check): Add location parameter. Use it.
3834 (conversion_warning): Likewise.
3835 (c_add_case_label): Adjust convert_and_check calls.
3836 (scalar_to_vector): Adjust unsafe_conversion_p calls.
3837
a89e6c15 38382014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
3839
3840 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
3841 flag_cilkplus.
3842 * c-pragma.c (init_pragma): Likewise.
3843 * c.opt: Likewise.
3844
2623625f 38452014-01-23 Marek Polacek <polacek@redhat.com>
3846
3847 PR c/59846
3848 * c-common.c (shorten_compare): Add location_t parameter.
3849 * c-common.h (shorten_binary_op): Adjust declaration.
3850
46da3601 38512014-01-23 Marek Polacek <polacek@redhat.com>
3852
3853 PR c/58346
3854 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
3855 * c-common.h: Declare it.
3856
c9743c6a 38572014-01-20 Eric Botcazou <ebotcazou@adacore.com>
3858
3859 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
3860 * c-ada-spec.c (dump_ads): Likewise.
3861 (cpp_check): Likewise.
3862 (dump_ada_specs): Likewise.
3863
38642014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 3865
3866 PR c++/49718
3867 * c-common.c (handle_no_instrument_function_attribute): Allow
3868 no_instrument_function attribute in class member
3869 definition/declaration.
3870
1248c663 38712014-01-15 Jakub Jelinek <jakub@redhat.com>
3872
3873 PR c/58943
3874 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
3875 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
3876 being COMPOUND_EXPR.
3877 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
3878 operand a SAVE_EXPR and second MODIFY_EXPR.
3879
6e5c480b 38802014-01-09 Jakub Jelinek <jakub@redhat.com>
3881
3882 PR target/58115
3883 * c-pch.c (c_common_write_pch): Call
3884 prepare_target_option_nodes_for_pch.
3885
3aea1f79 38862014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3887
3888 Update copyright years
3889
e4f22041 38902014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3891
3892 * array-notation-common.c, c-cilkplus.c: Use the standard form for
3893 the copyright notice.
3894
7fb0fe24 38952013-12-28 Eric Botcazou <ebotcazou@adacore.com>
3896
3897 * c-ada-spec.c (print_constructor): New function.
3898 (print_destructor): Retrieve the origin of the destructor.
3899 (print_ada_declaration): Revamp handling of constructors/destructors.
3900
92a44a68 39012013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 3902 Bill Maddox <maddox@google.com>
3903 Jason Merrill <jason@redhat.com>
3904
3905 * c.opt: Add -fdeclone-ctor-dtor.
3906 * c-opts.c (c_common_post_options): Default to on iff -Os.
3907
74acc703 39082013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
3909
3910 * c-common.c (c_common_attribute_table): Added "cilk simd function"
3911 attribute.
3912 * c-pragma.h (enum pragma_cilk_clause): Remove.
3913 (enum pragma_omp_clause): Added the following fields:
3914 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
3915 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
3916 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
3917 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
3918 PRAGMA_CILK_CLAUSE_UNIFORM.
3919
8204c077 3920
433e804e 39212013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
3922
3923 * cilk.c (cilk_outline): Made this function non-static.
3924 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
3925 (create_cilk_wrapper): Added a new parameter: a function pointer.
3926 (c_install_body_w_frame_cleanup): Remove
3927 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
3928 * c-common.h (cilk_outline): New prototype.
3929 (gimplify_cilk_spawn): Removed two parameters.
3930 (cilk_install_body_with_frame_cleanup): New prototype.
3931 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
3932 CILK_SPAWN_STMT case.
3933
5bcc7e60 39342013-12-11 Bernd Schmidt <bernds@codesourcery.com>
3935
e66325ea 3936 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
3937
5bcc7e60 3938 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
3939 (int_array_type_node): Remove.
3940 * c-common.c (c_common_nodes_and_builtins): Don't build it.
3941
0b26ec77 39422013-12-05 Marek Polacek <polacek@redhat.com>
3943
3944 PR c/52023
3945 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
3946 [ADJUST_FIELD_ALIGN].
3947
a179a7dc 39482013-12-04 Joseph Myers <joseph@codesourcery.com>
3949
3950 PR c/52023
3951 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
3952 and check field alignment if set.
3953 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
3954 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
3955
8204c077 39562013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 3957 Marek Polacek <polacek@redhat.com>
3958
3959 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
3960 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
3961
648fd348 39622013-11-29 H.J. Lu <hongjiu.lu@intel.com>
3963
3964 PR c/59309
3965 * cilk.c (gimplify_cilk_spawn): Properly handle function without
3966 arguments.
3967
253e1cae 39682013-11-29 Jakub Jelinek <jakub@redhat.com>
3969
3970 PR c/59280
3971 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
3972 goto invalid. If it is error_mark_node, don't issue further
3973 diagnostics.
3974
3e398f5b 39752013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
3976
3977 * c.opt (Wopenmp-simd): New.
3978
020bc656 39792013-11-22 Jakub Jelinek <jakub@redhat.com>
3980
3981 * c-ubsan.h (ubsan_instrument_return): New prototype.
3982 * c-ubsan.c (ubsan_instrument_return): New function.
3983
bc61cadb 39842013-11-22 Andrew MacLeod <amacleod@redhat.com>
3985
3986 * c-common.c: Add required include files from gimple.h.
3987 * c-gimplify.c: Likewise
3988 * cilk.c: Likewise
3989
3df42822 39902013-11-22 David Malcolm <dmalcolm@redhat.com>
3991
3992 * c-common.c (unsafe_conversion_p): Remove use of
3993 EXPR_LOC_OR_HERE macro.
3994 (conversion_warning): Likewise.
3995 (warnings_for_convert_and_check): Likewise.
3996 (warn_for_collisions_1): Likewise.
3997 (shorten_compare): Likewise, and remove use of in_system_header
3998 macro, using the location from the former.
3999 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4000 (cb_def_pragma): Remove use of in_system_header macro.
4001 (lex_string): Likewise.
4002 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4003
8c53c46c 40042013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4005 Mike Stump <mikestump@comcast.net>
4006 Richard Sandiford <rdsandiford@googlemail.com>
4007
4008 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4009 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4010 tree_fits_shwi_p or tree_fits_uhwi_p.
4011 (dump_generic_ada_node): Likewise.
4012 * c-format.c (check_format_arg): Likewise.
4013 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4014
5200ef07 40152013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4016
4017 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4018
ca9d7d74 40192013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4020
4021 PR c/53001
4022 * c-common.c (unsafe_conversion_p): Make this function
4023 return an enumeration with more detail.
4024 (conversion_warning): Use the new return type of
4025 unsafe_conversion_p to separately warn either about conversions
4026 that lower floating point number precision or about the other
4027 kinds of conversions.
4028 * c-common.h (enum conversion_safety): New enumeration.
4029 (unsafe_conversion_p): switching return type to
4030 conversion_safety enumeration.
4031 * c.opt: Adding new warning -Wfloat-conversion and
4032 enabling it with -Wconversion.
4033
0391a567 40342013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4035
4036 * c-opts.c: Include plugin.h.
4037 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
4038
19b928d9 40392013-11-19 Marek Polacek <polacek@redhat.com>
4040
4041 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4042 call.
4043 (ubsan_instrument_shift): Likewise.
4044 (ubsan_instrument_vla): Likewise.
4045
aa59f000 40462013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4047
4048 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4049 cast to unsigned type.
4050
08f817b3 40512013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4052
4053 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4054 tree_low_cst.
4055 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4056 rather than tree_low_cst.
4057
6a0712d4 40582013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4059
4060 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4061 tree_to_uhwi throughout.
4062
fcb97e84 40632013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4064
4065 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4066 tree_low_cst (..., 0) with tree_to_shwi throughout.
4067
cd4547bf 40682013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4069
4070 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4071 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4072
35ec552a 40732013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4074
4075 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4076 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4077
f2697631 40782013-11-15 Aldy Hernandez <aldyh@redhat.com>
4079
4080 * c-cilkplus.c: New file.
4081 * c-common.c (readonly_error): Add location argument.
4082 * c-common.h (readonly_error): Same.
4083 (c_finish_cilk_clauses): Protoize.
4084 (c_check_cilk_loop): Same.
4085 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4086 Do not fail on error_mark_node.
4087 Abstract increment canonicalization to here...
4088 (c_omp_for_incr_canonicalize_ptr): New.
4089 c-pragma.c (init_pragma): Register "simd" pragma.
4090 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4091 (enum pragma_cilk_clause): New.
4092
0aa8c34e 40932013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4094
4095 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4096 wchar_type and host_integerp checks.
4097
e795d6e1 40982013-11-14 Andrew MacLeod <amacleod@redhat.com>
4099
4100 * c-common.c: Likewise.
4101 * c-gimplify.c: Likewise.
4102 * cilk.c: Likewise.
4103
9ed99284 41042013-11-14 Diego Novillo <dnovillo@google.com>
4105
4106 * c-common.c: Include fold-const.h.
4107 Include stor-layout.h.
4108 Include calls.h.
4109 Include stringpool.h.
4110 Include attribs.h.
4111 Include varasm.h.
4112 Include trans-mem.h.
4113 * c-cppbuiltin.c: Include stor-layout.h.
4114 Include stringpool.h.
4115 * c-format.c: Include stringpool.h.
4116 * c-lex.c: Include stringpool.h.
4117 Include stor-layout.h.
4118 * c-pragma.c: Include stringpool.h.
4119 Include attribs.h.
4120 Include varasm.h.
4121 Include gcc-symtab.h.
4122 * c-pretty-print.c: Include stor-layout.h.
4123 Include attribs.h.
4124 * cilk.c: Include stringpool.h.
4125 Include calls.h.
4126
4fba5eb9 41272013-11-13 Joseph Myers <joseph@codesourcery.com>
4128
4129 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4130 * c-common.c (c_common_reswords): Add __auto_type.
4131 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4132
a8783bee 41332013-11-12 Andrew MacLeod <amacleod@redhat.com>
4134
e795d6e1 4135 * c-common.c: Include gimplify.h.
4136 * c-gimplify.c: Likewise.
4137 * cilk.c: Likewise.
4138 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4139 * c-ubsan.c: Don't include gimple.h.
a8783bee 4140
d184e0c0 41412013-11-12 Joseph Myers <joseph@codesourcery.com>
4142
4143 * c-common.c (c_common_reswords): Add _Thread_local.
4144
a056826c 41452013-11-09 Joseph Myers <joseph@codesourcery.com>
4146
4147 * c-common.c (atomic_size_supported_p): New function.
4148 (resolve_overloaded_atomic_exchange)
4149 (resolve_overloaded_atomic_compare_exchange)
4150 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4151 Use it instead of comparing size with a local list of sizes.
4152
b560fabd 41532013-11-07 Andrew MacLeod <amacleod@redhat.com>
4154 Joseph Myers <joseph@codesourcery.com>
4155
4156 * c-common.h (enum rid): Add RID_ATOMIC.
4157 * c-common.c (c_common_reswords): Add _Atomic.
4158 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4159 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4160 * c-format.c (check_format_types): Check for extra _Atomic
4161 qualifiers in format argument.
4162 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4163 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4164
5b1a0622 41652013-11-06 Tobias Burnus <burnus@net-b.de>
4166
4167 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4168
4f8f4cb8 41692013-11-06 Joseph Myers <joseph@codesourcery.com>
4170
4171 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4172 standards modes.
4173 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4174 to mean lack of IEEE 754 support.
4175
9148bda3 41762013-11-05 Tobias Burnus <burnus@net-b.de>
4177
4178 * c.opt (-Wdate-time): New option
4179 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4180
08c5f4d5 41812013-11-05 Joseph Myers <joseph@codesourcery.com>
4182
4183 * c-cppbuiltin.c (cpp_iec_559_value): Test
4184 flag_excess_precision_cmdline not flag_excess_precision.
4185
c630ef93 41862013-11-05 Tobias Burnus <burnus@net-b.de>
4187
4188 * c.opt (fopenmp-simd): New option.
4189 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4190 (omp_pragmas): ... this new struct.
4191 (c_pp_lookup_pragma): Also walk omp_pragmas.
4192 (init_pragma): Init pragmas for -fopenmp-simd.
4193
7354a89b 41942013-11-04 Marek Polacek <polacek@redhat.com>
4195
4196 PR c++/58979
4197 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4198
4c866b9b 41992013-11-04 Joseph Myers <joseph@codesourcery.com>
4200
4201 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4202 New functions.
4203 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4204
e2a6a333 42052013-11-04 Eric Botcazou <ebotcazou@adacore.com>
4206
4207 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4208 (dump_ada_specs): Adjust prototype of second callback.
4209 * c-ada-spec.c (cpp_check): New global variable.
4210 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4211 (print_generic_ada_decl): Likewise.
4212 (has_static_fields): Change return type to bool and add guard.
4213 (has_nontrivial_methods): New predicate.
4214 (is_tagged_type): Change return type to bool.
4215 (separate_class_package): Call has_nontrivial_methods.
4216 (pp_ada_tree_identifier): Minor tweaks.
4217 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4218 (dump_ada_array_domains): Likewise.
4219 (dump_ada_array_type): Likewise.
4220 (dump_template_types): Remove cpp_check parameter and do not pass it to
4221 dump_generic_ada_node.
4222 (dump_ada_template): Likewise.
4223 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4224 recursively.
4225 (print_ada_methods): Change return type to integer. Remove cpp_check
4226 parameter and do not pass it down.
4227 (dump_nested_types): Remove cpp_check parameter and do not pass it to
4228 dump_generic_ada_node.
4229 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
4230 accessing methods.
4231 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4232 down. Use has_nontrivial_methods to recognize C++ classes. Use return
4233 value of print_ada_methods.
4234 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4235 Set cpp_check to it before invoking dump_ada_nodes.
4236 (dump_ada_specs): Likewise.
4237
2c4c3477 42382013-11-03 Marek Polacek <polacek@redhat.com>
4239
4240 * c-ubsan.c: Don't include hash-table.h.
4241 (ubsan_instrument_vla): New function.
4242 * c-ubsan.h: Declare it.
4243
452659af 42442013-10-31 David Malcolm <dmalcolm@redhat.com>
4245
4246 Automated part of renaming of symtab_node_base to symtab_node.
4247
4248 Patch autogenerated by rename_symtab.py from
4249 https://github.com/davidmalcolm/gcc-refactoring-scripts
4250 revision 58bb219cc090b2f4516a9297d868c245495ee622
4251
4252 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4253 symtab_node_base to symtab_node.
4254
4d6f7dd4 42552013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4256
4257 Implement C++14 digit separators.
4258 * c-lex.c (interpret_float): Remove digit separators from scratch string
4259 before building real literal.
4260
06cfe805 42612013-10-30 Jakub Jelinek <jakub@redhat.com>
4262
4263 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4264
d037099f 42652013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4266
4267 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4268 fields.
4269 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4270 enabled.
4271 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4272 (insert_cilk_frame): New prototype.
4273 (cilk_init_builtins): Likewise.
4274 (gimplify_cilk_spawn): Likewise.
4275 (c_cilk_install_body_w_frame_cleanup): Likewise.
4276 (cilk_detect_spawn_and_unwrap): Likewise.
4277 (cilk_set_spawn_marker): Likewise.
4278 (build_cilk_sync): Likewise.
4279 (build_cilk_spawn): Likewise.
4280 * cilk.c: New file.
4281
02774f2d 42822013-10-29 David Malcolm <dmalcolm@redhat.com>
4283
4284 Patch autogenerated by refactor_symtab.py from
4285 https://github.com/davidmalcolm/gcc-refactoring-scripts
4286 revision 58bb219cc090b2f4516a9297d868c245495ee622
4287
4288 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4289 to a true class hierarchy.
4290 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4291
31fe10fd 42922013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4293
4294 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4295
b1c06ff9 42962013-10-26 Jeff Law <law@redhat.com>
4297
1f78217c 4298 * c-common.c (c_define_builtins): Remove mudflap support.
4299 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 4300
48a972c8 43012013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 4302
4303 PR other/33426
4304 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4305 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4306
546a04b1 43072013-10-23 Jason Merrill <jason@redhat.com>
4308
4309 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4310
bc7bff74 43112013-10-11 Jakub Jelinek <jakub@redhat.com>
4312
d62c713e 4313 * c-common.h (omp_clause_mask::operator !=): New method.
4314 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4315 instead of if (mask & something) tests everywhere.
4316
bc7bff74 4317 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4318 201307 instead of 201107.
4319 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4320 (c_common_attribute_table): Add "omp declare target" and
4321 "omp declare simd" attributes.
4322 (handle_omp_declare_target_attribute,
4323 handle_omp_declare_simd_attribute): New functions.
4324 * c-omp.c: Include c-pragma.h.
4325 (c_finish_omp_taskgroup): New function.
4326 (c_finish_omp_atomic): Add swapped argument, if true,
4327 build the operation first with rhs, lhs arguments and use NOP_EXPR
4328 build_modify_expr.
4329 (c_finish_omp_for): Add code argument, pass it down to make_code.
4330 (c_omp_split_clauses): New function.
4331 (c_split_parallel_clauses): Removed.
4332 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4333 c_omp_declare_simd_clauses_to_decls): New functions.
4334 * c-common.h (omp_clause_mask): New type.
4335 (OMP_CLAUSE_MASK_1): Define.
4336 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4337 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4338 omp_clause_mask::operator |, omp_clause_mask::operator &,
4339 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4340 omp_clause_mask::operator ==): New methods.
4341 (enum c_omp_clause_split): New.
4342 (c_finish_omp_taskgroup): New prototype.
4343 (c_finish_omp_atomic): Add swapped argument.
4344 (c_finish_omp_for): Add code argument.
4345 (c_omp_split_clauses): New prototype.
4346 (c_split_parallel_clauses): Removed.
4347 (c_omp_declare_simd_clauses_to_numbers,
4348 c_omp_declare_simd_clauses_to_decls): New prototypes.
4349 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4350 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4351 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4352 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4353 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4354 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4355 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4356 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4357 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4358 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4359 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4360 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4361 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4362 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4363 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4364 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4365 PRAGMA_OMP_CLAUSE_UNIFORM.
4366
d7dcba40 43672013-10-09 Marc Glisse <marc.glisse@inria.fr>
4368
4369 PR tree-optimization/20318
4370 * c-common.c (handle_returns_nonnull_attribute): New function.
4371 (c_common_attribute_table): Add returns_nonnull.
4372
0b7282f1 43732013-10-03 Marc Glisse <marc.glisse@inria.fr>
4374
4375 PR c++/19476
4376 * c.opt (fcheck-new): Move to common.opt.
4377
51f553af 43782013-09-25 Marek Polacek <polacek@redhat.com>
4379 Jakub Jelinek <jakub@redhat.com>
4380
4381 PR sanitizer/58413
4382 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4383 an expression if we can prove it is correct.
4384 (ubsan_instrument_division): Likewise. Remove unnecessary
4385 check.
4386
05f893e1 43872013-09-18 Marek Polacek <polacek@redhat.com>
4388
4389 PR sanitizer/58411
4390 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4391 Declare it.
4392 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4393
236ce1d1 43942013-09-14 Iain Sandoe <iain@codesourcery.com>
4395
4396 PR target/48094
4397 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4398 fobjc-gc, freplace-objc-classes): Accept for LTO.
4399
f9f68d35 44002013-09-13 Jacek Caban <jacek@codeweavers.com>
4401
4402 * c-target.def: New hook
4403
ba2f764e 44042013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4405
4406 PR c++/43452
4407 * c.opt (Wdelete-incomplete): Add.
4408
73437615 44092013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4410
4411 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4412 (vector_types_compatible_elements_p): New function.
4413 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4414 declaration.
4415 (vector_types_compatible_elements_p): Declare.
4416
95af4c75 44172013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4418
4419 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4420 a virtual member function.
4421 (pp_simple_type_specifier): Remove.
4422 (pp_c_type_specifier): Likewise.
4423 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4424 Rename from pp_c_type_specifier. Adjust.
4425 (c_pretty_printer::c_pretty_printer): Do not assign to
4426 simple_type_specifier.
4427
eaab24b9 44282013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4429
4430 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4431 member function.
4432 (c_pretty_printer::storage_class_specifier): Likewise.
4433 (c_pretty_printer::initializer): Likewise.
4434 (pp_declaration): Remove.
4435 (pp_declaration_specifiers): Likewise.
4436 (pp_abstract_declarator): Likewise.
4437 (pp_declarator): Likewise.
4438 (pp_type_id): Likewise.
4439 (pp_statement): Likewise.
4440 (pp_constant): Likewise.
4441 (pp_id_expression): Likewise.
4442 (pp_primary_expression): Likewise.
4443 (pp_unary_expression): Likewise.
4444 (pp_multiplicative_expression): Likewise.
4445 (pp_conditional_expression): Likewise.
4446 (pp_assignment_expression): Likewise.
4447 (pp_expression): Likewise.
4448 (pp_c_type_id): Likewise.
4449 (pp_c_storage_class_specifier): Likewise.
4450 * c-pretty-print.c (pp_c_type_cast): Tidy.
4451 (pp_c_pointer): Likewise.
4452 (pp_c_type_specifier): Likewise.
4453 (pp_c_parameter_type_list): Likewise.
4454 (pp_c_function_definition): Likewise.
4455 (pp_c_init_declarator): Likewise.
4456 (pp_c_initializer_list): Likewise.
4457 (pp_c_constructor_elts): Likewise.
4458 (c_pretty_printer::direct_abstract_declarator): Likewise.
4459 (c_pretty_printer::declaration_specifiers): Likewise.
4460 (c_pretty_printer::primary_expression): Likewise.
4461 (c_pretty_printer::postfix_expression): Likewise.
4462 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4463 (c_pretty_printer::storage_class_specifier): Rename from
4464 pp_c_storage_class_specifier.
4465 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4466 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4467 storage_class_specifier, initializer, offset_list, flags.
4468
9e46467d 44692013-08-30 Marek Polacek <polacek@redhat.com>
4470
4471 * c-ubsan.c: New file.
4472 * c-ubsan.h: New file.
4473
36a8d9b9 44742013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4475
4476 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4477 member function.
4478 (c_pretty_printer::declaration_specifiers): Likewise.
4479 (c_pretty_printer::declarator): Likewise.
4480 (c_pretty_printer::abstract_declarator): Likewise.
4481 (c_pretty_printer::direct_abstract_declarator): Likewise.
4482 (c_pretty_printer::direct_declarator): Likewise.
4483 (c_pretty_printer::function_specifier): Likewise.
4484 (pp_declaration): Adjust.
4485 (pp_declaration_specifiers): Likewise.
4486 (pp_abstract_declarator): Likewise.
4487 (pp_direct_declarator): Likewise.
4488 (pp_function_specifier): Likewise.
4489 (pp_direct_abstract_declarator): Remove as unused.
4490 (pp_c_declaration): Remove.
4491 (pp_c_declaration_specifiers): Likewise.
4492 (pp_c_declarator): Likewise.
4493 (pp_c_direct_declarator): Likewise.
4494 (pp_c_function_specifier): Likewise.
4495 (pp_c_direct_abstract_declarator): Likewise.
4496 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4497 from pp_c_abstract_declarator. Adjust.
4498 (c_pretty_printer::direct_abstract_declarator): Rename from
4499 pp_c_direct_abstract_declarator. Adjust.
4500 (c_pretty_printer::function_specifier): Rename from
4501 pp_c_function_specifier. Adjust.
4502 (c_pretty_printer::declaration_specifiers): Rename from
4503 pp_c_declaration_specifiers. Adjust.
4504 (c_pretty_printer::direct_declarator): Rename from
4505 pp_c_direct_declarator. Adjust.
4506 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4507 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4508 (c_pretty_printer::c_pretty_printer): Do not assign to
4509 declaration, declaration_specifiers, declarator,
4510 direct_declarator, direct_abstract_declarator, function_specifier.
4511
30635c2e 45122013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4513
4514 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4515 virtual member function.
4516 (c_pretty_printer::multiplicative_expression): Likewise.
4517 (c_pretty_printer::conditional_expression): Likewise.
4518 (c_pretty_printer::assignment_expression): Likewise.
4519 (c_pretty_printer::expression): Likewise.
4520 (pp_unary_expression): Adjust.
4521 (pp_multiplicative_expression): Likewise.
4522 (pp_assignment_expression): Likewise.
4523 (pp_conditional_expression): Likewise.
4524 (pp_expression): Likewise.
4525 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
4526 from pp_c_unary_expression. Adjust.
4527 (c_pretty_printer::multiplicative_expression): Rename from
4528 pp_c_multiplicative_expression. Adjust.
4529 (c_pretty_printer::conditional_expression): Rename from
4530 pp_c_conditional_expression. Adjust.
4531 (c_pretty_printer::assignment_expression): Rename from
4532 pp_c_assignment_expression. Adjust.
4533 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
4534 (c_pretty_printer::c_pretty_printer): Do not assign to
4535 unary_expression, multiplicative_expression,
4536 conditional_expression, expression.
4537
027d08ed 45382013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4539
4540 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
4541 virtual member function.
4542 (pp_postfix_expression): Adjust.
4543 (pp_c_postfix_expression): Remove.
4544 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
4545 from pp_c_postfix_expression. Adjust.
4546 (c_pretty_printer::c_pretty_printer): Do not assign to
4547 postfix_expression.
4548
f873303a 45492013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4550
4551 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
4552 virtua member function.
4553 (pp_primary_expression): Adjust.
4554 (pp_c_primary_expression): Remove.
4555 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
4556 from pp_c_primary_expression. Adjust.
4557 (pp_c_initializer_list): Use pp_primary_expression.
4558 (c_pretty_printer::c_pretty_printer): Do not assign to
4559 primary_expression.
4560
08e3e481 45612013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4562
4563 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4564 * c-pretty-print.c (M_): Remove.
4565 (c_pretty_printer::translate_string): Define.
4566 (pp_c_type_specifier): Use it.
4567 (pp_c_primary_expression): Likewise.
4568 (pp_c_expression): Likewise.
4569
1fc4a87f 45702013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4571
4572 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
4573 virtual function.
4574 (pp_c_id_expression): Remove.
4575 (pp_id_expression): Adjust.
4576 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
4577 pp_c_id_expression. Adjust.
4578 (pp_c_postfix_expression): Use pp_id_expression.
4579 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
4580
a6cb161b 45812013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4582
4583 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4584 member function.
4585 (pp_constant): Adjust.
4586 (pp_c_constant): Remove.
4587 * c-pretty-print.c (c_pretty_printer::constant): Rename from
4588 pp_c_constant. Adjust.
4589 (pp_c_constant)
4590 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
4591 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
4592
eed6bc21 45932013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4594
4595 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
4596 (c_pretty_printer::c_pretty_printer): Declare.
4597 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
4598 c_pretty_printer_init. Adjust.
4599 (print_c_tree): Do not call c_pretty_printer_init.
4600 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
4601
df558d2e 46022013-08-09 Arnaud Charlet <charlet@adacore.com>
4603
4604 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
4605
42f9a786 46062013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
4607
4608 PR c++/58080
4609 * c-common.c (pointer_int_sum): Add bool parameter.
4610 * c-common.h (pointer_int_sum): Adjust declaration.
4611
f874ddad 46122013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4613
4614 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
4615 c_pretty_printer variable.
4616
a94db6b0 46172013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4618
4619 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
4620 (pp_base): Remove.
4621 (pp_c_base): Likewise. Adjust users.
4622 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
4623 (pp_c_whitespace): Do not call pp_base.
4624 (pp_c_left_paren): Likewise.
4625 (pp_c_right_paren): Likewise.
4626 (pp_c_left_brace): Likewise.
4627 (pp_c_right_brace): Likewise.
4628 (pp_c_left_bracket): Likewise.
4629 (pp_c_right_bracket): Likewise.
4630 (pp_c_dot): Likewise.
4631 (pp_c_ampersand): Likewise.
4632 (pp_c_star): Likewise.
4633 (pp_c_arrow): Likewise.
4634 (pp_c_semicolon): Likewise.
4635 (pp_c_complement): Likewise.
4636 (pp_c_exclamation): Likewise.
4637 (pp_c_direct_declarator): Likewise.
4638 (pp_c_ws_string): Likewise.
4639 (pp_c_identifier): Likewise.
4640 (pp_c_statement): Likewise.
4641 (print_c_tree): Likewise.
4642
1898176c 46432013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
4644
4645 PR c++/58072
4646 * c-common.c (c_parse_error): Catch user-defined literal tokens and
4647 provide useful error strings.
4648
70d60d1d 46492013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4650
4651 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
4652 printer functions instead of pp_string or operators and punctuators.
4653 (dump_generic_ada_node): Likewise.
4654 * c-pretty-print.c (pp_c_type_specifier): Likewise.
4655 (pp_c_relational_expression): Likewise.
4656 (pp_c_logical_or_expression): Likewise.
4657
dda4f0ec 46582013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4659
4660 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
4661 functions instead of pp_character.
4662 (pp_ada_tree_identifier): Likewise.
4663 (dump_ada_double_name): Likewise.
4664 (dump_ada_function_declaration): Likewise.
4665 (dump_ada_array_domains): Likewise.
4666 (dump_template_types): Likewise.
4667 (dump_generic_ada_node): Likewise.
4668 (print_ada_declaration): Likewise.
4669 (print_ada_struct_decl): Likewise.
4670 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4671
7aa04c8d 46722013-07-23 Tom Tromey <tromey@redhat.com>
4673
4674 * c-common.h (enum rid) <RID_GENERIC>: New constant.
4675 * c-common.c (c_common_reswords): Add _Generic.
4676
a04e8d62 46772013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
4678
4679 * c-common.c: Fix typos.
4680 * c-common.h: Likewise.
4681
a96c3cc1 46822013-07-13 Lubos Lunak <l.lunak@suse.cz>
4683
4684 PR c++/55203
4685 * c-common.c (c_common_attribute_table): Add warn_unused.
4686 (handle_warn_unused_attribute): New.
4687
da31536d 46882013-07-10 Jakub Jelinek <jakub@redhat.com>
4689
4690 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
4691 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
4692
839f2f70 46932013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
4694
4695 PR c++/57869
4696 * c.opt: Add Wconditionally-supported.
4697
73f353d0 46982013-07-08 Graham Stott <graham.stott@btinternet.com>
4699
1f78217c 4700 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 4701 unused variables l_length and l_node.
4702
21ebaa24 47032013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 4704
4705 PR c/57821
4706 * c-common.c (complete_array_type): Delay folding first index
4707 like other indices. When folding, check for index overflow.
4708
68ea4406 47092013-06-27 Marc Glisse <marc.glisse@inria.fr>
4710
4711 PR c++/57509
4712 * c-common.h (c_build_vec_perm_expr): New complain argument.
4713 * c-common.c (c_build_vec_perm_expr): Likewise.
4714 Use save_expr also in C++.
4715
60777f69 47162013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4717
4718 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
4719 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4720 * c-opts.c (c_common_post_options): Likewise.
4721
839f2f70 47222013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 4723
4724 * array-notation-common.c (length_mismatch_in_expr): Changed the
4725 parameter type's from a dynamic array to a vec_tree. Also removed
4726 the size parameters.
4727 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
4728 the change above.
4729
e9331eab 47302013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
4731
4732 * c-common.h (struct cilkplus_an_parts): New structure.
4733 (struct cilkplus_an_loop_parts): Likewise.
4734 (cilkplus_extract_an_triplets): New prototype.
4735 (fix_sec_implicit_args): Likewise.
4736 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
4737 (fix_sec_implicit_args): Likewise.
60777f69 4738
a9c99fc4 47392013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
4740
4741 * array-notation-common.c (find_inv_trees): Removed an unwanted
4742 typecasting.
4743 * c-common.h (struct inv_list::additional_tcodes): Changed type from
4744 enum rid to enum tree_code.
4745
f2526cce 47462013-06-11 Jan Hubicka <jh@suse.cz>
4747
4748 * c-common.c (handle_alias_ifunc_attribute): Do not set
4749 DECL_EXTERNAL for weakref variables.
4750 * c-pragma.c (handle_pragma_weak): Make sure aliases
4751 are not declared as external.
4752
09970d67 47532013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
4754
4755 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
4756 function from c/c-array-notation.c.
4757 (is_cilkplus_reduce_builtin): Likewise.
4758 (find_rank): Likewise.
4759 (extract_array_notation_exprs): Likewise.
4760 (replace_array_notations): Likewise.
4761 (find_inv_trees): Likewise.
4762 (replace_inv_trees): Likewise.
4763 (contains_array_notation_expr): Likewise.
4764 (find_correct_array_notation_type): Likewise.
4765 * c-common.h (struct inv_list): Moved this struct from the file
4766 c/c-array-notation.c and added a new field called additional tcodes.
4767 (length_mismatch_in_expr_p): New prototype.
4768 (is_cilkplus_reduce_builtin): Likewise.
4769 (find_rank): Likewise.
4770 (extract_array_notation_exprs): Likewise.
4771 (replace_array_notation): Likewise.
4772 (find_inv_trees): Likewise.
4773 (replace_inv_trees): Likewise.
4774 (find_correct_array_notation_type): Likewise.
839f2f70 4775
3c6d4197 47762013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
4777
4778 * c-common.c (c_define_builtins): When cilkplus is enabled, the
4779 function array_notation_init_builtins is called.
4780 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
4781 * c-common.def (ARRAY_NOTATION_REF): New tree.
4782 * c-common.h (build_array_notation_expr): New function declaration.
4783 (build_array_notation_ref): Likewise.
4784 (extract_sec_implicit_index_arg): New extern declaration.
4785 (is_sec_implicit_index_fn): Likewise.
4786 (ARRAY_NOTATION_CHECK): New define.
4787 (ARRAY_NOTATION_ARRAY): Likewise.
4788 (ARRAY_NOTATION_START): Likewise.
4789 (ARRAY_NOTATION_LENGTH): Likewise.
4790 (ARRAY_NOTATION_STRIDE): Likewise.
4791 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
4792 ARRAY_NOTATION_REF.
4793 (pp_c_expression): Likewise.
4794 * c.opt (flag_enable_cilkplus): New flag.
4795 * array-notation-common.c: New file.
4796
8e71dad2 47972013-05-14 Jakub Jelinek <jakub@redhat.com>
4798
4799 PR c++/57274
4800 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
4801
432dd330 48022013-05-10 Marc Glisse <marc.glisse@inria.fr>
4803
4804 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
4805 vectors.
4806
b156ec37 48072013-05-07 Han Shen <shenhan@google.com>
4808
4809 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
4810
1a087624 48112013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4812
4813 * c-common.c (check_user_alignment): Emit error for negative values.
4814
1638c736 48152013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4816
4817 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
4818
949dbf93 48192013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4820
4821 * c-cppbuiltin.c (c_cpp_builtins): Do not define
4822 __GXX_EXPERIMENTAL_CXX1Y__.
4823
9205a6cc 48242013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4825 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4826
4827 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
4828 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
4829 to simply use OPT_Wpointer_arith.
4830 (c_sizeof_or_alignof_type): Likewise.
4831
05d0bce1 48322013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4833
4834 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
4835
41609f8b 48362013-04-12 Jakub Jelinek <jakub@redhat.com>
4837
4838 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
4839 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
4840 specifiers.
4841
c671dc4f 48422013-04-07 Steven Bosscher <steven@gcc.gnu.org>
4843
4844 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
4845
ba125576 48462013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
4847
4848 * c-common.c (pointer_int_sum): Remove dead code.
4849
9d3fa937 48502013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
4851
4852 PR middle-end/56524
4853 * c-common.c (handle_optimize_attribute): Don't call
4854 save_optabs_if_changed.
4855
5ceebb21 48562013-03-05 Jakub Jelinek <jakub@redhat.com>
4857
4858 PR middle-end/56461
4859 * c-pch.c (pch_init): Free target_validity at the end.
4860
18eeed2b 48612013-03-04 Jakub Jelinek <jakub@redhat.com>
4862
4863 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
4864
a9196da9 48652013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
4866 Jakub Jelinek <jakub@redhat.com>
4867
4868 PR sanitizer/56454
4869 * c-common.c (handle_no_sanitize_address_attribute): New function.
4870 (c_common_attribute_table): Add no_sanitize_address attribute.
4871 (handle_no_address_safety_analysis_attribute): Add
4872 no_sanitize_address attribute, not no_address_safety_analysis
4873 attribute.
4874
15c27dda 48752013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 4876
4877 PR target/52555
4878 * c-common.c (handle_optimize_attribute): Call
4879 save_optabs_if_changed.
4880
19426fe1 48812013-02-18 Jakub Jelinek <jakub@redhat.com>
4882 Steven Bosscher <steven@gcc.gnu.org>
4883
4884 PR pch/54117
4885 * c-opts.c (c_common_post_options): If debug info is enabled
4886 and non-dwarf*, refuse to load PCH files and when writing PCH
4887 file warn.
4888
df936998 48892013-02-05 Jakub Jelinek <jakub@redhat.com>
4890
4891 PR middle-end/56167
4892 * c-common.c (handle_error_attribute): Fix condition.
4893
ae0c3984 48942013-01-30 Jakub Jelinek <jakub@redhat.com>
4895
4896 PR c++/55742
4897 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
4898
1c4973d7 48992013-01-18 Jason Merrill <jason@redhat.com>
4900
4901 PR target/54908
4902 * c.opt (-fextern-tls-init): New.
4903 * c-opts.c (c_common_post_options): Handle it.
4904
7c834436 49052013-01-09 Jakub Jelinek <jakub@redhat.com>
4906
4907 PR c/48418
4908 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
4909 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
4910 and is either negative or bigger or equal to type precision
4911 of the first operand.
4912
5abaa10a 49132012-12-03 Marek Polacek <polacek@redhat.com>
4914
4915 PR c/55570
4916 * c-common.c (check_user_alignment): Swap order of tests,
4917 check TREE_CODE first.
4918
324ca377 49192012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
4920
4921 PR c++/52654
4922 * c-common.h (overflow_type): New enum.
4923 (build_userdef_literal): Add overflow_type argument.
4924 (tree_userdef_literal): Add overflow_type.
4925 (USERDEF_LITERAL_OVERFLOW): New access macro.
4926 * c-common.c (build_userdef_literal): Add overflow_type
4927 argument.
4928 * c-lex.c (c_lex_with_flags): Add overflow_type to
4929 build_userdef_literal calls.
4930 (interpret_integer, interpret_float): Add overflow_type argument.
4931
b4c4a429 49322012-11-28 Richard Biener <rguenther@suse.de>
4933
4934 PR c/35634
4935 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4936 here and use a type with proper overflow behavior for types that would
4937 need to be promoted for the arithmetic.
4938
d413ffdd 49392012-11-23 Jakub Jelinek <jakub@redhat.com>
4940
4941 PR sanitizer/55435
4942 * c-common.c (handle_no_address_safety_analysis_attribute): New
4943 function.
4944 (c_common_attribute_table): Add no_address_safety_analysis.
4945
52bc861d 49462012-11-16 Simon Baldwin <simonb@google.com>
4947
4948 * c.opt: Add f[no-]canonical-system-headers.
4949 * c-opts.c (c_common_handle_option): Handle
4950 OPT_fcanonical_system_headers.
4951
2dd00636 49522012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
4953
4954 PR c++/54413
4955 * c-opts.c (c_common_handle_option): Set new flags.
4956 * c.opt: Describe new flags.
4957
d4701f6c 49582012-11-09 Jason Merrill <jason@redhat.com>
4959
4960 * c.opt (Wabi-tag): New.
4961
72d65da9 49622012-11-09 Andi Kleen <ak@linux.intel.com>
4963
4964 PR 55139
4965 * c-common.c (get_atomic_generic_size): Mask with
4966 MEMMODEL_MASK
4967
77a357e3 49682012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4969
4970 PR c/53063
4971 * c.opt (Wformat): Make it Alias Wformat=1.
4972 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
4973 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
4974 LangEnabledBy.
4975 (Wformat=): RejectNegative. Use LangEnabledBy.
4976 (Wnonnull): Use LangEnabledBy.
4977 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
4978 * c-format.c (set_Wformat): Delete.
4979 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
4980 (maybe_read_dollar_number): Likewise.
4981 (avoid_dollar_number): Likewise.
4982 (finish_dollar_format_checking): Likewise.
4983 (check_format_info): Likewise.
4984 (check_format_info_main): Likewise.
4985 (check_format_types): Likewise.
4986 (format_type_warning): Likewise.
4987 * c-common.c (int): Likewise.
4988 (check_function_sentinel): Likewise.
4989 * c-common.h (warn_format,set_Wformat): Do not declare here.
4990
45efa6b9 49912012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4992
4993 PR c/53063
4994 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
4995 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
4996 Use LangEnabledBy.
4997 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
4998 common.opt.
4999 (Wvariadic-macros): Init(1).
5000 * c-opts.c (c_common_handle_option): Do not handle them
5001 explicitly.
5002 (c_common_post_options): Likewise.
5003 (sanitize_cpp_opts): warn_unused_macros is now
5004 cpp_warn_unused_macros.
5005 (push_command_line_include): Likewise.
5006 * c-common.c (warn_unknown_pragmas): Do not define.
5007 * c-common.h (warn_unknown_pragmas): Do not declare.
5008
0e4e775a 50092012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5010
5011 PR c/51294
5012 * c-common.c (conversion_warning): Handle conditional expressions.
5013
8b447d3f 50142012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5015
5016 PR c++/54930
5017 * c.opt (Wreturn_local_addr): Define new option.
5018
f4a61754 50192012-10-25 Jason Merrill <jason@redhat.com>
5020
ecb10e6a 5021 * c.opt (Wvirtual-move-assign): New.
5022
f4a61754 5023 * c.opt (Winherited-variadic-ctor): New.
5024
7b463b19 50252012-10-25 Marc Glisse <marc.glisse@inria.fr>
5026
5027 PR c++/54427
5028 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5029
6adc88f8 50302012-10-23 Joseph Myers <joseph@codesourcery.com>
5031
5032 * c-common.h (pch_cpp_save_state): Declare.
5033 * c-target.def (c_preinclude): New hook.
5034 * c-opts.c (done_preinclude): New.
5035 (push_command_line_include): Handle default preincluded header.
5036 (cb_file_change): Call pch_cpp_save_state when calling
5037 push_command_line_include.
5038 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5039 (pch_cpp_save_state): New.
5040 (pch_init): Call pch_cpp_save_state conditionally, instead of
5041 calling cpp_save_state.
5042
fa816b0b 50432012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5044
5045 PR c/53063
5046 PR c/40989
5047 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5048 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5049 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5050 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5051 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5052 * c-opts.c (c_common_handle_option): Remove explicit handling from
5053 here.
5054 (c_common_post_options): Likewise.
5055
d214ccee 50562012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5057
5058 * c-ada-spec.c (LOCATION_COL): Delete.
5059 (compare_location): New function.
5060 (compare_node): Use it.
5061 (compare_comment): Likewise.
5062
77b27208 50632012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5064
5065 PR c/53063
5066 PR c/40989
5067 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5068 * c-opts.c (c_common_handle_option): Do not set them here. Add
5069 comment.
5070 (c_common_post_options): Likewise.
5071
cc02ca4d 50722012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5073
5074 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5075 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5076 Remove POINTER_TYPE handling, add large unsigned handling and use
5077 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5078
57f872a2 50792012-10-12 Jakub Jelinek <jakub@redhat.com>
5080
5081 PR c/54381
5082 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5083 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5084 locs and array of 3 trees instead of just single loc and single
5085 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5086 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5087 For *cmp* builtins that take two sources strings report warnings
5088 about first and second source, not about destination and source.
5089
7354ad2e 50902012-10-12 Marc Glisse <marc.glisse@inria.fr>
5091
5092 PR c++/53055
5093 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5094
1ac7f120 50952012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5096
5097 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5098 declaring something coming from another file.
5099
1e0cc9e3 51002012-10-10 Arnaud Charlet <charlet@adacore.com>
5101
1ac7f120 5102 PR ada/54845
1e0cc9e3 5103 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5104
b0e7825e 51052012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5106
5107 PR c++/54194
5108 * c-common.c (warn_about_parentheses): Add location_t parameter;
5109 use EXPR_LOC_OR_LOC.
5110 * c-common.h: Update declaration.
5111
41ed701a 51122012-10-09 Marc Glisse <marc.glisse@inria.fr>
5113
5114 PR c++/54427
5115 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5116 more operations. Make error messages optional.
5117 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5118 (scalar_to_vector): Declare.
5119
3740094c 51202012-10-08 Jason Merrill <jason@redhat.com>
5121
5122 * c-common.c (c_common_reswords): Add thread_local.
5123
ffcdbf9c 51242012-10-08 Dodji Seketeli <dodji@redhat.com>
5125
5126 PR c++/53528 C++11 attribute support
5127 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5128 new functions.
5129 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5130 static function.
5131 (handle_aligned_attribute): In choose strictest alignment
5132 among many. Use new check_cxx_fundamental_alignment_constraints.
5133 (handle_transparent_union_attribute): In c++11 attribute syntax,
5134 don't look through typedefs.
5135
ef34afc1 51362012-10-04 Arnaud Charlet <charlet@adacore.com>
5137
5138 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5139 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5140 out of dumpfile.h.
5141
f1ff4562 51422012-09-25 Dehao Chen <dehao@google.com>
5143
5144 PR middle-end/54645
ef34afc1 5145 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 5146 map when read in the pch.
5147
92a44a68 51482012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 5149
5150 * c-ada-spec.c: Style fixes.
5151
92a44a68 51522012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 5153
5154 * c.opt (-fada-spec-parent): Define new command line switch.
5155 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5156 is specified, generate binding spec as a child of the specified unit.
5157
8eba82c2 51582012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5159 Manuel López-Ibáñez <manu@gcc.gnu.org>
5160
5161 PR c++/53210
5162 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5163
38682990 51642012-08-23 Arnaud Charlet <charlet@adacore.com>
5165
5166 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5167 for pointers, and add missing Convention C pragma.
5168 (print_ada_struct_decl): Add missing aliased keyword.
5169 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5170
f003f5dc 51712012-08-17 Jakub Jelinek <jakub@redhat.com>
5172
5173 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5174 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5175 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5176 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5177 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5178
ec11736b 51792012-08-10 Richard Guenther <rguenther@suse.de>
5180
5181 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5182
5f7f600e 51832012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5184
5185 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5186 instead of separate pp_newline and pp_flush.
5187 (print_c_tree): Likewise.
5188
758a38ab 51892012-07-26 Richard Henderson <rth@redhat.com>
5190
5191 * c-common.c (handle_hot_attribute): Allow labels.
5192 (handle_cold_attribute): Likewise.
5193
9ca77b08 51942012-07-20 Jakub Jelinek <jakub@redhat.com>
5195
5196 PR c++/28656
5197 * c-common.c (check_function_nonnull): Handle multiple nonnull
5198 attributes properly.
5199
b9ed1410 52002012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5201
5202 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5203 * c-ada-spec.c: Likewise.
5204 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5205
c2a65b90 52062012-07-14 Steven Bosscher <steven@gcc.gnu.org>
5207
5208 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5209 Remove code conditional on it.
5210
88c5a1d1 52112012-07-11 Steven Bosscher <steven@gcc.gnu.org>
5212
5213 * c-gimplify.c: Do not include basic-block.h.
5214 * c-common.c: Do not include linfuncs.h.
5215
4a020a8c 52162012-07-08 Steven Bosscher <steven@gcc.gnu.org>
5217
5218 * c-common.h: Include tree.h.
5219
c28ddc97 52202012-07-02 Jason Merrill <jason@redhat.com>
5221
5222 PR c++/53524
5223 * c-common.c (get_priority): Call default_conversion.
5224
405ed67f 52252012-07-01 Uros Bizjak <ubizjak@gmail.com>
5226
5227 * c-pch.c (c_common_write_pch): Remove unused variables.
5228
e53d55e7 52292012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5230
5231 * cppspec.c: Moved from gcc/ to here.
5232
3d9c25ec 52332012-06-27 Kai Tietz <ktietz@redhat.com>
5234
5235 PR preprocessor/37215
5236 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5237
3169c57a 52382012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5239
5240 * c-common.h (c_common_print_pch_checksum): Remove.
5241 * c-pch.c: Do not include output.h.
5242 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5243 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5244 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5245 (struct c_pch_header): Remove.
5246 (get_ident): Update gpch version.
5247 (pch_init): Do not print executable_checksum to asm_out_file.
5248 Do not fail if there is no asm_out_file to read back from. Set
5249 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5250 (c_common_write_pch): Verify that nothing was written to asm_out_file
5251 since pch_init was called. Do not write a c_pch_header, and do not
5252 copy from asm_out_file to the PCH.
5253 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5254 the content of asm_out_file from the PCH.
5255 (c_common_print_pch_checksum): Remove.
5256 * c-opts.c (c_common_init): Print out executable_checksum directly.
5257
ff6624bc 52582012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5259
5260 * c-target.def (objc_declare_unresolved_class_reference,
5261 objc_declare_class_definition): Add new hooks.
5262
367b1459 52632012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5264
5265 * c-lex.c: Do not include output.h.
5266 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5267 Remove uses of ASM_OUTPUT_IDENT.
5268
bf0cb017 52692012-06-15 Marc Glisse <marc.glisse@inria.fr>
5270
5271 PR c++/51033
5272 * c-common.h (c_build_vec_perm_expr): Move decl here.
5273 * c-common.c (c_build_vec_perm_expr): Move definition
5274 here.
5275
b37a3600 52762012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5277
5278 * c.opt (fconserve-space): Turn into a no-op.
5279
19931eea 52802012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 5281
5282 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5283 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5284 both the start and end of the function.
5285
dff12c10 52862012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5287
5288 * c-common.c: Do not include output.h.
5289 * c-pragma.c: Likewise.
5290
5f9e7dd5 52912012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5292
5293 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5294 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5295 (lang_decl_name): Handle namespace decls.
5296
b5369b7d 52972012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5298
5299 * c-ada-spec.c: Do not include output.h.
5300 * c-semantics.c: Likewise.
5301
8032877c 53022012-05-29 Joseph Myers <joseph@codesourcery.com>
5303
5304 * c-common.c: Fix typo.
5305
7843e4bc 53062012-05-29 Michael Matz <matz@suse.de>
5307
5308 * c-common.h (c_expand_decl): Remove prototype.
5309
8cf857d4 53102012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5311
5312 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5313 * c-opts.c (c_common_handle_option): Remove code handling
5314 warn_missing_braces.
5315
8b64dc3c 53162012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5317
5318 PR c++/25137
5319 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5320 -Wmissing_braces.
5321
43cbde16 53222012-05-22 Dodji Seketeli <dodji@redhat.com>
5323
5324 PR c++/53322
5325 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5326
db490cb6 53272012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5328
5329 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5330 * c-opts.c (c_common_handle_option): Do not handle explicitly
5331 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5332
a60f3e81 53332012-05-16 Dodji Seketeli <dodji@redhat.com>
5334
5335 PR preprocessor/7263
5336 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5337 to cpp_classify_number. For diagnostics, use the precise location
5338 instead of the global input_location.
5339
82e6ef7c 53402012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5341
cd4797ff 5342 PR c++/11856
82e6ef7c 5343 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5344
258a168d 53452012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5346
82e6ef7c 5347 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 5348
d3b7ee7c 53492012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5350
5351 PR 53063
5352 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5353 Wreorder): Use LangEnabledBy.
5354 * c-opts.c (c_common_handle_option): Do not enable them
5355 explicitly. Call lang-specific generated functions.
5356 (c_common_post_options): Do not set them here.
5357
70059cea 53582012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5359
5360 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5361 Wmissing-field-initializers,Wmissing-parameter-type,
5362 Wold-style-declaration,Woverride-init): Use EnabledBy.
5363 * c-opts.c (c_common_post_options): Do not set here explicitly.
5364
fbb6fbd8 53652012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5366
5367 PR 53063
5368 * c-opts.c (c_common_handle_option): Use handle_generated_option
5369 to enable sub-options.
5370
61f69bc9 53712012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5372
5373 PR c++/53158
5374 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5375
5a1fe2db 53762012-05-10 Richard Guenther <rguenther@suse.de>
5377
5378 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5379 adjust commentary about TYPE_IS_SIZETYPE types.
5380
d42e7c5a 53812012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5382
5383 PR c++/53261
5384 * c-common.c (warn_logical_operator): Check that argument of
5385 integer_zerop is not NULL.
5386
686369e8 53872012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5388
5389 PR c/43772
5390 * c-common.c (warn_logical_operator): Do not warn if either side
5391 is already true or false.
5392
03fe1dc2 53932012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5394
5395 PR c/51712
5396 * c-common.c (expr_original_type): New.
5397 (shorten_compare): Do not warn for enumeration types.
5398
bba5a206 53992012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5400
5401 * c.opt (fpermissive): Add Var(flag_permissive).
5402
7059d45d 54032012-04-30 Marc Glisse <marc.glisse@inria.fr>
5404
5405 PR c++/51033
5406 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5407 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5408
7edb1062 54092012-04-30 Dodji Seketeli <dodji@redhat.com>
5410
5411 Add -Wvarargs option
5412 * c.opt (Wvarargs): Define new option.
5413
068bea1e 54142012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5415
5416 * c-common.c (check_function_arguments): Replace
5417 Wmissing-format-attribute with Wsuggest-attribute=format.
5418
b86527d8 54192012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5420
5421 * c.opt (Wsuggest-attribute=format): New. Alias of
5422 Wmissing-format-attribute.
5423 * c-format.c (decode_format_type): Replace
5424 Wmissing-format-attribute with Wsuggest-attribute=format.
5425 (check_function_format): Likewise.
5426
19931eea 54272012-04-27 Ollie Wild <aaw@google.com>
76d340ac 5428
5429 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5430 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5431 * c.opt: Add Wliteral-suffix.
5432
29438999 54332012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5434
5435 PR c/44774
5436 * c.opt (Wpedantic): New.
5437 (pedantic): Alias Wpedantic.
5438 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5439 (c_common_post_options): Likewise.
5440 (sanitize_cpp_opts): Likewise.
5441 * c-lex.c (interpret_float): Likewise.
5442 * c-format.c (check_format_types): Likewise.
5443 * c-common.c (pointer_int_sum): Likewise.
5444 (c_sizeof_or_alignof_type): Likewise.
5445 (c_add_case_label): Likewise.
5446 (c_do_switch_warnings): Likewise.
5447 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5448
4f9d6b8b 54492012-04-15 Jason Merrill <jason@redhat.com>
5450
5451 PR c++/52818
5452 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5453 (C_STD_NAME): Distinguish between C++98 and C++11.
5454
74bdbe96 54552012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5456
5457 PR target/52624
5458 * c-common.h (uint16_type_node): Rename into...
5459 (c_uint16_type_node): ...this.
5460 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5461 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5462
3d177e8c 54632012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5464
5465 * c-common.c (warn_if_unused_value): Move definition to here.
5466 * c-common.h (warn_if_unused_value): Move declaration to here.
5467
6a9a958f 54682012-03-23 William Bader <williambader@hotmail.com>
5469
5470 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5471
543efdbe 54722012-03-20 Jason Merrill <jason@redhat.com>
5473
5474 * c-common.h (enum cxx_dialect): Add cxx1y.
5475 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5476 test.
5477 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5478 * c-opts.c (c_common_post_options): Likewise.
5479 (set_std_cxx1y): New.
5480 (c_common_handle_option): Call it.
5481 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5482
62206d34 54832012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5484
5485 PR c++/14710
5486 * c.opt ([Wuseless-cast]): Add.
5487
fadf62f4 54882012-03-16 Richard Guenther <rguenther@suse.de>
5489
5490 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5491
249faa35 54922012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5493
5494 PR c++/44783
5495 * c.opt (ftemplate-backtrace-limit) Add.
5496
126b6848 54972012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5498
5499 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5500 handling.
5501 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5502 (init_pragma): Don't register extern_prefix.
5503
a51edb4c 55042012-03-12 Richard Guenther <rguenther@suse.de>
5505
5506 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5507 (builtin_type_for_size): Likewise.
5508
0f6a7cb7 55092012-02-13 Jakub Jelinek <jakub@redhat.com>
5510
5511 PR c++/52215
5512 * c-common.c (sync_resolve_params): Don't decide whether to convert
5513 or not based on TYPE_SIZE comparison, convert whenever arg_type
5514 is unsigned INTEGER_TYPE.
5515
0779e32c 55162012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
5517
5518 PR c/52118
5519 * c.opt ([Wunused-local-typedefs]): Fix description.
5520
baec58e1 55212012-01-24 Mike Stump <mikestump@comcast.net>
5522
5523 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
5524 exactly.
5525
c779d8cc 55262012-01-18 Richard Guenther <rguenther@suse.de>
5527
5528 * c-opts.c (c_common_post_options): Reset LTO flags if
5529 we are about to generate a PCH.
5530
ee917d24 55312012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
5532
5533 PR c++/51777
5534 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
5535 use pp_unsigned_wide_integer.
5536
90e2341f 55372012-01-10 Richard Guenther <rguenther@suse.de>
5538
5539 PR middle-end/51806
5540 * c-opts.c (c_common_handle_option): Move -Werror handling
5541 to language independent code.
5542
9ea022ce 55432012-01-05 Richard Guenther <rguenther@suse.de>
5544
5545 PR middle-end/51764
5546 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
5547 from common.opt.
5548
3df19e1b 55492011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
5550
5551 PR c++/51316
5552 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5553 of array types with an unknown bound.
5554
32074525 55552011-12-20 Joseph Myers <joseph@codesourcery.com>
5556
5557 * c-common.c (flag_isoc99): Update comment to refer to C11.
5558 (flag_isoc1x): Change to flag_isoc11.
5559 * c-common.h (flag_isoc99): Update comment to refer to C11.
5560 (flag_isoc1x): Change to flag_isoc11.
5561 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
5562 C11.
5563 * c-opts.c (set_std_c1x): Change to set_std_c11.
5564 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
5565 Call set_std_c11.
5566 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
5567 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
5568 * c.opt (std=c1x): Change to std=c11. Document as non-draft
5569 standard.
5570 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
5571 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
5572 (std=gnu1x): Make alias of std=gnu11.
5573
fca86134 55742011-12-19 Jason Merrill <jason@redhat.com>
5575
5576 PR c++/51228
5577 * c-common.c (handle_transparent_union_attribute): Check the first
5578 field if the type is complete.
5579
aa4313eb 55802011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
5581
5582 PR libstdc++/51365
5583 * c-common.c (RID_IS_FINAL): Add.
5584 * c-common.h (RID_IS_FINAL): Add.
5585
3f3d5ad4 55862011-11-30 Iain Sandoe <iains@gcc.gnu.org>
5587
5588 * c.opt (fgnu-runtime): Provide full description.
5589 (fnext-runtime): Likewise.
5590 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
5591
c4606d19 55922011-11-28 Andrew MacLeod <amacleod@redhat.com>
5593
5594 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
5595 predefines in one place. Add LOCK_FREE predefines.
5596 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
5597 new func.
5598
1d581089 55992011-11-24 Andrew MacLeod <amacleod@redhat.com>
5600
5601 PR c/51256
19931eea 5602 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 5603 conditions
19931eea 5604 (resolve_overloaded_atomic_exchange,
5605 resolve_overloaded_atomic_compare_exchange,
1d581089 5606 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
5607 error_mark_node for error conditions.
19931eea 5608
6aa221fa 56092011-11-08 Richard Guenther <rguenther@suse.de>
5610
5611 PR middle-end/51010
5612 c-family/
5613
4c0315d0 56142011-11-07 Richard Henderson <rth@redhat.com>
5615 Aldy Hernandez <aldyh@redhat.com>
5616 Torvald Riegel <triegel@redhat.com>
5617
5618 Merged from transactional-memory.
5619
5620 * c-common.c (handle_tm_wrap_attribute,
5621 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
5622 (struct c_common_reswords): Added __transaction* keywords.
5623 (struct c_common_attribute_table): Added transaction* and tm_regparm
5624 attributes.
5625 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
5626 masks.
5627 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
5628 find_tm_attribute): Declare.
5629
920f5a70 56302011-11-07 Jason Merrill <jason@redhat.com>
5631
5632 PR c++/35688
5633 * c-common.c, c-common.h: Revert yesterday's changes.
5634
b4f861b4 56352011-11-06 Jason Merrill <jason@redhat.com>
5636
5637 PR c++/35688
5638 * c-common.c (decl_has_visibility_attr): Split out from...
5639 (c_determine_visibility): ...here.
5640 * c-common.h: Declare it.
5641
83e25171 56422011-11-06 Joseph Myers <joseph@codesourcery.com>
5643
5644 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
5645 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
5646 type.
5647 (check_user_alignment): New. Split out of
5648 handle_aligned_attribute. Disallow integer constants with
5649 noninteger types. Conditionally allow zero.
5650 (handle_aligned_attribute): Use check_user_alignment.
5651 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
5652
1cd6e20d 56532011-11-06 Andrew MacLeod <amacleod@redhat.com>
5654 Richard Henderson <rth@redhat.com>
5655
5656 Merged from cxx-mem-model.
5657
5658 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 5659 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 5660 parameters that are the same type size.
5661 (get_atomic_generic_size): New. Find size of generic
5662 atomic function parameters and do typechecking.
5663 (add_atomic_size_parameter): New. Insert size into parameter list.
5664 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
5665 either __atomic_exchange_n or external library call.
19931eea 5666 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 5667 __atomic_compare_exchange to either _n variant or external library call.
19931eea 5668 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 5669 __atomic_load_n or an external library call.
5670 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
5671 __atomic_store_n or an external library call.
5672 (resolve_overloaded_builtin): Handle new __atomic builtins.
5673
7549df0d 56742011-11-04 Eric Botcazou <ebotcazou@adacore.com>
5675
5676 PR c++/50608
5677 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
5678 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
5679 <INDIRECT_REF>: Return the argument.
5680 <ARRAY_REF>: Remove special code for negative offset.
5681 Call fold_build_pointer_plus instead of size_binop.
5682 (fold_offsetof): Remove STOP_REF argument and adjust.
5683 * c-common.h (fold_offsetof_1): Declare.
5684 (fold_offsetof): Remove STOP_REF argument.
5685
7e783eb3 56862011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
5687
5688 PR c++/50810
5689 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5690 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5691 Wnarrowing for C++0x and C++98.
5692 * c.opt ([Wnarrowing]): Update.
5693
8fe701f5 56942011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
5695
5696 PR c++/44277
5697 * c.opt: Add Wzero-as-null-pointer-constant.
5698
0d84dc2d 56992011-10-31 Jason Merrill <jason@redhat.com>
5700
67031f52 5701 * c.opt (-fdeduce-init-list): Off by default.
5702
0d84dc2d 5703 PR c++/50920
5704 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
5705 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
5706 and -Wc++11-compat.
5707 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
5708
66f24c41 57092011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
5710
5711 PR c++/30066
5712 * c.opt (fvisibility-inlines-hidden): Description change.
5713
244db24d 57142011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
5715
5716 Implement C++11 user-defined literals.
5717 * c-common.c (build_userdef_literal): New.
5718 * c-common.def: New tree code.
5719 * c-common.h (tree_userdef_literal): New tree struct and accessors.
5720 * c-lex.c (interpret_float): Add suffix parm.
5721 (c_lex_with_flags): Build literal tokens.
5722
235be70f 57232011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5724
5725 PR c++/50841
5726 Revert:
5727 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5728
5729 PR c++/50810
5730 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5731 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5732 Wnarrowing for C++0x and C++98.
5733 * c.opt ([Wnarrowing]): Update.
5734
4fe0fb1c 57352011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5736
5737 PR c++/50810
5738 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5739 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5740 Wnarrowing for C++0x and C++98.
5741 * c.opt ([Wnarrowing]): Update.
5742
5f7504f9 57432011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
5744
5745 PR c++/45385
5746 * c-common.c (conversion_warning): Remove code looking for
5747 artificial operands.
5748
2a688977 57492011-10-18 Dodji Seketeli <dodji@redhat.com>
5750
5751 PR bootstrap/50760
5752 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 5753 !NO_IMPLICIT_EXTERN_C.
2a688977 5754
326e3391 57552011-10-17 Michael Spertus <mike_spertus@symantec.com>
5756
5757 * c-common.c (c_common_reswords): Add __bases,
5758 __direct_bases.
5759 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
5760
57612011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
5762
5763 PR c++/50757
5764 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
5765
62db153a 57662011-10-15 Tom Tromey <tromey@redhat.com>
5767 Dodji Seketeli <dodji@redhat.com>
5768
5769 * c.opt (fdebug-cpp): New option.
5770 * c-opts.c (c_common_handle_option): Handle the option.
5771 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
5772 output stream in parameter. Factorized from ...
5773 (maybe_print_line): ... this. Dump location debug information when
5774 -fdebug-cpp is in effect.
5775 (print_line_1): New static function. Takes an output stream in
5776 parameter. Factorized from ...
5777 (print_line): ... here. Dump location information when -fdebug-cpp
5778 is in effect.
5779 (scan_translation_unit): Dump location information when
5780 -fdebug-cpp is in effect.
5781
ce70f433 57822011-10-15 Tom Tromey <tromey@redhat.com>
5783 Dodji Seketeli <dodji@redhat.com>
5784
5785 * c.opt (ftrack-macro-expansion): New option. Handle it with and
5786 without argument.
5787 * c-opts.c (c_common_handle_option)<case
5788 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
5789 cases. Handle -ftrack-macro-expansion with and without argument.
5790
97bfb9ef 57912011-10-15 Tom Tromey <tromey@redhat.com>
5792 Dodji Seketeli <dodji@redhat.com>
5793
5794 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
5795 (print_line, cb_define, do_line_change): Adjust to avoid touching
5796 the internals of struct line_map. Use the public API instead.
5797 * c-pch.c (c_common_read_pch): Likewise.
5798 * c-lex.c (fe_file_change): Likewise.
5799
326e3391 58002011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
5801
5802 PR c++/17212
5803 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
5804
58052011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
5806
5807 PR c++/33067
5808 * c-pretty-print.c (pp_c_floating_constant): Output
5809 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
5810
b9a16870 58112011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
5812
5813 * c-common.c (def_builtin_1): Delete old interface with two
5814 parallel arrays to hold standard builtin declarations, and replace
5815 it with a function based interface that can support creating
5816 builtins on the fly in the future. Change all uses, and poison
5817 the old names. Make sure 0 is not a legitimate builtin index.
5818 * c-omp.c (c_finish_omp_barrier): Ditto.
5819 (c_finish_omp_taskwait): Ditto.
5820 (c_finish_omp_flush): Ditto.
5821
c7964868 58222011-10-11 Tristan Gingold <gingold@adacore.com>
5823
5824 * c.opt: (fallow-parameterless-variadic-functions): New.
5825
a4e3ffad 58262011-09-08 Dodji Seketeli <dodji@redhat.com>
5827
5828 PR c++/33255 - Support -Wunused-local-typedefs warning
5829 * c-common.h (struct c_language_function::local_typedefs): New
5830 field.
19931eea 5831 (record_locally_defined_typedef, maybe_record_typedef_use)
5832 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 5833 * c-common.c (record_locally_defined_typedef)
19931eea 5834 (maybe_record_typedef_use)
5835 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 5836 * c.opt: Declare new -Wunused-local-typedefs flag.
5837
737a23cc 58382011-09-06 Eric Botcazou <ebotcazou@adacore.com>
5839
5840 PR middle-end/50266
5841 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
5842 computations.
5843
7542c3b4 58442011-09-05 Richard Guenther <rguenther@suse.de>
5845
5846 * c-common.c (complete_array_type): Use ssize_int (-1) instead
5847 of integer_minus_one_node for empty array upper bounds.
5848
1dc92c59 58492011-08-28 Dodji Seketeli <dodji@redhat.com>
5850
5851 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
5852 it's the first time it's being called on this main TU.
5853
2bdf2b6e 58542011-08-24 Richard Guenther <rguenther@suse.de>
5855
5856 PR c/49396
5857 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
5858
58592011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 5860
5861 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
5862 defined in cpp_init_builtins and c_cpp_builtins.
5863
bff4ad11 58642011-08-19 Joseph Myers <joseph@codesourcery.com>
5865
5866 * c-common.c (c_common_reswords): Add __builtin_complex.
5867 * c-common.h (RID_BUILTIN_COMPLEX): New.
5868
985c6e3a 58692011-08-18 Joseph Myers <joseph@codesourcery.com>
5870
5871 * c-common.c (c_common_reswords): Add _Noreturn.
5872 (keyword_is_function_specifier): Handle RID_NORETURN.
5873 * c-common.h (RID_NORETURN): New.
5874
92a44a68 58752011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 5876
5877 * c-common.c (unsafe_conversion_p): New function. Check if it is
5878 unsafe to convert an expression to the type.
5879 (conversion_warning): Adjust, use unsafe_conversion_p.
5880 * c-common.h (unsafe_conversion_p): New function declaration.
5881
2169f33b 58822011-08-02 Jakub Jelinek <jakub@redhat.com>
5883
5884 * c-common.h (c_finish_omp_atomic): Adjust prototype.
5885 (c_finish_omp_taskyield): New prototype.
5886 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
5887 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
5888 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
5889 or RHS1 have side-effects, evaluate those too in the right spot,
5890 if it is a decl and LHS is also a decl, error out if they
5891 aren't the same.
5892 (c_finish_omp_taskyield): New function.
5893 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
5894 * c-pragma.c (omp_pragmas): Add taskyield.
5895 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
5896 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
5897 PRAGMA_OMP_CLAUSE_MERGEABLE.
5898
ab77850e 58992011-07-25 Dodji Seketeli <dodji@redhat.com>
5900
5901 * c-common.h (set_underlying_type): Remove parm name from
5902 declaration.
5903
6ee97920 59042011-07-25 Romain Geissler <romain.geissler@gmail.com>
5905
5906 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 5907
dc251364 59082011-07-22 Jason Merrill <jason@redhat.com>
5909
1a2a35f0 5910 PR c++/49793
5911 * c.opt (Wnarrowing): New.
5912
27282252 5913 PR c++/30112
5914 * c-common.h: Declare c_linkage_bindings.
5915 * c-pragma.c (handle_pragma_redefine_extname): Use it.
5916
dc251364 5917 PR c++/49813
5918 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
5919 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
5920 as flag_isoc99 for 'restrict'.
5921 (pp_c_specifier_qualifier_list): Likewise for _Complex.
5922
fc501191 59232011-07-21 Ian Lance Taylor <iant@google.com>
5924
5925 PR middle-end/49705
5926 * c-common.c (c_disable_warnings): New static function.
5927 (c_enable_warnings): New static function.
5928 (c_fully_fold_internal): Change local unused_p to bool. Call
5929 c_disable_warnings and c_enable_warnings rather than change
5930 c_inhibit_evaluation_warnings.
5931
07b8f133 59322011-07-20 Jason Merrill <jason@redhat.com>
5933
5934 PR c++/6709 (DR 743)
5935 PR c++/42603 (DR 950)
5936 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
5937 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
5938 (CPP_DECLTYPE): New.
5939 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
5940
2cc66f2a 59412011-07-19 Richard Guenther <rguenther@suse.de>
5942
5943 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
5944 * c-omp.c (c_finish_omp_for): Likewise.
5945
3c802a1e 59462011-07-12 Eric Botcazou <ebotcazou@adacore.com>
5947
5948 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
5949 body on the next line.
5950
98a33d9f 59512011-07-08 Jason Merrill <jason@redhat.com>
5952
3115bda0 5953 PR c++/45437
5954 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
5955
98a33d9f 5956 PR c++/49673
5957 * c-common.c (c_apply_type_quals_to_decl): Don't check
5958 TYPE_NEEDS_CONSTRUCTING.
5959
c38a75b7 59602011-07-06 Richard Guenther <rguenther@suse.de>
5961
5962 * c-common.c (c_common_nodes_and_builtins):
5963 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
5964
e593356b 59652011-07-05 Richard Guenther <rguenther@suse.de>
5966
5967 * c-common.c (c_common_nodes_and_builtins): Build all common
5968 tree nodes first.
5969
fca0886c 59702011-06-27 Jakub Jelinek <jakub@redhat.com>
5971
a68f7a8d 5972 * c-common.h (c_tree_chain_next): New static inline function.
5973
fca0886c 5974 * c-common.c (check_builtin_function_arguments): Handle
5975 BUILT_IN_ASSUME_ALIGNED.
5976
2797f13a 59772011-06-21 Andrew MacLeod <amacleod@redhat.com>
5978
5979 * c-common.c: Add sync_ or SYNC__ to builtin names.
5980 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 5981
59822011-06-20 Pierre Vittet <piervit@pvittet.com>
5983
5984 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
5985 handler.
5986 (gen_pragma_handler): New union.
5987 (internal_pragma_handler): New type.
5988 (c_register_pragma_with_data)
5989 (c_register_pragma_with_expansion_and_data): New functions.
5990
5991 * c-pragma.c (registered_pragmas, c_register_pragma_1)
5992 (c_register_pragma, c_register_pragma_with_expansion)
5993 (c_invoke_pragma_handler): Changed to work with
5994 internal_pragma_handler.
5995 (c_register_pragma_with_data)
5996 (c_register_pragma_with_expansion_and_data): New functions.
5997
218e3e4e 59982011-06-14 Joseph Myers <joseph@codesourcery.com>
5999
6000 * c-common.c: Include common/common-target.h.
6001 (handle_section_attribute): Use
6002 targetm_common.have_named_sections.
6003 * c-cppbuiltin.c: Include common/common-target.h.
6004 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6005
41e53ed2 60062011-06-10 Richard Guenther <rguenther@suse.de>
6007
6008 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6009 to print a IDENTIFIER_NODE.
6010
a6f06169 60112011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6012 Joseph Myers <joseph@codesourcery.com>
6013
6014 * c.opt (fbuilding-libgcc): New option.
6015 * c-cppbuiltin.c (c_cpp_builtins): Define
6016 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6017
1ea9269b 60182011-06-07 Jason Merrill <jason@redhat.com>
6019
8ce59854 6020 * c-common.c (max_tinst_depth): Lower default to 900.
6021
1ea9269b 6022 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6023
1af0124d 60242011-06-07 Richard Guenther <rguenther@suse.de>
6025
6026 * c-common.c (c_common_nodes_and_builtins): Do not set
6027 size_type_node or call set_sizetype.
6028
0e9a4c01 60292011-06-07 Dodji Seketeli <dodji@redhat.com>
6030
6031 PR debug/49130
6032 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 6033 type when using pointer comparison to compare types.
0e9a4c01 6034
90b40725 60352011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6036
6037 * c.opt: Add -Wdelete-non-virtual-dtor.
6038 * c-opts.c (c_common_handle_option): Include it in -Wall.
6039
fc9c9e87 60402011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6041
6042 PR bootstrap/49190
6043
6044 Revert:
6045 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6046
6047 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6048 not tree_common.
6049
d0389adc 60502011-05-27 Jakub Jelinek <jakub@redhat.com>
6051
6052 PR c++/49165
6053 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6054 C++ don't call c_common_truthvalue_conversion on void type arms.
6055
cacfdc02 60562011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6057
6058 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6059 (stmt_list_stack): Define.
6060 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6061 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6062
027fc6ef 60632011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6064
6065 * c-common.c (warning_candidate_p): Check for BLOCKs.
6066
f21317a1 60672011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6068
6069 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6070 not tree_common.
6071
789e953d 60722011-05-25 Jakub Jelinek <jakub@redhat.com>
6073
6074 * c-common.c (def_fn_type): Remove extra va_end.
6075
7f506bca 60762011-05-23 Jason Merrill <jason@redhat.com>
6077
6078 PR c++/48106
6079 * c-common.c (c_common_get_narrower): New.
6080 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6081
774e9d58 60822011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6083
6084 * c-common.h (check_function_arguments): Tweak prototype of
6085 check_function_arguments.
6086 * c-common.c (check_function_arguments): Likewise. Adjust
6087 calls to check_function_nonnull, check_function_format, and
6088 check_function_sentinel.
6089 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6090 separate attributes and typelist arguments. Use
6091 FOREACH_FUNCTION_ARGS to iterate over argument types.
6092
23407dc9 60932011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6094
6095 * c-common.c (c_common_reswords): Reorder.
6096 * c-common.h (rid): Likewise.
6097
3a939d12 60982011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6099
6100 * c-common.c (def_fn_type): Don't call build_function_type, call
6101 build_function_type_array or build_varargs_function_type_array
6102 instead.
6103 (c_common_nodes_and_builtins): Likewise.
6104
b6e3dd65 61052011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6106
6107 * c-common.c (c_add_case_label): Omit the loc argument to
6108 build_case_label.
6109 * c-common.h (build_case_label): Remove.
6110 * c-semantics.c (build_case_label): Remove.
6111
4232a958 61122011-05-05 Joseph Myers <joseph@codesourcery.com>
6113
6114 * c-objc.h (objc_start_method_definition): Update prototype.
6115 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6116
d0af78c5 61172011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6118
6119 * c-common.c (check_main_parameter_types): Reindent. Don't use
6120 TYPE_ARG_TYPES directly.
6121 (handle_nonnull_attribute): Likewise.
6122 (sync_resolve_params): Likewise.
6123 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6124 to check_format_string.
6125 (handle_format_attribute): Likewise.
6126 (check_format_string): Take a function type to examine instead of
6127 a type list. Use a function_arg_iterator to step through argument
6128 types.
6129
ceb7b692 61302011-05-04 Richard Guenther <rguenther@suse.de>
6131
6132 * c-common.c (fix_string_type): Use size_int for index type bounds.
6133 (start_fname_decls): Do not pass NULL to build_int_cst.
6134 (c_init_attributes): Likewise.
6135 * c-lex.c (c_lex_with_flags): Likewise.
6136
c66c81be 61372011-04-27 Jason Merrill <jason@redhat.com>
6138
6139 * c-common.c (make_tree_vector_from_list): New.
6140 * c-common.h: Declare it.
6141
16930c72 61422011-04-26 Richard Guenther <rguenther@suse.de>
6143
6144 PR preprocessor/48248
6145 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6146 for output size with -P.
6147
23407dc9 61482011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6149
6150 * c-common.c (struct c_common_resword): Add __underlying_type.
6151 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6152
dd045aee 61532011-04-20 Jim Meyering <meyering@redhat.com>
6154
6155 * c-format.c (init_dollar_format_checking): Remove useless
6156 if-before-free.
6157
394dd737 61582011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6159
6160 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 6161 (objc_detect_field_duplicates): New.
394dd737 6162 * stub-objc.c: Likewise.
23407dc9 6163
a758bf7d 61642011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6165
6166 * stub-objc.c (objc_declare_protocols): Renamed to
6167 objc_declare_protocol.
6168 * c-objc.h: Likewise.
23407dc9 6169
29d7200d 61702011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6171
6172 * stub-objc.c (objc_declare_class): Updated argument name.
6173
9b88d08d 61742011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6175
6176 * c-common.h (c_common_init_ts): Declare.
6177 * c-common.c (c_common_init_ts): Define.
6178
4185cf58 61792011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6180
6181 * c-objc.h (objc_build_message_expr): Updated prototype.
6182 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 6183
5a90471f 61842011-04-12 Martin Jambor <mjambor@suse.cz>
6185
6186 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6187 of cgraph_node.
6188
783bb57e 61892011-04-11 Richard Guenther <rguenther@suse.de>
6190
6191 * c-common.c (complete_array_type): Build a range type of
6192 proper type.
6193
c33080b9 61942011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6195
6196 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6197 (handle_type_generic_attribute): Likewise.
6198
f8913d47 61992011-04-07 Jason Merrill <jason@redhat.com>
6200
6201 PR c++/48450
6202 * c-common.c (c_common_truthvalue_conversion): Don't ignore
6203 conversion from C++0x scoped enum.
6204
c94b1d0e 62052011-04-06 Joseph Myers <joseph@codesourcery.com>
6206
6207 * c-target-def.h: New file.
6208 * c-target.def: New file.
6209 * c-target.h: New file.
6210 * c-common.c (targetcm): Don't define here.
6211 * c-common.h (default_handle_c_option): Declare.
6212 * c-format.c: Include c-target.h instead of target.h.
6213 * c-opts.c: Include c-target.h instead of target.h. Explicitly
6214 include tm.h.
6215 (default_handle_c_option): Move from targhooks.c.
6216
acb10f41 62172011-03-29 Jakub Jelinek <jakub@redhat.com>
6218
6219 PR preprocessor/48248
6220 * c-ppoutput.c (print): Add src_file field.
6221 (init_pp_output): Initialize it.
6222 (maybe_print_line): Don't optimize by adding up to 8 newlines
6223 if map->to_file and print.src_file are different file.
6224 (print_line): Update print.src_file.
6225
82715bcd 62262011-03-25 Kai Tietz <ktietz@redhat.com>
6227
6228 * c-ada-spec.c (compare_comment): Use filename_cmp
6229 instead of strcmp for filename.
6230
451c8e2f 62312011-03-25 Jeff Law <law@redhat.com>
6232
1f78217c 6233 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 6234
3c47771c 62352011-03-25 Jason Merrill <jason@redhat.com>
6236
6237 * c.opt: Add -std=c++03.
6238
97e6200f 62392011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6240
6241 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6242
92a44a68 62432011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 6244
6245 PR target/12171
ee212425 6246 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6247 Display allowed attributes for function pointer types.
6248 (pp_c_attributes_display): New function to display
6249 attributes having affects_type_identity flag set to true.
6250 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6251
ac86af5d 6252 * c-common.c (c_common_attribute_table):
6253 Add new element.
6254 (c_common_format_attribute_table): Likewise.
6255
914d1151 62562011-03-18 Jason Merrill <jason@redhat.com>
6257
69788bdf 6258 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6259 * c-common.h: Don't declare it here.
6260 * c-common.c: Or define it here.
6261 * c-opts.c (c_common_handle_option): Or set it here.
6262
914d1151 6263 PR c++/35315
6264 * c-common.c (handle_transparent_union_attribute): Don't
6265 make a duplicate type in C++.
6266
54cf6eed 62672011-03-15 Jason Merrill <jason@redhat.com>
6268
6269 * c-common.c (max_constexpr_depth): New.
6270 * c-common.h: Declare it.
6271 * c-opts.c (c_common_handle_option): Set it.
6272 * c.opt (fconstexpr-depth): New option.
6273
02cb1060 62742011-03-11 Jason Merrill <jason@redhat.com>
6275
9bf1c74e 6276 * c-common.c (attribute_takes_identifier_p): Add missing const.
6277
02cb1060 6278 PR c++/46803
6279 * c-common.c (attribute_takes_identifier_p): Assume that an
6280 unknown attribute takes an identifier.
6281
ecf2703d 62822011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6283
6284 PR c/47786
6285 * c-common.c (c_type_hash): Call list_length instead of iterating
6286 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6287
2b19dfe4 62882011-02-19 Jakub Jelinek <jakub@redhat.com>
6289
6290 PR c/47809
6291 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6292
29cf2335 62932011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6294
6295 * c.opt (fobjc-abi-version=) New.
6296 (fobjc-nilcheck): New.
6297
fad3f658 62982011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6299
6300 PR c++/46890
6301 * c-common.h (keyword_is_decl_specifier): Declare.
6302 * c-common.c (keyword_is_decl_specifier): Define.
6303 (keyword_is_function_specifier): New function.
6304
a12319b3 63052011-01-26 Jakub Jelinek <jakub@redhat.com>
6306
6307 PR c/47473
6308 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6309 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6310 REAL_TYPE.
6311
5c128dc8 63122011-01-26 Arnaud Charlet <charlet@adacore.com>
6313
6314 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6315
8d67b0c7 63162011-01-26 Jakub Jelinek <jakub@redhat.com>
6317
6318 PR pch/47430
6319 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6320 after init_c_lex if pch_file is set.
6321
0675168d 63222011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6323
e8911163 6324 PR c++/43601
0675168d 6325 * c.opt (-fkeep-inline-dllexport): New switch.
6326
0725e25c 63272011-01-12 Richard Guenther <rguenther@suse.de>
6328
6329 PR middle-end/32511
6330 * c-common.c (handle_weak_attribute): Warn instead of error
6331 on declaring an inline function weak.
6332
fdd84b77 63332011-01-05 Tom Tromey <tromey@redhat.com>
6334
6335 * c-common.h (lvalue_error): Update.
6336 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6337 not error.
6338
e6e73d14 63392010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 6340
d67e8485 6341 PR objc/47075
6342 * c-objc.h (objc_finish_message_expr): Added argument to
6343 prototype.
6344
a36cf284 63452010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6346
6347 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6348 Use prototype_p.
6349
33b3681f 63502010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6351
6352 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 6353 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 6354
a1f90215 63552010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6356
6357 * c-common.h (readonly_error): Declare.
6358 * c-common.c (readonly_error): Define.
6359
b1bbc8e5 63602010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6361
6362 * c-common.h (invalid_indirection_error): Declare.
6363 * c-common.c (invalid_indirection_error): Define.
6364
b0d55af9 63652010-12-03 Richard Guenther <rguenther@suse.de>
6366
6367 PR c/46745
6368 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6369 (pp_c_unary_expression): Likewise.
6370 (pp_c_expression): Likewise.
6371
d7489d8d 63722010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6373
6374 * c-common.h (objc_finish_function): New.
6375 (objc_non_volatilized_type): Removed.
6376 (objc_type_quals_match): Removed.
6377 * stub-objc.c (objc_finish_function): New.
6378 (objc_non_volatilized_type): Removed.
6379 (objc_type_quals_match): Removed.
19931eea 6380
92468061 63812010-11-30 Joseph Myers <joseph@codesourcery.com>
6382
6383 * c-common.h (parse_optimize_options): Declare.
6384 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6385 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6386
967958e4 63872010-11-29 Joseph Myers <joseph@codesourcery.com>
6388
6389 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6390 GET_ENVIRONMENT.
6391 * c-pch.c (O_BINARY): Don't define here.
6392 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6393
b213bf24 63942010-11-25 Joseph Myers <joseph@codesourcery.com>
6395
6396 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6397 targetm.except_unwind_info.
6398
9faf44d6 63992010-11-23 Joseph Myers <joseph@codesourcery.com>
6400
6401 * c-opts.c (c_common_handle_option): Pass location to
6402 set_struct_debug_option.
6403
79396169 64042010-11-23 Joseph Myers <joseph@codesourcery.com>
6405
6406 * c-common.c (visibility_options): Move from ../opts.c.
6407 * c-common.h (struct visibility_flags, visibility_options):
6408 Declare here.
6409 * c-opts.c (finish_options): Rename to c_finish_options.
6410 (c_common_init): Update call to finish_options.
6411
b4aa4123 64122010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6413
6414 PR objc/34033
6415 * c-lex.c (lex_string): Check that each string in an Objective-C
6416 string concat sequence starts with either one or zero '@', and
6417 that there are no spurious '@' signs at the end.
6418
3e0e49f2 64192010-11-20 Joseph Myers <joseph@codesourcery.com>
6420
6421 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6422 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6423 HANDLE_PRAGMA_VISIBILITY.
6424 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6425 HANDLE_PRAGMA_VISIBILITY): Don't define.
6426 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6427
a9ffdd35 64282010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6429
6430 PR c++/16189
6431 PR c++/36888
6432 PR c++/45331
6433 * c-common.h (keyword_begins_type_specifier): Declare.
6434 (keyword_is_storage_class_specifier): Declare.
6435 (keyword_is_type_qualifier): Declare.
6436 * c-common.c (keyword_begins_type_specifier): New function.
6437 (keyword_is_storage_class_specifier): New function.
6438 (keyword_is_type_qualifier): Declare.
6439
93be21c0 64402010-11-19 Joseph Myers <joseph@codesourcery.com>
6441
6442 PR c/46547
6443 * c-common.c (in_late_binary_op): Define.
6444 (c_common_truthvalue_conversion): Check in_late_binary_op before
6445 calling c_save_expr.
6446 * c-common.h (in_late_binary_op): Declare.
6447
d7175aef 64482010-11-19 Joseph Myers <joseph@codesourcery.com>
6449
6450 * c-opts.c (c_common_handle_option): Update calls to
6451 set_struct_debug_option.
6452
c213e196 64532010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6454
6455 * c-common.h (objc_declare_protocols): Added additional argument.
6456 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 6457
0b5fc5d6 64582010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6459
6460 PR c/33193
6461 * c-common.h (build_real_imag_expr): Declare.
6462 * c-semantics.c (build_real_imag_expr): Define.
6463
b8ba44e7 64642010-11-17 Joseph Myers <joseph@codesourcery.com>
6465
6466 * c-opts.c (c_common_parse_file): Take no arguments.
6467 * c-common.h (c_common_parse_file): Update prototype.
6468
6ef8d12f 64692010-11-16 Jakub Jelinek <jakub@redhat.com>
6470
6471 PR c++/46401
6472 * c-common.c (warning_candidate_p): Don't track non-const calls
6473 or STRING_CSTs.
6474
929d2a90 64752010-11-15 Ian Lance Taylor <iant@google.com>
6476
6477 * c-lex.c (init_c_lex): Set macro debug callbacks if
6478 flag_dump_go_spec is set.
6479
e4a7640a 64802010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6481
6482 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6483 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6484
597d2d81 64852010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6486
6487 PR preprocessor/45038
6488 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6489 dialects.
6490
c123f04d 64912010-11-12 Joseph Myers <joseph@codesourcery.com>
6492
6493 * c-common.h (c_family_lang_mask): Declare.
6494 * c-opts.c (c_family_lang_mask): Make extern.
6495 * c-pragma.c (handle_pragma_diagnostic): Use
6496 control_warning_option.
6497
3c6c0e40 64982010-11-12 Joseph Myers <joseph@codesourcery.com>
6499
6500 * c-common.c (parse_optimize_options): Update call to
6501 decode_options.
6502 * c-common.h (c_common_handle_option): Update prototype.
6503 * c-opts.c (c_common_handle_option): Take location_t parameter and
6504 pass it to other functions.
6505
19ec5c9e 65062010-11-11 Joseph Myers <joseph@codesourcery.com>
6507
6508 * c-opts.c (warning_as_error_callback): Remove.
6509 (c_common_initialize_diagnostics): Don't call
6510 register_warning_as_error_callback.
6511 (c_common_handle_option): Handle -Werror=normalized= here.
6512
bf776685 65132010-11-10 Joseph Myers <joseph@codesourcery.com>
6514
6515 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6516 in diagnostic.
6517 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
6518 letter.
6519 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
6520 Remove trailing '.' from diagnostics.
6521 * c.opt (Wwrite-strings_: Avoid '`' in help text.
6522
6bd9d862 65232010-11-10 Joseph Myers <joseph@codesourcery.com>
6524
6525 * c-common.c (parse_optimize_options): Pass global_dc to
6526 decode_options.
6527 * c-opts.c (c_common_handle_option): Pass &global_options to
6528 set_Wstrict_aliasing.
6529 * c.opt (v): Don't mark Common or document here.
6530
1f6616ee 65312010-11-06 Iain Sandoe <iains@gcc.gnu.org>
6532
6533 PR target/44981
6534 * c-format.c (format_type): New type gcc_objc_string_format_type.
6535 (valid_stringptr_type_p): New.
6536 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 6537 (check_format_string): Pass expected type, use
1f6616ee 6538 valid_stringptr_type_p (), check that the format string types are
6539 consistent with the format specification.
6540 (decode_format_attr): Warn if NSString is used outside objective-c.
6541 (format_types_orig): Add NSString.
6542 (format_name): New.
6543 (format_flags): New.
6544 (check_format_arg): Handle format strings requiring an external parser.
6545 first_target_format_type: New variable.
6546 (handle_format_attribute): Set up first_target_format_type, pass the
6547 expected format arg string type to check_format_string().
6548 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
6549 * stub-objc.c (objc_string_ref_type_p): New.
6550 (objc_check_format_arg): New.
6551
b0d0931f 65522010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
6553
19931eea 6554 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 6555 * c-common.h (objc_build_class_component_ref): New.
6556 * stub-objc.c (objc_build_class_component_ref): New.
6557
f26877d5 65582010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6559
6560 * c.opt (Wproperty-assign-default): New option.
6561
1ef143b6 65622010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6563
6564 Implemented -fobjc-std=objc1 flag.
6565 * c.opt (fobjc-std=objc1): New option.
6566
8c582e4f 65672010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
6568
6569 Implemented format and noreturn attributes for Objective-C methods.
6570 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
6571 attribute for Objective-C methods.
6572
8637f1db 65732010-10-31 Jason Merrill <jason@redhat.com>
6574
6575 * c-common.c (conversion_warning, warn_for_collisions_1): Use
6576 EXPR_LOC_OR_HERE.
6577
9d9f5bb3 65782010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6579
6580 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6581 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
6582 (objc_add_property_declaration): Removed arguments for copies and
6583 ivar.
6584 (objc_build_getter_call): Renamed to
6585 objc_maybe_build_component_ref.
6586 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6587 (objc_is_property_ref): New.
6588 * c-common.c (c_common_reswords): Removed copies and ivar.
6589 * stub-objc.c (objc_add_property_declaration): Removed arguments
6590 for copies and ivar.
6591 (objc_build_getter_call): Renamed to
6592 objc_maybe_build_component_ref.
6593 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6594 (objc_is_property_ref): New.
19931eea 6595
56f907a0 65962010-10-29 Arnaud Charlet <charlet@adacore.com>
6597 Matthew Gingell <gingell@adacore.com>
6598
6599 * c-ada-spec.c (separate_class_package): New function.
6600 (pp_ada_tree_identifier): Prefix references to C++ classes with the
6601 name of their enclosing package.
6602 (print_ada_declaration): Use separate_class_package.
6603
b5fa273e 66042010-10-27 Jason Merrill <jason@redhat.com>
6605
5290e253 6606 * c-common.c (c_common_reswords): Add __is_literal_type.
6607 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
6608
b5fa273e 6609 * c-common.c (check_case_value): Remove special C++ code.
6610
7590f0e5 66112010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6612
6613 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
6614 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
6615 and RID_LAST_PATTR.
6616 (objc_add_property_declaration): Added additional arguments.
6617 (objc_property_attribute_kind): Removed.
6618 (objc_set_property_attr): Removed.
6619 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
6620 copy and nonatomic.
6621 * stub-objc.c (objc_add_property_declaration): Added additional
6622 arguments.
6623 (objc_set_property_attr): Removed.
19931eea 6624
1d894bcf 66252010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6626
6627 * c-common.h (objc_add_property_variable): Renamed to
6628 objc_add_property_declaration. Added location argument.
6629 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 6630
e23bf1fb 66312010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
6632
6633 * c-common.h (objc_maybe_printable_name): New.
6634 * stub-objc.c (objc_maybe_printable_name): New.
6635
92a44a68 66362010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6637 Andrew Pinski <pinskia@gmail.com>
93426222 6638
6639 * c-common.h (c_common_mark_addressable_vec): Declare.
6640 * c-common.c (c_common_mark_addressable_vec): New function.
6641
45b2b110 66422010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6643
6644 * c-common.h (objc_set_method_type): Removed.
6645 (objc_add_method_declaration): Added boolean argument.
6646 (objc_start_method_definition): Same change.
6647 (objc_build_method_signature): Same change.
6648 * stub-objc.c (objc_set_method_type): Removed.
6649 (objc_add_method_declaration): Added boolean argument.
6650 (objc_start_method_definition): Same change.
6651 (objc_build_method_signature): Same change.
6652
64cd9619 66532010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6654
6655 * c-common.h (finish_file): Removed.
6656 (objc_write_global_declarations): New.
6657 * c-opts.c (c_common_parse_file): Do not call finish_file.
6658 * stub-objc.c (objc_write_global_declarations): New.
19931eea 6659
e1f293c0 66602010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6661
6662 Implemented parsing @synthesize and @dynamic for
6663 Objective-C/Objective-C++.
6664 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
6665 (objc_add_synthesize_declaration): New.
6666 (objc_add_dynamic_declaration): New.
6667 * c-common.c (c_common_reswords): Add synthesize and dynamic.
6668 * stub-objc.c (objc_add_synthesize_declaration): New.
6669 (objc_add_dynamic_declaration): New.
19931eea 6670
ef97a312 66712010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6672
6673 PR target/46041
6674 * c-cppbuiltin.c (mode_has_fma): Move function here from
6675 builtins.c. Don't use the fma optab, instead just use the
6676 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
6677 using -save-temps.
6678
69b07042 66792010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6680
6681 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 6682
92a44a68 6683 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 6684
19931eea 6685 Radar 4330422
69b07042 6686 * c-common.h (objc_non_volatilized_type): New declaration
6687 * stub-objc.c (objc_non_volatilized_type): New stub.
6688
f15f2e56 66892010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
6690
69b07042 6691 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 6692
92a44a68 6693 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 6694
19931eea 6695 Radar 4133425
f15f2e56 6696 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 6697 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 6698
4a8875ed 66992010-10-17 Iain Sandoe <iains@gcc.gnu.org>
6700
6701 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
6702 * c-common.h (enum rid): Add RID_AT_PACKAGE.
6703 (objc_ivar_visibility_kind): New enum.
6704 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 6705 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 6706 visibility enum.
6707
7e0713b1 67082010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6709
6710 * c-cppbuiltin.c (builtin_define_float_constants): Emit
6711 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
6712 has the appropriate fma builtins.
6713 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
6714
86c110ac 67152010-10-14 Iain Sandoe <iains@gcc.gnu.org>
6716
7e0713b1 6717 merge from FSF apple 'trunk' branch.
92a44a68 6718 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 6719
86c110ac 6720 Radars 4436866, 4505126, 4506903, 4517826
6721 * c-common.c (c_common_resword): Define @property and its attributes.
6722 * c-common.h: Define property attribute enum entries.
6723 (OBJC_IS_PATTR_KEYWORD): New.
6724 (objc_property_attribute_kind): New enum.
6725 Declare objc_set_property_attr (), objc_add_property_variable (),
6726 objc_build_getter_call () and objc_build_setter_call ().
6727 * stub-objc.c (objc_set_property_attr): New stub.
6728 (objc_add_property_variable): Likewise.
6729 (objc_build_getter_call): Likewise.
6730 (objc_build_setter_call) Likewise.
7e0713b1 6731
40c8d1dd 67322010-10-13 Iain Sandoe <iains@gcc.gnu.org>
6733
7e0713b1 6734 merge from FSF apple 'trunk' branch.
92a44a68 6735 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 6736
6737 Radar 3803157 (method attributes)
6738 * c-common.c (handle_deprecated_attribute): Recognize
6739 objc methods as valid declarations.
6740 * c-common.h: Declare objc_method_decl ().
7e0713b1 6741 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 6742
f3f006ad 67432010-10-08 Joseph Myers <joseph@codesourcery.com>
6744
6745 * c-common.c (parse_optimize_options): Call
6746 decode_cmdline_options_to_array_default_mask before
6747 decode_options. Update arguments to decode_options.
6748 * c-common.h (c_common_init_options_struct): Declare.
6749 * c-opts.c (c_common_init_options_struct): New. Split out from
6750 c_common_init_options.
6751
0a65c3bb 67522010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
6753
6754 Implemented fast enumeration for Objective-C.
6755 * c-common.h (objc_finish_foreach_loop): New.
6756 * stub-objc.c (objc_finish_foreach_loop): New.
6757
24ca3b4e 67582010-10-05 Joseph Myers <joseph@codesourcery.com>
6759
6760 * c-common.h (struct diagnostic_context): Don't declare here.
6761 (c_common_initialize_diagnostics): Declare using
6762 diagnostic_context typedef.
6763 * c-opts.c (c_common_handle_option): Pass global_dc to
6764 handle_generated_option.
6765
f83b64ca 67662010-10-04 Joseph Myers <joseph@codesourcery.com>
6767
6768 * c-opts.c (c_common_handle_option): Pass &global_options_set to
6769 handle_generated_option.
6770
2fdec027 67712010-10-03 Ian Lance Taylor <iant@google.com>
6772
6773 * c.opt (-fplan9-extensions): New option.
6774
41acdfa4 67752010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6776
6777 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
6778 Remove.
6779 (c_cpp_builtins): Call functions from cppbuiltin.c instead
6780 of duplicating code.
6781
069761fb 67822010-09-30 Iain Sandoe <iains@gcc.gnu.org>
6783
6784 * c-common.c: Add two new entries for @optional
6785 and @required keywords.
6786
6787 merge from FSF 'apple/trunk' branch.
92a44a68 6788 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 6789
6790 Radar 4386773
6791 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
6792 objective-c keywords.
6793 (objc_set_method_opt): New declaration.
6794 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 6795
2c5d2e39 67962010-09-30 Joseph Myers <joseph@codesourcery.com>
6797
6798 * c-common.c (handle_optimize_attribute): Pass &global_options to
6799 cl_optimization_save and cl_optimization_restore.
6800 * c-opts.c (c_common_handle_option): Pass &global_options to
6801 handle_generated_option.
6802 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
6803 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
6804 &global_options to cl_optimization_restore.
6805
e5c75ac3 68062010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
6807
6808 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
6809 Objective-C/Objective-C++ keywords.
6810
3511333e 68112010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 6812
19931eea 6813 Merge from 'apple/trunk' branch on FSF servers.
6814
92a44a68 6815 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 6816
6817 Radar 4281748
6818 * c-common.h (objc_check_global_decl): New declaration.
6819 * stub-objc.c (objc_check_global_decl): New stub.
6820
5461e683 68212010-09-29 Joseph Myers <joseph@codesourcery.com>
6822
6823 * c.opt: Don't use VarExists.
6824
5ae82d58 68252010-09-29 Joseph Myers <joseph@codesourcery.com>
6826
6827 * c-common.c (c_cpp_error): Update names of diagnostic_context
6828 members.
6829 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
6830 cl_optimization members.
6831 * c-opts.c (warning_as_error_callback, c_common_handle_option,
6832 sanitize_cpp_opts, finish_options): Update names of cpp_options
6833 members.
6834
b27e241e 68352010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
6836
6837 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
6838 (objc_is_reserved_word): Removed.
6839 * c-common.c: Updated comments.
6840 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
6841 objc_is_reserved_word.
6842 * stub-objc.c (objc_is_reserved_word): Removed.
6843
03fc2271 68442010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6845
19931eea 6846 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 6847 include attributes.
6848 (objc_start_method_definition): Likewise.
6849 (objc_build_keyword_decl): Likewise.
6850 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
6851 (objc_start_method_definition): Likewise.
6852 (objc_build_keyword_decl): Likewise.
6853
a336eb4b 68542010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6855
6856 * c-common.h (objc_start_class_interface): Adjust prototype.
6857 (objc_start_category_interface): Likewise.
6858 (objc_start_protocol): Likewise.
6859 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
6860 (objc_start_class_interface): Likewise.
6861 (objc_start_category_interface): Likewise.
6862
48b14f50 68632010-09-27 Ian Lance Taylor <iant@google.com>
6864
6865 * c-common.c (c_common_attribute_table): Add no_split_stack.
6866 (handle_no_split_stack_attribute): New static function.
6867
4abfc532 68682010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
6869
19931eea 6870 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 6871
92a44a68 6872 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 6873
19931eea 6874 Radar 4229905
4abfc532 6875 * c-common.h (objc_have_common_type): New declaration.
6876 * stub-objc.c (objc_have_common_type): New stub.
6877
6878 2005-06-22 Ziemowit Laski <zlaski@apple.com>
6879
6880 Radar 4154928
6881 * c-common.h (objc_common_type): New prototype.
19931eea 6882 * stub-objc.c (objc_common_type): New stub.
4abfc532 6883
7bd95dfd 68842010-09-24 Jan Hubicka <jh@suse.cz>
6885
6886 * c-common.c (handle_leaf_attribute): New function.
6887 (struct attribute_spec c_common_att): Add leaf.
6888
5789e05b 68892010-09-22 Joseph Myers <joseph@codesourcery.com>
6890
6891 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
6892 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
6893 -dump, -dump=, -imacros, -imacros=, -include, -include=,
6894 -include-barrier, -include-directory, -include-directory=,
6895 -include-directory-after, -include-directory-after=,
6896 -include-prefix, -include-prefix=, -include-with-prefix,
6897 -include-with-prefix=, -include-with-prefix-after,
6898 -include-with-prefix-after=, -include-with-prefix-before,
6899 -include-with-prefix-before=, -no-integrated-cpp,
6900 -no-line-commands, -no-standard-includes, -no-warnings, -output,
6901 -output=, -pedantic, -pedantic-errors, -preprocess,
6902 -print-missing-file-dependencies, -trace-includes, -traditional,
6903 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
6904 -user-dependencies, -verbose, -write-dependencies,
6905 -write-user-dependencies, no-integrated-cpp, traditional): New.
6906
e6fb54ba 69072010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6908
6909 PR objc/23710
9b60f3b0 6910 * c-common.h (objc_start_method_definition): Return bool instead
6911 of void.
6912 * stub-objc.c (objc_start_method_definition): Return bool instead
6913 of void.
6914
69152010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6916
6917 PR objc/25965
6918 * c-common.h (objc_get_interface_ivars): New declaration.
6919 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 6920
e44b0a1f 69212010-09-15 Ian Lance Taylor <iant@google.com>
6922
6923 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 6924 messages. Remove period at end of warning message.
e44b0a1f 6925
85c0a25c 69262010-09-09 Nathan Sidwell <nathan@codesourcery.com>
6927
6928 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
6929 (handle_alias_attribute): ... here.
6930 (handle_ifunc_attribute): New.
6931
5ba33bf4 69322010-09-06 Mark Mitchell <mark@codesourcery.com>
6933
6934 * c-common.h (do_warn_double_promotion): Declare.
6935 * c-common.c (do_warn_double_promotion): Define.
6936
c920faa3 69372010-09-05 Mark Mitchell <mark@codesourcery.com>
6938
6939 * c.opt (Wdouble-promotion): New.
6940
9604e070 69412010-09-02 Joseph Myers <joseph@codesourcery.com>
6942
6943 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
6944 fvtable-thunks, fxref): Mark no longer supported in help text.
6945
3b0273a1 69462010-09-02 Joseph Myers <joseph@codesourcery.com>
6947
6948 * c.opt (Wimport, fall-virtual, falt-external-templates,
6949 fdefault-inline, fenum-int-equiv, fexternal-templates,
6950 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
6951 fname-mangling-version-, fnew-abi, fnonnull-objects,
6952 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
6953 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
6954 applicable.
6955 (fhandle-exceptions): Mark with Alias and Warn.
6956 * c-opts.c (c_common_handle_option): Don't handle options marked
6957 as ignored.
6958
67089c6b 69592010-09-02 Joseph Myers <joseph@codesourcery.com>
6960
6961 * c.opt (Wcomments, Werror-implicit-function-declaration,
6962 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
6963 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
6964 aliases.
6965 * c-common.c (option_codes): Use OPT_Wcomment instead of
6966 OPT_Wcomments.
6967 * c-opts.c (warning_as_error_callback, c_common_handle_option):
6968 Don't handle options marked as aliases.
6969
2af087f2 69702010-08-25 Richard Guenther <rguenther@suse.de>
6971
6972 * c-common.c (c_common_get_alias_set): Remove special
6973 handling for pointers.
6974
48148244 69752010-08-20 Nathan Froyd <froydnj@codesourcery.com>
6976
6977 * c-common.c: Use FOR_EACH_VEC_ELT.
6978 * c-gimplify.c: Likewise.
6979 * c-pragma.c: Likewise.
6980
89c69892 69812010-08-16 Joseph Myers <joseph@codesourcery.com>
6982
6983 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
6984 RejectDriver.
6985 (MMDX): Change back to MMD. Mark NoDriverArg instead of
6986 RejectDriver.
6987 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
6988 instead of OPT_MDX and OPT_MMDX.
6989
e28aa114 69902010-08-16 Joseph Myers <joseph@codesourcery.com>
6991
6992 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
6993
99b66d21 69942010-08-12 Joseph Myers <joseph@codesourcery.com>
6995
6996 * c.opt (MD, MMD): Change to MDX and MMDX.
6997 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
6998
666f4bf0 69992010-08-11 Joseph Myers <joseph@codesourcery.com>
7000
7001 * c-opts.c (c_common_handle_option): Call handle_generated_option
7002 instead of handle_option.
7003
5ec815f6 70042010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7005
7006 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7007 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7008
d13143cf 70092010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7010
7011 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7012 (pending_redefine_extname): Change type to a VEC.
7013 (add_to_renaming_pragma_list): Update for new type of
7014 pending_redefine_extname.
5ec815f6 7015 (maybe_apply_renaming_pragma): Likewise.
d13143cf 7016
2008c983 70172010-08-04 Arnaud Charlet <charlet@adacore.com>
7018
7019 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7020 visited.
7021 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7022 decide whether a type has already been declared/seen.
7023 Do not go to the original type.
7024 (dump_nested_types): New parameter forward.
7025 Generate forward declaration if needed and mark type as visited.
7026 (print_ada_declaration): Call dump_nested_types if not already done.
7027 Mark types as visited.
7028
9b091a73 70292010-08-03 Joseph Myers <joseph@codesourcery.com>
7030
7031 * c.opt (-print-pch-checksum): Remove option.
7032 * c-opts.c (c_common_handle_option): Don't handle
7033 OPT_print_pch_checksum.
7034
b78351e5 70352010-07-27 Joseph Myers <joseph@codesourcery.com>
7036
7037 * c-common.h (c_common_handle_option): Update prototype and return
7038 value type.
7039 * c-opts.c (c_common_handle_option): Update prototype and return
7040 value type. Update calls to handle_option and
7041 enable_warning_as_error.
7042
34416a90 70432010-07-27 Jakub Jelinek <jakub@redhat.com>
7044
7045 PR c/45079
7046 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7047
fecf9011 70482010-07-27 Joseph Myers <joseph@codesourcery.com>
7049
7050 * c-common.h (c_common_missing_argument): Remove.
7051 * c-opts.c (c_common_missing_argument): Remove.
7052 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7053 idirafter, imacros, include, isysroot, isystem, iquote): Add
7054 MissingArgError.
7055 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7056
e88d34f6 70572010-07-27 Joseph Myers <joseph@codesourcery.com>
7058
7059 * c-common.h (c_common_option_lang_mask,
7060 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7061 New.
7062 (c_common_init_options): Update prototype.
7063 * c-opts.c (c_common_option_lang_mask): New.
7064 (c_common_initialize_diagnostics): Split out of
7065 c_common_init_options.
7066 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7067 New.
7068 (c_common_init_options): Update prototype. Use decoded options in
7069 search for -lang-asm.
7070
1767a056 70712010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7072
7073 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7074 * c-format.c: Likewise.
7075
0b205f4c 70762010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7077
7078 * c-common.h: Include diagnostic-core.h. Error if already
7079 included.
7080 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7081
1c58e3f1 70822010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7083
1f78217c 7084 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 7085 Do not include expr.h
7086 (vector_mode_valid_p): Move here.
7087
33cc157c 70882010-06-21 DJ Delorie <dj@redhat.com>
7089
7090 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7091 allow these pragmas anywhere.
7092
70932010-06-14 Jakub Jelinek <jakub@redhat.com>
7094
7095 PR bootstrap/44509
7096 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7097 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7098 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7099 ggc_strdup instead of xstrdup.
7100
71012010-06-10 Jakub Jelinek <jakub@redhat.com>
7102
7103 * c-cppbuiltin.c: Include cpp-id-data.h.
7104 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7105 (lazy_hex_fp_value): New function.
7106 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7107
9b40bfbf 71082010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7109
7110 * c-gimplify.c: Do not include tree-flow.h
7111
202d6e5f 71122010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7113
7114 PR other/44034
7115 * c-common.c: Rename targetm member:
7116 targetm.enum_va_list -> targetm.enum_va_list_p
7117
d3237426 71182010-06-28 Anatoly Sokolov <aesok@post.ru>
7119
7120 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7121
596981c8 71222010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7123
7124 * c-cppbuiltin.c: Do not include except.h.
7125
b9bdfa0b 71262010-06-24 Andi Kleen <ak@linux.intel.com>
7127
19931eea 7128 * c-common.c (warn_for_omitted_condop): New.
7129 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 7130
55ad092d 71312010-06-21 Joseph Myers <joseph@codesourcery.com>
7132
7133 * c.opt (lang-objc): Remove.
7134 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7135
9e7c2572 71362010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7137
7138 * c-opts.c: Include "tm_p.h".
7139
615ef0bb 71402010-06-20 Joseph Myers <joseph@codesourcery.com>
7141
7142 * c-common.c (parse_optimize_options): Update call to
7143 decode_options.
7144
aef48c9a 71452010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7146
7147 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7148 new type of types_used_by_cur_var_decl.
7149
d74003b4 71502010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7151
7152 PR bootstrap/44512
7153 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7154 for C++ standard compliance.
7155
1194d077 71562010-06-16 Jason Merrill <jason@redhat.com>
7157
7158 * c.opt: Add -Wnoexcept.
7159
d473d901 71602010-06-16 Richard Guenther <rguenther@suse.de>
7161
7162 PR c/44555
7163 * c-common.c (c_common_truthvalue_conversion): Remove
7164 premature and wrong optimization concering ADDR_EXPRs.
7165
b62dbfd3 71662010-06-15 Arnaud Charlet <charlet@adacore.com>
7167
7168 * c-ada-spec.c (dump_sloc): Remove column info.
7169 (is_simple_enum): New function.
7170 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7171 enum types when relevant.
7172
200dd99c 71732010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7174
19931eea 7175 * c-common.c (conversion_warning): Warn at expression
200dd99c 7176 location.
7177
abf6a617 71782010-06-10 Joseph Myers <joseph@codesourcery.com>
7179
7180 * c-opts.c (c_common_handle_option): Don't handle
7181 OPT_fshow_column.
7182
ba72912a 71832010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7184
7185 * c-pragma.c (push_alignment): Use typed GC allocation.
7186 (handle_pragma_push_options): Likewise.
7187
7188 * c-common.c (parse_optimize_options): Likewise.
7189
7190 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7191 option.
7192
4aafe913 71932010-06-07 Joseph Myers <joseph@codesourcery.com>
7194
7195 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7196 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7197 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7198 flag_signed_bitfields, warn_strict_null_sentinel,
7199 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7200 flag_gen_declaration, flag_no_gnu_keywords,
7201 flag_implement_inlines, flag_implicit_templates,
7202 flag_implicit_inline_templates, flag_optional_diags,
7203 flag_elide_constructors, flag_default_inline, flag_rtti,
7204 flag_conserve_space, flag_access_control, flag_check_new,
7205 flag_new_for_scope, flag_weak, flag_working_directory,
7206 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7207 flag_enforce_eh_specs, flag_threadsafe_statics,
7208 flag_pretty_templates): Remove.
7209 * c-common.h (flag_preprocess_only, flag_nil_receivers,
7210 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7211 flag_replace_objc_classes, flag_undef, flag_no_builtin,
7212 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7213 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7214 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7215 flag_no_gnu_keywords, flag_implement_inlines,
7216 flag_implicit_templates, flag_implicit_inline_templates,
7217 flag_optional_diags, flag_elide_constructors, flag_default_inline,
7218 flag_rtti, flag_conserve_space, flag_access_control,
7219 flag_check_new, flag_new_for_scope, flag_weak,
7220 flag_working_directory, flag_use_cxa_atexit,
7221 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7222 flag_threadsafe_statics, flag_pretty_templates,
7223 warn_strict_null_sentinel): Remove.
7224 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7225 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7226 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7227 fimplicit-inline-templates, fimplicit-templates,
7228 flax-vector-conversions, fms-extensions, fnil-receivers,
7229 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7230 frtti, fshort-double, fshort-enums, fshort-wchar,
7231 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7232 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7233 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7234 gen-decls, undef): Use Var.
7235 (fdefault-inline, foptional-diags): Document as doing nothing.
7236 * c-opts.c (c_common_handle_option): Remove cases for options now
7237 using Var. Mark ignored options as such.
7238
7bedc3a0 72392010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7240
19931eea 7241 * c-common.c: Moved to here from parent directory.
7bedc3a0 7242 * c-common.def: Likewise.
7243 * c-common.h: Likewise.
7244 * c-cppbuiltin.c: Likewise.
7245 * c-dump.c: Likewise.
7246 * c-format.c: Likewise.
7247 * c-format.h : Likewise.
7248 * c-gimplify.c: Likewise.
7249 * c-lex.c: Likewise.
7250 * c-omp.c: Likewise.
7251 * c.opt: Likewise.
7252 * c-opts.c: Likewise.
7253 * c-pch.c: Likewise.
7254 * c-ppoutput.c: Likewise.
7255 * c-pragma.c: Likewise.
7256 * c-pragma.h: Likewise.
7257 * c-pretty-print.c: Likewise.
7258 * c-pretty-print.h: Likewise.
7259 * c-semantics.c: Likewise.
7260 * stub-objc.c: Likewise.
7261
7262 * c-common.c: Include gt-c-family-c-common.h.
7263 * c-pragma.c: Include gt-c-family-c-pragma.h.
7264\f
f1717362 7265Copyright (C) 2010-2016 Free Software Foundation, Inc.
7bedc3a0 7266
7267Copying and distribution of this file, with or without modification,
7268are permitted in any medium without royalty provided the copyright
7269notice and this notice are preserved.