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