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