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