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