]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
c5d89bae 12016-09-29 Jakub Jelinek <jakub@redhat.com>
2
3 Implement P0001R1 - C++17 removal of register storage class specifier
4 * c.opt (Wregister): New warning.
5 * c-opts.c (c_common_post_options): Enable -Wregister by
6 default for C++17.
7
4267ed07 82016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
9
10 * c-opts.c (c_common_post_options): Remove special case for
11 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
12 in C++.
13
0b72b025 142016-09-27 Jakub Jelinek <jakub@redhat.com>
15
4fd4e9e0 16 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
17 -std=c++1z.
18
0b72b025 19 * c-ada-spec.c (print_ada_declaration): Remove break after return.
20
ea36272b 212016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
22
23 * c-common.c: Include memmodel.h.
24
e997bd3a 252016-09-26 Marek Polacek <polacek@redhat.com>
26
27 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
28
3c77f69c 292016-09-26 Marek Polacek <polacek@redhat.com>
30
31 PR c/7652
32 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
33 (handle_fallthrough_attribute): New function.
34 (attribute_fallthrough_p): New function.
35 * c-common.h (attribute_fallthrough_p): Declare.
36
481ce481 372016-09-24 Marek Polacek <polacek@redhat.com>
38
39 PR c/77490
40 * c.opt (Wbool-operation): New.
41
a5fe0b37 422016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
43
44 * c-common.c (c_common_truthvalue_conversion): Inhibit
45 Wint-in-bool-context warning with from_macro_definition_at.
46 Mention the expression will always evaluate to true.
47
90f40f08 482016-09-21 Martin Sebor <msebor@redhat.com>
49
50 PR bootstrap/77676
51 * c.opt (fprintf-return-value): Temporarily initialize to zero
52 to unblock bootstrap failures.
53
98aa0f57 542016-09-21 Jakub Jelinek <jakub@redhat.com>
55
56 PR c++/77651
57 * c.opt (Waligned-new=): Add RejectNegative.
58 (faligned-new=): Likewise. Spelling fix - change
59 aligned_new_threshhold to aligned_new_threshold.
60 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
61 to aligned_new_threshold.
62
b9833bfd 632016-09-20 Martin Sebor <msebor@redhat.com>
64
65 PR middle-end/49905
66 * c.opt: Add -Wformat-length and -fprintf-return-value.
67
bed03df1 682016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
69
70 PR c++/77434
71 * c.opt (Wint-in-bool-context): New warning.
72 * c-common.c (c_common_truthvalue_conversion): Warn on integer
73 constants in boolean context.
74
9b5c49ef 752016-09-19 Joseph Myers <joseph@codesourcery.com>
76
77 * c-common.c (max_align_t_align): Also consider alignment of
78 float128_type_node.
79
cc4b5c58 802016-09-15 Jason Merrill <jason@redhat.com>
81
82 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
83 DECL_EXTERNAL.
84
ef45c4c0 852016-09-14 Jason Merrill <jason@redhat.com>
86
87 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
88 limit FIELD_DECL, either.
89
b99cc6da 902016-09-14 Marek Polacek <polacek@redhat.com>
91
92 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
93 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
94 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
95
68ef907c 962016-09-13 David Malcolm <dmalcolm@redhat.com>
97
98 * c-common.c (warn_logical_not_parentheses): Replace
99 rich_location::add_fixit_insert calls with add_fixit_insert_before
100 and add_fixit_insert_after, eliminating the "next_loc" calculation.
101
2c24fd5e 1022016-09-13 Jason Merrill <jason@redhat.com>
103 Tom de Vries <tom@codesourcery.com>
104
105 PR c++/77427
106 * c-common.c (set_underlying_type): Don't treat array as builtin type.
107
005248bc 1082016-09-13 Jason Merrill <jason@redhat.com>
109
110 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
111 limit types at all.
112
0c893604 1132016-09-12 Jason Merrill <jason@redhat.com>
114
115 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
116 bit/byte confusion, allow large alignment for types.
117
7a21b590 1182016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
119
120 PR c++/77496
121 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
122
00434032 1232016-09-12 David Malcolm <dmalcolm@redhat.com>
124
125 PR c/72858
126 * c-format.c (argument_parser::check_argument_type): Add params
127 "type_start" and "conversion_char". Use the former to generate
128 offset_to_type_start and pass it and conversion_char to
129 check_format_types.
130 (check_format_info_main): Capture the start of the type
131 information as "type_start", and pass it an format_char
132 to arg_parser.check_argument_type.
133 (check_format_types): Provide an example in the leading comment.
134 Add params "offset_to_type_start" and "conversion_char"; pass
135 them to format_type_warning calls.
136 (test_get_modifier_for_format_len): Likewise.
137 (matching_type_p): New function.
138 (get_format_for_type): Add param "conversion_char" and move
139 implementation into...
140 (get_format_for_type_1): ...new function, called twice.
141 Use new function matching_type_p rather than checking for
142 TYPE_CANONICAL equality.
143 (get_corrected_substring): New function.
144 (format_type_warning): Provide an example in the leading comment.
145 Add params "offset_to_type_start" and "conversion_char". Replace
146 call to get_format_for_type with call to get_corrected_substring
147 and move rejection of hints for widths/precisions there.
148 (assert_format_for_type_streq): Add param "conversion_char".
149 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
150 (test_get_format_for_type_printf): Add conversion chars to the
151 tests, adding coverage for various combinations of integer
152 vs double conversions, and for preserving octal and hexadecimal
153 conversions.
154 (test_get_format_for_type_scanf): Add conversion chars to the
155 tests.
156
3bb45f76 1572016-09-10 Tom de Vries <tom@codesourcery.com>
158
159 PR C/71602
160 * c-common.c (build_va_arg): Handle more strict
161 targetm.canonical_va_list_type. Replace first argument type error with
162 assert.
163
911ea34a 1642016-09-09 Martin Sebor <msebor@redhat.com>
165
166 PR c/77520
167 PR c/77521
168 * c-format.c (argument_parser::find_format_char_info): Use %qc
169 format directive unconditionally.
170
db8ffb40 1712016-09-09 Jason Merrill <jason@redhat.com>
172
173 Implement C++17 new of over-aligned types.
174 * c.opt: Add -faligned-new and -Waligned-new.
175 * c-common.c (max_align_t_align): Split out from...
176 (cxx_fundamental_alignment_p): ...here.
177 * c-common.h: Declare it.
178 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
179
c5eddaf9 1802016-09-09 Joseph Myers <joseph@codesourcery.com>
181
182 * c-cppbuiltin.c (builtin_define_type_width): New function.
183 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
184 macros.
185
3da97ff7 1862016-09-07 David Malcolm <dmalcolm@redhat.com>
187
188 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
189 a POINTER_TYPE.
190 (substring_loc::get_location): Move to substring-locations.c,
191 keeping implementation as...
192 (c_get_substring_location): New function, from the above, reworked
193 to use accessors rather than member lookup.
194 * c-common.h (class substring_loc): Move to substring-locations.h,
195 replacing with a forward decl.
196 (c_get_substring_location): New decl.
197 * c-format.c: Include "substring-locations.h".
198 (format_warning_va): Move to substring-locations.c.
199 (format_warning_at_substring): Likewise.
200
f9b3f702 2012016-09-06 Martin Sebor <msebor@redhat.com>
202
203 PR c/77336
204 * c-format.c (check_function_format): Avoid issuing warnings for
205 functions unless they call format functions with non-constant
206 format strings.
207
4c04bcce 2082016-09-06 Richard Biener <rguenther@suse.de>
209
210 PR c/77450
211 * c-common.c (c_common_mark_addressable_vec): Handle
212 COMPOUND_LITERAL_EXPR.
213
8f8828ba 2142016-09-05 Marek Polacek <polacek@redhat.com>
215
216 PR c/77423
217 * c-common.c (bool_promoted_to_int_p): New function.
218 (expr_has_boolean_operands_p): New function.
219 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
220 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
221
8ff61e58 2222016-09-04 Tom de Vries <tom@codesourcery.com>
223
224 revert:
225 2016-08-29 Tom de Vries <tom@codesourcery.com>
226
227 * c-common.c (build_va_arg): Replace first argument type error
228 with assert.
229
0b80c4b2 2302016-09-02 Jakub Jelinek <jakub@redhat.com>
231
232 PR c/65467
233 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
234 (c_finish_omp_for): Reject _Atomic qualified iterators.
235
2362016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 237
238 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
239 size to guarantee it fits the output of the formatted function
240 regardless of its arguments.
241
c7afb782 2422016-09-01 Marek Polacek <polacek@redhat.com>
243
244 PR c/7652
245 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
246 FALLTHRU comments.
247
f293b7f2 2482016-08-29 Marek Polacek <polacek@redhat.com>
249
250 PR c/77292
251 * c-common.c (warn_logical_not_parentheses): Don't warn for
252 a comparison or a logical operator.
253
839e4d28 2542016-08-29 Tom de Vries <tom@codesourcery.com>
255
256 * c-common.c (build_va_arg): Fix type comparison assert.
257
0acb92b8 2582016-08-29 Tom de Vries <tom@codesourcery.com>
259
260 * c-common.c (build_va_arg): Replace first argument type error
261 with assert.
262
ea2ec8f6 2632016-08-29 Tom de Vries <tom@codesourcery.com>
264
265 PR c/77398
266 * c-common.c (build_va_arg): Add first argument error. Build va_arg
267 with error_mark_node as va_list instead of with illegal va_list.
268
c4963714 2692016-08-25 Marek Polacek <polacek@redhat.com>
270 David Malcolm <dmalcolm@redhat.com>
271
272 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
273 * c-common.h (warn_logical_not_parentheses): Update declaration.
274
364743f3 2752016-08-22 Marek Polacek <polacek@redhat.com>
276
277 PR c++/77321
278 * c-common.c (warn_for_memset): Check type for null.
279
012f068a 2802016-08-22 Joseph Myers <joseph@codesourcery.com>
281
282 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
283 _FloatNx types for suffixes for built-in functions.
284
82c85aba 2852016-08-19 Joseph Myers <joseph@codesourcery.com>
286
287 PR c/32187
288 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
289 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
290 (RID_FLOAT128X): New enum rid values.
291 (CASE_RID_FLOATN_NX): New macro.
292 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
293 keywords.
294 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
295 corresponding complex types.
296 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
297 _FloatNx and corresponding complex types.
298 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
299 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
300 and _FloatNx types for the widest type for determining
301 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
302 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
303 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
304 and _FloatNx types.
305 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
306 constants.
307 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
308 _FloatNx types.
309
48a7392b 3102016-08-18 David Malcolm <dmalcolm@redhat.com>
311
312 * c-opts.c (c_diagnostic_finalizer): Update for change to
313 diagnostic_show_locus.
314
5c8151fa 3152016-08-18 David Malcolm <dmalcolm@redhat.com>
316
317 * c-common.c: Include "spellcheck.h".
318 (cb_get_suggestion): New function.
319 * c-common.h (cb_get_suggestion): New decl.
320 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
321 cb_get_suggestion.
322
26040f06 3232016-08-18 Marek Polacek <polacek@redhat.com>
324
325 PR c/71514
326 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
327 and pointer-to-VLA.
328
5927e78e 3292016-08-16 David Malcolm <dmalcolm@redhat.com>
330
331 PR c/72857
332 * c-common.c (substring_loc::get_range): Rename to...
333 (substring_loc::get_location): ...this, converting param from a
334 source_range * to a location_t *. Call
335 get_source_location_for_substring rather than
336 get_source_range_for_substring, and pass in m_caret_idx.
337 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
338 (substring_loc::get_range): Replace with...
339 (substring_loc::get_location): ...this.
340 (substring_loc::set_caret_index): New method.
341 (substring_loc): Add field m_caret_idx.
342 * c-format.c (format_warning_va): Update for above changes.
343 Rename local "substring_loc" to "fmt_substring_loc" to avoid
344 clashing with type name.
345 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
346 (check_argument_type): Likewise.
347 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
348 Use a copy when emitting warnings, setting the caret index from TYPE.
349
6ce66d38 3502016-08-16 Eric Botcazou <ebotcazou@adacore.com>
351 Arnaud Charlet <charlet@adacore.com>
352
353 * c-ada-spec.c (dump_number): New function.
354 (handle_escape_character): Likewise.
355 (print_ada_macros): Add handling of constant integers and strings.
356
e3533433 3572016-08-12 Marek Polacek <polacek@redhat.com>
358
359 PR c/7652
360 * c-common.c (scalar_to_vector): Adjust fall through comment.
361 * c-opts.c (c_common_handle_option): Likewise.
362 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
363 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
364 fall through comment.
365 * cilk.c (extract_free_variables): Add FALLTHRU.
366
0f463aec 3672016-08-10 Jason Merrill <jason@redhat.com>
368
369 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
370
80488e20 3712016-08-09 Jason Merrill <jason@redhat.com>
372
373 * c-common.c (c_common_attribute_table): vector_size affects type
374 identity.
375
a319e7f4 3762016-08-09 Marek Polacek <polacek@redhat.com>
377
378 PR c/7652
379 * c-ada-spec.c (dump_generic_ada_node): Add return.
380
33603066 3812016-08-09 Jason Merrill <jason@redhat.com>
382
383 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
384 C++17 constexpr lambdas.
385
7af4d06b 3862016-08-08 David Malcolm <dmalcolm@redhat.com>
387
388 PR c/64955
389 * c-common.h (selftest::c_format_c_tests): New declaration.
390 (selftest::run_c_tests): New declaration.
391 * c-format.c: Include "selftest.h.
392 (format_warning_va): Add param "corrected_substring" and use
393 it to add a replacement fix-it hint.
394 (format_warning_at_substring): Likewise.
395 (format_warning_at_char): Update for new param of
396 format_warning_va.
397 (argument_parser::check_argument_type): Pass "fki" to
398 check_format_types.
399 (check_format_types): Add param "fki" and pass it to
400 format_type_warning.
401 (deref_n_times): New function.
402 (get_modifier_for_format_len): New function.
403 (selftest::test_get_modifier_for_format_len): New function.
404 (get_format_for_type): New function.
405 (format_type_warning): Add param "fki" and use it to attempt
406 to provide hints for argument types when calling
407 format_warning_at_substring.
408 (selftest::get_info): New function.
409 (selftest::assert_format_for_type_streq): New function.
410 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
411 (selftest::test_get_format_for_type_printf): New function.
412 (selftest::test_get_format_for_type_scanf): New function.
413 (selftest::c_format_c_tests): New function.
414
d189b094 4152016-08-08 David Malcolm <dmalcolm@redhat.com>
416
417 PR c/52952
418 * c-format.c: Include "diagnostic.h".
419 (location_column_from_byte_offset): Delete.
420 (location_from_offset): Delete.
421 (format_warning_va): New function.
422 (format_warning_at_substring): New function.
423 (format_warning_at_char): New function.
424 (check_format_arg): Capture location of format_tree and pass to
425 check_format_info_main.
426 (argument_parser): Add fields "start_of_this_format" and
427 "format_string_cst".
428 (flag_chars_t::validate): Add param "format_string_cst". Convert
429 warning_at call using location_from_offset to call to
430 format_warning_at_char.
431 (argument_parser::argument_parser): Add param "format_string_cst_"
432 and use use it to initialize field "format_string_cst".
433 Initialize new field "start_of_this_format".
434 (argument_parser::read_format_flags): Convert warning_at call
435 using location_from_offset to a call to format_warning_at_char.
436 (argument_parser::read_any_format_left_precision): Likewise.
437 (argument_parser::read_any_format_precision): Likewise.
438 (argument_parser::read_any_other_modifier): Likewise.
439 (argument_parser::find_format_char_info): Likewise, in three places.
440 (argument_parser::parse_any_scan_set): Likewise, in one place.
441 (argument_parser::handle_conversions): Likewise, in two places.
442 (argument_parser::check_argument_type): Add param "fmt_param_loc"
443 and use it to make a substring_loc. Pass the latter to
444 check_format_types.
445 (check_format_info_main): Add params "fmt_param_loc" and
446 "format_string_cst". Convert warning_at calls using
447 location_from_offset to calls to format_warning_at_char. Pass the
448 new params to the arg_parser ctor. Pass "format_string_cst" to
449 flag_chars.validate. Pass "fmt_param_loc" to
450 arg_parser.check_argument_type.
451 (check_format_types): Convert first param from a location_t
452 to a const substring_loc & and rename to "fmt_loc". Attempt
453 to extract the range of the relevant parameter and pass it
454 to format_type_warning.
455 (format_type_warning): Convert first param from a location_t
456 to a const substring_loc & and rename to "fmt_loc". Add
457 params "param_range" and "type". Replace calls to warning_at
458 with calls to format_warning_at_substring.
459
0dae5fef 4602016-08-08 David Malcolm <dmalcolm@redhat.com>
461
462 * c-format.c (class flag_chars_t): New class.
463 (struct length_modifier): New struct.
464 (class argument_parser): New class.
465 (flag_chars_t::flag_chars_t): New ctor.
466 (flag_chars_t::has_char_p): New method.
467 (flag_chars_t::add_char): New method.
468 (flag_chars_t::validate): New method.
469 (flag_chars_t::get_alloc_flag): New method.
470 (flag_chars_t::assignment_suppression_p): New method.
471 (argument_parser::argument_parser): New ctor.
472 (argument_parser::read_any_dollar): New method.
473 (argument_parser::read_format_flags): New method.
474 (argument_parser::read_any_format_width): New method.
475 (argument_parser::read_any_format_left_precision): New method.
476 (argument_parser::read_any_format_precision): New method.
477 (argument_parser::handle_alloc_chars): New method.
478 (argument_parser::read_any_length_modifier): New method.
479 (argument_parser::read_any_other_modifier): New method.
480 (argument_parser::find_format_char_info): New method.
481 (argument_parser::validate_flag_pairs): New method.
482 (argument_parser::give_y2k_warnings): New method.
483 (argument_parser::parse_any_scan_set): New method.
484 (argument_parser::handle_conversions): New method.
485 (argument_parser::check_argument_type): New method.
486 (check_format_info_main): Introduce classes argument_parser
487 and flag_chars_t, moving the code within the loop into methods
488 of these classes. Make various locals "const".
489
d4166bdc 4902016-08-05 David Malcolm <dmalcolm@redhat.com>
491
492 * c-common.c: Include "substring-locations.h".
493 (get_cpp_ttype_from_string_type): New function.
494 (g_string_concat_db): New global.
495 (substring_loc::get_range): New method.
496 * c-common.h (g_string_concat_db): New declaration.
497 (class substring_loc): New class.
498 * c-lex.c (lex_string): When concatenating strings, capture the
499 locations of all tokens using a new obstack, and record the
500 concatenation locations within g_string_concat_db.
501 * c-opts.c (c_common_init_options): Construct g_string_concat_db
502 on the ggc-heap.
503
7648c9c7 5042016-07-29 Marek Polacek <polacek@redhat.com>
505
8ae70602 506 PR c/71926
507 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
508 parentheses warning.
509
7648c9c7 510 PR c/71574
511 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
512
595e387a 5132016-07-28 Martin Liska <mliska@suse.cz>
514
515 PR gcov-profile/68025
516 * c-common.c (handle_no_profile_instrument_function_attribute):
517
296103aa 5182016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
519
520 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
521 BITS_PER_UNIT_LOG.
522
21483ab7 5232016-07-25 Jason Merrill <jason@redhat.com>
524
525 PR c++/65970
526 * c.opt (fconstexpr-loop-limit): New.
527
0b80c4b2 5282016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 529
530 PR c++/71675
531 * c-common.c (resolve_overloaded_builtin): Avoid converting
532 __atomic_compare_exchange_n return type to that of what its
533 first argument points to.
534
59c1507a 5352016-07-22 Uros Bizjak <ubizjak@gmail.com>
536
537 * c-common.c: Use HOST_WIDE_INT_M1U instead of
538 ~(unsigned HOST_WIDE_INT) 0.
539
45648efe 5402016-07-22 Martin Liska <mliska@suse.cz>
541
542 PR gcov-profile/69028
543 PR gcov-profile/62047
544 * cilk.c (create_cilk_helper_decl): Set location of a new decl
545 to the current_function_decl.
546
0c0f63cb 5472016-07-21 Jason Merrill <jason@redhat.com>
548
549 PR c++/65168
550 * c-common.c (c_common_truthvalue_conversion): Check
551 c_inhibit_evaluation_warnings for warning about address of
552 reference.
553
d208f6e6 5542016-07-20 David Malcolm <dmalcolm@redhat.com>
555
556 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
557 const char *.
558
0238e35e 5592016-07-15 Jason Merrill <jason@redhat.com>
560
561 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
562
0dd7db3b 5632016-07-15 Jakub Jelinek <jakub@redhat.com>
564
565 PR c/71858
566 * c-common.h (enum lookup_name_fuzzy_kind): Add
567 FUZZY_LOOKUP_FUNCTION_NAME.
568
e59cff35 5692016-07-08 Jason Merrill <jason@redhat.com>
570
571 P0145: Refining Expression Order for C++.
572 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
573 * c-opts.c: Adjust.
574
faee03ad 5752016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
576
577 PR c++/71214
578 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
579
a4dd89cb 5802016-06-29 Thomas Schwinge <thomas@codesourcery.com>
581
582 * c-pragma.h (enum pragma_kind): Rename
583 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
584 users.
585
b6a4a0f5 5862016-06-29 Richard Biener <rguenther@suse.de>
587
588 PR middle-end/71002
589 * c-common.c (c_common_get_alias_set): Remove union type punning case.
590
176aa551 5912016-06-24 Jason Merrill <jason@redhat.com>
592
593 P0145R2: Refining Expression Order for C++.
594 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
595 MODIFY_EXPR.
596
77104764 5972016-06-24 Jakub Jelinek <jakub@redhat.com>
598
599 * c-common.c (check_builtin_function_arguments): Require last
600 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
601 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
602 if the last argument is pointer to enumerated or boolean type.
603
8469aece 6042016-06-22 David Malcolm <dmalcolm@redhat.com>
605
606 PR c/70339
607 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
608 (lookup_name_fuzzy): New prototype.
609
bd08c370 6102016-06-21 John David Anglin <danglin@gcc.gnu.org>
611
612 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
613
06c75b9a 6142016-06-14 Jason Merrill <jason@redhat.com>
615
616 P0145R2: Refining Expression Order for C++.
617 * c.opt (fargs-in-order): New.
618 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
619
9720103d 6202016-06-13 Jakub Jelinek <jakub@redhat.com>
621
12cb8367 622 PR sanitizer/71498
623 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
624 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
625
9720103d 626 PR preprocessor/71183
627 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
628 to cb_get_source_date_epoch.
629
8ec29807 6302016-06-10 Jakub Jelinek <jakub@redhat.com>
631
632 PR c/68657
633 * c.opt (Wpsabi): Add Warning flag.
634
1dc4d519 6352016-06-10 Martin Sebor <msebor@redhat.com>
636
637 PR c/71392
638 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
639 the nonnull attribute in type-generic builtins.
640
23b101c5 6412016-06-09 Martin Sebor <msebor@redhat.com>
642
643 PR c/70883
644 * c-common.c (builtin_function_validate_nargs): Make text of error
645 message consistent with others like it.
646
732905bb 6472016-06-08 Martin Sebor <msebor@redhat.com>
648 Jakub Jelinek <jakub@redhat.com>
649
650 PR c++/70507
651 PR c/68120
652 * c-common.c (check_builtin_function_arguments): Handle
653 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
654
86a5f91c 6552016-06-08 Richard Biener <rguenther@suse.de>
656
657 * c-common.c (parse_optimize_options): Improve diagnostic messages.
658
b032c4dd 6592016-06-07 Richard Biener <rguenther@suse.de>
660
661 PR c/61564
662 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
663 options and warn about others.
664
dfa5c0d3 6652016-06-01 Eduard Sanou <dhole@openmailbox.org>
666
667 * c-common.c (get_source_date_epoch): Rename to
668 cb_get_source_date_epoch.
669 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
670 message when the parsing fails. Use error_at instead of fatal_error.
671 * c-common.h (get_source_date_epoch): Rename to
672 cb_get_source_date_epoch.
673 * c-common.h (cb_get_source_date_epoch): Prototype.
674 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
675 * c-common.h (c_omp_region_type): Remove trailing comma.
676 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
677 * c-lex.c (c_lex_with_flags): Remove initialization of
678 pfile->source_date_epoch.
679
b6431756 6802016-05-30 Jakub Jelinek <jakub@redhat.com>
681
682 PR c++/71349
683 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
684 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
685 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
686 instead of C_OMP_CLAUSE_SPLIT_FOR.
687
7345b977 6882016-05-24 Richard Biener <rguenther@suse.de>
689
690 PR middle-end/70434
691 PR c/69504
692 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
693 (convert_vector_to_array_for_subscript): ... this.
694 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
695 VIEW_CONVERT_EXPR to an array type. Rename to ...
696 (convert_vector_to_array_for_subscript): ... this.
697
22a3f7bd 6982016-05-12 Marek Polacek <polacek@redhat.com>
699
700 PR c/70756
701 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
702 size_in_bytes and pass LOC to it.
703
54c4d22e 7042016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
705
706 PR c/43651
707 * c.opt (Wduplicate-decl-specifier): New option.
708
7f8012a5 7092016-05-11 Marek Polacek <polacek@redhat.com>
710
711 PR c++/71024
712 * c-common.c (diagnose_mismatched_attributes): New function.
713 * c-common.h (diagnose_mismatched_attributes): Declare.
714
1d52c456 7152016-05-04 Marek Polacek <polacek@redhat.com>
716
717 * c.opt (Wdangling-else): New option.
718
5d4db8ef 7192016-05-03 Marek Polacek <polacek@redhat.com>
720
721 PR c/70859
722 * c-common.c (builtin_function_validate_nargs): Add location
723 parameter. Use it.
724 (check_builtin_function_arguments): Add location and arguments
725 parameters. Use them.
726 * c-common.h (check_builtin_function_arguments): Update declaration.
727
9ae1b28a 7282016-05-03 Richard Biener <rguenther@suse.de>
729
730 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
731 allow call args to gimplify to SSA names.
732
4341e093 7332016-05-03 Marek Polacek <polacek@redhat.com>
734
735 * c-common.h (enum c_omp_region_type): Remove stray comma.
736
b5e88f74 7372016-05-02 Cesar Philippidis <cesar@codesourcery.com>
738
739 * c-common.h (enum c_omp_region_type): Define.
740
ee31dd3d 7412016-05-02 Richard Sandiford <richard.sandiford@arm.com>
742
743 * c-common.c (shorten_compare): Use wi::to_wide.
744
4d0a8bac 7452016-04-29 Cesar Philippidis <cesar@codesourcery.com>
746
747 PR middle-end/70626
748 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
749 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
750 reduction clauses in acc parallel loops.
751
025dd1e0 7522016-04-29 Marek Polacek <polacek@redhat.com>
753
754 PR c/70852
755 * c-common.c (warn_for_memset): Check domain before accessing it.
756
eb16928e 7572016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
758
759 PR/69089
760 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
761 "aligned" attribute.
762
ddd2a3d4 7632016-04-28 Jason Merrill <jason@redhat.com>
764
765 * c-lex.c (c_common_has_attribute): Handle nodiscard.
766
e3e8c48c 7672016-04-28 Eduard Sanou <dhole@openmailbox.org>
768 Matthias Klose <doko@debian.org>
769
770 * c-common.c (get_source_date_epoch): New function, gets the environment
771 variable SOURCE_DATE_EPOCH and parses it as long long with error
772 handling.
773 * c-common.h (get_source_date_epoch): Prototype.
774 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
775
605a4556 7762015-04-27 Ryan Burn <contact@rnburn.com>
777
778 PR c++/69024
779 PR c++/68997
780 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
781 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
782 external linkage.
783 (cilk_detect_and_unwrap): Corresponding changes.
784 (extract_free_variables): Don't extract free variables from
785 AGGR_INIT_EXPR slot.
786 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
787 (cilk_recognize_spawn): Likewise.
788
40385231 7892016-04-27 Bernd Schmidt <bschmidt@redhat.com>
790
791 * c.opt (Wmemset-elt-size): New option.
792 * c-common.c (warn_for_memset): New function.
793 * c-common.h (warn_for_memset): Declare.
794
f5d49c14 7952016-04-25 Jason Merrill <jason@redhat.com>
796
797 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
798 No longer static.
799 * c-common.h: Declare it.
800 * c-lex.c (c_common_has_attribute): Add maybe_unused.
801
9c980ab5 8022016-04-22 Jason Merrill <jason@redhat.com>
803
804 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
805
70574e60 8062016-04-20 Ilya Verbin <ilya.verbin@intel.com>
807
808 PR c++/69363
809 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
810 * c-common.h (c_finish_cilk_clauses): Remove declaration.
811
5d4b30ea 8122016-04-18 Michael Matz <matz@suse.de>
813
814 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
815 and SET_DECL_ALIGN.
816
021ad2f3 8172016-04-17 Eric Botcazou <ebotcazou@adacore.com>
818
819 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
820 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
821 to incomplete types.
822 (dump_nested_type): Remove redundant tests and tidy up.
823 (print_ada_declaration): Also set TREE_VISITED on the declaration of
824 a type which is the typedef of an original type.
825
926f9422 8262016-04-15 Marek Polacek <polacek@redhat.com>
827
828 PR c/70651
829 * c-common.c (build_va_arg): Change two asserts into errors and return
830 error_mark_node.
831
92c53257 8322016-04-13 Marek Polacek <polacek@redhat.com>
833
834 PR c++/70639
835 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
836 for switch statements, too.
837
a3ae889f 8382016-03-28 Jason Merrill <jason@redhat.com>
839
840 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
841
62d2a6dc 8422016-03-23 Marek Polacek <polacek@redhat.com>
843
844 PR c++/69884
845 * c.opt (Wignored-attributes): New option.
846
4baec9f2 8472016-03-22 David Malcolm <dmalcolm@redhat.com>
848
849 PR c/69993
850 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
851 diagnostic text, reversing the order of the warning and note so
852 that they appear in source order.
853
92e7ab1e 8542016-03-17 Marek Polacek <polacek@redhat.com>
855
856 PR c/69407
857 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
858 operations.
859
6f895832 8602016-03-14 Jason Merrill <jason@redhat.com>
861
14c36b14 862 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
863
6f895832 864 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
865
42bb3bfb 8662016-03-09 Richard Biener <rguenther@suse.de>
867
868 PR c/70143
869 * c-common.c (strict_aliasing_warning): Add back
870 alias_sets_conflict_p check.
871
3556aa80 8722016-03-08 Jason Merrill <jason@redhat.com>
873
874 * c-opts.c (set_std_cxx1z): Don't enable concepts.
875
0060768a 8762016-03-04 David Malcolm <dmalcolm@redhat.com>
877
878 PR c/68187
879 * c-indentation.c (get_visual_column): Move code to determine next
880 tab stop to...
881 (next_tab_stop): ...this new function.
882 (line_contains_hash_if): Delete function.
883 (detect_preprocessor_logic): Delete function.
884 (get_first_nws_vis_column): New function.
885 (detect_intervening_unindent): New function.
886 (should_warn_for_misleading_indentation): Replace call to
887 detect_preprocessor_logic with a call to
888 detect_intervening_unindent.
889
74c6fd40 8902016-03-04 David Malcolm <dmalcolm@redhat.com>
891
892 PR c/68187
893 * c-indentation.c (should_warn_for_misleading_indentation): When
894 suppressing warnings about cases where the guard and body are on
895 the same column, only use the first non-whitespace column in place
896 of the guard token column when dealing with "else" clauses.
897 When rejecting aligned BODY and NEXT, loosen the requirement
898 from equality with the first non-whitespace of guard to simply
899 that they not be indented relative to it.
900
e692d332 9012016-03-04 Richard Biener <rguenther@suse.de>
902
903 PR c++/70054
904 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
905 instead of alias_sets_conflict_p.
906
12cc1225 9072016-03-01 Marek Polacek <polacek@redhat.com>
908
909 PR c++/69795
910 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
911 any DECL.
912
8c38d887 9132016-02-22 Martin Sebor <msebor@redhat.com>
914
915 PR middle-end/69780
916 * c-common.c (check_builtin_function_arguments): Validate and
917 reject invalid arguments to __builtin_alloca_with_align.
918
e53f41d5 9192016-02-20 Mark Wielaard <mjw@redhat.com>
920
921 PR c/28901
922 * c.opt (Wunused-const-variable): Turn into Alias for...
923 (Wunused-const-variable=): New option.
924
9cce8384 9252016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
926
927 PR c++/69865
928 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
929 here...
930 (c_common_init_options): ...to here.
931 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
932
563d5cb8 9332016-02-19 Jakub Jelinek <jakub@redhat.com>
934
935 PR c++/69826
936 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
937 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
938 flag_preprocess_only.
939
7675e968 9402016-02-16 Jakub Jelinek <jakub@redhat.com>
941
942 PR c/69835
943 * c.opt (Wnonnull-compare): Enable for -Wall.
944
77454e6e 9452016-02-15 Jakub Jelinek <jakub@redhat.com>
946
947 PR c++/69797
948 * c-common.c (sync_resolve_size): Diagnose too few arguments
949 even when params is non-NULL empty vector.
950
600695e0 9512016-02-08 Bernd Schmidt <bschmidt@redhat.com>
952
953 PR target/60410
954 * c.opt (fshort-double): Remove.
955
a7cc1f94 9562016-02-05 Martin Sebor <msebor@redhat.com>
957
958 PR c++/69662
959 * c.opt (Warning options): Update -Wplacement-new to take
960 an optional argument.
961
6f13b088 9622016-02-01 Jakub Jelinek <jakub@redhat.com>
963
964 PR preprocessor/69543
965 PR c/69558
966 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
967 instead of loc to control_warning_option.
968
948eee2f 9692016-02-01 Nathan Sidwell <nathan@codesourcery.com>
970
971 * c.opt (fopenacc-dim=): New option.
972
5fa82c11 9732016-01-27 Ryan Burn <contact@rnburn.com>
974
975 PR cilkplus/69267
976 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
977 gimplify_arg. Removed superfluous post_p argument.
978 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
979 superfluous post_p argument.
980 * c-gimplify.c (c_gimplify_expr): Likewise.
981
3752e5b1 9822016-01-26 David Malcolm <dmalcolm@redhat.com>
983
984 PR other/69006
985 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
986 pp_newline_and_flush with pp_flush.
987
bbbbe8ab 9882016-01-20 Martin Sebor <msebor@redhat.com>
989
990 PR c/69405
991 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
992 an incompatible argument when the argument isn't a valid tree node.
993
f6dfb86a 9942016-01-18 Jason Merrill <jason@redhat.com>
995
996 PR c++/68767
997 * c-common.c (check_function_arguments_recurse): Fold the whole
998 COND_EXPR, not just the condition.
999
f672c103 10002016-01-18 Tom de Vries <tom@codesourcery.com>
1001
1002 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1003 classify as loop clause.
1004
c8ef893c 10052016-01-15 Jakub Jelinek <jakub@redhat.com>
1006
1007 PR bootstrap/68271
1008 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1009 C++ FE no longer has limit on number of pragmas.
1010
10112015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 1012
1013 PR c++/69048
1014 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 1015 to add missing cleanup point.
7d600da5 1016
a7ed4583 10172016-01-14 David Malcolm <dmalcolm@redhat.com>
1018
1019 PR c++/68819
1020 * c-indentation.c (get_visual_column): Add location_t param.
1021 Handle the column number being zero by effectively disabling the
1022 warning, with an "inform".
1023 (should_warn_for_misleading_indentation): Add location_t argument
1024 for all uses of get_visual_column.
1025
b933e511 10262016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1027
1028 PR c++/69029
1029 * c-indentation.c (should_warn_for_misleading_indentation):
1030 Don't warn about do-while statements.
1031
517906ff 10322016-01-07 Martin Sebor <msebor@redhat.com>
1033
1034 PR c/68966
1035 * c-common.c (sync_resolve_size): Reject first argument when it's
1036 a pointer to _Bool.
1037
d42aa619 10382016-01-05 David Malcolm <dmalcolm@redhat.com>
1039
1040 PR c/69122
1041 * c-indentation.c (get_visual_column): Remove default argument.
1042 (should_warn_for_misleading_indentation): For the multiline case,
1043 update call to get_visual_column for next_stmt_exploc so that it
1044 captures the location of the first non-whitespace character in the
1045 relevant line. Don't issue warnings if there is non-whitespace
1046 before the next statement.
1047
f1717362 10482016-01-04 Jakub Jelinek <jakub@redhat.com>
1049
1050 Update copyright years.
1051
c0bf500c 10522015-12-21 David Malcolm <dmalcolm@redhat.com>
1053
1054 * c-common.c (binary_op_error): Convert first param from
1055 location_t to rich_location * and use it when emitting an error.
1056 * c-common.h (binary_op_error): Convert first param from
1057 location_t to rich_location *.
1058
dbd79382 10592015-12-16 David Malcolm <dmalcolm@redhat.com>
1060
1061 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1062 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1063
c0998828 10642015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1065
1066 * c-common.c (c_common_attribute_table): Handle "omp declare target
1067 link" attribute.
1068
7ca909c6 10692015-12-14 Jakub Jelinek <jakub@redhat.com>
1070
1071 PR c/68833
1072 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1073
d9102cbe 10742014-12-12 Tobias Burnus <burnus@net-b.de>
1075
1076 PR fortran/68815
1077 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1078 specifiers (%d, %i,%u and %c).
1079
a515ebdf 10802015-12-10 David Malcolm <dmalcolm@redhat.com>
1081
1082 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1083
31ba81bd 10842015-12-08 Jakub Jelinek <jakub@redhat.com>
1085
1086 PR c/48088
1087 PR c/68657
1088 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1089 * c-pragma.c (handle_pragma_diagnostic): Adjust
1090 control_warning_option caller.
1091
d0f713f4 10922015-12-07 David Malcolm <dmalcolm@redhat.com>
1093
1094 * c-common.c (c_cpp_error): Update for change to
1095 rich_location::set_range.
1096
32d050b5 10972015-12-04 Paolo Bonzini <bonzini@gnu.org>
1098
1099 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1100 shifting 1 out of the sign bit.
1101
11022015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1103
1104 * c-common.c (c_common_attribute_table[]): Update max arguments
1105 count for "simd" attribute.
1106 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1107
6a8fbd7a 11082015-12-03 Jakub Jelinek <jakub@redhat.com>
1109
1110 PR preprocessor/57580
1111 * c-ppoutput.c (print): Change printed field to bool.
1112 Move src_file last for smaller padding.
1113 (init_pp_output): Set print.printed to false instead of 0.
1114 (scan_translation_unit): Fix up formatting. Set print.printed
1115 to true after printing something other than newline.
1116 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1117 (maybe_print_line_1): Set print.printed to false instead of 0.
1118 (print_line_1): Likewise.
1119 (do_line_change): Set print.printed to true instead of 1.
1120 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1121 dump_macro): Set print.printed to false after printing newline.
1122
da562e32 11232015-12-02 Jason Merrill <jason@redhat.com>
1124
9c691dbd 1125 * c-common.c (fold_for_warn): New.
1126 (warn_logical_operator, warn_tautological_cmp)
1127 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1128
da562e32 1129 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1130 (c_fully_fold_internal, decl_constant_value_for_optimization):
1131 Move to c/c-fold.c.
1132 * c-common.h: Don't declare decl_constant_value_for_optimization.
1133
89f16034 11342015-12-02 Joseph Myers <joseph@codesourcery.com>
1135
1136 PR c/68162
1137 * c-common.h (c_build_qualified_type): Add extra default
1138 arguments.
1139
571b3486 11402015-12-01 Julian Brown <julian@codesourcery.com>
1141 Cesar Philippidis <cesar@codesourcery.com>
1142 James Norris <James_Norris@mentor.com>
1143
1144 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1145 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1146 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1147
ed92a461 11482015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1149
1150 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1151 (decl_sloc_common): Delete and move bulk of processing to...
1152 (decl_sloc): ...here.
1153 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1154 (dump_ada_double_name): Remove S parameter and compute the suffix.
1155 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1156 element type and deal with an anonymous one.
1157 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1158 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1159 and remove reference to QUAL_UNION_TYPE.
1160 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1161 (dump_nested_type): ...here. New function extracted from above.
1162 Generate a full declaration for anonymous element type of arrays.
1163 (print_ada_declaration): Really skip anonymous declarations. Remove
1164 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1165 Clean up processing of declarations of array types and objects.
1166 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1167 Remove obsolete code and tidy up.
1168
c25b3e3f 11692015-11-29 Jan Hubicka <hubicka@ucw.cz>
1170
1171 PR c/67581
1172 * c-common.c (handle_transparent_union_attribute): Update
1173 also type variants.
1174
d4e328e9 11752015-11-27 Martin Liska <mliska@suse.cz>
1176
1177 PR c++/68312
1178 * array-notation-common.c (cilkplus_extract_an_triplets):
1179 Release vector of vectors.
1180 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1181
f63d9c4e 11822015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1183
1184 PR c++/68527
1185 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1186 (print_ada_struct_decl): Likewise.
1187
8d63c601 11882015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1189
1190 PR c++/68001
1191 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1192 * cilk.c (recognize_spawn): Determine location in a more precise
1193 way.
1194
01f11119 11952015-11-19 Jason Merrill <jason@redhat.com>
1196
1197 * c-common.c (shorten_compare): But look through macros from
1198 system headers.
1199
2d3d3af7 12002015-11-18 Jason Merrill <jason@redhat.com>
1201
1202 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1203 non-constant operand comes from a macro.
1204
7991eeee 12052015-11-17 Jason Merrill <jason@redhat.com>
1206
1207 PR bootstrap/68346
1208 * c-common.c (warn_tautological_cmp): Fold before checking for
1209 constants.
1210
73f67931 12112015-11-16 Marek Polacek <polacek@redhat.com>
1212
1213 PR c++/68362
1214 * c-common.c (check_case_bounds): Fold low and high cases.
1215
8e539fdc 12162015-11-16 Marek Polacek <polacek@redhat.com>
1217
1218 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1219 * c-common.c (c_common_get_alias_set): Likewise.
1220 (handle_visibility_attribute): Likewise.
1221
c58a4cfd 12222015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1223
1224 * c-common.c (handle_simd_attribute): New.
1225 (struct attribute_spec): Add entry for "simd".
1226 (handle_simd_attribute): New.
1227
bb036391 12282015-11-13 Kai Tietz <ktietz70@googlemail.com>
1229
1230 * c-lex.c (interpret_float): Use fold_convert.
1231
a96cefb2 12322015-11-13 David Malcolm <dmalcolm@redhat.com>
1233
1234 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1235 and store it on the result.
1236 * c-opts.c (c_common_init_options): Set
1237 global_dc->colorize_source_p.
1238
2fc5e987 12392015-11-12 James Norris <jnorris@codesourcery.com>
1240 Joseph Myers <joseph@codesourcery.com>
1241
1242 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1243 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1244 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1245 PRAGMA_OACC_CLAUSE_LINK.
1246
81b1b2a8 12472015-11-11 Marek Polacek <polacek@redhat.com>
1248
1249 PR c/68107
1250 PR c++/68266
1251 * c-common.c (valid_array_size_p): New function.
1252 * c-common.h (valid_array_size_p): Declare.
1253
92a44a68 12542015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 1255
1256 PR bootstrap/68271
1257 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1258
6e803544 12592015-11-11 Andrew MacLeod <amacleod@redhat.com>
1260
1261 * array-notation-common.c: Remove unused header files.
1262 * c-ada-spec.c: Likewise.
1263 * c-cilkplus.c: Likewise.
1264 * c-common.c: Likewise.
1265 * c-cppbuiltin.c: Likewise.
1266 * c-dump.c: Likewise.
1267 * c-format.c: Likewise.
1268 * c-gimplify.c: Likewise.
1269 * c-indentation.c: Likewise.
1270 * c-lex.c: Likewise.
1271 * c-omp.c: Likewise.
1272 * c-opts.c: Likewise.
1273 * c-pch.c: Likewise.
1274 * c-ppoutput.c: Likewise.
1275 * c-pragma.c: Likewise.
1276 * c-pretty-print.c: Likewise.
1277 * c-semantics.c: Likewise.
1278 * c-ubsan.c: Likewise.
1279 * cilk.c: Likewise.
1280 * stub-objc.c: Likewise.
1281
a1b7fe4b 12822015-11-09 Thomas Schwinge <thomas@codesourcery.com>
1283 Cesar Philippidis <cesar@codesourcery.com>
1284 James Norris <jnorris@codesourcery.com>
1285 Julian Brown <julian@codesourcery.com>
1286 Nathan Sidwell <nathan@codesourcery.com>
1287
1288 * c-pragma.c (oacc_pragmas): Add "routine".
1289 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
1290
292237f3 12912015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1292
1293 * c-common.c (c_common_attributes): Add scalar_storage_order.
1294 (handle_scalar_storage_order_attribute): New function.
1295 * c-pragma.c (global_sso): New variable.
1296 (maybe_apply_pragma_scalar_storage_order): New function.
1297 (handle_pragma_scalar_storage_order): Likewise.
1298 (init_pragma): Register scalar_storage_order.
1299 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
1300 * c.opt (Wscalar-storage-order): New warning.
1301 (fsso-struct=): New option.
1302
b4a4c5fa 13032015-11-08 Martin Sebor <msebor@redhat.com>
1304
1305 * c.opt (Wplacement-new): Add a period to the end of a sentence.
1306
ac677063 13072015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1308
1309 * c-common.c: Don't undef DEF_BUILTIN.
1310
f0479000 13112015-11-06 David Malcolm <dmalcolm@redhat.com>
1312
1313 * c-common.c (c_cpp_error): Convert parameter from location_t to
1314 rich_location *. Eliminate the "column_override" parameter and
1315 the call to diagnostic_override_column.
1316 Update the "done_lexing" clause to set range 0
1317 on the rich_location, rather than overwriting a location_t.
1318 * c-common.h (c_cpp_error): Convert parameter from location_t to
1319 rich_location *. Eliminate the "column_override" parameter.
1320
ef014f95 13212015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1322 Thomas Schwinge <thomas@codesourcery.com>
1323 James Norris <jnorris@codesourcery.com>
1324
1325 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
1326 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
1327 clauses with parallel and kernels and loops.
1328 * c-pragma.h (enum pragma_omp_clause): Add entries for
1329 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
1330 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
1331 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
1332 INDEPENDENT,SEQ}.
1333 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
1334
e520488c 13352015-11-05 Martin Sebor <msebor@redhat.com>
1336
1337 PR c++/67942
1338 * c.opt (-Wplacement-new): New option.
1339
9561765e 13402015-11-05 Jakub Jelinek <jakub@redhat.com>
1341
1342 * c-common.h (c_finish_omp_atomic): Add TEST argument.
1343 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
1344 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
1345 save_expr or create_tmp_var* if TEST is true.
1346 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
1347 Don't call add_stmt here.
1348 (struct c_omp_check_loop_iv_data): New type.
1349 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
1350 c_omp_check_loop_iv_exprs): New functions.
1351 (c_omp_split_clauses): Adjust for lastprivate being allowed on
1352 distribute.
1353 (c_omp_declare_simd_clauses_to_numbers): Change
1354 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
1355 (c_omp_declare_simd_clauses_to_decls): Similarly change those
1356 from numbers to PARM_DECLs.
1357
5e8689fb 13582015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1359
1360 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
1361 flag_checking.
1362
92a44a68 13632015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 1364
1365 PR c++-common/67882
32d050b5 1366 * c-common.h (fold_offsetof_1): Add argument.
1367 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 1368 offsetof expressions that reference elements past the end of
1369 an array.
1370
9e10bfb7 13712015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1372 Chung-Lin Tang <cltang@codesourcery.com>
1373
1374 * c-pragma.c (oacc_pragmas): Add "atomic".
1375 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
1376
ab50af2a 13772015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1378
1379 * c-common.c (handle_target_clones_attribute): New.
1380 (c_common_attribute_table): Add handle_target_clones_attribute.
1381 (handle_always_inline_attribute): Add check on target_clones attribute.
1382 (handle_target_attribute): Ditto.
1383
4cba6f60 13842015-10-29 Andrew MacLeod <amacleod@redhat.com>
1385
1386 * array-notation-common.c: Reorder #include's and remove duplicates.
1387 * c-ada-spec.c: Likewise.
1388 * c-cilkplus.c: Likewise.
1389 * c-common.c: Likewise.
1390 * c-cppbuiltin.c: Likewise.
1391 * c-dump.c: Likewise.
1392 * c-format.c: Likewise.
1393 * c-gimplify.c: Likewise.
1394 * c-indentation.c: Likewise.
1395 * c-lex.c: Likewise.
1396 * c-omp.c: Likewise.
1397 * c-opts.c: Likewise.
1398 * c-pch.c: Likewise.
1399 * c-ppoutput.c: Likewise.
1400 * c-pragma.c: Likewise.
1401 * c-pretty-print.c: Likewise.
1402 * c-semantics.c: Likewise.
1403 * c-ubsan.c: Likewise.
1404 * cilk.c: Likewise.
1405 * stub-objc.c: Likewise.
1406
f576a2e4 14072015-10-28 Jason Merrill <jason@redhat.com>
1408
1409 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
1410
2c4c8725 14112015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1412 James Norris <jnorris@codesourcery.com>
1413 Cesar Philippidis <cesar@codesourcery.com>
1414
1415 PR c/64765
1416 PR c/64880
1417 * c-common.h (c_oacc_split_loop_clauses): Declare function.
1418 * c-omp.c (c_oacc_split_loop_clauses): New function.
1419
8204c077 14202015-10-21 Martin Sebor <msebor@redhat.com>
1421
1422 PR driver/68043
1423 * c.opt: End each sentence that describes an option with a period.
1424
8523243e 14252015-10-20 Marek Polacek <polacek@redhat.com>
1426
1427 * array-notation-common.c (is_cilkplus_vector_p): Define.
1428 * c-common.h (is_cilkplus_vector_p): Declare.
1429
08881cb8 14302015-10-20 Marek Polacek <polacek@redhat.com>
1431
1432 * c.opt (std=gnu++11): Do not describe as experimental.
1433 (std=gnu++14): Likewise.
1434
a36e5e5e 14352015-10-19 Jason Merrill <jason@redhat.com>
1436
1437 * c-cppbuiltin.c (c_cpp_builtins): Define
1438 __cpp_nontype_template_args.
1439
a349de0a 14402015-10-19 Jason Merrill <jason@redhat.com>
1441
1442 * c-cppbuiltin.c (c_cpp_builtins): Define
1443 __cpp_enumerator_attributes, __cpp_fold_expressions,
1444 __cpp_unicode_characters.
1445
43895be5 14462015-10-13 Jakub Jelinek <jakub@redhat.com>
1447 Aldy Hernandez <aldyh@redhat.com>
1448
1449 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
1450 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
1451 (c_define_builtins): Likewise.
1452 * c-common.h (enum c_omp_clause_split): Add
1453 C_OMP_CLAUSE_SPLIT_TASKLOOP.
1454 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
1455 (c_finish_omp_for): Add ORIG_DECLV argument.
1456 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
1457 201511 instead of 201307.
1458 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
1459 OMP_CRITICAL_CLAUSES to it.
1460 (c_finish_omp_ordered): Add CLAUSES argument, set
1461 OMP_ORDERED_CLAUSES to it.
1462 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
1463 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
1464 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
1465 constructs and new OpenMP 4.5 clauses. Clear
1466 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
1467 verification code.
1468 * c-pragma.c (omp_pragmas_simd): Add taskloop.
1469 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
1470 (enum pragma_omp_clause): Add
1471 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
1472 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
1473
20cb53c9 14742015-10-05 Richard Sandiford <richard.sandiford@arm.com>
1475
1476 * c-lex.c (interpret_float): Use real_equal instead of
1477 REAL_VALUES_EQUAL.
1478
6d02e6b2 14792015-10-04 Jason Merrill <jason@redhat.com>
1480
1481 Implement N4514, C++ Extensions for Transactional Memory.
1482 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
1483 (c_common_attribute_table): Add transaction_safe_dynamic.
1484 transaction_safe now affects type identity.
1485 (handle_tm_attribute): Handle transaction_safe_dynamic.
1486 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
1487 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
1488 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
1489 (D_TRANSMEM): New.
1490 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
1491 * c-pretty-print.c (pp_c_attributes_display): Don't print
1492 transaction_safe in C++.
1493
c0999a5d 14942015-10-02 Marek Polacek <polacek@redhat.com>
1495
1496 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
1497
ef17a71a 14982015-10-02 Marek Polacek <polacek@redhat.com>
1499
1500 PR c/64249
1501 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
1502 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
1503 * c.opt (Wduplicated-cond): New option.
1504
05b84e7b 15052015-10-01 Joseph Myers <joseph@codesourcery.com>
1506
1507 * c.opt (std=c11): Do not describe as experimental.
1508 (std=gnu11): Likewise.
1509 (std=iso9899:2011): Likewise.
1510
e561d5e1 15112015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1512
1513 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
1514 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1515
bd4b90d2 15162015-09-25 Marek Polacek <polacek@redhat.com>
1517
1518 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
1519 (ubsan_instrument_shift): Likewise.
1520
ac13b2b2 15212015-09-25 Marek Polacek <polacek@redhat.com>
1522
1523 PR sanitizer/64906
1524 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
1525
a3c82f4c 15262015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
1527
1528 * c-indentation.c (should_warn_for_misleading_indentation):
1529 Compare next_stmt_vis_column with guard_line_first_nws instead
1530 of with guard_line_vis_column.
1531
5eef101d 15322015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1533
1534 PR c/49654
1535 PR c/49655
1536 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
1537 options and options not valid for the current language.
1538
60897493 15392015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
1540
1541 * c-indentation.c (should_warn_for_misleading_indentation):
1542 Float out and consolidate the calls to get_visual_column that
1543 are passed guard_exploc as an argument. Compare
1544 next_stmt_vis_column with guard_line_first_nws instead of with
1545 body_line_first_nws.
1546
85c93154 15472015-09-22 Nathan Sidwell <nathan@codesourcery.com>
1548
1549 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
1550 Wnamespaces): New C++ warnings.
1551
229a58b1 15522015-09-22 Jason Merrill <jason@redhat.com>
1553
1554 * c-common.h (abi_compat_version_crosses): New.
1555 (warn_abi_version): Declare.
1556 * c-common.c: Define it.
1557 * c-opts.c (c_common_post_options): Handle it.
1558 flag_abi_compat_version defaults to 8.
1559
2d2de569 15602015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1561
1562 Complete the implementation of N4230, Nested namespace definition.
1563 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
1564 __cpp_nested_namespace_definitions.
1565
2b897e68 15662015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1567
1568 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
1569
ed536208 15702015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1571
1572 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
1573 when warning.
1574 * c-pragma.h (pragma_lex): Add optional loc argument.
1575
1dc6c44d 15762015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
1577
1578 * c-format.c (check_format_arg): Adjust to use common block size in all
1579 object pools.
1580
be812248 15812015-09-15 David Malcolm <dmalcolm@redhat.com>
1582
1583 * c-format.c (location_from_offset): Update for change in
1584 signature of location_get_source_line.
1585 * c-indentation.c (get_visual_column): Likewise.
1586 (line_contains_hash_if): Likewise.
1587
e4cc057f 15882015-09-14 Marek Polacek <polacek@redhat.com>
1589
1590 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
1591 setting various warnings.
1592
85f5e2ee 15932015-09-14 Marek Polacek <polacek@redhat.com>
1594
1595 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
1596 a negative value.
1597
1bca8cbd 15982015-09-11 Mark Wielaard <mjw@redhat.com>
1599
1600 PR c/28901
1601 * c.opt (Wunused-variable): Option from common.opt.
1602 (Wunused-const-variable): New option.
1603
ee48893a 16042015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1605
1606 PR c++/53184
1607 * c.opt ([Wsubobject-linkage]): Add.
1608
547c6b1f 16092015-09-03 Martin Sebor <msebor@redhat.com>
1610
1611 PR c/66516
1612 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
1613 functions.
1614 * c-common.c (reject_gcc_builtin): Define.
1615
7e976b10 16162015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
1617
1618 PR middle-end/60586
1619 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
1620 prototype.
1621 * c-gimplify.c (c_gimplify_expr): Added a call to the function
1622 cilk_gimplify_call_params_in_spawned_fn.
1623 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
1624 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
1625 unwrapping.
1626
9e6bcade 16272015-08-25 Marek Polacek <polacek@redhat.com>
1628
1629 PR middle-end/67330
1630 * c-common.c (handle_weak_attribute): Don't check whether the
1631 visibility can be changed here.
1632
af9de21d 16332015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1634
1635 * c-lex.c (c_lex_with_flags): Use explicit locations.
1636
6dc50383 16372015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1638
1639 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
1640 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
1641
10902624 16422015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1643
1644 PR middle-end/36757
1645 * c-common.c (check_builtin_function_arguments): Add check
1646 for BUILT_IN_SIGNBIT argument.
1647
a03a71ab 16482015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
1649
1650 PR c++/67160
1651 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
1652 in c++1z mode.
1653
22723c26 16542015-08-17 Marek Polacek <polacek@redhat.com>
1655
1656 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
1657 with whitespaces before qualifier names.
1658
f4809955 16592015-08-12 Marek Polacek <polacek@redhat.com>
1660
1661 PR c++/55095
1662 * c-common.c (maybe_warn_shift_overflow): Properly handle
1663 left-shifting 1 into the sign bit.
1664
5463f502 16652015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1666
1667 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
1668
56c12fd4 16692015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
1670 Braden Obrzut <admin@maniacsvault.net>
1671 Jason Merrill <jason@redhat.com>
1672
1673 Add C++ Concepts TS support.
1674 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
1675 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
1676 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
1677 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
1678 * c-opts.c (set_std_cxx1z): Set flag_concepts.
1679 * c.opt (fconcepts): New.
1680
32d050b5 16812015-08-02 Martin Sebor <msebor@redhat.com>
1682
1683 * c.opt (-Wframe-address): New warning option.
1684
17afcef6 16852015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1686
1687 * c-indentation.c (should_warn_for_misleading_indentation):
1688 Improve heuristics.
1689
f95bfdd4 16902015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1691
1692 * c-indentation.c (get_visual_column): Add parameter first_nws,
1693 use it. Update comment documenting the function.
1694 (is_first_nonwhitespace_on_line): Remove.
1695 (should_warn_for_misleading_indentation): Replace usage of
1696 of is_first_nonwhitespace_on_line with get_visual_column.
1697
9255be07 16982015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1699
1700 * c-indentation.h (struct token_indent_info): Define.
1701 (get_token_indent_info): Define.
1702 (warn_for_misleading_information): Declare.
1703 * c-common.h (warn_for_misleading_information): Remove.
1704 * c-identation.c (warn_for_misleading_indentation):
1705 Change declaration to take three token_indent_infos. Adjust
1706 accordingly.
1707 * c-identation.c (should_warn_for_misleading_indentation):
1708 Likewise. Bail out early if the body is a compound statement.
1709 (guard_tinfo_to_string): Define.
1710
e880695c 17112015-07-30 Jason Merrill <jason@redhat.com>
1712
1713 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
1714 '*' for reference decay.
1715
f58dd84b 17162015-07-30 Marek Polacek <polacek@redhat.com>
1717
1718 * c-common.c (warn_tautological_cmp): Bail for float types.
1719
d9e4fe27 17202015-07-27 Marek Polacek <polacek@redhat.com>
1721
1722 PR bootstrap/67030
1723 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
1724
6784a472 17252015-07-27 Marek Polacek <polacek@redhat.com>
1726
1727 PR c++/66555
1728 PR c/54979
1729 * c-common.c (find_array_ref_with_const_idx_r): New function.
1730 (warn_tautological_cmp): New function.
1731 * c-common.h (warn_tautological_cmp): Declare.
1732 * c.opt (Wtautological-compare): New option.
1733
08034975 17342015-07-23 Marek Polacek <polacek@redhat.com>
1735
1736 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
1737 (ubsan_instrument_shift): Likewise.
1738
f6f5e49b 17392015-07-23 Marek Polacek <polacek@redhat.com>
1740
1741 PR sanitizer/66908
1742 * c-ubsan.c: Include gimplify.h.
1743 (ubsan_instrument_division): Unshare OP0 and OP1.
1744 (ubsan_instrument_shift): Likewise.
1745
8d669e79 17462015-07-20 Marek Polacek <polacek@redhat.com>
1747 Richard Sandiford <richard.sandiford@arm.com>
1748
1749 PR c++/55095
1750 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
1751 Use EXPR_LOC_OR_LOC.
1752 (maybe_warn_shift_overflow): New function.
1753 * c-common.h (maybe_warn_shift_overflow): Declare.
1754 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
1755 * c.opt (Wshift-overflow): New option.
1756
e16712b1 17572015-07-16 Martin Liska <mliska@suse.cz>
1758
1759 * c-format.c (static void check_format_info_main): Use
1760 object_allocator instead of pool_allocator.
1761 (check_format_arg): Likewise.
1762 (check_format_info_main): Likewise.
1763
e51764ad 17642015-07-15 Andrew MacLeod <amacleod@redhat.com>
1765
1766 * c-opts.c: Remove multiline #include comment.
1767
47ae02b7 17682015-07-12 Aldy Hernandez <aldyh@redhat.com>
1769
1770 * c-common.c: Fix double word typos.
1771
ed2b2eb2 17722015-07-10 Eric Botcazou <ebotcazou@adacore.com>
1773
1774 * c-ada-spec.h (cpp_operation): Revert latest change.
1775 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
1776 constructors and destructors.
1777
1eacc14a 17782015-07-09 Andrew MacLeod <amacleod@redhat.com>
1779
1780 * c-common.h: Adjust includes for flags.h changes.
1781 * stub-objc.c: Likewise.
47ae02b7 1782
0124237f 17832015-07-08 Eric Botcazou <ebotcazou@adacore.com>
1784
1785 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
1786 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
1787
386ef929 17882015-07-08 Jakub Jelinek <jakub@redhat.com>
1789
1790 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
1791 are to be removed, return NULL rather than original clauses list.
1792
9ef16211 17932015-07-07 Andrew MacLeod <amacleod@redhat.com>
1794
1795 * array-notation-common.c: Adjust includes.
1796 * c-ada-spec.c: Likewise.
1797 * c-cilkplus.c: Likewise.
1798 * c-common.h: Likewise.
1799 * c-cppbuiltin.c: Likewise.
1800 * c-dump.c: Likewise.
1801 * c-format.c: Likewise.
1802 * c-gimplify.c: Likewise.
1803 * c-indentation.c: Likewise.
1804 * c-lex.c: Likewise.
1805 * c-omp.c: Likewise.
1806 * c-opts.c: Likewise.
1807 * c-pch.c: Likewise.
1808 * c-ppoutput.c: Likewise.
1809 * c-pragma.c: Likewise.
1810 * c-pretty-print.c: Likewise.
1811 * c-semantics.c: Likewise.
1812 * c-ubsan.c: Likewise.
1813 * cilk.c: Likewise.
1814 * stub-objc.c: Likewise.
1815
67ede3e4 18162015-07-07 Eric Botcazou <ebotcazou@adacore.com>
1817
1818 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
1819 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
1820
42af8c2a 18212015-07-01 Jason Merrill <jason@redhat.com>
1822
fa769cc5 1823 * c-common.h (D_CXX11): Rename from D_CXX0X.
1824 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
1825 * c-common.c: Adjust.
1826
97e9c847 1827 * c-opts.c (c_common_post_options): Default to C++14.
1828
42af8c2a 1829 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
1830
30b1ba42 18312015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
1832
1833 Implement N4197 - Adding u8 character literals
32d050b5 1834 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 1835 CPP_CHAR.
32d050b5 1836 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 1837 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 1838 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 1839 and CPP_UTF8CHAR tokens.
1840 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 1841
0949f227 18422015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1843
1844 PR fortran/66605
1845 * c-common.c (do_warn_unused_parameter): Move here.
1846 * c-common.h (do_warn_unused_parameter): Declare.
1847
be23b16f 18482015-06-29 Marek Polacek <polacek@redhat.com>
1849
1850 PR c/66322
1851 * c-common.c (check_case_bounds): Add bool * parameter. Set
1852 OUTSIDE_RANGE_P.
1853 (c_add_case_label): Add bool * parameter. Pass it down to
1854 check_case_bounds.
1855 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
1856 warning here.
1857 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
1858 declarations.
1859
6290f0db 18602015-06-27 Marek Polacek <polacek@redhat.com>
1861
1862 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
1863 or VECTOR_INTEGER_TYPE_P throughout.
1864 * c-gimplify.c: Likewise.
1865
aa3e402e 18662015-06-26 Marek Polacek <polacek@redhat.com>
1867
1868 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
1869 * c-common.c (c_fully_fold_internal): Likewise.
1870 (c_alignof_expr): Likewise.
1871 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
1872 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 1873 * cilk.c (create_parm_list): Likewise.
aa3e402e 1874
4e81b384 18752015-06-26 Marek Polacek <polacek@redhat.com>
1876
1877 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
1878
ec2e0095 18792015-06-25 Andrew MacLeod <amacleod@redhat.com>
1880
1881 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
1882 * c-gimplify.c: Likewise.
1883 * c-pragma.c: Likewise.
1884 * c-ubsan.c: Likewise.
1885 * cilk.c: Likewise.
1886
b594087e 18872015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1888
1889 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
1890 ggc_hasher.
1891
a3c76fda 18922015-06-25 Andrew MacLeod <amacleod@redhat.com>
1893
1894 * cilk.c: Move calls.h after tm.h in the include chain.
1895
f48c7f4a 18962015-06-25 Marek Polacek <polacek@redhat.com>
1897
1898 * array-notation-common.c: Use VAR_P throughout.
1899 * c-ada-spec.c: Likewise.
1900 * c-common.c: Likewise.
1901 * c-format.c: Likewise.
1902 * c-gimplify.c: Likewise.
1903 * c-omp.c: Likewise.
1904 * c-pragma.c: Likewise.
1905 * c-pretty-print.c: Likewise.
1906 * cilk.c: Likewise.
1907
ce41e81a 19082015-06-25 Marek Polacek <polacek@redhat.com>
1909
1910 * cilk.c (extract_free_variables): Use is_global_var.
1911
de231ec2 19122015-06-23 Richard Sandiford <richard.sandiford@arm.com>
1913
1914 * c-common.c: Don't include target-def.h.
1915
0200602e 19162015-06-23 Marek Polacek <polacek@redhat.com>
1917
1918 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
1919 when comparing INTEGER_CSTs.
1920
99838ed7 19212015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
1922
1923 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
1924 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
1925 (dump_ada_template): Skip partially specialized types.
1926
a4f59596 19272015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
1928
1929 * c-common.c (scalar_to_vector): Use std::swap instead of manually
1930 swapping.
1931
f2ab3bac 19322015-06-17 Andrew MacLeod <amacleod@redhat.com>
1933
1934 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
1935 * c-ada-spec.c: Likewise.
1936 * c-cilkplus.c: Likewise.
1937 * c-common.c: Likewise.
1938 * c-common.h: Likewise.
1939 * c-cppbuiltin.c: Likewise.
1940 * c-dump.c: Likewise.
1941 * c-format.c: Likewise.
1942 * c-gimplify.c: Likewise.
1943 * c-indentation.c: Likewise.
1944 * c-lex.c: Likewise.
1945 * c-omp.c: Likewise.
1946 * c-opts.c: Likewise.
1947 * c-pch.c: Likewise.
1948 * c-ppoutput.c: Likewise.
1949 * c-pragma.c: Likewise.
1950 * c-pretty-print.c: Likewise.
1951 * c-semantics.c: Likewise.
1952 * c-ubsan.c: Likewise.
1953 * cilk.c: Likewise.
1954 * stub-objc.c: Likewise.
1955
db3d1ffc 19562015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
1957
1958 PR c++/65168
1959 * c-common.c (c_common_truthvalue_conversion): Warn when
1960 converting an address of a reference to a truth value.
1961
64486212 19622015-06-08 Andrew MacLeod <amacleod@redhat.com>
1963
1964 * array-notation-common.c : Adjust include files.
1965 * c-ada-spec.c : Likewise.
1966 * c-cilkplus.c : Likewise.
1967 * c-common.c : Likewise.
1968 * c-common.h : Likewise.
1969 * c-cppbuiltin.c : Likewise.
1970 * c-dump.c : Likewise.
1971 * c-format.c : Likewise.
1972 * c-gimplify.c : Likewise.
1973 * c-indentation.c : Likewise.
1974 * c-lex.c : Likewise.
1975 * c-omp.c : Likewise.
1976 * c-opts.c : Likewise.
1977 * c-pch.c : Likewise.
1978 * c-ppoutput.c : Likewise.
1979 * c-pragma.c : Likewise.
1980 * c-pretty-print.c : Likewise.
1981 * c-semantics.c : Likewise.
1982 * c-ubsan.c : Likewise.
1983 * cilk.c : Likewise.
1984 * stub-objc.c : Likewise.
1985
6e84ccad 19862015-06-08 Marek Polacek <polacek@redhat.com>
1987
1988 PR c/66415
1989 * c-format.c (location_from_offset): Return LOC if LINE is null.
1990
3a1c9df2 19912015-06-05 Aldy Hernandez <aldyh@redhat.com>
1992
1993 * c-common.h (c_parse_final_cleanups): New prototype.
1994 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
1995
32d050b5 19962015-06-04 Sriraman Tallam <tmsriram@google.com>
1997
1998 * c-common.c (noplt): New attribute.
1999 (handle_noplt_attribute): New handler.
2000
f77c0292 20012015-06-04 Andrew MacLeod <amacleod@redhat.com>
2002
2003 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2004 * c-ada-spec.c: Likewise.
2005 * c-cilkplus.c: Likewise.
2006 * c-common.c: Likewise.
2007 * c-common.h: Likewise.
2008 * c-cppbuiltin.c: Likewise.
2009 * c-dump.c: Likewise.
2010 * c-format.c: Likewise.
2011 * c-gimplify.c: Likewise.
2012 * c-indentation.c: Likewise.
2013 * c-lex.c: Likewise.
2014 * c-omp.c: Likewise.
2015 * c-opts.c: Likewise.
2016 * c-pch.c: Likewise.
2017 * c-ppoutput.c: Likewise.
2018 * c-pragma.c: Likewise.
2019 * c-pretty-print.c: Likewise.
2020 * c-semantics.c: Likewise.
2021 * c-ubsan.c: Likewise.
2022 * cilk.c: Likewise.
2023 * stub-objc.c: Likewise.
2024
7c62dfbb 20252015-06-02 David Malcolm <dmalcolm@redhat.com>
2026
2027 PR c/66220:
2028 * c-indentation.c (should_warn_for_misleading_indentation): Use
2029 expand_location rather than expand_location_to_spelling_point.
2030 Don't warn if the guarding statement is more indented than the
2031 next/body stmts.
2032
9af7c176 20332015-06-02 David Malcolm <dmalcolm@redhat.com>
2034
2035 * c-indentation.c (warn_for_misleading_indentation): Bail out
2036 immediately if -Wmisleading-indentation isn't enabled.
2037
eebcf436 20382015-06-01 Martin Liska <mliska@suse.cz>
2039
2040 * c-format.c (check_format_arg):Use new type-based pool allocator.
2041 (check_format_info_main) Likewise.
2042
b0a23e2f 20432015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2044
2045 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2046 (has_nontrivial_methods): Likewise.
2047
63dc1330 20482015-05-25 Marek Polacek <polacek@redhat.com>
2049
2050 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2051
5a4c69dd 20522015-05-22 Marek Polacek <polacek@redhat.com>
2053
2054 PR c/47043
2055 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2056
044580bb 20572015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 2058
2059 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2060 STACK_GROWS_DOWNWARD.
2061
044580bb 20622015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 2063
2064 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2065 STACK_GROWS_DOWNWARD rather than if it is defined.
2066
d5a2ddc7 20672015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 2068
d5a2ddc7 2069 PR c/52952
2070 * c-format.c (location_column_from_byte_offset): New.
2071 (location_from_offset): New.
2072 (struct format_wanted_type): Add offset_loc field.
2073 (check_format_info): Move handling of location for extra arguments
2074 closer to the point of warning.
2075 (check_format_info_main): Pass the result of location_from_offset
2076 to warning_at.
2077 (format_type_warning): Pass the result of location_from_offset
2078 to warning_at.
2079
72f8014e 20802015-05-20 Marek Polacek <polacek@redhat.com>
2081
2082 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2083
74efe522 20842015-05-20 Marek Polacek <polacek@redhat.com>
2085
2086 * c-ada-spec.c (dump_sloc): Use DECL_P.
2087
b443c459 20882015-05-20 Marek Polacek <polacek@redhat.com>
2089
2090 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2091 * c-common.c: Likewise.
2092
551e34da 20932015-05-19 David Malcolm <dmalcolm@redhat.com>
2094
2095 * c-common.h (fe_file_change): Strengthen param from
2096 const line_map * to const line_map_ordinary *.
2097 (pp_file_change): Likewise.
2098 * c-lex.c (fe_file_change): Likewise.
2099 (cb_define): Use linemap_check_ordinary when invoking
2100 SOURCE_LINE.
2101 (cb_undef): Likewise.
2102 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2103 invoking cb_file_change.
2104 (c_finish_options): Likewise.
2105 (push_command_line_include): Likewise.
2106 (cb_file_change): Strengthen param "new_map" from
2107 const line_map * to const line_map_ordinary *.
2108 * c-ppoutput.c (cb_define): Likewise for local "map".
2109 (pp_file_change): Likewise for param "map" and local "from".
2110
dfcf26a5 21112015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2112
2113 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2114
2e474820 21152015-05-18 Tom de Vries <tom@codesourcery.com>
2116
2117 * c-common.c (build_va_arg_1): New function.
2118 (build_va_arg): Add address operator to va_list operand if necessary.
2119
e53013a8 21202015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2121
2122 PR c/48956
2123 * c-common.c (int_safely_convertible_to_real_p): Define.
2124 (unsafe_conversion_p): Check conversions involving complex types.
2125 (conversion_warning): Add new warning message for conversions which
2126 discard imaginary component.
2127 * c-common.h: (enum conversion_safety): Add new enumerator for such
2128 conversions.
2129
aac24642 21302015-05-14 Marek Polacek <polacek@redhat.com>
2131
2132 PR c/66066
2133 PR c/66127
2134 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2135 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2136 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2137 use it. If FOR_INT_CONST, require that all evaluated operands be
2138 INTEGER_CSTs.
2139
e5f01cba 21402015-05-12 David Malcolm <dmalcolm@redhat.com>
2141
2142 * c-common.h (warn_for_misleading_indentation): New prototype.
2143 * c-indentation.c: New file.
2144 * c.opt (Wmisleading-indentation): New option.
2145
c37be9ec 21462015-05-12 Tom de Vries <tom@codesourcery.com>
2147
2148 PR tree-optimization/66010
2149 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2150
7290114b 21512015-05-09 Jason Merrill <jason@redhat.com>
2152
3c665566 2153 * c-opts.c (c_common_post_options): Also clear
2154 cpp_opts->cpp_warn_cxx11_compat.
2155
d875b9d2 2156 * c-common.h (enum cxx_dialect): Add cxx_unset.
2157 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2158 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2159
7290114b 2160 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2161 (std=gnu++0x): Mark as Undocumented.
2162 (std=gnu++1y): Add deprecated message.
2163
1b03cc89 21642015-05-08 Jason Merrill <jason@redhat.com>
2165
1c5f7aba 2166 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2167 * c-opts.c: Adjust.
2168
1b03cc89 2169 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2170
dc5945dc 21712015-05-08 Marek Polacek <polacek@redhat.com>
2172
2173 PR c/64918
2174 * c.opt (Woverride-init-side-effects): New option.
2175
cdc64059 21762015-05-07 Marek Polacek <polacek@redhat.com>
2177
2178 PR c/65179
2179 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2180 negative value.
2181 * c.opt (Wshift-negative-value): New option.
2182 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2183 when -Wextra and C99/C++11 mode.
2184
8cafe283 21852015-05-07 Marek Polacek <polacek@redhat.com>
2186 Martin Uecker <uecker@eecs.berkeley.edu>
2187
2188 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2189 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2190
cb40a6f7 21912015-05-05 Jason Merrill <jason@redhat.com>
2192
2193 * c.opt (Wterminate): New.
2194
14744a16 21952015-04-30 Marek Polacek <polacek@redhat.com>
2196
2197 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2198 require that the non-constant be of a boolean type.
2199
9866562d 22002015-04-29 Josh Triplett <josh@joshtriplett.org>
2201
8cafe283 2202 * c-common.c (handle_section_attribute): Refactor to reduce
2203 nesting and distinguish between error cases.
9866562d 2204
a720ab1c 22052015-04-29 Marek Polacek <polacek@redhat.com>
2206
2207 PR c/64610
2208 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2209 with 0/1.
2210
8c072e52 22112015-04-29 Jakub Jelinek <jakub@redhat.com>
2212
2213 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2214 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2215 HOST_BITS_PER_WIDE_INT.
2216
f7fec1c7 22172015-04-28 Tom de Vries <tom@codesourcery.com>
2218
2219 PR tree-optimization/65887
2220 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2221
483b3d26 22222015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 2223 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 2224
2225 * c-ada-spec.c (in_function): Delete.
2226 (dump_generic_ada_node): Do not change in_function and remove the
2227 redundant code dealing with it.
2228 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2229 (print_ada_methods): Output the static member functions in a nested
2230 package after the regular methods as well as associated renamings.
2231
f11bdffb 22322015-04-24 Marek Polacek <polacek@redhat.com>
2233
2234 PR c/65830
2235 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2236 and OPT_Wshift_count_overflow.
2237
485f6b9c 2238 PR c/63357
2239 * c-common.c (warn_logical_operator): Warn if the operands have the
2240 same expressions.
2241
439606a9 22422015-04-24 Marek Polacek <polacek@redhat.com>
2243
2244 PR c/61534
2245 * c-common.c (warn_logical_operator): Bail if either operand comes
2246 from a macro expansion.
2247
de801c28 22482015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2249
2250 PR target/55143
2251 * c-common.c (c_default_pointer_mode): Add definition.
2252 * c-common.h (c_default_pointer_mode): Add declaration.
2253
76738f56 22542015-03-11 Jakub Jelinek <jakub@redhat.com>
2255
2256 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2257 on record_builtin_type argument.
2258
16f958b3 22592015-03-10 Jakub Jelinek <jakub@redhat.com>
2260
2261 PR c/65120
2262 * c-common.c (warn_logical_not_parentheses): Don't warn for
2263 !x == 0 or !x != 0.
2264
9b22f73f 22652015-03-07 Marek Polacek <polacek@redhat.com>
2266
2267 PR sanitizer/65280
2268 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2269 before trying to figure out whether we have a flexible array member.
2270
a864b7d4 22712015-03-06 Eric Botcazou <ebotcazou@adacore.com>
2272 Jonathan Wakely <jwakely.gcc@gmail.com>
2273
2274 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2275
9bf8c90b 22762015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2277
2278 PR ada/65319
2279 * c-ada-spec.c (print_destructor): Remove obsolete code.
2280
037ac54f 22812015-03-01 Eric Botcazou <ebotcazou@adacore.com>
2282
2283 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
2284 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
2285 DECL_TEMPLATE_RESULT emulations.
2286 (dump_ada_template)): Add guard for TYPE_METHODS.
2287
495cbfb8 22882015-02-27 Marek Polacek <polacek@redhat.com>
2289
2290 PR c/65040
2291 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
2292
688a864e 22932015-02-27 Kai Tietz <ktietz@redhat.com>
2294
2295 PR c/35330
2296 * c-pragma.c (handle_pragma_weak): Do not try to create
2297 weak/alias of declarations not being function, or variable
2298 declarations.
2299
6349b8cc 23002015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2301
2302 PR libgomp/64625
2303 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2304 Remove macros.
2305 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2306
3afd5369 23072015-02-16 Marek Polacek <polacek@redhat.com>
2308
2309 PR c/65066
2310 * c-format.c (check_format_types): Handle null param.
2311
46173d1b 23122015-02-13 Marek Polacek <polacek@redhat.com>
2313
2314 PR c/65040
2315 * c-format.c (check_format_types): Don't warn about different
2316 signedness if the original value is in the range of WANTED_TYPE.
2317
1d524ff7 23182015-02-12 Jason Merrill <jason@redhat.com>
2319
2320 PR c++/64956
2321 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
2322 to the current highest version.
2323 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
2324
bbf8fbec 23252015-02-04 Jakub Jelinek <jakub@redhat.com>
2326
2327 PR c/64824
2328 PR c/64868
2329 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
2330 instead of RDIV_EXPR. Use build_binary_op instead of
2331 build2_loc.
2332
c05be867 23332015-01-30 Joseph Myers <joseph@codesourcery.com>
2334
2335 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
2336 to pass input_location as first argument.
2337
85977647 23382015-01-23 Tom de Vries <tom@codesourcery.com>
2339
2340 PR libgomp/64672
2341 * c.opt (fopenacc): Mark as LTO option.
2342
fa175926 23432015-01-23 Tom de Vries <tom@codesourcery.com>
2344
2345 PR libgomp/64707
2346 * c.opt (fopenmp): Mark as LTO option.
2347
20aad5ba 23482015-01-21 Jakub Jelinek <jakub@redhat.com>
2349
2350 PR c/63307
8204c077 2351 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 2352 (compare_decls): Fix up formatting.
2353
23542015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
2355
2356 PR c/63307
2357 * cilk.c: Include vec.h.
2358 (struct cilk_decls): New structure.
2359 (wrapper_parm_cb): Split this function to...
2360 (fill_decls_vec): ...this...
2361 (create_parm_list): ...and this.
2362 (compare_decls): New function.
2363 (for_local_cb): Remove.
2364 (wrapper_local_cb): Ditto.
2365 (build_wrapper_type): For now first traverse and fill vector of
2366 declarations then sort it and then deal with sorted vector.
2367 (cilk_outline): Ditto.
2368 (declare_one_free_variable): Ditto.
2369
60b77e28 23702015-01-21 Jason Merrill <jason@redhat.com>
2371
2372 PR c++/64629
2373 * c-format.c (check_format_arg): Call decl_constant_value.
2374
85fbea97 23752015-01-19 Martin Liska <mliska@suse.cz>
2376
2377 * c-common.c (handle_noicf_attribute): New function.
2378
ca4c3545 23792015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2380 Bernd Schmidt <bernds@codesourcery.com>
2381 James Norris <jnorris@codesourcery.com>
2382 Cesar Philippidis <cesar@codesourcery.com>
2383 Ilmir Usmanov <i.usmanov@samsung.com>
2384 Jakub Jelinek <jakub@redhat.com>
2385
2386 * c.opt (fopenacc): New option.
2387 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
2388 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2389 New macros.
2390 * c-common.h (c_finish_oacc_wait): New prototype.
2391 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
2392 (c_finish_oacc_wait): New function.
2393 * c-pragma.c (oacc_pragmas): New variable.
2394 (c_pp_lookup_pragma, init_pragma): Handle it.
2395 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
2396 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
2397 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
2398 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
2399 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
2400 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
2401 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
2402 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
2403 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
2404 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
2405 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
2406 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
2407 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
2408 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
2409 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
2410 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
2411 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
2412 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
2413 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
2414 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
2415 PRAGMA_OACC_CLAUSE_WORKER.
2416
92a44a68 24172015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 2418
2419 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
2420 for the new option fstack-protector_explicit.
2421 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
2422 (handle_stack_protect_attribute): New function.
2423
92a44a68 24242015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 2425
2426 * c.opt: New option -Warray-bounds=.
2427
1f78217c 24282015-01-09 Michael Collison <michael.collison@linaro.org>
2429
2430 * array-notation-common.c: Include hash-set.h, machmode.h,
2431 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2432 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
2433 * c-ada-spec.c: Ditto.
2434 * c-cilkplus.c: Ditto.
2435 * c-common.c: Include input.h due to flattening of tree.h.
2436 Define macro GCC_C_COMMON_C.
2437 * c-common.h: Flatten tree.h header files into c-common.h.
2438 Remove include of tree-core.h.
2439 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2440 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2441 fold-const.h, wide-int.h, and inchash.h due to
2442 flattening of tree.h.
2443 * c-dump.c: Ditto.
2444 * c-format.c: Flatten tree.h header files into c-common.h.
2445 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2446 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2447 fold-const.h, wide-int.h, and inchash.h due to
2448 flattening of tree.h.
2449 * c-dump.c: Include hash-set.h, machmode.h,
2450 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2451 fold-const.h, wide-int.h, and inchash.h due to
2452 flattening of tree.h.
2453 * c-format.c: Include hash-set.h, machmode.h,
2454 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2455 fold-const.h, wide-int.h, inchash.h and real.h due to
2456 flattening of tree.h.
2457 * c-gimplify.c: Include hash-set.h, machmode.h,
2458 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2459 fold-const.h, wide-int.h, and inchash.h due to
2460 flattening of tree.h.
2461 * cilk.c: Ditto.
2462 * c-lex.c: Ditto.
2463 * c-omp.c: Ditto.
2464 * c-opts.c: Ditto.
2465 * c-pch.c: Ditto.
2466 * c-ppoutput.c: Ditto.
2467 * c-pragma.c: Ditto.
2468 * c-pretty-print.c: Ditto.
2469 * c-semantics.c: Ditto.
2470 * c-ubsan.c: Ditto.
2471 * stub-objc.c: Ditto.
2472
411b7663 24732015-01-08 Jason Merrill <jason@redhat.com>
2474
2475 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
2476 do_ubsan_in_current_function.
2477 (ubsan_maybe_instrument_reference_or_call): Likewise.
2478 * c-ubsan.h: Declare it.
2479
d1e96383 24802015-01-08 Mike Stump <mikestump@comcast.net>
2481
2482 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
2483
b57910fa 24842015-01-07 Marek Polacek <polacek@redhat.com>
2485
2486 PR c/64440
2487 * c-common.c (c_fully_fold_internal): Warn for division and modulo
2488 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
2489
678a4e3e 24902015-01-05 Trevor Saunders <tsaunders@mozilla.com>
2491
2492 PR c++/31397
2493 * c.opt (Wsuggest-override): New option.
2494
d353bf18 24952015-01-05 Jakub Jelinek <jakub@redhat.com>
2496
2497 Update copyright years.
2498
92b63884 24992015-01-05 Marek Polacek <polacek@redhat.com>
2500
2501 PR c/64423
2502 * c-common.c (warn_array_subscript_with_type_char): Add location_t
2503 parameter. Use it.
2504 * c-common.h (warn_array_subscript_with_type_char): Update
2505 declaration.
2506
83715bc4 25072014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
2508
2509 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
2510 Control macro with flag_sized_deallocation.
2511
92a44a68 25122014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 2513
2514 * c.opt (Wdiscarded-array-qualifiers): New option.
2515
33058239 25162014-12-19 Jakub Jelinek <jakub@redhat.com>
2517
2518 PR preprocessor/63831
2519 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
2520 and __has_cpp_attribute here.
2521 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
2522 c_common_has_attribute.
2523 * c-common.h (c_common_has_attribute): New prototype.
2524 * c-lex.c (init_c_lex): Set cb->has_attribute to
2525 c_common_has_attribute instead of cb_has_attribute.
2526 (get_token_no_padding): New function.
2527 (cb_has_attribute): Renamed to ...
2528 (c_common_has_attribute): ... this. No longer static. Use
2529 get_token_no_padding, require ()s, don't build TREE_LIST
2530 unnecessarily, fix up formatting, adjust diagnostics, call
2531 init_attributes.
2532
d1856d2c 25332014-12-15 Jason Merrill <jason@redhat.com>
2534
2535 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
2536 (-Wsized-deallocation): New.
2537 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
2538 to on in C++14 and up.
2539
4972ed5d 25402014-12-11 Jason Merrill <jason@redhat.com>
2541
7d7fa964 2542 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
2543
4972ed5d 2544 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
2545 we aren't complaining about VLAs.
2546
5ebccf71 25472014-12-06 Marek Polacek <polacek@redhat.com>
2548
2549 PR tree-optimization/64183
2550 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
2551 shift-expression if it is integer_type_node. Use types_compatible_p.
2552
f9e245b2 25532014-11-29 Jakub Jelinek <jakub@redhat.com>
2554
2555 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
2556 last argument from create_tmp_var_raw and create_tmp_var calls.
2557 * cilk.c (gimplify_cilk_spawn): Likewise.
2558 * c-omp.c (c_finish_omp_atomic): Likewise.
2559
d2f60593 25602014-11-28 Marek Polacek <polacek@redhat.com>
2561
2562 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
2563 instead of unsigned_type_node.
2564
fce2dbd1 25652014-11-28 Marek Polacek <polacek@redhat.com>
2566
2567 PR c/63862
2568 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
2569 to op1_utype.
2570 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
2571 expression to unsigned_type_node.
2572
3a4a2292 25732014-11-20 Mark Wielaard <mjw@redhat.com>
2574
2575 PR debug/38757
2576 * c-opts.c (set_std_c89): Set lang_hooks.name.
2577 (set_std_c99): Likewise.
2578 (set_std_c11): Likewise.
2579 (set_std_cxx98): Likewise.
2580 (set_std_cxx11): Likewise.
2581 (set_std_cxx14): Likewise.
2582 (set_std_cxx1z): Likewise.
2583
c61ef207 25842014-11-21 Jakub Jelinek <jakub@redhat.com>
2585
2586 PR target/63764
2587 * c-common.h (convert_vector_to_pointer_for_subscript): Change
2588 return type to bool.
c9ed79de 2589 * c-common.c: Include gimple-expr.h.
c61ef207 2590 (convert_vector_to_pointer_for_subscript): Change return type to
2591 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
2592 and copy it into a TARGET_EXPR and use that instead of *vecp
2593 directly.
2594
1a91d914 25952014-11-19 David Malcolm <dmalcolm@redhat.com>
2596
2597 Merger of git branch "gimple-classes-v2-option-3".
2598 * ChangeLog.gimple-classes: New.
2599 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
2600 from being just a vec<gimple> to a vec<gbind *>.
2601
f8fc8b8e 26022014-11-18 Jakub Jelinek <jakub@redhat.com>
2603
2604 PR sanitizer/63813
2605 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
2606 argument to ptype, set type to TREE_TYPE (ptype). Don't call
2607 get_pointer_alignment for non-pointers. Use ptype, or if it is
2608 reference type, corresponding pointer type, as type of kind
2609 argument.
2610 (ubsan_maybe_instrument_reference,
2611 ubsan_maybe_instrument_member_call): Adjust callers.
2612
8315e35e 26132014-11-15 Marek Polacek <polacek@redhat.com>
2614
2615 PR middle-end/63884
2616 * array-notation-common.c (is_sec_implicit_index_fn): Return false
2617 for NULL fndecl.
2618 (extract_array_notation_exprs): Return for NULL node.
2619
86b9f14b 26202014-11-12 Joseph Myers <joseph@codesourcery.com>
2621
2622 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
2623 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
2624
0c93c8a9 26252014-11-12 Jakub Jelinek <jakub@redhat.com>
2626
2627 PR c/59708
2628 * c-common.c (check_builtin_function_arguments): Handle
2629 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
2630
fdd735a7 26312014-11-10 Andi Kleen <ak@linux.intel.com>
2632
2633 PR c/60804
2634 * c-common.h (check_no_cilk): Declare.
2635 * cilk.c (get_error_location): New function.
2636 (check_no_cilk): Dito.
2637
5cb678b4 26382014-11-10 Andi Kleen <ak@linux.intel.com>
2639
2640 * cilk.c (recognize_spawn): Use expression location
2641 for error message.
2642
0feb4de1 26432014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
2644
2645 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
2646
3aa2fa44 26472014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
2648
2649 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
2650 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
2651 (__cpp_range_based_for, __cpp_initializer_lists,
2652 __cpp_delegating_constructors, __cpp_nsdmi,
2653 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
2654 for C++11; (__cpp_attribute_deprecated): Remove in favor of
2655 __has_cpp_attribute.
2656 * c-lex.c (cb_has_attribute): New callback CPP function;
2657 (init_c_lex): Set has_attribute callback.
2658
7fd22aae 26592014-11-04 Richard Biener <rguenther@suse.de>
2660
2661 * c-common.c (shorten_compare): Do not shorten mixed
2662 DFP and non-DFP compares.
2663
4af203ac 26642014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2665
2666 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
2667 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
2668 Commentary and rearrangement of tests.
2669 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
2670 Commentary and rearrangement of tests.
2671 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
2672 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
2673
3754d046 26742014-10-29 Richard Sandiford <richard.sandiford@arm.com>
2675
2676 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
2677 enum from machine_mode.
2678
1140c305 26792014-10-28 Andrew MacLeod <amacleod@redhat.com>
2680
1f78217c 2681 * c-common.c: Adjust include files.
2682 * c-gimplify.c: Ditto.
2683 * cilk.c: Ditto.
2684 * c-pragma.c: Ditto.
2685 * c-ubsan.c: Ditto.
1140c305 2686
94ea8568 26872014-10-27 Andrew MacLeod <amacleod@redhat.com>
2688
2689 * c-gimplify.c: Adjust include files.
2690
32ecf960 26912014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
2692
2693 PR c++/53061
2694 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
2695 c_common_initialize_diagnostics.
2696 * c-common.h: Likewise.
2697
85fecbe2 26982014-10-24 Marek Polacek <polacek@redhat.com>
2699
2700 PR c/56980
2701 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
2702 print "struct"/"union"/"enum" for typedefed names.
2703
e7ec033a 27042014-10-23 Marek Polacek <polacek@redhat.com>
2705
2706 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
2707 in unsigned type.
2708
c2598081 27092014-10-22 Jakub Jelinek <jakub@redhat.com>
2710 Yury Gribov <y.gribov@samsung.com>
2711
2712 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2713 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
2714 instead of flag_sanitize_recover as bool flag.
2715
acebb7e2 27162014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
2717
2718 * cilk.c: Revert previous change.
2719
6115016c 27202014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
2721
2722 PR c/63307
2723 * cilk.c: Include vec.h.
2724 (struct cilk_decls): New structure.
2725 (wrapper_parm_cb): Split this function to...
2726 (fill_decls_vec): ...this...
2727 (create_parm_list): ...and this.
2728 (compare_decls): New function.
2729 (for_local_cb): Remove.
2730 (wrapper_local_cb): Ditto.
2731 (build_wrapper_type): For now first traverse and fill vector of
2732 declarations then sort it and then deal with sorted vector.
2733 (cilk_outline): Ditto.
2734 (declare_one_free_variable): Ditto.
2735
e610d2b2 27362014-10-17 Marek Polacek <polacek@redhat.com>
2737
2738 * c-opts.c (c_common_post_options): Set warn_implicit_int.
2739 * c.opt (Wimplicit-int): Initialize to -1.
2740
a3020f2f 27412014-10-16 Andrew MacLeod <amacleod@redhat.com>
2742
2743 * c-pragma.c: Adjust include files.
2744 * c-semantics.c: Likewise.
2745
926ddd2c 27462014-10-16 DJ Delorie <dj@redhat.com>
2747
2748 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
2749 multiples of bytes.
2750
b0542e7c 27512014-10-14 Jason Merrill <jason@redhat.com>
2752
2753 PR c++/63455
2754 * c-common.h (CPP_PREPARSED_EXPR): New.
2755 (N_CP_TTYPES): Adjust.
2756
b2601928 27572014-10-15 Marek Polacek <polacek@redhat.com>
2758
2759 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
2760
9f75f026 27612014-10-14 DJ Delorie <dj@redhat.com>
2762
2763 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
2764 types, not just __int128.
2765 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
2766 types, not just __int128.
2767 (cpp_atomic_builtins): Round pointer sizes up.
2768 (type_suffix): Use type precision, not specific types.
2769 * c-common.c (c_common_reswords): Remove __int128 special case.
2770 (c_common_type_for_size): Check for all __intN types, not just
2771 __int128.
2772 (c_common_type_for_mode): Likewise.
2773 (c_common_signed_or_unsigned_type): Likewise.
2774 (c_build_bitfield_integer_type): Likewise.
2775 (c_common_nodes_and_builtins): Likewise.
2776 (keyword_begins_type_specifier): Likewise.
2777 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
2778 __intN variants.
2779
2ef51f0e 27802014-10-12 Trevor Saunders <tsaunders@mozilla.com>
2781
2782 * c-common.c: Use hash_table instead of hashtab.
2783
5b8257e3 27842014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2785
1f78217c 2786 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 2787 C++11 section.
2788
5e84569c 27892014-10-03 Marc Glisse <marc.glisse@inria.fr>
2790
2791 PR c++/54427
2792 PR c++/57198
2793 PR c++/58845
2794 * c-common.c (warn_logical_operator): Punt for vectors.
2795
f6751ff2 27962014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2797
2798 Implement SD-6: SG10 Feature Test Recommendations
2799 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
2800 macros and the __has_header macro.
2801
c33e051d 28022014-09-30 Jason Merrill <jason@redhat.com>
2803
f76a9aa8 2804 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
2805 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
2806 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2807
717e52f9 2808 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
2809 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2810
c33e051d 2811 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
2812 * c-common.c (c_common_reswords): Remove __is_convertible_to.
2813
5213d6c9 28142014-09-24 Marek Polacek <polacek@redhat.com>
2815
2816 PR c/61405
2817 PR c/53874
2818 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
2819
6b722052 28202014-09-23 Andi Kleen <ak@linux.intel.com>
2821
2822 * c-common.c (handle_no_reorder_attribute): New function.
2823 (c_common_attribute_table): Add no_reorder attribute.
2824
0cb69d12 28252014-09-22 Joseph Myers <joseph@codesourcery.com>
2826
2827 * c-cppbuiltin.c (c_cpp_builtins): Define
2828 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
2829 modes.
2830
168dfbf0 28312014-09-18 Joseph Myers <joseph@codesourcery.com>
2832
2833 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
2834 for supported floating-point modes.
2835
b83705f4 28362014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2837
2838 * c.opt (Wpsabi): Use LangEnabledBy.
2839 * c-opts.c (c_common_handle_option): Do not handle here.
2840
d5957f0d 28412014-09-12 Joseph Myers <joseph@codesourcery.com>
2842
2843 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
2844 macros for floating-point modes.
2845
bae6edff 28462014-09-11 Marc Glisse <marc.glisse@inria.fr>
2847
2848 PR target/58757
2849 * c-cppbuiltin.c (builtin_define_float_constants): Correct
2850 __*_DENORM_MIN__ without denormals.
2851
73a69d02 28522014-09-10 Jakub Jelinek <jakub@redhat.com>
2853
2854 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2855 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2856 ubsan_create_data callers.
2857 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
2858 index is constant or BIT_AND_EXPR with constant mask and is
2859 small enough for the bound.
2860 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
2861 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
2862
7ff8db31 28632014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2864
2865 * c.opt: Add CppReason to various flags.
2866 (Wdate-time): Re-sort.
2867 * c-common.c: Include c-common.h earlier.
2868 (struct reason_option_codes_t): Delete.
2869 (c_option_controlling_cpp_error): Prefix global type and struct
2870 with cpp_.
2871
bcc1f37e 28722014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2873
2874 * c.opt (Wnormalized): New.
2875 (Wnormalized=): Use Enum and Reject Negative.
2876 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
2877
b660d3c6 28782014-09-08 Joseph Myers <joseph@codesourcery.com>
2879
2880 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
2881 digits of floating-point modes if -fbuilding-libgcc.
2882
325b8c3c 28832014-09-05 Joseph Myers <joseph@codesourcery.com>
2884
2885 * c-cppbuiltin.c (c_cpp_builtins): Also define
2886 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
2887 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
2888 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
2889 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
2890 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
2891 __LIBGCC_STACK_GROWS_DOWNWARD__,
2892 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
2893 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
2894 __LIBGCC_DWARF_FRAME_REGISTERS__,
2895 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
2896 __LIBGCC_STACK_POINTER_REGNUM__ and
2897 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
2898 (builtin_define_with_value): Handle backslash-escaping in string
2899 macro values.
2900
1e074e77 29012014-09-05 Richard Biener <rguenther@suse.de>
2902
2903 PR middle-end/63148
2904 * c-format.c (check_format_arg): Properly handle
2905 effectively signed POINTER_PLUS_EXPR offset.
2906
04afd878 29072014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2908
2909 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
2910 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
2911 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
2912 and Init.
2913 * c-opts.c (c_common_handle_option): Do not handle here.
2914 (sanitize_cpp_opts): Likewise.
2915 * c-common.c (struct reason_option_codes_t): Handle
2916 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
2917
a3f448f0 29182014-09-03 Marek Polacek <polacek@redhat.com>
2919
2920 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
2921
40750995 29222014-09-02 Jakub Jelinek <jakub@redhat.com>
2923 Balaji V. Iyer <balaji.v.iyer@intel.com>
2924 Igor Zamyatin <igor.zamyatin@intel.com>
2925
2926 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
2927 * c-common.c (c_common_reswords): Added _Cilk_for.
2928 * c-common.h (enum rid): Added RID_CILK_FOR.
2929 (cilk_for_number_of_iterations): Add declaration.
2930 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
2931 CILK_FOR.
2932 * c-pragma.c (init_pragma): Register "grainsize" pragma.
2933 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
2934
f0fbe519 29352014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2936
2937 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
2938 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
2939 Wundef): Use CPP, Var and Init.
2940 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
2941
a7d2e480 29422014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2943
2944 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
2945 * c-opts.c (c_common_handle_option): Do not handle here.
2946
c35e53f1 29472014-08-25 Jason Merrill <jason@redhat.com>
2948
2949 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
2950 -std=c++14 and -std=gnu++14, rather than the reverse.
2951 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
2952 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
2953 * c-common.h (cxx_dialect): Remove cxx1y.
2954
4e454776 29552014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
2956
2957 * c-common.h (enum cxx_dialect): Add cxx14.
2958 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
2959 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
2960 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
2961
af1a80f2 29622014-08-22 Jason Merrill <jason@redhat.com>
2963
2964 * c.opt (std=gnu++17): Fix alias.
2965
dc6229e8 29662014-08-22 Marek Polacek <polacek@redhat.com>
2967
2968 PR c++/62199
2969 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
2970 check for vector types. Drop LHS argument.
2971 * c-common.h (warn_logical_not_parentheses): Adjust.
2972
ba7f7c88 29732014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2974
2975 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
2976 (Wmultichar): Likewise.
2977 (Wdate-time): Use C-family languages instead of Common. Use CPP
2978 and Var.
2979 * c-opts.c (c_common_handle_option): Do not handle the above
2980 options here.
2981 (sanitize_cpp_opts): Likewise.
2982
399d4f80 29832014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
2984
2985 PR fortran/44054
2986 * c-opts.c: Include tree-diagnostics.h.
2987 (c_diagnostic_finalizer): New.
2988 (c_common_initialize_diagnostics): Use it.
2989
1babed5f 29902014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2991
2992 PR preprocessor/51303
2993 * c-common.c (struct reason_option_codes_t option_codes):
2994 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
2995
3636964b 29962014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2997
2998 PR c/60975
2999 PR c/53063
3000 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3001 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3002 (c_common_post_options): Call init_global_opts_from_cpp.
3003 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3004
78bf4156 30052014-08-19 Marek Polacek <polacek@redhat.com>
3006
3007 PR c++/62153
3008 * c-common.c (maybe_warn_bool_compare): New function.
3009 * c-common.h (maybe_warn_bool_compare): Declare.
3010 * c.opt (Wbool-compare): New option.
3011
508ea33a 30122014-08-19 Marek Polacek <polacek@redhat.com>
3013
3014 * c.opt (Wc99-c11-compat): New option.
3015
806fe15e 30162014-08-19 Marek Polacek <polacek@redhat.com>
3017
3018 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3019 to warn_c90_c99_compat.
3020 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3021 to -1.
3022
6c867de1 30232014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3024 Steven Bosscher <steven@gcc.gnu.org>
3025
3026 PR c/52952
3027 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3028 format_check_results.
3029 (check_function_format): Use true and add comment for boolean
3030 argument.
3031 (finish_dollar_format_checking): Use explicit location when warning.
3032 (check_format_info): Likewise.
3033 (check_format_arg): Set extra_arg_loc and format_string_loc.
3034 (check_format_info_main): Use explicit location when warning.
3035 (check_format_types): Pass explicit location.
3036 (format_type_warning): Likewise.
3037
dc8078a3 30382014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3039
3040 PR fortran/44054
3041 * c-format.c: Handle Fortran flags.
3042
d271ec7e 30432014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3044
3045 PR other/61962
3046 * array-notation-common.c (find_rank): Added handling for other
3047 types of references.
3048
890c2e2f 30492014-08-10 Marek Polacek <polacek@redhat.com>
3050
3051 PR c/51849
3052 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3053 * c.opt (Wc90-c99-compat): Add option.
3054
7149db5f 30552014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3056
3057 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3058
2d2f6a15 30592014-08-03 Marek Polacek <polacek@redhat.com>
3060
3061 * c-common.c (check_case_value): Add location_t parameter. Use it.
3062 (c_add_case_label): Pass loc to check_case_value.
3063
06ecf488 30642014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3065
3066 * cilk.c: Use hash_map instead of pointer_map.
3067
431205b7 30682014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3069
3070 * c-gimplify.c: Use hash_set instead of pointer_set.
3071
3394c80c 30722014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3073
3074 PR middle-end/61455
3075 * array-notation-common.c (extract_array_notation_exprs): Handling
3076 of DECL_EXPR added.
3077
392dee1e 30782014-08-01 Jakub Jelinek <jakub@redhat.com>
3079
3080 * c-common.h (min_align_of_type): Removed prototype.
3081 * c-common.c (min_align_of_type): Removed.
3082 * c-ubsan.h (ubsan_maybe_instrument_reference,
3083 ubsan_maybe_instrument_member_call): New prototypes.
3084 * c-ubsan.c: Include stor-layout.h and builtins.h.
3085 (ubsan_maybe_instrument_reference_or_call,
3086 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3087 functions.
3088
f22a2cb7 30892014-07-31 Marc Glisse <marc.glisse@inria.fr>
3090
3091 PR c++/60517
3092 * c.opt (-Wreturn-local-addr): Move to common.opt.
3093
87b0198f 30942014-07-30 Jason Merrill <jason@redhat.com>
3095
3096 PR c++/61659
3097 PR c++/61687
3098 Revert:
3099 * c.opt (-fuse-all-virtuals): New.
3100
74691f46 31012014-07-30 Tom Tromey <tromey@redhat.com>
3102
3103 PR c/59855
3104 * c.opt (Wdesignated-init): New option.
3105 * c-common.c (c_common_attribute_table): Add "designated_init".
3106 (handle_designated_init): New function.
3107
9140d56f 31082014-07-24 Marek Polacek <polacek@redhat.com>
3109
3110 PR c/57653
3111 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3112
a09c5cc2 31132014-07-16 Dodji Seketeli <dodji@redhat.com>
3114
3115 PR preprocessor/60723 - missing system-ness marks for macro tokens
3116 * c-ppoutput.c (struct print::prev_was_system_token): New data
3117 member.
3118 (init_pp_output): Initialize it.
3119 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3120 (do_line_change): Return a flag saying if a line marker was
3121 emitted or not.
3122 (scan_translation_unit): Detect if the system-ness of the token we
3123 are about to emit is different from the one of the previously
3124 emitted token. If so, emit a line marker. Avoid emitting useless
3125 adjacent line markers. Avoid emitting line markers for tokens
3126 originating from the expansion of built-in macros.
3127 (scan_translation_unit_directives_only): Adjust.
3128
2b25b62f 31292014-07-15 Marek Polacek <polacek@redhat.com>
3130
3131 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3132 TYPE_MAX_VALUE is NULL.
3133
305d96bc 31342014-07-14 Jakub Jelinek <jakub@redhat.com>
3135
3136 PR middle-end/61294
3137 * c.opt (Wmemset-transposed-args): New warning.
3138
8ea4660d 31392014-07-10 Jason Merrill <jason@redhat.com>
3140
3141 PR c++/61659
3142 PR c++/61687
3143 * c.opt (-fuse-all-virtuals): New.
3144
cd480f3d 31452014-07-09 Richard Biener <rguenther@suse.de>
3146
3147 PR c-family/61741
3148 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3149 using unsigned arithmetic if overflow does not wrap instead of
3150 if overflow is undefined.
3151
87d59e72 31522014-07-06 Marek Polacek <polacek@redhat.com>
3153
3154 PR c/6940
3155 * c.opt (Wsizeof-array-argument): New option.
3156
d69521d8 31572014-07-03 Jakub Jelinek <jakub@redhat.com>
3158
8204c077 3159 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 3160 comments->count <= 1, as comments->entries might be NULL.
3161
1207866e 31622014-07-01 Marek Polacek <polacek@redhat.com>
3163
3164 * c.opt (Wint-conversion): New option.
3165
7a6bbb76 31662014-07-01 Marek Polacek <polacek@redhat.com>
3167
3168 PR c/58286
3169 * c.opt (Wincompatible-pointer-types): New option.
3170
9d4eeb52 31712014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3172
3173 PR c++/51400
3174 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3175 Do not discard TYPE_QUALS of type.
3176
4b53bc0f 31772014-06-26 Jason Merrill <jason@redhat.com>
3178
3179 * c-common.h (enum cxx_dialect): Add cxx1z.
3180 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3181 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3182
a8a8d4ea 31832014-06-26 Teresa Johnson <tejohnson@google.com>
3184
3185 * c-common.h (get_dump_info): Declare.
3186 * c-gimplify.c (c_genericize): Use saved dump files.
3187 * c-opts.c (c_common_parse_file): Begin and end dumps
3188 once around parsing invocation.
3189 (get_dump_info): New function.
3190
1f6be080 31912014-06-23 Marek Polacek <polacek@redhat.com>
3192 Andrew MacLeod <amacleod@redhat.com>
3193
3194 PR c/61553
3195 * c-common.c (get_atomic_generic_size): Don't segfault if the
3196 type doesn't have a size.
3197
5ef6b660 31982014-06-20 Marek Polacek <polacek@redhat.com>
3199
3200 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3201 (ubsan_walk_array_refs_r): New function.
3202 (c_genericize): Instrument array bounds.
3203 * c-ubsan.c: Include "internal-fn.h".
3204 (ubsan_instrument_division): Mark instrumented arrays as having
3205 side effects. Adjust ubsan_type_descriptor call.
3206 (ubsan_instrument_shift): Likewise.
3207 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3208 (ubsan_instrument_bounds): New function.
3209 (ubsan_array_ref_instrumented_p): New function.
3210 (ubsan_maybe_instrument_array_ref): New function.
3211 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3212 (ubsan_array_ref_instrumented_p): Declare.
3213 (ubsan_maybe_instrument_array_ref): Declare.
3214
32152014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 3216
3217 PR lto/61123
3218 * c.opt (fshort-enums): Add to LTO.
3219 * c.opt (fshort-wchar): Likewise.
3220
78438f31 32212014-06-16 Marek Polacek <polacek@redhat.com>
3222
3223 PR c/60439
3224 * c.opt (Wswitch-bool): Add Var.
3225
5fddcf34 32262014-06-12 Jakub Jelinek <jakub@redhat.com>
3227
3228 PR middle-end/61486
3229 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3230 #pragma omp target teams or
3231 #pragma omp {,target }teams distribute simd.
3232
74b777e5 32332014-06-12 Jason Merrill <jason@redhat.com>
3234
3235 * c.opt (Wabi=, fabi-compat-version): New.
3236 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3237 (c_common_post_options): Handle flag_abi_compat_version default.
3238 Disallow -fabi-compat-version=1.
3239 * c-common.h (abi_version_crosses): New.
3240
738a6bda 32412014-06-11 Jan Hubicka <hubicka@ucw.cz>
3242
1f78217c 3243 * c-common.c (handle_section_attribute): Update handling for
738a6bda 3244 section names that are no longer trees.
3245
cf5f881f 32462014-06-10 Jakub Jelinek <jakub@redhat.com>
3247
3248 PR fortran/60928
3249 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3250 (omp_pragmas): ... back here.
3251
32dc1512 32522014-06-05 Marek Polacek <polacek@redhat.com>
3253
3254 PR c/49706
3255 * c-common.c (warn_logical_not_parentheses): New function.
3256 * c-common.h (warn_logical_not_parentheses): Declare.
3257 * c.opt (Wlogical-not-parentheses): New option.
3258
f61a9bc2 32592014-06-04 Marek Polacek <polacek@redhat.com>
3260
3261 PR c/30020
3262 * c-common.c (check_case_bounds): Add location parameter.
3263 Use it.
3264 (c_add_case_label): Pass loc to check_case_bounds.
3265
c69ec07d 32662014-06-03 Marek Polacek <polacek@redhat.com>
3267
3268 PR c/60439
3269 * c.opt (Wswitch-bool): New option.
3270
3c77ca67 32712014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3272
68a2c870 3273 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3274 Remove prototypes.
3275 (record_types_used_by_current_var_decl): Move prototype to where
3276 it belongs.
3277
3c77ca67 3278 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3279 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3280 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3281
3ab4693e 32822014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3283
3284 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
3285 * c-common.c (c_common_nodes_and_builtins): Don't initialize
3286 void_zero_node.
3287 * c-pretty-print.c (pp_c_void_constant): New function.
3288 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
3289 (c_pretty_printer::expression): Handle VOID_CST.
3290 * cilk.c (extract_free_variables): Likewise.
3291 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
3292 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
3293
25a27413 32942014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3295
3296 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
3297 * c-pragma.c (push_alignment): Adjust.
3298 (handle_pragma_push_options): Likewise.
3299
3e5a8b00 33002014-05-09 Marek Polacek <polacek@redhat.com>
3301
3302 PR c/50459
3303 * c-common.c (check_user_alignment): Return -1 if alignment is error
3304 node.
3305 (handle_aligned_attribute): Don't call default_conversion on
3306 FUNCTION_DECLs.
3307 (handle_vector_size_attribute): Likewise.
3308 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
3309 (handle_sentinel_attribute): Call default_conversion and allow even
3310 integral types as an argument.
3311
c2c4ae8d 33122014-05-08 Marek Polacek <polacek@redhat.com>
3313
3314 PR c/61053
3315 * c-common.c (min_align_of_type): New function factored out from...
3316 (c_sizeof_or_alignof_type): ...here.
3317 * c-common.h (min_align_of_type): Declare.
3318
2026249a 33192014-05-08 Marek Polacek <polacek@redhat.com>
3320
3321 PR c/61077
3322 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
3323 parameter type of main.
3324
33c8dcfe 33252014-05-07 DJ Delorie <dj@redhat.com>
3326
3327 * c-cppbuiltin.c (print_bits_of_hex): New.
3328 (builtin_define_type_minmax): Print values using hex so as not to
3329 require a pre-computed list of string values.
3330
960d5a55 33312014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3332 Mike Stump <mikestump@comcast.net>
3333 Richard Sandiford <rdsandiford@googlemail.com>
3334
3335 * c-ada-spec.c: Include wide-int.h.
3336 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
3337 (dump_generic_ada_node): Use wide-int interfaces.
3338 * c-common.c: Include wide-int-print.h.
3339 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
3340 (pointer_int_sum): Use wide-int interfaces.
3341 (c_common_nodes_and_builtins): Use make_int_cst.
3342 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
3343 (handle_alloc_size_attribute): Use wide-int interfaces.
3344 (get_nonnull_operand): Likewise.
3345 * c-format.c (get_constant): Use tree_fits_uhwi_p.
3346 * c-lex.c: Include wide-int.h.
3347 (narrowest_unsigned_type): Take a widest_int rather than two
3348 HOST_WIDE_INTs.
3349 (narrowest_signed_type): Likewise.
3350 (interpret_integer): Update accordingly. Use wide-int interfaces.
3351 (lex_charconst): Use wide-int interfaces.
3352 * c-pretty-print.c: Include wide-int.h.
3353 (pp_c_integer_constant): Use wide-int interfaces.
3354 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
3355 INT_CST_LT_UNSIGNED.
3356
bbb88b31 33572014-05-06 Richard Biener <rguenther@suse.de>
3358
3359 * c-opts.c (c_common_post_options): For -freestanding,
3360 -fno-hosted and -fno-builtin disable pattern recognition
3361 if not enabled explicitely.
3362
022d4718 33632014-05-02 Marek Polacek <polacek@redhat.com>
3364
3365 * c.opt (Wsizeof-pointer-memaccess): Describe option.
3366
e4ab2ef3 33672014-05-01 Marek Polacek <polacek@redhat.com>
3368
3369 PR c/43245
3370 * c.opt (Wdiscarded-qualifiers): Add.
3371
52cc0072 33722014-04-30 Marek Polacek <polacek@redhat.com>
3373
3374 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
3375 INT_MIN / -1 sanitization only for integer types.
3376
4a026b48 33772014-04-25 Marek Polacek <polacek@redhat.com>
3378
3379 PR c/18079
3380 * c-common.c (handle_noinline_attribute): Warn if the attribute
3381 conflicts with always_inline attribute.
3382 (handle_always_inline_attribute): Warn if the attribute conflicts
3383 with noinline attribute.
3384
90e645fa 33852014-04-25 Marek Polacek <polacek@redhat.com>
3386
3387 PR c/60156
3388 * c-common.c (check_main_parameter_types): Warn about variadic main.
3389
db103ea4 33902014-04-24 Mike Stump <mikestump@comcast.net>
3391
3392 * c.opt (Wshadow-ivar): Default to on.
3393
06511efd 33942014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3395
3396 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
3397
cdf34fca 33982014-04-23 Marek Polacek <polacek@redhat.com>
3399
3400 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
3401
7311d7c1 34022014-04-22 Jakub Jelinek <jakub@redhat.com>
3403
3404 PR sanitizer/60275
3405 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
3406 if flag_sanitize_undefined_trap_on_error.
3407 (ubsan_instrument_division, ubsan_instrument_shift,
3408 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
3409 if !flag_sanitize_recover.
3410
c1917557 34112014-04-22 Marc Glisse <marc.glisse@inria.fr>
3412
3413 PR libstdc++/43622
3414 * c-common.c (registered_builtin_types): Make non-static.
3415 * c-common.h (registered_builtin_types): Declare.
3416
b2ca6510 34172014-04-14 Richard Biener <rguenther@suse.de>
3418 Marc Glisse <marc.glisse@inria.fr>
3419
3420 PR c/60819
3421 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
3422 apply may-alias the scalar pointer type when applicable.
3423
855372a3 34242014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
3425
3426 PR middle-end/60467
3427 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
3428 as possible argument for Cilk_spawn.
3429
4012a986 34302014-04-11 Tobias Burnus <burnus@net-b.de>
3431
3432 PR c/60194
3433 * c.opt (Wformat-signedness): Add
3434 * c-format.c(check_format_types): Use it.
3435
0d284870 34362014-04-11 Jason Merrill <jason@redhat.com>
3437
3438 PR c++/57926
3439 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
3440 default_conversion for an array argument.
3441
a34c1231 34422014-04-08 Marek Polacek <polacek@redhat.com>
3443
3444 PR sanitizer/60745
3445 * c-ubsan.c: Include asan.h.
3446 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
3447
a35a8e18 34482014-04-03 Nathan Sidwell <nathan@codesourcery.com>
3449
3450 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
3451
b23e42b6 34522014-04-02 Marek Polacek <polacek@redhat.com>
3453
3454 * c-common.h (c_expand_expr): Remove declaration.
3455
5a672e62 34562014-03-28 Jakub Jelinek <jakub@redhat.com>
3457
3458 PR c++/60689
3459 * c-common.c (add_atomic_size_parameter): When creating new
3460 params vector, push the size argument first.
3461
d4d068c0 34622014-03-26 Jakub Jelinek <jakub@redhat.com>
3463
3464 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3465 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3466 ubsan_create_data callers.
3467
446bdf5f 34682014-03-22 Jakub Jelinek <jakub@redhat.com>
3469
3470 PR debug/60603
3471 * c-opts.c (c_finish_options): Restore cb_file_change call to
3472 <built-in>.
3473
8895f0a3 34742014-03-13 Jakub Jelinek <jakub@redhat.com>
3475
3476 PR middle-end/36282
3477 * c-pragma.c (apply_pragma_weak): Only look at
3478 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
3479 DECL_ASSEMBLER_NAME_SET_P (decl).
3480 (maybe_apply_pending_pragma_weaks): Exit early if
3481 vec_safe_is_empty (pending_weaks) rather than only when
3482 !pending_weaks.
3483 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
3484 set assembler name back to NULL afterwards.
3485
7a5da2cd 34862014-03-11 Jason Merrill <jason@redhat.com>
3487
3488 * c.opt: Add -std=gnu++14.
3489
95093889 34902014-03-11 Ian Bolton <ian.bolton@arm.com>
3491
3492 * c-opts.c (c_common_post_options): Don't override
3493 -ffp-contract=fast if unsafe-math-optimizations is on.
3494
c9a24b37 34952014-03-08 Paulo Matos <paulo@matos-sorge.com>
3496
3497 * c.opt: Enable LTO FE for fshort-double.
3498
3f6dba6e 34992014-03-07 Jason Merrill <jason@redhat.com>
3500
3501 * c.opt: Add -std=c++14.
3502
3bfdc94f 35032014-03-06 Marek Polacek <polacek@redhat.com>
3504
3505 PR c/60197
3506 * cilk.c (contains_cilk_spawn_stmt): New function.
3507 (contains_cilk_spawn_stmt_walker): Likewise.
3508 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
3509 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
3510
8b3a6a4c 35112014-03-03 Jakub Jelinek <jakub@redhat.com>
3512
3513 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
3514 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
3515 even when flag_preprocess_only.
3516
734ec290 35172014-02-26 Jason Merrill <jason@redhat.com>
3518
3519 PR c++/59231
3520 PR c++/11586
3521 * c-common.c (shorten_compare): Don't check
3522 c_inhibit_evaluation_warnings.
3523
81aec8b8 35242014-02-19 Jakub Jelinek <jakub@redhat.com>
3525
d1081017 3526 PR c/37743
3527 * c-common.c (c_common_nodes_and_builtins): When initializing
3528 c_uint{16,32,64}_type_node, also set corresponding
3529 uint{16,32,64}_type_node to the same value.
3530
81aec8b8 3531 PR c++/60267
3532 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
3533 for PRAGMA_IVDEP if flag_preprocess_only.
3534
312243bb 35352014-02-12 Jakub Jelinek <jakub@redhat.com>
3536
3537 PR c/60101
3538 * c-common.c (merge_tlist): If copy is true, call new_tlist,
3539 if false, add ADD itself, rather than vice versa.
3540 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
3541 copy. For SAVE_EXPR, only call merge_tlist once.
3542
237e78b1 35432014-02-08 Jakub Jelinek <jakub@redhat.com>
3544
3545 PR middle-end/60092
3546 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
3547 and tree_to_uhwi.
3548 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
3549 functions.
3550 (c_common_attribute_table): Add alloc_align and assume_aligned
3551 attributes.
3552
76fdceeb 35532014-02-06 Marek Polacek <polacek@redhat.com>
3554
3555 PR c/60087
3556 * c-common.c (warn_for_sign_compare): Call warning_at with location
3557 instead of warning.
3558
4a4dea42 35592014-02-05 Marek Polacek <polacek@redhat.com>
3560
3561 PR c/53123
3562 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
3563 statement.
3564
ec704957 35652014-02-04 Marek Polacek <polacek@redhat.com>
3566
3567 PR c/60036
3568 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
3569 SAVE_EXPR.
3570
caf62483 35712014-02-03 Marc Glisse <marc.glisse@inria.fr>
3572
3573 PR c++/53017
3574 PR c++/59211
3575 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
3576 handle_vector_size_attribute, handle_nonnull_attribute): Call
3577 default_conversion on the attribute argument.
3578 (handle_nonnull_attribute): Increment the argument number.
3579
ec761d5a 35802014-01-31 Marek Polacek <polacek@redhat.com>
3581
3582 PR c/59963
3583 * c-common.c (add_atomic_size_parameter): Pass vNULL to
3584 build_function_call_vec.
3585 (resolve_overloaded_builtin): Likewise.
3586 * c-common.h (build_function_call_vec): Adjust declaration.
3587
22a75734 35882014-01-30 Marek Polacek <polacek@redhat.com>
3589
3590 PR c/59940
3591 * c-common.h (unsafe_conversion_p): Adjust declaration.
3592 (warnings_for_convert_and_check): Likewise.
3593 (convert_and_check): Likewise.
3594 * c-common.c (unsafe_conversion_p): Add location parameter. Call
3595 expansion_point_location_if_in_system_header on it.
3596 (warnings_for_convert_and_check): Add location parameter. Call
3597 expansion_point_location_if_in_system_header on it. Use it.
3598 (convert_and_check): Add location parameter. Use it.
3599 (conversion_warning): Likewise.
3600 (c_add_case_label): Adjust convert_and_check calls.
3601 (scalar_to_vector): Adjust unsafe_conversion_p calls.
3602
a89e6c15 36032014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
3604
3605 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
3606 flag_cilkplus.
3607 * c-pragma.c (init_pragma): Likewise.
3608 * c.opt: Likewise.
3609
2623625f 36102014-01-23 Marek Polacek <polacek@redhat.com>
3611
3612 PR c/59846
3613 * c-common.c (shorten_compare): Add location_t parameter.
3614 * c-common.h (shorten_binary_op): Adjust declaration.
3615
46da3601 36162014-01-23 Marek Polacek <polacek@redhat.com>
3617
3618 PR c/58346
3619 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
3620 * c-common.h: Declare it.
3621
c9743c6a 36222014-01-20 Eric Botcazou <ebotcazou@adacore.com>
3623
3624 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
3625 * c-ada-spec.c (dump_ads): Likewise.
3626 (cpp_check): Likewise.
3627 (dump_ada_specs): Likewise.
3628
36292014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 3630
3631 PR c++/49718
3632 * c-common.c (handle_no_instrument_function_attribute): Allow
3633 no_instrument_function attribute in class member
3634 definition/declaration.
3635
1248c663 36362014-01-15 Jakub Jelinek <jakub@redhat.com>
3637
3638 PR c/58943
3639 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
3640 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
3641 being COMPOUND_EXPR.
3642 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
3643 operand a SAVE_EXPR and second MODIFY_EXPR.
3644
6e5c480b 36452014-01-09 Jakub Jelinek <jakub@redhat.com>
3646
3647 PR target/58115
3648 * c-pch.c (c_common_write_pch): Call
3649 prepare_target_option_nodes_for_pch.
3650
3aea1f79 36512014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3652
3653 Update copyright years
3654
e4f22041 36552014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3656
3657 * array-notation-common.c, c-cilkplus.c: Use the standard form for
3658 the copyright notice.
3659
7fb0fe24 36602013-12-28 Eric Botcazou <ebotcazou@adacore.com>
3661
3662 * c-ada-spec.c (print_constructor): New function.
3663 (print_destructor): Retrieve the origin of the destructor.
3664 (print_ada_declaration): Revamp handling of constructors/destructors.
3665
92a44a68 36662013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 3667 Bill Maddox <maddox@google.com>
3668 Jason Merrill <jason@redhat.com>
3669
3670 * c.opt: Add -fdeclone-ctor-dtor.
3671 * c-opts.c (c_common_post_options): Default to on iff -Os.
3672
74acc703 36732013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
3674
3675 * c-common.c (c_common_attribute_table): Added "cilk simd function"
3676 attribute.
3677 * c-pragma.h (enum pragma_cilk_clause): Remove.
3678 (enum pragma_omp_clause): Added the following fields:
3679 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
3680 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
3681 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
3682 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
3683 PRAGMA_CILK_CLAUSE_UNIFORM.
3684
8204c077 3685
433e804e 36862013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
3687
3688 * cilk.c (cilk_outline): Made this function non-static.
3689 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
3690 (create_cilk_wrapper): Added a new parameter: a function pointer.
3691 (c_install_body_w_frame_cleanup): Remove
3692 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
3693 * c-common.h (cilk_outline): New prototype.
3694 (gimplify_cilk_spawn): Removed two parameters.
3695 (cilk_install_body_with_frame_cleanup): New prototype.
3696 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
3697 CILK_SPAWN_STMT case.
3698
5bcc7e60 36992013-12-11 Bernd Schmidt <bernds@codesourcery.com>
3700
e66325ea 3701 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
3702
5bcc7e60 3703 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
3704 (int_array_type_node): Remove.
3705 * c-common.c (c_common_nodes_and_builtins): Don't build it.
3706
0b26ec77 37072013-12-05 Marek Polacek <polacek@redhat.com>
3708
3709 PR c/52023
3710 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
3711 [ADJUST_FIELD_ALIGN].
3712
a179a7dc 37132013-12-04 Joseph Myers <joseph@codesourcery.com>
3714
3715 PR c/52023
3716 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
3717 and check field alignment if set.
3718 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
3719 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
3720
8204c077 37212013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 3722 Marek Polacek <polacek@redhat.com>
3723
3724 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
3725 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
3726
648fd348 37272013-11-29 H.J. Lu <hongjiu.lu@intel.com>
3728
3729 PR c/59309
3730 * cilk.c (gimplify_cilk_spawn): Properly handle function without
3731 arguments.
3732
253e1cae 37332013-11-29 Jakub Jelinek <jakub@redhat.com>
3734
3735 PR c/59280
3736 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
3737 goto invalid. If it is error_mark_node, don't issue further
3738 diagnostics.
3739
3e398f5b 37402013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
3741
3742 * c.opt (Wopenmp-simd): New.
3743
020bc656 37442013-11-22 Jakub Jelinek <jakub@redhat.com>
3745
3746 * c-ubsan.h (ubsan_instrument_return): New prototype.
3747 * c-ubsan.c (ubsan_instrument_return): New function.
3748
bc61cadb 37492013-11-22 Andrew MacLeod <amacleod@redhat.com>
3750
3751 * c-common.c: Add required include files from gimple.h.
3752 * c-gimplify.c: Likewise
3753 * cilk.c: Likewise
3754
3df42822 37552013-11-22 David Malcolm <dmalcolm@redhat.com>
3756
3757 * c-common.c (unsafe_conversion_p): Remove use of
3758 EXPR_LOC_OR_HERE macro.
3759 (conversion_warning): Likewise.
3760 (warnings_for_convert_and_check): Likewise.
3761 (warn_for_collisions_1): Likewise.
3762 (shorten_compare): Likewise, and remove use of in_system_header
3763 macro, using the location from the former.
3764 * c-lex.c (dump_one_header): Remove use of input_filename macro.
3765 (cb_def_pragma): Remove use of in_system_header macro.
3766 (lex_string): Likewise.
3767 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3768
8c53c46c 37692013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3770 Mike Stump <mikestump@comcast.net>
3771 Richard Sandiford <rdsandiford@googlemail.com>
3772
3773 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
3774 instead of TREE_INT_CST_LOW, in cases where there is a protecting
3775 tree_fits_shwi_p or tree_fits_uhwi_p.
3776 (dump_generic_ada_node): Likewise.
3777 * c-format.c (check_format_arg): Likewise.
3778 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3779
5200ef07 37802013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3781
3782 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
3783
ca9d7d74 37842013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
3785
3786 PR c/53001
3787 * c-common.c (unsafe_conversion_p): Make this function
3788 return an enumeration with more detail.
3789 (conversion_warning): Use the new return type of
3790 unsafe_conversion_p to separately warn either about conversions
3791 that lower floating point number precision or about the other
3792 kinds of conversions.
3793 * c-common.h (enum conversion_safety): New enumeration.
3794 (unsafe_conversion_p): switching return type to
3795 conversion_safety enumeration.
3796 * c.opt: Adding new warning -Wfloat-conversion and
3797 enabling it with -Wconversion.
3798
0391a567 37992013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
3800
3801 * c-opts.c: Include plugin.h.
3802 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
3803
19b928d9 38042013-11-19 Marek Polacek <polacek@redhat.com>
3805
3806 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
3807 call.
3808 (ubsan_instrument_shift): Likewise.
3809 (ubsan_instrument_vla): Likewise.
3810
aa59f000 38112013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3812
3813 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
3814 cast to unsigned type.
3815
08f817b3 38162013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3817
3818 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
3819 tree_low_cst.
3820 (complete_array_type): Update comment to refer to tree_to_[su]hwi
3821 rather than tree_low_cst.
3822
6a0712d4 38232013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3824
3825 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
3826 tree_to_uhwi throughout.
3827
fcb97e84 38282013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3829
3830 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
3831 tree_low_cst (..., 0) with tree_to_shwi throughout.
3832
cd4547bf 38332013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3834
3835 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
3836 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
3837
35ec552a 38382013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3839
3840 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
3841 host_integerp (..., 0) with tree_fits_shwi_p throughout.
3842
f2697631 38432013-11-15 Aldy Hernandez <aldyh@redhat.com>
3844
3845 * c-cilkplus.c: New file.
3846 * c-common.c (readonly_error): Add location argument.
3847 * c-common.h (readonly_error): Same.
3848 (c_finish_cilk_clauses): Protoize.
3849 (c_check_cilk_loop): Same.
3850 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
3851 Do not fail on error_mark_node.
3852 Abstract increment canonicalization to here...
3853 (c_omp_for_incr_canonicalize_ptr): New.
3854 c-pragma.c (init_pragma): Register "simd" pragma.
3855 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
3856 (enum pragma_cilk_clause): New.
3857
0aa8c34e 38582013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
3859
3860 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
3861 wchar_type and host_integerp checks.
3862
e795d6e1 38632013-11-14 Andrew MacLeod <amacleod@redhat.com>
3864
3865 * c-common.c: Likewise.
3866 * c-gimplify.c: Likewise.
3867 * cilk.c: Likewise.
3868
9ed99284 38692013-11-14 Diego Novillo <dnovillo@google.com>
3870
3871 * c-common.c: Include fold-const.h.
3872 Include stor-layout.h.
3873 Include calls.h.
3874 Include stringpool.h.
3875 Include attribs.h.
3876 Include varasm.h.
3877 Include trans-mem.h.
3878 * c-cppbuiltin.c: Include stor-layout.h.
3879 Include stringpool.h.
3880 * c-format.c: Include stringpool.h.
3881 * c-lex.c: Include stringpool.h.
3882 Include stor-layout.h.
3883 * c-pragma.c: Include stringpool.h.
3884 Include attribs.h.
3885 Include varasm.h.
3886 Include gcc-symtab.h.
3887 * c-pretty-print.c: Include stor-layout.h.
3888 Include attribs.h.
3889 * cilk.c: Include stringpool.h.
3890 Include calls.h.
3891
4fba5eb9 38922013-11-13 Joseph Myers <joseph@codesourcery.com>
3893
3894 * c-common.h (enum rid): Add RID_AUTO_TYPE.
3895 * c-common.c (c_common_reswords): Add __auto_type.
3896 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
3897
a8783bee 38982013-11-12 Andrew MacLeod <amacleod@redhat.com>
3899
e795d6e1 3900 * c-common.c: Include gimplify.h.
3901 * c-gimplify.c: Likewise.
3902 * cilk.c: Likewise.
3903 * c-omp.c: Include gimple-expr.h instead of gimple.h.
3904 * c-ubsan.c: Don't include gimple.h.
a8783bee 3905
d184e0c0 39062013-11-12 Joseph Myers <joseph@codesourcery.com>
3907
3908 * c-common.c (c_common_reswords): Add _Thread_local.
3909
a056826c 39102013-11-09 Joseph Myers <joseph@codesourcery.com>
3911
3912 * c-common.c (atomic_size_supported_p): New function.
3913 (resolve_overloaded_atomic_exchange)
3914 (resolve_overloaded_atomic_compare_exchange)
3915 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
3916 Use it instead of comparing size with a local list of sizes.
3917
b560fabd 39182013-11-07 Andrew MacLeod <amacleod@redhat.com>
3919 Joseph Myers <joseph@codesourcery.com>
3920
3921 * c-common.h (enum rid): Add RID_ATOMIC.
3922 * c-common.c (c_common_reswords): Add _Atomic.
3923 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
3924 (keyword_is_type_qualifier): Accept RID_ATOMIC.
3925 * c-format.c (check_format_types): Check for extra _Atomic
3926 qualifiers in format argument.
3927 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
3928 (pp_c_type_qualifier_list): Mention _Atomic in comment.
3929
5b1a0622 39302013-11-06 Tobias Burnus <burnus@net-b.de>
3931
3932 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
3933
4f8f4cb8 39342013-11-06 Joseph Myers <joseph@codesourcery.com>
3935
3936 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
3937 standards modes.
3938 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
3939 to mean lack of IEEE 754 support.
3940
9148bda3 39412013-11-05 Tobias Burnus <burnus@net-b.de>
3942
3943 * c.opt (-Wdate-time): New option
3944 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
3945
08c5f4d5 39462013-11-05 Joseph Myers <joseph@codesourcery.com>
3947
3948 * c-cppbuiltin.c (cpp_iec_559_value): Test
3949 flag_excess_precision_cmdline not flag_excess_precision.
3950
c630ef93 39512013-11-05 Tobias Burnus <burnus@net-b.de>
3952
3953 * c.opt (fopenmp-simd): New option.
3954 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
3955 (omp_pragmas): ... this new struct.
3956 (c_pp_lookup_pragma): Also walk omp_pragmas.
3957 (init_pragma): Init pragmas for -fopenmp-simd.
3958
7354a89b 39592013-11-04 Marek Polacek <polacek@redhat.com>
3960
3961 PR c++/58979
3962 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
3963
4c866b9b 39642013-11-04 Joseph Myers <joseph@codesourcery.com>
3965
3966 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
3967 New functions.
3968 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
3969
e2a6a333 39702013-11-04 Eric Botcazou <ebotcazou@adacore.com>
3971
3972 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
3973 (dump_ada_specs): Adjust prototype of second callback.
3974 * c-ada-spec.c (cpp_check): New global variable.
3975 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
3976 (print_generic_ada_decl): Likewise.
3977 (has_static_fields): Change return type to bool and add guard.
3978 (has_nontrivial_methods): New predicate.
3979 (is_tagged_type): Change return type to bool.
3980 (separate_class_package): Call has_nontrivial_methods.
3981 (pp_ada_tree_identifier): Minor tweaks.
3982 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
3983 (dump_ada_array_domains): Likewise.
3984 (dump_ada_array_type): Likewise.
3985 (dump_template_types): Remove cpp_check parameter and do not pass it to
3986 dump_generic_ada_node.
3987 (dump_ada_template): Likewise.
3988 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
3989 recursively.
3990 (print_ada_methods): Change return type to integer. Remove cpp_check
3991 parameter and do not pass it down.
3992 (dump_nested_types): Remove cpp_check parameter and do not pass it to
3993 dump_generic_ada_node.
3994 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
3995 accessing methods.
3996 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
3997 down. Use has_nontrivial_methods to recognize C++ classes. Use return
3998 value of print_ada_methods.
3999 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4000 Set cpp_check to it before invoking dump_ada_nodes.
4001 (dump_ada_specs): Likewise.
4002
2c4c3477 40032013-11-03 Marek Polacek <polacek@redhat.com>
4004
4005 * c-ubsan.c: Don't include hash-table.h.
4006 (ubsan_instrument_vla): New function.
4007 * c-ubsan.h: Declare it.
4008
452659af 40092013-10-31 David Malcolm <dmalcolm@redhat.com>
4010
4011 Automated part of renaming of symtab_node_base to symtab_node.
4012
4013 Patch autogenerated by rename_symtab.py from
4014 https://github.com/davidmalcolm/gcc-refactoring-scripts
4015 revision 58bb219cc090b2f4516a9297d868c245495ee622
4016
4017 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4018 symtab_node_base to symtab_node.
4019
4d6f7dd4 40202013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4021
4022 Implement C++14 digit separators.
4023 * c-lex.c (interpret_float): Remove digit separators from scratch string
4024 before building real literal.
4025
06cfe805 40262013-10-30 Jakub Jelinek <jakub@redhat.com>
4027
4028 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4029
d037099f 40302013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4031
4032 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4033 fields.
4034 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4035 enabled.
4036 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4037 (insert_cilk_frame): New prototype.
4038 (cilk_init_builtins): Likewise.
4039 (gimplify_cilk_spawn): Likewise.
4040 (c_cilk_install_body_w_frame_cleanup): Likewise.
4041 (cilk_detect_spawn_and_unwrap): Likewise.
4042 (cilk_set_spawn_marker): Likewise.
4043 (build_cilk_sync): Likewise.
4044 (build_cilk_spawn): Likewise.
4045 * cilk.c: New file.
4046
02774f2d 40472013-10-29 David Malcolm <dmalcolm@redhat.com>
4048
4049 Patch autogenerated by refactor_symtab.py from
4050 https://github.com/davidmalcolm/gcc-refactoring-scripts
4051 revision 58bb219cc090b2f4516a9297d868c245495ee622
4052
4053 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4054 to a true class hierarchy.
4055 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4056
31fe10fd 40572013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4058
4059 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4060
b1c06ff9 40612013-10-26 Jeff Law <law@redhat.com>
4062
1f78217c 4063 * c-common.c (c_define_builtins): Remove mudflap support.
4064 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 4065
48a972c8 40662013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 4067
4068 PR other/33426
4069 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4070 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4071
546a04b1 40722013-10-23 Jason Merrill <jason@redhat.com>
4073
4074 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4075
bc7bff74 40762013-10-11 Jakub Jelinek <jakub@redhat.com>
4077
d62c713e 4078 * c-common.h (omp_clause_mask::operator !=): New method.
4079 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4080 instead of if (mask & something) tests everywhere.
4081
bc7bff74 4082 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4083 201307 instead of 201107.
4084 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4085 (c_common_attribute_table): Add "omp declare target" and
4086 "omp declare simd" attributes.
4087 (handle_omp_declare_target_attribute,
4088 handle_omp_declare_simd_attribute): New functions.
4089 * c-omp.c: Include c-pragma.h.
4090 (c_finish_omp_taskgroup): New function.
4091 (c_finish_omp_atomic): Add swapped argument, if true,
4092 build the operation first with rhs, lhs arguments and use NOP_EXPR
4093 build_modify_expr.
4094 (c_finish_omp_for): Add code argument, pass it down to make_code.
4095 (c_omp_split_clauses): New function.
4096 (c_split_parallel_clauses): Removed.
4097 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4098 c_omp_declare_simd_clauses_to_decls): New functions.
4099 * c-common.h (omp_clause_mask): New type.
4100 (OMP_CLAUSE_MASK_1): Define.
4101 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4102 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4103 omp_clause_mask::operator |, omp_clause_mask::operator &,
4104 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4105 omp_clause_mask::operator ==): New methods.
4106 (enum c_omp_clause_split): New.
4107 (c_finish_omp_taskgroup): New prototype.
4108 (c_finish_omp_atomic): Add swapped argument.
4109 (c_finish_omp_for): Add code argument.
4110 (c_omp_split_clauses): New prototype.
4111 (c_split_parallel_clauses): Removed.
4112 (c_omp_declare_simd_clauses_to_numbers,
4113 c_omp_declare_simd_clauses_to_decls): New prototypes.
4114 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4115 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4116 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4117 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4118 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4119 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4120 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4121 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4122 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4123 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4124 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4125 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4126 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4127 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4128 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4129 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4130 PRAGMA_OMP_CLAUSE_UNIFORM.
4131
d7dcba40 41322013-10-09 Marc Glisse <marc.glisse@inria.fr>
4133
4134 PR tree-optimization/20318
4135 * c-common.c (handle_returns_nonnull_attribute): New function.
4136 (c_common_attribute_table): Add returns_nonnull.
4137
0b7282f1 41382013-10-03 Marc Glisse <marc.glisse@inria.fr>
4139
4140 PR c++/19476
4141 * c.opt (fcheck-new): Move to common.opt.
4142
51f553af 41432013-09-25 Marek Polacek <polacek@redhat.com>
4144 Jakub Jelinek <jakub@redhat.com>
4145
4146 PR sanitizer/58413
4147 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4148 an expression if we can prove it is correct.
4149 (ubsan_instrument_division): Likewise. Remove unnecessary
4150 check.
4151
05f893e1 41522013-09-18 Marek Polacek <polacek@redhat.com>
4153
4154 PR sanitizer/58411
4155 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4156 Declare it.
4157 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4158
236ce1d1 41592013-09-14 Iain Sandoe <iain@codesourcery.com>
4160
4161 PR target/48094
4162 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4163 fobjc-gc, freplace-objc-classes): Accept for LTO.
4164
f9f68d35 41652013-09-13 Jacek Caban <jacek@codeweavers.com>
4166
4167 * c-target.def: New hook
4168
ba2f764e 41692013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4170
4171 PR c++/43452
4172 * c.opt (Wdelete-incomplete): Add.
4173
73437615 41742013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4175
4176 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4177 (vector_types_compatible_elements_p): New function.
4178 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4179 declaration.
4180 (vector_types_compatible_elements_p): Declare.
4181
95af4c75 41822013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4183
4184 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4185 a virtual member function.
4186 (pp_simple_type_specifier): Remove.
4187 (pp_c_type_specifier): Likewise.
4188 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4189 Rename from pp_c_type_specifier. Adjust.
4190 (c_pretty_printer::c_pretty_printer): Do not assign to
4191 simple_type_specifier.
4192
eaab24b9 41932013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4194
4195 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4196 member function.
4197 (c_pretty_printer::storage_class_specifier): Likewise.
4198 (c_pretty_printer::initializer): Likewise.
4199 (pp_declaration): Remove.
4200 (pp_declaration_specifiers): Likewise.
4201 (pp_abstract_declarator): Likewise.
4202 (pp_declarator): Likewise.
4203 (pp_type_id): Likewise.
4204 (pp_statement): Likewise.
4205 (pp_constant): Likewise.
4206 (pp_id_expression): Likewise.
4207 (pp_primary_expression): Likewise.
4208 (pp_unary_expression): Likewise.
4209 (pp_multiplicative_expression): Likewise.
4210 (pp_conditional_expression): Likewise.
4211 (pp_assignment_expression): Likewise.
4212 (pp_expression): Likewise.
4213 (pp_c_type_id): Likewise.
4214 (pp_c_storage_class_specifier): Likewise.
4215 * c-pretty-print.c (pp_c_type_cast): Tidy.
4216 (pp_c_pointer): Likewise.
4217 (pp_c_type_specifier): Likewise.
4218 (pp_c_parameter_type_list): Likewise.
4219 (pp_c_function_definition): Likewise.
4220 (pp_c_init_declarator): Likewise.
4221 (pp_c_initializer_list): Likewise.
4222 (pp_c_constructor_elts): Likewise.
4223 (c_pretty_printer::direct_abstract_declarator): Likewise.
4224 (c_pretty_printer::declaration_specifiers): Likewise.
4225 (c_pretty_printer::primary_expression): Likewise.
4226 (c_pretty_printer::postfix_expression): Likewise.
4227 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4228 (c_pretty_printer::storage_class_specifier): Rename from
4229 pp_c_storage_class_specifier.
4230 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4231 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4232 storage_class_specifier, initializer, offset_list, flags.
4233
9e46467d 42342013-08-30 Marek Polacek <polacek@redhat.com>
4235
4236 * c-ubsan.c: New file.
4237 * c-ubsan.h: New file.
4238
36a8d9b9 42392013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4240
4241 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4242 member function.
4243 (c_pretty_printer::declaration_specifiers): Likewise.
4244 (c_pretty_printer::declarator): Likewise.
4245 (c_pretty_printer::abstract_declarator): Likewise.
4246 (c_pretty_printer::direct_abstract_declarator): Likewise.
4247 (c_pretty_printer::direct_declarator): Likewise.
4248 (c_pretty_printer::function_specifier): Likewise.
4249 (pp_declaration): Adjust.
4250 (pp_declaration_specifiers): Likewise.
4251 (pp_abstract_declarator): Likewise.
4252 (pp_direct_declarator): Likewise.
4253 (pp_function_specifier): Likewise.
4254 (pp_direct_abstract_declarator): Remove as unused.
4255 (pp_c_declaration): Remove.
4256 (pp_c_declaration_specifiers): Likewise.
4257 (pp_c_declarator): Likewise.
4258 (pp_c_direct_declarator): Likewise.
4259 (pp_c_function_specifier): Likewise.
4260 (pp_c_direct_abstract_declarator): Likewise.
4261 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4262 from pp_c_abstract_declarator. Adjust.
4263 (c_pretty_printer::direct_abstract_declarator): Rename from
4264 pp_c_direct_abstract_declarator. Adjust.
4265 (c_pretty_printer::function_specifier): Rename from
4266 pp_c_function_specifier. Adjust.
4267 (c_pretty_printer::declaration_specifiers): Rename from
4268 pp_c_declaration_specifiers. Adjust.
4269 (c_pretty_printer::direct_declarator): Rename from
4270 pp_c_direct_declarator. Adjust.
4271 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4272 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4273 (c_pretty_printer::c_pretty_printer): Do not assign to
4274 declaration, declaration_specifiers, declarator,
4275 direct_declarator, direct_abstract_declarator, function_specifier.
4276
30635c2e 42772013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4278
4279 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4280 virtual member function.
4281 (c_pretty_printer::multiplicative_expression): Likewise.
4282 (c_pretty_printer::conditional_expression): Likewise.
4283 (c_pretty_printer::assignment_expression): Likewise.
4284 (c_pretty_printer::expression): Likewise.
4285 (pp_unary_expression): Adjust.
4286 (pp_multiplicative_expression): Likewise.
4287 (pp_assignment_expression): Likewise.
4288 (pp_conditional_expression): Likewise.
4289 (pp_expression): Likewise.
4290 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
4291 from pp_c_unary_expression. Adjust.
4292 (c_pretty_printer::multiplicative_expression): Rename from
4293 pp_c_multiplicative_expression. Adjust.
4294 (c_pretty_printer::conditional_expression): Rename from
4295 pp_c_conditional_expression. Adjust.
4296 (c_pretty_printer::assignment_expression): Rename from
4297 pp_c_assignment_expression. Adjust.
4298 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
4299 (c_pretty_printer::c_pretty_printer): Do not assign to
4300 unary_expression, multiplicative_expression,
4301 conditional_expression, expression.
4302
027d08ed 43032013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4304
4305 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
4306 virtual member function.
4307 (pp_postfix_expression): Adjust.
4308 (pp_c_postfix_expression): Remove.
4309 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
4310 from pp_c_postfix_expression. Adjust.
4311 (c_pretty_printer::c_pretty_printer): Do not assign to
4312 postfix_expression.
4313
f873303a 43142013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4315
4316 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
4317 virtua member function.
4318 (pp_primary_expression): Adjust.
4319 (pp_c_primary_expression): Remove.
4320 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
4321 from pp_c_primary_expression. Adjust.
4322 (pp_c_initializer_list): Use pp_primary_expression.
4323 (c_pretty_printer::c_pretty_printer): Do not assign to
4324 primary_expression.
4325
08e3e481 43262013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4327
4328 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4329 * c-pretty-print.c (M_): Remove.
4330 (c_pretty_printer::translate_string): Define.
4331 (pp_c_type_specifier): Use it.
4332 (pp_c_primary_expression): Likewise.
4333 (pp_c_expression): Likewise.
4334
1fc4a87f 43352013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4336
4337 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
4338 virtual function.
4339 (pp_c_id_expression): Remove.
4340 (pp_id_expression): Adjust.
4341 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
4342 pp_c_id_expression. Adjust.
4343 (pp_c_postfix_expression): Use pp_id_expression.
4344 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
4345
a6cb161b 43462013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4347
4348 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4349 member function.
4350 (pp_constant): Adjust.
4351 (pp_c_constant): Remove.
4352 * c-pretty-print.c (c_pretty_printer::constant): Rename from
4353 pp_c_constant. Adjust.
4354 (pp_c_constant)
4355 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
4356 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
4357
eed6bc21 43582013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4359
4360 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
4361 (c_pretty_printer::c_pretty_printer): Declare.
4362 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
4363 c_pretty_printer_init. Adjust.
4364 (print_c_tree): Do not call c_pretty_printer_init.
4365 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
4366
df558d2e 43672013-08-09 Arnaud Charlet <charlet@adacore.com>
4368
4369 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
4370
42f9a786 43712013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
4372
4373 PR c++/58080
4374 * c-common.c (pointer_int_sum): Add bool parameter.
4375 * c-common.h (pointer_int_sum): Adjust declaration.
4376
f874ddad 43772013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4378
4379 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
4380 c_pretty_printer variable.
4381
a94db6b0 43822013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4383
4384 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
4385 (pp_base): Remove.
4386 (pp_c_base): Likewise. Adjust users.
4387 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
4388 (pp_c_whitespace): Do not call pp_base.
4389 (pp_c_left_paren): Likewise.
4390 (pp_c_right_paren): Likewise.
4391 (pp_c_left_brace): Likewise.
4392 (pp_c_right_brace): Likewise.
4393 (pp_c_left_bracket): Likewise.
4394 (pp_c_right_bracket): Likewise.
4395 (pp_c_dot): Likewise.
4396 (pp_c_ampersand): Likewise.
4397 (pp_c_star): Likewise.
4398 (pp_c_arrow): Likewise.
4399 (pp_c_semicolon): Likewise.
4400 (pp_c_complement): Likewise.
4401 (pp_c_exclamation): Likewise.
4402 (pp_c_direct_declarator): Likewise.
4403 (pp_c_ws_string): Likewise.
4404 (pp_c_identifier): Likewise.
4405 (pp_c_statement): Likewise.
4406 (print_c_tree): Likewise.
4407
1898176c 44082013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
4409
4410 PR c++/58072
4411 * c-common.c (c_parse_error): Catch user-defined literal tokens and
4412 provide useful error strings.
4413
70d60d1d 44142013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4415
4416 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
4417 printer functions instead of pp_string or operators and punctuators.
4418 (dump_generic_ada_node): Likewise.
4419 * c-pretty-print.c (pp_c_type_specifier): Likewise.
4420 (pp_c_relational_expression): Likewise.
4421 (pp_c_logical_or_expression): Likewise.
4422
dda4f0ec 44232013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4424
4425 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
4426 functions instead of pp_character.
4427 (pp_ada_tree_identifier): Likewise.
4428 (dump_ada_double_name): Likewise.
4429 (dump_ada_function_declaration): Likewise.
4430 (dump_ada_array_domains): Likewise.
4431 (dump_template_types): Likewise.
4432 (dump_generic_ada_node): Likewise.
4433 (print_ada_declaration): Likewise.
4434 (print_ada_struct_decl): Likewise.
4435 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4436
7aa04c8d 44372013-07-23 Tom Tromey <tromey@redhat.com>
4438
4439 * c-common.h (enum rid) <RID_GENERIC>: New constant.
4440 * c-common.c (c_common_reswords): Add _Generic.
4441
a04e8d62 44422013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
4443
4444 * c-common.c: Fix typos.
4445 * c-common.h: Likewise.
4446
a96c3cc1 44472013-07-13 Lubos Lunak <l.lunak@suse.cz>
4448
4449 PR c++/55203
4450 * c-common.c (c_common_attribute_table): Add warn_unused.
4451 (handle_warn_unused_attribute): New.
4452
da31536d 44532013-07-10 Jakub Jelinek <jakub@redhat.com>
4454
4455 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
4456 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
4457
839f2f70 44582013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
4459
4460 PR c++/57869
4461 * c.opt: Add Wconditionally-supported.
4462
73f353d0 44632013-07-08 Graham Stott <graham.stott@btinternet.com>
4464
1f78217c 4465 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 4466 unused variables l_length and l_node.
4467
21ebaa24 44682013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 4469
4470 PR c/57821
4471 * c-common.c (complete_array_type): Delay folding first index
4472 like other indices. When folding, check for index overflow.
4473
68ea4406 44742013-06-27 Marc Glisse <marc.glisse@inria.fr>
4475
4476 PR c++/57509
4477 * c-common.h (c_build_vec_perm_expr): New complain argument.
4478 * c-common.c (c_build_vec_perm_expr): Likewise.
4479 Use save_expr also in C++.
4480
60777f69 44812013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4482
4483 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
4484 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4485 * c-opts.c (c_common_post_options): Likewise.
4486
839f2f70 44872013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 4488
4489 * array-notation-common.c (length_mismatch_in_expr): Changed the
4490 parameter type's from a dynamic array to a vec_tree. Also removed
4491 the size parameters.
4492 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
4493 the change above.
4494
e9331eab 44952013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
4496
4497 * c-common.h (struct cilkplus_an_parts): New structure.
4498 (struct cilkplus_an_loop_parts): Likewise.
4499 (cilkplus_extract_an_triplets): New prototype.
4500 (fix_sec_implicit_args): Likewise.
4501 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
4502 (fix_sec_implicit_args): Likewise.
60777f69 4503
a9c99fc4 45042013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
4505
4506 * array-notation-common.c (find_inv_trees): Removed an unwanted
4507 typecasting.
4508 * c-common.h (struct inv_list::additional_tcodes): Changed type from
4509 enum rid to enum tree_code.
4510
f2526cce 45112013-06-11 Jan Hubicka <jh@suse.cz>
4512
4513 * c-common.c (handle_alias_ifunc_attribute): Do not set
4514 DECL_EXTERNAL for weakref variables.
4515 * c-pragma.c (handle_pragma_weak): Make sure aliases
4516 are not declared as external.
4517
09970d67 45182013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
4519
4520 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
4521 function from c/c-array-notation.c.
4522 (is_cilkplus_reduce_builtin): Likewise.
4523 (find_rank): Likewise.
4524 (extract_array_notation_exprs): Likewise.
4525 (replace_array_notations): Likewise.
4526 (find_inv_trees): Likewise.
4527 (replace_inv_trees): Likewise.
4528 (contains_array_notation_expr): Likewise.
4529 (find_correct_array_notation_type): Likewise.
4530 * c-common.h (struct inv_list): Moved this struct from the file
4531 c/c-array-notation.c and added a new field called additional tcodes.
4532 (length_mismatch_in_expr_p): New prototype.
4533 (is_cilkplus_reduce_builtin): Likewise.
4534 (find_rank): Likewise.
4535 (extract_array_notation_exprs): Likewise.
4536 (replace_array_notation): Likewise.
4537 (find_inv_trees): Likewise.
4538 (replace_inv_trees): Likewise.
4539 (find_correct_array_notation_type): Likewise.
839f2f70 4540
3c6d4197 45412013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
4542
4543 * c-common.c (c_define_builtins): When cilkplus is enabled, the
4544 function array_notation_init_builtins is called.
4545 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
4546 * c-common.def (ARRAY_NOTATION_REF): New tree.
4547 * c-common.h (build_array_notation_expr): New function declaration.
4548 (build_array_notation_ref): Likewise.
4549 (extract_sec_implicit_index_arg): New extern declaration.
4550 (is_sec_implicit_index_fn): Likewise.
4551 (ARRAY_NOTATION_CHECK): New define.
4552 (ARRAY_NOTATION_ARRAY): Likewise.
4553 (ARRAY_NOTATION_START): Likewise.
4554 (ARRAY_NOTATION_LENGTH): Likewise.
4555 (ARRAY_NOTATION_STRIDE): Likewise.
4556 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
4557 ARRAY_NOTATION_REF.
4558 (pp_c_expression): Likewise.
4559 * c.opt (flag_enable_cilkplus): New flag.
4560 * array-notation-common.c: New file.
4561
8e71dad2 45622013-05-14 Jakub Jelinek <jakub@redhat.com>
4563
4564 PR c++/57274
4565 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
4566
432dd330 45672013-05-10 Marc Glisse <marc.glisse@inria.fr>
4568
4569 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
4570 vectors.
4571
b156ec37 45722013-05-07 Han Shen <shenhan@google.com>
4573
4574 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
4575
1a087624 45762013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4577
4578 * c-common.c (check_user_alignment): Emit error for negative values.
4579
1638c736 45802013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4581
4582 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
4583
949dbf93 45842013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4585
4586 * c-cppbuiltin.c (c_cpp_builtins): Do not define
4587 __GXX_EXPERIMENTAL_CXX1Y__.
4588
9205a6cc 45892013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4590 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4591
4592 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
4593 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
4594 to simply use OPT_Wpointer_arith.
4595 (c_sizeof_or_alignof_type): Likewise.
4596
05d0bce1 45972013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4598
4599 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
4600
41609f8b 46012013-04-12 Jakub Jelinek <jakub@redhat.com>
4602
4603 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
4604 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
4605 specifiers.
4606
c671dc4f 46072013-04-07 Steven Bosscher <steven@gcc.gnu.org>
4608
4609 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
4610
ba125576 46112013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
4612
4613 * c-common.c (pointer_int_sum): Remove dead code.
4614
9d3fa937 46152013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
4616
4617 PR middle-end/56524
4618 * c-common.c (handle_optimize_attribute): Don't call
4619 save_optabs_if_changed.
4620
5ceebb21 46212013-03-05 Jakub Jelinek <jakub@redhat.com>
4622
4623 PR middle-end/56461
4624 * c-pch.c (pch_init): Free target_validity at the end.
4625
18eeed2b 46262013-03-04 Jakub Jelinek <jakub@redhat.com>
4627
4628 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
4629
a9196da9 46302013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
4631 Jakub Jelinek <jakub@redhat.com>
4632
4633 PR sanitizer/56454
4634 * c-common.c (handle_no_sanitize_address_attribute): New function.
4635 (c_common_attribute_table): Add no_sanitize_address attribute.
4636 (handle_no_address_safety_analysis_attribute): Add
4637 no_sanitize_address attribute, not no_address_safety_analysis
4638 attribute.
4639
15c27dda 46402013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 4641
4642 PR target/52555
4643 * c-common.c (handle_optimize_attribute): Call
4644 save_optabs_if_changed.
4645
19426fe1 46462013-02-18 Jakub Jelinek <jakub@redhat.com>
4647 Steven Bosscher <steven@gcc.gnu.org>
4648
4649 PR pch/54117
4650 * c-opts.c (c_common_post_options): If debug info is enabled
4651 and non-dwarf*, refuse to load PCH files and when writing PCH
4652 file warn.
4653
df936998 46542013-02-05 Jakub Jelinek <jakub@redhat.com>
4655
4656 PR middle-end/56167
4657 * c-common.c (handle_error_attribute): Fix condition.
4658
ae0c3984 46592013-01-30 Jakub Jelinek <jakub@redhat.com>
4660
4661 PR c++/55742
4662 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
4663
1c4973d7 46642013-01-18 Jason Merrill <jason@redhat.com>
4665
4666 PR target/54908
4667 * c.opt (-fextern-tls-init): New.
4668 * c-opts.c (c_common_post_options): Handle it.
4669
7c834436 46702013-01-09 Jakub Jelinek <jakub@redhat.com>
4671
4672 PR c/48418
4673 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
4674 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
4675 and is either negative or bigger or equal to type precision
4676 of the first operand.
4677
5abaa10a 46782012-12-03 Marek Polacek <polacek@redhat.com>
4679
4680 PR c/55570
4681 * c-common.c (check_user_alignment): Swap order of tests,
4682 check TREE_CODE first.
4683
324ca377 46842012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
4685
4686 PR c++/52654
4687 * c-common.h (overflow_type): New enum.
4688 (build_userdef_literal): Add overflow_type argument.
4689 (tree_userdef_literal): Add overflow_type.
4690 (USERDEF_LITERAL_OVERFLOW): New access macro.
4691 * c-common.c (build_userdef_literal): Add overflow_type
4692 argument.
4693 * c-lex.c (c_lex_with_flags): Add overflow_type to
4694 build_userdef_literal calls.
4695 (interpret_integer, interpret_float): Add overflow_type argument.
4696
b4c4a429 46972012-11-28 Richard Biener <rguenther@suse.de>
4698
4699 PR c/35634
4700 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4701 here and use a type with proper overflow behavior for types that would
4702 need to be promoted for the arithmetic.
4703
d413ffdd 47042012-11-23 Jakub Jelinek <jakub@redhat.com>
4705
4706 PR sanitizer/55435
4707 * c-common.c (handle_no_address_safety_analysis_attribute): New
4708 function.
4709 (c_common_attribute_table): Add no_address_safety_analysis.
4710
52bc861d 47112012-11-16 Simon Baldwin <simonb@google.com>
4712
4713 * c.opt: Add f[no-]canonical-system-headers.
4714 * c-opts.c (c_common_handle_option): Handle
4715 OPT_fcanonical_system_headers.
4716
2dd00636 47172012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
4718
4719 PR c++/54413
4720 * c-opts.c (c_common_handle_option): Set new flags.
4721 * c.opt: Describe new flags.
4722
d4701f6c 47232012-11-09 Jason Merrill <jason@redhat.com>
4724
4725 * c.opt (Wabi-tag): New.
4726
72d65da9 47272012-11-09 Andi Kleen <ak@linux.intel.com>
4728
4729 PR 55139
4730 * c-common.c (get_atomic_generic_size): Mask with
4731 MEMMODEL_MASK
4732
77a357e3 47332012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4734
4735 PR c/53063
4736 * c.opt (Wformat): Make it Alias Wformat=1.
4737 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
4738 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
4739 LangEnabledBy.
4740 (Wformat=): RejectNegative. Use LangEnabledBy.
4741 (Wnonnull): Use LangEnabledBy.
4742 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
4743 * c-format.c (set_Wformat): Delete.
4744 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
4745 (maybe_read_dollar_number): Likewise.
4746 (avoid_dollar_number): Likewise.
4747 (finish_dollar_format_checking): Likewise.
4748 (check_format_info): Likewise.
4749 (check_format_info_main): Likewise.
4750 (check_format_types): Likewise.
4751 (format_type_warning): Likewise.
4752 * c-common.c (int): Likewise.
4753 (check_function_sentinel): Likewise.
4754 * c-common.h (warn_format,set_Wformat): Do not declare here.
4755
45efa6b9 47562012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4757
4758 PR c/53063
4759 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
4760 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
4761 Use LangEnabledBy.
4762 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
4763 common.opt.
4764 (Wvariadic-macros): Init(1).
4765 * c-opts.c (c_common_handle_option): Do not handle them
4766 explicitly.
4767 (c_common_post_options): Likewise.
4768 (sanitize_cpp_opts): warn_unused_macros is now
4769 cpp_warn_unused_macros.
4770 (push_command_line_include): Likewise.
4771 * c-common.c (warn_unknown_pragmas): Do not define.
4772 * c-common.h (warn_unknown_pragmas): Do not declare.
4773
0e4e775a 47742012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4775
4776 PR c/51294
4777 * c-common.c (conversion_warning): Handle conditional expressions.
4778
8b447d3f 47792012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
4780
4781 PR c++/54930
4782 * c.opt (Wreturn_local_addr): Define new option.
4783
f4a61754 47842012-10-25 Jason Merrill <jason@redhat.com>
4785
ecb10e6a 4786 * c.opt (Wvirtual-move-assign): New.
4787
f4a61754 4788 * c.opt (Winherited-variadic-ctor): New.
4789
7b463b19 47902012-10-25 Marc Glisse <marc.glisse@inria.fr>
4791
4792 PR c++/54427
4793 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
4794
6adc88f8 47952012-10-23 Joseph Myers <joseph@codesourcery.com>
4796
4797 * c-common.h (pch_cpp_save_state): Declare.
4798 * c-target.def (c_preinclude): New hook.
4799 * c-opts.c (done_preinclude): New.
4800 (push_command_line_include): Handle default preincluded header.
4801 (cb_file_change): Call pch_cpp_save_state when calling
4802 push_command_line_include.
4803 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
4804 (pch_cpp_save_state): New.
4805 (pch_init): Call pch_cpp_save_state conditionally, instead of
4806 calling cpp_save_state.
4807
fa816b0b 48082012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4809
4810 PR c/53063
4811 PR c/40989
4812 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
4813 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
4814 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
4815 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
4816 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
4817 * c-opts.c (c_common_handle_option): Remove explicit handling from
4818 here.
4819 (c_common_post_options): Likewise.
4820
d214ccee 48212012-10-18 Eric Botcazou <ebotcazou@adacore.com>
4822
4823 * c-ada-spec.c (LOCATION_COL): Delete.
4824 (compare_location): New function.
4825 (compare_node): Use it.
4826 (compare_comment): Likewise.
4827
77b27208 48282012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
4829
4830 PR c/53063
4831 PR c/40989
4832 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
4833 * c-opts.c (c_common_handle_option): Do not set them here. Add
4834 comment.
4835 (c_common_post_options): Likewise.
4836
cc02ca4d 48372012-10-16 Eric Botcazou <ebotcazou@adacore.com>
4838
4839 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
4840 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
4841 Remove POINTER_TYPE handling, add large unsigned handling and use
4842 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
4843
57f872a2 48442012-10-12 Jakub Jelinek <jakub@redhat.com>
4845
4846 PR c/54381
4847 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
4848 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
4849 locs and array of 3 trees instead of just single loc and single
4850 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
4851 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
4852 For *cmp* builtins that take two sources strings report warnings
4853 about first and second source, not about destination and source.
4854
7354ad2e 48552012-10-12 Marc Glisse <marc.glisse@inria.fr>
4856
4857 PR c++/53055
4858 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
4859
1ac7f120 48602012-10-11 Eric Botcazou <ebotcazou@adacore.com>
4861
4862 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
4863 declaring something coming from another file.
4864
1e0cc9e3 48652012-10-10 Arnaud Charlet <charlet@adacore.com>
4866
1ac7f120 4867 PR ada/54845
1e0cc9e3 4868 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
4869
b0e7825e 48702012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
4871
4872 PR c++/54194
4873 * c-common.c (warn_about_parentheses): Add location_t parameter;
4874 use EXPR_LOC_OR_LOC.
4875 * c-common.h: Update declaration.
4876
41ed701a 48772012-10-09 Marc Glisse <marc.glisse@inria.fr>
4878
4879 PR c++/54427
4880 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
4881 more operations. Make error messages optional.
4882 * c-common.h (enum stv_conv): Moved from c-typeck.c.
4883 (scalar_to_vector): Declare.
4884
3740094c 48852012-10-08 Jason Merrill <jason@redhat.com>
4886
4887 * c-common.c (c_common_reswords): Add thread_local.
4888
ffcdbf9c 48892012-10-08 Dodji Seketeli <dodji@redhat.com>
4890
4891 PR c++/53528 C++11 attribute support
4892 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
4893 new functions.
4894 * c-common.c (check_cxx_fundamental_alignment_constraints): New
4895 static function.
4896 (handle_aligned_attribute): In choose strictest alignment
4897 among many. Use new check_cxx_fundamental_alignment_constraints.
4898 (handle_transparent_union_attribute): In c++11 attribute syntax,
4899 don't look through typedefs.
4900
ef34afc1 49012012-10-04 Arnaud Charlet <charlet@adacore.com>
4902
4903 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
4904 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
4905 out of dumpfile.h.
4906
f1ff4562 49072012-09-25 Dehao Chen <dehao@google.com>
4908
4909 PR middle-end/54645
ef34afc1 4910 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 4911 map when read in the pch.
4912
92a44a68 49132012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 4914
4915 * c-ada-spec.c: Style fixes.
4916
92a44a68 49172012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 4918
4919 * c.opt (-fada-spec-parent): Define new command line switch.
4920 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
4921 is specified, generate binding spec as a child of the specified unit.
4922
8eba82c2 49232012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
4924 Manuel López-Ibáñez <manu@gcc.gnu.org>
4925
4926 PR c++/53210
4927 * c.opt ([Winit-self]): Enabled by -Wall in C++.
4928
38682990 49292012-08-23 Arnaud Charlet <charlet@adacore.com>
4930
4931 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
4932 for pointers, and add missing Convention C pragma.
4933 (print_ada_struct_decl): Add missing aliased keyword.
4934 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
4935
f003f5dc 49362012-08-17 Jakub Jelinek <jakub@redhat.com>
4937
4938 * c-common.c (sizeof_pointer_memaccess_warning): New function.
4939 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
4940 * c-opts.c (c_common_handle_option): Enable it for -Wall.
4941 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
4942 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
4943
ec11736b 49442012-08-10 Richard Guenther <rguenther@suse.de>
4945
4946 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
4947
5f7f600e 49482012-08-07 Steven Bosscher <steven@gcc.gnu.org>
4949
4950 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
4951 instead of separate pp_newline and pp_flush.
4952 (print_c_tree): Likewise.
4953
758a38ab 49542012-07-26 Richard Henderson <rth@redhat.com>
4955
4956 * c-common.c (handle_hot_attribute): Allow labels.
4957 (handle_cold_attribute): Likewise.
4958
9ca77b08 49592012-07-20 Jakub Jelinek <jakub@redhat.com>
4960
4961 PR c++/28656
4962 * c-common.c (check_function_nonnull): Handle multiple nonnull
4963 attributes properly.
4964
b9ed1410 49652012-07-16 Steven Bosscher <steven@gcc.gnu.org>
4966
4967 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
4968 * c-ada-spec.c: Likewise.
4969 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
4970
c2a65b90 49712012-07-14 Steven Bosscher <steven@gcc.gnu.org>
4972
4973 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
4974 Remove code conditional on it.
4975
88c5a1d1 49762012-07-11 Steven Bosscher <steven@gcc.gnu.org>
4977
4978 * c-gimplify.c: Do not include basic-block.h.
4979 * c-common.c: Do not include linfuncs.h.
4980
4a020a8c 49812012-07-08 Steven Bosscher <steven@gcc.gnu.org>
4982
4983 * c-common.h: Include tree.h.
4984
c28ddc97 49852012-07-02 Jason Merrill <jason@redhat.com>
4986
4987 PR c++/53524
4988 * c-common.c (get_priority): Call default_conversion.
4989
405ed67f 49902012-07-01 Uros Bizjak <ubizjak@gmail.com>
4991
4992 * c-pch.c (c_common_write_pch): Remove unused variables.
4993
e53d55e7 49942012-06-29 Steven Bosscher <steven@gcc.gnu.org>
4995
4996 * cppspec.c: Moved from gcc/ to here.
4997
3d9c25ec 49982012-06-27 Kai Tietz <ktietz@redhat.com>
4999
5000 PR preprocessor/37215
5001 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5002
3169c57a 50032012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5004
5005 * c-common.h (c_common_print_pch_checksum): Remove.
5006 * c-pch.c: Do not include output.h.
5007 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5008 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5009 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5010 (struct c_pch_header): Remove.
5011 (get_ident): Update gpch version.
5012 (pch_init): Do not print executable_checksum to asm_out_file.
5013 Do not fail if there is no asm_out_file to read back from. Set
5014 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5015 (c_common_write_pch): Verify that nothing was written to asm_out_file
5016 since pch_init was called. Do not write a c_pch_header, and do not
5017 copy from asm_out_file to the PCH.
5018 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5019 the content of asm_out_file from the PCH.
5020 (c_common_print_pch_checksum): Remove.
5021 * c-opts.c (c_common_init): Print out executable_checksum directly.
5022
ff6624bc 50232012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5024
5025 * c-target.def (objc_declare_unresolved_class_reference,
5026 objc_declare_class_definition): Add new hooks.
5027
367b1459 50282012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5029
5030 * c-lex.c: Do not include output.h.
5031 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5032 Remove uses of ASM_OUTPUT_IDENT.
5033
bf0cb017 50342012-06-15 Marc Glisse <marc.glisse@inria.fr>
5035
5036 PR c++/51033
5037 * c-common.h (c_build_vec_perm_expr): Move decl here.
5038 * c-common.c (c_build_vec_perm_expr): Move definition
5039 here.
5040
b37a3600 50412012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5042
5043 * c.opt (fconserve-space): Turn into a no-op.
5044
19931eea 50452012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 5046
5047 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5048 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5049 both the start and end of the function.
5050
dff12c10 50512012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5052
5053 * c-common.c: Do not include output.h.
5054 * c-pragma.c: Likewise.
5055
5f9e7dd5 50562012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5057
5058 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5059 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5060 (lang_decl_name): Handle namespace decls.
5061
b5369b7d 50622012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5063
5064 * c-ada-spec.c: Do not include output.h.
5065 * c-semantics.c: Likewise.
5066
8032877c 50672012-05-29 Joseph Myers <joseph@codesourcery.com>
5068
5069 * c-common.c: Fix typo.
5070
7843e4bc 50712012-05-29 Michael Matz <matz@suse.de>
5072
5073 * c-common.h (c_expand_decl): Remove prototype.
5074
8cf857d4 50752012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5076
5077 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5078 * c-opts.c (c_common_handle_option): Remove code handling
5079 warn_missing_braces.
5080
8b64dc3c 50812012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5082
5083 PR c++/25137
5084 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5085 -Wmissing_braces.
5086
43cbde16 50872012-05-22 Dodji Seketeli <dodji@redhat.com>
5088
5089 PR c++/53322
5090 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5091
db490cb6 50922012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5093
5094 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5095 * c-opts.c (c_common_handle_option): Do not handle explicitly
5096 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5097
a60f3e81 50982012-05-16 Dodji Seketeli <dodji@redhat.com>
5099
5100 PR preprocessor/7263
5101 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5102 to cpp_classify_number. For diagnostics, use the precise location
5103 instead of the global input_location.
5104
82e6ef7c 51052012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5106
cd4797ff 5107 PR c++/11856
82e6ef7c 5108 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5109
258a168d 51102012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5111
82e6ef7c 5112 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 5113
d3b7ee7c 51142012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5115
5116 PR 53063
5117 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5118 Wreorder): Use LangEnabledBy.
5119 * c-opts.c (c_common_handle_option): Do not enable them
5120 explicitly. Call lang-specific generated functions.
5121 (c_common_post_options): Do not set them here.
5122
70059cea 51232012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5124
5125 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5126 Wmissing-field-initializers,Wmissing-parameter-type,
5127 Wold-style-declaration,Woverride-init): Use EnabledBy.
5128 * c-opts.c (c_common_post_options): Do not set here explicitly.
5129
fbb6fbd8 51302012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5131
5132 PR 53063
5133 * c-opts.c (c_common_handle_option): Use handle_generated_option
5134 to enable sub-options.
5135
61f69bc9 51362012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5137
5138 PR c++/53158
5139 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5140
5a1fe2db 51412012-05-10 Richard Guenther <rguenther@suse.de>
5142
5143 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5144 adjust commentary about TYPE_IS_SIZETYPE types.
5145
d42e7c5a 51462012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5147
5148 PR c++/53261
5149 * c-common.c (warn_logical_operator): Check that argument of
5150 integer_zerop is not NULL.
5151
686369e8 51522012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5153
5154 PR c/43772
5155 * c-common.c (warn_logical_operator): Do not warn if either side
5156 is already true or false.
5157
03fe1dc2 51582012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5159
5160 PR c/51712
5161 * c-common.c (expr_original_type): New.
5162 (shorten_compare): Do not warn for enumeration types.
5163
bba5a206 51642012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5165
5166 * c.opt (fpermissive): Add Var(flag_permissive).
5167
7059d45d 51682012-04-30 Marc Glisse <marc.glisse@inria.fr>
5169
5170 PR c++/51033
5171 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5172 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5173
7edb1062 51742012-04-30 Dodji Seketeli <dodji@redhat.com>
5175
5176 Add -Wvarargs option
5177 * c.opt (Wvarargs): Define new option.
5178
068bea1e 51792012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5180
5181 * c-common.c (check_function_arguments): Replace
5182 Wmissing-format-attribute with Wsuggest-attribute=format.
5183
b86527d8 51842012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5185
5186 * c.opt (Wsuggest-attribute=format): New. Alias of
5187 Wmissing-format-attribute.
5188 * c-format.c (decode_format_type): Replace
5189 Wmissing-format-attribute with Wsuggest-attribute=format.
5190 (check_function_format): Likewise.
5191
19931eea 51922012-04-27 Ollie Wild <aaw@google.com>
76d340ac 5193
5194 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5195 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5196 * c.opt: Add Wliteral-suffix.
5197
29438999 51982012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5199
5200 PR c/44774
5201 * c.opt (Wpedantic): New.
5202 (pedantic): Alias Wpedantic.
5203 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5204 (c_common_post_options): Likewise.
5205 (sanitize_cpp_opts): Likewise.
5206 * c-lex.c (interpret_float): Likewise.
5207 * c-format.c (check_format_types): Likewise.
5208 * c-common.c (pointer_int_sum): Likewise.
5209 (c_sizeof_or_alignof_type): Likewise.
5210 (c_add_case_label): Likewise.
5211 (c_do_switch_warnings): Likewise.
5212 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5213
4f9d6b8b 52142012-04-15 Jason Merrill <jason@redhat.com>
5215
5216 PR c++/52818
5217 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5218 (C_STD_NAME): Distinguish between C++98 and C++11.
5219
74bdbe96 52202012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5221
5222 PR target/52624
5223 * c-common.h (uint16_type_node): Rename into...
5224 (c_uint16_type_node): ...this.
5225 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5226 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5227
3d177e8c 52282012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5229
5230 * c-common.c (warn_if_unused_value): Move definition to here.
5231 * c-common.h (warn_if_unused_value): Move declaration to here.
5232
6a9a958f 52332012-03-23 William Bader <williambader@hotmail.com>
5234
5235 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5236
543efdbe 52372012-03-20 Jason Merrill <jason@redhat.com>
5238
5239 * c-common.h (enum cxx_dialect): Add cxx1y.
5240 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5241 test.
5242 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5243 * c-opts.c (c_common_post_options): Likewise.
5244 (set_std_cxx1y): New.
5245 (c_common_handle_option): Call it.
5246 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5247
62206d34 52482012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5249
5250 PR c++/14710
5251 * c.opt ([Wuseless-cast]): Add.
5252
fadf62f4 52532012-03-16 Richard Guenther <rguenther@suse.de>
5254
5255 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5256
249faa35 52572012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5258
5259 PR c++/44783
5260 * c.opt (ftemplate-backtrace-limit) Add.
5261
126b6848 52622012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5263
5264 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5265 handling.
5266 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5267 (init_pragma): Don't register extern_prefix.
5268
a51edb4c 52692012-03-12 Richard Guenther <rguenther@suse.de>
5270
5271 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5272 (builtin_type_for_size): Likewise.
5273
0f6a7cb7 52742012-02-13 Jakub Jelinek <jakub@redhat.com>
5275
5276 PR c++/52215
5277 * c-common.c (sync_resolve_params): Don't decide whether to convert
5278 or not based on TYPE_SIZE comparison, convert whenever arg_type
5279 is unsigned INTEGER_TYPE.
5280
0779e32c 52812012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
5282
5283 PR c/52118
5284 * c.opt ([Wunused-local-typedefs]): Fix description.
5285
baec58e1 52862012-01-24 Mike Stump <mikestump@comcast.net>
5287
5288 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
5289 exactly.
5290
c779d8cc 52912012-01-18 Richard Guenther <rguenther@suse.de>
5292
5293 * c-opts.c (c_common_post_options): Reset LTO flags if
5294 we are about to generate a PCH.
5295
ee917d24 52962012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
5297
5298 PR c++/51777
5299 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
5300 use pp_unsigned_wide_integer.
5301
90e2341f 53022012-01-10 Richard Guenther <rguenther@suse.de>
5303
5304 PR middle-end/51806
5305 * c-opts.c (c_common_handle_option): Move -Werror handling
5306 to language independent code.
5307
9ea022ce 53082012-01-05 Richard Guenther <rguenther@suse.de>
5309
5310 PR middle-end/51764
5311 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
5312 from common.opt.
5313
3df19e1b 53142011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
5315
5316 PR c++/51316
5317 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5318 of array types with an unknown bound.
5319
32074525 53202011-12-20 Joseph Myers <joseph@codesourcery.com>
5321
5322 * c-common.c (flag_isoc99): Update comment to refer to C11.
5323 (flag_isoc1x): Change to flag_isoc11.
5324 * c-common.h (flag_isoc99): Update comment to refer to C11.
5325 (flag_isoc1x): Change to flag_isoc11.
5326 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
5327 C11.
5328 * c-opts.c (set_std_c1x): Change to set_std_c11.
5329 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
5330 Call set_std_c11.
5331 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
5332 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
5333 * c.opt (std=c1x): Change to std=c11. Document as non-draft
5334 standard.
5335 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
5336 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
5337 (std=gnu1x): Make alias of std=gnu11.
5338
fca86134 53392011-12-19 Jason Merrill <jason@redhat.com>
5340
5341 PR c++/51228
5342 * c-common.c (handle_transparent_union_attribute): Check the first
5343 field if the type is complete.
5344
aa4313eb 53452011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
5346
5347 PR libstdc++/51365
5348 * c-common.c (RID_IS_FINAL): Add.
5349 * c-common.h (RID_IS_FINAL): Add.
5350
3f3d5ad4 53512011-11-30 Iain Sandoe <iains@gcc.gnu.org>
5352
5353 * c.opt (fgnu-runtime): Provide full description.
5354 (fnext-runtime): Likewise.
5355 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
5356
c4606d19 53572011-11-28 Andrew MacLeod <amacleod@redhat.com>
5358
5359 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
5360 predefines in one place. Add LOCK_FREE predefines.
5361 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
5362 new func.
5363
1d581089 53642011-11-24 Andrew MacLeod <amacleod@redhat.com>
5365
5366 PR c/51256
19931eea 5367 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 5368 conditions
19931eea 5369 (resolve_overloaded_atomic_exchange,
5370 resolve_overloaded_atomic_compare_exchange,
1d581089 5371 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
5372 error_mark_node for error conditions.
19931eea 5373
6aa221fa 53742011-11-08 Richard Guenther <rguenther@suse.de>
5375
5376 PR middle-end/51010
5377 c-family/
5378
4c0315d0 53792011-11-07 Richard Henderson <rth@redhat.com>
5380 Aldy Hernandez <aldyh@redhat.com>
5381 Torvald Riegel <triegel@redhat.com>
5382
5383 Merged from transactional-memory.
5384
5385 * c-common.c (handle_tm_wrap_attribute,
5386 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
5387 (struct c_common_reswords): Added __transaction* keywords.
5388 (struct c_common_attribute_table): Added transaction* and tm_regparm
5389 attributes.
5390 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
5391 masks.
5392 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
5393 find_tm_attribute): Declare.
5394
920f5a70 53952011-11-07 Jason Merrill <jason@redhat.com>
5396
5397 PR c++/35688
5398 * c-common.c, c-common.h: Revert yesterday's changes.
5399
b4f861b4 54002011-11-06 Jason Merrill <jason@redhat.com>
5401
5402 PR c++/35688
5403 * c-common.c (decl_has_visibility_attr): Split out from...
5404 (c_determine_visibility): ...here.
5405 * c-common.h: Declare it.
5406
83e25171 54072011-11-06 Joseph Myers <joseph@codesourcery.com>
5408
5409 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
5410 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
5411 type.
5412 (check_user_alignment): New. Split out of
5413 handle_aligned_attribute. Disallow integer constants with
5414 noninteger types. Conditionally allow zero.
5415 (handle_aligned_attribute): Use check_user_alignment.
5416 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
5417
1cd6e20d 54182011-11-06 Andrew MacLeod <amacleod@redhat.com>
5419 Richard Henderson <rth@redhat.com>
5420
5421 Merged from cxx-mem-model.
5422
5423 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 5424 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 5425 parameters that are the same type size.
5426 (get_atomic_generic_size): New. Find size of generic
5427 atomic function parameters and do typechecking.
5428 (add_atomic_size_parameter): New. Insert size into parameter list.
5429 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
5430 either __atomic_exchange_n or external library call.
19931eea 5431 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 5432 __atomic_compare_exchange to either _n variant or external library call.
19931eea 5433 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 5434 __atomic_load_n or an external library call.
5435 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
5436 __atomic_store_n or an external library call.
5437 (resolve_overloaded_builtin): Handle new __atomic builtins.
5438
7549df0d 54392011-11-04 Eric Botcazou <ebotcazou@adacore.com>
5440
5441 PR c++/50608
5442 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
5443 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
5444 <INDIRECT_REF>: Return the argument.
5445 <ARRAY_REF>: Remove special code for negative offset.
5446 Call fold_build_pointer_plus instead of size_binop.
5447 (fold_offsetof): Remove STOP_REF argument and adjust.
5448 * c-common.h (fold_offsetof_1): Declare.
5449 (fold_offsetof): Remove STOP_REF argument.
5450
7e783eb3 54512011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
5452
5453 PR c++/50810
5454 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5455 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5456 Wnarrowing for C++0x and C++98.
5457 * c.opt ([Wnarrowing]): Update.
5458
8fe701f5 54592011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
5460
5461 PR c++/44277
5462 * c.opt: Add Wzero-as-null-pointer-constant.
5463
0d84dc2d 54642011-10-31 Jason Merrill <jason@redhat.com>
5465
67031f52 5466 * c.opt (-fdeduce-init-list): Off by default.
5467
0d84dc2d 5468 PR c++/50920
5469 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
5470 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
5471 and -Wc++11-compat.
5472 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
5473
66f24c41 54742011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
5475
5476 PR c++/30066
5477 * c.opt (fvisibility-inlines-hidden): Description change.
5478
244db24d 54792011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
5480
5481 Implement C++11 user-defined literals.
5482 * c-common.c (build_userdef_literal): New.
5483 * c-common.def: New tree code.
5484 * c-common.h (tree_userdef_literal): New tree struct and accessors.
5485 * c-lex.c (interpret_float): Add suffix parm.
5486 (c_lex_with_flags): Build literal tokens.
5487
235be70f 54882011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5489
5490 PR c++/50841
5491 Revert:
5492 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5493
5494 PR c++/50810
5495 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5496 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5497 Wnarrowing for C++0x and C++98.
5498 * c.opt ([Wnarrowing]): Update.
5499
4fe0fb1c 55002011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5501
5502 PR c++/50810
5503 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5504 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5505 Wnarrowing for C++0x and C++98.
5506 * c.opt ([Wnarrowing]): Update.
5507
5f7504f9 55082011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
5509
5510 PR c++/45385
5511 * c-common.c (conversion_warning): Remove code looking for
5512 artificial operands.
5513
2a688977 55142011-10-18 Dodji Seketeli <dodji@redhat.com>
5515
5516 PR bootstrap/50760
5517 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 5518 !NO_IMPLICIT_EXTERN_C.
2a688977 5519
326e3391 55202011-10-17 Michael Spertus <mike_spertus@symantec.com>
5521
5522 * c-common.c (c_common_reswords): Add __bases,
5523 __direct_bases.
5524 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
5525
55262011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
5527
5528 PR c++/50757
5529 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
5530
62db153a 55312011-10-15 Tom Tromey <tromey@redhat.com>
5532 Dodji Seketeli <dodji@redhat.com>
5533
5534 * c.opt (fdebug-cpp): New option.
5535 * c-opts.c (c_common_handle_option): Handle the option.
5536 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
5537 output stream in parameter. Factorized from ...
5538 (maybe_print_line): ... this. Dump location debug information when
5539 -fdebug-cpp is in effect.
5540 (print_line_1): New static function. Takes an output stream in
5541 parameter. Factorized from ...
5542 (print_line): ... here. Dump location information when -fdebug-cpp
5543 is in effect.
5544 (scan_translation_unit): Dump location information when
5545 -fdebug-cpp is in effect.
5546
ce70f433 55472011-10-15 Tom Tromey <tromey@redhat.com>
5548 Dodji Seketeli <dodji@redhat.com>
5549
5550 * c.opt (ftrack-macro-expansion): New option. Handle it with and
5551 without argument.
5552 * c-opts.c (c_common_handle_option)<case
5553 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
5554 cases. Handle -ftrack-macro-expansion with and without argument.
5555
97bfb9ef 55562011-10-15 Tom Tromey <tromey@redhat.com>
5557 Dodji Seketeli <dodji@redhat.com>
5558
5559 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
5560 (print_line, cb_define, do_line_change): Adjust to avoid touching
5561 the internals of struct line_map. Use the public API instead.
5562 * c-pch.c (c_common_read_pch): Likewise.
5563 * c-lex.c (fe_file_change): Likewise.
5564
326e3391 55652011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
5566
5567 PR c++/17212
5568 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
5569
55702011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
5571
5572 PR c++/33067
5573 * c-pretty-print.c (pp_c_floating_constant): Output
5574 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
5575
b9a16870 55762011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
5577
5578 * c-common.c (def_builtin_1): Delete old interface with two
5579 parallel arrays to hold standard builtin declarations, and replace
5580 it with a function based interface that can support creating
5581 builtins on the fly in the future. Change all uses, and poison
5582 the old names. Make sure 0 is not a legitimate builtin index.
5583 * c-omp.c (c_finish_omp_barrier): Ditto.
5584 (c_finish_omp_taskwait): Ditto.
5585 (c_finish_omp_flush): Ditto.
5586
c7964868 55872011-10-11 Tristan Gingold <gingold@adacore.com>
5588
5589 * c.opt: (fallow-parameterless-variadic-functions): New.
5590
a4e3ffad 55912011-09-08 Dodji Seketeli <dodji@redhat.com>
5592
5593 PR c++/33255 - Support -Wunused-local-typedefs warning
5594 * c-common.h (struct c_language_function::local_typedefs): New
5595 field.
19931eea 5596 (record_locally_defined_typedef, maybe_record_typedef_use)
5597 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 5598 * c-common.c (record_locally_defined_typedef)
19931eea 5599 (maybe_record_typedef_use)
5600 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 5601 * c.opt: Declare new -Wunused-local-typedefs flag.
5602
737a23cc 56032011-09-06 Eric Botcazou <ebotcazou@adacore.com>
5604
5605 PR middle-end/50266
5606 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
5607 computations.
5608
7542c3b4 56092011-09-05 Richard Guenther <rguenther@suse.de>
5610
5611 * c-common.c (complete_array_type): Use ssize_int (-1) instead
5612 of integer_minus_one_node for empty array upper bounds.
5613
1dc92c59 56142011-08-28 Dodji Seketeli <dodji@redhat.com>
5615
5616 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
5617 it's the first time it's being called on this main TU.
5618
2bdf2b6e 56192011-08-24 Richard Guenther <rguenther@suse.de>
5620
5621 PR c/49396
5622 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
5623
56242011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 5625
5626 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
5627 defined in cpp_init_builtins and c_cpp_builtins.
5628
bff4ad11 56292011-08-19 Joseph Myers <joseph@codesourcery.com>
5630
5631 * c-common.c (c_common_reswords): Add __builtin_complex.
5632 * c-common.h (RID_BUILTIN_COMPLEX): New.
5633
985c6e3a 56342011-08-18 Joseph Myers <joseph@codesourcery.com>
5635
5636 * c-common.c (c_common_reswords): Add _Noreturn.
5637 (keyword_is_function_specifier): Handle RID_NORETURN.
5638 * c-common.h (RID_NORETURN): New.
5639
92a44a68 56402011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 5641
5642 * c-common.c (unsafe_conversion_p): New function. Check if it is
5643 unsafe to convert an expression to the type.
5644 (conversion_warning): Adjust, use unsafe_conversion_p.
5645 * c-common.h (unsafe_conversion_p): New function declaration.
5646
2169f33b 56472011-08-02 Jakub Jelinek <jakub@redhat.com>
5648
5649 * c-common.h (c_finish_omp_atomic): Adjust prototype.
5650 (c_finish_omp_taskyield): New prototype.
5651 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
5652 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
5653 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
5654 or RHS1 have side-effects, evaluate those too in the right spot,
5655 if it is a decl and LHS is also a decl, error out if they
5656 aren't the same.
5657 (c_finish_omp_taskyield): New function.
5658 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
5659 * c-pragma.c (omp_pragmas): Add taskyield.
5660 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
5661 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
5662 PRAGMA_OMP_CLAUSE_MERGEABLE.
5663
ab77850e 56642011-07-25 Dodji Seketeli <dodji@redhat.com>
5665
5666 * c-common.h (set_underlying_type): Remove parm name from
5667 declaration.
5668
6ee97920 56692011-07-25 Romain Geissler <romain.geissler@gmail.com>
5670
5671 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 5672
dc251364 56732011-07-22 Jason Merrill <jason@redhat.com>
5674
1a2a35f0 5675 PR c++/49793
5676 * c.opt (Wnarrowing): New.
5677
27282252 5678 PR c++/30112
5679 * c-common.h: Declare c_linkage_bindings.
5680 * c-pragma.c (handle_pragma_redefine_extname): Use it.
5681
dc251364 5682 PR c++/49813
5683 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
5684 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
5685 as flag_isoc99 for 'restrict'.
5686 (pp_c_specifier_qualifier_list): Likewise for _Complex.
5687
fc501191 56882011-07-21 Ian Lance Taylor <iant@google.com>
5689
5690 PR middle-end/49705
5691 * c-common.c (c_disable_warnings): New static function.
5692 (c_enable_warnings): New static function.
5693 (c_fully_fold_internal): Change local unused_p to bool. Call
5694 c_disable_warnings and c_enable_warnings rather than change
5695 c_inhibit_evaluation_warnings.
5696
07b8f133 56972011-07-20 Jason Merrill <jason@redhat.com>
5698
5699 PR c++/6709 (DR 743)
5700 PR c++/42603 (DR 950)
5701 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
5702 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
5703 (CPP_DECLTYPE): New.
5704 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
5705
2cc66f2a 57062011-07-19 Richard Guenther <rguenther@suse.de>
5707
5708 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
5709 * c-omp.c (c_finish_omp_for): Likewise.
5710
3c802a1e 57112011-07-12 Eric Botcazou <ebotcazou@adacore.com>
5712
5713 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
5714 body on the next line.
5715
98a33d9f 57162011-07-08 Jason Merrill <jason@redhat.com>
5717
3115bda0 5718 PR c++/45437
5719 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
5720
98a33d9f 5721 PR c++/49673
5722 * c-common.c (c_apply_type_quals_to_decl): Don't check
5723 TYPE_NEEDS_CONSTRUCTING.
5724
c38a75b7 57252011-07-06 Richard Guenther <rguenther@suse.de>
5726
5727 * c-common.c (c_common_nodes_and_builtins):
5728 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
5729
e593356b 57302011-07-05 Richard Guenther <rguenther@suse.de>
5731
5732 * c-common.c (c_common_nodes_and_builtins): Build all common
5733 tree nodes first.
5734
fca0886c 57352011-06-27 Jakub Jelinek <jakub@redhat.com>
5736
a68f7a8d 5737 * c-common.h (c_tree_chain_next): New static inline function.
5738
fca0886c 5739 * c-common.c (check_builtin_function_arguments): Handle
5740 BUILT_IN_ASSUME_ALIGNED.
5741
2797f13a 57422011-06-21 Andrew MacLeod <amacleod@redhat.com>
5743
5744 * c-common.c: Add sync_ or SYNC__ to builtin names.
5745 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 5746
57472011-06-20 Pierre Vittet <piervit@pvittet.com>
5748
5749 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
5750 handler.
5751 (gen_pragma_handler): New union.
5752 (internal_pragma_handler): New type.
5753 (c_register_pragma_with_data)
5754 (c_register_pragma_with_expansion_and_data): New functions.
5755
5756 * c-pragma.c (registered_pragmas, c_register_pragma_1)
5757 (c_register_pragma, c_register_pragma_with_expansion)
5758 (c_invoke_pragma_handler): Changed to work with
5759 internal_pragma_handler.
5760 (c_register_pragma_with_data)
5761 (c_register_pragma_with_expansion_and_data): New functions.
5762
218e3e4e 57632011-06-14 Joseph Myers <joseph@codesourcery.com>
5764
5765 * c-common.c: Include common/common-target.h.
5766 (handle_section_attribute): Use
5767 targetm_common.have_named_sections.
5768 * c-cppbuiltin.c: Include common/common-target.h.
5769 (c_cpp_builtins): Use targetm_common.except_unwind_info.
5770
41e53ed2 57712011-06-10 Richard Guenther <rguenther@suse.de>
5772
5773 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
5774 to print a IDENTIFIER_NODE.
5775
a6f06169 57762011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5777 Joseph Myers <joseph@codesourcery.com>
5778
5779 * c.opt (fbuilding-libgcc): New option.
5780 * c-cppbuiltin.c (c_cpp_builtins): Define
5781 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
5782
1ea9269b 57832011-06-07 Jason Merrill <jason@redhat.com>
5784
8ce59854 5785 * c-common.c (max_tinst_depth): Lower default to 900.
5786
1ea9269b 5787 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
5788
1af0124d 57892011-06-07 Richard Guenther <rguenther@suse.de>
5790
5791 * c-common.c (c_common_nodes_and_builtins): Do not set
5792 size_type_node or call set_sizetype.
5793
0e9a4c01 57942011-06-07 Dodji Seketeli <dodji@redhat.com>
5795
5796 PR debug/49130
5797 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 5798 type when using pointer comparison to compare types.
0e9a4c01 5799
90b40725 58002011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
5801
5802 * c.opt: Add -Wdelete-non-virtual-dtor.
5803 * c-opts.c (c_common_handle_option): Include it in -Wall.
5804
fc9c9e87 58052011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
5806
5807 PR bootstrap/49190
5808
5809 Revert:
5810 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5811
5812 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5813 not tree_common.
5814
d0389adc 58152011-05-27 Jakub Jelinek <jakub@redhat.com>
5816
5817 PR c++/49165
5818 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
5819 C++ don't call c_common_truthvalue_conversion on void type arms.
5820
cacfdc02 58212011-05-27 Nathan Froyd <froydnj@codesourcery.com>
5822
5823 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
5824 (stmt_list_stack): Define.
5825 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
5826 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
5827
027fc6ef 58282011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5829
5830 * c-common.c (warning_candidate_p): Check for BLOCKs.
5831
f21317a1 58322011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5833
5834 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5835 not tree_common.
5836
789e953d 58372011-05-25 Jakub Jelinek <jakub@redhat.com>
5838
5839 * c-common.c (def_fn_type): Remove extra va_end.
5840
7f506bca 58412011-05-23 Jason Merrill <jason@redhat.com>
5842
5843 PR c++/48106
5844 * c-common.c (c_common_get_narrower): New.
5845 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
5846
774e9d58 58472011-05-23 Nathan Froyd <froydnj@codesourcery.com>
5848
5849 * c-common.h (check_function_arguments): Tweak prototype of
5850 check_function_arguments.
5851 * c-common.c (check_function_arguments): Likewise. Adjust
5852 calls to check_function_nonnull, check_function_format, and
5853 check_function_sentinel.
5854 (check_function_sentinel): Take a FUNCTION_TYPE rather than
5855 separate attributes and typelist arguments. Use
5856 FOREACH_FUNCTION_ARGS to iterate over argument types.
5857
23407dc9 58582011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5859
5860 * c-common.c (c_common_reswords): Reorder.
5861 * c-common.h (rid): Likewise.
5862
3a939d12 58632011-05-10 Nathan Froyd <froydnj@codesourcery.com>
5864
5865 * c-common.c (def_fn_type): Don't call build_function_type, call
5866 build_function_type_array or build_varargs_function_type_array
5867 instead.
5868 (c_common_nodes_and_builtins): Likewise.
5869
b6e3dd65 58702011-05-05 Nathan Froyd <froydnj@codesourcery.com>
5871
5872 * c-common.c (c_add_case_label): Omit the loc argument to
5873 build_case_label.
5874 * c-common.h (build_case_label): Remove.
5875 * c-semantics.c (build_case_label): Remove.
5876
4232a958 58772011-05-05 Joseph Myers <joseph@codesourcery.com>
5878
5879 * c-objc.h (objc_start_method_definition): Update prototype.
5880 * stub-objc.c (objc_start_method_definition): Add extra parameter.
5881
d0af78c5 58822011-05-04 Nathan Froyd <froydnj@codesourcery.com>
5883
5884 * c-common.c (check_main_parameter_types): Reindent. Don't use
5885 TYPE_ARG_TYPES directly.
5886 (handle_nonnull_attribute): Likewise.
5887 (sync_resolve_params): Likewise.
5888 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
5889 to check_format_string.
5890 (handle_format_attribute): Likewise.
5891 (check_format_string): Take a function type to examine instead of
5892 a type list. Use a function_arg_iterator to step through argument
5893 types.
5894
ceb7b692 58952011-05-04 Richard Guenther <rguenther@suse.de>
5896
5897 * c-common.c (fix_string_type): Use size_int for index type bounds.
5898 (start_fname_decls): Do not pass NULL to build_int_cst.
5899 (c_init_attributes): Likewise.
5900 * c-lex.c (c_lex_with_flags): Likewise.
5901
c66c81be 59022011-04-27 Jason Merrill <jason@redhat.com>
5903
5904 * c-common.c (make_tree_vector_from_list): New.
5905 * c-common.h: Declare it.
5906
16930c72 59072011-04-26 Richard Guenther <rguenther@suse.de>
5908
5909 PR preprocessor/48248
5910 * c-ppoutput.c (maybe_print_line): Always optimize newlines
5911 for output size with -P.
5912
23407dc9 59132011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
5914
5915 * c-common.c (struct c_common_resword): Add __underlying_type.
5916 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
5917
dd045aee 59182011-04-20 Jim Meyering <meyering@redhat.com>
5919
5920 * c-format.c (init_dollar_format_checking): Remove useless
5921 if-before-free.
5922
394dd737 59232011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
5924
5925 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 5926 (objc_detect_field_duplicates): New.
394dd737 5927 * stub-objc.c: Likewise.
23407dc9 5928
a758bf7d 59292011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5930
5931 * stub-objc.c (objc_declare_protocols): Renamed to
5932 objc_declare_protocol.
5933 * c-objc.h: Likewise.
23407dc9 5934
29d7200d 59352011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5936
5937 * stub-objc.c (objc_declare_class): Updated argument name.
5938
9b88d08d 59392011-04-12 Nathan Froyd <froydnj@codesourcery.com>
5940
5941 * c-common.h (c_common_init_ts): Declare.
5942 * c-common.c (c_common_init_ts): Define.
5943
4185cf58 59442011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
5945
5946 * c-objc.h (objc_build_message_expr): Updated prototype.
5947 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 5948
5a90471f 59492011-04-12 Martin Jambor <mjambor@suse.cz>
5950
5951 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
5952 of cgraph_node.
5953
783bb57e 59542011-04-11 Richard Guenther <rguenther@suse.de>
5955
5956 * c-common.c (complete_array_type): Build a range type of
5957 proper type.
5958
c33080b9 59592011-04-08 Nathan Froyd <froydnj@codesourcery.com>
5960
5961 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
5962 (handle_type_generic_attribute): Likewise.
5963
f8913d47 59642011-04-07 Jason Merrill <jason@redhat.com>
5965
5966 PR c++/48450
5967 * c-common.c (c_common_truthvalue_conversion): Don't ignore
5968 conversion from C++0x scoped enum.
5969
c94b1d0e 59702011-04-06 Joseph Myers <joseph@codesourcery.com>
5971
5972 * c-target-def.h: New file.
5973 * c-target.def: New file.
5974 * c-target.h: New file.
5975 * c-common.c (targetcm): Don't define here.
5976 * c-common.h (default_handle_c_option): Declare.
5977 * c-format.c: Include c-target.h instead of target.h.
5978 * c-opts.c: Include c-target.h instead of target.h. Explicitly
5979 include tm.h.
5980 (default_handle_c_option): Move from targhooks.c.
5981
acb10f41 59822011-03-29 Jakub Jelinek <jakub@redhat.com>
5983
5984 PR preprocessor/48248
5985 * c-ppoutput.c (print): Add src_file field.
5986 (init_pp_output): Initialize it.
5987 (maybe_print_line): Don't optimize by adding up to 8 newlines
5988 if map->to_file and print.src_file are different file.
5989 (print_line): Update print.src_file.
5990
82715bcd 59912011-03-25 Kai Tietz <ktietz@redhat.com>
5992
5993 * c-ada-spec.c (compare_comment): Use filename_cmp
5994 instead of strcmp for filename.
5995
451c8e2f 59962011-03-25 Jeff Law <law@redhat.com>
5997
1f78217c 5998 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 5999
3c47771c 60002011-03-25 Jason Merrill <jason@redhat.com>
6001
6002 * c.opt: Add -std=c++03.
6003
97e6200f 60042011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6005
6006 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6007
92a44a68 60082011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 6009
6010 PR target/12171
ee212425 6011 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6012 Display allowed attributes for function pointer types.
6013 (pp_c_attributes_display): New function to display
6014 attributes having affects_type_identity flag set to true.
6015 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6016
ac86af5d 6017 * c-common.c (c_common_attribute_table):
6018 Add new element.
6019 (c_common_format_attribute_table): Likewise.
6020
914d1151 60212011-03-18 Jason Merrill <jason@redhat.com>
6022
69788bdf 6023 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6024 * c-common.h: Don't declare it here.
6025 * c-common.c: Or define it here.
6026 * c-opts.c (c_common_handle_option): Or set it here.
6027
914d1151 6028 PR c++/35315
6029 * c-common.c (handle_transparent_union_attribute): Don't
6030 make a duplicate type in C++.
6031
54cf6eed 60322011-03-15 Jason Merrill <jason@redhat.com>
6033
6034 * c-common.c (max_constexpr_depth): New.
6035 * c-common.h: Declare it.
6036 * c-opts.c (c_common_handle_option): Set it.
6037 * c.opt (fconstexpr-depth): New option.
6038
02cb1060 60392011-03-11 Jason Merrill <jason@redhat.com>
6040
9bf1c74e 6041 * c-common.c (attribute_takes_identifier_p): Add missing const.
6042
02cb1060 6043 PR c++/46803
6044 * c-common.c (attribute_takes_identifier_p): Assume that an
6045 unknown attribute takes an identifier.
6046
ecf2703d 60472011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6048
6049 PR c/47786
6050 * c-common.c (c_type_hash): Call list_length instead of iterating
6051 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6052
2b19dfe4 60532011-02-19 Jakub Jelinek <jakub@redhat.com>
6054
6055 PR c/47809
6056 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6057
29cf2335 60582011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6059
6060 * c.opt (fobjc-abi-version=) New.
6061 (fobjc-nilcheck): New.
6062
fad3f658 60632011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6064
6065 PR c++/46890
6066 * c-common.h (keyword_is_decl_specifier): Declare.
6067 * c-common.c (keyword_is_decl_specifier): Define.
6068 (keyword_is_function_specifier): New function.
6069
a12319b3 60702011-01-26 Jakub Jelinek <jakub@redhat.com>
6071
6072 PR c/47473
6073 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6074 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6075 REAL_TYPE.
6076
5c128dc8 60772011-01-26 Arnaud Charlet <charlet@adacore.com>
6078
6079 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6080
8d67b0c7 60812011-01-26 Jakub Jelinek <jakub@redhat.com>
6082
6083 PR pch/47430
6084 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6085 after init_c_lex if pch_file is set.
6086
0675168d 60872011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6088
e8911163 6089 PR c++/43601
0675168d 6090 * c.opt (-fkeep-inline-dllexport): New switch.
6091
0725e25c 60922011-01-12 Richard Guenther <rguenther@suse.de>
6093
6094 PR middle-end/32511
6095 * c-common.c (handle_weak_attribute): Warn instead of error
6096 on declaring an inline function weak.
6097
fdd84b77 60982011-01-05 Tom Tromey <tromey@redhat.com>
6099
6100 * c-common.h (lvalue_error): Update.
6101 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6102 not error.
6103
e6e73d14 61042010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 6105
d67e8485 6106 PR objc/47075
6107 * c-objc.h (objc_finish_message_expr): Added argument to
6108 prototype.
6109
a36cf284 61102010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6111
6112 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6113 Use prototype_p.
6114
33b3681f 61152010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6116
6117 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 6118 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 6119
a1f90215 61202010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6121
6122 * c-common.h (readonly_error): Declare.
6123 * c-common.c (readonly_error): Define.
6124
b1bbc8e5 61252010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6126
6127 * c-common.h (invalid_indirection_error): Declare.
6128 * c-common.c (invalid_indirection_error): Define.
6129
b0d55af9 61302010-12-03 Richard Guenther <rguenther@suse.de>
6131
6132 PR c/46745
6133 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6134 (pp_c_unary_expression): Likewise.
6135 (pp_c_expression): Likewise.
6136
d7489d8d 61372010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6138
6139 * c-common.h (objc_finish_function): New.
6140 (objc_non_volatilized_type): Removed.
6141 (objc_type_quals_match): Removed.
6142 * stub-objc.c (objc_finish_function): New.
6143 (objc_non_volatilized_type): Removed.
6144 (objc_type_quals_match): Removed.
19931eea 6145
92468061 61462010-11-30 Joseph Myers <joseph@codesourcery.com>
6147
6148 * c-common.h (parse_optimize_options): Declare.
6149 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6150 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6151
967958e4 61522010-11-29 Joseph Myers <joseph@codesourcery.com>
6153
6154 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6155 GET_ENVIRONMENT.
6156 * c-pch.c (O_BINARY): Don't define here.
6157 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6158
b213bf24 61592010-11-25 Joseph Myers <joseph@codesourcery.com>
6160
6161 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6162 targetm.except_unwind_info.
6163
9faf44d6 61642010-11-23 Joseph Myers <joseph@codesourcery.com>
6165
6166 * c-opts.c (c_common_handle_option): Pass location to
6167 set_struct_debug_option.
6168
79396169 61692010-11-23 Joseph Myers <joseph@codesourcery.com>
6170
6171 * c-common.c (visibility_options): Move from ../opts.c.
6172 * c-common.h (struct visibility_flags, visibility_options):
6173 Declare here.
6174 * c-opts.c (finish_options): Rename to c_finish_options.
6175 (c_common_init): Update call to finish_options.
6176
b4aa4123 61772010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6178
6179 PR objc/34033
6180 * c-lex.c (lex_string): Check that each string in an Objective-C
6181 string concat sequence starts with either one or zero '@', and
6182 that there are no spurious '@' signs at the end.
6183
3e0e49f2 61842010-11-20 Joseph Myers <joseph@codesourcery.com>
6185
6186 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6187 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6188 HANDLE_PRAGMA_VISIBILITY.
6189 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6190 HANDLE_PRAGMA_VISIBILITY): Don't define.
6191 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6192
a9ffdd35 61932010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6194
6195 PR c++/16189
6196 PR c++/36888
6197 PR c++/45331
6198 * c-common.h (keyword_begins_type_specifier): Declare.
6199 (keyword_is_storage_class_specifier): Declare.
6200 (keyword_is_type_qualifier): Declare.
6201 * c-common.c (keyword_begins_type_specifier): New function.
6202 (keyword_is_storage_class_specifier): New function.
6203 (keyword_is_type_qualifier): Declare.
6204
93be21c0 62052010-11-19 Joseph Myers <joseph@codesourcery.com>
6206
6207 PR c/46547
6208 * c-common.c (in_late_binary_op): Define.
6209 (c_common_truthvalue_conversion): Check in_late_binary_op before
6210 calling c_save_expr.
6211 * c-common.h (in_late_binary_op): Declare.
6212
d7175aef 62132010-11-19 Joseph Myers <joseph@codesourcery.com>
6214
6215 * c-opts.c (c_common_handle_option): Update calls to
6216 set_struct_debug_option.
6217
c213e196 62182010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6219
6220 * c-common.h (objc_declare_protocols): Added additional argument.
6221 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 6222
0b5fc5d6 62232010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6224
6225 PR c/33193
6226 * c-common.h (build_real_imag_expr): Declare.
6227 * c-semantics.c (build_real_imag_expr): Define.
6228
b8ba44e7 62292010-11-17 Joseph Myers <joseph@codesourcery.com>
6230
6231 * c-opts.c (c_common_parse_file): Take no arguments.
6232 * c-common.h (c_common_parse_file): Update prototype.
6233
6ef8d12f 62342010-11-16 Jakub Jelinek <jakub@redhat.com>
6235
6236 PR c++/46401
6237 * c-common.c (warning_candidate_p): Don't track non-const calls
6238 or STRING_CSTs.
6239
929d2a90 62402010-11-15 Ian Lance Taylor <iant@google.com>
6241
6242 * c-lex.c (init_c_lex): Set macro debug callbacks if
6243 flag_dump_go_spec is set.
6244
e4a7640a 62452010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6246
6247 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6248 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6249
597d2d81 62502010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6251
6252 PR preprocessor/45038
6253 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6254 dialects.
6255
c123f04d 62562010-11-12 Joseph Myers <joseph@codesourcery.com>
6257
6258 * c-common.h (c_family_lang_mask): Declare.
6259 * c-opts.c (c_family_lang_mask): Make extern.
6260 * c-pragma.c (handle_pragma_diagnostic): Use
6261 control_warning_option.
6262
3c6c0e40 62632010-11-12 Joseph Myers <joseph@codesourcery.com>
6264
6265 * c-common.c (parse_optimize_options): Update call to
6266 decode_options.
6267 * c-common.h (c_common_handle_option): Update prototype.
6268 * c-opts.c (c_common_handle_option): Take location_t parameter and
6269 pass it to other functions.
6270
19ec5c9e 62712010-11-11 Joseph Myers <joseph@codesourcery.com>
6272
6273 * c-opts.c (warning_as_error_callback): Remove.
6274 (c_common_initialize_diagnostics): Don't call
6275 register_warning_as_error_callback.
6276 (c_common_handle_option): Handle -Werror=normalized= here.
6277
bf776685 62782010-11-10 Joseph Myers <joseph@codesourcery.com>
6279
6280 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6281 in diagnostic.
6282 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
6283 letter.
6284 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
6285 Remove trailing '.' from diagnostics.
6286 * c.opt (Wwrite-strings_: Avoid '`' in help text.
6287
6bd9d862 62882010-11-10 Joseph Myers <joseph@codesourcery.com>
6289
6290 * c-common.c (parse_optimize_options): Pass global_dc to
6291 decode_options.
6292 * c-opts.c (c_common_handle_option): Pass &global_options to
6293 set_Wstrict_aliasing.
6294 * c.opt (v): Don't mark Common or document here.
6295
1f6616ee 62962010-11-06 Iain Sandoe <iains@gcc.gnu.org>
6297
6298 PR target/44981
6299 * c-format.c (format_type): New type gcc_objc_string_format_type.
6300 (valid_stringptr_type_p): New.
6301 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 6302 (check_format_string): Pass expected type, use
1f6616ee 6303 valid_stringptr_type_p (), check that the format string types are
6304 consistent with the format specification.
6305 (decode_format_attr): Warn if NSString is used outside objective-c.
6306 (format_types_orig): Add NSString.
6307 (format_name): New.
6308 (format_flags): New.
6309 (check_format_arg): Handle format strings requiring an external parser.
6310 first_target_format_type: New variable.
6311 (handle_format_attribute): Set up first_target_format_type, pass the
6312 expected format arg string type to check_format_string().
6313 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
6314 * stub-objc.c (objc_string_ref_type_p): New.
6315 (objc_check_format_arg): New.
6316
b0d0931f 63172010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
6318
19931eea 6319 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 6320 * c-common.h (objc_build_class_component_ref): New.
6321 * stub-objc.c (objc_build_class_component_ref): New.
6322
f26877d5 63232010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6324
6325 * c.opt (Wproperty-assign-default): New option.
6326
1ef143b6 63272010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6328
6329 Implemented -fobjc-std=objc1 flag.
6330 * c.opt (fobjc-std=objc1): New option.
6331
8c582e4f 63322010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
6333
6334 Implemented format and noreturn attributes for Objective-C methods.
6335 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
6336 attribute for Objective-C methods.
6337
8637f1db 63382010-10-31 Jason Merrill <jason@redhat.com>
6339
6340 * c-common.c (conversion_warning, warn_for_collisions_1): Use
6341 EXPR_LOC_OR_HERE.
6342
9d9f5bb3 63432010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6344
6345 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6346 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
6347 (objc_add_property_declaration): Removed arguments for copies and
6348 ivar.
6349 (objc_build_getter_call): Renamed to
6350 objc_maybe_build_component_ref.
6351 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6352 (objc_is_property_ref): New.
6353 * c-common.c (c_common_reswords): Removed copies and ivar.
6354 * stub-objc.c (objc_add_property_declaration): Removed arguments
6355 for copies and ivar.
6356 (objc_build_getter_call): Renamed to
6357 objc_maybe_build_component_ref.
6358 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6359 (objc_is_property_ref): New.
19931eea 6360
56f907a0 63612010-10-29 Arnaud Charlet <charlet@adacore.com>
6362 Matthew Gingell <gingell@adacore.com>
6363
6364 * c-ada-spec.c (separate_class_package): New function.
6365 (pp_ada_tree_identifier): Prefix references to C++ classes with the
6366 name of their enclosing package.
6367 (print_ada_declaration): Use separate_class_package.
6368
b5fa273e 63692010-10-27 Jason Merrill <jason@redhat.com>
6370
5290e253 6371 * c-common.c (c_common_reswords): Add __is_literal_type.
6372 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
6373
b5fa273e 6374 * c-common.c (check_case_value): Remove special C++ code.
6375
7590f0e5 63762010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6377
6378 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
6379 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
6380 and RID_LAST_PATTR.
6381 (objc_add_property_declaration): Added additional arguments.
6382 (objc_property_attribute_kind): Removed.
6383 (objc_set_property_attr): Removed.
6384 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
6385 copy and nonatomic.
6386 * stub-objc.c (objc_add_property_declaration): Added additional
6387 arguments.
6388 (objc_set_property_attr): Removed.
19931eea 6389
1d894bcf 63902010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6391
6392 * c-common.h (objc_add_property_variable): Renamed to
6393 objc_add_property_declaration. Added location argument.
6394 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 6395
e23bf1fb 63962010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
6397
6398 * c-common.h (objc_maybe_printable_name): New.
6399 * stub-objc.c (objc_maybe_printable_name): New.
6400
92a44a68 64012010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6402 Andrew Pinski <pinskia@gmail.com>
93426222 6403
6404 * c-common.h (c_common_mark_addressable_vec): Declare.
6405 * c-common.c (c_common_mark_addressable_vec): New function.
6406
45b2b110 64072010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6408
6409 * c-common.h (objc_set_method_type): Removed.
6410 (objc_add_method_declaration): Added boolean argument.
6411 (objc_start_method_definition): Same change.
6412 (objc_build_method_signature): Same change.
6413 * stub-objc.c (objc_set_method_type): Removed.
6414 (objc_add_method_declaration): Added boolean argument.
6415 (objc_start_method_definition): Same change.
6416 (objc_build_method_signature): Same change.
6417
64cd9619 64182010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6419
6420 * c-common.h (finish_file): Removed.
6421 (objc_write_global_declarations): New.
6422 * c-opts.c (c_common_parse_file): Do not call finish_file.
6423 * stub-objc.c (objc_write_global_declarations): New.
19931eea 6424
e1f293c0 64252010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6426
6427 Implemented parsing @synthesize and @dynamic for
6428 Objective-C/Objective-C++.
6429 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
6430 (objc_add_synthesize_declaration): New.
6431 (objc_add_dynamic_declaration): New.
6432 * c-common.c (c_common_reswords): Add synthesize and dynamic.
6433 * stub-objc.c (objc_add_synthesize_declaration): New.
6434 (objc_add_dynamic_declaration): New.
19931eea 6435
ef97a312 64362010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6437
6438 PR target/46041
6439 * c-cppbuiltin.c (mode_has_fma): Move function here from
6440 builtins.c. Don't use the fma optab, instead just use the
6441 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
6442 using -save-temps.
6443
69b07042 64442010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6445
6446 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 6447
92a44a68 6448 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 6449
19931eea 6450 Radar 4330422
69b07042 6451 * c-common.h (objc_non_volatilized_type): New declaration
6452 * stub-objc.c (objc_non_volatilized_type): New stub.
6453
f15f2e56 64542010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
6455
69b07042 6456 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 6457
92a44a68 6458 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 6459
19931eea 6460 Radar 4133425
f15f2e56 6461 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 6462 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 6463
4a8875ed 64642010-10-17 Iain Sandoe <iains@gcc.gnu.org>
6465
6466 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
6467 * c-common.h (enum rid): Add RID_AT_PACKAGE.
6468 (objc_ivar_visibility_kind): New enum.
6469 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 6470 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 6471 visibility enum.
6472
7e0713b1 64732010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6474
6475 * c-cppbuiltin.c (builtin_define_float_constants): Emit
6476 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
6477 has the appropriate fma builtins.
6478 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
6479
86c110ac 64802010-10-14 Iain Sandoe <iains@gcc.gnu.org>
6481
7e0713b1 6482 merge from FSF apple 'trunk' branch.
92a44a68 6483 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 6484
86c110ac 6485 Radars 4436866, 4505126, 4506903, 4517826
6486 * c-common.c (c_common_resword): Define @property and its attributes.
6487 * c-common.h: Define property attribute enum entries.
6488 (OBJC_IS_PATTR_KEYWORD): New.
6489 (objc_property_attribute_kind): New enum.
6490 Declare objc_set_property_attr (), objc_add_property_variable (),
6491 objc_build_getter_call () and objc_build_setter_call ().
6492 * stub-objc.c (objc_set_property_attr): New stub.
6493 (objc_add_property_variable): Likewise.
6494 (objc_build_getter_call): Likewise.
6495 (objc_build_setter_call) Likewise.
7e0713b1 6496
40c8d1dd 64972010-10-13 Iain Sandoe <iains@gcc.gnu.org>
6498
7e0713b1 6499 merge from FSF apple 'trunk' branch.
92a44a68 6500 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 6501
6502 Radar 3803157 (method attributes)
6503 * c-common.c (handle_deprecated_attribute): Recognize
6504 objc methods as valid declarations.
6505 * c-common.h: Declare objc_method_decl ().
7e0713b1 6506 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 6507
f3f006ad 65082010-10-08 Joseph Myers <joseph@codesourcery.com>
6509
6510 * c-common.c (parse_optimize_options): Call
6511 decode_cmdline_options_to_array_default_mask before
6512 decode_options. Update arguments to decode_options.
6513 * c-common.h (c_common_init_options_struct): Declare.
6514 * c-opts.c (c_common_init_options_struct): New. Split out from
6515 c_common_init_options.
6516
0a65c3bb 65172010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
6518
6519 Implemented fast enumeration for Objective-C.
6520 * c-common.h (objc_finish_foreach_loop): New.
6521 * stub-objc.c (objc_finish_foreach_loop): New.
6522
24ca3b4e 65232010-10-05 Joseph Myers <joseph@codesourcery.com>
6524
6525 * c-common.h (struct diagnostic_context): Don't declare here.
6526 (c_common_initialize_diagnostics): Declare using
6527 diagnostic_context typedef.
6528 * c-opts.c (c_common_handle_option): Pass global_dc to
6529 handle_generated_option.
6530
f83b64ca 65312010-10-04 Joseph Myers <joseph@codesourcery.com>
6532
6533 * c-opts.c (c_common_handle_option): Pass &global_options_set to
6534 handle_generated_option.
6535
2fdec027 65362010-10-03 Ian Lance Taylor <iant@google.com>
6537
6538 * c.opt (-fplan9-extensions): New option.
6539
41acdfa4 65402010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6541
6542 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
6543 Remove.
6544 (c_cpp_builtins): Call functions from cppbuiltin.c instead
6545 of duplicating code.
6546
069761fb 65472010-09-30 Iain Sandoe <iains@gcc.gnu.org>
6548
6549 * c-common.c: Add two new entries for @optional
6550 and @required keywords.
6551
6552 merge from FSF 'apple/trunk' branch.
92a44a68 6553 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 6554
6555 Radar 4386773
6556 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
6557 objective-c keywords.
6558 (objc_set_method_opt): New declaration.
6559 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 6560
2c5d2e39 65612010-09-30 Joseph Myers <joseph@codesourcery.com>
6562
6563 * c-common.c (handle_optimize_attribute): Pass &global_options to
6564 cl_optimization_save and cl_optimization_restore.
6565 * c-opts.c (c_common_handle_option): Pass &global_options to
6566 handle_generated_option.
6567 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
6568 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
6569 &global_options to cl_optimization_restore.
6570
e5c75ac3 65712010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
6572
6573 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
6574 Objective-C/Objective-C++ keywords.
6575
3511333e 65762010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 6577
19931eea 6578 Merge from 'apple/trunk' branch on FSF servers.
6579
92a44a68 6580 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 6581
6582 Radar 4281748
6583 * c-common.h (objc_check_global_decl): New declaration.
6584 * stub-objc.c (objc_check_global_decl): New stub.
6585
5461e683 65862010-09-29 Joseph Myers <joseph@codesourcery.com>
6587
6588 * c.opt: Don't use VarExists.
6589
5ae82d58 65902010-09-29 Joseph Myers <joseph@codesourcery.com>
6591
6592 * c-common.c (c_cpp_error): Update names of diagnostic_context
6593 members.
6594 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
6595 cl_optimization members.
6596 * c-opts.c (warning_as_error_callback, c_common_handle_option,
6597 sanitize_cpp_opts, finish_options): Update names of cpp_options
6598 members.
6599
b27e241e 66002010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
6601
6602 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
6603 (objc_is_reserved_word): Removed.
6604 * c-common.c: Updated comments.
6605 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
6606 objc_is_reserved_word.
6607 * stub-objc.c (objc_is_reserved_word): Removed.
6608
03fc2271 66092010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6610
19931eea 6611 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 6612 include attributes.
6613 (objc_start_method_definition): Likewise.
6614 (objc_build_keyword_decl): Likewise.
6615 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
6616 (objc_start_method_definition): Likewise.
6617 (objc_build_keyword_decl): Likewise.
6618
a336eb4b 66192010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6620
6621 * c-common.h (objc_start_class_interface): Adjust prototype.
6622 (objc_start_category_interface): Likewise.
6623 (objc_start_protocol): Likewise.
6624 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
6625 (objc_start_class_interface): Likewise.
6626 (objc_start_category_interface): Likewise.
6627
48b14f50 66282010-09-27 Ian Lance Taylor <iant@google.com>
6629
6630 * c-common.c (c_common_attribute_table): Add no_split_stack.
6631 (handle_no_split_stack_attribute): New static function.
6632
4abfc532 66332010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
6634
19931eea 6635 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 6636
92a44a68 6637 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 6638
19931eea 6639 Radar 4229905
4abfc532 6640 * c-common.h (objc_have_common_type): New declaration.
6641 * stub-objc.c (objc_have_common_type): New stub.
6642
6643 2005-06-22 Ziemowit Laski <zlaski@apple.com>
6644
6645 Radar 4154928
6646 * c-common.h (objc_common_type): New prototype.
19931eea 6647 * stub-objc.c (objc_common_type): New stub.
4abfc532 6648
7bd95dfd 66492010-09-24 Jan Hubicka <jh@suse.cz>
6650
6651 * c-common.c (handle_leaf_attribute): New function.
6652 (struct attribute_spec c_common_att): Add leaf.
6653
5789e05b 66542010-09-22 Joseph Myers <joseph@codesourcery.com>
6655
6656 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
6657 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
6658 -dump, -dump=, -imacros, -imacros=, -include, -include=,
6659 -include-barrier, -include-directory, -include-directory=,
6660 -include-directory-after, -include-directory-after=,
6661 -include-prefix, -include-prefix=, -include-with-prefix,
6662 -include-with-prefix=, -include-with-prefix-after,
6663 -include-with-prefix-after=, -include-with-prefix-before,
6664 -include-with-prefix-before=, -no-integrated-cpp,
6665 -no-line-commands, -no-standard-includes, -no-warnings, -output,
6666 -output=, -pedantic, -pedantic-errors, -preprocess,
6667 -print-missing-file-dependencies, -trace-includes, -traditional,
6668 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
6669 -user-dependencies, -verbose, -write-dependencies,
6670 -write-user-dependencies, no-integrated-cpp, traditional): New.
6671
e6fb54ba 66722010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6673
6674 PR objc/23710
9b60f3b0 6675 * c-common.h (objc_start_method_definition): Return bool instead
6676 of void.
6677 * stub-objc.c (objc_start_method_definition): Return bool instead
6678 of void.
6679
66802010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6681
6682 PR objc/25965
6683 * c-common.h (objc_get_interface_ivars): New declaration.
6684 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 6685
e44b0a1f 66862010-09-15 Ian Lance Taylor <iant@google.com>
6687
6688 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 6689 messages. Remove period at end of warning message.
e44b0a1f 6690
85c0a25c 66912010-09-09 Nathan Sidwell <nathan@codesourcery.com>
6692
6693 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
6694 (handle_alias_attribute): ... here.
6695 (handle_ifunc_attribute): New.
6696
5ba33bf4 66972010-09-06 Mark Mitchell <mark@codesourcery.com>
6698
6699 * c-common.h (do_warn_double_promotion): Declare.
6700 * c-common.c (do_warn_double_promotion): Define.
6701
c920faa3 67022010-09-05 Mark Mitchell <mark@codesourcery.com>
6703
6704 * c.opt (Wdouble-promotion): New.
6705
9604e070 67062010-09-02 Joseph Myers <joseph@codesourcery.com>
6707
6708 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
6709 fvtable-thunks, fxref): Mark no longer supported in help text.
6710
3b0273a1 67112010-09-02 Joseph Myers <joseph@codesourcery.com>
6712
6713 * c.opt (Wimport, fall-virtual, falt-external-templates,
6714 fdefault-inline, fenum-int-equiv, fexternal-templates,
6715 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
6716 fname-mangling-version-, fnew-abi, fnonnull-objects,
6717 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
6718 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
6719 applicable.
6720 (fhandle-exceptions): Mark with Alias and Warn.
6721 * c-opts.c (c_common_handle_option): Don't handle options marked
6722 as ignored.
6723
67089c6b 67242010-09-02 Joseph Myers <joseph@codesourcery.com>
6725
6726 * c.opt (Wcomments, Werror-implicit-function-declaration,
6727 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
6728 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
6729 aliases.
6730 * c-common.c (option_codes): Use OPT_Wcomment instead of
6731 OPT_Wcomments.
6732 * c-opts.c (warning_as_error_callback, c_common_handle_option):
6733 Don't handle options marked as aliases.
6734
2af087f2 67352010-08-25 Richard Guenther <rguenther@suse.de>
6736
6737 * c-common.c (c_common_get_alias_set): Remove special
6738 handling for pointers.
6739
48148244 67402010-08-20 Nathan Froyd <froydnj@codesourcery.com>
6741
6742 * c-common.c: Use FOR_EACH_VEC_ELT.
6743 * c-gimplify.c: Likewise.
6744 * c-pragma.c: Likewise.
6745
89c69892 67462010-08-16 Joseph Myers <joseph@codesourcery.com>
6747
6748 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
6749 RejectDriver.
6750 (MMDX): Change back to MMD. Mark NoDriverArg instead of
6751 RejectDriver.
6752 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
6753 instead of OPT_MDX and OPT_MMDX.
6754
e28aa114 67552010-08-16 Joseph Myers <joseph@codesourcery.com>
6756
6757 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
6758
99b66d21 67592010-08-12 Joseph Myers <joseph@codesourcery.com>
6760
6761 * c.opt (MD, MMD): Change to MDX and MMDX.
6762 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
6763
666f4bf0 67642010-08-11 Joseph Myers <joseph@codesourcery.com>
6765
6766 * c-opts.c (c_common_handle_option): Call handle_generated_option
6767 instead of handle_option.
6768
5ec815f6 67692010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6770
6771 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
6772 (maybe_apply_renaming_pragma): Delete unneeded declarations.
6773
d13143cf 67742010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6775
6776 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
6777 (pending_redefine_extname): Change type to a VEC.
6778 (add_to_renaming_pragma_list): Update for new type of
6779 pending_redefine_extname.
5ec815f6 6780 (maybe_apply_renaming_pragma): Likewise.
d13143cf 6781
2008c983 67822010-08-04 Arnaud Charlet <charlet@adacore.com>
6783
6784 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
6785 visited.
6786 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
6787 decide whether a type has already been declared/seen.
6788 Do not go to the original type.
6789 (dump_nested_types): New parameter forward.
6790 Generate forward declaration if needed and mark type as visited.
6791 (print_ada_declaration): Call dump_nested_types if not already done.
6792 Mark types as visited.
6793
9b091a73 67942010-08-03 Joseph Myers <joseph@codesourcery.com>
6795
6796 * c.opt (-print-pch-checksum): Remove option.
6797 * c-opts.c (c_common_handle_option): Don't handle
6798 OPT_print_pch_checksum.
6799
b78351e5 68002010-07-27 Joseph Myers <joseph@codesourcery.com>
6801
6802 * c-common.h (c_common_handle_option): Update prototype and return
6803 value type.
6804 * c-opts.c (c_common_handle_option): Update prototype and return
6805 value type. Update calls to handle_option and
6806 enable_warning_as_error.
6807
34416a90 68082010-07-27 Jakub Jelinek <jakub@redhat.com>
6809
6810 PR c/45079
6811 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
6812
fecf9011 68132010-07-27 Joseph Myers <joseph@codesourcery.com>
6814
6815 * c-common.h (c_common_missing_argument): Remove.
6816 * c-opts.c (c_common_missing_argument): Remove.
6817 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
6818 idirafter, imacros, include, isysroot, isystem, iquote): Add
6819 MissingArgError.
6820 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
6821
e88d34f6 68222010-07-27 Joseph Myers <joseph@codesourcery.com>
6823
6824 * c-common.h (c_common_option_lang_mask,
6825 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
6826 New.
6827 (c_common_init_options): Update prototype.
6828 * c-opts.c (c_common_option_lang_mask): New.
6829 (c_common_initialize_diagnostics): Split out of
6830 c_common_init_options.
6831 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
6832 New.
6833 (c_common_init_options): Update prototype. Use decoded options in
6834 search for -lang-asm.
6835
1767a056 68362010-07-15 Nathan Froyd <froydnj@codesourcery.com>
6837
6838 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
6839 * c-format.c: Likewise.
6840
0b205f4c 68412010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
6842
6843 * c-common.h: Include diagnostic-core.h. Error if already
6844 included.
6845 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
6846
1c58e3f1 68472010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6848
1f78217c 6849 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 6850 Do not include expr.h
6851 (vector_mode_valid_p): Move here.
6852
33cc157c 68532010-06-21 DJ Delorie <dj@redhat.com>
6854
6855 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
6856 allow these pragmas anywhere.
6857
68582010-06-14 Jakub Jelinek <jakub@redhat.com>
6859
6860 PR bootstrap/44509
6861 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
6862 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
6863 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
6864 ggc_strdup instead of xstrdup.
6865
68662010-06-10 Jakub Jelinek <jakub@redhat.com>
6867
6868 * c-cppbuiltin.c: Include cpp-id-data.h.
6869 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
6870 (lazy_hex_fp_value): New function.
6871 (builtin_define_with_hex_fp_value): Provide definitions lazily.
6872
9b40bfbf 68732010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6874
6875 * c-gimplify.c: Do not include tree-flow.h
6876
202d6e5f 68772010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
6878
6879 PR other/44034
6880 * c-common.c: Rename targetm member:
6881 targetm.enum_va_list -> targetm.enum_va_list_p
6882
d3237426 68832010-06-28 Anatoly Sokolov <aesok@post.ru>
6884
6885 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
6886
596981c8 68872010-06-28 Steven Bosscher <steven@gcc.gnu.org>
6888
6889 * c-cppbuiltin.c: Do not include except.h.
6890
b9bdfa0b 68912010-06-24 Andi Kleen <ak@linux.intel.com>
6892
19931eea 6893 * c-common.c (warn_for_omitted_condop): New.
6894 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 6895
55ad092d 68962010-06-21 Joseph Myers <joseph@codesourcery.com>
6897
6898 * c.opt (lang-objc): Remove.
6899 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
6900
9e7c2572 69012010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
6902
6903 * c-opts.c: Include "tm_p.h".
6904
615ef0bb 69052010-06-20 Joseph Myers <joseph@codesourcery.com>
6906
6907 * c-common.c (parse_optimize_options): Update call to
6908 decode_options.
6909
aef48c9a 69102010-06-18 Nathan Froyd <froydnj@codesourcery.com>
6911
6912 * c-common.c (record_types_used_by_current_var_decl): Adjust for
6913 new type of types_used_by_cur_var_decl.
6914
d74003b4 69152010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
6916
6917 PR bootstrap/44512
6918 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
6919 for C++ standard compliance.
6920
1194d077 69212010-06-16 Jason Merrill <jason@redhat.com>
6922
6923 * c.opt: Add -Wnoexcept.
6924
d473d901 69252010-06-16 Richard Guenther <rguenther@suse.de>
6926
6927 PR c/44555
6928 * c-common.c (c_common_truthvalue_conversion): Remove
6929 premature and wrong optimization concering ADDR_EXPRs.
6930
b62dbfd3 69312010-06-15 Arnaud Charlet <charlet@adacore.com>
6932
6933 * c-ada-spec.c (dump_sloc): Remove column info.
6934 (is_simple_enum): New function.
6935 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
6936 enum types when relevant.
6937
200dd99c 69382010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6939
19931eea 6940 * c-common.c (conversion_warning): Warn at expression
200dd99c 6941 location.
6942
abf6a617 69432010-06-10 Joseph Myers <joseph@codesourcery.com>
6944
6945 * c-opts.c (c_common_handle_option): Don't handle
6946 OPT_fshow_column.
6947
ba72912a 69482010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
6949
6950 * c-pragma.c (push_alignment): Use typed GC allocation.
6951 (handle_pragma_push_options): Likewise.
6952
6953 * c-common.c (parse_optimize_options): Likewise.
6954
6955 * c-common.h (struct sorted_fields_type): Add variable_size GTY
6956 option.
6957
4aafe913 69582010-06-07 Joseph Myers <joseph@codesourcery.com>
6959
6960 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
6961 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
6962 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
6963 flag_signed_bitfields, warn_strict_null_sentinel,
6964 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
6965 flag_gen_declaration, flag_no_gnu_keywords,
6966 flag_implement_inlines, flag_implicit_templates,
6967 flag_implicit_inline_templates, flag_optional_diags,
6968 flag_elide_constructors, flag_default_inline, flag_rtti,
6969 flag_conserve_space, flag_access_control, flag_check_new,
6970 flag_new_for_scope, flag_weak, flag_working_directory,
6971 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
6972 flag_enforce_eh_specs, flag_threadsafe_statics,
6973 flag_pretty_templates): Remove.
6974 * c-common.h (flag_preprocess_only, flag_nil_receivers,
6975 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
6976 flag_replace_objc_classes, flag_undef, flag_no_builtin,
6977 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
6978 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
6979 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
6980 flag_no_gnu_keywords, flag_implement_inlines,
6981 flag_implicit_templates, flag_implicit_inline_templates,
6982 flag_optional_diags, flag_elide_constructors, flag_default_inline,
6983 flag_rtti, flag_conserve_space, flag_access_control,
6984 flag_check_new, flag_new_for_scope, flag_weak,
6985 flag_working_directory, flag_use_cxa_atexit,
6986 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
6987 flag_threadsafe_statics, flag_pretty_templates,
6988 warn_strict_null_sentinel): Remove.
6989 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
6990 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
6991 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
6992 fimplicit-inline-templates, fimplicit-templates,
6993 flax-vector-conversions, fms-extensions, fnil-receivers,
6994 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
6995 frtti, fshort-double, fshort-enums, fshort-wchar,
6996 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
6997 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
6998 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
6999 gen-decls, undef): Use Var.
7000 (fdefault-inline, foptional-diags): Document as doing nothing.
7001 * c-opts.c (c_common_handle_option): Remove cases for options now
7002 using Var. Mark ignored options as such.
7003
7bedc3a0 70042010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7005
19931eea 7006 * c-common.c: Moved to here from parent directory.
7bedc3a0 7007 * c-common.def: Likewise.
7008 * c-common.h: Likewise.
7009 * c-cppbuiltin.c: Likewise.
7010 * c-dump.c: Likewise.
7011 * c-format.c: Likewise.
7012 * c-format.h : Likewise.
7013 * c-gimplify.c: Likewise.
7014 * c-lex.c: Likewise.
7015 * c-omp.c: Likewise.
7016 * c.opt: Likewise.
7017 * c-opts.c: Likewise.
7018 * c-pch.c: Likewise.
7019 * c-ppoutput.c: Likewise.
7020 * c-pragma.c: Likewise.
7021 * c-pragma.h: Likewise.
7022 * c-pretty-print.c: Likewise.
7023 * c-pretty-print.h: Likewise.
7024 * c-semantics.c: Likewise.
7025 * stub-objc.c: Likewise.
7026
7027 * c-common.c: Include gt-c-family-c-common.h.
7028 * c-pragma.c: Include gt-c-family-c-pragma.h.
7029\f
f1717362 7030Copyright (C) 2010-2016 Free Software Foundation, Inc.
7bedc3a0 7031
7032Copying and distribution of this file, with or without modification,
7033are permitted in any medium without royalty provided the copyright
7034notice and this notice are preserved.