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