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