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