]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
PR middle-end/77735 - FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
eff89e01
BE
12016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
2
3 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
4
24bc7bf4
JM
52016-10-20 Jason Merrill <jason@redhat.com>
6
7 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
8
4c712374
BE
92016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
10
11 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
12 integer shift ops in boolean context.
13
142016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
15
16 * c.opt (Walloca): New.
17 (Walloca-larger-than=): New.
18 (Wvla-larger-than=): New.
19
8fa18c06
MP
202016-10-17 Marek Polacek <polacek@redhat.com>
21
22 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
23 Return immediately when finding a match.
24 (warn_tautological_cmp): Remove a boolean variable that is no longer
25 needed.
26
b12b1915
MP
272016-10-17 Marek Polacek <polacek@redhat.com>
28
29 * c-attribs.c: New file.
30 * c-common.c: Move attributes handling to c-attribs.c.
31 (get_nonnull_operand): No longer static.
32 * c-common.h: Move the declarations from c-attribs.c to its own section.
33
2045acd9
JM
342016-10-14 Jason Merrill <jason@redhat.com>
35
36 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
37 and __cpp_deduction_guides.
38
14a2c9aa
JM
392016-10-13 Jason Merrill <jason@redhat.com>
40
41 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
42
4d0cdd0c
TP
432016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
44
45 * c-cppbuiltin.c: Include memmodel.h.
46 * c-opts.c: Likewise.
47 * c-pragma.c: Likewise.
48 * c-warn.c: Likewise.
49
70f6d5e1
JJ
502016-10-12 Jakub Jelinek <jakub@redhat.com>
51
52 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
53 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
54 * c-opts.c (sanitize_cpp_opts): Initialize
55 cpp_opts->cpp_warn_implicit_fallthrough.
56
78f61294
MP
572016-10-11 Marek Polacek <polacek@redhat.com>
58
59 * c-common.c (warning_candidate_p): Change the return type to bool
60 and return true/false instead of 1/0.
61 (vector_mode_valid_p): Likewise.
62
038b5cc0
MP
632016-10-11 Marek Polacek <polacek@redhat.com>
64
65 * c-common.c (fold_for_warn): No longer static.
66 (bool_promoted_to_int_p): Likewise.
67 (c_common_get_narrower): Likewise.
68 (constant_expression_warning): Move to c-warn.c.
69 (constant_expression_error): Likewise.
70 (overflow_warning): Likewise.
71 (warn_logical_operator): Likewise.
72 (find_array_ref_with_const_idx_r): Likewise.
73 (warn_tautological_cmp): Likewise.
74 (expr_has_boolean_operands_p): Likewise.
75 (warn_logical_not_parentheses): Likewise.
76 (warn_if_unused_value): Likewise.
77 (strict_aliasing_warning): Likewise.
78 (sizeof_pointer_memaccess_warning): Likewise.
79 (check_main_parameter_types): Likewise.
80 (conversion_warning): Likewise.
81 (warnings_for_convert_and_check): Likewise.
82 (match_case_to_enum_1): Likewise.
83 (match_case_to_enum): Likewise.
84 (c_do_switch_warnings): Likewise.
85 (warn_for_omitted_condop): Likewise.
86 (readonly_error): Likewise.
87 (lvalue_error): Likewise.
88 (invalid_indirection_error): Likewise.
89 (warn_array_subscript_with_type_char): Likewise.
90 (warn_about_parentheses): Likewise.
91 (warn_for_unused_label): Likewise.
92 (warn_for_div_by_zero): Likewise.
93 (warn_for_memset): Likewise.
94 (warn_for_sign_compare): Likewise.
95 (do_warn_double_promotion): Likewise.
96 (do_warn_unused_parameter): Likewise.
97 (record_locally_defined_typedef): Likewise.
98 (maybe_record_typedef_use): Likewise.
99 (maybe_warn_unused_local_typedefs): Likewise.
100 (maybe_warn_bool_compare): Likewise.
101 (maybe_warn_shift_overflow): Likewise.
102 (warn_duplicated_cond_add_or_warn): Likewise.
103 (diagnose_mismatched_attributes): Likewise.
104 * c-common.h: Move the declarations from c-warn.c to its own section.
105 * c-warn.c: New file.
106
627be19f
JM
1072016-10-08 Jason Merrill <jason@redhat.com>
108
109 * c-common.c (c_common_truthvalue_conversion): Don't distribute
110 into COND_EXPR in C++.
111
7bad794a
JJ
1122016-10-08 Jakub Jelinek <jakub@redhat.com>
113
114 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
115 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
116 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
117
be845b04
JJ
1182016-10-07 Jakub Jelinek <jakub@redhat.com>
119
120 Implement LWG2296 helper intrinsic
121 * c-common.h (enum rid): Add RID_ADDRESSOF.
122 * c-common.c (c_common_reswords): Add __builtin_addressof.
123
c09c4992
BE
1242016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
125
126 PR c++/77700
127 * c-common.c (c_common_truthvalue_conversion): Warn also for
128 suspicious enum values in boolean context.
129
342cfb3e
JJ
1302016-10-06 Jakub Jelinek <jakub@redhat.com>
131
132 Implement P0258R2 - helper for C++17
133 std::has_unique_object_representations trait
134 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
135 * c-common.c (c_common_reswords): Add
136 __has_unique_object_representations.
137
2e69f143
JJ
1382016-10-05 Jakub Jelinek <jakub@redhat.com>
139
140 PR sanitizer/66343
141 * c-ubsan.c (ubsan_instrument_return): Don't call
142 initialize_sanitizer_builtins here.
143
700fff34
BE
1442016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
145
146 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
147 conditional expression in boolean context when only one arm is
148 non-boolean.
149
9563bfcd
JJ
1502016-10-05 Jakub Jelinek <jakub@redhat.com>
151
04a32443
JJ
152 PR sanitizer/77823
153 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
154 is not integral.
155
9563bfcd
JJ
156 * c-common.c (c_common_reswords): Update comment for C++11.
157
f1644724
JM
1582016-10-04 Jason Merrill <jason@redhat.com>
159
160 * c-common.c (make_tree_vector_from_ctor): New.
161 * c-common.h: Declare it.
162
5a79befb
JJ
1632016-10-04 Jakub Jelinek <jakub@redhat.com>
164
165 * c-cppbuiltin.c (c_cpp_builtins): Don't define
166 __LIBGCC_JCR_SECTION_NAME__.
167
1633d3b9
BE
1682016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
169
170 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
171 left shift in boolean context.
172
a2c6e7f2
JJ
1732016-09-29 Jakub Jelinek <jakub@redhat.com>
174
175 Implement P0001R1 - C++17 removal of register storage class specifier
176 * c.opt (Wregister): New warning.
177 * c-opts.c (c_common_post_options): Enable -Wregister by
178 default for C++17.
179
75304c87
JG
1802016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
181
182 * c-opts.c (c_common_post_options): Remove special case for
183 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
184 in C++.
185
bbfac6da
JJ
1862016-09-27 Jakub Jelinek <jakub@redhat.com>
187
6e39060a
JJ
188 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
189 -std=c++1z.
190
bbfac6da
JJ
191 * c-ada-spec.c (print_ada_declaration): Remove break after return.
192
e73cf9a2
TP
1932016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
194
195 * c-common.c: Include memmodel.h.
196
c6147dc4
MP
1972016-09-26 Marek Polacek <polacek@redhat.com>
198
199 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
200
81fea426
MP
2012016-09-26 Marek Polacek <polacek@redhat.com>
202
203 PR c/7652
204 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
205 (handle_fallthrough_attribute): New function.
206 (attribute_fallthrough_p): New function.
207 * c-common.h (attribute_fallthrough_p): Declare.
208
9a2300e9
MP
2092016-09-24 Marek Polacek <polacek@redhat.com>
210
211 PR c/77490
212 * c.opt (Wbool-operation): New.
213
a09e9e35
BE
2142016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
215
216 * c-common.c (c_common_truthvalue_conversion): Inhibit
217 Wint-in-bool-context warning with from_macro_definition_at.
218 Mention the expression will always evaluate to true.
219
d43b4ccc
MS
2202016-09-21 Martin Sebor <msebor@redhat.com>
221
222 PR bootstrap/77676
223 * c.opt (fprintf-return-value): Temporarily initialize to zero
224 to unblock bootstrap failures.
225
2e1c20b1
JJ
2262016-09-21 Jakub Jelinek <jakub@redhat.com>
227
228 PR c++/77651
229 * c.opt (Waligned-new=): Add RejectNegative.
230 (faligned-new=): Likewise. Spelling fix - change
231 aligned_new_threshhold to aligned_new_threshold.
232 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
233 to aligned_new_threshold.
234
88d0c3f0
MS
2352016-09-20 Martin Sebor <msebor@redhat.com>
236
237 PR middle-end/49905
238 * c.opt: Add -Wformat-length and -fprintf-return-value.
239
144a96e4
BE
2402016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
241
242 PR c++/77434
243 * c.opt (Wint-in-bool-context): New warning.
244 * c-common.c (c_common_truthvalue_conversion): Warn on integer
245 constants in boolean context.
246
63012d9a
JM
2472016-09-19 Joseph Myers <joseph@codesourcery.com>
248
249 * c-common.c (max_align_t_align): Also consider alignment of
250 float128_type_node.
251
931388ce
JM
2522016-09-15 Jason Merrill <jason@redhat.com>
253
254 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
255 DECL_EXTERNAL.
256
38711381
JM
2572016-09-14 Jason Merrill <jason@redhat.com>
258
259 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
260 limit FIELD_DECL, either.
261
e51fbec3
MP
2622016-09-14 Marek Polacek <polacek@redhat.com>
263
264 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
265 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
266 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
267
254830ba
DM
2682016-09-13 David Malcolm <dmalcolm@redhat.com>
269
270 * c-common.c (warn_logical_not_parentheses): Replace
271 rich_location::add_fixit_insert calls with add_fixit_insert_before
272 and add_fixit_insert_after, eliminating the "next_loc" calculation.
273
42763690
JM
2742016-09-13 Jason Merrill <jason@redhat.com>
275 Tom de Vries <tom@codesourcery.com>
276
277 PR c++/77427
278 * c-common.c (set_underlying_type): Don't treat array as builtin type.
279
9453eee9
JM
2802016-09-13 Jason Merrill <jason@redhat.com>
281
282 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
283 limit types at all.
284
e96809e3
JM
2852016-09-12 Jason Merrill <jason@redhat.com>
286
287 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
288 bit/byte confusion, allow large alignment for types.
289
54dcdb88
BE
2902016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
291
292 PR c++/77496
293 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
294
d1463eb9
DM
2952016-09-12 David Malcolm <dmalcolm@redhat.com>
296
297 PR c/72858
298 * c-format.c (argument_parser::check_argument_type): Add params
299 "type_start" and "conversion_char". Use the former to generate
300 offset_to_type_start and pass it and conversion_char to
301 check_format_types.
302 (check_format_info_main): Capture the start of the type
303 information as "type_start", and pass it an format_char
304 to arg_parser.check_argument_type.
305 (check_format_types): Provide an example in the leading comment.
306 Add params "offset_to_type_start" and "conversion_char"; pass
307 them to format_type_warning calls.
308 (test_get_modifier_for_format_len): Likewise.
309 (matching_type_p): New function.
310 (get_format_for_type): Add param "conversion_char" and move
311 implementation into...
312 (get_format_for_type_1): ...new function, called twice.
313 Use new function matching_type_p rather than checking for
314 TYPE_CANONICAL equality.
315 (get_corrected_substring): New function.
316 (format_type_warning): Provide an example in the leading comment.
317 Add params "offset_to_type_start" and "conversion_char". Replace
318 call to get_format_for_type with call to get_corrected_substring
319 and move rejection of hints for widths/precisions there.
320 (assert_format_for_type_streq): Add param "conversion_char".
321 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
322 (test_get_format_for_type_printf): Add conversion chars to the
323 tests, adding coverage for various combinations of integer
324 vs double conversions, and for preserving octal and hexadecimal
325 conversions.
326 (test_get_format_for_type_scanf): Add conversion chars to the
327 tests.
328
5b28efbb
TV
3292016-09-10 Tom de Vries <tom@codesourcery.com>
330
331 PR C/71602
332 * c-common.c (build_va_arg): Handle more strict
333 targetm.canonical_va_list_type. Replace first argument type error with
334 assert.
335
3f0177e7
MS
3362016-09-09 Martin Sebor <msebor@redhat.com>
337
338 PR c/77520
339 PR c/77521
340 * c-format.c (argument_parser::find_format_char_info): Use %qc
341 format directive unconditionally.
342
af63ba4b
JM
3432016-09-09 Jason Merrill <jason@redhat.com>
344
345 Implement C++17 new of over-aligned types.
346 * c.opt: Add -faligned-new and -Waligned-new.
347 * c-common.c (max_align_t_align): Split out from...
348 (cxx_fundamental_alignment_p): ...here.
349 * c-common.h: Declare it.
350 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
351
c65248cb
JM
3522016-09-09 Joseph Myers <joseph@codesourcery.com>
353
354 * c-cppbuiltin.c (builtin_define_type_width): New function.
355 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
356 macros.
357
e5106e27
DM
3582016-09-07 David Malcolm <dmalcolm@redhat.com>
359
360 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
361 a POINTER_TYPE.
362 (substring_loc::get_location): Move to substring-locations.c,
363 keeping implementation as...
364 (c_get_substring_location): New function, from the above, reworked
365 to use accessors rather than member lookup.
366 * c-common.h (class substring_loc): Move to substring-locations.h,
367 replacing with a forward decl.
368 (c_get_substring_location): New decl.
369 * c-format.c: Include "substring-locations.h".
370 (format_warning_va): Move to substring-locations.c.
371 (format_warning_at_substring): Likewise.
372
a42e7952
MS
3732016-09-06 Martin Sebor <msebor@redhat.com>
374
375 PR c/77336
376 * c-format.c (check_function_format): Avoid issuing warnings for
377 functions unless they call format functions with non-constant
378 format strings.
379
b772a565
RB
3802016-09-06 Richard Biener <rguenther@suse.de>
381
382 PR c/77450
383 * c-common.c (c_common_mark_addressable_vec): Handle
384 COMPOUND_LITERAL_EXPR.
385
25ff5dd3
MP
3862016-09-05 Marek Polacek <polacek@redhat.com>
387
388 PR c/77423
389 * c-common.c (bool_promoted_to_int_p): New function.
390 (expr_has_boolean_operands_p): New function.
391 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
392 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
393
21234eb5
TV
3942016-09-04 Tom de Vries <tom@codesourcery.com>
395
396 revert:
397 2016-08-29 Tom de Vries <tom@codesourcery.com>
398
399 * c-common.c (build_va_arg): Replace first argument type error
400 with assert.
401
9dc5773f
JJ
4022016-09-02 Jakub Jelinek <jakub@redhat.com>
403
404 PR c/65467
405 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
406 (c_finish_omp_for): Reject _Atomic qualified iterators.
407
4082016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
409
410 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
411 size to guarantee it fits the output of the formatted function
412 regardless of its arguments.
413
295844f6
MP
4142016-09-01 Marek Polacek <polacek@redhat.com>
415
416 PR c/7652
417 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
418 FALLTHRU comments.
419
3d06b6f2
MP
4202016-08-29 Marek Polacek <polacek@redhat.com>
421
422 PR c/77292
423 * c-common.c (warn_logical_not_parentheses): Don't warn for
424 a comparison or a logical operator.
425
34cedad5
TV
4262016-08-29 Tom de Vries <tom@codesourcery.com>
427
428 * c-common.c (build_va_arg): Fix type comparison assert.
429
f162d717
TV
4302016-08-29 Tom de Vries <tom@codesourcery.com>
431
432 * c-common.c (build_va_arg): Replace first argument type error
433 with assert.
434
ba9bbd6f
TV
4352016-08-29 Tom de Vries <tom@codesourcery.com>
436
437 PR c/77398
438 * c-common.c (build_va_arg): Add first argument error. Build va_arg
439 with error_mark_node as va_list instead of with illegal va_list.
440
ebef225f
MP
4412016-08-25 Marek Polacek <polacek@redhat.com>
442 David Malcolm <dmalcolm@redhat.com>
443
444 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
445 * c-common.h (warn_logical_not_parentheses): Update declaration.
446
b00e6e75
MP
4472016-08-22 Marek Polacek <polacek@redhat.com>
448
449 PR c++/77321
450 * c-common.c (warn_for_memset): Check type for null.
451
6dc198e3
JM
4522016-08-22 Joseph Myers <joseph@codesourcery.com>
453
454 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
455 _FloatNx types for suffixes for built-in functions.
456
c65699ef
JM
4572016-08-19 Joseph Myers <joseph@codesourcery.com>
458
459 PR c/32187
460 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
461 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
462 (RID_FLOAT128X): New enum rid values.
463 (CASE_RID_FLOATN_NX): New macro.
464 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
465 keywords.
466 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
467 corresponding complex types.
468 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
469 _FloatNx and corresponding complex types.
470 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
471 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
472 and _FloatNx types for the widest type for determining
473 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
474 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
475 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
476 and _FloatNx types.
477 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
478 constants.
479 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
480 _FloatNx types.
481
cc015f3a
DM
4822016-08-18 David Malcolm <dmalcolm@redhat.com>
483
484 * c-opts.c (c_diagnostic_finalizer): Update for change to
485 diagnostic_show_locus.
486
cb18fd07
DM
4872016-08-18 David Malcolm <dmalcolm@redhat.com>
488
489 * c-common.c: Include "spellcheck.h".
490 (cb_get_suggestion): New function.
491 * c-common.h (cb_get_suggestion): New decl.
492 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
493 cb_get_suggestion.
494
a76989dc
MP
4952016-08-18 Marek Polacek <polacek@redhat.com>
496
497 PR c/71514
498 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
499 and pointer-to-VLA.
500
65e736c0
DM
5012016-08-16 David Malcolm <dmalcolm@redhat.com>
502
503 PR c/72857
504 * c-common.c (substring_loc::get_range): Rename to...
505 (substring_loc::get_location): ...this, converting param from a
506 source_range * to a location_t *. Call
507 get_source_location_for_substring rather than
508 get_source_range_for_substring, and pass in m_caret_idx.
509 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
510 (substring_loc::get_range): Replace with...
511 (substring_loc::get_location): ...this.
512 (substring_loc::set_caret_index): New method.
513 (substring_loc): Add field m_caret_idx.
514 * c-format.c (format_warning_va): Update for above changes.
515 Rename local "substring_loc" to "fmt_substring_loc" to avoid
516 clashing with type name.
517 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
518 (check_argument_type): Likewise.
519 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
520 Use a copy when emitting warnings, setting the caret index from TYPE.
521
7e1dde14
EB
5222016-08-16 Eric Botcazou <ebotcazou@adacore.com>
523 Arnaud Charlet <charlet@adacore.com>
524
525 * c-ada-spec.c (dump_number): New function.
526 (handle_escape_character): Likewise.
527 (print_ada_macros): Add handling of constant integers and strings.
528
191816a3
MP
5292016-08-12 Marek Polacek <polacek@redhat.com>
530
531 PR c/7652
532 * c-common.c (scalar_to_vector): Adjust fall through comment.
533 * c-opts.c (c_common_handle_option): Likewise.
534 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
535 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
536 fall through comment.
537 * cilk.c (extract_free_variables): Add FALLTHRU.
538
452df4a4
JM
5392016-08-10 Jason Merrill <jason@redhat.com>
540
541 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
542
f3365c12
JM
5432016-08-09 Jason Merrill <jason@redhat.com>
544
545 * c-common.c (c_common_attribute_table): vector_size affects type
546 identity.
547
f0bc3323
MP
5482016-08-09 Marek Polacek <polacek@redhat.com>
549
550 PR c/7652
551 * c-ada-spec.c (dump_generic_ada_node): Add return.
552
98e5a19a
JM
5532016-08-09 Jason Merrill <jason@redhat.com>
554
555 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
556 C++17 constexpr lambdas.
557
895aa8e1
DM
5582016-08-08 David Malcolm <dmalcolm@redhat.com>
559
560 PR c/64955
561 * c-common.h (selftest::c_format_c_tests): New declaration.
562 (selftest::run_c_tests): New declaration.
563 * c-format.c: Include "selftest.h.
564 (format_warning_va): Add param "corrected_substring" and use
565 it to add a replacement fix-it hint.
566 (format_warning_at_substring): Likewise.
567 (format_warning_at_char): Update for new param of
568 format_warning_va.
569 (argument_parser::check_argument_type): Pass "fki" to
570 check_format_types.
571 (check_format_types): Add param "fki" and pass it to
572 format_type_warning.
573 (deref_n_times): New function.
574 (get_modifier_for_format_len): New function.
575 (selftest::test_get_modifier_for_format_len): New function.
576 (get_format_for_type): New function.
577 (format_type_warning): Add param "fki" and use it to attempt
578 to provide hints for argument types when calling
579 format_warning_at_substring.
580 (selftest::get_info): New function.
581 (selftest::assert_format_for_type_streq): New function.
582 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
583 (selftest::test_get_format_for_type_printf): New function.
584 (selftest::test_get_format_for_type_scanf): New function.
585 (selftest::c_format_c_tests): New function.
586
e52ed3fe
DM
5872016-08-08 David Malcolm <dmalcolm@redhat.com>
588
589 PR c/52952
590 * c-format.c: Include "diagnostic.h".
591 (location_column_from_byte_offset): Delete.
592 (location_from_offset): Delete.
593 (format_warning_va): New function.
594 (format_warning_at_substring): New function.
595 (format_warning_at_char): New function.
596 (check_format_arg): Capture location of format_tree and pass to
597 check_format_info_main.
598 (argument_parser): Add fields "start_of_this_format" and
599 "format_string_cst".
600 (flag_chars_t::validate): Add param "format_string_cst". Convert
601 warning_at call using location_from_offset to call to
602 format_warning_at_char.
603 (argument_parser::argument_parser): Add param "format_string_cst_"
604 and use use it to initialize field "format_string_cst".
605 Initialize new field "start_of_this_format".
606 (argument_parser::read_format_flags): Convert warning_at call
607 using location_from_offset to a call to format_warning_at_char.
608 (argument_parser::read_any_format_left_precision): Likewise.
609 (argument_parser::read_any_format_precision): Likewise.
610 (argument_parser::read_any_other_modifier): Likewise.
611 (argument_parser::find_format_char_info): Likewise, in three places.
612 (argument_parser::parse_any_scan_set): Likewise, in one place.
613 (argument_parser::handle_conversions): Likewise, in two places.
614 (argument_parser::check_argument_type): Add param "fmt_param_loc"
615 and use it to make a substring_loc. Pass the latter to
616 check_format_types.
617 (check_format_info_main): Add params "fmt_param_loc" and
618 "format_string_cst". Convert warning_at calls using
619 location_from_offset to calls to format_warning_at_char. Pass the
620 new params to the arg_parser ctor. Pass "format_string_cst" to
621 flag_chars.validate. Pass "fmt_param_loc" to
622 arg_parser.check_argument_type.
623 (check_format_types): Convert first param from a location_t
624 to a const substring_loc & and rename to "fmt_loc". Attempt
625 to extract the range of the relevant parameter and pass it
626 to format_type_warning.
627 (format_type_warning): Convert first param from a location_t
628 to a const substring_loc & and rename to "fmt_loc". Add
629 params "param_range" and "type". Replace calls to warning_at
630 with calls to format_warning_at_substring.
631
1c4d457e
DM
6322016-08-08 David Malcolm <dmalcolm@redhat.com>
633
634 * c-format.c (class flag_chars_t): New class.
635 (struct length_modifier): New struct.
636 (class argument_parser): New class.
637 (flag_chars_t::flag_chars_t): New ctor.
638 (flag_chars_t::has_char_p): New method.
639 (flag_chars_t::add_char): New method.
640 (flag_chars_t::validate): New method.
641 (flag_chars_t::get_alloc_flag): New method.
642 (flag_chars_t::assignment_suppression_p): New method.
643 (argument_parser::argument_parser): New ctor.
644 (argument_parser::read_any_dollar): New method.
645 (argument_parser::read_format_flags): New method.
646 (argument_parser::read_any_format_width): New method.
647 (argument_parser::read_any_format_left_precision): New method.
648 (argument_parser::read_any_format_precision): New method.
649 (argument_parser::handle_alloc_chars): New method.
650 (argument_parser::read_any_length_modifier): New method.
651 (argument_parser::read_any_other_modifier): New method.
652 (argument_parser::find_format_char_info): New method.
653 (argument_parser::validate_flag_pairs): New method.
654 (argument_parser::give_y2k_warnings): New method.
655 (argument_parser::parse_any_scan_set): New method.
656 (argument_parser::handle_conversions): New method.
657 (argument_parser::check_argument_type): New method.
658 (check_format_info_main): Introduce classes argument_parser
659 and flag_chars_t, moving the code within the loop into methods
660 of these classes. Make various locals "const".
661
88fa5555
DM
6622016-08-05 David Malcolm <dmalcolm@redhat.com>
663
664 * c-common.c: Include "substring-locations.h".
665 (get_cpp_ttype_from_string_type): New function.
666 (g_string_concat_db): New global.
667 (substring_loc::get_range): New method.
668 * c-common.h (g_string_concat_db): New declaration.
669 (class substring_loc): New class.
670 * c-lex.c (lex_string): When concatenating strings, capture the
671 locations of all tokens using a new obstack, and record the
672 concatenation locations within g_string_concat_db.
673 * c-opts.c (c_common_init_options): Construct g_string_concat_db
674 on the ggc-heap.
675
78169471
MP
6762016-07-29 Marek Polacek <polacek@redhat.com>
677
638fc14f
MP
678 PR c/71926
679 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
680 parentheses warning.
681
78169471
MP
682 PR c/71574
683 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
684
1225d6b1
ML
6852016-07-28 Martin Liska <mliska@suse.cz>
686
687 PR gcov-profile/68025
688 * c-common.c (handle_no_profile_instrument_function_attribute):
689
ec1e2a40
BE
6902016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
691
692 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
693 BITS_PER_UNIT_LOG.
694
5ec2cd9f
JM
6952016-07-25 Jason Merrill <jason@redhat.com>
696
697 PR c++/65970
698 * c.opt (fconstexpr-loop-limit): New.
699
9dc5773f 7002016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
701
702 PR c++/71675
703 * c-common.c (resolve_overloaded_builtin): Avoid converting
704 __atomic_compare_exchange_n return type to that of what its
705 first argument points to.
706
e3fe09c1
UB
7072016-07-22 Uros Bizjak <ubizjak@gmail.com>
708
709 * c-common.c: Use HOST_WIDE_INT_M1U instead of
710 ~(unsigned HOST_WIDE_INT) 0.
711
bc91c436
ML
7122016-07-22 Martin Liska <mliska@suse.cz>
713
714 PR gcov-profile/69028
715 PR gcov-profile/62047
716 * cilk.c (create_cilk_helper_decl): Set location of a new decl
717 to the current_function_decl.
718
451dcc66
JM
7192016-07-21 Jason Merrill <jason@redhat.com>
720
721 PR c++/65168
722 * c-common.c (c_common_truthvalue_conversion): Check
723 c_inhibit_evaluation_warnings for warning about address of
724 reference.
725
de6a69ee
DM
7262016-07-20 David Malcolm <dmalcolm@redhat.com>
727
728 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
729 const char *.
730
d022c55a
JM
7312016-07-15 Jason Merrill <jason@redhat.com>
732
733 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
734
ddbbcb19
JJ
7352016-07-15 Jakub Jelinek <jakub@redhat.com>
736
737 PR c/71858
738 * c-common.h (enum lookup_name_fuzzy_kind): Add
739 FUZZY_LOOKUP_FUNCTION_NAME.
740
d0cf395a
JM
7412016-07-08 Jason Merrill <jason@redhat.com>
742
743 P0145: Refining Expression Order for C++.
744 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
745 * c-opts.c: Adjust.
746
98d44e93
MT
7472016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
748
749 PR c++/71214
750 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
751
f9d8d994
TS
7522016-06-29 Thomas Schwinge <thomas@codesourcery.com>
753
754 * c-pragma.h (enum pragma_kind): Rename
755 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
756 users.
757
4aa83879
RB
7582016-06-29 Richard Biener <rguenther@suse.de>
759
760 PR middle-end/71002
761 * c-common.c (c_common_get_alias_set): Remove union type punning case.
762
a25bd9e6
JM
7632016-06-24 Jason Merrill <jason@redhat.com>
764
765 P0145R2: Refining Expression Order for C++.
766 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
767 MODIFY_EXPR.
768
a86451b9
JJ
7692016-06-24 Jakub Jelinek <jakub@redhat.com>
770
771 * c-common.c (check_builtin_function_arguments): Require last
772 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
773 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
774 if the last argument is pointer to enumerated or boolean type.
775
1a4f11c8
DM
7762016-06-22 David Malcolm <dmalcolm@redhat.com>
777
778 PR c/70339
779 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
780 (lookup_name_fuzzy): New prototype.
781
fe55692c
JDA
7822016-06-21 John David Anglin <danglin@gcc.gnu.org>
783
784 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
785
4eb24e01
JM
7862016-06-14 Jason Merrill <jason@redhat.com>
787
788 P0145R2: Refining Expression Order for C++.
789 * c.opt (fargs-in-order): New.
790 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
791
ef7cf206
JJ
7922016-06-13 Jakub Jelinek <jakub@redhat.com>
793
0dda258b
JJ
794 PR sanitizer/71498
795 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
796 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
797
ef7cf206
JJ
798 PR preprocessor/71183
799 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
800 to cb_get_source_date_epoch.
801
50b15873
JJ
8022016-06-10 Jakub Jelinek <jakub@redhat.com>
803
804 PR c/68657
805 * c.opt (Wpsabi): Add Warning flag.
806
4d926e34
MS
8072016-06-10 Martin Sebor <msebor@redhat.com>
808
809 PR c/71392
810 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
811 the nonnull attribute in type-generic builtins.
812
e01b4e16
MS
8132016-06-09 Martin Sebor <msebor@redhat.com>
814
815 PR c/70883
816 * c-common.c (builtin_function_validate_nargs): Make text of error
817 message consistent with others like it.
818
44a845ca
MS
8192016-06-08 Martin Sebor <msebor@redhat.com>
820 Jakub Jelinek <jakub@redhat.com>
821
822 PR c++/70507
823 PR c/68120
824 * c-common.c (check_builtin_function_arguments): Handle
825 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
826
a80a7051
RB
8272016-06-08 Richard Biener <rguenther@suse.de>
828
829 * c-common.c (parse_optimize_options): Improve diagnostic messages.
830
bfd67b47
RB
8312016-06-07 Richard Biener <rguenther@suse.de>
832
833 PR c/61564
834 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
835 options and warn about others.
836
15c98b2e
ES
8372016-06-01 Eduard Sanou <dhole@openmailbox.org>
838
839 * c-common.c (get_source_date_epoch): Rename to
840 cb_get_source_date_epoch.
841 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
842 message when the parsing fails. Use error_at instead of fatal_error.
843 * c-common.h (get_source_date_epoch): Rename to
844 cb_get_source_date_epoch.
845 * c-common.h (cb_get_source_date_epoch): Prototype.
846 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
847 * c-common.h (c_omp_region_type): Remove trailing comma.
848 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
849 * c-lex.c (c_lex_with_flags): Remove initialization of
850 pfile->source_date_epoch.
851
00631022
JJ
8522016-05-30 Jakub Jelinek <jakub@redhat.com>
853
854 PR c++/71349
855 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
856 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
857 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
858 instead of C_OMP_CLAUSE_SPLIT_FOR.
859
f17a223d
RB
8602016-05-24 Richard Biener <rguenther@suse.de>
861
862 PR middle-end/70434
863 PR c/69504
864 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
865 (convert_vector_to_array_for_subscript): ... this.
866 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
867 VIEW_CONVERT_EXPR to an array type. Rename to ...
868 (convert_vector_to_array_for_subscript): ... this.
869
4f2e1536
MP
8702016-05-12 Marek Polacek <polacek@redhat.com>
871
872 PR c/70756
873 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
874 size_in_bytes and pass LOC to it.
875
d6e83a8d
MM
8762016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
877
878 PR c/43651
879 * c.opt (Wduplicate-decl-specifier): New option.
880
5c3a10fb
MP
8812016-05-11 Marek Polacek <polacek@redhat.com>
882
883 PR c++/71024
884 * c-common.c (diagnose_mismatched_attributes): New function.
885 * c-common.h (diagnose_mismatched_attributes): Declare.
886
deef7113
MP
8872016-05-04 Marek Polacek <polacek@redhat.com>
888
889 * c.opt (Wdangling-else): New option.
890
79ce98bc
MP
8912016-05-03 Marek Polacek <polacek@redhat.com>
892
893 PR c/70859
894 * c-common.c (builtin_function_validate_nargs): Add location
895 parameter. Use it.
896 (check_builtin_function_arguments): Add location and arguments
897 parameters. Use them.
898 * c-common.h (check_builtin_function_arguments): Update declaration.
899
381cdae4
RB
9002016-05-03 Richard Biener <rguenther@suse.de>
901
902 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
903 allow call args to gimplify to SSA names.
904
1d793c34
MP
9052016-05-03 Marek Polacek <polacek@redhat.com>
906
907 * c-common.h (enum c_omp_region_type): Remove stray comma.
908
77886428
CP
9092016-05-02 Cesar Philippidis <cesar@codesourcery.com>
910
911 * c-common.h (enum c_omp_region_type): Define.
912
697e0b28
RS
9132016-05-02 Richard Sandiford <richard.sandiford@arm.com>
914
915 * c-common.c (shorten_compare): Use wi::to_wide.
916
e7ff0319
CP
9172016-04-29 Cesar Philippidis <cesar@codesourcery.com>
918
919 PR middle-end/70626
920 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
921 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
922 reduction clauses in acc parallel loops.
923
2fff3db8
MP
9242016-04-29 Marek Polacek <polacek@redhat.com>
925
926 PR c/70852
927 * c-common.c (warn_for_memset): Check domain before accessing it.
928
509063eb
DV
9292016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
930
931 PR/69089
932 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
933 "aligned" attribute.
934
b632761d
JM
9352016-04-28 Jason Merrill <jason@redhat.com>
936
937 * c-lex.c (c_common_has_attribute): Handle nodiscard.
938
174f6622
ES
9392016-04-28 Eduard Sanou <dhole@openmailbox.org>
940 Matthias Klose <doko@debian.org>
941
942 * c-common.c (get_source_date_epoch): New function, gets the environment
943 variable SOURCE_DATE_EPOCH and parses it as long long with error
944 handling.
945 * c-common.h (get_source_date_epoch): Prototype.
946 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
947
6bc2bb18
RB
9482015-04-27 Ryan Burn <contact@rnburn.com>
949
950 PR c++/69024
951 PR c++/68997
952 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
953 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
954 external linkage.
955 (cilk_detect_and_unwrap): Corresponding changes.
956 (extract_free_variables): Don't extract free variables from
957 AGGR_INIT_EXPR slot.
958 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
959 (cilk_recognize_spawn): Likewise.
960
c1e1f433
BS
9612016-04-27 Bernd Schmidt <bschmidt@redhat.com>
962
963 * c.opt (Wmemset-elt-size): New option.
964 * c-common.c (warn_for_memset): New function.
965 * c-common.h (warn_for_memset): Declare.
966
d067e05f
JM
9672016-04-25 Jason Merrill <jason@redhat.com>
968
969 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
970 No longer static.
971 * c-common.h: Declare it.
972 * c-lex.c (c_common_has_attribute): Add maybe_unused.
973
9aa36ae5
JM
9742016-04-22 Jason Merrill <jason@redhat.com>
975
976 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
977
477d4906
IV
9782016-04-20 Ilya Verbin <ilya.verbin@intel.com>
979
980 PR c++/69363
981 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
982 * c-common.h (c_finish_cilk_clauses): Remove declaration.
983
fe37c7af
MM
9842016-04-18 Michael Matz <matz@suse.de>
985
986 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
987 and SET_DECL_ALIGN.
988
23f2660f
EB
9892016-04-17 Eric Botcazou <ebotcazou@adacore.com>
990
991 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
992 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
993 to incomplete types.
994 (dump_nested_type): Remove redundant tests and tidy up.
995 (print_ada_declaration): Also set TREE_VISITED on the declaration of
996 a type which is the typedef of an original type.
997
1e77281b
MP
9982016-04-15 Marek Polacek <polacek@redhat.com>
999
1000 PR c/70651
1001 * c-common.c (build_va_arg): Change two asserts into errors and return
1002 error_mark_node.
1003
b3a77f21
MP
10042016-04-13 Marek Polacek <polacek@redhat.com>
1005
1006 PR c++/70639
1007 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1008 for switch statements, too.
1009
322b8466
JM
10102016-03-28 Jason Merrill <jason@redhat.com>
1011
1012 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1013
fbdb6baf
MP
10142016-03-23 Marek Polacek <polacek@redhat.com>
1015
1016 PR c++/69884
1017 * c.opt (Wignored-attributes): New option.
1018
5c240f4d
DM
10192016-03-22 David Malcolm <dmalcolm@redhat.com>
1020
1021 PR c/69993
1022 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1023 diagnostic text, reversing the order of the warning and note so
1024 that they appear in source order.
1025
14ba7b28
MP
10262016-03-17 Marek Polacek <polacek@redhat.com>
1027
1028 PR c/69407
1029 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1030 operations.
1031
08a1cadc
JM
10322016-03-14 Jason Merrill <jason@redhat.com>
1033
2aaeea19
JM
1034 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1035
08a1cadc
JM
1036 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1037
c06d25bb
RB
10382016-03-09 Richard Biener <rguenther@suse.de>
1039
1040 PR c/70143
1041 * c-common.c (strict_aliasing_warning): Add back
1042 alias_sets_conflict_p check.
1043
80aac5c8
JM
10442016-03-08 Jason Merrill <jason@redhat.com>
1045
1046 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1047
64b23c13
DM
10482016-03-04 David Malcolm <dmalcolm@redhat.com>
1049
1050 PR c/68187
1051 * c-indentation.c (get_visual_column): Move code to determine next
1052 tab stop to...
1053 (next_tab_stop): ...this new function.
1054 (line_contains_hash_if): Delete function.
1055 (detect_preprocessor_logic): Delete function.
1056 (get_first_nws_vis_column): New function.
1057 (detect_intervening_unindent): New function.
1058 (should_warn_for_misleading_indentation): Replace call to
1059 detect_preprocessor_logic with a call to
1060 detect_intervening_unindent.
1061
729526f5
DM
10622016-03-04 David Malcolm <dmalcolm@redhat.com>
1063
1064 PR c/68187
1065 * c-indentation.c (should_warn_for_misleading_indentation): When
1066 suppressing warnings about cases where the guard and body are on
1067 the same column, only use the first non-whitespace column in place
1068 of the guard token column when dealing with "else" clauses.
1069 When rejecting aligned BODY and NEXT, loosen the requirement
1070 from equality with the first non-whitespace of guard to simply
1071 that they not be indented relative to it.
1072
e9a35493
RB
10732016-03-04 Richard Biener <rguenther@suse.de>
1074
1075 PR c++/70054
1076 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1077 instead of alias_sets_conflict_p.
1078
1be56bc5
MP
10792016-03-01 Marek Polacek <polacek@redhat.com>
1080
1081 PR c++/69795
1082 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1083 any DECL.
1084
35886f0b
MS
10852016-02-22 Martin Sebor <msebor@redhat.com>
1086
1087 PR middle-end/69780
1088 * c-common.c (check_builtin_function_arguments): Validate and
1089 reject invalid arguments to __builtin_alloca_with_align.
1090
4246c8da
MW
10912016-02-20 Mark Wielaard <mjw@redhat.com>
1092
1093 PR c/28901
1094 * c.opt (Wunused-const-variable): Turn into Alias for...
1095 (Wunused-const-variable=): New option.
1096
268be88c
BE
10972016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1098
1099 PR c++/69865
1100 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1101 here...
1102 (c_common_init_options): ...to here.
1103 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1104
871b3f47
JJ
11052016-02-19 Jakub Jelinek <jakub@redhat.com>
1106
1107 PR c++/69826
1108 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1109 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1110 flag_preprocess_only.
1111
bf14eba2
JJ
11122016-02-16 Jakub Jelinek <jakub@redhat.com>
1113
1114 PR c/69835
1115 * c.opt (Wnonnull-compare): Enable for -Wall.
1116
ba6b3795
JJ
11172016-02-15 Jakub Jelinek <jakub@redhat.com>
1118
1119 PR c++/69797
1120 * c-common.c (sync_resolve_size): Diagnose too few arguments
1121 even when params is non-NULL empty vector.
1122
a011cd92
BS
11232016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1124
1125 PR target/60410
1126 * c.opt (fshort-double): Remove.
1127
46cb9332
MS
11282016-02-05 Martin Sebor <msebor@redhat.com>
1129
1130 PR c++/69662
1131 * c.opt (Warning options): Update -Wplacement-new to take
1132 an optional argument.
1133
e1b81f2b
JJ
11342016-02-01 Jakub Jelinek <jakub@redhat.com>
1135
1136 PR preprocessor/69543
1137 PR c/69558
1138 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1139 instead of loc to control_warning_option.
1140
b6adbb9f
NS
11412016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1142
1143 * c.opt (fopenacc-dim=): New option.
1144
5d70666e
RB
11452016-01-27 Ryan Burn <contact@rnburn.com>
1146
1147 PR cilkplus/69267
1148 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1149 gimplify_arg. Removed superfluous post_p argument.
1150 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1151 superfluous post_p argument.
1152 * c-gimplify.c (c_gimplify_expr): Likewise.
1153
01e1dea3
DM
11542016-01-26 David Malcolm <dmalcolm@redhat.com>
1155
1156 PR other/69006
1157 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1158 pp_newline_and_flush with pp_flush.
1159
9f04a53e
MS
11602016-01-20 Martin Sebor <msebor@redhat.com>
1161
1162 PR c/69405
1163 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1164 an incompatible argument when the argument isn't a valid tree node.
1165
7f26f7df
JM
11662016-01-18 Jason Merrill <jason@redhat.com>
1167
1168 PR c++/68767
1169 * c-common.c (check_function_arguments_recurse): Fold the whole
1170 COND_EXPR, not just the condition.
1171
f62bf092
TV
11722016-01-18 Tom de Vries <tom@codesourcery.com>
1173
1174 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1175 classify as loop clause.
1176
e0a575ff
JJ
11772016-01-15 Jakub Jelinek <jakub@redhat.com>
1178
1179 PR bootstrap/68271
1180 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1181 C++ FE no longer has limit on number of pragmas.
1182
11832015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
1184
1185 PR c++/69048
1186 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 1187 to add missing cleanup point.
b6e3db06 1188
c7df95d8
DM
11892016-01-14 David Malcolm <dmalcolm@redhat.com>
1190
1191 PR c++/68819
1192 * c-indentation.c (get_visual_column): Add location_t param.
1193 Handle the column number being zero by effectively disabling the
1194 warning, with an "inform".
1195 (should_warn_for_misleading_indentation): Add location_t argument
1196 for all uses of get_visual_column.
1197
21efdd80
PP
11982016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1199
1200 PR c++/69029
1201 * c-indentation.c (should_warn_for_misleading_indentation):
1202 Don't warn about do-while statements.
1203
7a127fa7
MS
12042016-01-07 Martin Sebor <msebor@redhat.com>
1205
1206 PR c/68966
1207 * c-common.c (sync_resolve_size): Reject first argument when it's
1208 a pointer to _Bool.
1209
c589e975
DM
12102016-01-05 David Malcolm <dmalcolm@redhat.com>
1211
1212 PR c/69122
1213 * c-indentation.c (get_visual_column): Remove default argument.
1214 (should_warn_for_misleading_indentation): For the multiline case,
1215 update call to get_visual_column for next_stmt_exploc so that it
1216 captures the location of the first non-whitespace character in the
1217 relevant line. Don't issue warnings if there is non-whitespace
1218 before the next statement.
1219
818ab71a
JJ
12202016-01-04 Jakub Jelinek <jakub@redhat.com>
1221
1222 Update copyright years.
1223
745e411d
DM
12242015-12-21 David Malcolm <dmalcolm@redhat.com>
1225
1226 * c-common.c (binary_op_error): Convert first param from
1227 location_t to rich_location * and use it when emitting an error.
1228 * c-common.h (binary_op_error): Convert first param from
1229 location_t to rich_location *.
1230
de67c4c3
DM
12312015-12-16 David Malcolm <dmalcolm@redhat.com>
1232
1233 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1234 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1235
4a38b02b
IV
12362015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1237
1238 * c-common.c (c_common_attribute_table): Handle "omp declare target
1239 link" attribute.
1240
54d62f51
JJ
12412015-12-14 Jakub Jelinek <jakub@redhat.com>
1242
1243 PR c/68833
1244 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1245
8d4227c8
TB
12462014-12-12 Tobias Burnus <burnus@net-b.de>
1247
1248 PR fortran/68815
1249 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1250 specifiers (%d, %i,%u and %c).
1251
f6069ccc
DM
12522015-12-10 David Malcolm <dmalcolm@redhat.com>
1253
1254 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1255
63bbf46d
JJ
12562015-12-08 Jakub Jelinek <jakub@redhat.com>
1257
1258 PR c/48088
1259 PR c/68657
1260 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1261 * c-pragma.c (handle_pragma_diagnostic): Adjust
1262 control_warning_option caller.
1263
f79520bb
DM
12642015-12-07 David Malcolm <dmalcolm@redhat.com>
1265
1266 * c-common.c (c_cpp_error): Update for change to
1267 rich_location::set_range.
1268
b3d5bc62
JJ
12692015-12-04 Paolo Bonzini <bonzini@gnu.org>
1270
1271 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1272 shifting 1 out of the sign bit.
1273
12742015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1275
1276 * c-common.c (c_common_attribute_table[]): Update max arguments
1277 count for "simd" attribute.
1278 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1279
6eb4a537
JJ
12802015-12-03 Jakub Jelinek <jakub@redhat.com>
1281
1282 PR preprocessor/57580
1283 * c-ppoutput.c (print): Change printed field to bool.
1284 Move src_file last for smaller padding.
1285 (init_pp_output): Set print.printed to false instead of 0.
1286 (scan_translation_unit): Fix up formatting. Set print.printed
1287 to true after printing something other than newline.
1288 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1289 (maybe_print_line_1): Set print.printed to false instead of 0.
1290 (print_line_1): Likewise.
1291 (do_line_change): Set print.printed to true instead of 1.
1292 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1293 dump_macro): Set print.printed to false after printing newline.
1294
4250754e
JM
12952015-12-02 Jason Merrill <jason@redhat.com>
1296
f479b43d
JM
1297 * c-common.c (fold_for_warn): New.
1298 (warn_logical_operator, warn_tautological_cmp)
1299 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1300
4250754e
JM
1301 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1302 (c_fully_fold_internal, decl_constant_value_for_optimization):
1303 Move to c/c-fold.c.
1304 * c-common.h: Don't declare decl_constant_value_for_optimization.
1305
e9e32ee6
JM
13062015-12-02 Joseph Myers <joseph@codesourcery.com>
1307
1308 PR c/68162
1309 * c-common.h (c_build_qualified_type): Add extra default
1310 arguments.
1311
37d5ad46
JB
13122015-12-01 Julian Brown <julian@codesourcery.com>
1313 Cesar Philippidis <cesar@codesourcery.com>
1314 James Norris <James_Norris@mentor.com>
1315
1316 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1317 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1318 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1319
f07862c7
EB
13202015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1321
1322 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1323 (decl_sloc_common): Delete and move bulk of processing to...
1324 (decl_sloc): ...here.
1325 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1326 (dump_ada_double_name): Remove S parameter and compute the suffix.
1327 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1328 element type and deal with an anonymous one.
1329 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1330 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1331 and remove reference to QUAL_UNION_TYPE.
1332 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1333 (dump_nested_type): ...here. New function extracted from above.
1334 Generate a full declaration for anonymous element type of arrays.
1335 (print_ada_declaration): Really skip anonymous declarations. Remove
1336 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1337 Clean up processing of declarations of array types and objects.
1338 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1339 Remove obsolete code and tidy up.
1340
75c8aac3
JH
13412015-11-29 Jan Hubicka <hubicka@ucw.cz>
1342
1343 PR c/67581
1344 * c-common.c (handle_transparent_union_attribute): Update
1345 also type variants.
1346
b58d3df2
ML
13472015-11-27 Martin Liska <mliska@suse.cz>
1348
1349 PR c++/68312
1350 * array-notation-common.c (cilkplus_extract_an_triplets):
1351 Release vector of vectors.
1352 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1353
89a01fcf
EB
13542015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1355
1356 PR c++/68527
1357 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1358 (print_ada_struct_decl): Likewise.
1359
cc5c5226
IZ
13602015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1361
1362 PR c++/68001
1363 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1364 * cilk.c (recognize_spawn): Determine location in a more precise
1365 way.
1366
269adb9d
JM
13672015-11-19 Jason Merrill <jason@redhat.com>
1368
1369 * c-common.c (shorten_compare): But look through macros from
1370 system headers.
1371
d0eccfcd
JM
13722015-11-18 Jason Merrill <jason@redhat.com>
1373
1374 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1375 non-constant operand comes from a macro.
1376
3e44547c
JM
13772015-11-17 Jason Merrill <jason@redhat.com>
1378
1379 PR bootstrap/68346
1380 * c-common.c (warn_tautological_cmp): Fold before checking for
1381 constants.
1382
0f62c7a0
MP
13832015-11-16 Marek Polacek <polacek@redhat.com>
1384
1385 PR c++/68362
1386 * c-common.c (check_case_bounds): Fold low and high cases.
1387
a868811e
MP
13882015-11-16 Marek Polacek <polacek@redhat.com>
1389
1390 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1391 * c-common.c (c_common_get_alias_set): Likewise.
1392 (handle_visibility_attribute): Likewise.
1393
fff77217
KY
13942015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1395
1396 * c-common.c (handle_simd_attribute): New.
1397 (struct attribute_spec): Add entry for "simd".
1398 (handle_simd_attribute): New.
1399
269e63b7
KT
14002015-11-13 Kai Tietz <ktietz70@googlemail.com>
1401
1402 * c-lex.c (interpret_float): Use fold_convert.
1403
ebedc9a3
DM
14042015-11-13 David Malcolm <dmalcolm@redhat.com>
1405
1406 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1407 and store it on the result.
1408 * c-opts.c (c_common_init_options): Set
1409 global_dc->colorize_source_p.
1410
6e232ba4
JN
14112015-11-12 James Norris <jnorris@codesourcery.com>
1412 Joseph Myers <joseph@codesourcery.com>
1413
1414 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1415 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1416 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1417 PRAGMA_OACC_CLAUSE_LINK.
1418
e78bede6
MP
14192015-11-11 Marek Polacek <polacek@redhat.com>
1420
1421 PR c/68107
1422 PR c++/68266
1423 * c-common.c (valid_array_size_p): New function.
1424 * c-common.h (valid_array_size_p): Declare.
1425
3f8257db 14262015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
1427
1428 PR bootstrap/68271
1429 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1430
69f293c9
AM
14312015-11-11 Andrew MacLeod <amacleod@redhat.com>
1432
1433 * array-notation-common.c: Remove unused header files.
1434 * c-ada-spec.c: Likewise.
1435 * c-cilkplus.c: Likewise.
1436 * c-common.c: Likewise.
1437 * c-cppbuiltin.c: Likewise.
1438 * c-dump.c: Likewise.
1439 * c-format.c: Likewise.
1440 * c-gimplify.c: Likewise.
1441 * c-indentation.c: Likewise.
1442 * c-lex.c: Likewise.
1443 * c-omp.c: Likewise.
1444 * c-opts.c: Likewise.
1445 * c-pch.c: Likewise.
1446 * c-ppoutput.c: Likewise.
1447 * c-pragma.c: Likewise.
1448 * c-pretty-print.c: Likewise.
1449 * c-semantics.c: Likewise.
1450 * c-ubsan.c: Likewise.
1451 * cilk.c: Likewise.
1452 * stub-objc.c: Likewise.
1453
3a40d81d
NS
14542015-11-09 Thomas Schwinge <thomas@codesourcery.com>
1455 Cesar Philippidis <cesar@codesourcery.com>
1456 James Norris <jnorris@codesourcery.com>
1457 Julian Brown <julian@codesourcery.com>
1458 Nathan Sidwell <nathan@codesourcery.com>
1459
1460 * c-pragma.c (oacc_pragmas): Add "routine".
1461 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
1462
ee45a32d
EB
14632015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1464
1465 * c-common.c (c_common_attributes): Add scalar_storage_order.
1466 (handle_scalar_storage_order_attribute): New function.
1467 * c-pragma.c (global_sso): New variable.
1468 (maybe_apply_pragma_scalar_storage_order): New function.
1469 (handle_pragma_scalar_storage_order): Likewise.
1470 (init_pragma): Register scalar_storage_order.
1471 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
1472 * c.opt (Wscalar-storage-order): New warning.
1473 (fsso-struct=): New option.
1474
eb11eb15
MS
14752015-11-08 Martin Sebor <msebor@redhat.com>
1476
1477 * c.opt (Wplacement-new): Add a period to the end of a sentence.
1478
0aad0198
RS
14792015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1480
1481 * c-common.c: Don't undef DEF_BUILTIN.
1482
8a645150
DM
14832015-11-06 David Malcolm <dmalcolm@redhat.com>
1484
1485 * c-common.c (c_cpp_error): Convert parameter from location_t to
1486 rich_location *. Eliminate the "column_override" parameter and
1487 the call to diagnostic_override_column.
1488 Update the "done_lexing" clause to set range 0
1489 on the rich_location, rather than overwriting a location_t.
1490 * c-common.h (c_cpp_error): Convert parameter from location_t to
1491 rich_location *. Eliminate the "column_override" parameter.
1492
7a5e4956
CP
14932015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1494 Thomas Schwinge <thomas@codesourcery.com>
1495 James Norris <jnorris@codesourcery.com>
1496
1497 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
1498 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
1499 clauses with parallel and kernels and loops.
1500 * c-pragma.h (enum pragma_omp_clause): Add entries for
1501 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
1502 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
1503 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
1504 INDEPENDENT,SEQ}.
1505 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
1506
e2f5cc96
MS
15072015-11-05 Martin Sebor <msebor@redhat.com>
1508
1509 PR c++/67942
1510 * c.opt (-Wplacement-new): New option.
1511
e01d41e5
JJ
15122015-11-05 Jakub Jelinek <jakub@redhat.com>
1513
1514 * c-common.h (c_finish_omp_atomic): Add TEST argument.
1515 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
1516 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
1517 save_expr or create_tmp_var* if TEST is true.
1518 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
1519 Don't call add_stmt here.
1520 (struct c_omp_check_loop_iv_data): New type.
1521 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
1522 c_omp_check_loop_iv_exprs): New functions.
1523 (c_omp_split_clauses): Adjust for lastprivate being allowed on
1524 distribute.
1525 (c_omp_declare_simd_clauses_to_numbers): Change
1526 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
1527 (c_omp_declare_simd_clauses_to_decls): Similarly change those
1528 from numbers to PARM_DECLs.
1529
595278be
MM
15302015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1531
1532 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
1533 flag_checking.
1534
3f8257db 15352015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
1536
1537 PR c++-common/67882
b3d5bc62
JJ
1538 * c-common.h (fold_offsetof_1): Add argument.
1539 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
1540 offsetof expressions that reference elements past the end of
1541 an array.
1542
4bf9e5a8
TS
15432015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1544 Chung-Lin Tang <cltang@codesourcery.com>
1545
1546 * c-pragma.c (oacc_pragmas): Add "atomic".
1547 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
1548
3b1661a9
ES
15492015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1550
1551 * c-common.c (handle_target_clones_attribute): New.
1552 (c_common_attribute_table): Add handle_target_clones_attribute.
1553 (handle_always_inline_attribute): Add check on target_clones attribute.
1554 (handle_target_attribute): Ditto.
1555
2adfab87
AM
15562015-10-29 Andrew MacLeod <amacleod@redhat.com>
1557
1558 * array-notation-common.c: Reorder #include's and remove duplicates.
1559 * c-ada-spec.c: Likewise.
1560 * c-cilkplus.c: Likewise.
1561 * c-common.c: Likewise.
1562 * c-cppbuiltin.c: Likewise.
1563 * c-dump.c: Likewise.
1564 * c-format.c: Likewise.
1565 * c-gimplify.c: Likewise.
1566 * c-indentation.c: Likewise.
1567 * c-lex.c: Likewise.
1568 * c-omp.c: Likewise.
1569 * c-opts.c: Likewise.
1570 * c-pch.c: Likewise.
1571 * c-ppoutput.c: Likewise.
1572 * c-pragma.c: Likewise.
1573 * c-pretty-print.c: Likewise.
1574 * c-semantics.c: Likewise.
1575 * c-ubsan.c: Likewise.
1576 * cilk.c: Likewise.
1577 * stub-objc.c: Likewise.
1578
d90ec4f2
JM
15792015-10-28 Jason Merrill <jason@redhat.com>
1580
1581 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
1582
88bae6f4
TS
15832015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1584 James Norris <jnorris@codesourcery.com>
1585 Cesar Philippidis <cesar@codesourcery.com>
1586
1587 PR c/64765
1588 PR c/64880
1589 * c-common.h (c_oacc_split_loop_clauses): Declare function.
1590 * c-omp.c (c_oacc_split_loop_clauses): New function.
1591
b1726d6c
MS
15922015-10-21 Martin Sebor <msebor@redhat.com>
1593
1594 PR driver/68043
1595 * c.opt: End each sentence that describes an option with a period.
1596
fa60eeb9
MP
15972015-10-20 Marek Polacek <polacek@redhat.com>
1598
1599 * array-notation-common.c (is_cilkplus_vector_p): Define.
1600 * c-common.h (is_cilkplus_vector_p): Declare.
1601
95979049
MP
16022015-10-20 Marek Polacek <polacek@redhat.com>
1603
1604 * c.opt (std=gnu++11): Do not describe as experimental.
1605 (std=gnu++14): Likewise.
1606
2a9fb712
JM
16072015-10-19 Jason Merrill <jason@redhat.com>
1608
1609 * c-cppbuiltin.c (c_cpp_builtins): Define
1610 __cpp_nontype_template_args.
1611
13b380a3
JM
16122015-10-19 Jason Merrill <jason@redhat.com>
1613
1614 * c-cppbuiltin.c (c_cpp_builtins): Define
1615 __cpp_enumerator_attributes, __cpp_fold_expressions,
1616 __cpp_unicode_characters.
1617
d9a6bd32
JJ
16182015-10-13 Jakub Jelinek <jakub@redhat.com>
1619 Aldy Hernandez <aldyh@redhat.com>
1620
1621 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
1622 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
1623 (c_define_builtins): Likewise.
1624 * c-common.h (enum c_omp_clause_split): Add
1625 C_OMP_CLAUSE_SPLIT_TASKLOOP.
1626 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
1627 (c_finish_omp_for): Add ORIG_DECLV argument.
1628 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
1629 201511 instead of 201307.
1630 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
1631 OMP_CRITICAL_CLAUSES to it.
1632 (c_finish_omp_ordered): Add CLAUSES argument, set
1633 OMP_ORDERED_CLAUSES to it.
1634 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
1635 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
1636 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
1637 constructs and new OpenMP 4.5 clauses. Clear
1638 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
1639 verification code.
1640 * c-pragma.c (omp_pragmas_simd): Add taskloop.
1641 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
1642 (enum pragma_omp_clause): Add
1643 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
1644 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
1645
624d31fe
RS
16462015-10-05 Richard Sandiford <richard.sandiford@arm.com>
1647
1648 * c-lex.c (interpret_float): Use real_equal instead of
1649 REAL_VALUES_EQUAL.
1650
b8fd7909
JM
16512015-10-04 Jason Merrill <jason@redhat.com>
1652
1653 Implement N4514, C++ Extensions for Transactional Memory.
1654 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
1655 (c_common_attribute_table): Add transaction_safe_dynamic.
1656 transaction_safe now affects type identity.
1657 (handle_tm_attribute): Handle transaction_safe_dynamic.
1658 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
1659 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
1660 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
1661 (D_TRANSMEM): New.
1662 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
1663 * c-pretty-print.c (pp_c_attributes_display): Don't print
1664 transaction_safe in C++.
1665
12651878
MP
16662015-10-02 Marek Polacek <polacek@redhat.com>
1667
1668 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
1669
3e3b8d63
MP
16702015-10-02 Marek Polacek <polacek@redhat.com>
1671
1672 PR c/64249
1673 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
1674 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
1675 * c.opt (Wduplicated-cond): New option.
1676
0d1a8f75
JM
16772015-10-01 Joseph Myers <joseph@codesourcery.com>
1678
1679 * c.opt (std=c11): Do not describe as experimental.
1680 (std=gnu11): Likewise.
1681 (std=iso9899:2011): Likewise.
1682
3e32ee19
NS
16832015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1684
1685 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
1686 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1687
974348ee
MP
16882015-09-25 Marek Polacek <polacek@redhat.com>
1689
1690 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
1691 (ubsan_instrument_shift): Likewise.
1692
15dbc1a6
MP
16932015-09-25 Marek Polacek <polacek@redhat.com>
1694
1695 PR sanitizer/64906
1696 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
1697
6b95d7cc
PP
16982015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
1699
1700 * c-indentation.c (should_warn_for_misleading_indentation):
1701 Compare next_stmt_vis_column with guard_line_first_nws instead
1702 of with guard_line_vis_column.
1703
c1822f9c
MLI
17042015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1705
1706 PR c/49654
1707 PR c/49655
1708 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
1709 options and options not valid for the current language.
1710
d5398058
PP
17112015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
1712
1713 * c-indentation.c (should_warn_for_misleading_indentation):
1714 Float out and consolidate the calls to get_visual_column that
1715 are passed guard_exploc as an argument. Compare
1716 next_stmt_vis_column with guard_line_first_nws instead of with
1717 body_line_first_nws.
1718
6b333269
NS
17192015-09-22 Nathan Sidwell <nathan@codesourcery.com>
1720
1721 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
1722 Wnamespaces): New C++ warnings.
1723
a75f1574
JM
17242015-09-22 Jason Merrill <jason@redhat.com>
1725
1726 * c-common.h (abi_compat_version_crosses): New.
1727 (warn_abi_version): Declare.
1728 * c-common.c: Define it.
1729 * c-opts.c (c_common_post_options): Handle it.
1730 flag_abi_compat_version defaults to 8.
1731
bdaaa8b7
VV
17322015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1733
1734 Complete the implementation of N4230, Nested namespace definition.
1735 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
1736 __cpp_nested_namespace_definitions.
1737
eaa797e8
MLI
17382015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1739
1740 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
1741
c4914de6
MLI
17422015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1743
1744 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
1745 when warning.
1746 * c-pragma.h (pragma_lex): Add optional loc argument.
1747
fcb87c50
MM
17482015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
1749
1750 * c-format.c (check_format_arg): Adjust to use common block size in all
1751 object pools.
1752
31bdd08a
DM
17532015-09-15 David Malcolm <dmalcolm@redhat.com>
1754
1755 * c-format.c (location_from_offset): Update for change in
1756 signature of location_get_source_line.
1757 * c-indentation.c (get_visual_column): Likewise.
1758 (line_contains_hash_if): Likewise.
1759
aa9f4b4c
MP
17602015-09-14 Marek Polacek <polacek@redhat.com>
1761
1762 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
1763 setting various warnings.
1764
aa256c4a
MP
17652015-09-14 Marek Polacek <polacek@redhat.com>
1766
1767 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
1768 a negative value.
1769
0f876f22
MW
17702015-09-11 Mark Wielaard <mjw@redhat.com>
1771
1772 PR c/28901
1773 * c.opt (Wunused-variable): Option from common.opt.
1774 (Wunused-const-variable): New option.
1775
273aa49e
PC
17762015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1777
1778 PR c++/53184
1779 * c.opt ([Wsubobject-linkage]): Add.
1780
1807ffc1
MS
17812015-09-03 Martin Sebor <msebor@redhat.com>
1782
1783 PR c/66516
1784 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
1785 functions.
1786 * c-common.c (reject_gcc_builtin): Define.
1787
38942840
BI
17882015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
1789
1790 PR middle-end/60586
1791 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
1792 prototype.
1793 * c-gimplify.c (c_gimplify_expr): Added a call to the function
1794 cilk_gimplify_call_params_in_spawned_fn.
1795 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
1796 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
1797 unwrapping.
1798
c316b5e4
MP
17992015-08-25 Marek Polacek <polacek@redhat.com>
1800
1801 PR middle-end/67330
1802 * c-common.c (handle_weak_attribute): Don't check whether the
1803 visibility can be changed here.
1804
584a7c46
MLI
18052015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1806
1807 * c-lex.c (c_lex_with_flags): Use explicit locations.
1808
a79683d5
TS
18092015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1810
1811 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
1812 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
1813
61717a45
FXC
18142015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1815
1816 PR middle-end/36757
1817 * c-common.c (check_builtin_function_arguments): Add check
1818 for BUILT_IN_SIGNBIT argument.
1819
329524f5
PC
18202015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
1821
1822 PR c++/67160
1823 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
1824 in c++1z mode.
1825
4ee55665
MP
18262015-08-17 Marek Polacek <polacek@redhat.com>
1827
1828 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
1829 with whitespaces before qualifier names.
1830
b893e375
MP
18312015-08-12 Marek Polacek <polacek@redhat.com>
1832
1833 PR c++/55095
1834 * c-common.c (maybe_warn_shift_overflow): Properly handle
1835 left-shifting 1 into the sign bit.
1836
c2d89095
MLI
18372015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1838
1839 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
1840
971e17ff
AS
18412015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
1842 Braden Obrzut <admin@maniacsvault.net>
1843 Jason Merrill <jason@redhat.com>
1844
1845 Add C++ Concepts TS support.
1846 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
1847 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
1848 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
1849 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
1850 * c-opts.c (set_std_cxx1z): Set flag_concepts.
1851 * c.opt (fconcepts): New.
1852
b3d5bc62
JJ
18532015-08-02 Martin Sebor <msebor@redhat.com>
1854
1855 * c.opt (-Wframe-address): New warning option.
1856
8ebca419
PP
18572015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1858
1859 * c-indentation.c (should_warn_for_misleading_indentation):
1860 Improve heuristics.
1861
1a1e101f
PP
18622015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1863
1864 * c-indentation.c (get_visual_column): Add parameter first_nws,
1865 use it. Update comment documenting the function.
1866 (is_first_nonwhitespace_on_line): Remove.
1867 (should_warn_for_misleading_indentation): Replace usage of
1868 of is_first_nonwhitespace_on_line with get_visual_column.
1869
992118a1
PP
18702015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1871
1872 * c-indentation.h (struct token_indent_info): Define.
1873 (get_token_indent_info): Define.
1874 (warn_for_misleading_information): Declare.
1875 * c-common.h (warn_for_misleading_information): Remove.
1876 * c-identation.c (warn_for_misleading_indentation):
1877 Change declaration to take three token_indent_infos. Adjust
1878 accordingly.
1879 * c-identation.c (should_warn_for_misleading_indentation):
1880 Likewise. Bail out early if the body is a compound statement.
1881 (guard_tinfo_to_string): Define.
1882
e8fa3817
JM
18832015-07-30 Jason Merrill <jason@redhat.com>
1884
1885 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
1886 '*' for reference decay.
1887
173864e8
MP
18882015-07-30 Marek Polacek <polacek@redhat.com>
1889
1890 * c-common.c (warn_tautological_cmp): Bail for float types.
1891
f2afe6dd
MP
18922015-07-27 Marek Polacek <polacek@redhat.com>
1893
1894 PR bootstrap/67030
1895 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
1896
05b28fd6
MP
18972015-07-27 Marek Polacek <polacek@redhat.com>
1898
1899 PR c++/66555
1900 PR c/54979
1901 * c-common.c (find_array_ref_with_const_idx_r): New function.
1902 (warn_tautological_cmp): New function.
1903 * c-common.h (warn_tautological_cmp): Declare.
1904 * c.opt (Wtautological-compare): New option.
1905
5a5062b8
MP
19062015-07-23 Marek Polacek <polacek@redhat.com>
1907
1908 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
1909 (ubsan_instrument_shift): Likewise.
1910
dc891fe7
MP
19112015-07-23 Marek Polacek <polacek@redhat.com>
1912
1913 PR sanitizer/66908
1914 * c-ubsan.c: Include gimplify.h.
1915 (ubsan_instrument_division): Unshare OP0 and OP1.
1916 (ubsan_instrument_shift): Likewise.
1917
451b5e48
MP
19182015-07-20 Marek Polacek <polacek@redhat.com>
1919 Richard Sandiford <richard.sandiford@arm.com>
1920
1921 PR c++/55095
1922 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
1923 Use EXPR_LOC_OR_LOC.
1924 (maybe_warn_shift_overflow): New function.
1925 * c-common.h (maybe_warn_shift_overflow): Declare.
1926 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
1927 * c.opt (Wshift-overflow): New option.
1928
fb0b2914
ML
19292015-07-16 Martin Liska <mliska@suse.cz>
1930
1931 * c-format.c (static void check_format_info_main): Use
1932 object_allocator instead of pool_allocator.
1933 (check_format_arg): Likewise.
1934 (check_format_info_main): Likewise.
1935
903f5c23
AM
19362015-07-15 Andrew MacLeod <amacleod@redhat.com>
1937
1938 * c-opts.c: Remove multiline #include comment.
1939
026c3cfd
AH
19402015-07-12 Aldy Hernandez <aldyh@redhat.com>
1941
1942 * c-common.c: Fix double word typos.
1943
bb49ee66
EB
19442015-07-10 Eric Botcazou <ebotcazou@adacore.com>
1945
1946 * c-ada-spec.h (cpp_operation): Revert latest change.
1947 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
1948 constructors and destructors.
1949
1916bcb5
AM
19502015-07-09 Andrew MacLeod <amacleod@redhat.com>
1951
1952 * c-common.h: Adjust includes for flags.h changes.
1953 * stub-objc.c: Likewise.
026c3cfd 1954
a9dcd529
EB
19552015-07-08 Eric Botcazou <ebotcazou@adacore.com>
1956
1957 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
1958 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
1959
b03b462f
JJ
19602015-07-08 Jakub Jelinek <jakub@redhat.com>
1961
1962 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
1963 are to be removed, return NULL rather than original clauses list.
1964
c7131fb2
AM
19652015-07-07 Andrew MacLeod <amacleod@redhat.com>
1966
1967 * array-notation-common.c: Adjust includes.
1968 * c-ada-spec.c: Likewise.
1969 * c-cilkplus.c: Likewise.
1970 * c-common.h: Likewise.
1971 * c-cppbuiltin.c: Likewise.
1972 * c-dump.c: Likewise.
1973 * c-format.c: Likewise.
1974 * c-gimplify.c: Likewise.
1975 * c-indentation.c: Likewise.
1976 * c-lex.c: Likewise.
1977 * c-omp.c: Likewise.
1978 * c-opts.c: Likewise.
1979 * c-pch.c: Likewise.
1980 * c-ppoutput.c: Likewise.
1981 * c-pragma.c: Likewise.
1982 * c-pretty-print.c: Likewise.
1983 * c-semantics.c: Likewise.
1984 * c-ubsan.c: Likewise.
1985 * cilk.c: Likewise.
1986 * stub-objc.c: Likewise.
1987
2a7fb83f
EB
19882015-07-07 Eric Botcazou <ebotcazou@adacore.com>
1989
1990 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
1991 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
1992
a03c9bf1
JM
19932015-07-01 Jason Merrill <jason@redhat.com>
1994
36a85135
JM
1995 * c-common.h (D_CXX11): Rename from D_CXX0X.
1996 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
1997 * c-common.c: Adjust.
1998
e7fa68d5
JM
1999 * c-opts.c (c_common_post_options): Default to C++14.
2000
a03c9bf1
JM
2001 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2002
fe95b036
ESR
20032015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2004
2005 Implement N4197 - Adding u8 character literals
b3d5bc62 2006 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 2007 CPP_CHAR.
b3d5bc62 2008 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 2009 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 2010 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
2011 and CPP_UTF8CHAR tokens.
2012 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 2013
da2e71c9
MLI
20142015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2015
2016 PR fortran/66605
2017 * c-common.c (do_warn_unused_parameter): Move here.
2018 * c-common.h (do_warn_unused_parameter): Declare.
2019
b155cfd9
MP
20202015-06-29 Marek Polacek <polacek@redhat.com>
2021
2022 PR c/66322
2023 * c-common.c (check_case_bounds): Add bool * parameter. Set
2024 OUTSIDE_RANGE_P.
2025 (c_add_case_label): Add bool * parameter. Pass it down to
2026 check_case_bounds.
2027 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2028 warning here.
2029 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2030 declarations.
2031
31521951
MP
20322015-06-27 Marek Polacek <polacek@redhat.com>
2033
2034 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2035 or VECTOR_INTEGER_TYPE_P throughout.
2036 * c-gimplify.c: Likewise.
2037
22d03525
MP
20382015-06-26 Marek Polacek <polacek@redhat.com>
2039
2040 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2041 * c-common.c (c_fully_fold_internal): Likewise.
2042 (c_alignof_expr): Likewise.
2043 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2044 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 2045 * cilk.c (create_parm_list): Likewise.
22d03525 2046
af05e6e5
MP
20472015-06-26 Marek Polacek <polacek@redhat.com>
2048
2049 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2050
f0889939
AM
20512015-06-25 Andrew MacLeod <amacleod@redhat.com>
2052
2053 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2054 * c-gimplify.c: Likewise.
2055 * c-pragma.c: Likewise.
2056 * c-ubsan.c: Likewise.
2057 * cilk.c: Likewise.
2058
ca752f39
RS
20592015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2060
2061 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2062 ggc_hasher.
2063
16a16ec7
AM
20642015-06-25 Andrew MacLeod <amacleod@redhat.com>
2065
2066 * cilk.c: Move calls.h after tm.h in the include chain.
2067
0ae9bd27
MP
20682015-06-25 Marek Polacek <polacek@redhat.com>
2069
2070 * array-notation-common.c: Use VAR_P throughout.
2071 * c-ada-spec.c: Likewise.
2072 * c-common.c: Likewise.
2073 * c-format.c: Likewise.
2074 * c-gimplify.c: Likewise.
2075 * c-omp.c: Likewise.
2076 * c-pragma.c: Likewise.
2077 * c-pretty-print.c: Likewise.
2078 * cilk.c: Likewise.
2079
62f9079a
MP
20802015-06-25 Marek Polacek <polacek@redhat.com>
2081
2082 * cilk.c (extract_free_variables): Use is_global_var.
2083
0fa16060
RS
20842015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2085
2086 * c-common.c: Don't include target-def.h.
2087
a68ae2e1
MP
20882015-06-23 Marek Polacek <polacek@redhat.com>
2089
2090 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2091 when comparing INTEGER_CSTs.
2092
c6a2f2d9
PMR
20932015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2094
2095 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2096 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2097 (dump_ada_template): Skip partially specialized types.
2098
6b4db501
MM
20992015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2100
2101 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2102 swapping.
2103
abb226c9
AM
21042015-06-17 Andrew MacLeod <amacleod@redhat.com>
2105
2106 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2107 * c-ada-spec.c: Likewise.
2108 * c-cilkplus.c: Likewise.
2109 * c-common.c: Likewise.
2110 * c-common.h: Likewise.
2111 * c-cppbuiltin.c: Likewise.
2112 * c-dump.c: Likewise.
2113 * c-format.c: Likewise.
2114 * c-gimplify.c: Likewise.
2115 * c-indentation.c: Likewise.
2116 * c-lex.c: Likewise.
2117 * c-omp.c: Likewise.
2118 * c-opts.c: Likewise.
2119 * c-pch.c: Likewise.
2120 * c-ppoutput.c: Likewise.
2121 * c-pragma.c: Likewise.
2122 * c-pretty-print.c: Likewise.
2123 * c-semantics.c: Likewise.
2124 * c-ubsan.c: Likewise.
2125 * cilk.c: Likewise.
2126 * stub-objc.c: Likewise.
2127
076fecad
PP
21282015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2129
2130 PR c++/65168
2131 * c-common.c (c_common_truthvalue_conversion): Warn when
2132 converting an address of a reference to a truth value.
2133
13fdf2e2
AM
21342015-06-08 Andrew MacLeod <amacleod@redhat.com>
2135
2136 * array-notation-common.c : Adjust include files.
2137 * c-ada-spec.c : Likewise.
2138 * c-cilkplus.c : Likewise.
2139 * c-common.c : Likewise.
2140 * c-common.h : Likewise.
2141 * c-cppbuiltin.c : Likewise.
2142 * c-dump.c : Likewise.
2143 * c-format.c : Likewise.
2144 * c-gimplify.c : Likewise.
2145 * c-indentation.c : Likewise.
2146 * c-lex.c : Likewise.
2147 * c-omp.c : Likewise.
2148 * c-opts.c : Likewise.
2149 * c-pch.c : Likewise.
2150 * c-ppoutput.c : Likewise.
2151 * c-pragma.c : Likewise.
2152 * c-pretty-print.c : Likewise.
2153 * c-semantics.c : Likewise.
2154 * c-ubsan.c : Likewise.
2155 * cilk.c : Likewise.
2156 * stub-objc.c : Likewise.
2157
a1661b90
MP
21582015-06-08 Marek Polacek <polacek@redhat.com>
2159
2160 PR c/66415
2161 * c-format.c (location_from_offset): Return LOC if LINE is null.
2162
d7438551
AH
21632015-06-05 Aldy Hernandez <aldyh@redhat.com>
2164
2165 * c-common.h (c_parse_final_cleanups): New prototype.
2166 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2167
b3d5bc62
JJ
21682015-06-04 Sriraman Tallam <tmsriram@google.com>
2169
2170 * c-common.c (noplt): New attribute.
2171 (handle_noplt_attribute): New handler.
2172
ecb9f223
AM
21732015-06-04 Andrew MacLeod <amacleod@redhat.com>
2174
2175 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2176 * c-ada-spec.c: Likewise.
2177 * c-cilkplus.c: Likewise.
2178 * c-common.c: Likewise.
2179 * c-common.h: Likewise.
2180 * c-cppbuiltin.c: Likewise.
2181 * c-dump.c: Likewise.
2182 * c-format.c: Likewise.
2183 * c-gimplify.c: Likewise.
2184 * c-indentation.c: Likewise.
2185 * c-lex.c: Likewise.
2186 * c-omp.c: Likewise.
2187 * c-opts.c: Likewise.
2188 * c-pch.c: Likewise.
2189 * c-ppoutput.c: Likewise.
2190 * c-pragma.c: Likewise.
2191 * c-pretty-print.c: Likewise.
2192 * c-semantics.c: Likewise.
2193 * c-ubsan.c: Likewise.
2194 * cilk.c: Likewise.
2195 * stub-objc.c: Likewise.
2196
6ac48155
DM
21972015-06-02 David Malcolm <dmalcolm@redhat.com>
2198
2199 PR c/66220:
2200 * c-indentation.c (should_warn_for_misleading_indentation): Use
2201 expand_location rather than expand_location_to_spelling_point.
2202 Don't warn if the guarding statement is more indented than the
2203 next/body stmts.
2204
773ce42e
DM
22052015-06-02 David Malcolm <dmalcolm@redhat.com>
2206
2207 * c-indentation.c (warn_for_misleading_indentation): Bail out
2208 immediately if -Wmisleading-indentation isn't enabled.
2209
4fef8379
ML
22102015-06-01 Martin Liska <mliska@suse.cz>
2211
2212 * c-format.c (check_format_arg):Use new type-based pool allocator.
2213 (check_format_info_main) Likewise.
2214
1edfb384
EB
22152015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2216
2217 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2218 (has_nontrivial_methods): Likewise.
2219
9677ef52
MP
22202015-05-25 Marek Polacek <polacek@redhat.com>
2221
2222 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2223
fd5c817a
MP
22242015-05-22 Marek Polacek <polacek@redhat.com>
2225
2226 PR c/47043
2227 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2228
a2f45fe6 22292015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
2230
2231 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2232 STACK_GROWS_DOWNWARD.
2233
a2f45fe6 22342015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
2235
2236 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2237 STACK_GROWS_DOWNWARD rather than if it is defined.
2238
0fee2ac2 22392015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 2240
0fee2ac2
MLI
2241 PR c/52952
2242 * c-format.c (location_column_from_byte_offset): New.
2243 (location_from_offset): New.
2244 (struct format_wanted_type): Add offset_loc field.
2245 (check_format_info): Move handling of location for extra arguments
2246 closer to the point of warning.
2247 (check_format_info_main): Pass the result of location_from_offset
2248 to warning_at.
2249 (format_type_warning): Pass the result of location_from_offset
2250 to warning_at.
2251
cf4ef6f7
MP
22522015-05-20 Marek Polacek <polacek@redhat.com>
2253
2254 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2255
3a65ee74
MP
22562015-05-20 Marek Polacek <polacek@redhat.com>
2257
2258 * c-ada-spec.c (dump_sloc): Use DECL_P.
2259
21b634ae
MP
22602015-05-20 Marek Polacek <polacek@redhat.com>
2261
2262 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2263 * c-common.c: Likewise.
2264
0e50b624
DM
22652015-05-19 David Malcolm <dmalcolm@redhat.com>
2266
2267 * c-common.h (fe_file_change): Strengthen param from
2268 const line_map * to const line_map_ordinary *.
2269 (pp_file_change): Likewise.
2270 * c-lex.c (fe_file_change): Likewise.
2271 (cb_define): Use linemap_check_ordinary when invoking
2272 SOURCE_LINE.
2273 (cb_undef): Likewise.
2274 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2275 invoking cb_file_change.
2276 (c_finish_options): Likewise.
2277 (push_command_line_include): Likewise.
2278 (cb_file_change): Strengthen param "new_map" from
2279 const line_map * to const line_map_ordinary *.
2280 * c-ppoutput.c (cb_define): Likewise for local "map".
2281 (pp_file_change): Likewise for param "map" and local "from".
2282
fab27f52
MM
22832015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2284
2285 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2286
2fe1d762
TV
22872015-05-18 Tom de Vries <tom@codesourcery.com>
2288
2289 * c-common.c (build_va_arg_1): New function.
2290 (build_va_arg): Add address operator to va_list operand if necessary.
2291
7a37fa90
MM
22922015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2293
2294 PR c/48956
2295 * c-common.c (int_safely_convertible_to_real_p): Define.
2296 (unsafe_conversion_p): Check conversions involving complex types.
2297 (conversion_warning): Add new warning message for conversions which
2298 discard imaginary component.
2299 * c-common.h: (enum conversion_safety): Add new enumerator for such
2300 conversions.
2301
3aa3c9fc
MP
23022015-05-14 Marek Polacek <polacek@redhat.com>
2303
2304 PR c/66066
2305 PR c/66127
2306 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2307 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2308 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2309 use it. If FOR_INT_CONST, require that all evaluated operands be
2310 INTEGER_CSTs.
2311
c3388e62
DM
23122015-05-12 David Malcolm <dmalcolm@redhat.com>
2313
2314 * c-common.h (warn_for_misleading_indentation): New prototype.
2315 * c-indentation.c: New file.
2316 * c.opt (Wmisleading-indentation): New option.
2317
c7b38fd5
TV
23182015-05-12 Tom de Vries <tom@codesourcery.com>
2319
2320 PR tree-optimization/66010
2321 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2322
381bf11e
JM
23232015-05-09 Jason Merrill <jason@redhat.com>
2324
edff0c06
JM
2325 * c-opts.c (c_common_post_options): Also clear
2326 cpp_opts->cpp_warn_cxx11_compat.
2327
129211bc
JM
2328 * c-common.h (enum cxx_dialect): Add cxx_unset.
2329 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2330 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2331
381bf11e
JM
2332 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2333 (std=gnu++0x): Mark as Undocumented.
2334 (std=gnu++1y): Add deprecated message.
2335
fe191308
JM
23362015-05-08 Jason Merrill <jason@redhat.com>
2337
765189ff
JM
2338 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2339 * c-opts.c: Adjust.
2340
fe191308
JM
2341 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2342
755e528f
MP
23432015-05-08 Marek Polacek <polacek@redhat.com>
2344
2345 PR c/64918
2346 * c.opt (Woverride-init-side-effects): New option.
2347
0173bd2a
MP
23482015-05-07 Marek Polacek <polacek@redhat.com>
2349
2350 PR c/65179
2351 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2352 negative value.
2353 * c.opt (Wshift-negative-value): New option.
2354 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2355 when -Wextra and C99/C++11 mode.
2356
e0f0d3b9
MP
23572015-05-07 Marek Polacek <polacek@redhat.com>
2358 Martin Uecker <uecker@eecs.berkeley.edu>
2359
2360 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2361 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2362
8243e2a9
JM
23632015-05-05 Jason Merrill <jason@redhat.com>
2364
2365 * c.opt (Wterminate): New.
2366
577cd070
MP
23672015-04-30 Marek Polacek <polacek@redhat.com>
2368
2369 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2370 require that the non-constant be of a boolean type.
2371
0373796b
JT
23722015-04-29 Josh Triplett <josh@joshtriplett.org>
2373
e0f0d3b9
MP
2374 * c-common.c (handle_section_attribute): Refactor to reduce
2375 nesting and distinguish between error cases.
0373796b 2376
716c0ba6
MP
23772015-04-29 Marek Polacek <polacek@redhat.com>
2378
2379 PR c/64610
2380 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2381 with 0/1.
2382
8848828b
JJ
23832015-04-29 Jakub Jelinek <jakub@redhat.com>
2384
2385 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2386 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2387 HOST_BITS_PER_WIDE_INT.
2388
ecd0e562
TV
23892015-04-28 Tom de Vries <tom@codesourcery.com>
2390
2391 PR tree-optimization/65887
2392 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2393
2a877204 23942015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 2395 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
2396
2397 * c-ada-spec.c (in_function): Delete.
2398 (dump_generic_ada_node): Do not change in_function and remove the
2399 redundant code dealing with it.
2400 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2401 (print_ada_methods): Output the static member functions in a nested
2402 package after the regular methods as well as associated renamings.
2403
4853031e
MP
24042015-04-24 Marek Polacek <polacek@redhat.com>
2405
2406 PR c/65830
2407 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2408 and OPT_Wshift_count_overflow.
2409
8c2b7f79
MP
2410 PR c/63357
2411 * c-common.c (warn_logical_operator): Warn if the operands have the
2412 same expressions.
2413
b8787813
MP
24142015-04-24 Marek Polacek <polacek@redhat.com>
2415
2416 PR c/61534
2417 * c-common.c (warn_logical_operator): Bail if either operand comes
2418 from a macro expansion.
2419
8fba1830
BRF
24202015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2421
2422 PR target/55143
2423 * c-common.c (c_default_pointer_mode): Add definition.
2424 * c-common.h (c_default_pointer_mode): Add declaration.
2425
17958621
JJ
24262015-03-11 Jakub Jelinek <jakub@redhat.com>
2427
2428 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2429 on record_builtin_type argument.
2430
7ccb1a11
JJ
24312015-03-10 Jakub Jelinek <jakub@redhat.com>
2432
2433 PR c/65120
2434 * c-common.c (warn_logical_not_parentheses): Don't warn for
2435 !x == 0 or !x != 0.
2436
04fd785e
MP
24372015-03-07 Marek Polacek <polacek@redhat.com>
2438
2439 PR sanitizer/65280
2440 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2441 before trying to figure out whether we have a flexible array member.
2442
a4e26206
EB
24432015-03-06 Eric Botcazou <ebotcazou@adacore.com>
2444 Jonathan Wakely <jwakely.gcc@gmail.com>
2445
2446 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2447
0d2489f4
EB
24482015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2449
2450 PR ada/65319
2451 * c-ada-spec.c (print_destructor): Remove obsolete code.
2452
83ed54d7
EB
24532015-03-01 Eric Botcazou <ebotcazou@adacore.com>
2454
2455 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
2456 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
2457 DECL_TEMPLATE_RESULT emulations.
2458 (dump_ada_template)): Add guard for TYPE_METHODS.
2459
7631f0e2
MP
24602015-02-27 Marek Polacek <polacek@redhat.com>
2461
2462 PR c/65040
2463 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
2464
d1783ae5
KT
24652015-02-27 Kai Tietz <ktietz@redhat.com>
2466
2467 PR c/35330
2468 * c-pragma.c (handle_pragma_weak): Do not try to create
2469 weak/alias of declarations not being function, or variable
2470 declarations.
2471
56a9f6bc
TS
24722015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2473
2474 PR libgomp/64625
2475 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2476 Remove macros.
2477 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2478
3d5cb23d
MP
24792015-02-16 Marek Polacek <polacek@redhat.com>
2480
2481 PR c/65066
2482 * c-format.c (check_format_types): Handle null param.
2483
fa008882
MP
24842015-02-13 Marek Polacek <polacek@redhat.com>
2485
2486 PR c/65040
2487 * c-format.c (check_format_types): Don't warn about different
2488 signedness if the original value is in the range of WANTED_TYPE.
2489
785f21af
JM
24902015-02-12 Jason Merrill <jason@redhat.com>
2491
2492 PR c++/64956
2493 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
2494 to the current highest version.
2495 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
2496
4886ec8e
JJ
24972015-02-04 Jakub Jelinek <jakub@redhat.com>
2498
2499 PR c/64824
2500 PR c/64868
2501 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
2502 instead of RDIV_EXPR. Use build_binary_op instead of
2503 build2_loc.
2504
40fecdd6
JM
25052015-01-30 Joseph Myers <joseph@codesourcery.com>
2506
2507 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
2508 to pass input_location as first argument.
2509
a0c88d06
TV
25102015-01-23 Tom de Vries <tom@codesourcery.com>
2511
2512 PR libgomp/64672
2513 * c.opt (fopenacc): Mark as LTO option.
2514
1506ae0e
TV
25152015-01-23 Tom de Vries <tom@codesourcery.com>
2516
2517 PR libgomp/64707
2518 * c.opt (fopenmp): Mark as LTO option.
2519
31be63ab
JJ
25202015-01-21 Jakub Jelinek <jakub@redhat.com>
2521
2522 PR c/63307
b1726d6c 2523 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
2524 (compare_decls): Fix up formatting.
2525
25262015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
2527
2528 PR c/63307
2529 * cilk.c: Include vec.h.
2530 (struct cilk_decls): New structure.
2531 (wrapper_parm_cb): Split this function to...
2532 (fill_decls_vec): ...this...
2533 (create_parm_list): ...and this.
2534 (compare_decls): New function.
2535 (for_local_cb): Remove.
2536 (wrapper_local_cb): Ditto.
2537 (build_wrapper_type): For now first traverse and fill vector of
2538 declarations then sort it and then deal with sorted vector.
2539 (cilk_outline): Ditto.
2540 (declare_one_free_variable): Ditto.
2541
6875457f
JM
25422015-01-21 Jason Merrill <jason@redhat.com>
2543
2544 PR c++/64629
2545 * c-format.c (check_format_arg): Call decl_constant_value.
2546
185c9e56
ML
25472015-01-19 Martin Liska <mliska@suse.cz>
2548
2549 * c-common.c (handle_noicf_attribute): New function.
2550
41dbbb37
TS
25512015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2552 Bernd Schmidt <bernds@codesourcery.com>
2553 James Norris <jnorris@codesourcery.com>
2554 Cesar Philippidis <cesar@codesourcery.com>
2555 Ilmir Usmanov <i.usmanov@samsung.com>
2556 Jakub Jelinek <jakub@redhat.com>
2557
2558 * c.opt (fopenacc): New option.
2559 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
2560 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2561 New macros.
2562 * c-common.h (c_finish_oacc_wait): New prototype.
2563 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
2564 (c_finish_oacc_wait): New function.
2565 * c-pragma.c (oacc_pragmas): New variable.
2566 (c_pp_lookup_pragma, init_pragma): Handle it.
2567 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
2568 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
2569 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
2570 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
2571 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
2572 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
2573 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
2574 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
2575 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
2576 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
2577 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
2578 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
2579 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
2580 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
2581 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
2582 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
2583 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
2584 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
2585 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
2586 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
2587 PRAGMA_OACC_CLAUSE_WORKER.
2588
3f8257db 25892015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
2590
2591 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
2592 for the new option fstack-protector_explicit.
2593 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
2594 (handle_stack_protect_attribute): New function.
2595
3f8257db 25962015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
2597
2598 * c.opt: New option -Warray-bounds=.
2599
adfac8df
JJ
26002015-01-09 Michael Collison <michael.collison@linaro.org>
2601
2602 * array-notation-common.c: Include hash-set.h, machmode.h,
2603 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2604 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
2605 * c-ada-spec.c: Ditto.
2606 * c-cilkplus.c: Ditto.
2607 * c-common.c: Include input.h due to flattening of tree.h.
2608 Define macro GCC_C_COMMON_C.
2609 * c-common.h: Flatten tree.h header files into c-common.h.
2610 Remove include of tree-core.h.
2611 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2612 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2613 fold-const.h, wide-int.h, and inchash.h due to
2614 flattening of tree.h.
2615 * c-dump.c: Ditto.
2616 * c-format.c: Flatten tree.h header files into c-common.h.
2617 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2618 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2619 fold-const.h, wide-int.h, and inchash.h due to
2620 flattening of tree.h.
2621 * c-dump.c: Include hash-set.h, machmode.h,
2622 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2623 fold-const.h, wide-int.h, and inchash.h due to
2624 flattening of tree.h.
2625 * c-format.c: Include hash-set.h, machmode.h,
2626 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2627 fold-const.h, wide-int.h, inchash.h and real.h due to
2628 flattening of tree.h.
2629 * c-gimplify.c: Include hash-set.h, machmode.h,
2630 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2631 fold-const.h, wide-int.h, and inchash.h due to
2632 flattening of tree.h.
2633 * cilk.c: Ditto.
2634 * c-lex.c: Ditto.
2635 * c-omp.c: Ditto.
2636 * c-opts.c: Ditto.
2637 * c-pch.c: Ditto.
2638 * c-ppoutput.c: Ditto.
2639 * c-pragma.c: Ditto.
2640 * c-pretty-print.c: Ditto.
2641 * c-semantics.c: Ditto.
2642 * c-ubsan.c: Ditto.
2643 * stub-objc.c: Ditto.
2644
f5481fc4
JM
26452015-01-08 Jason Merrill <jason@redhat.com>
2646
2647 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
2648 do_ubsan_in_current_function.
2649 (ubsan_maybe_instrument_reference_or_call): Likewise.
2650 * c-ubsan.h: Declare it.
2651
de35aa66
MS
26522015-01-08 Mike Stump <mikestump@comcast.net>
2653
2654 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
2655
4a9a42ab
MP
26562015-01-07 Marek Polacek <polacek@redhat.com>
2657
2658 PR c/64440
2659 * c-common.c (c_fully_fold_internal): Warn for division and modulo
2660 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
2661
2f42e5de
TS
26622015-01-05 Trevor Saunders <tsaunders@mozilla.com>
2663
2664 PR c++/31397
2665 * c.opt (Wsuggest-override): New option.
2666
5624e564
JJ
26672015-01-05 Jakub Jelinek <jakub@redhat.com>
2668
2669 Update copyright years.
2670
5bd012f8
MP
26712015-01-05 Marek Polacek <polacek@redhat.com>
2672
2673 PR c/64423
2674 * c-common.c (warn_array_subscript_with_type_char): Add location_t
2675 parameter. Use it.
2676 * c-common.h (warn_array_subscript_with_type_char): Update
2677 declaration.
2678
a7fa8d18
ESR
26792014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
2680
2681 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
2682 Control macro with flag_sized_deallocation.
2683
3f8257db 26842014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
2685
2686 * c.opt (Wdiscarded-array-qualifiers): New option.
2687
1f8d3e84
JJ
26882014-12-19 Jakub Jelinek <jakub@redhat.com>
2689
2690 PR preprocessor/63831
2691 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
2692 and __has_cpp_attribute here.
2693 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
2694 c_common_has_attribute.
2695 * c-common.h (c_common_has_attribute): New prototype.
2696 * c-lex.c (init_c_lex): Set cb->has_attribute to
2697 c_common_has_attribute instead of cb_has_attribute.
2698 (get_token_no_padding): New function.
2699 (cb_has_attribute): Renamed to ...
2700 (c_common_has_attribute): ... this. No longer static. Use
2701 get_token_no_padding, require ()s, don't build TREE_LIST
2702 unnecessarily, fix up formatting, adjust diagnostics, call
2703 init_attributes.
2704
20b06add
JM
27052014-12-15 Jason Merrill <jason@redhat.com>
2706
2707 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
2708 (-Wsized-deallocation): New.
2709 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
2710 to on in C++14 and up.
2711
94a073b2
JM
27122014-12-11 Jason Merrill <jason@redhat.com>
2713
acaa5911
JM
2714 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
2715
94a073b2
JM
2716 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
2717 we aren't complaining about VLAs.
2718
7fb66c15
MP
27192014-12-06 Marek Polacek <polacek@redhat.com>
2720
2721 PR tree-optimization/64183
2722 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
2723 shift-expression if it is integer_type_node. Use types_compatible_p.
2724
b731b390
JJ
27252014-11-29 Jakub Jelinek <jakub@redhat.com>
2726
2727 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
2728 last argument from create_tmp_var_raw and create_tmp_var calls.
2729 * cilk.c (gimplify_cilk_spawn): Likewise.
2730 * c-omp.c (c_finish_omp_atomic): Likewise.
2731
6a4da643
MP
27322014-11-28 Marek Polacek <polacek@redhat.com>
2733
2734 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
2735 instead of unsigned_type_node.
2736
541e35a6
MP
27372014-11-28 Marek Polacek <polacek@redhat.com>
2738
2739 PR c/63862
2740 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
2741 to op1_utype.
2742 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
2743 expression to unsigned_type_node.
2744
dcc97066
MW
27452014-11-20 Mark Wielaard <mjw@redhat.com>
2746
2747 PR debug/38757
2748 * c-opts.c (set_std_c89): Set lang_hooks.name.
2749 (set_std_c99): Likewise.
2750 (set_std_c11): Likewise.
2751 (set_std_cxx98): Likewise.
2752 (set_std_cxx11): Likewise.
2753 (set_std_cxx14): Likewise.
2754 (set_std_cxx1z): Likewise.
2755
aa7da51a
JJ
27562014-11-21 Jakub Jelinek <jakub@redhat.com>
2757
2758 PR target/63764
2759 * c-common.h (convert_vector_to_pointer_for_subscript): Change
2760 return type to bool.
009a3480 2761 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
2762 (convert_vector_to_pointer_for_subscript): Change return type to
2763 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
2764 and copy it into a TARGET_EXPR and use that instead of *vecp
2765 directly.
2766
538dd0b7
DM
27672014-11-19 David Malcolm <dmalcolm@redhat.com>
2768
2769 Merger of git branch "gimple-classes-v2-option-3".
2770 * ChangeLog.gimple-classes: New.
2771 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
2772 from being just a vec<gimple> to a vec<gbind *>.
2773
c39a5e99
JJ
27742014-11-18 Jakub Jelinek <jakub@redhat.com>
2775
2776 PR sanitizer/63813
2777 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
2778 argument to ptype, set type to TREE_TYPE (ptype). Don't call
2779 get_pointer_alignment for non-pointers. Use ptype, or if it is
2780 reference type, corresponding pointer type, as type of kind
2781 argument.
2782 (ubsan_maybe_instrument_reference,
2783 ubsan_maybe_instrument_member_call): Adjust callers.
2784
8537a4a9
MP
27852014-11-15 Marek Polacek <polacek@redhat.com>
2786
2787 PR middle-end/63884
2788 * array-notation-common.c (is_sec_implicit_index_fn): Return false
2789 for NULL fndecl.
2790 (extract_array_notation_exprs): Return for NULL node.
2791
2079956a
JM
27922014-11-12 Joseph Myers <joseph@codesourcery.com>
2793
2794 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
2795 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
2796
1304953e
JJ
27972014-11-12 Jakub Jelinek <jakub@redhat.com>
2798
2799 PR c/59708
2800 * c-common.c (check_builtin_function_arguments): Handle
2801 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
2802
e5e44252
AK
28032014-11-10 Andi Kleen <ak@linux.intel.com>
2804
2805 PR c/60804
2806 * c-common.h (check_no_cilk): Declare.
2807 * cilk.c (get_error_location): New function.
2808 (check_no_cilk): Dito.
2809
e64b984d
AK
28102014-11-10 Andi Kleen <ak@linux.intel.com>
2811
2812 * cilk.c (recognize_spawn): Use expression location
2813 for error message.
2814
13c21655
PC
28152014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
2816
2817 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
2818
42fd12b1
ESR
28192014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
2820
2821 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
2822 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
2823 (__cpp_range_based_for, __cpp_initializer_lists,
2824 __cpp_delegating_constructors, __cpp_nsdmi,
2825 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
2826 for C++11; (__cpp_attribute_deprecated): Remove in favor of
2827 __has_cpp_attribute.
2828 * c-lex.c (cb_has_attribute): New callback CPP function;
2829 (init_c_lex): Set has_attribute callback.
2830
6f450181
RB
28312014-11-04 Richard Biener <rguenther@suse.de>
2832
2833 * c-common.c (shorten_compare): Do not shorten mixed
2834 DFP and non-DFP compares.
2835
26f0e1d6
ESR
28362014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2837
2838 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
2839 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
2840 Commentary and rearrangement of tests.
2841 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
2842 Commentary and rearrangement of tests.
2843 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
2844 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
2845
ef4bddc2
RS
28462014-10-29 Richard Sandiford <richard.sandiford@arm.com>
2847
2848 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
2849 enum from machine_mode.
2850
c582198b
AM
28512014-10-28 Andrew MacLeod <amacleod@redhat.com>
2852
adfac8df
JJ
2853 * c-common.c: Adjust include files.
2854 * c-gimplify.c: Ditto.
2855 * cilk.c: Ditto.
2856 * c-pragma.c: Ditto.
2857 * c-ubsan.c: Ditto.
c582198b 2858
60393bbc
AM
28592014-10-27 Andrew MacLeod <amacleod@redhat.com>
2860
2861 * c-gimplify.c: Adjust include files.
2862
d723bb7c
MLI
28632014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
2864
2865 PR c++/53061
2866 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
2867 c_common_initialize_diagnostics.
2868 * c-common.h: Likewise.
2869
90f3520e
MP
28702014-10-24 Marek Polacek <polacek@redhat.com>
2871
2872 PR c/56980
2873 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
2874 print "struct"/"union"/"enum" for typedefed names.
2875
59d7607a
MP
28762014-10-23 Marek Polacek <polacek@redhat.com>
2877
2878 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
2879 in unsigned type.
2880
d95a2703
JJ
28812014-10-22 Jakub Jelinek <jakub@redhat.com>
2882 Yury Gribov <y.gribov@samsung.com>
2883
2884 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2885 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
2886 instead of flag_sanitize_recover as bool flag.
2887
8e6ef852
KY
28882014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
2889
2890 * cilk.c: Revert previous change.
2891
948cf550
IZ
28922014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
2893
2894 PR c/63307
2895 * cilk.c: Include vec.h.
2896 (struct cilk_decls): New structure.
2897 (wrapper_parm_cb): Split this function to...
2898 (fill_decls_vec): ...this...
2899 (create_parm_list): ...and this.
2900 (compare_decls): New function.
2901 (for_local_cb): Remove.
2902 (wrapper_local_cb): Ditto.
2903 (build_wrapper_type): For now first traverse and fill vector of
2904 declarations then sort it and then deal with sorted vector.
2905 (cilk_outline): Ditto.
2906 (declare_one_free_variable): Ditto.
2907
92574c7c
MP
29082014-10-17 Marek Polacek <polacek@redhat.com>
2909
2910 * c-opts.c (c_common_post_options): Set warn_implicit_int.
2911 * c.opt (Wimplicit-int): Initialize to -1.
2912
83685514
AM
29132014-10-16 Andrew MacLeod <amacleod@redhat.com>
2914
2915 * c-pragma.c: Adjust include files.
2916 * c-semantics.c: Likewise.
2917
5b8300ea
DD
29182014-10-16 DJ Delorie <dj@redhat.com>
2919
2920 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
2921 multiples of bytes.
2922
5f83e90b
JM
29232014-10-14 Jason Merrill <jason@redhat.com>
2924
2925 PR c++/63455
2926 * c-common.h (CPP_PREPARSED_EXPR): New.
2927 (N_CP_TTYPES): Adjust.
2928
d73326ca
MP
29292014-10-15 Marek Polacek <polacek@redhat.com>
2930
2931 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
2932
78a7c317
DD
29332014-10-14 DJ Delorie <dj@redhat.com>
2934
2935 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
2936 types, not just __int128.
2937 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
2938 types, not just __int128.
2939 (cpp_atomic_builtins): Round pointer sizes up.
2940 (type_suffix): Use type precision, not specific types.
2941 * c-common.c (c_common_reswords): Remove __int128 special case.
2942 (c_common_type_for_size): Check for all __intN types, not just
2943 __int128.
2944 (c_common_type_for_mode): Likewise.
2945 (c_common_signed_or_unsigned_type): Likewise.
2946 (c_build_bitfield_integer_type): Likewise.
2947 (c_common_nodes_and_builtins): Likewise.
2948 (keyword_begins_type_specifier): Likewise.
2949 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
2950 __intN variants.
2951
2a22f99c
TS
29522014-10-12 Trevor Saunders <tsaunders@mozilla.com>
2953
2954 * c-common.c: Use hash_table instead of hashtab.
2955
2a8ef767
ESR
29562014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2957
adfac8df 2958 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
2959 C++11 section.
2960
3c9aabbd
MG
29612014-10-03 Marc Glisse <marc.glisse@inria.fr>
2962
2963 PR c++/54427
2964 PR c++/57198
2965 PR c++/58845
2966 * c-common.c (warn_logical_operator): Punt for vectors.
2967
a15f7cb8
ESR
29682014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2969
2970 Implement SD-6: SG10 Feature Test Recommendations
2971 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
2972 macros and the __has_header macro.
2973
8d0cf15e
JM
29742014-09-30 Jason Merrill <jason@redhat.com>
2975
dd5d5481
JM
2976 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
2977 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
2978 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2979
b752325e
JM
2980 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
2981 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2982
8d0cf15e
JM
2983 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
2984 * c-common.c (c_common_reswords): Remove __is_convertible_to.
2985
083e891e
MP
29862014-09-24 Marek Polacek <polacek@redhat.com>
2987
2988 PR c/61405
2989 PR c/53874
2990 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
2991
7861b648
AK
29922014-09-23 Andi Kleen <ak@linux.intel.com>
2993
2994 * c-common.c (handle_no_reorder_attribute): New function.
2995 (c_common_attribute_table): Add no_reorder attribute.
2996
9a79452d
JM
29972014-09-22 Joseph Myers <joseph@codesourcery.com>
2998
2999 * c-cppbuiltin.c (c_cpp_builtins): Define
3000 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3001 modes.
3002
dd69f047
JM
30032014-09-18 Joseph Myers <joseph@codesourcery.com>
3004
3005 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3006 for supported floating-point modes.
3007
737a4826
MLI
30082014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3009
3010 * c.opt (Wpsabi): Use LangEnabledBy.
3011 * c-opts.c (c_common_handle_option): Do not handle here.
3012
8cc4b7a2
JM
30132014-09-12 Joseph Myers <joseph@codesourcery.com>
3014
3015 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3016 macros for floating-point modes.
3017
179b5a55
MG
30182014-09-11 Marc Glisse <marc.glisse@inria.fr>
3019
3020 PR target/58757
3021 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3022 __*_DENORM_MIN__ without denormals.
3023
570a11fe
JJ
30242014-09-10 Jakub Jelinek <jakub@redhat.com>
3025
3026 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3027 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3028 ubsan_create_data callers.
3029 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3030 index is constant or BIT_AND_EXPR with constant mask and is
3031 small enough for the bound.
3032 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3033 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3034
b559c810
MLI
30352014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3036
3037 * c.opt: Add CppReason to various flags.
3038 (Wdate-time): Re-sort.
3039 * c-common.c: Include c-common.h earlier.
3040 (struct reason_option_codes_t): Delete.
3041 (c_option_controlling_cpp_error): Prefix global type and struct
3042 with cpp_.
3043
1ef33fd4
MLI
30442014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3045
3046 * c.opt (Wnormalized): New.
3047 (Wnormalized=): Use Enum and Reject Negative.
3048 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3049
66bb34c0
JM
30502014-09-08 Joseph Myers <joseph@codesourcery.com>
3051
3052 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3053 digits of floating-point modes if -fbuilding-libgcc.
3054
53d68b9f
JM
30552014-09-05 Joseph Myers <joseph@codesourcery.com>
3056
3057 * c-cppbuiltin.c (c_cpp_builtins): Also define
3058 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3059 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3060 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3061 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3062 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3063 __LIBGCC_STACK_GROWS_DOWNWARD__,
3064 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3065 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3066 __LIBGCC_DWARF_FRAME_REGISTERS__,
3067 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3068 __LIBGCC_STACK_POINTER_REGNUM__ and
3069 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3070 (builtin_define_with_value): Handle backslash-escaping in string
3071 macro values.
3072
f65586dc
RB
30732014-09-05 Richard Biener <rguenther@suse.de>
3074
3075 PR middle-end/63148
3076 * c-format.c (check_format_arg): Properly handle
3077 effectively signed POINTER_PLUS_EXPR offset.
3078
2b71f4a4
MLI
30792014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3080
3081 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3082 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3083 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3084 and Init.
3085 * c-opts.c (c_common_handle_option): Do not handle here.
3086 (sanitize_cpp_opts): Likewise.
3087 * c-common.c (struct reason_option_codes_t): Handle
3088 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3089
d2e4feca
MP
30902014-09-03 Marek Polacek <polacek@redhat.com>
3091
3092 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3093
9a771876
JJ
30942014-09-02 Jakub Jelinek <jakub@redhat.com>
3095 Balaji V. Iyer <balaji.v.iyer@intel.com>
3096 Igor Zamyatin <igor.zamyatin@intel.com>
3097
3098 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3099 * c-common.c (c_common_reswords): Added _Cilk_for.
3100 * c-common.h (enum rid): Added RID_CILK_FOR.
3101 (cilk_for_number_of_iterations): Add declaration.
3102 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3103 CILK_FOR.
3104 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3105 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3106
81b5d104
MLI
31072014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3108
3109 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3110 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3111 Wundef): Use CPP, Var and Init.
3112 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3113
b753b37b
MLI
31142014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3115
3116 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3117 * c-opts.c (c_common_handle_option): Do not handle here.
3118
028aee17
JM
31192014-08-25 Jason Merrill <jason@redhat.com>
3120
3121 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3122 -std=c++14 and -std=gnu++14, rather than the reverse.
3123 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3124 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3125 * c-common.h (cxx_dialect): Remove cxx1y.
3126
e4276ba5
ESR
31272014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3128
3129 * c-common.h (enum cxx_dialect): Add cxx14.
3130 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3131 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3132 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3133
a545cacd
JM
31342014-08-22 Jason Merrill <jason@redhat.com>
3135
3136 * c.opt (std=gnu++17): Fix alias.
3137
59ea0364
MP
31382014-08-22 Marek Polacek <polacek@redhat.com>
3139
3140 PR c++/62199
3141 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
3142 check for vector types. Drop LHS argument.
3143 * c-common.h (warn_logical_not_parentheses): Adjust.
3144
596e808c
MLI
31452014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3146
3147 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3148 (Wmultichar): Likewise.
3149 (Wdate-time): Use C-family languages instead of Common. Use CPP
3150 and Var.
3151 * c-opts.c (c_common_handle_option): Do not handle the above
3152 options here.
3153 (sanitize_cpp_opts): Likewise.
3154
18767f65
MLI
31552014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
3156
3157 PR fortran/44054
3158 * c-opts.c: Include tree-diagnostics.h.
3159 (c_diagnostic_finalizer): New.
3160 (c_common_initialize_diagnostics): Use it.
3161
b4413594
MLI
31622014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3163
3164 PR preprocessor/51303
3165 * c-common.c (struct reason_option_codes_t option_codes):
3166 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3167
43f9a13c
MLI
31682014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3169
3170 PR c/60975
3171 PR c/53063
3172 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3173 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3174 (c_common_post_options): Call init_global_opts_from_cpp.
3175 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3176
04159acf
MP
31772014-08-19 Marek Polacek <polacek@redhat.com>
3178
3179 PR c++/62153
3180 * c-common.c (maybe_warn_bool_compare): New function.
3181 * c-common.h (maybe_warn_bool_compare): Declare.
3182 * c.opt (Wbool-compare): New option.
3183
35aff4fb
MP
31842014-08-19 Marek Polacek <polacek@redhat.com>
3185
3186 * c.opt (Wc99-c11-compat): New option.
3187
177cce46
MP
31882014-08-19 Marek Polacek <polacek@redhat.com>
3189
3190 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3191 to warn_c90_c99_compat.
3192 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3193 to -1.
3194
6ae9194f
MLI
31952014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3196 Steven Bosscher <steven@gcc.gnu.org>
3197
3198 PR c/52952
3199 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3200 format_check_results.
3201 (check_function_format): Use true and add comment for boolean
3202 argument.
3203 (finish_dollar_format_checking): Use explicit location when warning.
3204 (check_format_info): Likewise.
3205 (check_format_arg): Set extra_arg_loc and format_string_loc.
3206 (check_format_info_main): Use explicit location when warning.
3207 (check_format_types): Pass explicit location.
3208 (format_type_warning): Likewise.
3209
8e54f6d3
MLI
32102014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3211
3212 PR fortran/44054
3213 * c-format.c: Handle Fortran flags.
3214
cd4e76fc
IZ
32152014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3216
3217 PR other/61962
3218 * array-notation-common.c (find_rank): Added handling for other
3219 types of references.
3220
f3bede71
MP
32212014-08-10 Marek Polacek <polacek@redhat.com>
3222
3223 PR c/51849
3224 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3225 * c.opt (Wc90-c99-compat): Add option.
3226
9f25a338
TS
32272014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3228
3229 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3230
62e4eb35
MP
32312014-08-03 Marek Polacek <polacek@redhat.com>
3232
3233 * c-common.c (check_case_value): Add location_t parameter. Use it.
3234 (c_add_case_label): Pass loc to check_case_value.
3235
b787e7a2
TS
32362014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3237
3238 * cilk.c: Use hash_map instead of pointer_map.
3239
6e2830c3
TS
32402014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3241
3242 * c-gimplify.c: Use hash_set instead of pointer_set.
3243
a7ee52fb
IZ
32442014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3245
3246 PR middle-end/61455
3247 * array-notation-common.c (extract_array_notation_exprs): Handling
3248 of DECL_EXPR added.
3249
944fa280
JJ
32502014-08-01 Jakub Jelinek <jakub@redhat.com>
3251
3252 * c-common.h (min_align_of_type): Removed prototype.
3253 * c-common.c (min_align_of_type): Removed.
3254 * c-ubsan.h (ubsan_maybe_instrument_reference,
3255 ubsan_maybe_instrument_member_call): New prototypes.
3256 * c-ubsan.c: Include stor-layout.h and builtins.h.
3257 (ubsan_maybe_instrument_reference_or_call,
3258 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3259 functions.
3260
b4dfdc11
MG
32612014-07-31 Marc Glisse <marc.glisse@inria.fr>
3262
3263 PR c++/60517
3264 * c.opt (-Wreturn-local-addr): Move to common.opt.
3265
a41844e5
JM
32662014-07-30 Jason Merrill <jason@redhat.com>
3267
3268 PR c++/61659
3269 PR c++/61687
3270 Revert:
3271 * c.opt (-fuse-all-virtuals): New.
3272
976d5a22
TT
32732014-07-30 Tom Tromey <tromey@redhat.com>
3274
3275 PR c/59855
3276 * c.opt (Wdesignated-init): New option.
3277 * c-common.c (c_common_attribute_table): Add "designated_init".
3278 (handle_designated_init): New function.
3279
cdc94aca
MP
32802014-07-24 Marek Polacek <polacek@redhat.com>
3281
3282 PR c/57653
3283 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3284
f41373b6
DS
32852014-07-16 Dodji Seketeli <dodji@redhat.com>
3286
3287 PR preprocessor/60723 - missing system-ness marks for macro tokens
3288 * c-ppoutput.c (struct print::prev_was_system_token): New data
3289 member.
3290 (init_pp_output): Initialize it.
3291 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3292 (do_line_change): Return a flag saying if a line marker was
3293 emitted or not.
3294 (scan_translation_unit): Detect if the system-ness of the token we
3295 are about to emit is different from the one of the previously
3296 emitted token. If so, emit a line marker. Avoid emitting useless
3297 adjacent line markers. Avoid emitting line markers for tokens
3298 originating from the expansion of built-in macros.
3299 (scan_translation_unit_directives_only): Adjust.
3300
4d661eaa
MP
33012014-07-15 Marek Polacek <polacek@redhat.com>
3302
3303 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3304 TYPE_MAX_VALUE is NULL.
3305
b108f48f
JJ
33062014-07-14 Jakub Jelinek <jakub@redhat.com>
3307
3308 PR middle-end/61294
3309 * c.opt (Wmemset-transposed-args): New warning.
3310
c0221884
JM
33112014-07-10 Jason Merrill <jason@redhat.com>
3312
3313 PR c++/61659
3314 PR c++/61687
3315 * c.opt (-fuse-all-virtuals): New.
3316
63dfbb95
RB
33172014-07-09 Richard Biener <rguenther@suse.de>
3318
3319 PR c-family/61741
3320 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3321 using unsigned arithmetic if overflow does not wrap instead of
3322 if overflow is undefined.
3323
773ec47f
MP
33242014-07-06 Marek Polacek <polacek@redhat.com>
3325
3326 PR c/6940
3327 * c.opt (Wsizeof-array-argument): New option.
3328
00a7ba58
JJ
33292014-07-03 Jakub Jelinek <jakub@redhat.com>
3330
b1726d6c 3331 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
3332 comments->count <= 1, as comments->entries might be NULL.
3333
52ec0ea3
MP
33342014-07-01 Marek Polacek <polacek@redhat.com>
3335
3336 * c.opt (Wint-conversion): New option.
3337
d5c3d343
MP
33382014-07-01 Marek Polacek <polacek@redhat.com>
3339
3340 PR c/58286
3341 * c.opt (Wincompatible-pointer-types): New option.
3342
6e7ceb17
PC
33432014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3344
3345 PR c++/51400
3346 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3347 Do not discard TYPE_QUALS of type.
3348
da73100b
JM
33492014-06-26 Jason Merrill <jason@redhat.com>
3350
3351 * c-common.h (enum cxx_dialect): Add cxx1z.
3352 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3353 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3354
08eedf75
TJ
33552014-06-26 Teresa Johnson <tejohnson@google.com>
3356
3357 * c-common.h (get_dump_info): Declare.
3358 * c-gimplify.c (c_genericize): Use saved dump files.
3359 * c-opts.c (c_common_parse_file): Begin and end dumps
3360 once around parsing invocation.
3361 (get_dump_info): New function.
3362
7b56b2f8
MP
33632014-06-23 Marek Polacek <polacek@redhat.com>
3364 Andrew MacLeod <amacleod@redhat.com>
3365
3366 PR c/61553
3367 * c-common.c (get_atomic_generic_size): Don't segfault if the
3368 type doesn't have a size.
3369
0e37a2f3
MP
33702014-06-20 Marek Polacek <polacek@redhat.com>
3371
3372 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3373 (ubsan_walk_array_refs_r): New function.
3374 (c_genericize): Instrument array bounds.
3375 * c-ubsan.c: Include "internal-fn.h".
3376 (ubsan_instrument_division): Mark instrumented arrays as having
3377 side effects. Adjust ubsan_type_descriptor call.
3378 (ubsan_instrument_shift): Likewise.
3379 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3380 (ubsan_instrument_bounds): New function.
3381 (ubsan_array_ref_instrumented_p): New function.
3382 (ubsan_maybe_instrument_array_ref): New function.
3383 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3384 (ubsan_array_ref_instrumented_p): Declare.
3385 (ubsan_maybe_instrument_array_ref): Declare.
3386
33872014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
3388
3389 PR lto/61123
3390 * c.opt (fshort-enums): Add to LTO.
3391 * c.opt (fshort-wchar): Likewise.
3392
5c3d09f7
MP
33932014-06-16 Marek Polacek <polacek@redhat.com>
3394
3395 PR c/60439
3396 * c.opt (Wswitch-bool): Add Var.
3397
9cf32741
JJ
33982014-06-12 Jakub Jelinek <jakub@redhat.com>
3399
3400 PR middle-end/61486
3401 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3402 #pragma omp target teams or
3403 #pragma omp {,target }teams distribute simd.
3404
62984918
JM
34052014-06-12 Jason Merrill <jason@redhat.com>
3406
3407 * c.opt (Wabi=, fabi-compat-version): New.
3408 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3409 (c_common_post_options): Handle flag_abi_compat_version default.
3410 Disallow -fabi-compat-version=1.
3411 * c-common.h (abi_version_crosses): New.
3412
f961457f
JH
34132014-06-11 Jan Hubicka <hubicka@ucw.cz>
3414
adfac8df 3415 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
3416 section names that are no longer trees.
3417
92d28cbb
JJ
34182014-06-10 Jakub Jelinek <jakub@redhat.com>
3419
3420 PR fortran/60928
3421 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3422 (omp_pragmas): ... back here.
3423
742938c9
MP
34242014-06-05 Marek Polacek <polacek@redhat.com>
3425
3426 PR c/49706
3427 * c-common.c (warn_logical_not_parentheses): New function.
3428 * c-common.h (warn_logical_not_parentheses): Declare.
3429 * c.opt (Wlogical-not-parentheses): New option.
3430
9d548dfb
MP
34312014-06-04 Marek Polacek <polacek@redhat.com>
3432
3433 PR c/30020
3434 * c-common.c (check_case_bounds): Add location parameter.
3435 Use it.
3436 (c_add_case_label): Pass loc to check_case_bounds.
3437
fedfecef
MP
34382014-06-03 Marek Polacek <polacek@redhat.com>
3439
3440 PR c/60439
3441 * c.opt (Wswitch-bool): New option.
3442
f6a7cffc
TS
34432014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3444
040d18b6
TS
3445 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3446 Remove prototypes.
3447 (record_types_used_by_current_var_decl): Move prototype to where
3448 it belongs.
3449
f6a7cffc
TS
3450 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3451 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3452 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3453
632f2871
RS
34542014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3455
3456 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
3457 * c-common.c (c_common_nodes_and_builtins): Don't initialize
3458 void_zero_node.
3459 * c-pretty-print.c (pp_c_void_constant): New function.
3460 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
3461 (c_pretty_printer::expression): Handle VOID_CST.
3462 * cilk.c (extract_free_variables): Likewise.
3463 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
3464 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
3465
766090c2
TS
34662014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3467
3468 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
3469 * c-pragma.c (push_alignment): Adjust.
3470 (handle_pragma_push_options): Likewise.
3471
661a0813
MP
34722014-05-09 Marek Polacek <polacek@redhat.com>
3473
3474 PR c/50459
3475 * c-common.c (check_user_alignment): Return -1 if alignment is error
3476 node.
3477 (handle_aligned_attribute): Don't call default_conversion on
3478 FUNCTION_DECLs.
3479 (handle_vector_size_attribute): Likewise.
3480 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
3481 (handle_sentinel_attribute): Call default_conversion and allow even
3482 integral types as an argument.
3483
2793eeab
MP
34842014-05-08 Marek Polacek <polacek@redhat.com>
3485
3486 PR c/61053
3487 * c-common.c (min_align_of_type): New function factored out from...
3488 (c_sizeof_or_alignof_type): ...here.
3489 * c-common.h (min_align_of_type): Declare.
3490
f827930a
MP
34912014-05-08 Marek Polacek <polacek@redhat.com>
3492
3493 PR c/61077
3494 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
3495 parameter type of main.
3496
ca49b74e
DD
34972014-05-07 DJ Delorie <dj@redhat.com>
3498
3499 * c-cppbuiltin.c (print_bits_of_hex): New.
3500 (builtin_define_type_minmax): Print values using hex so as not to
3501 require a pre-computed list of string values.
3502
1d60af08
KZ
35032014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3504 Mike Stump <mikestump@comcast.net>
3505 Richard Sandiford <rdsandiford@googlemail.com>
3506
3507 * c-ada-spec.c: Include wide-int.h.
3508 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
3509 (dump_generic_ada_node): Use wide-int interfaces.
3510 * c-common.c: Include wide-int-print.h.
3511 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
3512 (pointer_int_sum): Use wide-int interfaces.
3513 (c_common_nodes_and_builtins): Use make_int_cst.
3514 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
3515 (handle_alloc_size_attribute): Use wide-int interfaces.
3516 (get_nonnull_operand): Likewise.
3517 * c-format.c (get_constant): Use tree_fits_uhwi_p.
3518 * c-lex.c: Include wide-int.h.
3519 (narrowest_unsigned_type): Take a widest_int rather than two
3520 HOST_WIDE_INTs.
3521 (narrowest_signed_type): Likewise.
3522 (interpret_integer): Update accordingly. Use wide-int interfaces.
3523 (lex_charconst): Use wide-int interfaces.
3524 * c-pretty-print.c: Include wide-int.h.
3525 (pp_c_integer_constant): Use wide-int interfaces.
3526 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
3527 INT_CST_LT_UNSIGNED.
3528
b15458be
RB
35292014-05-06 Richard Biener <rguenther@suse.de>
3530
3531 * c-opts.c (c_common_post_options): For -freestanding,
3532 -fno-hosted and -fno-builtin disable pattern recognition
3533 if not enabled explicitely.
3534
6577374e
MP
35352014-05-02 Marek Polacek <polacek@redhat.com>
3536
3537 * c.opt (Wsizeof-pointer-memaccess): Describe option.
3538
d00887e8
MP
35392014-05-01 Marek Polacek <polacek@redhat.com>
3540
3541 PR c/43245
3542 * c.opt (Wdiscarded-qualifiers): Add.
3543
f8ed5150
MP
35442014-04-30 Marek Polacek <polacek@redhat.com>
3545
3546 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
3547 INT_MIN / -1 sanitization only for integer types.
3548
45484dcf
MP
35492014-04-25 Marek Polacek <polacek@redhat.com>
3550
3551 PR c/18079
3552 * c-common.c (handle_noinline_attribute): Warn if the attribute
3553 conflicts with always_inline attribute.
3554 (handle_always_inline_attribute): Warn if the attribute conflicts
3555 with noinline attribute.
3556
38e514c0
MP
35572014-04-25 Marek Polacek <polacek@redhat.com>
3558
3559 PR c/60156
3560 * c-common.c (check_main_parameter_types): Warn about variadic main.
3561
44875f92
MS
35622014-04-24 Mike Stump <mikestump@comcast.net>
3563
3564 * c.opt (Wshadow-ivar): Default to on.
3565
dcaaa5a0
DP
35662014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3567
3568 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
3569
c07d7c02
MP
35702014-04-23 Marek Polacek <polacek@redhat.com>
3571
3572 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
3573
1c33c9b7
JJ
35742014-04-22 Jakub Jelinek <jakub@redhat.com>
3575
3576 PR sanitizer/60275
3577 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
3578 if flag_sanitize_undefined_trap_on_error.
3579 (ubsan_instrument_division, ubsan_instrument_shift,
3580 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
3581 if !flag_sanitize_recover.
3582
793c625f
MG
35832014-04-22 Marc Glisse <marc.glisse@inria.fr>
3584
3585 PR libstdc++/43622
3586 * c-common.c (registered_builtin_types): Make non-static.
3587 * c-common.h (registered_builtin_types): Declare.
3588
b0f1bf36
RB
35892014-04-14 Richard Biener <rguenther@suse.de>
3590 Marc Glisse <marc.glisse@inria.fr>
3591
3592 PR c/60819
3593 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
3594 apply may-alias the scalar pointer type when applicable.
3595
3b07fa4a
IZ
35962014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
3597
3598 PR middle-end/60467
3599 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
3600 as possible argument for Cilk_spawn.
3601
cbbd2b1c
TB
36022014-04-11 Tobias Burnus <burnus@net-b.de>
3603
3604 PR c/60194
3605 * c.opt (Wformat-signedness): Add
3606 * c-format.c(check_format_types): Use it.
3607
6415bd5d
JM
36082014-04-11 Jason Merrill <jason@redhat.com>
3609
3610 PR c++/57926
3611 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
3612 default_conversion for an array argument.
3613
6525783a
MP
36142014-04-08 Marek Polacek <polacek@redhat.com>
3615
3616 PR sanitizer/60745
3617 * c-ubsan.c: Include asan.h.
3618 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
3619
880a467b
NS
36202014-04-03 Nathan Sidwell <nathan@codesourcery.com>
3621
3622 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
3623
7b59ff2d
MP
36242014-04-02 Marek Polacek <polacek@redhat.com>
3625
3626 * c-common.h (c_expand_expr): Remove declaration.
3627
8edbfaa6
JJ
36282014-03-28 Jakub Jelinek <jakub@redhat.com>
3629
3630 PR c++/60689
3631 * c-common.c (add_atomic_size_parameter): When creating new
3632 params vector, push the size argument first.
3633
07d72e1d
JJ
36342014-03-26 Jakub Jelinek <jakub@redhat.com>
3635
3636 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3637 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3638 ubsan_create_data callers.
3639
b35e0fa0
JJ
36402014-03-22 Jakub Jelinek <jakub@redhat.com>
3641
3642 PR debug/60603
3643 * c-opts.c (c_finish_options): Restore cb_file_change call to
3644 <built-in>.
3645
39a1ebb3
JJ
36462014-03-13 Jakub Jelinek <jakub@redhat.com>
3647
3648 PR middle-end/36282
3649 * c-pragma.c (apply_pragma_weak): Only look at
3650 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
3651 DECL_ASSEMBLER_NAME_SET_P (decl).
3652 (maybe_apply_pending_pragma_weaks): Exit early if
3653 vec_safe_is_empty (pending_weaks) rather than only when
3654 !pending_weaks.
3655 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
3656 set assembler name back to NULL afterwards.
3657
a07f6ed2
JM
36582014-03-11 Jason Merrill <jason@redhat.com>
3659
3660 * c.opt: Add -std=gnu++14.
3661
75b107f5
IB
36622014-03-11 Ian Bolton <ian.bolton@arm.com>
3663
3664 * c-opts.c (c_common_post_options): Don't override
3665 -ffp-contract=fast if unsafe-math-optimizations is on.
3666
f42c637e
PM
36672014-03-08 Paulo Matos <paulo@matos-sorge.com>
3668
3669 * c.opt: Enable LTO FE for fshort-double.
3670
70e24808
JM
36712014-03-07 Jason Merrill <jason@redhat.com>
3672
3673 * c.opt: Add -std=c++14.
3674
3af9c5e9
MP
36752014-03-06 Marek Polacek <polacek@redhat.com>
3676
3677 PR c/60197
3678 * cilk.c (contains_cilk_spawn_stmt): New function.
3679 (contains_cilk_spawn_stmt_walker): Likewise.
3680 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
3681 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
3682
b3bdf019
JJ
36832014-03-03 Jakub Jelinek <jakub@redhat.com>
3684
3685 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
3686 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
3687 even when flag_preprocess_only.
3688
ca7e759d
JM
36892014-02-26 Jason Merrill <jason@redhat.com>
3690
3691 PR c++/59231
3692 PR c++/11586
3693 * c-common.c (shorten_compare): Don't check
3694 c_inhibit_evaluation_warnings.
3695
28e41874
JJ
36962014-02-19 Jakub Jelinek <jakub@redhat.com>
3697
cca615af
JJ
3698 PR c/37743
3699 * c-common.c (c_common_nodes_and_builtins): When initializing
3700 c_uint{16,32,64}_type_node, also set corresponding
3701 uint{16,32,64}_type_node to the same value.
3702
28e41874
JJ
3703 PR c++/60267
3704 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
3705 for PRAGMA_IVDEP if flag_preprocess_only.
3706
c2bf53a1
JJ
37072014-02-12 Jakub Jelinek <jakub@redhat.com>
3708
3709 PR c/60101
3710 * c-common.c (merge_tlist): If copy is true, call new_tlist,
3711 if false, add ADD itself, rather than vice versa.
3712 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
3713 copy. For SAVE_EXPR, only call merge_tlist once.
3714
8fcbce72
JJ
37152014-02-08 Jakub Jelinek <jakub@redhat.com>
3716
3717 PR middle-end/60092
3718 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
3719 and tree_to_uhwi.
3720 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
3721 functions.
3722 (c_common_attribute_table): Add alloc_align and assume_aligned
3723 attributes.
3724
0a756a3f
MP
37252014-02-06 Marek Polacek <polacek@redhat.com>
3726
3727 PR c/60087
3728 * c-common.c (warn_for_sign_compare): Call warning_at with location
3729 instead of warning.
3730
7ec4847a
MP
37312014-02-05 Marek Polacek <polacek@redhat.com>
3732
3733 PR c/53123
3734 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
3735 statement.
3736
66f20604
MP
37372014-02-04 Marek Polacek <polacek@redhat.com>
3738
3739 PR c/60036
3740 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
3741 SAVE_EXPR.
3742
5d77fb19
MG
37432014-02-03 Marc Glisse <marc.glisse@inria.fr>
3744
3745 PR c++/53017
3746 PR c++/59211
3747 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
3748 handle_vector_size_attribute, handle_nonnull_attribute): Call
3749 default_conversion on the attribute argument.
3750 (handle_nonnull_attribute): Increment the argument number.
3751
81e5eca8
MP
37522014-01-31 Marek Polacek <polacek@redhat.com>
3753
3754 PR c/59963
3755 * c-common.c (add_atomic_size_parameter): Pass vNULL to
3756 build_function_call_vec.
3757 (resolve_overloaded_builtin): Likewise.
3758 * c-common.h (build_function_call_vec): Adjust declaration.
3759
68fca595
MP
37602014-01-30 Marek Polacek <polacek@redhat.com>
3761
3762 PR c/59940
3763 * c-common.h (unsafe_conversion_p): Adjust declaration.
3764 (warnings_for_convert_and_check): Likewise.
3765 (convert_and_check): Likewise.
3766 * c-common.c (unsafe_conversion_p): Add location parameter. Call
3767 expansion_point_location_if_in_system_header on it.
3768 (warnings_for_convert_and_check): Add location parameter. Call
3769 expansion_point_location_if_in_system_header on it. Use it.
3770 (convert_and_check): Add location parameter. Use it.
3771 (conversion_warning): Likewise.
3772 (c_add_case_label): Adjust convert_and_check calls.
3773 (scalar_to_vector): Adjust unsafe_conversion_p calls.
3774
b72271b9
BI
37752014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
3776
3777 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
3778 flag_cilkplus.
3779 * c-pragma.c (init_pragma): Likewise.
3780 * c.opt: Likewise.
3781
393e8e8b
MP
37822014-01-23 Marek Polacek <polacek@redhat.com>
3783
3784 PR c/59846
3785 * c-common.c (shorten_compare): Add location_t parameter.
3786 * c-common.h (shorten_binary_op): Adjust declaration.
3787
f04dda30
MP
37882014-01-23 Marek Polacek <polacek@redhat.com>
3789
3790 PR c/58346
3791 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
3792 * c-common.h: Declare it.
3793
621955cb
EB
37942014-01-20 Eric Botcazou <ebotcazou@adacore.com>
3795
3796 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
3797 * c-ada-spec.c (dump_ads): Likewise.
3798 (cpp_check): Likewise.
3799 (dump_ada_specs): Likewise.
3800
38012014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
3802
3803 PR c++/49718
3804 * c-common.c (handle_no_instrument_function_attribute): Allow
3805 no_instrument_function attribute in class member
3806 definition/declaration.
3807
241f845a
JJ
38082014-01-15 Jakub Jelinek <jakub@redhat.com>
3809
3810 PR c/58943
3811 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
3812 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
3813 being COMPOUND_EXPR.
3814 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
3815 operand a SAVE_EXPR and second MODIFY_EXPR.
3816
e83b8e2e
JJ
38172014-01-09 Jakub Jelinek <jakub@redhat.com>
3818
3819 PR target/58115
3820 * c-pch.c (c_common_write_pch): Call
3821 prepare_target_option_nodes_for_pch.
3822
23a5b65a
RS
38232014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3824
3825 Update copyright years
3826
f9030485
RS
38272014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3828
3829 * array-notation-common.c, c-cilkplus.c: Use the standard form for
3830 the copyright notice.
3831
f2aa696b
EB
38322013-12-28 Eric Botcazou <ebotcazou@adacore.com>
3833
3834 * c-ada-spec.c (print_constructor): New function.
3835 (print_destructor): Retrieve the origin of the destructor.
3836 (print_ada_declaration): Revamp handling of constructors/destructors.
3837
3f8257db 38382013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
3839 Bill Maddox <maddox@google.com>
3840 Jason Merrill <jason@redhat.com>
3841
3842 * c.opt: Add -fdeclone-ctor-dtor.
3843 * c-opts.c (c_common_post_options): Default to on iff -Os.
3844
41958c28
BI
38452013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
3846
3847 * c-common.c (c_common_attribute_table): Added "cilk simd function"
3848 attribute.
3849 * c-pragma.h (enum pragma_cilk_clause): Remove.
3850 (enum pragma_omp_clause): Added the following fields:
3851 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
3852 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
3853 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
3854 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
3855 PRAGMA_CILK_CLAUSE_UNIFORM.
3856
b1726d6c 3857
12893402
BI
38582013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
3859
3860 * cilk.c (cilk_outline): Made this function non-static.
3861 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
3862 (create_cilk_wrapper): Added a new parameter: a function pointer.
3863 (c_install_body_w_frame_cleanup): Remove
3864 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
3865 * c-common.h (cilk_outline): New prototype.
3866 (gimplify_cilk_spawn): Removed two parameters.
3867 (cilk_install_body_with_frame_cleanup): New prototype.
3868 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
3869 CILK_SPAWN_STMT case.
3870
085b42ed
BS
38712013-12-11 Bernd Schmidt <bernds@codesourcery.com>
3872
2ce064c3
BS
3873 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
3874
085b42ed
BS
3875 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
3876 (int_array_type_node): Remove.
3877 * c-common.c (c_common_nodes_and_builtins): Don't build it.
3878
9e36c9ed
MP
38792013-12-05 Marek Polacek <polacek@redhat.com>
3880
3881 PR c/52023
3882 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
3883 [ADJUST_FIELD_ALIGN].
3884
296674db
JM
38852013-12-04 Joseph Myers <joseph@codesourcery.com>
3886
3887 PR c/52023
3888 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
3889 and check field alignment if set.
3890 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
3891 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
3892
b1726d6c 38932013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
3894 Marek Polacek <polacek@redhat.com>
3895
3896 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
3897 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
3898
d7947e19
L
38992013-11-29 H.J. Lu <hongjiu.lu@intel.com>
3900
3901 PR c/59309
3902 * cilk.c (gimplify_cilk_spawn): Properly handle function without
3903 arguments.
3904
fad7652e
JJ
39052013-11-29 Jakub Jelinek <jakub@redhat.com>
3906
3907 PR c/59280
3908 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
3909 goto invalid. If it is error_mark_node, don't issue further
3910 diagnostics.
3911
8b5e1202
SO
39122013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
3913
3914 * c.opt (Wopenmp-simd): New.
3915
0a508bb6
JJ
39162013-11-22 Jakub Jelinek <jakub@redhat.com>
3917
3918 * c-ubsan.h (ubsan_instrument_return): New prototype.
3919 * c-ubsan.c (ubsan_instrument_return): New function.
3920
2fb9a547
AM
39212013-11-22 Andrew MacLeod <amacleod@redhat.com>
3922
3923 * c-common.c: Add required include files from gimple.h.
3924 * c-gimplify.c: Likewise
3925 * cilk.c: Likewise
3926
8400e75e
DM
39272013-11-22 David Malcolm <dmalcolm@redhat.com>
3928
3929 * c-common.c (unsafe_conversion_p): Remove use of
3930 EXPR_LOC_OR_HERE macro.
3931 (conversion_warning): Likewise.
3932 (warnings_for_convert_and_check): Likewise.
3933 (warn_for_collisions_1): Likewise.
3934 (shorten_compare): Likewise, and remove use of in_system_header
3935 macro, using the location from the former.
3936 * c-lex.c (dump_one_header): Remove use of input_filename macro.
3937 (cb_def_pragma): Remove use of in_system_header macro.
3938 (lex_string): Likewise.
3939 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3940
eb1ce453
KZ
39412013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3942 Mike Stump <mikestump@comcast.net>
3943 Richard Sandiford <rdsandiford@googlemail.com>
3944
3945 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
3946 instead of TREE_INT_CST_LOW, in cases where there is a protecting
3947 tree_fits_shwi_p or tree_fits_uhwi_p.
3948 (dump_generic_ada_node): Likewise.
3949 * c-format.c (check_format_arg): Likewise.
3950 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3951
6b3b8c27
KZ
39522013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3953
3954 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
3955
49b0aa18
JC
39562013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
3957
3958 PR c/53001
3959 * c-common.c (unsafe_conversion_p): Make this function
3960 return an enumeration with more detail.
3961 (conversion_warning): Use the new return type of
3962 unsafe_conversion_p to separately warn either about conversions
3963 that lower floating point number precision or about the other
3964 kinds of conversions.
3965 * c-common.h (enum conversion_safety): New enumeration.
3966 (unsafe_conversion_p): switching return type to
3967 conversion_safety enumeration.
3968 * c.opt: Adding new warning -Wfloat-conversion and
3969 enabling it with -Wconversion.
3970
b826515a
BS
39712013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
3972
3973 * c-opts.c: Include plugin.h.
3974 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
3975
b9a55b13
MP
39762013-11-19 Marek Polacek <polacek@redhat.com>
3977
3978 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
3979 call.
3980 (ubsan_instrument_shift): Likewise.
3981 (ubsan_instrument_vla): Likewise.
3982
7d362f6c
RS
39832013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3984
3985 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
3986 cast to unsigned type.
3987
386b1f1f
RS
39882013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3989
3990 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
3991 tree_low_cst.
3992 (complete_array_type): Update comment to refer to tree_to_[su]hwi
3993 rather than tree_low_cst.
3994
ae7e9ddd
RS
39952013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3996
3997 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
3998 tree_to_uhwi throughout.
3999
9439e9a1
RS
40002013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4001
4002 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4003 tree_low_cst (..., 0) with tree_to_shwi throughout.
4004
cc269bb6
RS
40052013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4006
4007 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4008 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4009
9541ffee
RS
40102013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4011
4012 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4013 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4014
c02065fc
AH
40152013-11-15 Aldy Hernandez <aldyh@redhat.com>
4016
4017 * c-cilkplus.c: New file.
4018 * c-common.c (readonly_error): Add location argument.
4019 * c-common.h (readonly_error): Same.
4020 (c_finish_cilk_clauses): Protoize.
4021 (c_check_cilk_loop): Same.
4022 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4023 Do not fail on error_mark_node.
4024 Abstract increment canonicalization to here...
4025 (c_omp_for_incr_canonicalize_ptr): New.
4026 c-pragma.c (init_pragma): Register "simd" pragma.
4027 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4028 (enum pragma_cilk_clause): New.
4029
9cc65f15
RS
40302013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4031
4032 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4033 wchar_type and host_integerp checks.
4034
18f429e2
AM
40352013-11-14 Andrew MacLeod <amacleod@redhat.com>
4036
4037 * c-common.c: Likewise.
4038 * c-gimplify.c: Likewise.
4039 * cilk.c: Likewise.
4040
d8a2d370
DN
40412013-11-14 Diego Novillo <dnovillo@google.com>
4042
4043 * c-common.c: Include fold-const.h.
4044 Include stor-layout.h.
4045 Include calls.h.
4046 Include stringpool.h.
4047 Include attribs.h.
4048 Include varasm.h.
4049 Include trans-mem.h.
4050 * c-cppbuiltin.c: Include stor-layout.h.
4051 Include stringpool.h.
4052 * c-format.c: Include stringpool.h.
4053 * c-lex.c: Include stringpool.h.
4054 Include stor-layout.h.
4055 * c-pragma.c: Include stringpool.h.
4056 Include attribs.h.
4057 Include varasm.h.
4058 Include gcc-symtab.h.
4059 * c-pretty-print.c: Include stor-layout.h.
4060 Include attribs.h.
4061 * cilk.c: Include stringpool.h.
4062 Include calls.h.
4063
38b7bc7f
JM
40642013-11-13 Joseph Myers <joseph@codesourcery.com>
4065
4066 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4067 * c-common.c (c_common_reswords): Add __auto_type.
4068 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4069
45b0be94
AM
40702013-11-12 Andrew MacLeod <amacleod@redhat.com>
4071
18f429e2
AM
4072 * c-common.c: Include gimplify.h.
4073 * c-gimplify.c: Likewise.
4074 * cilk.c: Likewise.
4075 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4076 * c-ubsan.c: Don't include gimple.h.
45b0be94 4077
582d9b50
JM
40782013-11-12 Joseph Myers <joseph@codesourcery.com>
4079
4080 * c-common.c (c_common_reswords): Add _Thread_local.
4081
6b28e197
JM
40822013-11-09 Joseph Myers <joseph@codesourcery.com>
4083
4084 * c-common.c (atomic_size_supported_p): New function.
4085 (resolve_overloaded_atomic_exchange)
4086 (resolve_overloaded_atomic_compare_exchange)
4087 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4088 Use it instead of comparing size with a local list of sizes.
4089
267bac10
JM
40902013-11-07 Andrew MacLeod <amacleod@redhat.com>
4091 Joseph Myers <joseph@codesourcery.com>
4092
4093 * c-common.h (enum rid): Add RID_ATOMIC.
4094 * c-common.c (c_common_reswords): Add _Atomic.
4095 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4096 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4097 * c-format.c (check_format_types): Check for extra _Atomic
4098 qualifiers in format argument.
4099 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4100 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4101
5157b91e
TB
41022013-11-06 Tobias Burnus <burnus@net-b.de>
4103
4104 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4105
6dbe0958
JM
41062013-11-06 Joseph Myers <joseph@codesourcery.com>
4107
4108 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4109 standards modes.
4110 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4111 to mean lack of IEEE 754 support.
4112
e8ff5196
TB
41132013-11-05 Tobias Burnus <burnus@net-b.de>
4114
4115 * c.opt (-Wdate-time): New option
4116 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4117
254a0760
JM
41182013-11-05 Joseph Myers <joseph@codesourcery.com>
4119
4120 * c-cppbuiltin.c (cpp_iec_559_value): Test
4121 flag_excess_precision_cmdline not flag_excess_precision.
4122
6d7f7e0a
TB
41232013-11-05 Tobias Burnus <burnus@net-b.de>
4124
4125 * c.opt (fopenmp-simd): New option.
4126 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4127 (omp_pragmas): ... this new struct.
4128 (c_pp_lookup_pragma): Also walk omp_pragmas.
4129 (init_pragma): Init pragmas for -fopenmp-simd.
4130
55a7f02f
MP
41312013-11-04 Marek Polacek <polacek@redhat.com>
4132
4133 PR c++/58979
4134 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4135
9193fb05
JM
41362013-11-04 Joseph Myers <joseph@codesourcery.com>
4137
4138 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4139 New functions.
4140 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4141
94159ecf
EB
41422013-11-04 Eric Botcazou <ebotcazou@adacore.com>
4143
4144 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4145 (dump_ada_specs): Adjust prototype of second callback.
4146 * c-ada-spec.c (cpp_check): New global variable.
4147 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4148 (print_generic_ada_decl): Likewise.
4149 (has_static_fields): Change return type to bool and add guard.
4150 (has_nontrivial_methods): New predicate.
4151 (is_tagged_type): Change return type to bool.
4152 (separate_class_package): Call has_nontrivial_methods.
4153 (pp_ada_tree_identifier): Minor tweaks.
4154 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4155 (dump_ada_array_domains): Likewise.
4156 (dump_ada_array_type): Likewise.
4157 (dump_template_types): Remove cpp_check parameter and do not pass it to
4158 dump_generic_ada_node.
4159 (dump_ada_template): Likewise.
4160 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4161 recursively.
4162 (print_ada_methods): Change return type to integer. Remove cpp_check
4163 parameter and do not pass it down.
4164 (dump_nested_types): Remove cpp_check parameter and do not pass it to
4165 dump_generic_ada_node.
4166 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
4167 accessing methods.
4168 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4169 down. Use has_nontrivial_methods to recognize C++ classes. Use return
4170 value of print_ada_methods.
4171 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4172 Set cpp_check to it before invoking dump_ada_nodes.
4173 (dump_ada_specs): Likewise.
4174
b906f4ca
MP
41752013-11-03 Marek Polacek <polacek@redhat.com>
4176
4177 * c-ubsan.c: Don't include hash-table.h.
4178 (ubsan_instrument_vla): New function.
4179 * c-ubsan.h: Declare it.
4180
5e20cdc9
DM
41812013-10-31 David Malcolm <dmalcolm@redhat.com>
4182
4183 Automated part of renaming of symtab_node_base to symtab_node.
4184
4185 Patch autogenerated by rename_symtab.py from
4186 https://github.com/davidmalcolm/gcc-refactoring-scripts
4187 revision 58bb219cc090b2f4516a9297d868c245495ee622
4188
4189 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4190 symtab_node_base to symtab_node.
4191
7057e645
ESR
41922013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4193
4194 Implement C++14 digit separators.
4195 * c-lex.c (interpret_float): Remove digit separators from scratch string
4196 before building real literal.
4197
193ea7bc
JJ
41982013-10-30 Jakub Jelinek <jakub@redhat.com>
4199
4200 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4201
939b37da
BI
42022013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4203
4204 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4205 fields.
4206 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4207 enabled.
4208 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4209 (insert_cilk_frame): New prototype.
4210 (cilk_init_builtins): Likewise.
4211 (gimplify_cilk_spawn): Likewise.
4212 (c_cilk_install_body_w_frame_cleanup): Likewise.
4213 (cilk_detect_spawn_and_unwrap): Likewise.
4214 (cilk_set_spawn_marker): Likewise.
4215 (build_cilk_sync): Likewise.
4216 (build_cilk_spawn): Likewise.
4217 * cilk.c: New file.
4218
67348ccc
DM
42192013-10-29 David Malcolm <dmalcolm@redhat.com>
4220
4221 Patch autogenerated by refactor_symtab.py from
4222 https://github.com/davidmalcolm/gcc-refactoring-scripts
4223 revision 58bb219cc090b2f4516a9297d868c245495ee622
4224
4225 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4226 to a true class hierarchy.
4227 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4228
d570872d
RS
42292013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4230
4231 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4232
98906124
JL
42332013-10-26 Jeff Law <law@redhat.com>
4234
adfac8df
JJ
4235 * c-common.c (c_define_builtins): Remove mudflap support.
4236 * c.opt: Ignore and warn for mudflap options.
98906124 4237
d73749df 42382013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
4239
4240 PR other/33426
4241 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4242 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4243
3f04b1bb
JM
42442013-10-23 Jason Merrill <jason@redhat.com>
4245
4246 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4247
acf0174b
JJ
42482013-10-11 Jakub Jelinek <jakub@redhat.com>
4249
acd15a28
JJ
4250 * c-common.h (omp_clause_mask::operator !=): New method.
4251 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4252 instead of if (mask & something) tests everywhere.
4253
acf0174b
JJ
4254 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4255 201307 instead of 201107.
4256 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4257 (c_common_attribute_table): Add "omp declare target" and
4258 "omp declare simd" attributes.
4259 (handle_omp_declare_target_attribute,
4260 handle_omp_declare_simd_attribute): New functions.
4261 * c-omp.c: Include c-pragma.h.
4262 (c_finish_omp_taskgroup): New function.
4263 (c_finish_omp_atomic): Add swapped argument, if true,
4264 build the operation first with rhs, lhs arguments and use NOP_EXPR
4265 build_modify_expr.
4266 (c_finish_omp_for): Add code argument, pass it down to make_code.
4267 (c_omp_split_clauses): New function.
4268 (c_split_parallel_clauses): Removed.
4269 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4270 c_omp_declare_simd_clauses_to_decls): New functions.
4271 * c-common.h (omp_clause_mask): New type.
4272 (OMP_CLAUSE_MASK_1): Define.
4273 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4274 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4275 omp_clause_mask::operator |, omp_clause_mask::operator &,
4276 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4277 omp_clause_mask::operator ==): New methods.
4278 (enum c_omp_clause_split): New.
4279 (c_finish_omp_taskgroup): New prototype.
4280 (c_finish_omp_atomic): Add swapped argument.
4281 (c_finish_omp_for): Add code argument.
4282 (c_omp_split_clauses): New prototype.
4283 (c_split_parallel_clauses): Removed.
4284 (c_omp_declare_simd_clauses_to_numbers,
4285 c_omp_declare_simd_clauses_to_decls): New prototypes.
4286 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4287 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4288 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4289 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4290 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4291 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4292 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4293 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4294 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4295 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4296 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4297 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4298 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4299 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4300 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4301 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4302 PRAGMA_OMP_CLAUSE_UNIFORM.
4303
826cacfe
MG
43042013-10-09 Marc Glisse <marc.glisse@inria.fr>
4305
4306 PR tree-optimization/20318
4307 * c-common.c (handle_returns_nonnull_attribute): New function.
4308 (c_common_attribute_table): Add returns_nonnull.
4309
2284b034
MG
43102013-10-03 Marc Glisse <marc.glisse@inria.fr>
4311
4312 PR c++/19476
4313 * c.opt (fcheck-new): Move to common.opt.
4314
b56e9788
MP
43152013-09-25 Marek Polacek <polacek@redhat.com>
4316 Jakub Jelinek <jakub@redhat.com>
4317
4318 PR sanitizer/58413
4319 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4320 an expression if we can prove it is correct.
4321 (ubsan_instrument_division): Likewise. Remove unnecessary
4322 check.
4323
ce6923c5
MP
43242013-09-18 Marek Polacek <polacek@redhat.com>
4325
4326 PR sanitizer/58411
4327 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4328 Declare it.
4329 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4330
fb5610fb
IS
43312013-09-14 Iain Sandoe <iain@codesourcery.com>
4332
4333 PR target/48094
4334 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4335 fobjc-gc, freplace-objc-classes): Accept for LTO.
4336
88b0e79e
JC
43372013-09-13 Jacek Caban <jacek@codeweavers.com>
4338
4339 * c-target.def: New hook
4340
c9b0866a
PC
43412013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4342
4343 PR c++/43452
4344 * c.opt (Wdelete-incomplete): Add.
4345
0af94e6f
JR
43462013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4347
4348 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4349 (vector_types_compatible_elements_p): New function.
4350 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4351 declaration.
4352 (vector_types_compatible_elements_p): Declare.
4353
7c26172c
GDR
43542013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4355
4356 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4357 a virtual member function.
4358 (pp_simple_type_specifier): Remove.
4359 (pp_c_type_specifier): Likewise.
4360 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4361 Rename from pp_c_type_specifier. Adjust.
4362 (c_pretty_printer::c_pretty_printer): Do not assign to
4363 simple_type_specifier.
4364
20059c8b
GDR
43652013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4366
4367 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4368 member function.
4369 (c_pretty_printer::storage_class_specifier): Likewise.
4370 (c_pretty_printer::initializer): Likewise.
4371 (pp_declaration): Remove.
4372 (pp_declaration_specifiers): Likewise.
4373 (pp_abstract_declarator): Likewise.
4374 (pp_declarator): Likewise.
4375 (pp_type_id): Likewise.
4376 (pp_statement): Likewise.
4377 (pp_constant): Likewise.
4378 (pp_id_expression): Likewise.
4379 (pp_primary_expression): Likewise.
4380 (pp_unary_expression): Likewise.
4381 (pp_multiplicative_expression): Likewise.
4382 (pp_conditional_expression): Likewise.
4383 (pp_assignment_expression): Likewise.
4384 (pp_expression): Likewise.
4385 (pp_c_type_id): Likewise.
4386 (pp_c_storage_class_specifier): Likewise.
4387 * c-pretty-print.c (pp_c_type_cast): Tidy.
4388 (pp_c_pointer): Likewise.
4389 (pp_c_type_specifier): Likewise.
4390 (pp_c_parameter_type_list): Likewise.
4391 (pp_c_function_definition): Likewise.
4392 (pp_c_init_declarator): Likewise.
4393 (pp_c_initializer_list): Likewise.
4394 (pp_c_constructor_elts): Likewise.
4395 (c_pretty_printer::direct_abstract_declarator): Likewise.
4396 (c_pretty_printer::declaration_specifiers): Likewise.
4397 (c_pretty_printer::primary_expression): Likewise.
4398 (c_pretty_printer::postfix_expression): Likewise.
4399 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4400 (c_pretty_printer::storage_class_specifier): Rename from
4401 pp_c_storage_class_specifier.
4402 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4403 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4404 storage_class_specifier, initializer, offset_list, flags.
4405
de5a5fa1
MP
44062013-08-30 Marek Polacek <polacek@redhat.com>
4407
4408 * c-ubsan.c: New file.
4409 * c-ubsan.h: New file.
4410
8f0e4d72
GDR
44112013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4412
4413 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4414 member function.
4415 (c_pretty_printer::declaration_specifiers): Likewise.
4416 (c_pretty_printer::declarator): Likewise.
4417 (c_pretty_printer::abstract_declarator): Likewise.
4418 (c_pretty_printer::direct_abstract_declarator): Likewise.
4419 (c_pretty_printer::direct_declarator): Likewise.
4420 (c_pretty_printer::function_specifier): Likewise.
4421 (pp_declaration): Adjust.
4422 (pp_declaration_specifiers): Likewise.
4423 (pp_abstract_declarator): Likewise.
4424 (pp_direct_declarator): Likewise.
4425 (pp_function_specifier): Likewise.
4426 (pp_direct_abstract_declarator): Remove as unused.
4427 (pp_c_declaration): Remove.
4428 (pp_c_declaration_specifiers): Likewise.
4429 (pp_c_declarator): Likewise.
4430 (pp_c_direct_declarator): Likewise.
4431 (pp_c_function_specifier): Likewise.
4432 (pp_c_direct_abstract_declarator): Likewise.
4433 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4434 from pp_c_abstract_declarator. Adjust.
4435 (c_pretty_printer::direct_abstract_declarator): Rename from
4436 pp_c_direct_abstract_declarator. Adjust.
4437 (c_pretty_printer::function_specifier): Rename from
4438 pp_c_function_specifier. Adjust.
4439 (c_pretty_printer::declaration_specifiers): Rename from
4440 pp_c_declaration_specifiers. Adjust.
4441 (c_pretty_printer::direct_declarator): Rename from
4442 pp_c_direct_declarator. Adjust.
4443 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4444 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4445 (c_pretty_printer::c_pretty_printer): Do not assign to
4446 declaration, declaration_specifiers, declarator,
4447 direct_declarator, direct_abstract_declarator, function_specifier.
4448
00d34d3a
GDR
44492013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4450
4451 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4452 virtual member function.
4453 (c_pretty_printer::multiplicative_expression): Likewise.
4454 (c_pretty_printer::conditional_expression): Likewise.
4455 (c_pretty_printer::assignment_expression): Likewise.
4456 (c_pretty_printer::expression): Likewise.
4457 (pp_unary_expression): Adjust.
4458 (pp_multiplicative_expression): Likewise.
4459 (pp_assignment_expression): Likewise.
4460 (pp_conditional_expression): Likewise.
4461 (pp_expression): Likewise.
4462 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
4463 from pp_c_unary_expression. Adjust.
4464 (c_pretty_printer::multiplicative_expression): Rename from
4465 pp_c_multiplicative_expression. Adjust.
4466 (c_pretty_printer::conditional_expression): Rename from
4467 pp_c_conditional_expression. Adjust.
4468 (c_pretty_printer::assignment_expression): Rename from
4469 pp_c_assignment_expression. Adjust.
4470 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
4471 (c_pretty_printer::c_pretty_printer): Do not assign to
4472 unary_expression, multiplicative_expression,
4473 conditional_expression, expression.
4474
fb22178f
GDR
44752013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4476
4477 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
4478 virtual member function.
4479 (pp_postfix_expression): Adjust.
4480 (pp_c_postfix_expression): Remove.
4481 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
4482 from pp_c_postfix_expression. Adjust.
4483 (c_pretty_printer::c_pretty_printer): Do not assign to
4484 postfix_expression.
4485
7ecc2600
GDR
44862013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4487
4488 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
4489 virtua member function.
4490 (pp_primary_expression): Adjust.
4491 (pp_c_primary_expression): Remove.
4492 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
4493 from pp_c_primary_expression. Adjust.
4494 (pp_c_initializer_list): Use pp_primary_expression.
4495 (c_pretty_printer::c_pretty_printer): Do not assign to
4496 primary_expression.
4497
0691175f
GDR
44982013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4499
4500 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4501 * c-pretty-print.c (M_): Remove.
4502 (c_pretty_printer::translate_string): Define.
4503 (pp_c_type_specifier): Use it.
4504 (pp_c_primary_expression): Likewise.
4505 (pp_c_expression): Likewise.
4506
66dfe4c4
GDR
45072013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4508
4509 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
4510 virtual function.
4511 (pp_c_id_expression): Remove.
4512 (pp_id_expression): Adjust.
4513 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
4514 pp_c_id_expression. Adjust.
4515 (pp_c_postfix_expression): Use pp_id_expression.
4516 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
4517
ca43e9d5
GDR
45182013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4519
4520 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4521 member function.
4522 (pp_constant): Adjust.
4523 (pp_c_constant): Remove.
4524 * c-pretty-print.c (c_pretty_printer::constant): Rename from
4525 pp_c_constant. Adjust.
4526 (pp_c_constant)
4527 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
4528 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
4529
da6ca2b5
GDR
45302013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4531
4532 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
4533 (c_pretty_printer::c_pretty_printer): Declare.
4534 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
4535 c_pretty_printer_init. Adjust.
4536 (print_c_tree): Do not call c_pretty_printer_init.
4537 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
4538
65a372f4
AC
45392013-08-09 Arnaud Charlet <charlet@adacore.com>
4540
4541 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
4542
fd9b0f32
PC
45432013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
4544
4545 PR c++/58080
4546 * c-common.c (pointer_int_sum): Add bool parameter.
4547 * c-common.h (pointer_int_sum): Adjust declaration.
4548
e0aec1e9
GDR
45492013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4550
4551 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
4552 c_pretty_printer variable.
4553
b066401f
GDR
45542013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4555
4556 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
4557 (pp_base): Remove.
4558 (pp_c_base): Likewise. Adjust users.
4559 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
4560 (pp_c_whitespace): Do not call pp_base.
4561 (pp_c_left_paren): Likewise.
4562 (pp_c_right_paren): Likewise.
4563 (pp_c_left_brace): Likewise.
4564 (pp_c_right_brace): Likewise.
4565 (pp_c_left_bracket): Likewise.
4566 (pp_c_right_bracket): Likewise.
4567 (pp_c_dot): Likewise.
4568 (pp_c_ampersand): Likewise.
4569 (pp_c_star): Likewise.
4570 (pp_c_arrow): Likewise.
4571 (pp_c_semicolon): Likewise.
4572 (pp_c_complement): Likewise.
4573 (pp_c_exclamation): Likewise.
4574 (pp_c_direct_declarator): Likewise.
4575 (pp_c_ws_string): Likewise.
4576 (pp_c_identifier): Likewise.
4577 (pp_c_statement): Likewise.
4578 (print_c_tree): Likewise.
4579
65e5a578
ESR
45802013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
4581
4582 PR c++/58072
4583 * c-common.c (c_parse_error): Catch user-defined literal tokens and
4584 provide useful error strings.
4585
137a1a27
GDR
45862013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4587
4588 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
4589 printer functions instead of pp_string or operators and punctuators.
4590 (dump_generic_ada_node): Likewise.
4591 * c-pretty-print.c (pp_c_type_specifier): Likewise.
4592 (pp_c_relational_expression): Likewise.
4593 (pp_c_logical_or_expression): Likewise.
4594
07838b13
GDR
45952013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4596
4597 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
4598 functions instead of pp_character.
4599 (pp_ada_tree_identifier): Likewise.
4600 (dump_ada_double_name): Likewise.
4601 (dump_ada_function_declaration): Likewise.
4602 (dump_ada_array_domains): Likewise.
4603 (dump_template_types): Likewise.
4604 (dump_generic_ada_node): Likewise.
4605 (print_ada_declaration): Likewise.
4606 (print_ada_struct_decl): Likewise.
4607 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4608
433cc7b0
TT
46092013-07-23 Tom Tromey <tromey@redhat.com>
4610
4611 * c-common.h (enum rid) <RID_GENERIC>: New constant.
4612 * c-common.c (c_common_reswords): Add _Generic.
4613
688010ba
OB
46142013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
4615
4616 * c-common.c: Fix typos.
4617 * c-common.h: Likewise.
4618
2a99e5e6
LL
46192013-07-13 Lubos Lunak <l.lunak@suse.cz>
4620
4621 PR c++/55203
4622 * c-common.c (c_common_attribute_table): Add warn_unused.
4623 (handle_warn_unused_attribute): New.
4624
c26302d5
JJ
46252013-07-10 Jakub Jelinek <jakub@redhat.com>
4626
4627 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
4628 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
4629
dfeadaa0
PC
46302013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
4631
4632 PR c++/57869
4633 * c.opt: Add Wconditionally-supported.
4634
6a2fa4b2
GS
46352013-07-08 Graham Stott <graham.stott@btinternet.com>
4636
adfac8df 4637 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
4638 unused variables l_length and l_node.
4639
ecdbd01a 46402013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
4641
4642 PR c/57821
4643 * c-common.c (complete_array_type): Delay folding first index
4644 like other indices. When folding, check for index overflow.
4645
bedc293e
MG
46462013-06-27 Marc Glisse <marc.glisse@inria.fr>
4647
4648 PR c++/57509
4649 * c-common.h (c_build_vec_perm_expr): New complain argument.
4650 * c-common.c (c_build_vec_perm_expr): Likewise.
4651 Use save_expr also in C++.
4652
604b2bfc
GDR
46532013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4654
4655 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
4656 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4657 * c-opts.c (c_common_post_options): Likewise.
4658
dfeadaa0 46592013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
4660
4661 * array-notation-common.c (length_mismatch_in_expr): Changed the
4662 parameter type's from a dynamic array to a vec_tree. Also removed
4663 the size parameters.
4664 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
4665 the change above.
4666
2ce86d2e
BI
46672013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
4668
4669 * c-common.h (struct cilkplus_an_parts): New structure.
4670 (struct cilkplus_an_loop_parts): Likewise.
4671 (cilkplus_extract_an_triplets): New prototype.
4672 (fix_sec_implicit_args): Likewise.
4673 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
4674 (fix_sec_implicit_args): Likewise.
604b2bfc 4675
07a6825b
BI
46762013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
4677
4678 * array-notation-common.c (find_inv_trees): Removed an unwanted
4679 typecasting.
4680 * c-common.h (struct inv_list::additional_tcodes): Changed type from
4681 enum rid to enum tree_code.
4682
08346abd
JH
46832013-06-11 Jan Hubicka <jh@suse.cz>
4684
4685 * c-common.c (handle_alias_ifunc_attribute): Do not set
4686 DECL_EXTERNAL for weakref variables.
4687 * c-pragma.c (handle_pragma_weak): Make sure aliases
4688 are not declared as external.
4689
d60f1706
BI
46902013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
4691
4692 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
4693 function from c/c-array-notation.c.
4694 (is_cilkplus_reduce_builtin): Likewise.
4695 (find_rank): Likewise.
4696 (extract_array_notation_exprs): Likewise.
4697 (replace_array_notations): Likewise.
4698 (find_inv_trees): Likewise.
4699 (replace_inv_trees): Likewise.
4700 (contains_array_notation_expr): Likewise.
4701 (find_correct_array_notation_type): Likewise.
4702 * c-common.h (struct inv_list): Moved this struct from the file
4703 c/c-array-notation.c and added a new field called additional tcodes.
4704 (length_mismatch_in_expr_p): New prototype.
4705 (is_cilkplus_reduce_builtin): Likewise.
4706 (find_rank): Likewise.
4707 (extract_array_notation_exprs): Likewise.
4708 (replace_array_notation): Likewise.
4709 (find_inv_trees): Likewise.
4710 (replace_inv_trees): Likewise.
4711 (find_correct_array_notation_type): Likewise.
dfeadaa0 4712
36536d79
BI
47132013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
4714
4715 * c-common.c (c_define_builtins): When cilkplus is enabled, the
4716 function array_notation_init_builtins is called.
4717 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
4718 * c-common.def (ARRAY_NOTATION_REF): New tree.
4719 * c-common.h (build_array_notation_expr): New function declaration.
4720 (build_array_notation_ref): Likewise.
4721 (extract_sec_implicit_index_arg): New extern declaration.
4722 (is_sec_implicit_index_fn): Likewise.
4723 (ARRAY_NOTATION_CHECK): New define.
4724 (ARRAY_NOTATION_ARRAY): Likewise.
4725 (ARRAY_NOTATION_START): Likewise.
4726 (ARRAY_NOTATION_LENGTH): Likewise.
4727 (ARRAY_NOTATION_STRIDE): Likewise.
4728 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
4729 ARRAY_NOTATION_REF.
4730 (pp_c_expression): Likewise.
4731 * c.opt (flag_enable_cilkplus): New flag.
4732 * array-notation-common.c: New file.
4733
f7716d57
JJ
47342013-05-14 Jakub Jelinek <jakub@redhat.com>
4735
4736 PR c++/57274
4737 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
4738
a5e0cd1d
MG
47392013-05-10 Marc Glisse <marc.glisse@inria.fr>
4740
4741 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
4742 vectors.
4743
f6bc1c4a
HS
47442013-05-07 Han Shen <shenhan@google.com>
4745
4746 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
4747
3f12f6e9
SKS
47482013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4749
4750 * c-common.c (check_user_alignment): Emit error for negative values.
4751
61949153
PC
47522013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4753
4754 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
4755
e93e18e9
PC
47562013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4757
4758 * c-cppbuiltin.c (c_cpp_builtins): Do not define
4759 __GXX_EXPERIMENTAL_CXX1Y__.
4760
44d90fe1
PC
47612013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4762 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4763
4764 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
4765 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
4766 to simply use OPT_Wpointer_arith.
4767 (c_sizeof_or_alignof_type): Likewise.
4768
13f39b2e
PC
47692013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4770
4771 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
4772
4b84d650
JJ
47732013-04-12 Jakub Jelinek <jakub@redhat.com>
4774
4775 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
4776 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
4777 specifiers.
4778
fb037b5d
SB
47792013-04-07 Steven Bosscher <steven@gcc.gnu.org>
4780
4781 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
4782
4e856798
PC
47832013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
4784
4785 * c-common.c (pointer_int_sum): Remove dead code.
4786
4b1baac8
RS
47872013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
4788
4789 PR middle-end/56524
4790 * c-common.c (handle_optimize_attribute): Don't call
4791 save_optabs_if_changed.
4792
0b50e654
JJ
47932013-03-05 Jakub Jelinek <jakub@redhat.com>
4794
4795 PR middle-end/56461
4796 * c-pch.c (pch_init): Free target_validity at the end.
4797
48c41403
JJ
47982013-03-04 Jakub Jelinek <jakub@redhat.com>
4799
4800 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
4801
e664c61c
KS
48022013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
4803 Jakub Jelinek <jakub@redhat.com>
4804
4805 PR sanitizer/56454
4806 * c-common.c (handle_no_sanitize_address_attribute): New function.
4807 (c_common_attribute_table): Add no_sanitize_address attribute.
4808 (handle_no_address_safety_analysis_attribute): Add
4809 no_sanitize_address attribute, not no_address_safety_analysis
4810 attribute.
4811
a475fd3d 48122013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
4813
4814 PR target/52555
4815 * c-common.c (handle_optimize_attribute): Call
4816 save_optabs_if_changed.
4817
f6007d99
JJ
48182013-02-18 Jakub Jelinek <jakub@redhat.com>
4819 Steven Bosscher <steven@gcc.gnu.org>
4820
4821 PR pch/54117
4822 * c-opts.c (c_common_post_options): If debug info is enabled
4823 and non-dwarf*, refuse to load PCH files and when writing PCH
4824 file warn.
4825
cf35e2b1
JJ
48262013-02-05 Jakub Jelinek <jakub@redhat.com>
4827
4828 PR middle-end/56167
4829 * c-common.c (handle_error_attribute): Fix condition.
4830
32887460
JJ
48312013-01-30 Jakub Jelinek <jakub@redhat.com>
4832
4833 PR c++/55742
4834 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
4835
5af057d8
JM
48362013-01-18 Jason Merrill <jason@redhat.com>
4837
4838 PR target/54908
4839 * c.opt (-fextern-tls-init): New.
4840 * c-opts.c (c_common_post_options): Handle it.
4841
cc83c823
JJ
48422013-01-09 Jakub Jelinek <jakub@redhat.com>
4843
4844 PR c/48418
4845 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
4846 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
4847 and is either negative or bigger or equal to type precision
4848 of the first operand.
4849
a859517f
MP
48502012-12-03 Marek Polacek <polacek@redhat.com>
4851
4852 PR c/55570
4853 * c-common.c (check_user_alignment): Swap order of tests,
4854 check TREE_CODE first.
4855
2d7aa578
ESR
48562012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
4857
4858 PR c++/52654
4859 * c-common.h (overflow_type): New enum.
4860 (build_userdef_literal): Add overflow_type argument.
4861 (tree_userdef_literal): Add overflow_type.
4862 (USERDEF_LITERAL_OVERFLOW): New access macro.
4863 * c-common.c (build_userdef_literal): Add overflow_type
4864 argument.
4865 * c-lex.c (c_lex_with_flags): Add overflow_type to
4866 build_userdef_literal calls.
4867 (interpret_integer, interpret_float): Add overflow_type argument.
4868
cc3c4f62
RB
48692012-11-28 Richard Biener <rguenther@suse.de>
4870
4871 PR c/35634
4872 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4873 here and use a type with proper overflow behavior for types that would
4874 need to be promoted for the arithmetic.
4875
77bc5132
JJ
48762012-11-23 Jakub Jelinek <jakub@redhat.com>
4877
4878 PR sanitizer/55435
4879 * c-common.c (handle_no_address_safety_analysis_attribute): New
4880 function.
4881 (c_common_attribute_table): Add no_address_safety_analysis.
4882
5dc99c46
SB
48832012-11-16 Simon Baldwin <simonb@google.com>
4884
4885 * c.opt: Add f[no-]canonical-system-headers.
4886 * c-opts.c (c_common_handle_option): Handle
4887 OPT_fcanonical_system_headers.
4888
a4a0016d
ESR
48892012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
4890
4891 PR c++/54413
4892 * c-opts.c (c_common_handle_option): Set new flags.
4893 * c.opt: Describe new flags.
4894
7dbb85a7
JM
48952012-11-09 Jason Merrill <jason@redhat.com>
4896
4897 * c.opt (Wabi-tag): New.
4898
ad7bac31
AK
48992012-11-09 Andi Kleen <ak@linux.intel.com>
4900
4901 PR 55139
4902 * c-common.c (get_atomic_generic_size): Mask with
4903 MEMMODEL_MASK
4904
7332899a
MLI
49052012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4906
4907 PR c/53063
4908 * c.opt (Wformat): Make it Alias Wformat=1.
4909 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
4910 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
4911 LangEnabledBy.
4912 (Wformat=): RejectNegative. Use LangEnabledBy.
4913 (Wnonnull): Use LangEnabledBy.
4914 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
4915 * c-format.c (set_Wformat): Delete.
4916 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
4917 (maybe_read_dollar_number): Likewise.
4918 (avoid_dollar_number): Likewise.
4919 (finish_dollar_format_checking): Likewise.
4920 (check_format_info): Likewise.
4921 (check_format_info_main): Likewise.
4922 (check_format_types): Likewise.
4923 (format_type_warning): Likewise.
4924 * c-common.c (int): Likewise.
4925 (check_function_sentinel): Likewise.
4926 * c-common.h (warn_format,set_Wformat): Do not declare here.
4927
34a180a6
MLI
49282012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4929
4930 PR c/53063
4931 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
4932 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
4933 Use LangEnabledBy.
4934 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
4935 common.opt.
4936 (Wvariadic-macros): Init(1).
4937 * c-opts.c (c_common_handle_option): Do not handle them
4938 explicitly.
4939 (c_common_post_options): Likewise.
4940 (sanitize_cpp_opts): warn_unused_macros is now
4941 cpp_warn_unused_macros.
4942 (push_command_line_include): Likewise.
4943 * c-common.c (warn_unknown_pragmas): Do not define.
4944 * c-common.h (warn_unknown_pragmas): Do not declare.
4945
3f46d6a5
MLI
49462012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4947
4948 PR c/51294
4949 * c-common.c (conversion_warning): Handle conditional expressions.
4950
880661a4
JW
49512012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
4952
4953 PR c++/54930
4954 * c.opt (Wreturn_local_addr): Define new option.
4955
4514a96b
JM
49562012-10-25 Jason Merrill <jason@redhat.com>
4957
f14edc1a
JM
4958 * c.opt (Wvirtual-move-assign): New.
4959
4514a96b
JM
4960 * c.opt (Winherited-variadic-ctor): New.
4961
93100c6b
MG
49622012-10-25 Marc Glisse <marc.glisse@inria.fr>
4963
4964 PR c++/54427
4965 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
4966
1efcb8c6
JM
49672012-10-23 Joseph Myers <joseph@codesourcery.com>
4968
4969 * c-common.h (pch_cpp_save_state): Declare.
4970 * c-target.def (c_preinclude): New hook.
4971 * c-opts.c (done_preinclude): New.
4972 (push_command_line_include): Handle default preincluded header.
4973 (cb_file_change): Call pch_cpp_save_state when calling
4974 push_command_line_include.
4975 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
4976 (pch_cpp_save_state): New.
4977 (pch_init): Call pch_cpp_save_state conditionally, instead of
4978 calling cpp_save_state.
4979
4a0ae68e
MLI
49802012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4981
4982 PR c/53063
4983 PR c/40989
4984 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
4985 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
4986 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
4987 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
4988 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
4989 * c-opts.c (c_common_handle_option): Remove explicit handling from
4990 here.
4991 (c_common_post_options): Likewise.
4992
67e4210b
EB
49932012-10-18 Eric Botcazou <ebotcazou@adacore.com>
4994
4995 * c-ada-spec.c (LOCATION_COL): Delete.
4996 (compare_location): New function.
4997 (compare_node): Use it.
4998 (compare_comment): Likewise.
4999
65d4f2cd
MLI
50002012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5001
5002 PR c/53063
5003 PR c/40989
5004 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5005 * c-opts.c (c_common_handle_option): Do not set them here. Add
5006 comment.
5007 (c_common_post_options): Likewise.
5008
909881cb
EB
50092012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5010
5011 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5012 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5013 Remove POINTER_TYPE handling, add large unsigned handling and use
5014 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5015
3a785c97
JJ
50162012-10-12 Jakub Jelinek <jakub@redhat.com>
5017
5018 PR c/54381
5019 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5020 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5021 locs and array of 3 trees instead of just single loc and single
5022 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5023 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5024 For *cmp* builtins that take two sources strings report warnings
5025 about first and second source, not about destination and source.
5026
5e54f81d
MG
50272012-10-12 Marc Glisse <marc.glisse@inria.fr>
5028
5029 PR c++/53055
5030 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5031
f5b02f1e
EB
50322012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5033
5034 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5035 declaring something coming from another file.
5036
b46dbc6c
AC
50372012-10-10 Arnaud Charlet <charlet@adacore.com>
5038
f5b02f1e 5039 PR ada/54845
b46dbc6c
AC
5040 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5041
5d9de0d0
PC
50422012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5043
5044 PR c++/54194
5045 * c-common.c (warn_about_parentheses): Add location_t parameter;
5046 use EXPR_LOC_OR_LOC.
5047 * c-common.h: Update declaration.
5048
a212e43f
MG
50492012-10-09 Marc Glisse <marc.glisse@inria.fr>
5050
5051 PR c++/54427
5052 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5053 more operations. Make error messages optional.
5054 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5055 (scalar_to_vector): Declare.
5056
b1db7f91
JM
50572012-10-08 Jason Merrill <jason@redhat.com>
5058
5059 * c-common.c (c_common_reswords): Add thread_local.
5060
e28d52cf
DS
50612012-10-08 Dodji Seketeli <dodji@redhat.com>
5062
5063 PR c++/53528 C++11 attribute support
5064 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5065 new functions.
5066 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5067 static function.
5068 (handle_aligned_attribute): In choose strictest alignment
5069 among many. Use new check_cxx_fundamental_alignment_constraints.
5070 (handle_transparent_union_attribute): In c++11 attribute syntax,
5071 don't look through typedefs.
5072
3b78de56
AC
50732012-10-04 Arnaud Charlet <charlet@adacore.com>
5074
5075 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5076 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5077 out of dumpfile.h.
5078
6040bb5f
DC
50792012-09-25 Dehao Chen <dehao@google.com>
5080
5081 PR middle-end/54645
3b78de56 5082 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
5083 map when read in the pch.
5084
3f8257db 50852012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
5086
5087 * c-ada-spec.c: Style fixes.
5088
3f8257db 50892012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
5090
5091 * c.opt (-fada-spec-parent): Define new command line switch.
5092 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5093 is specified, generate binding spec as a child of the specified unit.
5094
0ccb505d
PC
50952012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5096 Manuel López-Ibáñez <manu@gcc.gnu.org>
5097
5098 PR c++/53210
5099 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5100
c583af79
AC
51012012-08-23 Arnaud Charlet <charlet@adacore.com>
5102
5103 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5104 for pointers, and add missing Convention C pragma.
5105 (print_ada_struct_decl): Add missing aliased keyword.
5106 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5107
1a4049e7
JJ
51082012-08-17 Jakub Jelinek <jakub@redhat.com>
5109
5110 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5111 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5112 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5113 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5114 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5115
70b5e7dc
RG
51162012-08-10 Richard Guenther <rguenther@suse.de>
5117
5118 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5119
f8923f7e
SB
51202012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5121
5122 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5123 instead of separate pp_newline and pp_flush.
5124 (print_c_tree): Likewise.
5125
e45abe1f
RH
51262012-07-26 Richard Henderson <rth@redhat.com>
5127
5128 * c-common.c (handle_hot_attribute): Allow labels.
5129 (handle_cold_attribute): Likewise.
5130
332f1d24
JJ
51312012-07-20 Jakub Jelinek <jakub@redhat.com>
5132
5133 PR c++/28656
5134 * c-common.c (check_function_nonnull): Handle multiple nonnull
5135 attributes properly.
5136
7ee2468b
SB
51372012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5138
5139 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5140 * c-ada-spec.c: Likewise.
5141 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5142
ee7b28eb
SB
51432012-07-14 Steven Bosscher <steven@gcc.gnu.org>
5144
5145 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5146 Remove code conditional on it.
5147
6bdf3519
SB
51482012-07-11 Steven Bosscher <steven@gcc.gnu.org>
5149
5150 * c-gimplify.c: Do not include basic-block.h.
5151 * c-common.c: Do not include linfuncs.h.
5152
532aafad
SB
51532012-07-08 Steven Bosscher <steven@gcc.gnu.org>
5154
5155 * c-common.h: Include tree.h.
5156
8d0d1915
JM
51572012-07-02 Jason Merrill <jason@redhat.com>
5158
5159 PR c++/53524
5160 * c-common.c (get_priority): Call default_conversion.
5161
fbc873ad
UB
51622012-07-01 Uros Bizjak <ubizjak@gmail.com>
5163
5164 * c-pch.c (c_common_write_pch): Remove unused variables.
5165
d4a10d0a
SB
51662012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5167
5168 * cppspec.c: Moved from gcc/ to here.
5169
6f3a2e23
KT
51702012-06-27 Kai Tietz <ktietz@redhat.com>
5171
5172 PR preprocessor/37215
5173 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5174
8ca92d04
SB
51752012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5176
5177 * c-common.h (c_common_print_pch_checksum): Remove.
5178 * c-pch.c: Do not include output.h.
5179 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5180 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5181 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5182 (struct c_pch_header): Remove.
5183 (get_ident): Update gpch version.
5184 (pch_init): Do not print executable_checksum to asm_out_file.
5185 Do not fail if there is no asm_out_file to read back from. Set
5186 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5187 (c_common_write_pch): Verify that nothing was written to asm_out_file
5188 since pch_init was called. Do not write a c_pch_header, and do not
5189 copy from asm_out_file to the PCH.
5190 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5191 the content of asm_out_file from the PCH.
5192 (c_common_print_pch_checksum): Remove.
5193 * c-opts.c (c_common_init): Print out executable_checksum directly.
5194
70f42967
SB
51952012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5196
5197 * c-target.def (objc_declare_unresolved_class_reference,
5198 objc_declare_class_definition): Add new hooks.
5199
a8781821
SB
52002012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5201
5202 * c-lex.c: Do not include output.h.
5203 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5204 Remove uses of ASM_OUTPUT_IDENT.
5205
9e1a8dd1
RR
52062012-06-15 Marc Glisse <marc.glisse@inria.fr>
5207
5208 PR c++/51033
5209 * c-common.h (c_build_vec_perm_expr): Move decl here.
5210 * c-common.c (c_build_vec_perm_expr): Move definition
5211 here.
5212
6f07a821
SB
52132012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5214
5215 * c.opt (fconserve-space): Turn into a no-op.
5216
9faeb493 52172012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
5218
5219 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5220 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5221 both the start and end of the function.
5222
a4b7d13c
SB
52232012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5224
5225 * c-common.c: Do not include output.h.
5226 * c-pragma.c: Likewise.
5227
c265f413
SA
52282012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5229
5230 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5231 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5232 (lang_decl_name): Handle namespace decls.
5233
be7a421e
SB
52342012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5235
5236 * c-ada-spec.c: Do not include output.h.
5237 * c-semantics.c: Likewise.
5238
65de6659
JM
52392012-05-29 Joseph Myers <joseph@codesourcery.com>
5240
5241 * c-common.c: Fix typo.
5242
ca5f4331
MM
52432012-05-29 Michael Matz <matz@suse.de>
5244
5245 * c-common.h (c_expand_decl): Remove prototype.
5246
4f7f7aca
MLI
52472012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5248
5249 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5250 * c-opts.c (c_common_handle_option): Remove code handling
5251 warn_missing_braces.
5252
4a792f9b
PC
52532012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5254
5255 PR c++/25137
5256 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5257 -Wmissing_braces.
5258
650dc14a
DS
52592012-05-22 Dodji Seketeli <dodji@redhat.com>
5260
5261 PR c++/53322
5262 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5263
9b095bf1
MLI
52642012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5265
5266 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5267 * c-opts.c (c_common_handle_option): Do not handle explicitly
5268 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5269
0b2c4be5
DS
52702012-05-16 Dodji Seketeli <dodji@redhat.com>
5271
5272 PR preprocessor/7263
5273 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5274 to cpp_classify_number. For diagnostics, use the precise location
5275 instead of the global input_location.
5276
a1bde5af
PC
52772012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5278
d02924ef 5279 PR c++/11856
a1bde5af
PC
5280 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5281
d1ede5f4
BS
52822012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5283
a1bde5af 5284 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 5285
f2bc201f
MLI
52862012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5287
5288 PR 53063
5289 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5290 Wreorder): Use LangEnabledBy.
5291 * c-opts.c (c_common_handle_option): Do not enable them
5292 explicitly. Call lang-specific generated functions.
5293 (c_common_post_options): Do not set them here.
5294
95744782
MLI
52952012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5296
5297 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5298 Wmissing-field-initializers,Wmissing-parameter-type,
5299 Wold-style-declaration,Woverride-init): Use EnabledBy.
5300 * c-opts.c (c_common_post_options): Do not set here explicitly.
5301
7d5a5747
MLI
53022012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5303
5304 PR 53063
5305 * c-opts.c (c_common_handle_option): Use handle_generated_option
5306 to enable sub-options.
5307
5a3c9cf2
PC
53082012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5309
5310 PR c++/53158
5311 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5312
3ac8781c
RG
53132012-05-10 Richard Guenther <rguenther@suse.de>
5314
5315 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5316 adjust commentary about TYPE_IS_SIZETYPE types.
5317
1e537948
MLI
53182012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5319
5320 PR c++/53261
5321 * c-common.c (warn_logical_operator): Check that argument of
5322 integer_zerop is not NULL.
5323
f2c4a785
MLI
53242012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5325
5326 PR c/43772
5327 * c-common.c (warn_logical_operator): Do not warn if either side
5328 is already true or false.
5329
50f305ca
MLI
53302012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5331
5332 PR c/51712
5333 * c-common.c (expr_original_type): New.
5334 (shorten_compare): Do not warn for enumeration types.
5335
0c3641b0
MLI
53362012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5337
5338 * c.opt (fpermissive): Add Var(flag_permissive).
5339
7edaa4d2
MG
53402012-04-30 Marc Glisse <marc.glisse@inria.fr>
5341
5342 PR c++/51033
5343 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5344 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5345
b9c8da34
DS
53462012-04-30 Dodji Seketeli <dodji@redhat.com>
5347
5348 Add -Wvarargs option
5349 * c.opt (Wvarargs): Define new option.
5350
e6c69da0
MLI
53512012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5352
5353 * c-common.c (check_function_arguments): Replace
5354 Wmissing-format-attribute with Wsuggest-attribute=format.
5355
90137d8f
MLI
53562012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5357
5358 * c.opt (Wsuggest-attribute=format): New. Alias of
5359 Wmissing-format-attribute.
5360 * c-format.c (decode_format_type): Replace
5361 Wmissing-format-attribute with Wsuggest-attribute=format.
5362 (check_function_format): Likewise.
5363
9faeb493 53642012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
5365
5366 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5367 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5368 * c.opt: Add Wliteral-suffix.
5369
c1771a20
MLI
53702012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5371
5372 PR c/44774
5373 * c.opt (Wpedantic): New.
5374 (pedantic): Alias Wpedantic.
5375 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5376 (c_common_post_options): Likewise.
5377 (sanitize_cpp_opts): Likewise.
5378 * c-lex.c (interpret_float): Likewise.
5379 * c-format.c (check_format_types): Likewise.
5380 * c-common.c (pointer_int_sum): Likewise.
5381 (c_sizeof_or_alignof_type): Likewise.
5382 (c_add_case_label): Likewise.
5383 (c_do_switch_warnings): Likewise.
5384 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5385
04b391c1
JM
53862012-04-15 Jason Merrill <jason@redhat.com>
5387
5388 PR c++/52818
5389 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5390 (C_STD_NAME): Distinguish between C++98 and C++11.
5391
ac868f29
EB
53922012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5393
5394 PR target/52624
5395 * c-common.h (uint16_type_node): Rename into...
5396 (c_uint16_type_node): ...this.
5397 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5398 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5399
fd4116f4
MLI
54002012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5401
5402 * c-common.c (warn_if_unused_value): Move definition to here.
5403 * c-common.h (warn_if_unused_value): Move declaration to here.
5404
573ac65e
WB
54052012-03-23 William Bader <williambader@hotmail.com>
5406
5407 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5408
552b8185
JM
54092012-03-20 Jason Merrill <jason@redhat.com>
5410
5411 * c-common.h (enum cxx_dialect): Add cxx1y.
5412 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5413 test.
5414 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5415 * c-opts.c (c_common_post_options): Likewise.
5416 (set_std_cxx1y): New.
5417 (c_common_handle_option): Call it.
5418 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5419
04398fa8
PC
54202012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5421
5422 PR c++/14710
5423 * c.opt ([Wuseless-cast]): Add.
5424
d2a12ae7
RG
54252012-03-16 Richard Guenther <rguenther@suse.de>
5426
5427 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5428
a12bf402
MLI
54292012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5430
5431 PR c++/44783
5432 * c.opt (ftemplate-backtrace-limit) Add.
5433
5c30094f
RO
54342012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5435
5436 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5437 handling.
5438 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5439 (init_pragma): Don't register extern_prefix.
5440
21fa2faf
RG
54412012-03-12 Richard Guenther <rguenther@suse.de>
5442
5443 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5444 (builtin_type_for_size): Likewise.
5445
e3793c6f
JJ
54462012-02-13 Jakub Jelinek <jakub@redhat.com>
5447
5448 PR c++/52215
5449 * c-common.c (sync_resolve_params): Don't decide whether to convert
5450 or not based on TYPE_SIZE comparison, convert whenever arg_type
5451 is unsigned INTEGER_TYPE.
5452
93286335
PC
54532012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
5454
5455 PR c/52118
5456 * c.opt ([Wunused-local-typedefs]): Fix description.
5457
7a421706
MS
54582012-01-24 Mike Stump <mikestump@comcast.net>
5459
5460 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
5461 exactly.
5462
ba9b1f11
RG
54632012-01-18 Richard Guenther <rguenther@suse.de>
5464
5465 * c-opts.c (c_common_post_options): Reset LTO flags if
5466 we are about to generate a PCH.
5467
465406be
PC
54682012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
5469
5470 PR c++/51777
5471 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
5472 use pp_unsigned_wide_integer.
5473
aee15221
RG
54742012-01-10 Richard Guenther <rguenther@suse.de>
5475
5476 PR middle-end/51806
5477 * c-opts.c (c_common_handle_option): Move -Werror handling
5478 to language independent code.
5479
5720c0dc
RG
54802012-01-05 Richard Guenther <rguenther@suse.de>
5481
5482 PR middle-end/51764
5483 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
5484 from common.opt.
5485
73ac190a
PC
54862011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
5487
5488 PR c++/51316
5489 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5490 of array types with an unknown bound.
5491
48b0b196
JM
54922011-12-20 Joseph Myers <joseph@codesourcery.com>
5493
5494 * c-common.c (flag_isoc99): Update comment to refer to C11.
5495 (flag_isoc1x): Change to flag_isoc11.
5496 * c-common.h (flag_isoc99): Update comment to refer to C11.
5497 (flag_isoc1x): Change to flag_isoc11.
5498 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
5499 C11.
5500 * c-opts.c (set_std_c1x): Change to set_std_c11.
5501 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
5502 Call set_std_c11.
5503 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
5504 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
5505 * c.opt (std=c1x): Change to std=c11. Document as non-draft
5506 standard.
5507 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
5508 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
5509 (std=gnu1x): Make alias of std=gnu11.
5510
d58d6eb5
JM
55112011-12-19 Jason Merrill <jason@redhat.com>
5512
5513 PR c++/51228
5514 * c-common.c (handle_transparent_union_attribute): Check the first
5515 field if the type is complete.
5516
b3908fcc
JW
55172011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
5518
5519 PR libstdc++/51365
5520 * c-common.c (RID_IS_FINAL): Add.
5521 * c-common.h (RID_IS_FINAL): Add.
5522
fea3ca91
IS
55232011-11-30 Iain Sandoe <iains@gcc.gnu.org>
5524
5525 * c.opt (fgnu-runtime): Provide full description.
5526 (fnext-runtime): Likewise.
5527 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
5528
62bad7cd
AM
55292011-11-28 Andrew MacLeod <amacleod@redhat.com>
5530
5531 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
5532 predefines in one place. Add LOCK_FREE predefines.
5533 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
5534 new func.
5535
c466c4ff
AM
55362011-11-24 Andrew MacLeod <amacleod@redhat.com>
5537
5538 PR c/51256
9faeb493 5539 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 5540 conditions
9faeb493
UB
5541 (resolve_overloaded_atomic_exchange,
5542 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
5543 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
5544 error_mark_node for error conditions.
9faeb493 5545
a5952633
RG
55462011-11-08 Richard Guenther <rguenther@suse.de>
5547
5548 PR middle-end/51010
5549 c-family/
5550
0a35513e
AH
55512011-11-07 Richard Henderson <rth@redhat.com>
5552 Aldy Hernandez <aldyh@redhat.com>
5553 Torvald Riegel <triegel@redhat.com>
5554
5555 Merged from transactional-memory.
5556
5557 * c-common.c (handle_tm_wrap_attribute,
5558 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
5559 (struct c_common_reswords): Added __transaction* keywords.
5560 (struct c_common_attribute_table): Added transaction* and tm_regparm
5561 attributes.
5562 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
5563 masks.
5564 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
5565 find_tm_attribute): Declare.
5566
6d87092d
JM
55672011-11-07 Jason Merrill <jason@redhat.com>
5568
5569 PR c++/35688
5570 * c-common.c, c-common.h: Revert yesterday's changes.
5571
8e7860a1
JM
55722011-11-06 Jason Merrill <jason@redhat.com>
5573
5574 PR c++/35688
5575 * c-common.c (decl_has_visibility_attr): Split out from...
5576 (c_determine_visibility): ...here.
5577 * c-common.h: Declare it.
5578
d19fa6b5
JM
55792011-11-06 Joseph Myers <joseph@codesourcery.com>
5580
5581 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
5582 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
5583 type.
5584 (check_user_alignment): New. Split out of
5585 handle_aligned_attribute. Disallow integer constants with
5586 noninteger types. Conditionally allow zero.
5587 (handle_aligned_attribute): Use check_user_alignment.
5588 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
5589
86951993
AM
55902011-11-06 Andrew MacLeod <amacleod@redhat.com>
5591 Richard Henderson <rth@redhat.com>
5592
5593 Merged from cxx-mem-model.
5594
5595 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 5596 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
5597 parameters that are the same type size.
5598 (get_atomic_generic_size): New. Find size of generic
5599 atomic function parameters and do typechecking.
5600 (add_atomic_size_parameter): New. Insert size into parameter list.
5601 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
5602 either __atomic_exchange_n or external library call.
9faeb493 5603 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 5604 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 5605 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
5606 __atomic_load_n or an external library call.
5607 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
5608 __atomic_store_n or an external library call.
5609 (resolve_overloaded_builtin): Handle new __atomic builtins.
5610
cf9e9959
EB
56112011-11-04 Eric Botcazou <ebotcazou@adacore.com>
5612
5613 PR c++/50608
5614 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
5615 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
5616 <INDIRECT_REF>: Return the argument.
5617 <ARRAY_REF>: Remove special code for negative offset.
5618 Call fold_build_pointer_plus instead of size_binop.
5619 (fold_offsetof): Remove STOP_REF argument and adjust.
5620 * c-common.h (fold_offsetof_1): Declare.
5621 (fold_offsetof): Remove STOP_REF argument.
5622
25339f10
JM
56232011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
5624
5625 PR c++/50810
5626 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5627 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5628 Wnarrowing for C++0x and C++98.
5629 * c.opt ([Wnarrowing]): Update.
5630
89401152
PC
56312011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
5632
5633 PR c++/44277
5634 * c.opt: Add Wzero-as-null-pointer-constant.
5635
97e3ad20
JM
56362011-10-31 Jason Merrill <jason@redhat.com>
5637
15694fdd
JM
5638 * c.opt (-fdeduce-init-list): Off by default.
5639
97e3ad20
JM
5640 PR c++/50920
5641 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
5642 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
5643 and -Wc++11-compat.
5644 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
5645
fb9120e3
RAV
56462011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
5647
5648 PR c++/30066
5649 * c.opt (fvisibility-inlines-hidden): Description change.
5650
3ce4f9e4
ESR
56512011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
5652
5653 Implement C++11 user-defined literals.
5654 * c-common.c (build_userdef_literal): New.
5655 * c-common.def: New tree code.
5656 * c-common.h (tree_userdef_literal): New tree struct and accessors.
5657 * c-lex.c (interpret_float): Add suffix parm.
5658 (c_lex_with_flags): Build literal tokens.
5659
5f53c243
PC
56602011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5661
5662 PR c++/50841
5663 Revert:
5664 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5665
5666 PR c++/50810
5667 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5668 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5669 Wnarrowing for C++0x and C++98.
5670 * c.opt ([Wnarrowing]): Update.
5671
263734e1
PC
56722011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5673
5674 PR c++/50810
5675 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5676 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5677 Wnarrowing for C++0x and C++98.
5678 * c.opt ([Wnarrowing]): Update.
5679
d2e312d7
PC
56802011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
5681
5682 PR c++/45385
5683 * c-common.c (conversion_warning): Remove code looking for
5684 artificial operands.
5685
d17687f6
DS
56862011-10-18 Dodji Seketeli <dodji@redhat.com>
5687
5688 PR bootstrap/50760
5689 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 5690 !NO_IMPLICIT_EXTERN_C.
d17687f6 5691
fc8396e9
PC
56922011-10-17 Michael Spertus <mike_spertus@symantec.com>
5693
5694 * c-common.c (c_common_reswords): Add __bases,
5695 __direct_bases.
5696 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
5697
56982011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
5699
5700 PR c++/50757
5701 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
5702
847e697a
TT
57032011-10-15 Tom Tromey <tromey@redhat.com>
5704 Dodji Seketeli <dodji@redhat.com>
5705
5706 * c.opt (fdebug-cpp): New option.
5707 * c-opts.c (c_common_handle_option): Handle the option.
5708 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
5709 output stream in parameter. Factorized from ...
5710 (maybe_print_line): ... this. Dump location debug information when
5711 -fdebug-cpp is in effect.
5712 (print_line_1): New static function. Takes an output stream in
5713 parameter. Factorized from ...
5714 (print_line): ... here. Dump location information when -fdebug-cpp
5715 is in effect.
5716 (scan_translation_unit): Dump location information when
5717 -fdebug-cpp is in effect.
5718
92582b75
TT
57192011-10-15 Tom Tromey <tromey@redhat.com>
5720 Dodji Seketeli <dodji@redhat.com>
5721
5722 * c.opt (ftrack-macro-expansion): New option. Handle it with and
5723 without argument.
5724 * c-opts.c (c_common_handle_option)<case
5725 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
5726 cases. Handle -ftrack-macro-expansion with and without argument.
5727
46427374
TT
57282011-10-15 Tom Tromey <tromey@redhat.com>
5729 Dodji Seketeli <dodji@redhat.com>
5730
5731 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
5732 (print_line, cb_define, do_line_change): Adjust to avoid touching
5733 the internals of struct line_map. Use the public API instead.
5734 * c-pch.c (c_common_read_pch): Likewise.
5735 * c-lex.c (fe_file_change): Likewise.
5736
fc8396e9
PC
57372011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
5738
5739 PR c++/17212
5740 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
5741
57422011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
5743
5744 PR c++/33067
5745 * c-pretty-print.c (pp_c_floating_constant): Output
5746 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
5747
e79983f4
MM
57482011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
5749
5750 * c-common.c (def_builtin_1): Delete old interface with two
5751 parallel arrays to hold standard builtin declarations, and replace
5752 it with a function based interface that can support creating
5753 builtins on the fly in the future. Change all uses, and poison
5754 the old names. Make sure 0 is not a legitimate builtin index.
5755 * c-omp.c (c_finish_omp_barrier): Ditto.
5756 (c_finish_omp_taskwait): Ditto.
5757 (c_finish_omp_flush): Ditto.
5758
6637388f
TG
57592011-10-11 Tristan Gingold <gingold@adacore.com>
5760
5761 * c.opt: (fallow-parameterless-variadic-functions): New.
5762
3797cb21
DS
57632011-09-08 Dodji Seketeli <dodji@redhat.com>
5764
5765 PR c++/33255 - Support -Wunused-local-typedefs warning
5766 * c-common.h (struct c_language_function::local_typedefs): New
5767 field.
9faeb493
UB
5768 (record_locally_defined_typedef, maybe_record_typedef_use)
5769 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 5770 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
5771 (maybe_record_typedef_use)
5772 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
5773 * c.opt: Declare new -Wunused-local-typedefs flag.
5774
693ddb1b
EB
57752011-09-06 Eric Botcazou <ebotcazou@adacore.com>
5776
5777 PR middle-end/50266
5778 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
5779 computations.
5780
830c740f
RG
57812011-09-05 Richard Guenther <rguenther@suse.de>
5782
5783 * c-common.c (complete_array_type): Use ssize_int (-1) instead
5784 of integer_minus_one_node for empty array upper bounds.
5785
892a371f
DS
57862011-08-28 Dodji Seketeli <dodji@redhat.com>
5787
5788 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
5789 it's the first time it's being called on this main TU.
5790
0e3fdb48
RB
57912011-08-24 Richard Guenther <rguenther@suse.de>
5792
5793 PR c/49396
5794 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
5795
57962011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
5797
5798 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
5799 defined in cpp_init_builtins and c_cpp_builtins.
5800
d4a83c10
JM
58012011-08-19 Joseph Myers <joseph@codesourcery.com>
5802
5803 * c-common.c (c_common_reswords): Add __builtin_complex.
5804 * c-common.h (RID_BUILTIN_COMPLEX): New.
5805
bbceee64
JM
58062011-08-18 Joseph Myers <joseph@codesourcery.com>
5807
5808 * c-common.c (c_common_reswords): Add _Noreturn.
5809 (keyword_is_function_specifier): Handle RID_NORETURN.
5810 * c-common.h (RID_NORETURN): New.
5811
3f8257db 58122011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
5813
5814 * c-common.c (unsafe_conversion_p): New function. Check if it is
5815 unsafe to convert an expression to the type.
5816 (conversion_warning): Adjust, use unsafe_conversion_p.
5817 * c-common.h (unsafe_conversion_p): New function declaration.
5818
20906c66
JJ
58192011-08-02 Jakub Jelinek <jakub@redhat.com>
5820
5821 * c-common.h (c_finish_omp_atomic): Adjust prototype.
5822 (c_finish_omp_taskyield): New prototype.
5823 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
5824 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
5825 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
5826 or RHS1 have side-effects, evaluate those too in the right spot,
5827 if it is a decl and LHS is also a decl, error out if they
5828 aren't the same.
5829 (c_finish_omp_taskyield): New function.
5830 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
5831 * c-pragma.c (omp_pragmas): Add taskyield.
5832 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
5833 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
5834 PRAGMA_OMP_CLAUSE_MERGEABLE.
5835
770e5a2e
DS
58362011-07-25 Dodji Seketeli <dodji@redhat.com>
5837
5838 * c-common.h (set_underlying_type): Remove parm name from
5839 declaration.
5840
1baae426
RG
58412011-07-25 Romain Geissler <romain.geissler@gmail.com>
5842
5843 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 5844
fcb21722
JM
58452011-07-22 Jason Merrill <jason@redhat.com>
5846
76f86d00
JM
5847 PR c++/49793
5848 * c.opt (Wnarrowing): New.
5849
3a636414
JM
5850 PR c++/30112
5851 * c-common.h: Declare c_linkage_bindings.
5852 * c-pragma.c (handle_pragma_redefine_extname): Use it.
5853
fcb21722
JM
5854 PR c++/49813
5855 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
5856 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
5857 as flag_isoc99 for 'restrict'.
5858 (pp_c_specifier_qualifier_list): Likewise for _Complex.
5859
02614448
ILT
58602011-07-21 Ian Lance Taylor <iant@google.com>
5861
5862 PR middle-end/49705
5863 * c-common.c (c_disable_warnings): New static function.
5864 (c_enable_warnings): New static function.
5865 (c_fully_fold_internal): Change local unused_p to bool. Call
5866 c_disable_warnings and c_enable_warnings rather than change
5867 c_inhibit_evaluation_warnings.
5868
34429675
JM
58692011-07-20 Jason Merrill <jason@redhat.com>
5870
5871 PR c++/6709 (DR 743)
5872 PR c++/42603 (DR 950)
5873 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
5874 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
5875 (CPP_DECLTYPE): New.
5876 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
5877
5d49b6a7
RG
58782011-07-19 Richard Guenther <rguenther@suse.de>
5879
5880 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
5881 * c-omp.c (c_finish_omp_for): Likewise.
5882
e84a58ff
EB
58832011-07-12 Eric Botcazou <ebotcazou@adacore.com>
5884
5885 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
5886 body on the next line.
5887
329af3c7
JM
58882011-07-08 Jason Merrill <jason@redhat.com>
5889
4063e61b
JM
5890 PR c++/45437
5891 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
5892
329af3c7
JM
5893 PR c++/49673
5894 * c-common.c (c_apply_type_quals_to_decl): Don't check
5895 TYPE_NEEDS_CONSTRUCTING.
5896
1a072294
RG
58972011-07-06 Richard Guenther <rguenther@suse.de>
5898
5899 * c-common.c (c_common_nodes_and_builtins):
5900 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
5901
fce5dddd
RG
59022011-07-05 Richard Guenther <rguenther@suse.de>
5903
5904 * c-common.c (c_common_nodes_and_builtins): Build all common
5905 tree nodes first.
5906
45d439ac
JJ
59072011-06-27 Jakub Jelinek <jakub@redhat.com>
5908
56300785
JJ
5909 * c-common.h (c_tree_chain_next): New static inline function.
5910
45d439ac
JJ
5911 * c-common.c (check_builtin_function_arguments): Handle
5912 BUILT_IN_ASSUME_ALIGNED.
5913
e0a8ecf2
AM
59142011-06-21 Andrew MacLeod <amacleod@redhat.com>
5915
5916 * c-common.c: Add sync_ or SYNC__ to builtin names.
5917 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
5918
59192011-06-20 Pierre Vittet <piervit@pvittet.com>
5920
5921 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
5922 handler.
5923 (gen_pragma_handler): New union.
5924 (internal_pragma_handler): New type.
5925 (c_register_pragma_with_data)
5926 (c_register_pragma_with_expansion_and_data): New functions.
5927
5928 * c-pragma.c (registered_pragmas, c_register_pragma_1)
5929 (c_register_pragma, c_register_pragma_with_expansion)
5930 (c_invoke_pragma_handler): Changed to work with
5931 internal_pragma_handler.
5932 (c_register_pragma_with_data)
5933 (c_register_pragma_with_expansion_and_data): New functions.
5934
677f3fa8
JM
59352011-06-14 Joseph Myers <joseph@codesourcery.com>
5936
5937 * c-common.c: Include common/common-target.h.
5938 (handle_section_attribute): Use
5939 targetm_common.have_named_sections.
5940 * c-cppbuiltin.c: Include common/common-target.h.
5941 (c_cpp_builtins): Use targetm_common.except_unwind_info.
5942
d7fc8c14
RG
59432011-06-10 Richard Guenther <rguenther@suse.de>
5944
5945 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
5946 to print a IDENTIFIER_NODE.
5947
10e48e39
RO
59482011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5949 Joseph Myers <joseph@codesourcery.com>
5950
5951 * c.opt (fbuilding-libgcc): New option.
5952 * c-cppbuiltin.c (c_cpp_builtins): Define
5953 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
5954
6976ae51
JM
59552011-06-07 Jason Merrill <jason@redhat.com>
5956
3ff60975
JM
5957 * c-common.c (max_tinst_depth): Lower default to 900.
5958
6976ae51
JM
5959 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
5960
009db074
RG
59612011-06-07 Richard Guenther <rguenther@suse.de>
5962
5963 * c-common.c (c_common_nodes_and_builtins): Do not set
5964 size_type_node or call set_sizetype.
5965
b4592b92
DS
59662011-06-07 Dodji Seketeli <dodji@redhat.com>
5967
5968 PR debug/49130
5969 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 5970 type when using pointer comparison to compare types.
b4592b92 5971
014ab419
JW
59722011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
5973
5974 * c.opt: Add -Wdelete-non-virtual-dtor.
5975 * c-opts.c (c_common_handle_option): Include it in -Wall.
5976
4f60111f
NF
59772011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
5978
5979 PR bootstrap/49190
5980
5981 Revert:
5982 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5983
5984 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5985 not tree_common.
5986
4cc4f2f4
JJ
59872011-05-27 Jakub Jelinek <jakub@redhat.com>
5988
5989 PR c++/49165
5990 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
5991 C++ don't call c_common_truthvalue_conversion on void type arms.
5992
38e01f9e
NF
59932011-05-27 Nathan Froyd <froydnj@codesourcery.com>
5994
5995 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
5996 (stmt_list_stack): Define.
5997 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
5998 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
5999
92e948a8
NF
60002011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6001
6002 * c-common.c (warning_candidate_p): Check for BLOCKs.
6003
a2fc3e63
NF
60042011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6005
6006 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6007 not tree_common.
6008
0957c029
JJ
60092011-05-25 Jakub Jelinek <jakub@redhat.com>
6010
6011 * c-common.c (def_fn_type): Remove extra va_end.
6012
828fb3ba
JM
60132011-05-23 Jason Merrill <jason@redhat.com>
6014
6015 PR c++/48106
6016 * c-common.c (c_common_get_narrower): New.
6017 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6018
dde05067
NF
60192011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6020
6021 * c-common.h (check_function_arguments): Tweak prototype of
6022 check_function_arguments.
6023 * c-common.c (check_function_arguments): Likewise. Adjust
6024 calls to check_function_nonnull, check_function_format, and
6025 check_function_sentinel.
6026 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6027 separate attributes and typelist arguments. Use
6028 FOREACH_FUNCTION_ARGS to iterate over argument types.
6029
3c0d13bf
PC
60302011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6031
6032 * c-common.c (c_common_reswords): Reorder.
6033 * c-common.h (rid): Likewise.
6034
8242dd04
NF
60352011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6036
6037 * c-common.c (def_fn_type): Don't call build_function_type, call
6038 build_function_type_array or build_varargs_function_type_array
6039 instead.
6040 (c_common_nodes_and_builtins): Likewise.
6041
3d528853
NF
60422011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6043
6044 * c-common.c (c_add_case_label): Omit the loc argument to
6045 build_case_label.
6046 * c-common.h (build_case_label): Remove.
6047 * c-semantics.c (build_case_label): Remove.
6048
a04a722b
JM
60492011-05-05 Joseph Myers <joseph@codesourcery.com>
6050
6051 * c-objc.h (objc_start_method_definition): Update prototype.
6052 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6053
e19a18d4
NF
60542011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6055
6056 * c-common.c (check_main_parameter_types): Reindent. Don't use
6057 TYPE_ARG_TYPES directly.
6058 (handle_nonnull_attribute): Likewise.
6059 (sync_resolve_params): Likewise.
6060 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6061 to check_format_string.
6062 (handle_format_attribute): Likewise.
6063 (check_format_string): Take a function type to examine instead of
6064 a type list. Use a function_arg_iterator to step through argument
6065 types.
6066
c62c040f
RG
60672011-05-04 Richard Guenther <rguenther@suse.de>
6068
6069 * c-common.c (fix_string_type): Use size_int for index type bounds.
6070 (start_fname_decls): Do not pass NULL to build_int_cst.
6071 (c_init_attributes): Likewise.
6072 * c-lex.c (c_lex_with_flags): Likewise.
6073
c12ff9d8
JM
60742011-04-27 Jason Merrill <jason@redhat.com>
6075
6076 * c-common.c (make_tree_vector_from_list): New.
6077 * c-common.h: Declare it.
6078
304dfbe3
RG
60792011-04-26 Richard Guenther <rguenther@suse.de>
6080
6081 PR preprocessor/48248
6082 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6083 for output size with -P.
6084
3c0d13bf
PC
60852011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6086
6087 * c-common.c (struct c_common_resword): Add __underlying_type.
6088 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6089
04695783
JM
60902011-04-20 Jim Meyering <meyering@redhat.com>
6091
6092 * c-format.c (init_dollar_format_checking): Remove useless
6093 if-before-free.
6094
0dc33c3c
NP
60952011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6096
6097 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 6098 (objc_detect_field_duplicates): New.
0dc33c3c 6099 * stub-objc.c: Likewise.
3c0d13bf 6100
c59633d9
NP
61012011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6102
6103 * stub-objc.c (objc_declare_protocols): Renamed to
6104 objc_declare_protocol.
6105 * c-objc.h: Likewise.
3c0d13bf 6106
32dabdaf
NP
61072011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6108
6109 * stub-objc.c (objc_declare_class): Updated argument name.
6110
81f653d6
NF
61112011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6112
6113 * c-common.h (c_common_init_ts): Declare.
6114 * c-common.c (c_common_init_ts): Define.
6115
eb345401
NP
61162011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6117
6118 * c-objc.h (objc_build_message_expr): Updated prototype.
6119 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 6120
a358e188
MJ
61212011-04-12 Martin Jambor <mjambor@suse.cz>
6122
6123 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6124 of cgraph_node.
6125
e6313a78
RG
61262011-04-11 Richard Guenther <rguenther@suse.de>
6127
6128 * c-common.c (complete_array_type): Build a range type of
6129 proper type.
6130
dcf0c47e
NF
61312011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6132
6133 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6134 (handle_type_generic_attribute): Likewise.
6135
1ee44b26
JM
61362011-04-07 Jason Merrill <jason@redhat.com>
6137
6138 PR c++/48450
6139 * c-common.c (c_common_truthvalue_conversion): Don't ignore
6140 conversion from C++0x scoped enum.
6141
acce4e77
JM
61422011-04-06 Joseph Myers <joseph@codesourcery.com>
6143
6144 * c-target-def.h: New file.
6145 * c-target.def: New file.
6146 * c-target.h: New file.
6147 * c-common.c (targetcm): Don't define here.
6148 * c-common.h (default_handle_c_option): Declare.
6149 * c-format.c: Include c-target.h instead of target.h.
6150 * c-opts.c: Include c-target.h instead of target.h. Explicitly
6151 include tm.h.
6152 (default_handle_c_option): Move from targhooks.c.
6153
e2eefb55
JJ
61542011-03-29 Jakub Jelinek <jakub@redhat.com>
6155
6156 PR preprocessor/48248
6157 * c-ppoutput.c (print): Add src_file field.
6158 (init_pp_output): Initialize it.
6159 (maybe_print_line): Don't optimize by adding up to 8 newlines
6160 if map->to_file and print.src_file are different file.
6161 (print_line): Update print.src_file.
6162
ba78087b
KT
61632011-03-25 Kai Tietz <ktietz@redhat.com>
6164
6165 * c-ada-spec.c (compare_comment): Use filename_cmp
6166 instead of strcmp for filename.
6167
0edf1bb2
JL
61682011-03-25 Jeff Law <law@redhat.com>
6169
adfac8df 6170 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 6171
c7dc8804
JM
61722011-03-25 Jason Merrill <jason@redhat.com>
6173
6174 * c.opt: Add -std=c++03.
6175
d1d879b1
EB
61762011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6177
6178 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6179
3f8257db 61802011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
6181
6182 PR target/12171
5050afdf
KT
6183 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6184 Display allowed attributes for function pointer types.
6185 (pp_c_attributes_display): New function to display
6186 attributes having affects_type_identity flag set to true.
6187 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6188
62d784f7
KT
6189 * c-common.c (c_common_attribute_table):
6190 Add new element.
6191 (c_common_format_attribute_table): Likewise.
6192
82d37118
JM
61932011-03-18 Jason Merrill <jason@redhat.com>
6194
49a000c3
JM
6195 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6196 * c-common.h: Don't declare it here.
6197 * c-common.c: Or define it here.
6198 * c-opts.c (c_common_handle_option): Or set it here.
6199
82d37118
JM
6200 PR c++/35315
6201 * c-common.c (handle_transparent_union_attribute): Don't
6202 make a duplicate type in C++.
6203
17bc631c
JM
62042011-03-15 Jason Merrill <jason@redhat.com>
6205
6206 * c-common.c (max_constexpr_depth): New.
6207 * c-common.h: Declare it.
6208 * c-opts.c (c_common_handle_option): Set it.
6209 * c.opt (fconstexpr-depth): New option.
6210
1b9b91a6
JM
62112011-03-11 Jason Merrill <jason@redhat.com>
6212
f231b5ff
JM
6213 * c-common.c (attribute_takes_identifier_p): Add missing const.
6214
1b9b91a6
JM
6215 PR c++/46803
6216 * c-common.c (attribute_takes_identifier_p): Assume that an
6217 unknown attribute takes an identifier.
6218
a19e4d44
NF
62192011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6220
6221 PR c/47786
6222 * c-common.c (c_type_hash): Call list_length instead of iterating
6223 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6224
982d62f6
JJ
62252011-02-19 Jakub Jelinek <jakub@redhat.com>
6226
6227 PR c/47809
6228 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6229
0a256240
NP
62302011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6231
6232 * c.opt (fobjc-abi-version=) New.
6233 (fobjc-nilcheck): New.
6234
ba9e6dd5
NF
62352011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6236
6237 PR c++/46890
6238 * c-common.h (keyword_is_decl_specifier): Declare.
6239 * c-common.c (keyword_is_decl_specifier): Define.
6240 (keyword_is_function_specifier): New function.
6241
7273813a
JJ
62422011-01-26 Jakub Jelinek <jakub@redhat.com>
6243
6244 PR c/47473
6245 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6246 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6247 REAL_TYPE.
6248
908ef79b
AC
62492011-01-26 Arnaud Charlet <charlet@adacore.com>
6250
6251 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6252
237e9384
JJ
62532011-01-26 Jakub Jelinek <jakub@redhat.com>
6254
6255 PR pch/47430
6256 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6257 after init_c_lex if pch_file is set.
6258
47ea1edf
DK
62592011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6260
d4dba752 6261 PR c++/43601
47ea1edf
DK
6262 * c.opt (-fkeep-inline-dllexport): New switch.
6263
2aa9c6ae
RG
62642011-01-12 Richard Guenther <rguenther@suse.de>
6265
6266 PR middle-end/32511
6267 * c-common.c (handle_weak_attribute): Warn instead of error
6268 on declaring an inline function weak.
6269
7bd11157
TT
62702011-01-05 Tom Tromey <tromey@redhat.com>
6271
6272 * c-common.h (lvalue_error): Update.
6273 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6274 not error.
6275
0e66e494 62762010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 6277
b4f588c4
NP
6278 PR objc/47075
6279 * c-objc.h (objc_finish_message_expr): Added argument to
6280 prototype.
6281
f4da8dce
NF
62822010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6283
6284 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6285 Use prototype_p.
6286
46270f14
NP
62872010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6288
6289 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 6290 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 6291
4816c593
NF
62922010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6293
6294 * c-common.h (readonly_error): Declare.
6295 * c-common.c (readonly_error): Define.
6296
7a6daeb0
NF
62972010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6298
6299 * c-common.h (invalid_indirection_error): Declare.
6300 * c-common.c (invalid_indirection_error): Define.
6301
892f6119
RG
63022010-12-03 Richard Guenther <rguenther@suse.de>
6303
6304 PR c/46745
6305 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6306 (pp_c_unary_expression): Likewise.
6307 (pp_c_expression): Likewise.
6308
6c39e757
NP
63092010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6310
6311 * c-common.h (objc_finish_function): New.
6312 (objc_non_volatilized_type): Removed.
6313 (objc_type_quals_match): Removed.
6314 * stub-objc.c (objc_finish_function): New.
6315 (objc_non_volatilized_type): Removed.
6316 (objc_type_quals_match): Removed.
9faeb493 6317
7c475d11
JM
63182010-11-30 Joseph Myers <joseph@codesourcery.com>
6319
6320 * c-common.h (parse_optimize_options): Declare.
6321 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6322 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6323
71f3e391
JM
63242010-11-29 Joseph Myers <joseph@codesourcery.com>
6325
6326 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6327 GET_ENVIRONMENT.
6328 * c-pch.c (O_BINARY): Don't define here.
6329 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6330
d5fabb58
JM
63312010-11-25 Joseph Myers <joseph@codesourcery.com>
6332
6333 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6334 targetm.except_unwind_info.
6335
299404a1
JM
63362010-11-23 Joseph Myers <joseph@codesourcery.com>
6337
6338 * c-opts.c (c_common_handle_option): Pass location to
6339 set_struct_debug_option.
6340
c98cd5bf
JM
63412010-11-23 Joseph Myers <joseph@codesourcery.com>
6342
6343 * c-common.c (visibility_options): Move from ../opts.c.
6344 * c-common.h (struct visibility_flags, visibility_options):
6345 Declare here.
6346 * c-opts.c (finish_options): Rename to c_finish_options.
6347 (c_common_init): Update call to finish_options.
6348
a9546771
NP
63492010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6350
6351 PR objc/34033
6352 * c-lex.c (lex_string): Check that each string in an Objective-C
6353 string concat sequence starts with either one or zero '@', and
6354 that there are no spurious '@' signs at the end.
6355
24a57808
JM
63562010-11-20 Joseph Myers <joseph@codesourcery.com>
6357
6358 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6359 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6360 HANDLE_PRAGMA_VISIBILITY.
6361 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6362 HANDLE_PRAGMA_VISIBILITY): Don't define.
6363 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6364
a9aa2c3a
NF
63652010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6366
6367 PR c++/16189
6368 PR c++/36888
6369 PR c++/45331
6370 * c-common.h (keyword_begins_type_specifier): Declare.
6371 (keyword_is_storage_class_specifier): Declare.
6372 (keyword_is_type_qualifier): Declare.
6373 * c-common.c (keyword_begins_type_specifier): New function.
6374 (keyword_is_storage_class_specifier): New function.
6375 (keyword_is_type_qualifier): Declare.
6376
5386338c
JM
63772010-11-19 Joseph Myers <joseph@codesourcery.com>
6378
6379 PR c/46547
6380 * c-common.c (in_late_binary_op): Define.
6381 (c_common_truthvalue_conversion): Check in_late_binary_op before
6382 calling c_save_expr.
6383 * c-common.h (in_late_binary_op): Declare.
6384
69ccdddb
JM
63852010-11-19 Joseph Myers <joseph@codesourcery.com>
6386
6387 * c-opts.c (c_common_handle_option): Update calls to
6388 set_struct_debug_option.
6389
6b192a09
NP
63902010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6391
6392 * c-common.h (objc_declare_protocols): Added additional argument.
6393 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 6394
fb52b50a
NF
63952010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6396
6397 PR c/33193
6398 * c-common.h (build_real_imag_expr): Declare.
6399 * c-semantics.c (build_real_imag_expr): Define.
6400
b37421c6
JM
64012010-11-17 Joseph Myers <joseph@codesourcery.com>
6402
6403 * c-opts.c (c_common_parse_file): Take no arguments.
6404 * c-common.h (c_common_parse_file): Update prototype.
6405
07078664
JJ
64062010-11-16 Jakub Jelinek <jakub@redhat.com>
6407
6408 PR c++/46401
6409 * c-common.c (warning_candidate_p): Don't track non-const calls
6410 or STRING_CSTs.
6411
c6a13190
ILT
64122010-11-15 Ian Lance Taylor <iant@google.com>
6413
6414 * c-lex.c (init_c_lex): Set macro debug callbacks if
6415 flag_dump_go_spec is set.
6416
925e8657
NP
64172010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6418
6419 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6420 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6421
bb0a9581
NF
64222010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6423
6424 PR preprocessor/45038
6425 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6426 dialects.
6427
c5fa0890
JM
64282010-11-12 Joseph Myers <joseph@codesourcery.com>
6429
6430 * c-common.h (c_family_lang_mask): Declare.
6431 * c-opts.c (c_family_lang_mask): Make extern.
6432 * c-pragma.c (handle_pragma_diagnostic): Use
6433 control_warning_option.
6434
a4d8c676
JM
64352010-11-12 Joseph Myers <joseph@codesourcery.com>
6436
6437 * c-common.c (parse_optimize_options): Update call to
6438 decode_options.
6439 * c-common.h (c_common_handle_option): Update prototype.
6440 * c-opts.c (c_common_handle_option): Take location_t parameter and
6441 pass it to other functions.
6442
f954bd2c
JM
64432010-11-11 Joseph Myers <joseph@codesourcery.com>
6444
6445 * c-opts.c (warning_as_error_callback): Remove.
6446 (c_common_initialize_diagnostics): Don't call
6447 register_warning_as_error_callback.
6448 (c_common_handle_option): Handle -Werror=normalized= here.
6449
d8a07487
JM
64502010-11-10 Joseph Myers <joseph@codesourcery.com>
6451
6452 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6453 in diagnostic.
6454 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
6455 letter.
6456 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
6457 Remove trailing '.' from diagnostics.
6458 * c.opt (Wwrite-strings_: Avoid '`' in help text.
6459
d5478783
JM
64602010-11-10 Joseph Myers <joseph@codesourcery.com>
6461
6462 * c-common.c (parse_optimize_options): Pass global_dc to
6463 decode_options.
6464 * c-opts.c (c_common_handle_option): Pass &global_options to
6465 set_Wstrict_aliasing.
6466 * c.opt (v): Don't mark Common or document here.
6467
91ebb981
IS
64682010-11-06 Iain Sandoe <iains@gcc.gnu.org>
6469
6470 PR target/44981
6471 * c-format.c (format_type): New type gcc_objc_string_format_type.
6472 (valid_stringptr_type_p): New.
6473 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 6474 (check_format_string): Pass expected type, use
91ebb981
IS
6475 valid_stringptr_type_p (), check that the format string types are
6476 consistent with the format specification.
6477 (decode_format_attr): Warn if NSString is used outside objective-c.
6478 (format_types_orig): Add NSString.
6479 (format_name): New.
6480 (format_flags): New.
6481 (check_format_arg): Handle format strings requiring an external parser.
6482 first_target_format_type: New variable.
6483 (handle_format_attribute): Set up first_target_format_type, pass the
6484 expected format arg string type to check_format_string().
6485 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
6486 * stub-objc.c (objc_string_ref_type_p): New.
6487 (objc_check_format_arg): New.
6488
bede2adc
NP
64892010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
6490
9faeb493 6491 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
6492 * c-common.h (objc_build_class_component_ref): New.
6493 * stub-objc.c (objc_build_class_component_ref): New.
6494
9a179d01
NP
64952010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6496
6497 * c.opt (Wproperty-assign-default): New option.
6498
22d8d616
NP
64992010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6500
6501 Implemented -fobjc-std=objc1 flag.
6502 * c.opt (fobjc-std=objc1): New option.
6503
2debdb4f
NP
65042010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
6505
6506 Implemented format and noreturn attributes for Objective-C methods.
6507 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
6508 attribute for Objective-C methods.
6509
ec52b111
JM
65102010-10-31 Jason Merrill <jason@redhat.com>
6511
6512 * c-common.c (conversion_warning, warn_for_collisions_1): Use
6513 EXPR_LOC_OR_HERE.
6514
46a88c12
NP
65152010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6516
6517 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6518 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
6519 (objc_add_property_declaration): Removed arguments for copies and
6520 ivar.
6521 (objc_build_getter_call): Renamed to
6522 objc_maybe_build_component_ref.
6523 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6524 (objc_is_property_ref): New.
6525 * c-common.c (c_common_reswords): Removed copies and ivar.
6526 * stub-objc.c (objc_add_property_declaration): Removed arguments
6527 for copies and ivar.
6528 (objc_build_getter_call): Renamed to
6529 objc_maybe_build_component_ref.
6530 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6531 (objc_is_property_ref): New.
9faeb493 6532
1e4bf85b
AC
65332010-10-29 Arnaud Charlet <charlet@adacore.com>
6534 Matthew Gingell <gingell@adacore.com>
6535
6536 * c-ada-spec.c (separate_class_package): New function.
6537 (pp_ada_tree_identifier): Prefix references to C++ classes with the
6538 name of their enclosing package.
6539 (print_ada_declaration): Use separate_class_package.
6540
81f0bab2
JM
65412010-10-27 Jason Merrill <jason@redhat.com>
6542
2b08f2c5
JM
6543 * c-common.c (c_common_reswords): Add __is_literal_type.
6544 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
6545
81f0bab2
JM
6546 * c-common.c (check_case_value): Remove special C++ code.
6547
200290f2
NP
65482010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6549
6550 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
6551 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
6552 and RID_LAST_PATTR.
6553 (objc_add_property_declaration): Added additional arguments.
6554 (objc_property_attribute_kind): Removed.
6555 (objc_set_property_attr): Removed.
6556 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
6557 copy and nonatomic.
6558 * stub-objc.c (objc_add_property_declaration): Added additional
6559 arguments.
6560 (objc_set_property_attr): Removed.
9faeb493 6561
f614132b
NP
65622010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6563
6564 * c-common.h (objc_add_property_variable): Renamed to
6565 objc_add_property_declaration. Added location argument.
6566 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 6567
b8a18805
NP
65682010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
6569
6570 * c-common.h (objc_maybe_printable_name): New.
6571 * stub-objc.c (objc_maybe_printable_name): New.
6572
3f8257db
JJ
65732010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6574 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
6575
6576 * c-common.h (c_common_mark_addressable_vec): Declare.
6577 * c-common.c (c_common_mark_addressable_vec): New function.
6578
249a82c4
NP
65792010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6580
6581 * c-common.h (objc_set_method_type): Removed.
6582 (objc_add_method_declaration): Added boolean argument.
6583 (objc_start_method_definition): Same change.
6584 (objc_build_method_signature): Same change.
6585 * stub-objc.c (objc_set_method_type): Removed.
6586 (objc_add_method_declaration): Added boolean argument.
6587 (objc_start_method_definition): Same change.
6588 (objc_build_method_signature): Same change.
6589
977e30bc
NP
65902010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6591
6592 * c-common.h (finish_file): Removed.
6593 (objc_write_global_declarations): New.
6594 * c-opts.c (c_common_parse_file): Do not call finish_file.
6595 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 6596
da57d1b9
NP
65972010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6598
6599 Implemented parsing @synthesize and @dynamic for
6600 Objective-C/Objective-C++.
6601 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
6602 (objc_add_synthesize_declaration): New.
6603 (objc_add_dynamic_declaration): New.
6604 * c-common.c (c_common_reswords): Add synthesize and dynamic.
6605 * stub-objc.c (objc_add_synthesize_declaration): New.
6606 (objc_add_dynamic_declaration): New.
9faeb493 6607
0069111f
MM
66082010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6609
6610 PR target/46041
6611 * c-cppbuiltin.c (mode_has_fma): Move function here from
6612 builtins.c. Don't use the fma optab, instead just use the
6613 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
6614 using -save-temps.
6615
e426b47b
NP
66162010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6617
6618 Merge from 'apple/trunk' branch on FSF servers.
0069111f 6619
3f8257db 6620 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 6621
9faeb493 6622 Radar 4330422
e426b47b
NP
6623 * c-common.h (objc_non_volatilized_type): New declaration
6624 * stub-objc.c (objc_non_volatilized_type): New stub.
6625
90fbfdc3
NP
66262010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
6627
e426b47b 6628 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 6629
3f8257db 6630 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 6631
9faeb493 6632 Radar 4133425
90fbfdc3 6633 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 6634 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 6635
c37d8c30
IS
66362010-10-17 Iain Sandoe <iains@gcc.gnu.org>
6637
6638 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
6639 * c-common.h (enum rid): Add RID_AT_PACKAGE.
6640 (objc_ivar_visibility_kind): New enum.
6641 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 6642 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
6643 visibility enum.
6644
1b1562a5
MM
66452010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6646
6647 * c-cppbuiltin.c (builtin_define_float_constants): Emit
6648 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
6649 has the appropriate fma builtins.
6650 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
6651
668ea4b1
IS
66522010-10-14 Iain Sandoe <iains@gcc.gnu.org>
6653
1b1562a5 6654 merge from FSF apple 'trunk' branch.
3f8257db 6655 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 6656
668ea4b1
IS
6657 Radars 4436866, 4505126, 4506903, 4517826
6658 * c-common.c (c_common_resword): Define @property and its attributes.
6659 * c-common.h: Define property attribute enum entries.
6660 (OBJC_IS_PATTR_KEYWORD): New.
6661 (objc_property_attribute_kind): New enum.
6662 Declare objc_set_property_attr (), objc_add_property_variable (),
6663 objc_build_getter_call () and objc_build_setter_call ().
6664 * stub-objc.c (objc_set_property_attr): New stub.
6665 (objc_add_property_variable): Likewise.
6666 (objc_build_getter_call): Likewise.
6667 (objc_build_setter_call) Likewise.
1b1562a5 6668
a1178b30
IS
66692010-10-13 Iain Sandoe <iains@gcc.gnu.org>
6670
1b1562a5 6671 merge from FSF apple 'trunk' branch.
3f8257db 6672 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
6673
6674 Radar 3803157 (method attributes)
6675 * c-common.c (handle_deprecated_attribute): Recognize
6676 objc methods as valid declarations.
6677 * c-common.h: Declare objc_method_decl ().
1b1562a5 6678 * stub-objc.c (objc_method_decl): New stub.
a1178b30 6679
a75bfaa6
JM
66802010-10-08 Joseph Myers <joseph@codesourcery.com>
6681
6682 * c-common.c (parse_optimize_options): Call
6683 decode_cmdline_options_to_array_default_mask before
6684 decode_options. Update arguments to decode_options.
6685 * c-common.h (c_common_init_options_struct): Declare.
6686 * c-opts.c (c_common_init_options_struct): New. Split out from
6687 c_common_init_options.
6688
f05b9d93
NP
66892010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
6690
6691 Implemented fast enumeration for Objective-C.
6692 * c-common.h (objc_finish_foreach_loop): New.
6693 * stub-objc.c (objc_finish_foreach_loop): New.
6694
1ebe4b4f
JM
66952010-10-05 Joseph Myers <joseph@codesourcery.com>
6696
6697 * c-common.h (struct diagnostic_context): Don't declare here.
6698 (c_common_initialize_diagnostics): Declare using
6699 diagnostic_context typedef.
6700 * c-opts.c (c_common_handle_option): Pass global_dc to
6701 handle_generated_option.
6702
d4d24ba4
JM
67032010-10-04 Joseph Myers <joseph@codesourcery.com>
6704
6705 * c-opts.c (c_common_handle_option): Pass &global_options_set to
6706 handle_generated_option.
6707
478a1c5b
ILT
67082010-10-03 Ian Lance Taylor <iant@google.com>
6709
6710 * c.opt (-fplan9-extensions): New option.
6711
82a1c2fe
FXC
67122010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6713
6714 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
6715 Remove.
6716 (c_cpp_builtins): Call functions from cppbuiltin.c instead
6717 of duplicating code.
6718
92902b1b
IS
67192010-09-30 Iain Sandoe <iains@gcc.gnu.org>
6720
6721 * c-common.c: Add two new entries for @optional
6722 and @required keywords.
6723
6724 merge from FSF 'apple/trunk' branch.
3f8257db 6725 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
6726
6727 Radar 4386773
6728 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
6729 objective-c keywords.
6730 (objc_set_method_opt): New declaration.
6731 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 6732
46625112
JM
67332010-09-30 Joseph Myers <joseph@codesourcery.com>
6734
6735 * c-common.c (handle_optimize_attribute): Pass &global_options to
6736 cl_optimization_save and cl_optimization_restore.
6737 * c-opts.c (c_common_handle_option): Pass &global_options to
6738 handle_generated_option.
6739 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
6740 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
6741 &global_options to cl_optimization_restore.
6742
49b91f05
NP
67432010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
6744
6745 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
6746 Objective-C/Objective-C++ keywords.
6747
13ed556f 67482010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 6749
9faeb493
UB
6750 Merge from 'apple/trunk' branch on FSF servers.
6751
3f8257db 6752 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
6753
6754 Radar 4281748
6755 * c-common.h (objc_check_global_decl): New declaration.
6756 * stub-objc.c (objc_check_global_decl): New stub.
6757
f0036cca
JM
67582010-09-29 Joseph Myers <joseph@codesourcery.com>
6759
6760 * c.opt: Don't use VarExists.
6761
e3339d0f
JM
67622010-09-29 Joseph Myers <joseph@codesourcery.com>
6763
6764 * c-common.c (c_cpp_error): Update names of diagnostic_context
6765 members.
6766 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
6767 cl_optimization members.
6768 * c-opts.c (warning_as_error_callback, c_common_handle_option,
6769 sanitize_cpp_opts, finish_options): Update names of cpp_options
6770 members.
6771
1973201f
NP
67722010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
6773
6774 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
6775 (objc_is_reserved_word): Removed.
6776 * c-common.c: Updated comments.
6777 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
6778 objc_is_reserved_word.
6779 * stub-objc.c (objc_is_reserved_word): Removed.
6780
f7e71da5
IS
67812010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6782
9faeb493 6783 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
6784 include attributes.
6785 (objc_start_method_definition): Likewise.
6786 (objc_build_keyword_decl): Likewise.
6787 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
6788 (objc_start_method_definition): Likewise.
6789 (objc_build_keyword_decl): Likewise.
6790
c165dca7
IS
67912010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6792
6793 * c-common.h (objc_start_class_interface): Adjust prototype.
6794 (objc_start_category_interface): Likewise.
6795 (objc_start_protocol): Likewise.
6796 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
6797 (objc_start_class_interface): Likewise.
6798 (objc_start_category_interface): Likewise.
6799
7458026b
ILT
68002010-09-27 Ian Lance Taylor <iant@google.com>
6801
6802 * c-common.c (c_common_attribute_table): Add no_split_stack.
6803 (handle_no_split_stack_attribute): New static function.
6804
b581b85b
NP
68052010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
6806
9faeb493 6807 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 6808
3f8257db 6809 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 6810
9faeb493 6811 Radar 4229905
b581b85b
NP
6812 * c-common.h (objc_have_common_type): New declaration.
6813 * stub-objc.c (objc_have_common_type): New stub.
6814
6815 2005-06-22 Ziemowit Laski <zlaski@apple.com>
6816
6817 Radar 4154928
6818 * c-common.h (objc_common_type): New prototype.
9faeb493 6819 * stub-objc.c (objc_common_type): New stub.
b581b85b 6820
46a4da10
JH
68212010-09-24 Jan Hubicka <jh@suse.cz>
6822
6823 * c-common.c (handle_leaf_attribute): New function.
6824 (struct attribute_spec c_common_att): Add leaf.
6825
e200444e
JM
68262010-09-22 Joseph Myers <joseph@codesourcery.com>
6827
6828 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
6829 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
6830 -dump, -dump=, -imacros, -imacros=, -include, -include=,
6831 -include-barrier, -include-directory, -include-directory=,
6832 -include-directory-after, -include-directory-after=,
6833 -include-prefix, -include-prefix=, -include-with-prefix,
6834 -include-with-prefix=, -include-with-prefix-after,
6835 -include-with-prefix-after=, -include-with-prefix-before,
6836 -include-with-prefix-before=, -no-integrated-cpp,
6837 -no-line-commands, -no-standard-includes, -no-warnings, -output,
6838 -output=, -pedantic, -pedantic-errors, -preprocess,
6839 -print-missing-file-dependencies, -trace-includes, -traditional,
6840 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
6841 -user-dependencies, -verbose, -write-dependencies,
6842 -write-user-dependencies, no-integrated-cpp, traditional): New.
6843
29a80ea6
NP
68442010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6845
6846 PR objc/23710
ac1fc2fc
NP
6847 * c-common.h (objc_start_method_definition): Return bool instead
6848 of void.
6849 * stub-objc.c (objc_start_method_definition): Return bool instead
6850 of void.
6851
68522010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6853
6854 PR objc/25965
6855 * c-common.h (objc_get_interface_ivars): New declaration.
6856 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 6857
de621752
ILT
68582010-09-15 Ian Lance Taylor <iant@google.com>
6859
6860 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 6861 messages. Remove period at end of warning message.
de621752 6862
ba885ec5
NS
68632010-09-09 Nathan Sidwell <nathan@codesourcery.com>
6864
6865 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
6866 (handle_alias_attribute): ... here.
6867 (handle_ifunc_attribute): New.
6868
c5ee1358
MM
68692010-09-06 Mark Mitchell <mark@codesourcery.com>
6870
6871 * c-common.h (do_warn_double_promotion): Declare.
6872 * c-common.c (do_warn_double_promotion): Define.
6873
0a0b3574
MM
68742010-09-05 Mark Mitchell <mark@codesourcery.com>
6875
6876 * c.opt (Wdouble-promotion): New.
6877
d1779886
JM
68782010-09-02 Joseph Myers <joseph@codesourcery.com>
6879
6880 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
6881 fvtable-thunks, fxref): Mark no longer supported in help text.
6882
2d2bd949
JM
68832010-09-02 Joseph Myers <joseph@codesourcery.com>
6884
6885 * c.opt (Wimport, fall-virtual, falt-external-templates,
6886 fdefault-inline, fenum-int-equiv, fexternal-templates,
6887 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
6888 fname-mangling-version-, fnew-abi, fnonnull-objects,
6889 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
6890 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
6891 applicable.
6892 (fhandle-exceptions): Mark with Alias and Warn.
6893 * c-opts.c (c_common_handle_option): Don't handle options marked
6894 as ignored.
6895
5de8299c
JM
68962010-09-02 Joseph Myers <joseph@codesourcery.com>
6897
6898 * c.opt (Wcomments, Werror-implicit-function-declaration,
6899 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
6900 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
6901 aliases.
6902 * c-common.c (option_codes): Use OPT_Wcomment instead of
6903 OPT_Wcomments.
6904 * c-opts.c (warning_as_error_callback, c_common_handle_option):
6905 Don't handle options marked as aliases.
6906
0ceb0201
RG
69072010-08-25 Richard Guenther <rguenther@suse.de>
6908
6909 * c-common.c (c_common_get_alias_set): Remove special
6910 handling for pointers.
6911
ac47786e
NF
69122010-08-20 Nathan Froyd <froydnj@codesourcery.com>
6913
6914 * c-common.c: Use FOR_EACH_VEC_ELT.
6915 * c-gimplify.c: Likewise.
6916 * c-pragma.c: Likewise.
6917
c878765b
JM
69182010-08-16 Joseph Myers <joseph@codesourcery.com>
6919
6920 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
6921 RejectDriver.
6922 (MMDX): Change back to MMD. Mark NoDriverArg instead of
6923 RejectDriver.
6924 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
6925 instead of OPT_MDX and OPT_MMDX.
6926
603349bf
JM
69272010-08-16 Joseph Myers <joseph@codesourcery.com>
6928
6929 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
6930
644fa7ac
JM
69312010-08-12 Joseph Myers <joseph@codesourcery.com>
6932
6933 * c.opt (MD, MMD): Change to MDX and MMDX.
6934 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
6935
481e1176
JM
69362010-08-11 Joseph Myers <joseph@codesourcery.com>
6937
6938 * c-opts.c (c_common_handle_option): Call handle_generated_option
6939 instead of handle_option.
6940
ac8dc9f7
NF
69412010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6942
6943 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
6944 (maybe_apply_renaming_pragma): Delete unneeded declarations.
6945
4f8c876d
NF
69462010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6947
6948 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
6949 (pending_redefine_extname): Change type to a VEC.
6950 (add_to_renaming_pragma_list): Update for new type of
6951 pending_redefine_extname.
ac8dc9f7 6952 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 6953
3b0c690e
AC
69542010-08-04 Arnaud Charlet <charlet@adacore.com>
6955
6956 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
6957 visited.
6958 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
6959 decide whether a type has already been declared/seen.
6960 Do not go to the original type.
6961 (dump_nested_types): New parameter forward.
6962 Generate forward declaration if needed and mark type as visited.
6963 (print_ada_declaration): Call dump_nested_types if not already done.
6964 Mark types as visited.
6965
1890bccc
JM
69662010-08-03 Joseph Myers <joseph@codesourcery.com>
6967
6968 * c.opt (-print-pch-checksum): Remove option.
6969 * c-opts.c (c_common_handle_option): Don't handle
6970 OPT_print_pch_checksum.
6971
5f20c657
JM
69722010-07-27 Joseph Myers <joseph@codesourcery.com>
6973
6974 * c-common.h (c_common_handle_option): Update prototype and return
6975 value type.
6976 * c-opts.c (c_common_handle_option): Update prototype and return
6977 value type. Update calls to handle_option and
6978 enable_warning_as_error.
6979
f551f80c
JJ
69802010-07-27 Jakub Jelinek <jakub@redhat.com>
6981
6982 PR c/45079
6983 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
6984
61ff2bdc
JM
69852010-07-27 Joseph Myers <joseph@codesourcery.com>
6986
6987 * c-common.h (c_common_missing_argument): Remove.
6988 * c-opts.c (c_common_missing_argument): Remove.
6989 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
6990 idirafter, imacros, include, isysroot, isystem, iquote): Add
6991 MissingArgError.
6992 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
6993
7a9bf9a4
JM
69942010-07-27 Joseph Myers <joseph@codesourcery.com>
6995
6996 * c-common.h (c_common_option_lang_mask,
6997 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
6998 New.
6999 (c_common_init_options): Update prototype.
7000 * c-opts.c (c_common_option_lang_mask): New.
7001 (c_common_initialize_diagnostics): Split out of
7002 c_common_init_options.
7003 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7004 New.
7005 (c_common_init_options): Update prototype. Use decoded options in
7006 search for -lang-asm.
7007
910ad8de
NF
70082010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7009
7010 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7011 * c-format.c: Likewise.
7012
718f9c0f
MLI
70132010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7014
7015 * c-common.h: Include diagnostic-core.h. Error if already
7016 included.
7017 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7018
4d451982
MLI
70192010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7020
adfac8df 7021 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
7022 Do not include expr.h
7023 (vector_mode_valid_p): Move here.
7024
119fe915
SB
70252010-06-21 DJ Delorie <dj@redhat.com>
7026
7027 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7028 allow these pragmas anywhere.
7029
70302010-06-14 Jakub Jelinek <jakub@redhat.com>
7031
7032 PR bootstrap/44509
7033 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7034 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7035 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7036 ggc_strdup instead of xstrdup.
7037
70382010-06-10 Jakub Jelinek <jakub@redhat.com>
7039
7040 * c-cppbuiltin.c: Include cpp-id-data.h.
7041 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7042 (lazy_hex_fp_value): New function.
7043 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7044
6662d794
MLI
70452010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7046
7047 * c-gimplify.c: Do not include tree-flow.h
7048
38f8b050
JR
70492010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7050
7051 PR other/44034
7052 * c-common.c: Rename targetm member:
7053 targetm.enum_va_list -> targetm.enum_va_list_p
7054
9589f23e
AS
70552010-06-28 Anatoly Sokolov <aesok@post.ru>
7056
7057 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7058
3b06d379
SB
70592010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7060
7061 * c-cppbuiltin.c: Do not include except.h.
7062
d166d4c3
AK
70632010-06-24 Andi Kleen <ak@linux.intel.com>
7064
9faeb493
UB
7065 * c-common.c (warn_for_omitted_condop): New.
7066 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 7067
70cb8be6
JM
70682010-06-21 Joseph Myers <joseph@codesourcery.com>
7069
7070 * c.opt (lang-objc): Remove.
7071 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7072
a4c97feb
JR
70732010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7074
7075 * c-opts.c: Include "tm_p.h".
7076
6e2f1956
JM
70772010-06-20 Joseph Myers <joseph@codesourcery.com>
7078
7079 * c-common.c (parse_optimize_options): Update call to
7080 decode_options.
7081
bc87224e
NF
70822010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7083
7084 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7085 new type of types_used_by_cur_var_decl.
7086
b49cf425
JR
70872010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7088
7089 PR bootstrap/44512
7090 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7091 for C++ standard compliance.
7092
59f9c2ed
JM
70932010-06-16 Jason Merrill <jason@redhat.com>
7094
7095 * c.opt: Add -Wnoexcept.
7096
33766b66
RG
70972010-06-16 Richard Guenther <rguenther@suse.de>
7098
7099 PR c/44555
7100 * c-common.c (c_common_truthvalue_conversion): Remove
7101 premature and wrong optimization concering ADDR_EXPRs.
7102
eff7e30c
AC
71032010-06-15 Arnaud Charlet <charlet@adacore.com>
7104
7105 * c-ada-spec.c (dump_sloc): Remove column info.
7106 (is_simple_enum): New function.
7107 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7108 enum types when relevant.
7109
6312e84d
MLI
71102010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7111
9faeb493 7112 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
7113 location.
7114
1cb42611
JM
71152010-06-10 Joseph Myers <joseph@codesourcery.com>
7116
7117 * c-opts.c (c_common_handle_option): Don't handle
7118 OPT_fshow_column.
7119
a9429e29
LB
71202010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7121
7122 * c-pragma.c (push_alignment): Use typed GC allocation.
7123 (handle_pragma_push_options): Likewise.
7124
7125 * c-common.c (parse_optimize_options): Likewise.
7126
7127 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7128 option.
7129
5498f011
JM
71302010-06-07 Joseph Myers <joseph@codesourcery.com>
7131
7132 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7133 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7134 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7135 flag_signed_bitfields, warn_strict_null_sentinel,
7136 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7137 flag_gen_declaration, flag_no_gnu_keywords,
7138 flag_implement_inlines, flag_implicit_templates,
7139 flag_implicit_inline_templates, flag_optional_diags,
7140 flag_elide_constructors, flag_default_inline, flag_rtti,
7141 flag_conserve_space, flag_access_control, flag_check_new,
7142 flag_new_for_scope, flag_weak, flag_working_directory,
7143 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7144 flag_enforce_eh_specs, flag_threadsafe_statics,
7145 flag_pretty_templates): Remove.
7146 * c-common.h (flag_preprocess_only, flag_nil_receivers,
7147 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7148 flag_replace_objc_classes, flag_undef, flag_no_builtin,
7149 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7150 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7151 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7152 flag_no_gnu_keywords, flag_implement_inlines,
7153 flag_implicit_templates, flag_implicit_inline_templates,
7154 flag_optional_diags, flag_elide_constructors, flag_default_inline,
7155 flag_rtti, flag_conserve_space, flag_access_control,
7156 flag_check_new, flag_new_for_scope, flag_weak,
7157 flag_working_directory, flag_use_cxa_atexit,
7158 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7159 flag_threadsafe_statics, flag_pretty_templates,
7160 warn_strict_null_sentinel): Remove.
7161 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7162 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7163 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7164 fimplicit-inline-templates, fimplicit-templates,
7165 flax-vector-conversions, fms-extensions, fnil-receivers,
7166 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7167 frtti, fshort-double, fshort-enums, fshort-wchar,
7168 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7169 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7170 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7171 gen-decls, undef): Use Var.
7172 (fdefault-inline, foptional-diags): Document as doing nothing.
7173 * c-opts.c (c_common_handle_option): Remove cases for options now
7174 using Var. Mark ignored options as such.
7175
39dabefd
SB
71762010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7177
9faeb493 7178 * c-common.c: Moved to here from parent directory.
39dabefd
SB
7179 * c-common.def: Likewise.
7180 * c-common.h: Likewise.
7181 * c-cppbuiltin.c: Likewise.
7182 * c-dump.c: Likewise.
7183 * c-format.c: Likewise.
7184 * c-format.h : Likewise.
7185 * c-gimplify.c: Likewise.
7186 * c-lex.c: Likewise.
7187 * c-omp.c: Likewise.
7188 * c.opt: Likewise.
7189 * c-opts.c: Likewise.
7190 * c-pch.c: Likewise.
7191 * c-ppoutput.c: Likewise.
7192 * c-pragma.c: Likewise.
7193 * c-pragma.h: Likewise.
7194 * c-pretty-print.c: Likewise.
7195 * c-pretty-print.h: Likewise.
7196 * c-semantics.c: Likewise.
7197 * stub-objc.c: Likewise.
7198
7199 * c-common.c: Include gt-c-family-c-common.h.
7200 * c-pragma.c: Include gt-c-family-c-pragma.h.
7201\f
818ab71a 7202Copyright (C) 2010-2016 Free Software Foundation, Inc.
39dabefd
SB
7203
7204Copying and distribution of this file, with or without modification,
7205are permitted in any medium without royalty provided the copyright
7206notice and this notice are preserved.
This page took 2.35193 seconds and 5 git commands to generate.