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