]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
libgo: update to Go 1.7.1 release
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
911ea34a 12016-09-09 Martin Sebor <msebor@redhat.com>
2
3 PR c/77520
4 PR c/77521
5 * c-format.c (argument_parser::find_format_char_info): Use %qc
6 format directive unconditionally.
7
db8ffb40 82016-09-09 Jason Merrill <jason@redhat.com>
9
10 Implement C++17 new of over-aligned types.
11 * c.opt: Add -faligned-new and -Waligned-new.
12 * c-common.c (max_align_t_align): Split out from...
13 (cxx_fundamental_alignment_p): ...here.
14 * c-common.h: Declare it.
15 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
16
c5eddaf9 172016-09-09 Joseph Myers <joseph@codesourcery.com>
18
19 * c-cppbuiltin.c (builtin_define_type_width): New function.
20 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
21 macros.
22
3da97ff7 232016-09-07 David Malcolm <dmalcolm@redhat.com>
24
25 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
26 a POINTER_TYPE.
27 (substring_loc::get_location): Move to substring-locations.c,
28 keeping implementation as...
29 (c_get_substring_location): New function, from the above, reworked
30 to use accessors rather than member lookup.
31 * c-common.h (class substring_loc): Move to substring-locations.h,
32 replacing with a forward decl.
33 (c_get_substring_location): New decl.
34 * c-format.c: Include "substring-locations.h".
35 (format_warning_va): Move to substring-locations.c.
36 (format_warning_at_substring): Likewise.
37
f9b3f702 382016-09-06 Martin Sebor <msebor@redhat.com>
39
40 PR c/77336
41 * c-format.c (check_function_format): Avoid issuing warnings for
42 functions unless they call format functions with non-constant
43 format strings.
44
4c04bcce 452016-09-06 Richard Biener <rguenther@suse.de>
46
47 PR c/77450
48 * c-common.c (c_common_mark_addressable_vec): Handle
49 COMPOUND_LITERAL_EXPR.
50
8f8828ba 512016-09-05 Marek Polacek <polacek@redhat.com>
52
53 PR c/77423
54 * c-common.c (bool_promoted_to_int_p): New function.
55 (expr_has_boolean_operands_p): New function.
56 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
57 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
58
8ff61e58 592016-09-04 Tom de Vries <tom@codesourcery.com>
60
61 revert:
62 2016-08-29 Tom de Vries <tom@codesourcery.com>
63
64 * c-common.c (build_va_arg): Replace first argument type error
65 with assert.
66
0b80c4b2 672016-09-02 Jakub Jelinek <jakub@redhat.com>
68
69 PR c/65467
70 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
71 (c_finish_omp_for): Reject _Atomic qualified iterators.
72
732016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 74
75 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
76 size to guarantee it fits the output of the formatted function
77 regardless of its arguments.
78
c7afb782 792016-09-01 Marek Polacek <polacek@redhat.com>
80
81 PR c/7652
82 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
83 FALLTHRU comments.
84
f293b7f2 852016-08-29 Marek Polacek <polacek@redhat.com>
86
87 PR c/77292
88 * c-common.c (warn_logical_not_parentheses): Don't warn for
89 a comparison or a logical operator.
90
839e4d28 912016-08-29 Tom de Vries <tom@codesourcery.com>
92
93 * c-common.c (build_va_arg): Fix type comparison assert.
94
0acb92b8 952016-08-29 Tom de Vries <tom@codesourcery.com>
96
97 * c-common.c (build_va_arg): Replace first argument type error
98 with assert.
99
ea2ec8f6 1002016-08-29 Tom de Vries <tom@codesourcery.com>
101
102 PR c/77398
103 * c-common.c (build_va_arg): Add first argument error. Build va_arg
104 with error_mark_node as va_list instead of with illegal va_list.
105
c4963714 1062016-08-25 Marek Polacek <polacek@redhat.com>
107 David Malcolm <dmalcolm@redhat.com>
108
109 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
110 * c-common.h (warn_logical_not_parentheses): Update declaration.
111
364743f3 1122016-08-22 Marek Polacek <polacek@redhat.com>
113
114 PR c++/77321
115 * c-common.c (warn_for_memset): Check type for null.
116
012f068a 1172016-08-22 Joseph Myers <joseph@codesourcery.com>
118
119 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
120 _FloatNx types for suffixes for built-in functions.
121
82c85aba 1222016-08-19 Joseph Myers <joseph@codesourcery.com>
123
124 PR c/32187
125 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
126 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
127 (RID_FLOAT128X): New enum rid values.
128 (CASE_RID_FLOATN_NX): New macro.
129 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
130 keywords.
131 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
132 corresponding complex types.
133 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
134 _FloatNx and corresponding complex types.
135 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
136 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
137 and _FloatNx types for the widest type for determining
138 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
139 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
140 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
141 and _FloatNx types.
142 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
143 constants.
144 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
145 _FloatNx types.
146
48a7392b 1472016-08-18 David Malcolm <dmalcolm@redhat.com>
148
149 * c-opts.c (c_diagnostic_finalizer): Update for change to
150 diagnostic_show_locus.
151
5c8151fa 1522016-08-18 David Malcolm <dmalcolm@redhat.com>
153
154 * c-common.c: Include "spellcheck.h".
155 (cb_get_suggestion): New function.
156 * c-common.h (cb_get_suggestion): New decl.
157 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
158 cb_get_suggestion.
159
26040f06 1602016-08-18 Marek Polacek <polacek@redhat.com>
161
162 PR c/71514
163 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
164 and pointer-to-VLA.
165
5927e78e 1662016-08-16 David Malcolm <dmalcolm@redhat.com>
167
168 PR c/72857
169 * c-common.c (substring_loc::get_range): Rename to...
170 (substring_loc::get_location): ...this, converting param from a
171 source_range * to a location_t *. Call
172 get_source_location_for_substring rather than
173 get_source_range_for_substring, and pass in m_caret_idx.
174 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
175 (substring_loc::get_range): Replace with...
176 (substring_loc::get_location): ...this.
177 (substring_loc::set_caret_index): New method.
178 (substring_loc): Add field m_caret_idx.
179 * c-format.c (format_warning_va): Update for above changes.
180 Rename local "substring_loc" to "fmt_substring_loc" to avoid
181 clashing with type name.
182 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
183 (check_argument_type): Likewise.
184 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
185 Use a copy when emitting warnings, setting the caret index from TYPE.
186
6ce66d38 1872016-08-16 Eric Botcazou <ebotcazou@adacore.com>
188 Arnaud Charlet <charlet@adacore.com>
189
190 * c-ada-spec.c (dump_number): New function.
191 (handle_escape_character): Likewise.
192 (print_ada_macros): Add handling of constant integers and strings.
193
e3533433 1942016-08-12 Marek Polacek <polacek@redhat.com>
195
196 PR c/7652
197 * c-common.c (scalar_to_vector): Adjust fall through comment.
198 * c-opts.c (c_common_handle_option): Likewise.
199 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
200 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
201 fall through comment.
202 * cilk.c (extract_free_variables): Add FALLTHRU.
203
0f463aec 2042016-08-10 Jason Merrill <jason@redhat.com>
205
206 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
207
80488e20 2082016-08-09 Jason Merrill <jason@redhat.com>
209
210 * c-common.c (c_common_attribute_table): vector_size affects type
211 identity.
212
a319e7f4 2132016-08-09 Marek Polacek <polacek@redhat.com>
214
215 PR c/7652
216 * c-ada-spec.c (dump_generic_ada_node): Add return.
217
33603066 2182016-08-09 Jason Merrill <jason@redhat.com>
219
220 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
221 C++17 constexpr lambdas.
222
7af4d06b 2232016-08-08 David Malcolm <dmalcolm@redhat.com>
224
225 PR c/64955
226 * c-common.h (selftest::c_format_c_tests): New declaration.
227 (selftest::run_c_tests): New declaration.
228 * c-format.c: Include "selftest.h.
229 (format_warning_va): Add param "corrected_substring" and use
230 it to add a replacement fix-it hint.
231 (format_warning_at_substring): Likewise.
232 (format_warning_at_char): Update for new param of
233 format_warning_va.
234 (argument_parser::check_argument_type): Pass "fki" to
235 check_format_types.
236 (check_format_types): Add param "fki" and pass it to
237 format_type_warning.
238 (deref_n_times): New function.
239 (get_modifier_for_format_len): New function.
240 (selftest::test_get_modifier_for_format_len): New function.
241 (get_format_for_type): New function.
242 (format_type_warning): Add param "fki" and use it to attempt
243 to provide hints for argument types when calling
244 format_warning_at_substring.
245 (selftest::get_info): New function.
246 (selftest::assert_format_for_type_streq): New function.
247 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
248 (selftest::test_get_format_for_type_printf): New function.
249 (selftest::test_get_format_for_type_scanf): New function.
250 (selftest::c_format_c_tests): New function.
251
d189b094 2522016-08-08 David Malcolm <dmalcolm@redhat.com>
253
254 PR c/52952
255 * c-format.c: Include "diagnostic.h".
256 (location_column_from_byte_offset): Delete.
257 (location_from_offset): Delete.
258 (format_warning_va): New function.
259 (format_warning_at_substring): New function.
260 (format_warning_at_char): New function.
261 (check_format_arg): Capture location of format_tree and pass to
262 check_format_info_main.
263 (argument_parser): Add fields "start_of_this_format" and
264 "format_string_cst".
265 (flag_chars_t::validate): Add param "format_string_cst". Convert
266 warning_at call using location_from_offset to call to
267 format_warning_at_char.
268 (argument_parser::argument_parser): Add param "format_string_cst_"
269 and use use it to initialize field "format_string_cst".
270 Initialize new field "start_of_this_format".
271 (argument_parser::read_format_flags): Convert warning_at call
272 using location_from_offset to a call to format_warning_at_char.
273 (argument_parser::read_any_format_left_precision): Likewise.
274 (argument_parser::read_any_format_precision): Likewise.
275 (argument_parser::read_any_other_modifier): Likewise.
276 (argument_parser::find_format_char_info): Likewise, in three places.
277 (argument_parser::parse_any_scan_set): Likewise, in one place.
278 (argument_parser::handle_conversions): Likewise, in two places.
279 (argument_parser::check_argument_type): Add param "fmt_param_loc"
280 and use it to make a substring_loc. Pass the latter to
281 check_format_types.
282 (check_format_info_main): Add params "fmt_param_loc" and
283 "format_string_cst". Convert warning_at calls using
284 location_from_offset to calls to format_warning_at_char. Pass the
285 new params to the arg_parser ctor. Pass "format_string_cst" to
286 flag_chars.validate. Pass "fmt_param_loc" to
287 arg_parser.check_argument_type.
288 (check_format_types): Convert first param from a location_t
289 to a const substring_loc & and rename to "fmt_loc". Attempt
290 to extract the range of the relevant parameter and pass it
291 to format_type_warning.
292 (format_type_warning): Convert first param from a location_t
293 to a const substring_loc & and rename to "fmt_loc". Add
294 params "param_range" and "type". Replace calls to warning_at
295 with calls to format_warning_at_substring.
296
0dae5fef 2972016-08-08 David Malcolm <dmalcolm@redhat.com>
298
299 * c-format.c (class flag_chars_t): New class.
300 (struct length_modifier): New struct.
301 (class argument_parser): New class.
302 (flag_chars_t::flag_chars_t): New ctor.
303 (flag_chars_t::has_char_p): New method.
304 (flag_chars_t::add_char): New method.
305 (flag_chars_t::validate): New method.
306 (flag_chars_t::get_alloc_flag): New method.
307 (flag_chars_t::assignment_suppression_p): New method.
308 (argument_parser::argument_parser): New ctor.
309 (argument_parser::read_any_dollar): New method.
310 (argument_parser::read_format_flags): New method.
311 (argument_parser::read_any_format_width): New method.
312 (argument_parser::read_any_format_left_precision): New method.
313 (argument_parser::read_any_format_precision): New method.
314 (argument_parser::handle_alloc_chars): New method.
315 (argument_parser::read_any_length_modifier): New method.
316 (argument_parser::read_any_other_modifier): New method.
317 (argument_parser::find_format_char_info): New method.
318 (argument_parser::validate_flag_pairs): New method.
319 (argument_parser::give_y2k_warnings): New method.
320 (argument_parser::parse_any_scan_set): New method.
321 (argument_parser::handle_conversions): New method.
322 (argument_parser::check_argument_type): New method.
323 (check_format_info_main): Introduce classes argument_parser
324 and flag_chars_t, moving the code within the loop into methods
325 of these classes. Make various locals "const".
326
d4166bdc 3272016-08-05 David Malcolm <dmalcolm@redhat.com>
328
329 * c-common.c: Include "substring-locations.h".
330 (get_cpp_ttype_from_string_type): New function.
331 (g_string_concat_db): New global.
332 (substring_loc::get_range): New method.
333 * c-common.h (g_string_concat_db): New declaration.
334 (class substring_loc): New class.
335 * c-lex.c (lex_string): When concatenating strings, capture the
336 locations of all tokens using a new obstack, and record the
337 concatenation locations within g_string_concat_db.
338 * c-opts.c (c_common_init_options): Construct g_string_concat_db
339 on the ggc-heap.
340
7648c9c7 3412016-07-29 Marek Polacek <polacek@redhat.com>
342
8ae70602 343 PR c/71926
344 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
345 parentheses warning.
346
7648c9c7 347 PR c/71574
348 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
349
595e387a 3502016-07-28 Martin Liska <mliska@suse.cz>
351
352 PR gcov-profile/68025
353 * c-common.c (handle_no_profile_instrument_function_attribute):
354
296103aa 3552016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
356
357 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
358 BITS_PER_UNIT_LOG.
359
21483ab7 3602016-07-25 Jason Merrill <jason@redhat.com>
361
362 PR c++/65970
363 * c.opt (fconstexpr-loop-limit): New.
364
0b80c4b2 3652016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 366
367 PR c++/71675
368 * c-common.c (resolve_overloaded_builtin): Avoid converting
369 __atomic_compare_exchange_n return type to that of what its
370 first argument points to.
371
59c1507a 3722016-07-22 Uros Bizjak <ubizjak@gmail.com>
373
374 * c-common.c: Use HOST_WIDE_INT_M1U instead of
375 ~(unsigned HOST_WIDE_INT) 0.
376
45648efe 3772016-07-22 Martin Liska <mliska@suse.cz>
378
379 PR gcov-profile/69028
380 PR gcov-profile/62047
381 * cilk.c (create_cilk_helper_decl): Set location of a new decl
382 to the current_function_decl.
383
0c0f63cb 3842016-07-21 Jason Merrill <jason@redhat.com>
385
386 PR c++/65168
387 * c-common.c (c_common_truthvalue_conversion): Check
388 c_inhibit_evaluation_warnings for warning about address of
389 reference.
390
d208f6e6 3912016-07-20 David Malcolm <dmalcolm@redhat.com>
392
393 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
394 const char *.
395
0238e35e 3962016-07-15 Jason Merrill <jason@redhat.com>
397
398 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
399
0dd7db3b 4002016-07-15 Jakub Jelinek <jakub@redhat.com>
401
402 PR c/71858
403 * c-common.h (enum lookup_name_fuzzy_kind): Add
404 FUZZY_LOOKUP_FUNCTION_NAME.
405
e59cff35 4062016-07-08 Jason Merrill <jason@redhat.com>
407
408 P0145: Refining Expression Order for C++.
409 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
410 * c-opts.c: Adjust.
411
faee03ad 4122016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
413
414 PR c++/71214
415 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
416
a4dd89cb 4172016-06-29 Thomas Schwinge <thomas@codesourcery.com>
418
419 * c-pragma.h (enum pragma_kind): Rename
420 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
421 users.
422
b6a4a0f5 4232016-06-29 Richard Biener <rguenther@suse.de>
424
425 PR middle-end/71002
426 * c-common.c (c_common_get_alias_set): Remove union type punning case.
427
176aa551 4282016-06-24 Jason Merrill <jason@redhat.com>
429
430 P0145R2: Refining Expression Order for C++.
431 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
432 MODIFY_EXPR.
433
77104764 4342016-06-24 Jakub Jelinek <jakub@redhat.com>
435
436 * c-common.c (check_builtin_function_arguments): Require last
437 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
438 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
439 if the last argument is pointer to enumerated or boolean type.
440
8469aece 4412016-06-22 David Malcolm <dmalcolm@redhat.com>
442
443 PR c/70339
444 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
445 (lookup_name_fuzzy): New prototype.
446
bd08c370 4472016-06-21 John David Anglin <danglin@gcc.gnu.org>
448
449 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
450
06c75b9a 4512016-06-14 Jason Merrill <jason@redhat.com>
452
453 P0145R2: Refining Expression Order for C++.
454 * c.opt (fargs-in-order): New.
455 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
456
9720103d 4572016-06-13 Jakub Jelinek <jakub@redhat.com>
458
12cb8367 459 PR sanitizer/71498
460 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
461 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
462
9720103d 463 PR preprocessor/71183
464 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
465 to cb_get_source_date_epoch.
466
8ec29807 4672016-06-10 Jakub Jelinek <jakub@redhat.com>
468
469 PR c/68657
470 * c.opt (Wpsabi): Add Warning flag.
471
1dc4d519 4722016-06-10 Martin Sebor <msebor@redhat.com>
473
474 PR c/71392
475 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
476 the nonnull attribute in type-generic builtins.
477
23b101c5 4782016-06-09 Martin Sebor <msebor@redhat.com>
479
480 PR c/70883
481 * c-common.c (builtin_function_validate_nargs): Make text of error
482 message consistent with others like it.
483
732905bb 4842016-06-08 Martin Sebor <msebor@redhat.com>
485 Jakub Jelinek <jakub@redhat.com>
486
487 PR c++/70507
488 PR c/68120
489 * c-common.c (check_builtin_function_arguments): Handle
490 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
491
86a5f91c 4922016-06-08 Richard Biener <rguenther@suse.de>
493
494 * c-common.c (parse_optimize_options): Improve diagnostic messages.
495
b032c4dd 4962016-06-07 Richard Biener <rguenther@suse.de>
497
498 PR c/61564
499 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
500 options and warn about others.
501
dfa5c0d3 5022016-06-01 Eduard Sanou <dhole@openmailbox.org>
503
504 * c-common.c (get_source_date_epoch): Rename to
505 cb_get_source_date_epoch.
506 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
507 message when the parsing fails. Use error_at instead of fatal_error.
508 * c-common.h (get_source_date_epoch): Rename to
509 cb_get_source_date_epoch.
510 * c-common.h (cb_get_source_date_epoch): Prototype.
511 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
512 * c-common.h (c_omp_region_type): Remove trailing comma.
513 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
514 * c-lex.c (c_lex_with_flags): Remove initialization of
515 pfile->source_date_epoch.
516
b6431756 5172016-05-30 Jakub Jelinek <jakub@redhat.com>
518
519 PR c++/71349
520 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
521 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
522 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
523 instead of C_OMP_CLAUSE_SPLIT_FOR.
524
7345b977 5252016-05-24 Richard Biener <rguenther@suse.de>
526
527 PR middle-end/70434
528 PR c/69504
529 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
530 (convert_vector_to_array_for_subscript): ... this.
531 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
532 VIEW_CONVERT_EXPR to an array type. Rename to ...
533 (convert_vector_to_array_for_subscript): ... this.
534
22a3f7bd 5352016-05-12 Marek Polacek <polacek@redhat.com>
536
537 PR c/70756
538 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
539 size_in_bytes and pass LOC to it.
540
54c4d22e 5412016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
542
543 PR c/43651
544 * c.opt (Wduplicate-decl-specifier): New option.
545
7f8012a5 5462016-05-11 Marek Polacek <polacek@redhat.com>
547
548 PR c++/71024
549 * c-common.c (diagnose_mismatched_attributes): New function.
550 * c-common.h (diagnose_mismatched_attributes): Declare.
551
1d52c456 5522016-05-04 Marek Polacek <polacek@redhat.com>
553
554 * c.opt (Wdangling-else): New option.
555
5d4db8ef 5562016-05-03 Marek Polacek <polacek@redhat.com>
557
558 PR c/70859
559 * c-common.c (builtin_function_validate_nargs): Add location
560 parameter. Use it.
561 (check_builtin_function_arguments): Add location and arguments
562 parameters. Use them.
563 * c-common.h (check_builtin_function_arguments): Update declaration.
564
9ae1b28a 5652016-05-03 Richard Biener <rguenther@suse.de>
566
567 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
568 allow call args to gimplify to SSA names.
569
4341e093 5702016-05-03 Marek Polacek <polacek@redhat.com>
571
572 * c-common.h (enum c_omp_region_type): Remove stray comma.
573
b5e88f74 5742016-05-02 Cesar Philippidis <cesar@codesourcery.com>
575
576 * c-common.h (enum c_omp_region_type): Define.
577
ee31dd3d 5782016-05-02 Richard Sandiford <richard.sandiford@arm.com>
579
580 * c-common.c (shorten_compare): Use wi::to_wide.
581
4d0a8bac 5822016-04-29 Cesar Philippidis <cesar@codesourcery.com>
583
584 PR middle-end/70626
585 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
586 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
587 reduction clauses in acc parallel loops.
588
025dd1e0 5892016-04-29 Marek Polacek <polacek@redhat.com>
590
591 PR c/70852
592 * c-common.c (warn_for_memset): Check domain before accessing it.
593
eb16928e 5942016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
595
596 PR/69089
597 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
598 "aligned" attribute.
599
ddd2a3d4 6002016-04-28 Jason Merrill <jason@redhat.com>
601
602 * c-lex.c (c_common_has_attribute): Handle nodiscard.
603
e3e8c48c 6042016-04-28 Eduard Sanou <dhole@openmailbox.org>
605 Matthias Klose <doko@debian.org>
606
607 * c-common.c (get_source_date_epoch): New function, gets the environment
608 variable SOURCE_DATE_EPOCH and parses it as long long with error
609 handling.
610 * c-common.h (get_source_date_epoch): Prototype.
611 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
612
605a4556 6132015-04-27 Ryan Burn <contact@rnburn.com>
614
615 PR c++/69024
616 PR c++/68997
617 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
618 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
619 external linkage.
620 (cilk_detect_and_unwrap): Corresponding changes.
621 (extract_free_variables): Don't extract free variables from
622 AGGR_INIT_EXPR slot.
623 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
624 (cilk_recognize_spawn): Likewise.
625
40385231 6262016-04-27 Bernd Schmidt <bschmidt@redhat.com>
627
628 * c.opt (Wmemset-elt-size): New option.
629 * c-common.c (warn_for_memset): New function.
630 * c-common.h (warn_for_memset): Declare.
631
f5d49c14 6322016-04-25 Jason Merrill <jason@redhat.com>
633
634 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
635 No longer static.
636 * c-common.h: Declare it.
637 * c-lex.c (c_common_has_attribute): Add maybe_unused.
638
9c980ab5 6392016-04-22 Jason Merrill <jason@redhat.com>
640
641 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
642
70574e60 6432016-04-20 Ilya Verbin <ilya.verbin@intel.com>
644
645 PR c++/69363
646 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
647 * c-common.h (c_finish_cilk_clauses): Remove declaration.
648
5d4b30ea 6492016-04-18 Michael Matz <matz@suse.de>
650
651 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
652 and SET_DECL_ALIGN.
653
021ad2f3 6542016-04-17 Eric Botcazou <ebotcazou@adacore.com>
655
656 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
657 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
658 to incomplete types.
659 (dump_nested_type): Remove redundant tests and tidy up.
660 (print_ada_declaration): Also set TREE_VISITED on the declaration of
661 a type which is the typedef of an original type.
662
926f9422 6632016-04-15 Marek Polacek <polacek@redhat.com>
664
665 PR c/70651
666 * c-common.c (build_va_arg): Change two asserts into errors and return
667 error_mark_node.
668
92c53257 6692016-04-13 Marek Polacek <polacek@redhat.com>
670
671 PR c++/70639
672 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
673 for switch statements, too.
674
a3ae889f 6752016-03-28 Jason Merrill <jason@redhat.com>
676
677 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
678
62d2a6dc 6792016-03-23 Marek Polacek <polacek@redhat.com>
680
681 PR c++/69884
682 * c.opt (Wignored-attributes): New option.
683
4baec9f2 6842016-03-22 David Malcolm <dmalcolm@redhat.com>
685
686 PR c/69993
687 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
688 diagnostic text, reversing the order of the warning and note so
689 that they appear in source order.
690
92e7ab1e 6912016-03-17 Marek Polacek <polacek@redhat.com>
692
693 PR c/69407
694 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
695 operations.
696
6f895832 6972016-03-14 Jason Merrill <jason@redhat.com>
698
14c36b14 699 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
700
6f895832 701 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
702
42bb3bfb 7032016-03-09 Richard Biener <rguenther@suse.de>
704
705 PR c/70143
706 * c-common.c (strict_aliasing_warning): Add back
707 alias_sets_conflict_p check.
708
3556aa80 7092016-03-08 Jason Merrill <jason@redhat.com>
710
711 * c-opts.c (set_std_cxx1z): Don't enable concepts.
712
0060768a 7132016-03-04 David Malcolm <dmalcolm@redhat.com>
714
715 PR c/68187
716 * c-indentation.c (get_visual_column): Move code to determine next
717 tab stop to...
718 (next_tab_stop): ...this new function.
719 (line_contains_hash_if): Delete function.
720 (detect_preprocessor_logic): Delete function.
721 (get_first_nws_vis_column): New function.
722 (detect_intervening_unindent): New function.
723 (should_warn_for_misleading_indentation): Replace call to
724 detect_preprocessor_logic with a call to
725 detect_intervening_unindent.
726
74c6fd40 7272016-03-04 David Malcolm <dmalcolm@redhat.com>
728
729 PR c/68187
730 * c-indentation.c (should_warn_for_misleading_indentation): When
731 suppressing warnings about cases where the guard and body are on
732 the same column, only use the first non-whitespace column in place
733 of the guard token column when dealing with "else" clauses.
734 When rejecting aligned BODY and NEXT, loosen the requirement
735 from equality with the first non-whitespace of guard to simply
736 that they not be indented relative to it.
737
e692d332 7382016-03-04 Richard Biener <rguenther@suse.de>
739
740 PR c++/70054
741 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
742 instead of alias_sets_conflict_p.
743
12cc1225 7442016-03-01 Marek Polacek <polacek@redhat.com>
745
746 PR c++/69795
747 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
748 any DECL.
749
8c38d887 7502016-02-22 Martin Sebor <msebor@redhat.com>
751
752 PR middle-end/69780
753 * c-common.c (check_builtin_function_arguments): Validate and
754 reject invalid arguments to __builtin_alloca_with_align.
755
e53f41d5 7562016-02-20 Mark Wielaard <mjw@redhat.com>
757
758 PR c/28901
759 * c.opt (Wunused-const-variable): Turn into Alias for...
760 (Wunused-const-variable=): New option.
761
9cce8384 7622016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
763
764 PR c++/69865
765 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
766 here...
767 (c_common_init_options): ...to here.
768 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
769
563d5cb8 7702016-02-19 Jakub Jelinek <jakub@redhat.com>
771
772 PR c++/69826
773 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
774 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
775 flag_preprocess_only.
776
7675e968 7772016-02-16 Jakub Jelinek <jakub@redhat.com>
778
779 PR c/69835
780 * c.opt (Wnonnull-compare): Enable for -Wall.
781
77454e6e 7822016-02-15 Jakub Jelinek <jakub@redhat.com>
783
784 PR c++/69797
785 * c-common.c (sync_resolve_size): Diagnose too few arguments
786 even when params is non-NULL empty vector.
787
600695e0 7882016-02-08 Bernd Schmidt <bschmidt@redhat.com>
789
790 PR target/60410
791 * c.opt (fshort-double): Remove.
792
a7cc1f94 7932016-02-05 Martin Sebor <msebor@redhat.com>
794
795 PR c++/69662
796 * c.opt (Warning options): Update -Wplacement-new to take
797 an optional argument.
798
6f13b088 7992016-02-01 Jakub Jelinek <jakub@redhat.com>
800
801 PR preprocessor/69543
802 PR c/69558
803 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
804 instead of loc to control_warning_option.
805
948eee2f 8062016-02-01 Nathan Sidwell <nathan@codesourcery.com>
807
808 * c.opt (fopenacc-dim=): New option.
809
5fa82c11 8102016-01-27 Ryan Burn <contact@rnburn.com>
811
812 PR cilkplus/69267
813 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
814 gimplify_arg. Removed superfluous post_p argument.
815 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
816 superfluous post_p argument.
817 * c-gimplify.c (c_gimplify_expr): Likewise.
818
3752e5b1 8192016-01-26 David Malcolm <dmalcolm@redhat.com>
820
821 PR other/69006
822 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
823 pp_newline_and_flush with pp_flush.
824
bbbbe8ab 8252016-01-20 Martin Sebor <msebor@redhat.com>
826
827 PR c/69405
828 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
829 an incompatible argument when the argument isn't a valid tree node.
830
f6dfb86a 8312016-01-18 Jason Merrill <jason@redhat.com>
832
833 PR c++/68767
834 * c-common.c (check_function_arguments_recurse): Fold the whole
835 COND_EXPR, not just the condition.
836
f672c103 8372016-01-18 Tom de Vries <tom@codesourcery.com>
838
839 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
840 classify as loop clause.
841
c8ef893c 8422016-01-15 Jakub Jelinek <jakub@redhat.com>
843
844 PR bootstrap/68271
845 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
846 C++ FE no longer has limit on number of pragmas.
847
8482015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 849
850 PR c++/69048
851 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 852 to add missing cleanup point.
7d600da5 853
a7ed4583 8542016-01-14 David Malcolm <dmalcolm@redhat.com>
855
856 PR c++/68819
857 * c-indentation.c (get_visual_column): Add location_t param.
858 Handle the column number being zero by effectively disabling the
859 warning, with an "inform".
860 (should_warn_for_misleading_indentation): Add location_t argument
861 for all uses of get_visual_column.
862
b933e511 8632016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
864
865 PR c++/69029
866 * c-indentation.c (should_warn_for_misleading_indentation):
867 Don't warn about do-while statements.
868
517906ff 8692016-01-07 Martin Sebor <msebor@redhat.com>
870
871 PR c/68966
872 * c-common.c (sync_resolve_size): Reject first argument when it's
873 a pointer to _Bool.
874
d42aa619 8752016-01-05 David Malcolm <dmalcolm@redhat.com>
876
877 PR c/69122
878 * c-indentation.c (get_visual_column): Remove default argument.
879 (should_warn_for_misleading_indentation): For the multiline case,
880 update call to get_visual_column for next_stmt_exploc so that it
881 captures the location of the first non-whitespace character in the
882 relevant line. Don't issue warnings if there is non-whitespace
883 before the next statement.
884
f1717362 8852016-01-04 Jakub Jelinek <jakub@redhat.com>
886
887 Update copyright years.
888
c0bf500c 8892015-12-21 David Malcolm <dmalcolm@redhat.com>
890
891 * c-common.c (binary_op_error): Convert first param from
892 location_t to rich_location * and use it when emitting an error.
893 * c-common.h (binary_op_error): Convert first param from
894 location_t to rich_location *.
895
dbd79382 8962015-12-16 David Malcolm <dmalcolm@redhat.com>
897
898 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
899 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
900
c0998828 9012015-12-15 Ilya Verbin <ilya.verbin@intel.com>
902
903 * c-common.c (c_common_attribute_table): Handle "omp declare target
904 link" attribute.
905
7ca909c6 9062015-12-14 Jakub Jelinek <jakub@redhat.com>
907
908 PR c/68833
909 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
910
d9102cbe 9112014-12-12 Tobias Burnus <burnus@net-b.de>
912
913 PR fortran/68815
914 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
915 specifiers (%d, %i,%u and %c).
916
a515ebdf 9172015-12-10 David Malcolm <dmalcolm@redhat.com>
918
919 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
920
31ba81bd 9212015-12-08 Jakub Jelinek <jakub@redhat.com>
922
923 PR c/48088
924 PR c/68657
925 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
926 * c-pragma.c (handle_pragma_diagnostic): Adjust
927 control_warning_option caller.
928
d0f713f4 9292015-12-07 David Malcolm <dmalcolm@redhat.com>
930
931 * c-common.c (c_cpp_error): Update for change to
932 rich_location::set_range.
933
32d050b5 9342015-12-04 Paolo Bonzini <bonzini@gnu.org>
935
936 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
937 shifting 1 out of the sign bit.
938
9392015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
940
941 * c-common.c (c_common_attribute_table[]): Update max arguments
942 count for "simd" attribute.
943 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
944
6a8fbd7a 9452015-12-03 Jakub Jelinek <jakub@redhat.com>
946
947 PR preprocessor/57580
948 * c-ppoutput.c (print): Change printed field to bool.
949 Move src_file last for smaller padding.
950 (init_pp_output): Set print.printed to false instead of 0.
951 (scan_translation_unit): Fix up formatting. Set print.printed
952 to true after printing something other than newline.
953 (scan_translation_unit_trad): Set print.printed to true instead of 1.
954 (maybe_print_line_1): Set print.printed to false instead of 0.
955 (print_line_1): Likewise.
956 (do_line_change): Set print.printed to true instead of 1.
957 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
958 dump_macro): Set print.printed to false after printing newline.
959
da562e32 9602015-12-02 Jason Merrill <jason@redhat.com>
961
9c691dbd 962 * c-common.c (fold_for_warn): New.
963 (warn_logical_operator, warn_tautological_cmp)
964 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
965
da562e32 966 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
967 (c_fully_fold_internal, decl_constant_value_for_optimization):
968 Move to c/c-fold.c.
969 * c-common.h: Don't declare decl_constant_value_for_optimization.
970
89f16034 9712015-12-02 Joseph Myers <joseph@codesourcery.com>
972
973 PR c/68162
974 * c-common.h (c_build_qualified_type): Add extra default
975 arguments.
976
571b3486 9772015-12-01 Julian Brown <julian@codesourcery.com>
978 Cesar Philippidis <cesar@codesourcery.com>
979 James Norris <James_Norris@mentor.com>
980
981 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
982 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
983 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
984
ed92a461 9852015-11-30 Eric Botcazou <ebotcazou@adacore.com>
986
987 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
988 (decl_sloc_common): Delete and move bulk of processing to...
989 (decl_sloc): ...here.
990 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
991 (dump_ada_double_name): Remove S parameter and compute the suffix.
992 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
993 element type and deal with an anonymous one.
994 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
995 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
996 and remove reference to QUAL_UNION_TYPE.
997 (dump_nested_types): Make 2 passes on the fields and move bulk to...
998 (dump_nested_type): ...here. New function extracted from above.
999 Generate a full declaration for anonymous element type of arrays.
1000 (print_ada_declaration): Really skip anonymous declarations. Remove
1001 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1002 Clean up processing of declarations of array types and objects.
1003 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1004 Remove obsolete code and tidy up.
1005
c25b3e3f 10062015-11-29 Jan Hubicka <hubicka@ucw.cz>
1007
1008 PR c/67581
1009 * c-common.c (handle_transparent_union_attribute): Update
1010 also type variants.
1011
d4e328e9 10122015-11-27 Martin Liska <mliska@suse.cz>
1013
1014 PR c++/68312
1015 * array-notation-common.c (cilkplus_extract_an_triplets):
1016 Release vector of vectors.
1017 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1018
f63d9c4e 10192015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1020
1021 PR c++/68527
1022 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1023 (print_ada_struct_decl): Likewise.
1024
8d63c601 10252015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1026
1027 PR c++/68001
1028 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1029 * cilk.c (recognize_spawn): Determine location in a more precise
1030 way.
1031
01f11119 10322015-11-19 Jason Merrill <jason@redhat.com>
1033
1034 * c-common.c (shorten_compare): But look through macros from
1035 system headers.
1036
2d3d3af7 10372015-11-18 Jason Merrill <jason@redhat.com>
1038
1039 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1040 non-constant operand comes from a macro.
1041
7991eeee 10422015-11-17 Jason Merrill <jason@redhat.com>
1043
1044 PR bootstrap/68346
1045 * c-common.c (warn_tautological_cmp): Fold before checking for
1046 constants.
1047
73f67931 10482015-11-16 Marek Polacek <polacek@redhat.com>
1049
1050 PR c++/68362
1051 * c-common.c (check_case_bounds): Fold low and high cases.
1052
8e539fdc 10532015-11-16 Marek Polacek <polacek@redhat.com>
1054
1055 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1056 * c-common.c (c_common_get_alias_set): Likewise.
1057 (handle_visibility_attribute): Likewise.
1058
c58a4cfd 10592015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1060
1061 * c-common.c (handle_simd_attribute): New.
1062 (struct attribute_spec): Add entry for "simd".
1063 (handle_simd_attribute): New.
1064
bb036391 10652015-11-13 Kai Tietz <ktietz70@googlemail.com>
1066
1067 * c-lex.c (interpret_float): Use fold_convert.
1068
a96cefb2 10692015-11-13 David Malcolm <dmalcolm@redhat.com>
1070
1071 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1072 and store it on the result.
1073 * c-opts.c (c_common_init_options): Set
1074 global_dc->colorize_source_p.
1075
2fc5e987 10762015-11-12 James Norris <jnorris@codesourcery.com>
1077 Joseph Myers <joseph@codesourcery.com>
1078
1079 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1080 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1081 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1082 PRAGMA_OACC_CLAUSE_LINK.
1083
81b1b2a8 10842015-11-11 Marek Polacek <polacek@redhat.com>
1085
1086 PR c/68107
1087 PR c++/68266
1088 * c-common.c (valid_array_size_p): New function.
1089 * c-common.h (valid_array_size_p): Declare.
1090
92a44a68 10912015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 1092
1093 PR bootstrap/68271
1094 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1095
6e803544 10962015-11-11 Andrew MacLeod <amacleod@redhat.com>
1097
1098 * array-notation-common.c: Remove unused header files.
1099 * c-ada-spec.c: Likewise.
1100 * c-cilkplus.c: Likewise.
1101 * c-common.c: Likewise.
1102 * c-cppbuiltin.c: Likewise.
1103 * c-dump.c: Likewise.
1104 * c-format.c: Likewise.
1105 * c-gimplify.c: Likewise.
1106 * c-indentation.c: Likewise.
1107 * c-lex.c: Likewise.
1108 * c-omp.c: Likewise.
1109 * c-opts.c: Likewise.
1110 * c-pch.c: Likewise.
1111 * c-ppoutput.c: Likewise.
1112 * c-pragma.c: Likewise.
1113 * c-pretty-print.c: Likewise.
1114 * c-semantics.c: Likewise.
1115 * c-ubsan.c: Likewise.
1116 * cilk.c: Likewise.
1117 * stub-objc.c: Likewise.
1118
a1b7fe4b 11192015-11-09 Thomas Schwinge <thomas@codesourcery.com>
1120 Cesar Philippidis <cesar@codesourcery.com>
1121 James Norris <jnorris@codesourcery.com>
1122 Julian Brown <julian@codesourcery.com>
1123 Nathan Sidwell <nathan@codesourcery.com>
1124
1125 * c-pragma.c (oacc_pragmas): Add "routine".
1126 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
1127
292237f3 11282015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1129
1130 * c-common.c (c_common_attributes): Add scalar_storage_order.
1131 (handle_scalar_storage_order_attribute): New function.
1132 * c-pragma.c (global_sso): New variable.
1133 (maybe_apply_pragma_scalar_storage_order): New function.
1134 (handle_pragma_scalar_storage_order): Likewise.
1135 (init_pragma): Register scalar_storage_order.
1136 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
1137 * c.opt (Wscalar-storage-order): New warning.
1138 (fsso-struct=): New option.
1139
b4a4c5fa 11402015-11-08 Martin Sebor <msebor@redhat.com>
1141
1142 * c.opt (Wplacement-new): Add a period to the end of a sentence.
1143
ac677063 11442015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1145
1146 * c-common.c: Don't undef DEF_BUILTIN.
1147
f0479000 11482015-11-06 David Malcolm <dmalcolm@redhat.com>
1149
1150 * c-common.c (c_cpp_error): Convert parameter from location_t to
1151 rich_location *. Eliminate the "column_override" parameter and
1152 the call to diagnostic_override_column.
1153 Update the "done_lexing" clause to set range 0
1154 on the rich_location, rather than overwriting a location_t.
1155 * c-common.h (c_cpp_error): Convert parameter from location_t to
1156 rich_location *. Eliminate the "column_override" parameter.
1157
ef014f95 11582015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1159 Thomas Schwinge <thomas@codesourcery.com>
1160 James Norris <jnorris@codesourcery.com>
1161
1162 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
1163 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
1164 clauses with parallel and kernels and loops.
1165 * c-pragma.h (enum pragma_omp_clause): Add entries for
1166 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
1167 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
1168 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
1169 INDEPENDENT,SEQ}.
1170 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
1171
e520488c 11722015-11-05 Martin Sebor <msebor@redhat.com>
1173
1174 PR c++/67942
1175 * c.opt (-Wplacement-new): New option.
1176
9561765e 11772015-11-05 Jakub Jelinek <jakub@redhat.com>
1178
1179 * c-common.h (c_finish_omp_atomic): Add TEST argument.
1180 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
1181 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
1182 save_expr or create_tmp_var* if TEST is true.
1183 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
1184 Don't call add_stmt here.
1185 (struct c_omp_check_loop_iv_data): New type.
1186 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
1187 c_omp_check_loop_iv_exprs): New functions.
1188 (c_omp_split_clauses): Adjust for lastprivate being allowed on
1189 distribute.
1190 (c_omp_declare_simd_clauses_to_numbers): Change
1191 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
1192 (c_omp_declare_simd_clauses_to_decls): Similarly change those
1193 from numbers to PARM_DECLs.
1194
5e8689fb 11952015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1196
1197 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
1198 flag_checking.
1199
92a44a68 12002015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 1201
1202 PR c++-common/67882
32d050b5 1203 * c-common.h (fold_offsetof_1): Add argument.
1204 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 1205 offsetof expressions that reference elements past the end of
1206 an array.
1207
9e10bfb7 12082015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1209 Chung-Lin Tang <cltang@codesourcery.com>
1210
1211 * c-pragma.c (oacc_pragmas): Add "atomic".
1212 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
1213
ab50af2a 12142015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1215
1216 * c-common.c (handle_target_clones_attribute): New.
1217 (c_common_attribute_table): Add handle_target_clones_attribute.
1218 (handle_always_inline_attribute): Add check on target_clones attribute.
1219 (handle_target_attribute): Ditto.
1220
4cba6f60 12212015-10-29 Andrew MacLeod <amacleod@redhat.com>
1222
1223 * array-notation-common.c: Reorder #include's and remove duplicates.
1224 * c-ada-spec.c: Likewise.
1225 * c-cilkplus.c: Likewise.
1226 * c-common.c: Likewise.
1227 * c-cppbuiltin.c: Likewise.
1228 * c-dump.c: Likewise.
1229 * c-format.c: Likewise.
1230 * c-gimplify.c: Likewise.
1231 * c-indentation.c: Likewise.
1232 * c-lex.c: Likewise.
1233 * c-omp.c: Likewise.
1234 * c-opts.c: Likewise.
1235 * c-pch.c: Likewise.
1236 * c-ppoutput.c: Likewise.
1237 * c-pragma.c: Likewise.
1238 * c-pretty-print.c: Likewise.
1239 * c-semantics.c: Likewise.
1240 * c-ubsan.c: Likewise.
1241 * cilk.c: Likewise.
1242 * stub-objc.c: Likewise.
1243
f576a2e4 12442015-10-28 Jason Merrill <jason@redhat.com>
1245
1246 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
1247
2c4c8725 12482015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1249 James Norris <jnorris@codesourcery.com>
1250 Cesar Philippidis <cesar@codesourcery.com>
1251
1252 PR c/64765
1253 PR c/64880
1254 * c-common.h (c_oacc_split_loop_clauses): Declare function.
1255 * c-omp.c (c_oacc_split_loop_clauses): New function.
1256
8204c077 12572015-10-21 Martin Sebor <msebor@redhat.com>
1258
1259 PR driver/68043
1260 * c.opt: End each sentence that describes an option with a period.
1261
8523243e 12622015-10-20 Marek Polacek <polacek@redhat.com>
1263
1264 * array-notation-common.c (is_cilkplus_vector_p): Define.
1265 * c-common.h (is_cilkplus_vector_p): Declare.
1266
08881cb8 12672015-10-20 Marek Polacek <polacek@redhat.com>
1268
1269 * c.opt (std=gnu++11): Do not describe as experimental.
1270 (std=gnu++14): Likewise.
1271
a36e5e5e 12722015-10-19 Jason Merrill <jason@redhat.com>
1273
1274 * c-cppbuiltin.c (c_cpp_builtins): Define
1275 __cpp_nontype_template_args.
1276
a349de0a 12772015-10-19 Jason Merrill <jason@redhat.com>
1278
1279 * c-cppbuiltin.c (c_cpp_builtins): Define
1280 __cpp_enumerator_attributes, __cpp_fold_expressions,
1281 __cpp_unicode_characters.
1282
43895be5 12832015-10-13 Jakub Jelinek <jakub@redhat.com>
1284 Aldy Hernandez <aldyh@redhat.com>
1285
1286 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
1287 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
1288 (c_define_builtins): Likewise.
1289 * c-common.h (enum c_omp_clause_split): Add
1290 C_OMP_CLAUSE_SPLIT_TASKLOOP.
1291 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
1292 (c_finish_omp_for): Add ORIG_DECLV argument.
1293 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
1294 201511 instead of 201307.
1295 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
1296 OMP_CRITICAL_CLAUSES to it.
1297 (c_finish_omp_ordered): Add CLAUSES argument, set
1298 OMP_ORDERED_CLAUSES to it.
1299 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
1300 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
1301 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
1302 constructs and new OpenMP 4.5 clauses. Clear
1303 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
1304 verification code.
1305 * c-pragma.c (omp_pragmas_simd): Add taskloop.
1306 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
1307 (enum pragma_omp_clause): Add
1308 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
1309 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
1310
20cb53c9 13112015-10-05 Richard Sandiford <richard.sandiford@arm.com>
1312
1313 * c-lex.c (interpret_float): Use real_equal instead of
1314 REAL_VALUES_EQUAL.
1315
6d02e6b2 13162015-10-04 Jason Merrill <jason@redhat.com>
1317
1318 Implement N4514, C++ Extensions for Transactional Memory.
1319 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
1320 (c_common_attribute_table): Add transaction_safe_dynamic.
1321 transaction_safe now affects type identity.
1322 (handle_tm_attribute): Handle transaction_safe_dynamic.
1323 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
1324 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
1325 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
1326 (D_TRANSMEM): New.
1327 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
1328 * c-pretty-print.c (pp_c_attributes_display): Don't print
1329 transaction_safe in C++.
1330
c0999a5d 13312015-10-02 Marek Polacek <polacek@redhat.com>
1332
1333 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
1334
ef17a71a 13352015-10-02 Marek Polacek <polacek@redhat.com>
1336
1337 PR c/64249
1338 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
1339 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
1340 * c.opt (Wduplicated-cond): New option.
1341
05b84e7b 13422015-10-01 Joseph Myers <joseph@codesourcery.com>
1343
1344 * c.opt (std=c11): Do not describe as experimental.
1345 (std=gnu11): Likewise.
1346 (std=iso9899:2011): Likewise.
1347
e561d5e1 13482015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1349
1350 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
1351 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1352
bd4b90d2 13532015-09-25 Marek Polacek <polacek@redhat.com>
1354
1355 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
1356 (ubsan_instrument_shift): Likewise.
1357
ac13b2b2 13582015-09-25 Marek Polacek <polacek@redhat.com>
1359
1360 PR sanitizer/64906
1361 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
1362
a3c82f4c 13632015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
1364
1365 * c-indentation.c (should_warn_for_misleading_indentation):
1366 Compare next_stmt_vis_column with guard_line_first_nws instead
1367 of with guard_line_vis_column.
1368
5eef101d 13692015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1370
1371 PR c/49654
1372 PR c/49655
1373 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
1374 options and options not valid for the current language.
1375
60897493 13762015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
1377
1378 * c-indentation.c (should_warn_for_misleading_indentation):
1379 Float out and consolidate the calls to get_visual_column that
1380 are passed guard_exploc as an argument. Compare
1381 next_stmt_vis_column with guard_line_first_nws instead of with
1382 body_line_first_nws.
1383
85c93154 13842015-09-22 Nathan Sidwell <nathan@codesourcery.com>
1385
1386 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
1387 Wnamespaces): New C++ warnings.
1388
229a58b1 13892015-09-22 Jason Merrill <jason@redhat.com>
1390
1391 * c-common.h (abi_compat_version_crosses): New.
1392 (warn_abi_version): Declare.
1393 * c-common.c: Define it.
1394 * c-opts.c (c_common_post_options): Handle it.
1395 flag_abi_compat_version defaults to 8.
1396
2d2de569 13972015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1398
1399 Complete the implementation of N4230, Nested namespace definition.
1400 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
1401 __cpp_nested_namespace_definitions.
1402
2b897e68 14032015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1404
1405 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
1406
ed536208 14072015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1408
1409 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
1410 when warning.
1411 * c-pragma.h (pragma_lex): Add optional loc argument.
1412
1dc6c44d 14132015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
1414
1415 * c-format.c (check_format_arg): Adjust to use common block size in all
1416 object pools.
1417
be812248 14182015-09-15 David Malcolm <dmalcolm@redhat.com>
1419
1420 * c-format.c (location_from_offset): Update for change in
1421 signature of location_get_source_line.
1422 * c-indentation.c (get_visual_column): Likewise.
1423 (line_contains_hash_if): Likewise.
1424
e4cc057f 14252015-09-14 Marek Polacek <polacek@redhat.com>
1426
1427 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
1428 setting various warnings.
1429
85f5e2ee 14302015-09-14 Marek Polacek <polacek@redhat.com>
1431
1432 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
1433 a negative value.
1434
1bca8cbd 14352015-09-11 Mark Wielaard <mjw@redhat.com>
1436
1437 PR c/28901
1438 * c.opt (Wunused-variable): Option from common.opt.
1439 (Wunused-const-variable): New option.
1440
ee48893a 14412015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1442
1443 PR c++/53184
1444 * c.opt ([Wsubobject-linkage]): Add.
1445
547c6b1f 14462015-09-03 Martin Sebor <msebor@redhat.com>
1447
1448 PR c/66516
1449 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
1450 functions.
1451 * c-common.c (reject_gcc_builtin): Define.
1452
7e976b10 14532015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
1454
1455 PR middle-end/60586
1456 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
1457 prototype.
1458 * c-gimplify.c (c_gimplify_expr): Added a call to the function
1459 cilk_gimplify_call_params_in_spawned_fn.
1460 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
1461 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
1462 unwrapping.
1463
9e6bcade 14642015-08-25 Marek Polacek <polacek@redhat.com>
1465
1466 PR middle-end/67330
1467 * c-common.c (handle_weak_attribute): Don't check whether the
1468 visibility can be changed here.
1469
af9de21d 14702015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1471
1472 * c-lex.c (c_lex_with_flags): Use explicit locations.
1473
6dc50383 14742015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1475
1476 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
1477 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
1478
10902624 14792015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1480
1481 PR middle-end/36757
1482 * c-common.c (check_builtin_function_arguments): Add check
1483 for BUILT_IN_SIGNBIT argument.
1484
a03a71ab 14852015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
1486
1487 PR c++/67160
1488 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
1489 in c++1z mode.
1490
22723c26 14912015-08-17 Marek Polacek <polacek@redhat.com>
1492
1493 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
1494 with whitespaces before qualifier names.
1495
f4809955 14962015-08-12 Marek Polacek <polacek@redhat.com>
1497
1498 PR c++/55095
1499 * c-common.c (maybe_warn_shift_overflow): Properly handle
1500 left-shifting 1 into the sign bit.
1501
5463f502 15022015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1503
1504 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
1505
56c12fd4 15062015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
1507 Braden Obrzut <admin@maniacsvault.net>
1508 Jason Merrill <jason@redhat.com>
1509
1510 Add C++ Concepts TS support.
1511 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
1512 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
1513 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
1514 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
1515 * c-opts.c (set_std_cxx1z): Set flag_concepts.
1516 * c.opt (fconcepts): New.
1517
32d050b5 15182015-08-02 Martin Sebor <msebor@redhat.com>
1519
1520 * c.opt (-Wframe-address): New warning option.
1521
17afcef6 15222015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1523
1524 * c-indentation.c (should_warn_for_misleading_indentation):
1525 Improve heuristics.
1526
f95bfdd4 15272015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1528
1529 * c-indentation.c (get_visual_column): Add parameter first_nws,
1530 use it. Update comment documenting the function.
1531 (is_first_nonwhitespace_on_line): Remove.
1532 (should_warn_for_misleading_indentation): Replace usage of
1533 of is_first_nonwhitespace_on_line with get_visual_column.
1534
9255be07 15352015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1536
1537 * c-indentation.h (struct token_indent_info): Define.
1538 (get_token_indent_info): Define.
1539 (warn_for_misleading_information): Declare.
1540 * c-common.h (warn_for_misleading_information): Remove.
1541 * c-identation.c (warn_for_misleading_indentation):
1542 Change declaration to take three token_indent_infos. Adjust
1543 accordingly.
1544 * c-identation.c (should_warn_for_misleading_indentation):
1545 Likewise. Bail out early if the body is a compound statement.
1546 (guard_tinfo_to_string): Define.
1547
e880695c 15482015-07-30 Jason Merrill <jason@redhat.com>
1549
1550 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
1551 '*' for reference decay.
1552
f58dd84b 15532015-07-30 Marek Polacek <polacek@redhat.com>
1554
1555 * c-common.c (warn_tautological_cmp): Bail for float types.
1556
d9e4fe27 15572015-07-27 Marek Polacek <polacek@redhat.com>
1558
1559 PR bootstrap/67030
1560 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
1561
6784a472 15622015-07-27 Marek Polacek <polacek@redhat.com>
1563
1564 PR c++/66555
1565 PR c/54979
1566 * c-common.c (find_array_ref_with_const_idx_r): New function.
1567 (warn_tautological_cmp): New function.
1568 * c-common.h (warn_tautological_cmp): Declare.
1569 * c.opt (Wtautological-compare): New option.
1570
08034975 15712015-07-23 Marek Polacek <polacek@redhat.com>
1572
1573 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
1574 (ubsan_instrument_shift): Likewise.
1575
f6f5e49b 15762015-07-23 Marek Polacek <polacek@redhat.com>
1577
1578 PR sanitizer/66908
1579 * c-ubsan.c: Include gimplify.h.
1580 (ubsan_instrument_division): Unshare OP0 and OP1.
1581 (ubsan_instrument_shift): Likewise.
1582
8d669e79 15832015-07-20 Marek Polacek <polacek@redhat.com>
1584 Richard Sandiford <richard.sandiford@arm.com>
1585
1586 PR c++/55095
1587 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
1588 Use EXPR_LOC_OR_LOC.
1589 (maybe_warn_shift_overflow): New function.
1590 * c-common.h (maybe_warn_shift_overflow): Declare.
1591 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
1592 * c.opt (Wshift-overflow): New option.
1593
e16712b1 15942015-07-16 Martin Liska <mliska@suse.cz>
1595
1596 * c-format.c (static void check_format_info_main): Use
1597 object_allocator instead of pool_allocator.
1598 (check_format_arg): Likewise.
1599 (check_format_info_main): Likewise.
1600
e51764ad 16012015-07-15 Andrew MacLeod <amacleod@redhat.com>
1602
1603 * c-opts.c: Remove multiline #include comment.
1604
47ae02b7 16052015-07-12 Aldy Hernandez <aldyh@redhat.com>
1606
1607 * c-common.c: Fix double word typos.
1608
ed2b2eb2 16092015-07-10 Eric Botcazou <ebotcazou@adacore.com>
1610
1611 * c-ada-spec.h (cpp_operation): Revert latest change.
1612 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
1613 constructors and destructors.
1614
1eacc14a 16152015-07-09 Andrew MacLeod <amacleod@redhat.com>
1616
1617 * c-common.h: Adjust includes for flags.h changes.
1618 * stub-objc.c: Likewise.
47ae02b7 1619
0124237f 16202015-07-08 Eric Botcazou <ebotcazou@adacore.com>
1621
1622 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
1623 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
1624
386ef929 16252015-07-08 Jakub Jelinek <jakub@redhat.com>
1626
1627 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
1628 are to be removed, return NULL rather than original clauses list.
1629
9ef16211 16302015-07-07 Andrew MacLeod <amacleod@redhat.com>
1631
1632 * array-notation-common.c: Adjust includes.
1633 * c-ada-spec.c: Likewise.
1634 * c-cilkplus.c: Likewise.
1635 * c-common.h: Likewise.
1636 * c-cppbuiltin.c: Likewise.
1637 * c-dump.c: Likewise.
1638 * c-format.c: Likewise.
1639 * c-gimplify.c: Likewise.
1640 * c-indentation.c: Likewise.
1641 * c-lex.c: Likewise.
1642 * c-omp.c: Likewise.
1643 * c-opts.c: Likewise.
1644 * c-pch.c: Likewise.
1645 * c-ppoutput.c: Likewise.
1646 * c-pragma.c: Likewise.
1647 * c-pretty-print.c: Likewise.
1648 * c-semantics.c: Likewise.
1649 * c-ubsan.c: Likewise.
1650 * cilk.c: Likewise.
1651 * stub-objc.c: Likewise.
1652
67ede3e4 16532015-07-07 Eric Botcazou <ebotcazou@adacore.com>
1654
1655 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
1656 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
1657
42af8c2a 16582015-07-01 Jason Merrill <jason@redhat.com>
1659
fa769cc5 1660 * c-common.h (D_CXX11): Rename from D_CXX0X.
1661 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
1662 * c-common.c: Adjust.
1663
97e9c847 1664 * c-opts.c (c_common_post_options): Default to C++14.
1665
42af8c2a 1666 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
1667
30b1ba42 16682015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
1669
1670 Implement N4197 - Adding u8 character literals
32d050b5 1671 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 1672 CPP_CHAR.
32d050b5 1673 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 1674 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 1675 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 1676 and CPP_UTF8CHAR tokens.
1677 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 1678
0949f227 16792015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1680
1681 PR fortran/66605
1682 * c-common.c (do_warn_unused_parameter): Move here.
1683 * c-common.h (do_warn_unused_parameter): Declare.
1684
be23b16f 16852015-06-29 Marek Polacek <polacek@redhat.com>
1686
1687 PR c/66322
1688 * c-common.c (check_case_bounds): Add bool * parameter. Set
1689 OUTSIDE_RANGE_P.
1690 (c_add_case_label): Add bool * parameter. Pass it down to
1691 check_case_bounds.
1692 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
1693 warning here.
1694 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
1695 declarations.
1696
6290f0db 16972015-06-27 Marek Polacek <polacek@redhat.com>
1698
1699 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
1700 or VECTOR_INTEGER_TYPE_P throughout.
1701 * c-gimplify.c: Likewise.
1702
aa3e402e 17032015-06-26 Marek Polacek <polacek@redhat.com>
1704
1705 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
1706 * c-common.c (c_fully_fold_internal): Likewise.
1707 (c_alignof_expr): Likewise.
1708 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
1709 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 1710 * cilk.c (create_parm_list): Likewise.
aa3e402e 1711
4e81b384 17122015-06-26 Marek Polacek <polacek@redhat.com>
1713
1714 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
1715
ec2e0095 17162015-06-25 Andrew MacLeod <amacleod@redhat.com>
1717
1718 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
1719 * c-gimplify.c: Likewise.
1720 * c-pragma.c: Likewise.
1721 * c-ubsan.c: Likewise.
1722 * cilk.c: Likewise.
1723
b594087e 17242015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1725
1726 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
1727 ggc_hasher.
1728
a3c76fda 17292015-06-25 Andrew MacLeod <amacleod@redhat.com>
1730
1731 * cilk.c: Move calls.h after tm.h in the include chain.
1732
f48c7f4a 17332015-06-25 Marek Polacek <polacek@redhat.com>
1734
1735 * array-notation-common.c: Use VAR_P throughout.
1736 * c-ada-spec.c: Likewise.
1737 * c-common.c: Likewise.
1738 * c-format.c: Likewise.
1739 * c-gimplify.c: Likewise.
1740 * c-omp.c: Likewise.
1741 * c-pragma.c: Likewise.
1742 * c-pretty-print.c: Likewise.
1743 * cilk.c: Likewise.
1744
ce41e81a 17452015-06-25 Marek Polacek <polacek@redhat.com>
1746
1747 * cilk.c (extract_free_variables): Use is_global_var.
1748
de231ec2 17492015-06-23 Richard Sandiford <richard.sandiford@arm.com>
1750
1751 * c-common.c: Don't include target-def.h.
1752
0200602e 17532015-06-23 Marek Polacek <polacek@redhat.com>
1754
1755 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
1756 when comparing INTEGER_CSTs.
1757
99838ed7 17582015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
1759
1760 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
1761 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
1762 (dump_ada_template): Skip partially specialized types.
1763
a4f59596 17642015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
1765
1766 * c-common.c (scalar_to_vector): Use std::swap instead of manually
1767 swapping.
1768
f2ab3bac 17692015-06-17 Andrew MacLeod <amacleod@redhat.com>
1770
1771 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
1772 * c-ada-spec.c: Likewise.
1773 * c-cilkplus.c: Likewise.
1774 * c-common.c: Likewise.
1775 * c-common.h: Likewise.
1776 * c-cppbuiltin.c: Likewise.
1777 * c-dump.c: Likewise.
1778 * c-format.c: Likewise.
1779 * c-gimplify.c: Likewise.
1780 * c-indentation.c: Likewise.
1781 * c-lex.c: Likewise.
1782 * c-omp.c: Likewise.
1783 * c-opts.c: Likewise.
1784 * c-pch.c: Likewise.
1785 * c-ppoutput.c: Likewise.
1786 * c-pragma.c: Likewise.
1787 * c-pretty-print.c: Likewise.
1788 * c-semantics.c: Likewise.
1789 * c-ubsan.c: Likewise.
1790 * cilk.c: Likewise.
1791 * stub-objc.c: Likewise.
1792
db3d1ffc 17932015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
1794
1795 PR c++/65168
1796 * c-common.c (c_common_truthvalue_conversion): Warn when
1797 converting an address of a reference to a truth value.
1798
64486212 17992015-06-08 Andrew MacLeod <amacleod@redhat.com>
1800
1801 * array-notation-common.c : Adjust include files.
1802 * c-ada-spec.c : Likewise.
1803 * c-cilkplus.c : Likewise.
1804 * c-common.c : Likewise.
1805 * c-common.h : Likewise.
1806 * c-cppbuiltin.c : Likewise.
1807 * c-dump.c : Likewise.
1808 * c-format.c : Likewise.
1809 * c-gimplify.c : Likewise.
1810 * c-indentation.c : Likewise.
1811 * c-lex.c : Likewise.
1812 * c-omp.c : Likewise.
1813 * c-opts.c : Likewise.
1814 * c-pch.c : Likewise.
1815 * c-ppoutput.c : Likewise.
1816 * c-pragma.c : Likewise.
1817 * c-pretty-print.c : Likewise.
1818 * c-semantics.c : Likewise.
1819 * c-ubsan.c : Likewise.
1820 * cilk.c : Likewise.
1821 * stub-objc.c : Likewise.
1822
6e84ccad 18232015-06-08 Marek Polacek <polacek@redhat.com>
1824
1825 PR c/66415
1826 * c-format.c (location_from_offset): Return LOC if LINE is null.
1827
3a1c9df2 18282015-06-05 Aldy Hernandez <aldyh@redhat.com>
1829
1830 * c-common.h (c_parse_final_cleanups): New prototype.
1831 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
1832
32d050b5 18332015-06-04 Sriraman Tallam <tmsriram@google.com>
1834
1835 * c-common.c (noplt): New attribute.
1836 (handle_noplt_attribute): New handler.
1837
f77c0292 18382015-06-04 Andrew MacLeod <amacleod@redhat.com>
1839
1840 * array-notation-common.c: Adjust includes for restructured coretypes.h.
1841 * c-ada-spec.c: Likewise.
1842 * c-cilkplus.c: Likewise.
1843 * c-common.c: Likewise.
1844 * c-common.h: Likewise.
1845 * c-cppbuiltin.c: Likewise.
1846 * c-dump.c: Likewise.
1847 * c-format.c: Likewise.
1848 * c-gimplify.c: Likewise.
1849 * c-indentation.c: Likewise.
1850 * c-lex.c: Likewise.
1851 * c-omp.c: Likewise.
1852 * c-opts.c: Likewise.
1853 * c-pch.c: Likewise.
1854 * c-ppoutput.c: Likewise.
1855 * c-pragma.c: Likewise.
1856 * c-pretty-print.c: Likewise.
1857 * c-semantics.c: Likewise.
1858 * c-ubsan.c: Likewise.
1859 * cilk.c: Likewise.
1860 * stub-objc.c: Likewise.
1861
7c62dfbb 18622015-06-02 David Malcolm <dmalcolm@redhat.com>
1863
1864 PR c/66220:
1865 * c-indentation.c (should_warn_for_misleading_indentation): Use
1866 expand_location rather than expand_location_to_spelling_point.
1867 Don't warn if the guarding statement is more indented than the
1868 next/body stmts.
1869
9af7c176 18702015-06-02 David Malcolm <dmalcolm@redhat.com>
1871
1872 * c-indentation.c (warn_for_misleading_indentation): Bail out
1873 immediately if -Wmisleading-indentation isn't enabled.
1874
eebcf436 18752015-06-01 Martin Liska <mliska@suse.cz>
1876
1877 * c-format.c (check_format_arg):Use new type-based pool allocator.
1878 (check_format_info_main) Likewise.
1879
b0a23e2f 18802015-05-31 Eric Botcazou <ebotcazou@adacore.com>
1881
1882 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
1883 (has_nontrivial_methods): Likewise.
1884
63dc1330 18852015-05-25 Marek Polacek <polacek@redhat.com>
1886
1887 * c-ubsan.c (ubsan_instrument_shift): Use type0.
1888
5a4c69dd 18892015-05-22 Marek Polacek <polacek@redhat.com>
1890
1891 PR c/47043
1892 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
1893
044580bb 18942015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 1895
1896 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
1897 STACK_GROWS_DOWNWARD.
1898
044580bb 18992015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 1900
1901 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
1902 STACK_GROWS_DOWNWARD rather than if it is defined.
1903
d5a2ddc7 19042015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 1905
d5a2ddc7 1906 PR c/52952
1907 * c-format.c (location_column_from_byte_offset): New.
1908 (location_from_offset): New.
1909 (struct format_wanted_type): Add offset_loc field.
1910 (check_format_info): Move handling of location for extra arguments
1911 closer to the point of warning.
1912 (check_format_info_main): Pass the result of location_from_offset
1913 to warning_at.
1914 (format_type_warning): Pass the result of location_from_offset
1915 to warning_at.
1916
72f8014e 19172015-05-20 Marek Polacek <polacek@redhat.com>
1918
1919 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
1920
74efe522 19212015-05-20 Marek Polacek <polacek@redhat.com>
1922
1923 * c-ada-spec.c (dump_sloc): Use DECL_P.
1924
b443c459 19252015-05-20 Marek Polacek <polacek@redhat.com>
1926
1927 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
1928 * c-common.c: Likewise.
1929
551e34da 19302015-05-19 David Malcolm <dmalcolm@redhat.com>
1931
1932 * c-common.h (fe_file_change): Strengthen param from
1933 const line_map * to const line_map_ordinary *.
1934 (pp_file_change): Likewise.
1935 * c-lex.c (fe_file_change): Likewise.
1936 (cb_define): Use linemap_check_ordinary when invoking
1937 SOURCE_LINE.
1938 (cb_undef): Likewise.
1939 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
1940 invoking cb_file_change.
1941 (c_finish_options): Likewise.
1942 (push_command_line_include): Likewise.
1943 (cb_file_change): Strengthen param "new_map" from
1944 const line_map * to const line_map_ordinary *.
1945 * c-ppoutput.c (cb_define): Likewise for local "map".
1946 (pp_file_change): Likewise for param "map" and local "from".
1947
dfcf26a5 19482015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1949
1950 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
1951
2e474820 19522015-05-18 Tom de Vries <tom@codesourcery.com>
1953
1954 * c-common.c (build_va_arg_1): New function.
1955 (build_va_arg): Add address operator to va_list operand if necessary.
1956
e53013a8 19572015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
1958
1959 PR c/48956
1960 * c-common.c (int_safely_convertible_to_real_p): Define.
1961 (unsafe_conversion_p): Check conversions involving complex types.
1962 (conversion_warning): Add new warning message for conversions which
1963 discard imaginary component.
1964 * c-common.h: (enum conversion_safety): Add new enumerator for such
1965 conversions.
1966
aac24642 19672015-05-14 Marek Polacek <polacek@redhat.com>
1968
1969 PR c/66066
1970 PR c/66127
1971 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
1972 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
1973 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
1974 use it. If FOR_INT_CONST, require that all evaluated operands be
1975 INTEGER_CSTs.
1976
e5f01cba 19772015-05-12 David Malcolm <dmalcolm@redhat.com>
1978
1979 * c-common.h (warn_for_misleading_indentation): New prototype.
1980 * c-indentation.c: New file.
1981 * c.opt (Wmisleading-indentation): New option.
1982
c37be9ec 19832015-05-12 Tom de Vries <tom@codesourcery.com>
1984
1985 PR tree-optimization/66010
1986 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
1987
7290114b 19882015-05-09 Jason Merrill <jason@redhat.com>
1989
3c665566 1990 * c-opts.c (c_common_post_options): Also clear
1991 cpp_opts->cpp_warn_cxx11_compat.
1992
d875b9d2 1993 * c-common.h (enum cxx_dialect): Add cxx_unset.
1994 * c-common.c (cxx_dialect): Initialize to cxx_unset.
1995 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
1996
7290114b 1997 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
1998 (std=gnu++0x): Mark as Undocumented.
1999 (std=gnu++1y): Add deprecated message.
2000
1b03cc89 20012015-05-08 Jason Merrill <jason@redhat.com>
2002
1c5f7aba 2003 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2004 * c-opts.c: Adjust.
2005
1b03cc89 2006 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2007
dc5945dc 20082015-05-08 Marek Polacek <polacek@redhat.com>
2009
2010 PR c/64918
2011 * c.opt (Woverride-init-side-effects): New option.
2012
cdc64059 20132015-05-07 Marek Polacek <polacek@redhat.com>
2014
2015 PR c/65179
2016 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2017 negative value.
2018 * c.opt (Wshift-negative-value): New option.
2019 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2020 when -Wextra and C99/C++11 mode.
2021
8cafe283 20222015-05-07 Marek Polacek <polacek@redhat.com>
2023 Martin Uecker <uecker@eecs.berkeley.edu>
2024
2025 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2026 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2027
cb40a6f7 20282015-05-05 Jason Merrill <jason@redhat.com>
2029
2030 * c.opt (Wterminate): New.
2031
14744a16 20322015-04-30 Marek Polacek <polacek@redhat.com>
2033
2034 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2035 require that the non-constant be of a boolean type.
2036
9866562d 20372015-04-29 Josh Triplett <josh@joshtriplett.org>
2038
8cafe283 2039 * c-common.c (handle_section_attribute): Refactor to reduce
2040 nesting and distinguish between error cases.
9866562d 2041
a720ab1c 20422015-04-29 Marek Polacek <polacek@redhat.com>
2043
2044 PR c/64610
2045 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2046 with 0/1.
2047
8c072e52 20482015-04-29 Jakub Jelinek <jakub@redhat.com>
2049
2050 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2051 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2052 HOST_BITS_PER_WIDE_INT.
2053
f7fec1c7 20542015-04-28 Tom de Vries <tom@codesourcery.com>
2055
2056 PR tree-optimization/65887
2057 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2058
483b3d26 20592015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 2060 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 2061
2062 * c-ada-spec.c (in_function): Delete.
2063 (dump_generic_ada_node): Do not change in_function and remove the
2064 redundant code dealing with it.
2065 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2066 (print_ada_methods): Output the static member functions in a nested
2067 package after the regular methods as well as associated renamings.
2068
f11bdffb 20692015-04-24 Marek Polacek <polacek@redhat.com>
2070
2071 PR c/65830
2072 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2073 and OPT_Wshift_count_overflow.
2074
485f6b9c 2075 PR c/63357
2076 * c-common.c (warn_logical_operator): Warn if the operands have the
2077 same expressions.
2078
439606a9 20792015-04-24 Marek Polacek <polacek@redhat.com>
2080
2081 PR c/61534
2082 * c-common.c (warn_logical_operator): Bail if either operand comes
2083 from a macro expansion.
2084
de801c28 20852015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2086
2087 PR target/55143
2088 * c-common.c (c_default_pointer_mode): Add definition.
2089 * c-common.h (c_default_pointer_mode): Add declaration.
2090
76738f56 20912015-03-11 Jakub Jelinek <jakub@redhat.com>
2092
2093 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2094 on record_builtin_type argument.
2095
16f958b3 20962015-03-10 Jakub Jelinek <jakub@redhat.com>
2097
2098 PR c/65120
2099 * c-common.c (warn_logical_not_parentheses): Don't warn for
2100 !x == 0 or !x != 0.
2101
9b22f73f 21022015-03-07 Marek Polacek <polacek@redhat.com>
2103
2104 PR sanitizer/65280
2105 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2106 before trying to figure out whether we have a flexible array member.
2107
a864b7d4 21082015-03-06 Eric Botcazou <ebotcazou@adacore.com>
2109 Jonathan Wakely <jwakely.gcc@gmail.com>
2110
2111 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2112
9bf8c90b 21132015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2114
2115 PR ada/65319
2116 * c-ada-spec.c (print_destructor): Remove obsolete code.
2117
037ac54f 21182015-03-01 Eric Botcazou <ebotcazou@adacore.com>
2119
2120 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
2121 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
2122 DECL_TEMPLATE_RESULT emulations.
2123 (dump_ada_template)): Add guard for TYPE_METHODS.
2124
495cbfb8 21252015-02-27 Marek Polacek <polacek@redhat.com>
2126
2127 PR c/65040
2128 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
2129
688a864e 21302015-02-27 Kai Tietz <ktietz@redhat.com>
2131
2132 PR c/35330
2133 * c-pragma.c (handle_pragma_weak): Do not try to create
2134 weak/alias of declarations not being function, or variable
2135 declarations.
2136
6349b8cc 21372015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2138
2139 PR libgomp/64625
2140 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2141 Remove macros.
2142 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2143
3afd5369 21442015-02-16 Marek Polacek <polacek@redhat.com>
2145
2146 PR c/65066
2147 * c-format.c (check_format_types): Handle null param.
2148
46173d1b 21492015-02-13 Marek Polacek <polacek@redhat.com>
2150
2151 PR c/65040
2152 * c-format.c (check_format_types): Don't warn about different
2153 signedness if the original value is in the range of WANTED_TYPE.
2154
1d524ff7 21552015-02-12 Jason Merrill <jason@redhat.com>
2156
2157 PR c++/64956
2158 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
2159 to the current highest version.
2160 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
2161
bbf8fbec 21622015-02-04 Jakub Jelinek <jakub@redhat.com>
2163
2164 PR c/64824
2165 PR c/64868
2166 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
2167 instead of RDIV_EXPR. Use build_binary_op instead of
2168 build2_loc.
2169
c05be867 21702015-01-30 Joseph Myers <joseph@codesourcery.com>
2171
2172 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
2173 to pass input_location as first argument.
2174
85977647 21752015-01-23 Tom de Vries <tom@codesourcery.com>
2176
2177 PR libgomp/64672
2178 * c.opt (fopenacc): Mark as LTO option.
2179
fa175926 21802015-01-23 Tom de Vries <tom@codesourcery.com>
2181
2182 PR libgomp/64707
2183 * c.opt (fopenmp): Mark as LTO option.
2184
20aad5ba 21852015-01-21 Jakub Jelinek <jakub@redhat.com>
2186
2187 PR c/63307
8204c077 2188 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 2189 (compare_decls): Fix up formatting.
2190
21912015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
2192
2193 PR c/63307
2194 * cilk.c: Include vec.h.
2195 (struct cilk_decls): New structure.
2196 (wrapper_parm_cb): Split this function to...
2197 (fill_decls_vec): ...this...
2198 (create_parm_list): ...and this.
2199 (compare_decls): New function.
2200 (for_local_cb): Remove.
2201 (wrapper_local_cb): Ditto.
2202 (build_wrapper_type): For now first traverse and fill vector of
2203 declarations then sort it and then deal with sorted vector.
2204 (cilk_outline): Ditto.
2205 (declare_one_free_variable): Ditto.
2206
60b77e28 22072015-01-21 Jason Merrill <jason@redhat.com>
2208
2209 PR c++/64629
2210 * c-format.c (check_format_arg): Call decl_constant_value.
2211
85fbea97 22122015-01-19 Martin Liska <mliska@suse.cz>
2213
2214 * c-common.c (handle_noicf_attribute): New function.
2215
ca4c3545 22162015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2217 Bernd Schmidt <bernds@codesourcery.com>
2218 James Norris <jnorris@codesourcery.com>
2219 Cesar Philippidis <cesar@codesourcery.com>
2220 Ilmir Usmanov <i.usmanov@samsung.com>
2221 Jakub Jelinek <jakub@redhat.com>
2222
2223 * c.opt (fopenacc): New option.
2224 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
2225 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2226 New macros.
2227 * c-common.h (c_finish_oacc_wait): New prototype.
2228 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
2229 (c_finish_oacc_wait): New function.
2230 * c-pragma.c (oacc_pragmas): New variable.
2231 (c_pp_lookup_pragma, init_pragma): Handle it.
2232 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
2233 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
2234 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
2235 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
2236 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
2237 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
2238 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
2239 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
2240 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
2241 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
2242 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
2243 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
2244 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
2245 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
2246 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
2247 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
2248 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
2249 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
2250 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
2251 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
2252 PRAGMA_OACC_CLAUSE_WORKER.
2253
92a44a68 22542015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 2255
2256 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
2257 for the new option fstack-protector_explicit.
2258 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
2259 (handle_stack_protect_attribute): New function.
2260
92a44a68 22612015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 2262
2263 * c.opt: New option -Warray-bounds=.
2264
1f78217c 22652015-01-09 Michael Collison <michael.collison@linaro.org>
2266
2267 * array-notation-common.c: Include hash-set.h, machmode.h,
2268 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2269 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
2270 * c-ada-spec.c: Ditto.
2271 * c-cilkplus.c: Ditto.
2272 * c-common.c: Include input.h due to flattening of tree.h.
2273 Define macro GCC_C_COMMON_C.
2274 * c-common.h: Flatten tree.h header files into c-common.h.
2275 Remove include of tree-core.h.
2276 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2277 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2278 fold-const.h, wide-int.h, and inchash.h due to
2279 flattening of tree.h.
2280 * c-dump.c: Ditto.
2281 * c-format.c: Flatten tree.h header files into c-common.h.
2282 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2283 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2284 fold-const.h, wide-int.h, and inchash.h due to
2285 flattening of tree.h.
2286 * c-dump.c: Include hash-set.h, machmode.h,
2287 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2288 fold-const.h, wide-int.h, and inchash.h due to
2289 flattening of tree.h.
2290 * c-format.c: Include hash-set.h, machmode.h,
2291 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2292 fold-const.h, wide-int.h, inchash.h and real.h due to
2293 flattening of tree.h.
2294 * c-gimplify.c: Include hash-set.h, machmode.h,
2295 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2296 fold-const.h, wide-int.h, and inchash.h due to
2297 flattening of tree.h.
2298 * cilk.c: Ditto.
2299 * c-lex.c: Ditto.
2300 * c-omp.c: Ditto.
2301 * c-opts.c: Ditto.
2302 * c-pch.c: Ditto.
2303 * c-ppoutput.c: Ditto.
2304 * c-pragma.c: Ditto.
2305 * c-pretty-print.c: Ditto.
2306 * c-semantics.c: Ditto.
2307 * c-ubsan.c: Ditto.
2308 * stub-objc.c: Ditto.
2309
411b7663 23102015-01-08 Jason Merrill <jason@redhat.com>
2311
2312 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
2313 do_ubsan_in_current_function.
2314 (ubsan_maybe_instrument_reference_or_call): Likewise.
2315 * c-ubsan.h: Declare it.
2316
d1e96383 23172015-01-08 Mike Stump <mikestump@comcast.net>
2318
2319 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
2320
b57910fa 23212015-01-07 Marek Polacek <polacek@redhat.com>
2322
2323 PR c/64440
2324 * c-common.c (c_fully_fold_internal): Warn for division and modulo
2325 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
2326
678a4e3e 23272015-01-05 Trevor Saunders <tsaunders@mozilla.com>
2328
2329 PR c++/31397
2330 * c.opt (Wsuggest-override): New option.
2331
d353bf18 23322015-01-05 Jakub Jelinek <jakub@redhat.com>
2333
2334 Update copyright years.
2335
92b63884 23362015-01-05 Marek Polacek <polacek@redhat.com>
2337
2338 PR c/64423
2339 * c-common.c (warn_array_subscript_with_type_char): Add location_t
2340 parameter. Use it.
2341 * c-common.h (warn_array_subscript_with_type_char): Update
2342 declaration.
2343
83715bc4 23442014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
2345
2346 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
2347 Control macro with flag_sized_deallocation.
2348
92a44a68 23492014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 2350
2351 * c.opt (Wdiscarded-array-qualifiers): New option.
2352
33058239 23532014-12-19 Jakub Jelinek <jakub@redhat.com>
2354
2355 PR preprocessor/63831
2356 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
2357 and __has_cpp_attribute here.
2358 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
2359 c_common_has_attribute.
2360 * c-common.h (c_common_has_attribute): New prototype.
2361 * c-lex.c (init_c_lex): Set cb->has_attribute to
2362 c_common_has_attribute instead of cb_has_attribute.
2363 (get_token_no_padding): New function.
2364 (cb_has_attribute): Renamed to ...
2365 (c_common_has_attribute): ... this. No longer static. Use
2366 get_token_no_padding, require ()s, don't build TREE_LIST
2367 unnecessarily, fix up formatting, adjust diagnostics, call
2368 init_attributes.
2369
d1856d2c 23702014-12-15 Jason Merrill <jason@redhat.com>
2371
2372 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
2373 (-Wsized-deallocation): New.
2374 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
2375 to on in C++14 and up.
2376
4972ed5d 23772014-12-11 Jason Merrill <jason@redhat.com>
2378
7d7fa964 2379 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
2380
4972ed5d 2381 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
2382 we aren't complaining about VLAs.
2383
5ebccf71 23842014-12-06 Marek Polacek <polacek@redhat.com>
2385
2386 PR tree-optimization/64183
2387 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
2388 shift-expression if it is integer_type_node. Use types_compatible_p.
2389
f9e245b2 23902014-11-29 Jakub Jelinek <jakub@redhat.com>
2391
2392 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
2393 last argument from create_tmp_var_raw and create_tmp_var calls.
2394 * cilk.c (gimplify_cilk_spawn): Likewise.
2395 * c-omp.c (c_finish_omp_atomic): Likewise.
2396
d2f60593 23972014-11-28 Marek Polacek <polacek@redhat.com>
2398
2399 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
2400 instead of unsigned_type_node.
2401
fce2dbd1 24022014-11-28 Marek Polacek <polacek@redhat.com>
2403
2404 PR c/63862
2405 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
2406 to op1_utype.
2407 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
2408 expression to unsigned_type_node.
2409
3a4a2292 24102014-11-20 Mark Wielaard <mjw@redhat.com>
2411
2412 PR debug/38757
2413 * c-opts.c (set_std_c89): Set lang_hooks.name.
2414 (set_std_c99): Likewise.
2415 (set_std_c11): Likewise.
2416 (set_std_cxx98): Likewise.
2417 (set_std_cxx11): Likewise.
2418 (set_std_cxx14): Likewise.
2419 (set_std_cxx1z): Likewise.
2420
c61ef207 24212014-11-21 Jakub Jelinek <jakub@redhat.com>
2422
2423 PR target/63764
2424 * c-common.h (convert_vector_to_pointer_for_subscript): Change
2425 return type to bool.
c9ed79de 2426 * c-common.c: Include gimple-expr.h.
c61ef207 2427 (convert_vector_to_pointer_for_subscript): Change return type to
2428 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
2429 and copy it into a TARGET_EXPR and use that instead of *vecp
2430 directly.
2431
1a91d914 24322014-11-19 David Malcolm <dmalcolm@redhat.com>
2433
2434 Merger of git branch "gimple-classes-v2-option-3".
2435 * ChangeLog.gimple-classes: New.
2436 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
2437 from being just a vec<gimple> to a vec<gbind *>.
2438
f8fc8b8e 24392014-11-18 Jakub Jelinek <jakub@redhat.com>
2440
2441 PR sanitizer/63813
2442 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
2443 argument to ptype, set type to TREE_TYPE (ptype). Don't call
2444 get_pointer_alignment for non-pointers. Use ptype, or if it is
2445 reference type, corresponding pointer type, as type of kind
2446 argument.
2447 (ubsan_maybe_instrument_reference,
2448 ubsan_maybe_instrument_member_call): Adjust callers.
2449
8315e35e 24502014-11-15 Marek Polacek <polacek@redhat.com>
2451
2452 PR middle-end/63884
2453 * array-notation-common.c (is_sec_implicit_index_fn): Return false
2454 for NULL fndecl.
2455 (extract_array_notation_exprs): Return for NULL node.
2456
86b9f14b 24572014-11-12 Joseph Myers <joseph@codesourcery.com>
2458
2459 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
2460 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
2461
0c93c8a9 24622014-11-12 Jakub Jelinek <jakub@redhat.com>
2463
2464 PR c/59708
2465 * c-common.c (check_builtin_function_arguments): Handle
2466 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
2467
fdd735a7 24682014-11-10 Andi Kleen <ak@linux.intel.com>
2469
2470 PR c/60804
2471 * c-common.h (check_no_cilk): Declare.
2472 * cilk.c (get_error_location): New function.
2473 (check_no_cilk): Dito.
2474
5cb678b4 24752014-11-10 Andi Kleen <ak@linux.intel.com>
2476
2477 * cilk.c (recognize_spawn): Use expression location
2478 for error message.
2479
0feb4de1 24802014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
2481
2482 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
2483
3aa2fa44 24842014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
2485
2486 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
2487 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
2488 (__cpp_range_based_for, __cpp_initializer_lists,
2489 __cpp_delegating_constructors, __cpp_nsdmi,
2490 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
2491 for C++11; (__cpp_attribute_deprecated): Remove in favor of
2492 __has_cpp_attribute.
2493 * c-lex.c (cb_has_attribute): New callback CPP function;
2494 (init_c_lex): Set has_attribute callback.
2495
7fd22aae 24962014-11-04 Richard Biener <rguenther@suse.de>
2497
2498 * c-common.c (shorten_compare): Do not shorten mixed
2499 DFP and non-DFP compares.
2500
4af203ac 25012014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2502
2503 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
2504 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
2505 Commentary and rearrangement of tests.
2506 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
2507 Commentary and rearrangement of tests.
2508 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
2509 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
2510
3754d046 25112014-10-29 Richard Sandiford <richard.sandiford@arm.com>
2512
2513 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
2514 enum from machine_mode.
2515
1140c305 25162014-10-28 Andrew MacLeod <amacleod@redhat.com>
2517
1f78217c 2518 * c-common.c: Adjust include files.
2519 * c-gimplify.c: Ditto.
2520 * cilk.c: Ditto.
2521 * c-pragma.c: Ditto.
2522 * c-ubsan.c: Ditto.
1140c305 2523
94ea8568 25242014-10-27 Andrew MacLeod <amacleod@redhat.com>
2525
2526 * c-gimplify.c: Adjust include files.
2527
32ecf960 25282014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
2529
2530 PR c++/53061
2531 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
2532 c_common_initialize_diagnostics.
2533 * c-common.h: Likewise.
2534
85fecbe2 25352014-10-24 Marek Polacek <polacek@redhat.com>
2536
2537 PR c/56980
2538 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
2539 print "struct"/"union"/"enum" for typedefed names.
2540
e7ec033a 25412014-10-23 Marek Polacek <polacek@redhat.com>
2542
2543 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
2544 in unsigned type.
2545
c2598081 25462014-10-22 Jakub Jelinek <jakub@redhat.com>
2547 Yury Gribov <y.gribov@samsung.com>
2548
2549 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2550 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
2551 instead of flag_sanitize_recover as bool flag.
2552
acebb7e2 25532014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
2554
2555 * cilk.c: Revert previous change.
2556
6115016c 25572014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
2558
2559 PR c/63307
2560 * cilk.c: Include vec.h.
2561 (struct cilk_decls): New structure.
2562 (wrapper_parm_cb): Split this function to...
2563 (fill_decls_vec): ...this...
2564 (create_parm_list): ...and this.
2565 (compare_decls): New function.
2566 (for_local_cb): Remove.
2567 (wrapper_local_cb): Ditto.
2568 (build_wrapper_type): For now first traverse and fill vector of
2569 declarations then sort it and then deal with sorted vector.
2570 (cilk_outline): Ditto.
2571 (declare_one_free_variable): Ditto.
2572
e610d2b2 25732014-10-17 Marek Polacek <polacek@redhat.com>
2574
2575 * c-opts.c (c_common_post_options): Set warn_implicit_int.
2576 * c.opt (Wimplicit-int): Initialize to -1.
2577
a3020f2f 25782014-10-16 Andrew MacLeod <amacleod@redhat.com>
2579
2580 * c-pragma.c: Adjust include files.
2581 * c-semantics.c: Likewise.
2582
926ddd2c 25832014-10-16 DJ Delorie <dj@redhat.com>
2584
2585 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
2586 multiples of bytes.
2587
b0542e7c 25882014-10-14 Jason Merrill <jason@redhat.com>
2589
2590 PR c++/63455
2591 * c-common.h (CPP_PREPARSED_EXPR): New.
2592 (N_CP_TTYPES): Adjust.
2593
b2601928 25942014-10-15 Marek Polacek <polacek@redhat.com>
2595
2596 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
2597
9f75f026 25982014-10-14 DJ Delorie <dj@redhat.com>
2599
2600 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
2601 types, not just __int128.
2602 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
2603 types, not just __int128.
2604 (cpp_atomic_builtins): Round pointer sizes up.
2605 (type_suffix): Use type precision, not specific types.
2606 * c-common.c (c_common_reswords): Remove __int128 special case.
2607 (c_common_type_for_size): Check for all __intN types, not just
2608 __int128.
2609 (c_common_type_for_mode): Likewise.
2610 (c_common_signed_or_unsigned_type): Likewise.
2611 (c_build_bitfield_integer_type): Likewise.
2612 (c_common_nodes_and_builtins): Likewise.
2613 (keyword_begins_type_specifier): Likewise.
2614 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
2615 __intN variants.
2616
2ef51f0e 26172014-10-12 Trevor Saunders <tsaunders@mozilla.com>
2618
2619 * c-common.c: Use hash_table instead of hashtab.
2620
5b8257e3 26212014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2622
1f78217c 2623 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 2624 C++11 section.
2625
5e84569c 26262014-10-03 Marc Glisse <marc.glisse@inria.fr>
2627
2628 PR c++/54427
2629 PR c++/57198
2630 PR c++/58845
2631 * c-common.c (warn_logical_operator): Punt for vectors.
2632
f6751ff2 26332014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2634
2635 Implement SD-6: SG10 Feature Test Recommendations
2636 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
2637 macros and the __has_header macro.
2638
c33e051d 26392014-09-30 Jason Merrill <jason@redhat.com>
2640
f76a9aa8 2641 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
2642 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
2643 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2644
717e52f9 2645 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
2646 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2647
c33e051d 2648 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
2649 * c-common.c (c_common_reswords): Remove __is_convertible_to.
2650
5213d6c9 26512014-09-24 Marek Polacek <polacek@redhat.com>
2652
2653 PR c/61405
2654 PR c/53874
2655 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
2656
6b722052 26572014-09-23 Andi Kleen <ak@linux.intel.com>
2658
2659 * c-common.c (handle_no_reorder_attribute): New function.
2660 (c_common_attribute_table): Add no_reorder attribute.
2661
0cb69d12 26622014-09-22 Joseph Myers <joseph@codesourcery.com>
2663
2664 * c-cppbuiltin.c (c_cpp_builtins): Define
2665 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
2666 modes.
2667
168dfbf0 26682014-09-18 Joseph Myers <joseph@codesourcery.com>
2669
2670 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
2671 for supported floating-point modes.
2672
b83705f4 26732014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2674
2675 * c.opt (Wpsabi): Use LangEnabledBy.
2676 * c-opts.c (c_common_handle_option): Do not handle here.
2677
d5957f0d 26782014-09-12 Joseph Myers <joseph@codesourcery.com>
2679
2680 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
2681 macros for floating-point modes.
2682
bae6edff 26832014-09-11 Marc Glisse <marc.glisse@inria.fr>
2684
2685 PR target/58757
2686 * c-cppbuiltin.c (builtin_define_float_constants): Correct
2687 __*_DENORM_MIN__ without denormals.
2688
73a69d02 26892014-09-10 Jakub Jelinek <jakub@redhat.com>
2690
2691 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2692 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2693 ubsan_create_data callers.
2694 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
2695 index is constant or BIT_AND_EXPR with constant mask and is
2696 small enough for the bound.
2697 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
2698 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
2699
7ff8db31 27002014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2701
2702 * c.opt: Add CppReason to various flags.
2703 (Wdate-time): Re-sort.
2704 * c-common.c: Include c-common.h earlier.
2705 (struct reason_option_codes_t): Delete.
2706 (c_option_controlling_cpp_error): Prefix global type and struct
2707 with cpp_.
2708
bcc1f37e 27092014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2710
2711 * c.opt (Wnormalized): New.
2712 (Wnormalized=): Use Enum and Reject Negative.
2713 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
2714
b660d3c6 27152014-09-08 Joseph Myers <joseph@codesourcery.com>
2716
2717 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
2718 digits of floating-point modes if -fbuilding-libgcc.
2719
325b8c3c 27202014-09-05 Joseph Myers <joseph@codesourcery.com>
2721
2722 * c-cppbuiltin.c (c_cpp_builtins): Also define
2723 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
2724 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
2725 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
2726 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
2727 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
2728 __LIBGCC_STACK_GROWS_DOWNWARD__,
2729 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
2730 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
2731 __LIBGCC_DWARF_FRAME_REGISTERS__,
2732 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
2733 __LIBGCC_STACK_POINTER_REGNUM__ and
2734 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
2735 (builtin_define_with_value): Handle backslash-escaping in string
2736 macro values.
2737
1e074e77 27382014-09-05 Richard Biener <rguenther@suse.de>
2739
2740 PR middle-end/63148
2741 * c-format.c (check_format_arg): Properly handle
2742 effectively signed POINTER_PLUS_EXPR offset.
2743
04afd878 27442014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2745
2746 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
2747 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
2748 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
2749 and Init.
2750 * c-opts.c (c_common_handle_option): Do not handle here.
2751 (sanitize_cpp_opts): Likewise.
2752 * c-common.c (struct reason_option_codes_t): Handle
2753 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
2754
a3f448f0 27552014-09-03 Marek Polacek <polacek@redhat.com>
2756
2757 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
2758
40750995 27592014-09-02 Jakub Jelinek <jakub@redhat.com>
2760 Balaji V. Iyer <balaji.v.iyer@intel.com>
2761 Igor Zamyatin <igor.zamyatin@intel.com>
2762
2763 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
2764 * c-common.c (c_common_reswords): Added _Cilk_for.
2765 * c-common.h (enum rid): Added RID_CILK_FOR.
2766 (cilk_for_number_of_iterations): Add declaration.
2767 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
2768 CILK_FOR.
2769 * c-pragma.c (init_pragma): Register "grainsize" pragma.
2770 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
2771
f0fbe519 27722014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2773
2774 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
2775 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
2776 Wundef): Use CPP, Var and Init.
2777 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
2778
a7d2e480 27792014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2780
2781 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
2782 * c-opts.c (c_common_handle_option): Do not handle here.
2783
c35e53f1 27842014-08-25 Jason Merrill <jason@redhat.com>
2785
2786 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
2787 -std=c++14 and -std=gnu++14, rather than the reverse.
2788 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
2789 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
2790 * c-common.h (cxx_dialect): Remove cxx1y.
2791
4e454776 27922014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
2793
2794 * c-common.h (enum cxx_dialect): Add cxx14.
2795 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
2796 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
2797 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
2798
af1a80f2 27992014-08-22 Jason Merrill <jason@redhat.com>
2800
2801 * c.opt (std=gnu++17): Fix alias.
2802
dc6229e8 28032014-08-22 Marek Polacek <polacek@redhat.com>
2804
2805 PR c++/62199
2806 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
2807 check for vector types. Drop LHS argument.
2808 * c-common.h (warn_logical_not_parentheses): Adjust.
2809
ba7f7c88 28102014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2811
2812 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
2813 (Wmultichar): Likewise.
2814 (Wdate-time): Use C-family languages instead of Common. Use CPP
2815 and Var.
2816 * c-opts.c (c_common_handle_option): Do not handle the above
2817 options here.
2818 (sanitize_cpp_opts): Likewise.
2819
399d4f80 28202014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
2821
2822 PR fortran/44054
2823 * c-opts.c: Include tree-diagnostics.h.
2824 (c_diagnostic_finalizer): New.
2825 (c_common_initialize_diagnostics): Use it.
2826
1babed5f 28272014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2828
2829 PR preprocessor/51303
2830 * c-common.c (struct reason_option_codes_t option_codes):
2831 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
2832
3636964b 28332014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2834
2835 PR c/60975
2836 PR c/53063
2837 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
2838 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
2839 (c_common_post_options): Call init_global_opts_from_cpp.
2840 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
2841
78bf4156 28422014-08-19 Marek Polacek <polacek@redhat.com>
2843
2844 PR c++/62153
2845 * c-common.c (maybe_warn_bool_compare): New function.
2846 * c-common.h (maybe_warn_bool_compare): Declare.
2847 * c.opt (Wbool-compare): New option.
2848
508ea33a 28492014-08-19 Marek Polacek <polacek@redhat.com>
2850
2851 * c.opt (Wc99-c11-compat): New option.
2852
806fe15e 28532014-08-19 Marek Polacek <polacek@redhat.com>
2854
2855 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
2856 to warn_c90_c99_compat.
2857 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
2858 to -1.
2859
6c867de1 28602014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
2861 Steven Bosscher <steven@gcc.gnu.org>
2862
2863 PR c/52952
2864 * c-format.c: Add extra_arg_loc and format_string_loc to struct
2865 format_check_results.
2866 (check_function_format): Use true and add comment for boolean
2867 argument.
2868 (finish_dollar_format_checking): Use explicit location when warning.
2869 (check_format_info): Likewise.
2870 (check_format_arg): Set extra_arg_loc and format_string_loc.
2871 (check_format_info_main): Use explicit location when warning.
2872 (check_format_types): Pass explicit location.
2873 (format_type_warning): Likewise.
2874
dc8078a3 28752014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2876
2877 PR fortran/44054
2878 * c-format.c: Handle Fortran flags.
2879
d271ec7e 28802014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
2881
2882 PR other/61962
2883 * array-notation-common.c (find_rank): Added handling for other
2884 types of references.
2885
890c2e2f 28862014-08-10 Marek Polacek <polacek@redhat.com>
2887
2888 PR c/51849
2889 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
2890 * c.opt (Wc90-c99-compat): Add option.
2891
7149db5f 28922014-08-07 Trevor Saunders <tsaunders@mozilla.com>
2893
2894 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
2895
2d2f6a15 28962014-08-03 Marek Polacek <polacek@redhat.com>
2897
2898 * c-common.c (check_case_value): Add location_t parameter. Use it.
2899 (c_add_case_label): Pass loc to check_case_value.
2900
06ecf488 29012014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2902
2903 * cilk.c: Use hash_map instead of pointer_map.
2904
431205b7 29052014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2906
2907 * c-gimplify.c: Use hash_set instead of pointer_set.
2908
3394c80c 29092014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
2910
2911 PR middle-end/61455
2912 * array-notation-common.c (extract_array_notation_exprs): Handling
2913 of DECL_EXPR added.
2914
392dee1e 29152014-08-01 Jakub Jelinek <jakub@redhat.com>
2916
2917 * c-common.h (min_align_of_type): Removed prototype.
2918 * c-common.c (min_align_of_type): Removed.
2919 * c-ubsan.h (ubsan_maybe_instrument_reference,
2920 ubsan_maybe_instrument_member_call): New prototypes.
2921 * c-ubsan.c: Include stor-layout.h and builtins.h.
2922 (ubsan_maybe_instrument_reference_or_call,
2923 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
2924 functions.
2925
f22a2cb7 29262014-07-31 Marc Glisse <marc.glisse@inria.fr>
2927
2928 PR c++/60517
2929 * c.opt (-Wreturn-local-addr): Move to common.opt.
2930
87b0198f 29312014-07-30 Jason Merrill <jason@redhat.com>
2932
2933 PR c++/61659
2934 PR c++/61687
2935 Revert:
2936 * c.opt (-fuse-all-virtuals): New.
2937
74691f46 29382014-07-30 Tom Tromey <tromey@redhat.com>
2939
2940 PR c/59855
2941 * c.opt (Wdesignated-init): New option.
2942 * c-common.c (c_common_attribute_table): Add "designated_init".
2943 (handle_designated_init): New function.
2944
9140d56f 29452014-07-24 Marek Polacek <polacek@redhat.com>
2946
2947 PR c/57653
2948 * c-opts.c (c_finish_options): If -imacros is in effect, return.
2949
a09c5cc2 29502014-07-16 Dodji Seketeli <dodji@redhat.com>
2951
2952 PR preprocessor/60723 - missing system-ness marks for macro tokens
2953 * c-ppoutput.c (struct print::prev_was_system_token): New data
2954 member.
2955 (init_pp_output): Initialize it.
2956 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
2957 (do_line_change): Return a flag saying if a line marker was
2958 emitted or not.
2959 (scan_translation_unit): Detect if the system-ness of the token we
2960 are about to emit is different from the one of the previously
2961 emitted token. If so, emit a line marker. Avoid emitting useless
2962 adjacent line markers. Avoid emitting line markers for tokens
2963 originating from the expansion of built-in macros.
2964 (scan_translation_unit_directives_only): Adjust.
2965
2b25b62f 29662014-07-15 Marek Polacek <polacek@redhat.com>
2967
2968 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
2969 TYPE_MAX_VALUE is NULL.
2970
305d96bc 29712014-07-14 Jakub Jelinek <jakub@redhat.com>
2972
2973 PR middle-end/61294
2974 * c.opt (Wmemset-transposed-args): New warning.
2975
8ea4660d 29762014-07-10 Jason Merrill <jason@redhat.com>
2977
2978 PR c++/61659
2979 PR c++/61687
2980 * c.opt (-fuse-all-virtuals): New.
2981
cd480f3d 29822014-07-09 Richard Biener <rguenther@suse.de>
2983
2984 PR c-family/61741
2985 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2986 using unsigned arithmetic if overflow does not wrap instead of
2987 if overflow is undefined.
2988
87d59e72 29892014-07-06 Marek Polacek <polacek@redhat.com>
2990
2991 PR c/6940
2992 * c.opt (Wsizeof-array-argument): New option.
2993
d69521d8 29942014-07-03 Jakub Jelinek <jakub@redhat.com>
2995
8204c077 2996 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 2997 comments->count <= 1, as comments->entries might be NULL.
2998
1207866e 29992014-07-01 Marek Polacek <polacek@redhat.com>
3000
3001 * c.opt (Wint-conversion): New option.
3002
7a6bbb76 30032014-07-01 Marek Polacek <polacek@redhat.com>
3004
3005 PR c/58286
3006 * c.opt (Wincompatible-pointer-types): New option.
3007
9d4eeb52 30082014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3009
3010 PR c++/51400
3011 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3012 Do not discard TYPE_QUALS of type.
3013
4b53bc0f 30142014-06-26 Jason Merrill <jason@redhat.com>
3015
3016 * c-common.h (enum cxx_dialect): Add cxx1z.
3017 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3018 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3019
a8a8d4ea 30202014-06-26 Teresa Johnson <tejohnson@google.com>
3021
3022 * c-common.h (get_dump_info): Declare.
3023 * c-gimplify.c (c_genericize): Use saved dump files.
3024 * c-opts.c (c_common_parse_file): Begin and end dumps
3025 once around parsing invocation.
3026 (get_dump_info): New function.
3027
1f6be080 30282014-06-23 Marek Polacek <polacek@redhat.com>
3029 Andrew MacLeod <amacleod@redhat.com>
3030
3031 PR c/61553
3032 * c-common.c (get_atomic_generic_size): Don't segfault if the
3033 type doesn't have a size.
3034
5ef6b660 30352014-06-20 Marek Polacek <polacek@redhat.com>
3036
3037 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3038 (ubsan_walk_array_refs_r): New function.
3039 (c_genericize): Instrument array bounds.
3040 * c-ubsan.c: Include "internal-fn.h".
3041 (ubsan_instrument_division): Mark instrumented arrays as having
3042 side effects. Adjust ubsan_type_descriptor call.
3043 (ubsan_instrument_shift): Likewise.
3044 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3045 (ubsan_instrument_bounds): New function.
3046 (ubsan_array_ref_instrumented_p): New function.
3047 (ubsan_maybe_instrument_array_ref): New function.
3048 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3049 (ubsan_array_ref_instrumented_p): Declare.
3050 (ubsan_maybe_instrument_array_ref): Declare.
3051
30522014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 3053
3054 PR lto/61123
3055 * c.opt (fshort-enums): Add to LTO.
3056 * c.opt (fshort-wchar): Likewise.
3057
78438f31 30582014-06-16 Marek Polacek <polacek@redhat.com>
3059
3060 PR c/60439
3061 * c.opt (Wswitch-bool): Add Var.
3062
5fddcf34 30632014-06-12 Jakub Jelinek <jakub@redhat.com>
3064
3065 PR middle-end/61486
3066 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3067 #pragma omp target teams or
3068 #pragma omp {,target }teams distribute simd.
3069
74b777e5 30702014-06-12 Jason Merrill <jason@redhat.com>
3071
3072 * c.opt (Wabi=, fabi-compat-version): New.
3073 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3074 (c_common_post_options): Handle flag_abi_compat_version default.
3075 Disallow -fabi-compat-version=1.
3076 * c-common.h (abi_version_crosses): New.
3077
738a6bda 30782014-06-11 Jan Hubicka <hubicka@ucw.cz>
3079
1f78217c 3080 * c-common.c (handle_section_attribute): Update handling for
738a6bda 3081 section names that are no longer trees.
3082
cf5f881f 30832014-06-10 Jakub Jelinek <jakub@redhat.com>
3084
3085 PR fortran/60928
3086 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3087 (omp_pragmas): ... back here.
3088
32dc1512 30892014-06-05 Marek Polacek <polacek@redhat.com>
3090
3091 PR c/49706
3092 * c-common.c (warn_logical_not_parentheses): New function.
3093 * c-common.h (warn_logical_not_parentheses): Declare.
3094 * c.opt (Wlogical-not-parentheses): New option.
3095
f61a9bc2 30962014-06-04 Marek Polacek <polacek@redhat.com>
3097
3098 PR c/30020
3099 * c-common.c (check_case_bounds): Add location parameter.
3100 Use it.
3101 (c_add_case_label): Pass loc to check_case_bounds.
3102
c69ec07d 31032014-06-03 Marek Polacek <polacek@redhat.com>
3104
3105 PR c/60439
3106 * c.opt (Wswitch-bool): New option.
3107
3c77ca67 31082014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3109
68a2c870 3110 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3111 Remove prototypes.
3112 (record_types_used_by_current_var_decl): Move prototype to where
3113 it belongs.
3114
3c77ca67 3115 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3116 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3117 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3118
3ab4693e 31192014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3120
3121 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
3122 * c-common.c (c_common_nodes_and_builtins): Don't initialize
3123 void_zero_node.
3124 * c-pretty-print.c (pp_c_void_constant): New function.
3125 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
3126 (c_pretty_printer::expression): Handle VOID_CST.
3127 * cilk.c (extract_free_variables): Likewise.
3128 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
3129 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
3130
25a27413 31312014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3132
3133 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
3134 * c-pragma.c (push_alignment): Adjust.
3135 (handle_pragma_push_options): Likewise.
3136
3e5a8b00 31372014-05-09 Marek Polacek <polacek@redhat.com>
3138
3139 PR c/50459
3140 * c-common.c (check_user_alignment): Return -1 if alignment is error
3141 node.
3142 (handle_aligned_attribute): Don't call default_conversion on
3143 FUNCTION_DECLs.
3144 (handle_vector_size_attribute): Likewise.
3145 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
3146 (handle_sentinel_attribute): Call default_conversion and allow even
3147 integral types as an argument.
3148
c2c4ae8d 31492014-05-08 Marek Polacek <polacek@redhat.com>
3150
3151 PR c/61053
3152 * c-common.c (min_align_of_type): New function factored out from...
3153 (c_sizeof_or_alignof_type): ...here.
3154 * c-common.h (min_align_of_type): Declare.
3155
2026249a 31562014-05-08 Marek Polacek <polacek@redhat.com>
3157
3158 PR c/61077
3159 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
3160 parameter type of main.
3161
33c8dcfe 31622014-05-07 DJ Delorie <dj@redhat.com>
3163
3164 * c-cppbuiltin.c (print_bits_of_hex): New.
3165 (builtin_define_type_minmax): Print values using hex so as not to
3166 require a pre-computed list of string values.
3167
960d5a55 31682014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3169 Mike Stump <mikestump@comcast.net>
3170 Richard Sandiford <rdsandiford@googlemail.com>
3171
3172 * c-ada-spec.c: Include wide-int.h.
3173 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
3174 (dump_generic_ada_node): Use wide-int interfaces.
3175 * c-common.c: Include wide-int-print.h.
3176 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
3177 (pointer_int_sum): Use wide-int interfaces.
3178 (c_common_nodes_and_builtins): Use make_int_cst.
3179 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
3180 (handle_alloc_size_attribute): Use wide-int interfaces.
3181 (get_nonnull_operand): Likewise.
3182 * c-format.c (get_constant): Use tree_fits_uhwi_p.
3183 * c-lex.c: Include wide-int.h.
3184 (narrowest_unsigned_type): Take a widest_int rather than two
3185 HOST_WIDE_INTs.
3186 (narrowest_signed_type): Likewise.
3187 (interpret_integer): Update accordingly. Use wide-int interfaces.
3188 (lex_charconst): Use wide-int interfaces.
3189 * c-pretty-print.c: Include wide-int.h.
3190 (pp_c_integer_constant): Use wide-int interfaces.
3191 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
3192 INT_CST_LT_UNSIGNED.
3193
bbb88b31 31942014-05-06 Richard Biener <rguenther@suse.de>
3195
3196 * c-opts.c (c_common_post_options): For -freestanding,
3197 -fno-hosted and -fno-builtin disable pattern recognition
3198 if not enabled explicitely.
3199
022d4718 32002014-05-02 Marek Polacek <polacek@redhat.com>
3201
3202 * c.opt (Wsizeof-pointer-memaccess): Describe option.
3203
e4ab2ef3 32042014-05-01 Marek Polacek <polacek@redhat.com>
3205
3206 PR c/43245
3207 * c.opt (Wdiscarded-qualifiers): Add.
3208
52cc0072 32092014-04-30 Marek Polacek <polacek@redhat.com>
3210
3211 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
3212 INT_MIN / -1 sanitization only for integer types.
3213
4a026b48 32142014-04-25 Marek Polacek <polacek@redhat.com>
3215
3216 PR c/18079
3217 * c-common.c (handle_noinline_attribute): Warn if the attribute
3218 conflicts with always_inline attribute.
3219 (handle_always_inline_attribute): Warn if the attribute conflicts
3220 with noinline attribute.
3221
90e645fa 32222014-04-25 Marek Polacek <polacek@redhat.com>
3223
3224 PR c/60156
3225 * c-common.c (check_main_parameter_types): Warn about variadic main.
3226
db103ea4 32272014-04-24 Mike Stump <mikestump@comcast.net>
3228
3229 * c.opt (Wshadow-ivar): Default to on.
3230
06511efd 32312014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3232
3233 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
3234
cdf34fca 32352014-04-23 Marek Polacek <polacek@redhat.com>
3236
3237 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
3238
7311d7c1 32392014-04-22 Jakub Jelinek <jakub@redhat.com>
3240
3241 PR sanitizer/60275
3242 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
3243 if flag_sanitize_undefined_trap_on_error.
3244 (ubsan_instrument_division, ubsan_instrument_shift,
3245 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
3246 if !flag_sanitize_recover.
3247
c1917557 32482014-04-22 Marc Glisse <marc.glisse@inria.fr>
3249
3250 PR libstdc++/43622
3251 * c-common.c (registered_builtin_types): Make non-static.
3252 * c-common.h (registered_builtin_types): Declare.
3253
b2ca6510 32542014-04-14 Richard Biener <rguenther@suse.de>
3255 Marc Glisse <marc.glisse@inria.fr>
3256
3257 PR c/60819
3258 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
3259 apply may-alias the scalar pointer type when applicable.
3260
855372a3 32612014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
3262
3263 PR middle-end/60467
3264 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
3265 as possible argument for Cilk_spawn.
3266
4012a986 32672014-04-11 Tobias Burnus <burnus@net-b.de>
3268
3269 PR c/60194
3270 * c.opt (Wformat-signedness): Add
3271 * c-format.c(check_format_types): Use it.
3272
0d284870 32732014-04-11 Jason Merrill <jason@redhat.com>
3274
3275 PR c++/57926
3276 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
3277 default_conversion for an array argument.
3278
a34c1231 32792014-04-08 Marek Polacek <polacek@redhat.com>
3280
3281 PR sanitizer/60745
3282 * c-ubsan.c: Include asan.h.
3283 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
3284
a35a8e18 32852014-04-03 Nathan Sidwell <nathan@codesourcery.com>
3286
3287 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
3288
b23e42b6 32892014-04-02 Marek Polacek <polacek@redhat.com>
3290
3291 * c-common.h (c_expand_expr): Remove declaration.
3292
5a672e62 32932014-03-28 Jakub Jelinek <jakub@redhat.com>
3294
3295 PR c++/60689
3296 * c-common.c (add_atomic_size_parameter): When creating new
3297 params vector, push the size argument first.
3298
d4d068c0 32992014-03-26 Jakub Jelinek <jakub@redhat.com>
3300
3301 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3302 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3303 ubsan_create_data callers.
3304
446bdf5f 33052014-03-22 Jakub Jelinek <jakub@redhat.com>
3306
3307 PR debug/60603
3308 * c-opts.c (c_finish_options): Restore cb_file_change call to
3309 <built-in>.
3310
8895f0a3 33112014-03-13 Jakub Jelinek <jakub@redhat.com>
3312
3313 PR middle-end/36282
3314 * c-pragma.c (apply_pragma_weak): Only look at
3315 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
3316 DECL_ASSEMBLER_NAME_SET_P (decl).
3317 (maybe_apply_pending_pragma_weaks): Exit early if
3318 vec_safe_is_empty (pending_weaks) rather than only when
3319 !pending_weaks.
3320 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
3321 set assembler name back to NULL afterwards.
3322
7a5da2cd 33232014-03-11 Jason Merrill <jason@redhat.com>
3324
3325 * c.opt: Add -std=gnu++14.
3326
95093889 33272014-03-11 Ian Bolton <ian.bolton@arm.com>
3328
3329 * c-opts.c (c_common_post_options): Don't override
3330 -ffp-contract=fast if unsafe-math-optimizations is on.
3331
c9a24b37 33322014-03-08 Paulo Matos <paulo@matos-sorge.com>
3333
3334 * c.opt: Enable LTO FE for fshort-double.
3335
3f6dba6e 33362014-03-07 Jason Merrill <jason@redhat.com>
3337
3338 * c.opt: Add -std=c++14.
3339
3bfdc94f 33402014-03-06 Marek Polacek <polacek@redhat.com>
3341
3342 PR c/60197
3343 * cilk.c (contains_cilk_spawn_stmt): New function.
3344 (contains_cilk_spawn_stmt_walker): Likewise.
3345 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
3346 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
3347
8b3a6a4c 33482014-03-03 Jakub Jelinek <jakub@redhat.com>
3349
3350 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
3351 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
3352 even when flag_preprocess_only.
3353
734ec290 33542014-02-26 Jason Merrill <jason@redhat.com>
3355
3356 PR c++/59231
3357 PR c++/11586
3358 * c-common.c (shorten_compare): Don't check
3359 c_inhibit_evaluation_warnings.
3360
81aec8b8 33612014-02-19 Jakub Jelinek <jakub@redhat.com>
3362
d1081017 3363 PR c/37743
3364 * c-common.c (c_common_nodes_and_builtins): When initializing
3365 c_uint{16,32,64}_type_node, also set corresponding
3366 uint{16,32,64}_type_node to the same value.
3367
81aec8b8 3368 PR c++/60267
3369 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
3370 for PRAGMA_IVDEP if flag_preprocess_only.
3371
312243bb 33722014-02-12 Jakub Jelinek <jakub@redhat.com>
3373
3374 PR c/60101
3375 * c-common.c (merge_tlist): If copy is true, call new_tlist,
3376 if false, add ADD itself, rather than vice versa.
3377 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
3378 copy. For SAVE_EXPR, only call merge_tlist once.
3379
237e78b1 33802014-02-08 Jakub Jelinek <jakub@redhat.com>
3381
3382 PR middle-end/60092
3383 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
3384 and tree_to_uhwi.
3385 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
3386 functions.
3387 (c_common_attribute_table): Add alloc_align and assume_aligned
3388 attributes.
3389
76fdceeb 33902014-02-06 Marek Polacek <polacek@redhat.com>
3391
3392 PR c/60087
3393 * c-common.c (warn_for_sign_compare): Call warning_at with location
3394 instead of warning.
3395
4a4dea42 33962014-02-05 Marek Polacek <polacek@redhat.com>
3397
3398 PR c/53123
3399 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
3400 statement.
3401
ec704957 34022014-02-04 Marek Polacek <polacek@redhat.com>
3403
3404 PR c/60036
3405 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
3406 SAVE_EXPR.
3407
caf62483 34082014-02-03 Marc Glisse <marc.glisse@inria.fr>
3409
3410 PR c++/53017
3411 PR c++/59211
3412 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
3413 handle_vector_size_attribute, handle_nonnull_attribute): Call
3414 default_conversion on the attribute argument.
3415 (handle_nonnull_attribute): Increment the argument number.
3416
ec761d5a 34172014-01-31 Marek Polacek <polacek@redhat.com>
3418
3419 PR c/59963
3420 * c-common.c (add_atomic_size_parameter): Pass vNULL to
3421 build_function_call_vec.
3422 (resolve_overloaded_builtin): Likewise.
3423 * c-common.h (build_function_call_vec): Adjust declaration.
3424
22a75734 34252014-01-30 Marek Polacek <polacek@redhat.com>
3426
3427 PR c/59940
3428 * c-common.h (unsafe_conversion_p): Adjust declaration.
3429 (warnings_for_convert_and_check): Likewise.
3430 (convert_and_check): Likewise.
3431 * c-common.c (unsafe_conversion_p): Add location parameter. Call
3432 expansion_point_location_if_in_system_header on it.
3433 (warnings_for_convert_and_check): Add location parameter. Call
3434 expansion_point_location_if_in_system_header on it. Use it.
3435 (convert_and_check): Add location parameter. Use it.
3436 (conversion_warning): Likewise.
3437 (c_add_case_label): Adjust convert_and_check calls.
3438 (scalar_to_vector): Adjust unsafe_conversion_p calls.
3439
a89e6c15 34402014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
3441
3442 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
3443 flag_cilkplus.
3444 * c-pragma.c (init_pragma): Likewise.
3445 * c.opt: Likewise.
3446
2623625f 34472014-01-23 Marek Polacek <polacek@redhat.com>
3448
3449 PR c/59846
3450 * c-common.c (shorten_compare): Add location_t parameter.
3451 * c-common.h (shorten_binary_op): Adjust declaration.
3452
46da3601 34532014-01-23 Marek Polacek <polacek@redhat.com>
3454
3455 PR c/58346
3456 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
3457 * c-common.h: Declare it.
3458
c9743c6a 34592014-01-20 Eric Botcazou <ebotcazou@adacore.com>
3460
3461 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
3462 * c-ada-spec.c (dump_ads): Likewise.
3463 (cpp_check): Likewise.
3464 (dump_ada_specs): Likewise.
3465
34662014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 3467
3468 PR c++/49718
3469 * c-common.c (handle_no_instrument_function_attribute): Allow
3470 no_instrument_function attribute in class member
3471 definition/declaration.
3472
1248c663 34732014-01-15 Jakub Jelinek <jakub@redhat.com>
3474
3475 PR c/58943
3476 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
3477 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
3478 being COMPOUND_EXPR.
3479 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
3480 operand a SAVE_EXPR and second MODIFY_EXPR.
3481
6e5c480b 34822014-01-09 Jakub Jelinek <jakub@redhat.com>
3483
3484 PR target/58115
3485 * c-pch.c (c_common_write_pch): Call
3486 prepare_target_option_nodes_for_pch.
3487
3aea1f79 34882014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3489
3490 Update copyright years
3491
e4f22041 34922014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3493
3494 * array-notation-common.c, c-cilkplus.c: Use the standard form for
3495 the copyright notice.
3496
7fb0fe24 34972013-12-28 Eric Botcazou <ebotcazou@adacore.com>
3498
3499 * c-ada-spec.c (print_constructor): New function.
3500 (print_destructor): Retrieve the origin of the destructor.
3501 (print_ada_declaration): Revamp handling of constructors/destructors.
3502
92a44a68 35032013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 3504 Bill Maddox <maddox@google.com>
3505 Jason Merrill <jason@redhat.com>
3506
3507 * c.opt: Add -fdeclone-ctor-dtor.
3508 * c-opts.c (c_common_post_options): Default to on iff -Os.
3509
74acc703 35102013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
3511
3512 * c-common.c (c_common_attribute_table): Added "cilk simd function"
3513 attribute.
3514 * c-pragma.h (enum pragma_cilk_clause): Remove.
3515 (enum pragma_omp_clause): Added the following fields:
3516 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
3517 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
3518 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
3519 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
3520 PRAGMA_CILK_CLAUSE_UNIFORM.
3521
8204c077 3522
433e804e 35232013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
3524
3525 * cilk.c (cilk_outline): Made this function non-static.
3526 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
3527 (create_cilk_wrapper): Added a new parameter: a function pointer.
3528 (c_install_body_w_frame_cleanup): Remove
3529 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
3530 * c-common.h (cilk_outline): New prototype.
3531 (gimplify_cilk_spawn): Removed two parameters.
3532 (cilk_install_body_with_frame_cleanup): New prototype.
3533 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
3534 CILK_SPAWN_STMT case.
3535
5bcc7e60 35362013-12-11 Bernd Schmidt <bernds@codesourcery.com>
3537
e66325ea 3538 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
3539
5bcc7e60 3540 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
3541 (int_array_type_node): Remove.
3542 * c-common.c (c_common_nodes_and_builtins): Don't build it.
3543
0b26ec77 35442013-12-05 Marek Polacek <polacek@redhat.com>
3545
3546 PR c/52023
3547 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
3548 [ADJUST_FIELD_ALIGN].
3549
a179a7dc 35502013-12-04 Joseph Myers <joseph@codesourcery.com>
3551
3552 PR c/52023
3553 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
3554 and check field alignment if set.
3555 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
3556 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
3557
8204c077 35582013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 3559 Marek Polacek <polacek@redhat.com>
3560
3561 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
3562 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
3563
648fd348 35642013-11-29 H.J. Lu <hongjiu.lu@intel.com>
3565
3566 PR c/59309
3567 * cilk.c (gimplify_cilk_spawn): Properly handle function without
3568 arguments.
3569
253e1cae 35702013-11-29 Jakub Jelinek <jakub@redhat.com>
3571
3572 PR c/59280
3573 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
3574 goto invalid. If it is error_mark_node, don't issue further
3575 diagnostics.
3576
3e398f5b 35772013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
3578
3579 * c.opt (Wopenmp-simd): New.
3580
020bc656 35812013-11-22 Jakub Jelinek <jakub@redhat.com>
3582
3583 * c-ubsan.h (ubsan_instrument_return): New prototype.
3584 * c-ubsan.c (ubsan_instrument_return): New function.
3585
bc61cadb 35862013-11-22 Andrew MacLeod <amacleod@redhat.com>
3587
3588 * c-common.c: Add required include files from gimple.h.
3589 * c-gimplify.c: Likewise
3590 * cilk.c: Likewise
3591
3df42822 35922013-11-22 David Malcolm <dmalcolm@redhat.com>
3593
3594 * c-common.c (unsafe_conversion_p): Remove use of
3595 EXPR_LOC_OR_HERE macro.
3596 (conversion_warning): Likewise.
3597 (warnings_for_convert_and_check): Likewise.
3598 (warn_for_collisions_1): Likewise.
3599 (shorten_compare): Likewise, and remove use of in_system_header
3600 macro, using the location from the former.
3601 * c-lex.c (dump_one_header): Remove use of input_filename macro.
3602 (cb_def_pragma): Remove use of in_system_header macro.
3603 (lex_string): Likewise.
3604 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3605
8c53c46c 36062013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3607 Mike Stump <mikestump@comcast.net>
3608 Richard Sandiford <rdsandiford@googlemail.com>
3609
3610 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
3611 instead of TREE_INT_CST_LOW, in cases where there is a protecting
3612 tree_fits_shwi_p or tree_fits_uhwi_p.
3613 (dump_generic_ada_node): Likewise.
3614 * c-format.c (check_format_arg): Likewise.
3615 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3616
5200ef07 36172013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3618
3619 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
3620
ca9d7d74 36212013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
3622
3623 PR c/53001
3624 * c-common.c (unsafe_conversion_p): Make this function
3625 return an enumeration with more detail.
3626 (conversion_warning): Use the new return type of
3627 unsafe_conversion_p to separately warn either about conversions
3628 that lower floating point number precision or about the other
3629 kinds of conversions.
3630 * c-common.h (enum conversion_safety): New enumeration.
3631 (unsafe_conversion_p): switching return type to
3632 conversion_safety enumeration.
3633 * c.opt: Adding new warning -Wfloat-conversion and
3634 enabling it with -Wconversion.
3635
0391a567 36362013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
3637
3638 * c-opts.c: Include plugin.h.
3639 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
3640
19b928d9 36412013-11-19 Marek Polacek <polacek@redhat.com>
3642
3643 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
3644 call.
3645 (ubsan_instrument_shift): Likewise.
3646 (ubsan_instrument_vla): Likewise.
3647
aa59f000 36482013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3649
3650 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
3651 cast to unsigned type.
3652
08f817b3 36532013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3654
3655 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
3656 tree_low_cst.
3657 (complete_array_type): Update comment to refer to tree_to_[su]hwi
3658 rather than tree_low_cst.
3659
6a0712d4 36602013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3661
3662 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
3663 tree_to_uhwi throughout.
3664
fcb97e84 36652013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3666
3667 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
3668 tree_low_cst (..., 0) with tree_to_shwi throughout.
3669
cd4547bf 36702013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3671
3672 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
3673 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
3674
35ec552a 36752013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3676
3677 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
3678 host_integerp (..., 0) with tree_fits_shwi_p throughout.
3679
f2697631 36802013-11-15 Aldy Hernandez <aldyh@redhat.com>
3681
3682 * c-cilkplus.c: New file.
3683 * c-common.c (readonly_error): Add location argument.
3684 * c-common.h (readonly_error): Same.
3685 (c_finish_cilk_clauses): Protoize.
3686 (c_check_cilk_loop): Same.
3687 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
3688 Do not fail on error_mark_node.
3689 Abstract increment canonicalization to here...
3690 (c_omp_for_incr_canonicalize_ptr): New.
3691 c-pragma.c (init_pragma): Register "simd" pragma.
3692 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
3693 (enum pragma_cilk_clause): New.
3694
0aa8c34e 36952013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
3696
3697 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
3698 wchar_type and host_integerp checks.
3699
e795d6e1 37002013-11-14 Andrew MacLeod <amacleod@redhat.com>
3701
3702 * c-common.c: Likewise.
3703 * c-gimplify.c: Likewise.
3704 * cilk.c: Likewise.
3705
9ed99284 37062013-11-14 Diego Novillo <dnovillo@google.com>
3707
3708 * c-common.c: Include fold-const.h.
3709 Include stor-layout.h.
3710 Include calls.h.
3711 Include stringpool.h.
3712 Include attribs.h.
3713 Include varasm.h.
3714 Include trans-mem.h.
3715 * c-cppbuiltin.c: Include stor-layout.h.
3716 Include stringpool.h.
3717 * c-format.c: Include stringpool.h.
3718 * c-lex.c: Include stringpool.h.
3719 Include stor-layout.h.
3720 * c-pragma.c: Include stringpool.h.
3721 Include attribs.h.
3722 Include varasm.h.
3723 Include gcc-symtab.h.
3724 * c-pretty-print.c: Include stor-layout.h.
3725 Include attribs.h.
3726 * cilk.c: Include stringpool.h.
3727 Include calls.h.
3728
4fba5eb9 37292013-11-13 Joseph Myers <joseph@codesourcery.com>
3730
3731 * c-common.h (enum rid): Add RID_AUTO_TYPE.
3732 * c-common.c (c_common_reswords): Add __auto_type.
3733 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
3734
a8783bee 37352013-11-12 Andrew MacLeod <amacleod@redhat.com>
3736
e795d6e1 3737 * c-common.c: Include gimplify.h.
3738 * c-gimplify.c: Likewise.
3739 * cilk.c: Likewise.
3740 * c-omp.c: Include gimple-expr.h instead of gimple.h.
3741 * c-ubsan.c: Don't include gimple.h.
a8783bee 3742
d184e0c0 37432013-11-12 Joseph Myers <joseph@codesourcery.com>
3744
3745 * c-common.c (c_common_reswords): Add _Thread_local.
3746
a056826c 37472013-11-09 Joseph Myers <joseph@codesourcery.com>
3748
3749 * c-common.c (atomic_size_supported_p): New function.
3750 (resolve_overloaded_atomic_exchange)
3751 (resolve_overloaded_atomic_compare_exchange)
3752 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
3753 Use it instead of comparing size with a local list of sizes.
3754
b560fabd 37552013-11-07 Andrew MacLeod <amacleod@redhat.com>
3756 Joseph Myers <joseph@codesourcery.com>
3757
3758 * c-common.h (enum rid): Add RID_ATOMIC.
3759 * c-common.c (c_common_reswords): Add _Atomic.
3760 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
3761 (keyword_is_type_qualifier): Accept RID_ATOMIC.
3762 * c-format.c (check_format_types): Check for extra _Atomic
3763 qualifiers in format argument.
3764 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
3765 (pp_c_type_qualifier_list): Mention _Atomic in comment.
3766
5b1a0622 37672013-11-06 Tobias Burnus <burnus@net-b.de>
3768
3769 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
3770
4f8f4cb8 37712013-11-06 Joseph Myers <joseph@codesourcery.com>
3772
3773 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
3774 standards modes.
3775 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
3776 to mean lack of IEEE 754 support.
3777
9148bda3 37782013-11-05 Tobias Burnus <burnus@net-b.de>
3779
3780 * c.opt (-Wdate-time): New option
3781 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
3782
08c5f4d5 37832013-11-05 Joseph Myers <joseph@codesourcery.com>
3784
3785 * c-cppbuiltin.c (cpp_iec_559_value): Test
3786 flag_excess_precision_cmdline not flag_excess_precision.
3787
c630ef93 37882013-11-05 Tobias Burnus <burnus@net-b.de>
3789
3790 * c.opt (fopenmp-simd): New option.
3791 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
3792 (omp_pragmas): ... this new struct.
3793 (c_pp_lookup_pragma): Also walk omp_pragmas.
3794 (init_pragma): Init pragmas for -fopenmp-simd.
3795
7354a89b 37962013-11-04 Marek Polacek <polacek@redhat.com>
3797
3798 PR c++/58979
3799 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
3800
4c866b9b 38012013-11-04 Joseph Myers <joseph@codesourcery.com>
3802
3803 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
3804 New functions.
3805 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
3806
e2a6a333 38072013-11-04 Eric Botcazou <ebotcazou@adacore.com>
3808
3809 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
3810 (dump_ada_specs): Adjust prototype of second callback.
3811 * c-ada-spec.c (cpp_check): New global variable.
3812 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
3813 (print_generic_ada_decl): Likewise.
3814 (has_static_fields): Change return type to bool and add guard.
3815 (has_nontrivial_methods): New predicate.
3816 (is_tagged_type): Change return type to bool.
3817 (separate_class_package): Call has_nontrivial_methods.
3818 (pp_ada_tree_identifier): Minor tweaks.
3819 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
3820 (dump_ada_array_domains): Likewise.
3821 (dump_ada_array_type): Likewise.
3822 (dump_template_types): Remove cpp_check parameter and do not pass it to
3823 dump_generic_ada_node.
3824 (dump_ada_template): Likewise.
3825 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
3826 recursively.
3827 (print_ada_methods): Change return type to integer. Remove cpp_check
3828 parameter and do not pass it down.
3829 (dump_nested_types): Remove cpp_check parameter and do not pass it to
3830 dump_generic_ada_node.
3831 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
3832 accessing methods.
3833 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
3834 down. Use has_nontrivial_methods to recognize C++ classes. Use return
3835 value of print_ada_methods.
3836 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
3837 Set cpp_check to it before invoking dump_ada_nodes.
3838 (dump_ada_specs): Likewise.
3839
2c4c3477 38402013-11-03 Marek Polacek <polacek@redhat.com>
3841
3842 * c-ubsan.c: Don't include hash-table.h.
3843 (ubsan_instrument_vla): New function.
3844 * c-ubsan.h: Declare it.
3845
452659af 38462013-10-31 David Malcolm <dmalcolm@redhat.com>
3847
3848 Automated part of renaming of symtab_node_base to symtab_node.
3849
3850 Patch autogenerated by rename_symtab.py from
3851 https://github.com/davidmalcolm/gcc-refactoring-scripts
3852 revision 58bb219cc090b2f4516a9297d868c245495ee622
3853
3854 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
3855 symtab_node_base to symtab_node.
3856
4d6f7dd4 38572013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
3858
3859 Implement C++14 digit separators.
3860 * c-lex.c (interpret_float): Remove digit separators from scratch string
3861 before building real literal.
3862
06cfe805 38632013-10-30 Jakub Jelinek <jakub@redhat.com>
3864
3865 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
3866
d037099f 38672013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
3868
3869 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
3870 fields.
3871 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
3872 enabled.
3873 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
3874 (insert_cilk_frame): New prototype.
3875 (cilk_init_builtins): Likewise.
3876 (gimplify_cilk_spawn): Likewise.
3877 (c_cilk_install_body_w_frame_cleanup): Likewise.
3878 (cilk_detect_spawn_and_unwrap): Likewise.
3879 (cilk_set_spawn_marker): Likewise.
3880 (build_cilk_sync): Likewise.
3881 (build_cilk_spawn): Likewise.
3882 * cilk.c: New file.
3883
02774f2d 38842013-10-29 David Malcolm <dmalcolm@redhat.com>
3885
3886 Patch autogenerated by refactor_symtab.py from
3887 https://github.com/davidmalcolm/gcc-refactoring-scripts
3888 revision 58bb219cc090b2f4516a9297d868c245495ee622
3889
3890 * c-gimplify.c (c_genericize): Update for conversion of symtab types
3891 to a true class hierarchy.
3892 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
3893
31fe10fd 38942013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
3895
3896 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
3897
b1c06ff9 38982013-10-26 Jeff Law <law@redhat.com>
3899
1f78217c 3900 * c-common.c (c_define_builtins): Remove mudflap support.
3901 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 3902
48a972c8 39032013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 3904
3905 PR other/33426
3906 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
3907 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
3908
546a04b1 39092013-10-23 Jason Merrill <jason@redhat.com>
3910
3911 * c-format.c (gcc_cxxdiag_char_table): Add %X.
3912
bc7bff74 39132013-10-11 Jakub Jelinek <jakub@redhat.com>
3914
d62c713e 3915 * c-common.h (omp_clause_mask::operator !=): New method.
3916 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
3917 instead of if (mask & something) tests everywhere.
3918
bc7bff74 3919 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
3920 201307 instead of 201107.
3921 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
3922 (c_common_attribute_table): Add "omp declare target" and
3923 "omp declare simd" attributes.
3924 (handle_omp_declare_target_attribute,
3925 handle_omp_declare_simd_attribute): New functions.
3926 * c-omp.c: Include c-pragma.h.
3927 (c_finish_omp_taskgroup): New function.
3928 (c_finish_omp_atomic): Add swapped argument, if true,
3929 build the operation first with rhs, lhs arguments and use NOP_EXPR
3930 build_modify_expr.
3931 (c_finish_omp_for): Add code argument, pass it down to make_code.
3932 (c_omp_split_clauses): New function.
3933 (c_split_parallel_clauses): Removed.
3934 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
3935 c_omp_declare_simd_clauses_to_decls): New functions.
3936 * c-common.h (omp_clause_mask): New type.
3937 (OMP_CLAUSE_MASK_1): Define.
3938 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
3939 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
3940 omp_clause_mask::operator |, omp_clause_mask::operator &,
3941 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
3942 omp_clause_mask::operator ==): New methods.
3943 (enum c_omp_clause_split): New.
3944 (c_finish_omp_taskgroup): New prototype.
3945 (c_finish_omp_atomic): Add swapped argument.
3946 (c_finish_omp_for): Add code argument.
3947 (c_omp_split_clauses): New prototype.
3948 (c_split_parallel_clauses): Removed.
3949 (c_omp_declare_simd_clauses_to_numbers,
3950 c_omp_declare_simd_clauses_to_decls): New prototypes.
3951 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
3952 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
3953 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
3954 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
3955 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
3956 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
3957 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
3958 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
3959 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
3960 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
3961 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
3962 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
3963 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
3964 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
3965 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
3966 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
3967 PRAGMA_OMP_CLAUSE_UNIFORM.
3968
d7dcba40 39692013-10-09 Marc Glisse <marc.glisse@inria.fr>
3970
3971 PR tree-optimization/20318
3972 * c-common.c (handle_returns_nonnull_attribute): New function.
3973 (c_common_attribute_table): Add returns_nonnull.
3974
0b7282f1 39752013-10-03 Marc Glisse <marc.glisse@inria.fr>
3976
3977 PR c++/19476
3978 * c.opt (fcheck-new): Move to common.opt.
3979
51f553af 39802013-09-25 Marek Polacek <polacek@redhat.com>
3981 Jakub Jelinek <jakub@redhat.com>
3982
3983 PR sanitizer/58413
3984 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
3985 an expression if we can prove it is correct.
3986 (ubsan_instrument_division): Likewise. Remove unnecessary
3987 check.
3988
05f893e1 39892013-09-18 Marek Polacek <polacek@redhat.com>
3990
3991 PR sanitizer/58411
3992 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
3993 Declare it.
3994 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
3995
236ce1d1 39962013-09-14 Iain Sandoe <iain@codesourcery.com>
3997
3998 PR target/48094
3999 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4000 fobjc-gc, freplace-objc-classes): Accept for LTO.
4001
f9f68d35 40022013-09-13 Jacek Caban <jacek@codeweavers.com>
4003
4004 * c-target.def: New hook
4005
ba2f764e 40062013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4007
4008 PR c++/43452
4009 * c.opt (Wdelete-incomplete): Add.
4010
73437615 40112013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4012
4013 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4014 (vector_types_compatible_elements_p): New function.
4015 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4016 declaration.
4017 (vector_types_compatible_elements_p): Declare.
4018
95af4c75 40192013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4020
4021 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4022 a virtual member function.
4023 (pp_simple_type_specifier): Remove.
4024 (pp_c_type_specifier): Likewise.
4025 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4026 Rename from pp_c_type_specifier. Adjust.
4027 (c_pretty_printer::c_pretty_printer): Do not assign to
4028 simple_type_specifier.
4029
eaab24b9 40302013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4031
4032 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4033 member function.
4034 (c_pretty_printer::storage_class_specifier): Likewise.
4035 (c_pretty_printer::initializer): Likewise.
4036 (pp_declaration): Remove.
4037 (pp_declaration_specifiers): Likewise.
4038 (pp_abstract_declarator): Likewise.
4039 (pp_declarator): Likewise.
4040 (pp_type_id): Likewise.
4041 (pp_statement): Likewise.
4042 (pp_constant): Likewise.
4043 (pp_id_expression): Likewise.
4044 (pp_primary_expression): Likewise.
4045 (pp_unary_expression): Likewise.
4046 (pp_multiplicative_expression): Likewise.
4047 (pp_conditional_expression): Likewise.
4048 (pp_assignment_expression): Likewise.
4049 (pp_expression): Likewise.
4050 (pp_c_type_id): Likewise.
4051 (pp_c_storage_class_specifier): Likewise.
4052 * c-pretty-print.c (pp_c_type_cast): Tidy.
4053 (pp_c_pointer): Likewise.
4054 (pp_c_type_specifier): Likewise.
4055 (pp_c_parameter_type_list): Likewise.
4056 (pp_c_function_definition): Likewise.
4057 (pp_c_init_declarator): Likewise.
4058 (pp_c_initializer_list): Likewise.
4059 (pp_c_constructor_elts): Likewise.
4060 (c_pretty_printer::direct_abstract_declarator): Likewise.
4061 (c_pretty_printer::declaration_specifiers): Likewise.
4062 (c_pretty_printer::primary_expression): Likewise.
4063 (c_pretty_printer::postfix_expression): Likewise.
4064 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4065 (c_pretty_printer::storage_class_specifier): Rename from
4066 pp_c_storage_class_specifier.
4067 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4068 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4069 storage_class_specifier, initializer, offset_list, flags.
4070
9e46467d 40712013-08-30 Marek Polacek <polacek@redhat.com>
4072
4073 * c-ubsan.c: New file.
4074 * c-ubsan.h: New file.
4075
36a8d9b9 40762013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4077
4078 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4079 member function.
4080 (c_pretty_printer::declaration_specifiers): Likewise.
4081 (c_pretty_printer::declarator): Likewise.
4082 (c_pretty_printer::abstract_declarator): Likewise.
4083 (c_pretty_printer::direct_abstract_declarator): Likewise.
4084 (c_pretty_printer::direct_declarator): Likewise.
4085 (c_pretty_printer::function_specifier): Likewise.
4086 (pp_declaration): Adjust.
4087 (pp_declaration_specifiers): Likewise.
4088 (pp_abstract_declarator): Likewise.
4089 (pp_direct_declarator): Likewise.
4090 (pp_function_specifier): Likewise.
4091 (pp_direct_abstract_declarator): Remove as unused.
4092 (pp_c_declaration): Remove.
4093 (pp_c_declaration_specifiers): Likewise.
4094 (pp_c_declarator): Likewise.
4095 (pp_c_direct_declarator): Likewise.
4096 (pp_c_function_specifier): Likewise.
4097 (pp_c_direct_abstract_declarator): Likewise.
4098 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4099 from pp_c_abstract_declarator. Adjust.
4100 (c_pretty_printer::direct_abstract_declarator): Rename from
4101 pp_c_direct_abstract_declarator. Adjust.
4102 (c_pretty_printer::function_specifier): Rename from
4103 pp_c_function_specifier. Adjust.
4104 (c_pretty_printer::declaration_specifiers): Rename from
4105 pp_c_declaration_specifiers. Adjust.
4106 (c_pretty_printer::direct_declarator): Rename from
4107 pp_c_direct_declarator. Adjust.
4108 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4109 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4110 (c_pretty_printer::c_pretty_printer): Do not assign to
4111 declaration, declaration_specifiers, declarator,
4112 direct_declarator, direct_abstract_declarator, function_specifier.
4113
30635c2e 41142013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4115
4116 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4117 virtual member function.
4118 (c_pretty_printer::multiplicative_expression): Likewise.
4119 (c_pretty_printer::conditional_expression): Likewise.
4120 (c_pretty_printer::assignment_expression): Likewise.
4121 (c_pretty_printer::expression): Likewise.
4122 (pp_unary_expression): Adjust.
4123 (pp_multiplicative_expression): Likewise.
4124 (pp_assignment_expression): Likewise.
4125 (pp_conditional_expression): Likewise.
4126 (pp_expression): Likewise.
4127 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
4128 from pp_c_unary_expression. Adjust.
4129 (c_pretty_printer::multiplicative_expression): Rename from
4130 pp_c_multiplicative_expression. Adjust.
4131 (c_pretty_printer::conditional_expression): Rename from
4132 pp_c_conditional_expression. Adjust.
4133 (c_pretty_printer::assignment_expression): Rename from
4134 pp_c_assignment_expression. Adjust.
4135 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
4136 (c_pretty_printer::c_pretty_printer): Do not assign to
4137 unary_expression, multiplicative_expression,
4138 conditional_expression, expression.
4139
027d08ed 41402013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4141
4142 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
4143 virtual member function.
4144 (pp_postfix_expression): Adjust.
4145 (pp_c_postfix_expression): Remove.
4146 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
4147 from pp_c_postfix_expression. Adjust.
4148 (c_pretty_printer::c_pretty_printer): Do not assign to
4149 postfix_expression.
4150
f873303a 41512013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4152
4153 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
4154 virtua member function.
4155 (pp_primary_expression): Adjust.
4156 (pp_c_primary_expression): Remove.
4157 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
4158 from pp_c_primary_expression. Adjust.
4159 (pp_c_initializer_list): Use pp_primary_expression.
4160 (c_pretty_printer::c_pretty_printer): Do not assign to
4161 primary_expression.
4162
08e3e481 41632013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4164
4165 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4166 * c-pretty-print.c (M_): Remove.
4167 (c_pretty_printer::translate_string): Define.
4168 (pp_c_type_specifier): Use it.
4169 (pp_c_primary_expression): Likewise.
4170 (pp_c_expression): Likewise.
4171
1fc4a87f 41722013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4173
4174 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
4175 virtual function.
4176 (pp_c_id_expression): Remove.
4177 (pp_id_expression): Adjust.
4178 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
4179 pp_c_id_expression. Adjust.
4180 (pp_c_postfix_expression): Use pp_id_expression.
4181 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
4182
a6cb161b 41832013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4184
4185 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4186 member function.
4187 (pp_constant): Adjust.
4188 (pp_c_constant): Remove.
4189 * c-pretty-print.c (c_pretty_printer::constant): Rename from
4190 pp_c_constant. Adjust.
4191 (pp_c_constant)
4192 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
4193 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
4194
eed6bc21 41952013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4196
4197 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
4198 (c_pretty_printer::c_pretty_printer): Declare.
4199 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
4200 c_pretty_printer_init. Adjust.
4201 (print_c_tree): Do not call c_pretty_printer_init.
4202 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
4203
df558d2e 42042013-08-09 Arnaud Charlet <charlet@adacore.com>
4205
4206 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
4207
42f9a786 42082013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
4209
4210 PR c++/58080
4211 * c-common.c (pointer_int_sum): Add bool parameter.
4212 * c-common.h (pointer_int_sum): Adjust declaration.
4213
f874ddad 42142013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4215
4216 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
4217 c_pretty_printer variable.
4218
a94db6b0 42192013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4220
4221 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
4222 (pp_base): Remove.
4223 (pp_c_base): Likewise. Adjust users.
4224 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
4225 (pp_c_whitespace): Do not call pp_base.
4226 (pp_c_left_paren): Likewise.
4227 (pp_c_right_paren): Likewise.
4228 (pp_c_left_brace): Likewise.
4229 (pp_c_right_brace): Likewise.
4230 (pp_c_left_bracket): Likewise.
4231 (pp_c_right_bracket): Likewise.
4232 (pp_c_dot): Likewise.
4233 (pp_c_ampersand): Likewise.
4234 (pp_c_star): Likewise.
4235 (pp_c_arrow): Likewise.
4236 (pp_c_semicolon): Likewise.
4237 (pp_c_complement): Likewise.
4238 (pp_c_exclamation): Likewise.
4239 (pp_c_direct_declarator): Likewise.
4240 (pp_c_ws_string): Likewise.
4241 (pp_c_identifier): Likewise.
4242 (pp_c_statement): Likewise.
4243 (print_c_tree): Likewise.
4244
1898176c 42452013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
4246
4247 PR c++/58072
4248 * c-common.c (c_parse_error): Catch user-defined literal tokens and
4249 provide useful error strings.
4250
70d60d1d 42512013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4252
4253 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
4254 printer functions instead of pp_string or operators and punctuators.
4255 (dump_generic_ada_node): Likewise.
4256 * c-pretty-print.c (pp_c_type_specifier): Likewise.
4257 (pp_c_relational_expression): Likewise.
4258 (pp_c_logical_or_expression): Likewise.
4259
dda4f0ec 42602013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4261
4262 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
4263 functions instead of pp_character.
4264 (pp_ada_tree_identifier): Likewise.
4265 (dump_ada_double_name): Likewise.
4266 (dump_ada_function_declaration): Likewise.
4267 (dump_ada_array_domains): Likewise.
4268 (dump_template_types): Likewise.
4269 (dump_generic_ada_node): Likewise.
4270 (print_ada_declaration): Likewise.
4271 (print_ada_struct_decl): Likewise.
4272 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4273
7aa04c8d 42742013-07-23 Tom Tromey <tromey@redhat.com>
4275
4276 * c-common.h (enum rid) <RID_GENERIC>: New constant.
4277 * c-common.c (c_common_reswords): Add _Generic.
4278
a04e8d62 42792013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
4280
4281 * c-common.c: Fix typos.
4282 * c-common.h: Likewise.
4283
a96c3cc1 42842013-07-13 Lubos Lunak <l.lunak@suse.cz>
4285
4286 PR c++/55203
4287 * c-common.c (c_common_attribute_table): Add warn_unused.
4288 (handle_warn_unused_attribute): New.
4289
da31536d 42902013-07-10 Jakub Jelinek <jakub@redhat.com>
4291
4292 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
4293 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
4294
839f2f70 42952013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
4296
4297 PR c++/57869
4298 * c.opt: Add Wconditionally-supported.
4299
73f353d0 43002013-07-08 Graham Stott <graham.stott@btinternet.com>
4301
1f78217c 4302 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 4303 unused variables l_length and l_node.
4304
21ebaa24 43052013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 4306
4307 PR c/57821
4308 * c-common.c (complete_array_type): Delay folding first index
4309 like other indices. When folding, check for index overflow.
4310
68ea4406 43112013-06-27 Marc Glisse <marc.glisse@inria.fr>
4312
4313 PR c++/57509
4314 * c-common.h (c_build_vec_perm_expr): New complain argument.
4315 * c-common.c (c_build_vec_perm_expr): Likewise.
4316 Use save_expr also in C++.
4317
60777f69 43182013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4319
4320 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
4321 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4322 * c-opts.c (c_common_post_options): Likewise.
4323
839f2f70 43242013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 4325
4326 * array-notation-common.c (length_mismatch_in_expr): Changed the
4327 parameter type's from a dynamic array to a vec_tree. Also removed
4328 the size parameters.
4329 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
4330 the change above.
4331
e9331eab 43322013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
4333
4334 * c-common.h (struct cilkplus_an_parts): New structure.
4335 (struct cilkplus_an_loop_parts): Likewise.
4336 (cilkplus_extract_an_triplets): New prototype.
4337 (fix_sec_implicit_args): Likewise.
4338 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
4339 (fix_sec_implicit_args): Likewise.
60777f69 4340
a9c99fc4 43412013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
4342
4343 * array-notation-common.c (find_inv_trees): Removed an unwanted
4344 typecasting.
4345 * c-common.h (struct inv_list::additional_tcodes): Changed type from
4346 enum rid to enum tree_code.
4347
f2526cce 43482013-06-11 Jan Hubicka <jh@suse.cz>
4349
4350 * c-common.c (handle_alias_ifunc_attribute): Do not set
4351 DECL_EXTERNAL for weakref variables.
4352 * c-pragma.c (handle_pragma_weak): Make sure aliases
4353 are not declared as external.
4354
09970d67 43552013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
4356
4357 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
4358 function from c/c-array-notation.c.
4359 (is_cilkplus_reduce_builtin): Likewise.
4360 (find_rank): Likewise.
4361 (extract_array_notation_exprs): Likewise.
4362 (replace_array_notations): Likewise.
4363 (find_inv_trees): Likewise.
4364 (replace_inv_trees): Likewise.
4365 (contains_array_notation_expr): Likewise.
4366 (find_correct_array_notation_type): Likewise.
4367 * c-common.h (struct inv_list): Moved this struct from the file
4368 c/c-array-notation.c and added a new field called additional tcodes.
4369 (length_mismatch_in_expr_p): New prototype.
4370 (is_cilkplus_reduce_builtin): Likewise.
4371 (find_rank): Likewise.
4372 (extract_array_notation_exprs): Likewise.
4373 (replace_array_notation): Likewise.
4374 (find_inv_trees): Likewise.
4375 (replace_inv_trees): Likewise.
4376 (find_correct_array_notation_type): Likewise.
839f2f70 4377
3c6d4197 43782013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
4379
4380 * c-common.c (c_define_builtins): When cilkplus is enabled, the
4381 function array_notation_init_builtins is called.
4382 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
4383 * c-common.def (ARRAY_NOTATION_REF): New tree.
4384 * c-common.h (build_array_notation_expr): New function declaration.
4385 (build_array_notation_ref): Likewise.
4386 (extract_sec_implicit_index_arg): New extern declaration.
4387 (is_sec_implicit_index_fn): Likewise.
4388 (ARRAY_NOTATION_CHECK): New define.
4389 (ARRAY_NOTATION_ARRAY): Likewise.
4390 (ARRAY_NOTATION_START): Likewise.
4391 (ARRAY_NOTATION_LENGTH): Likewise.
4392 (ARRAY_NOTATION_STRIDE): Likewise.
4393 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
4394 ARRAY_NOTATION_REF.
4395 (pp_c_expression): Likewise.
4396 * c.opt (flag_enable_cilkplus): New flag.
4397 * array-notation-common.c: New file.
4398
8e71dad2 43992013-05-14 Jakub Jelinek <jakub@redhat.com>
4400
4401 PR c++/57274
4402 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
4403
432dd330 44042013-05-10 Marc Glisse <marc.glisse@inria.fr>
4405
4406 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
4407 vectors.
4408
b156ec37 44092013-05-07 Han Shen <shenhan@google.com>
4410
4411 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
4412
1a087624 44132013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4414
4415 * c-common.c (check_user_alignment): Emit error for negative values.
4416
1638c736 44172013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4418
4419 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
4420
949dbf93 44212013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4422
4423 * c-cppbuiltin.c (c_cpp_builtins): Do not define
4424 __GXX_EXPERIMENTAL_CXX1Y__.
4425
9205a6cc 44262013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4427 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4428
4429 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
4430 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
4431 to simply use OPT_Wpointer_arith.
4432 (c_sizeof_or_alignof_type): Likewise.
4433
05d0bce1 44342013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4435
4436 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
4437
41609f8b 44382013-04-12 Jakub Jelinek <jakub@redhat.com>
4439
4440 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
4441 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
4442 specifiers.
4443
c671dc4f 44442013-04-07 Steven Bosscher <steven@gcc.gnu.org>
4445
4446 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
4447
ba125576 44482013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
4449
4450 * c-common.c (pointer_int_sum): Remove dead code.
4451
9d3fa937 44522013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
4453
4454 PR middle-end/56524
4455 * c-common.c (handle_optimize_attribute): Don't call
4456 save_optabs_if_changed.
4457
5ceebb21 44582013-03-05 Jakub Jelinek <jakub@redhat.com>
4459
4460 PR middle-end/56461
4461 * c-pch.c (pch_init): Free target_validity at the end.
4462
18eeed2b 44632013-03-04 Jakub Jelinek <jakub@redhat.com>
4464
4465 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
4466
a9196da9 44672013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
4468 Jakub Jelinek <jakub@redhat.com>
4469
4470 PR sanitizer/56454
4471 * c-common.c (handle_no_sanitize_address_attribute): New function.
4472 (c_common_attribute_table): Add no_sanitize_address attribute.
4473 (handle_no_address_safety_analysis_attribute): Add
4474 no_sanitize_address attribute, not no_address_safety_analysis
4475 attribute.
4476
15c27dda 44772013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 4478
4479 PR target/52555
4480 * c-common.c (handle_optimize_attribute): Call
4481 save_optabs_if_changed.
4482
19426fe1 44832013-02-18 Jakub Jelinek <jakub@redhat.com>
4484 Steven Bosscher <steven@gcc.gnu.org>
4485
4486 PR pch/54117
4487 * c-opts.c (c_common_post_options): If debug info is enabled
4488 and non-dwarf*, refuse to load PCH files and when writing PCH
4489 file warn.
4490
df936998 44912013-02-05 Jakub Jelinek <jakub@redhat.com>
4492
4493 PR middle-end/56167
4494 * c-common.c (handle_error_attribute): Fix condition.
4495
ae0c3984 44962013-01-30 Jakub Jelinek <jakub@redhat.com>
4497
4498 PR c++/55742
4499 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
4500
1c4973d7 45012013-01-18 Jason Merrill <jason@redhat.com>
4502
4503 PR target/54908
4504 * c.opt (-fextern-tls-init): New.
4505 * c-opts.c (c_common_post_options): Handle it.
4506
7c834436 45072013-01-09 Jakub Jelinek <jakub@redhat.com>
4508
4509 PR c/48418
4510 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
4511 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
4512 and is either negative or bigger or equal to type precision
4513 of the first operand.
4514
5abaa10a 45152012-12-03 Marek Polacek <polacek@redhat.com>
4516
4517 PR c/55570
4518 * c-common.c (check_user_alignment): Swap order of tests,
4519 check TREE_CODE first.
4520
324ca377 45212012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
4522
4523 PR c++/52654
4524 * c-common.h (overflow_type): New enum.
4525 (build_userdef_literal): Add overflow_type argument.
4526 (tree_userdef_literal): Add overflow_type.
4527 (USERDEF_LITERAL_OVERFLOW): New access macro.
4528 * c-common.c (build_userdef_literal): Add overflow_type
4529 argument.
4530 * c-lex.c (c_lex_with_flags): Add overflow_type to
4531 build_userdef_literal calls.
4532 (interpret_integer, interpret_float): Add overflow_type argument.
4533
b4c4a429 45342012-11-28 Richard Biener <rguenther@suse.de>
4535
4536 PR c/35634
4537 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4538 here and use a type with proper overflow behavior for types that would
4539 need to be promoted for the arithmetic.
4540
d413ffdd 45412012-11-23 Jakub Jelinek <jakub@redhat.com>
4542
4543 PR sanitizer/55435
4544 * c-common.c (handle_no_address_safety_analysis_attribute): New
4545 function.
4546 (c_common_attribute_table): Add no_address_safety_analysis.
4547
52bc861d 45482012-11-16 Simon Baldwin <simonb@google.com>
4549
4550 * c.opt: Add f[no-]canonical-system-headers.
4551 * c-opts.c (c_common_handle_option): Handle
4552 OPT_fcanonical_system_headers.
4553
2dd00636 45542012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
4555
4556 PR c++/54413
4557 * c-opts.c (c_common_handle_option): Set new flags.
4558 * c.opt: Describe new flags.
4559
d4701f6c 45602012-11-09 Jason Merrill <jason@redhat.com>
4561
4562 * c.opt (Wabi-tag): New.
4563
72d65da9 45642012-11-09 Andi Kleen <ak@linux.intel.com>
4565
4566 PR 55139
4567 * c-common.c (get_atomic_generic_size): Mask with
4568 MEMMODEL_MASK
4569
77a357e3 45702012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4571
4572 PR c/53063
4573 * c.opt (Wformat): Make it Alias Wformat=1.
4574 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
4575 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
4576 LangEnabledBy.
4577 (Wformat=): RejectNegative. Use LangEnabledBy.
4578 (Wnonnull): Use LangEnabledBy.
4579 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
4580 * c-format.c (set_Wformat): Delete.
4581 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
4582 (maybe_read_dollar_number): Likewise.
4583 (avoid_dollar_number): Likewise.
4584 (finish_dollar_format_checking): Likewise.
4585 (check_format_info): Likewise.
4586 (check_format_info_main): Likewise.
4587 (check_format_types): Likewise.
4588 (format_type_warning): Likewise.
4589 * c-common.c (int): Likewise.
4590 (check_function_sentinel): Likewise.
4591 * c-common.h (warn_format,set_Wformat): Do not declare here.
4592
45efa6b9 45932012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4594
4595 PR c/53063
4596 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
4597 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
4598 Use LangEnabledBy.
4599 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
4600 common.opt.
4601 (Wvariadic-macros): Init(1).
4602 * c-opts.c (c_common_handle_option): Do not handle them
4603 explicitly.
4604 (c_common_post_options): Likewise.
4605 (sanitize_cpp_opts): warn_unused_macros is now
4606 cpp_warn_unused_macros.
4607 (push_command_line_include): Likewise.
4608 * c-common.c (warn_unknown_pragmas): Do not define.
4609 * c-common.h (warn_unknown_pragmas): Do not declare.
4610
0e4e775a 46112012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4612
4613 PR c/51294
4614 * c-common.c (conversion_warning): Handle conditional expressions.
4615
8b447d3f 46162012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
4617
4618 PR c++/54930
4619 * c.opt (Wreturn_local_addr): Define new option.
4620
f4a61754 46212012-10-25 Jason Merrill <jason@redhat.com>
4622
ecb10e6a 4623 * c.opt (Wvirtual-move-assign): New.
4624
f4a61754 4625 * c.opt (Winherited-variadic-ctor): New.
4626
7b463b19 46272012-10-25 Marc Glisse <marc.glisse@inria.fr>
4628
4629 PR c++/54427
4630 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
4631
6adc88f8 46322012-10-23 Joseph Myers <joseph@codesourcery.com>
4633
4634 * c-common.h (pch_cpp_save_state): Declare.
4635 * c-target.def (c_preinclude): New hook.
4636 * c-opts.c (done_preinclude): New.
4637 (push_command_line_include): Handle default preincluded header.
4638 (cb_file_change): Call pch_cpp_save_state when calling
4639 push_command_line_include.
4640 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
4641 (pch_cpp_save_state): New.
4642 (pch_init): Call pch_cpp_save_state conditionally, instead of
4643 calling cpp_save_state.
4644
fa816b0b 46452012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4646
4647 PR c/53063
4648 PR c/40989
4649 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
4650 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
4651 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
4652 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
4653 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
4654 * c-opts.c (c_common_handle_option): Remove explicit handling from
4655 here.
4656 (c_common_post_options): Likewise.
4657
d214ccee 46582012-10-18 Eric Botcazou <ebotcazou@adacore.com>
4659
4660 * c-ada-spec.c (LOCATION_COL): Delete.
4661 (compare_location): New function.
4662 (compare_node): Use it.
4663 (compare_comment): Likewise.
4664
77b27208 46652012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
4666
4667 PR c/53063
4668 PR c/40989
4669 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
4670 * c-opts.c (c_common_handle_option): Do not set them here. Add
4671 comment.
4672 (c_common_post_options): Likewise.
4673
cc02ca4d 46742012-10-16 Eric Botcazou <ebotcazou@adacore.com>
4675
4676 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
4677 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
4678 Remove POINTER_TYPE handling, add large unsigned handling and use
4679 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
4680
57f872a2 46812012-10-12 Jakub Jelinek <jakub@redhat.com>
4682
4683 PR c/54381
4684 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
4685 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
4686 locs and array of 3 trees instead of just single loc and single
4687 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
4688 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
4689 For *cmp* builtins that take two sources strings report warnings
4690 about first and second source, not about destination and source.
4691
7354ad2e 46922012-10-12 Marc Glisse <marc.glisse@inria.fr>
4693
4694 PR c++/53055
4695 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
4696
1ac7f120 46972012-10-11 Eric Botcazou <ebotcazou@adacore.com>
4698
4699 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
4700 declaring something coming from another file.
4701
1e0cc9e3 47022012-10-10 Arnaud Charlet <charlet@adacore.com>
4703
1ac7f120 4704 PR ada/54845
1e0cc9e3 4705 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
4706
b0e7825e 47072012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
4708
4709 PR c++/54194
4710 * c-common.c (warn_about_parentheses): Add location_t parameter;
4711 use EXPR_LOC_OR_LOC.
4712 * c-common.h: Update declaration.
4713
41ed701a 47142012-10-09 Marc Glisse <marc.glisse@inria.fr>
4715
4716 PR c++/54427
4717 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
4718 more operations. Make error messages optional.
4719 * c-common.h (enum stv_conv): Moved from c-typeck.c.
4720 (scalar_to_vector): Declare.
4721
3740094c 47222012-10-08 Jason Merrill <jason@redhat.com>
4723
4724 * c-common.c (c_common_reswords): Add thread_local.
4725
ffcdbf9c 47262012-10-08 Dodji Seketeli <dodji@redhat.com>
4727
4728 PR c++/53528 C++11 attribute support
4729 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
4730 new functions.
4731 * c-common.c (check_cxx_fundamental_alignment_constraints): New
4732 static function.
4733 (handle_aligned_attribute): In choose strictest alignment
4734 among many. Use new check_cxx_fundamental_alignment_constraints.
4735 (handle_transparent_union_attribute): In c++11 attribute syntax,
4736 don't look through typedefs.
4737
ef34afc1 47382012-10-04 Arnaud Charlet <charlet@adacore.com>
4739
4740 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
4741 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
4742 out of dumpfile.h.
4743
f1ff4562 47442012-09-25 Dehao Chen <dehao@google.com>
4745
4746 PR middle-end/54645
ef34afc1 4747 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 4748 map when read in the pch.
4749
92a44a68 47502012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 4751
4752 * c-ada-spec.c: Style fixes.
4753
92a44a68 47542012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 4755
4756 * c.opt (-fada-spec-parent): Define new command line switch.
4757 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
4758 is specified, generate binding spec as a child of the specified unit.
4759
8eba82c2 47602012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
4761 Manuel López-Ibáñez <manu@gcc.gnu.org>
4762
4763 PR c++/53210
4764 * c.opt ([Winit-self]): Enabled by -Wall in C++.
4765
38682990 47662012-08-23 Arnaud Charlet <charlet@adacore.com>
4767
4768 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
4769 for pointers, and add missing Convention C pragma.
4770 (print_ada_struct_decl): Add missing aliased keyword.
4771 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
4772
f003f5dc 47732012-08-17 Jakub Jelinek <jakub@redhat.com>
4774
4775 * c-common.c (sizeof_pointer_memaccess_warning): New function.
4776 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
4777 * c-opts.c (c_common_handle_option): Enable it for -Wall.
4778 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
4779 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
4780
ec11736b 47812012-08-10 Richard Guenther <rguenther@suse.de>
4782
4783 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
4784
5f7f600e 47852012-08-07 Steven Bosscher <steven@gcc.gnu.org>
4786
4787 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
4788 instead of separate pp_newline and pp_flush.
4789 (print_c_tree): Likewise.
4790
758a38ab 47912012-07-26 Richard Henderson <rth@redhat.com>
4792
4793 * c-common.c (handle_hot_attribute): Allow labels.
4794 (handle_cold_attribute): Likewise.
4795
9ca77b08 47962012-07-20 Jakub Jelinek <jakub@redhat.com>
4797
4798 PR c++/28656
4799 * c-common.c (check_function_nonnull): Handle multiple nonnull
4800 attributes properly.
4801
b9ed1410 48022012-07-16 Steven Bosscher <steven@gcc.gnu.org>
4803
4804 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
4805 * c-ada-spec.c: Likewise.
4806 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
4807
c2a65b90 48082012-07-14 Steven Bosscher <steven@gcc.gnu.org>
4809
4810 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
4811 Remove code conditional on it.
4812
88c5a1d1 48132012-07-11 Steven Bosscher <steven@gcc.gnu.org>
4814
4815 * c-gimplify.c: Do not include basic-block.h.
4816 * c-common.c: Do not include linfuncs.h.
4817
4a020a8c 48182012-07-08 Steven Bosscher <steven@gcc.gnu.org>
4819
4820 * c-common.h: Include tree.h.
4821
c28ddc97 48222012-07-02 Jason Merrill <jason@redhat.com>
4823
4824 PR c++/53524
4825 * c-common.c (get_priority): Call default_conversion.
4826
405ed67f 48272012-07-01 Uros Bizjak <ubizjak@gmail.com>
4828
4829 * c-pch.c (c_common_write_pch): Remove unused variables.
4830
e53d55e7 48312012-06-29 Steven Bosscher <steven@gcc.gnu.org>
4832
4833 * cppspec.c: Moved from gcc/ to here.
4834
3d9c25ec 48352012-06-27 Kai Tietz <ktietz@redhat.com>
4836
4837 PR preprocessor/37215
4838 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
4839
3169c57a 48402012-06-21 Steven Bosscher <steven@gcc.gnu.org>
4841
4842 * c-common.h (c_common_print_pch_checksum): Remove.
4843 * c-pch.c: Do not include output.h.
4844 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
4845 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
4846 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
4847 (struct c_pch_header): Remove.
4848 (get_ident): Update gpch version.
4849 (pch_init): Do not print executable_checksum to asm_out_file.
4850 Do not fail if there is no asm_out_file to read back from. Set
4851 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
4852 (c_common_write_pch): Verify that nothing was written to asm_out_file
4853 since pch_init was called. Do not write a c_pch_header, and do not
4854 copy from asm_out_file to the PCH.
4855 (c_common_read_pch): Do not read a c_pch_header, and do not restore
4856 the content of asm_out_file from the PCH.
4857 (c_common_print_pch_checksum): Remove.
4858 * c-opts.c (c_common_init): Print out executable_checksum directly.
4859
ff6624bc 48602012-06-19 Steven Bosscher <steven@gcc.gnu.org>
4861
4862 * c-target.def (objc_declare_unresolved_class_reference,
4863 objc_declare_class_definition): Add new hooks.
4864
367b1459 48652012-06-19 Steven Bosscher <steven@gcc.gnu.org>
4866
4867 * c-lex.c: Do not include output.h.
4868 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
4869 Remove uses of ASM_OUTPUT_IDENT.
4870
bf0cb017 48712012-06-15 Marc Glisse <marc.glisse@inria.fr>
4872
4873 PR c++/51033
4874 * c-common.h (c_build_vec_perm_expr): Move decl here.
4875 * c-common.c (c_build_vec_perm_expr): Move definition
4876 here.
4877
b37a3600 48782012-06-06 Steven Bosscher <steven@gcc.gnu.org>
4879
4880 * c.opt (fconserve-space): Turn into a no-op.
4881
19931eea 48822012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 4883
4884 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
4885 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
4886 both the start and end of the function.
4887
dff12c10 48882012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4889
4890 * c-common.c: Do not include output.h.
4891 * c-pragma.c: Likewise.
4892
5f9e7dd5 48932012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4894
4895 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
4896 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
4897 (lang_decl_name): Handle namespace decls.
4898
b5369b7d 48992012-05-31 Steven Bosscher <steven@gcc.gnu.org>
4900
4901 * c-ada-spec.c: Do not include output.h.
4902 * c-semantics.c: Likewise.
4903
8032877c 49042012-05-29 Joseph Myers <joseph@codesourcery.com>
4905
4906 * c-common.c: Fix typo.
4907
7843e4bc 49082012-05-29 Michael Matz <matz@suse.de>
4909
4910 * c-common.h (c_expand_decl): Remove prototype.
4911
8cf857d4 49122012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4913
4914 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
4915 * c-opts.c (c_common_handle_option): Remove code handling
4916 warn_missing_braces.
4917
8b64dc3c 49182012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
4919
4920 PR c++/25137
4921 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
4922 -Wmissing_braces.
4923
43cbde16 49242012-05-22 Dodji Seketeli <dodji@redhat.com>
4925
4926 PR c++/53322
4927 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
4928
db490cb6 49292012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
4930
4931 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
4932 * c-opts.c (c_common_handle_option): Do not handle explicitly
4933 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
4934
a60f3e81 49352012-05-16 Dodji Seketeli <dodji@redhat.com>
4936
4937 PR preprocessor/7263
4938 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
4939 to cpp_classify_number. For diagnostics, use the precise location
4940 instead of the global input_location.
4941
82e6ef7c 49422012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4943
cd4797ff 4944 PR c++/11856
82e6ef7c 4945 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
4946
258a168d 49472012-05-14 Bernd Schmidt <bernds@codesourcery.com>
4948
82e6ef7c 4949 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 4950
d3b7ee7c 49512012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
4952
4953 PR 53063
4954 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
4955 Wreorder): Use LangEnabledBy.
4956 * c-opts.c (c_common_handle_option): Do not enable them
4957 explicitly. Call lang-specific generated functions.
4958 (c_common_post_options): Do not set them here.
4959
70059cea 49602012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
4961
4962 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
4963 Wmissing-field-initializers,Wmissing-parameter-type,
4964 Wold-style-declaration,Woverride-init): Use EnabledBy.
4965 * c-opts.c (c_common_post_options): Do not set here explicitly.
4966
fbb6fbd8 49672012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4968
4969 PR 53063
4970 * c-opts.c (c_common_handle_option): Use handle_generated_option
4971 to enable sub-options.
4972
61f69bc9 49732012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
4974
4975 PR c++/53158
4976 * c-common.c (warnings_for_convert_and_check): Use warning_at.
4977
5a1fe2db 49782012-05-10 Richard Guenther <rguenther@suse.de>
4979
4980 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
4981 adjust commentary about TYPE_IS_SIZETYPE types.
4982
d42e7c5a 49832012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4984
4985 PR c++/53261
4986 * c-common.c (warn_logical_operator): Check that argument of
4987 integer_zerop is not NULL.
4988
686369e8 49892012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
4990
4991 PR c/43772
4992 * c-common.c (warn_logical_operator): Do not warn if either side
4993 is already true or false.
4994
03fe1dc2 49952012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4996
4997 PR c/51712
4998 * c-common.c (expr_original_type): New.
4999 (shorten_compare): Do not warn for enumeration types.
5000
bba5a206 50012012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5002
5003 * c.opt (fpermissive): Add Var(flag_permissive).
5004
7059d45d 50052012-04-30 Marc Glisse <marc.glisse@inria.fr>
5006
5007 PR c++/51033
5008 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5009 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5010
7edb1062 50112012-04-30 Dodji Seketeli <dodji@redhat.com>
5012
5013 Add -Wvarargs option
5014 * c.opt (Wvarargs): Define new option.
5015
068bea1e 50162012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5017
5018 * c-common.c (check_function_arguments): Replace
5019 Wmissing-format-attribute with Wsuggest-attribute=format.
5020
b86527d8 50212012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5022
5023 * c.opt (Wsuggest-attribute=format): New. Alias of
5024 Wmissing-format-attribute.
5025 * c-format.c (decode_format_type): Replace
5026 Wmissing-format-attribute with Wsuggest-attribute=format.
5027 (check_function_format): Likewise.
5028
19931eea 50292012-04-27 Ollie Wild <aaw@google.com>
76d340ac 5030
5031 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5032 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5033 * c.opt: Add Wliteral-suffix.
5034
29438999 50352012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5036
5037 PR c/44774
5038 * c.opt (Wpedantic): New.
5039 (pedantic): Alias Wpedantic.
5040 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5041 (c_common_post_options): Likewise.
5042 (sanitize_cpp_opts): Likewise.
5043 * c-lex.c (interpret_float): Likewise.
5044 * c-format.c (check_format_types): Likewise.
5045 * c-common.c (pointer_int_sum): Likewise.
5046 (c_sizeof_or_alignof_type): Likewise.
5047 (c_add_case_label): Likewise.
5048 (c_do_switch_warnings): Likewise.
5049 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5050
4f9d6b8b 50512012-04-15 Jason Merrill <jason@redhat.com>
5052
5053 PR c++/52818
5054 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5055 (C_STD_NAME): Distinguish between C++98 and C++11.
5056
74bdbe96 50572012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5058
5059 PR target/52624
5060 * c-common.h (uint16_type_node): Rename into...
5061 (c_uint16_type_node): ...this.
5062 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5063 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5064
3d177e8c 50652012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5066
5067 * c-common.c (warn_if_unused_value): Move definition to here.
5068 * c-common.h (warn_if_unused_value): Move declaration to here.
5069
6a9a958f 50702012-03-23 William Bader <williambader@hotmail.com>
5071
5072 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5073
543efdbe 50742012-03-20 Jason Merrill <jason@redhat.com>
5075
5076 * c-common.h (enum cxx_dialect): Add cxx1y.
5077 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5078 test.
5079 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5080 * c-opts.c (c_common_post_options): Likewise.
5081 (set_std_cxx1y): New.
5082 (c_common_handle_option): Call it.
5083 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5084
62206d34 50852012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5086
5087 PR c++/14710
5088 * c.opt ([Wuseless-cast]): Add.
5089
fadf62f4 50902012-03-16 Richard Guenther <rguenther@suse.de>
5091
5092 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5093
249faa35 50942012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5095
5096 PR c++/44783
5097 * c.opt (ftemplate-backtrace-limit) Add.
5098
126b6848 50992012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5100
5101 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5102 handling.
5103 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5104 (init_pragma): Don't register extern_prefix.
5105
a51edb4c 51062012-03-12 Richard Guenther <rguenther@suse.de>
5107
5108 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5109 (builtin_type_for_size): Likewise.
5110
0f6a7cb7 51112012-02-13 Jakub Jelinek <jakub@redhat.com>
5112
5113 PR c++/52215
5114 * c-common.c (sync_resolve_params): Don't decide whether to convert
5115 or not based on TYPE_SIZE comparison, convert whenever arg_type
5116 is unsigned INTEGER_TYPE.
5117
0779e32c 51182012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
5119
5120 PR c/52118
5121 * c.opt ([Wunused-local-typedefs]): Fix description.
5122
baec58e1 51232012-01-24 Mike Stump <mikestump@comcast.net>
5124
5125 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
5126 exactly.
5127
c779d8cc 51282012-01-18 Richard Guenther <rguenther@suse.de>
5129
5130 * c-opts.c (c_common_post_options): Reset LTO flags if
5131 we are about to generate a PCH.
5132
ee917d24 51332012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
5134
5135 PR c++/51777
5136 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
5137 use pp_unsigned_wide_integer.
5138
90e2341f 51392012-01-10 Richard Guenther <rguenther@suse.de>
5140
5141 PR middle-end/51806
5142 * c-opts.c (c_common_handle_option): Move -Werror handling
5143 to language independent code.
5144
9ea022ce 51452012-01-05 Richard Guenther <rguenther@suse.de>
5146
5147 PR middle-end/51764
5148 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
5149 from common.opt.
5150
3df19e1b 51512011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
5152
5153 PR c++/51316
5154 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5155 of array types with an unknown bound.
5156
32074525 51572011-12-20 Joseph Myers <joseph@codesourcery.com>
5158
5159 * c-common.c (flag_isoc99): Update comment to refer to C11.
5160 (flag_isoc1x): Change to flag_isoc11.
5161 * c-common.h (flag_isoc99): Update comment to refer to C11.
5162 (flag_isoc1x): Change to flag_isoc11.
5163 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
5164 C11.
5165 * c-opts.c (set_std_c1x): Change to set_std_c11.
5166 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
5167 Call set_std_c11.
5168 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
5169 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
5170 * c.opt (std=c1x): Change to std=c11. Document as non-draft
5171 standard.
5172 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
5173 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
5174 (std=gnu1x): Make alias of std=gnu11.
5175
fca86134 51762011-12-19 Jason Merrill <jason@redhat.com>
5177
5178 PR c++/51228
5179 * c-common.c (handle_transparent_union_attribute): Check the first
5180 field if the type is complete.
5181
aa4313eb 51822011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
5183
5184 PR libstdc++/51365
5185 * c-common.c (RID_IS_FINAL): Add.
5186 * c-common.h (RID_IS_FINAL): Add.
5187
3f3d5ad4 51882011-11-30 Iain Sandoe <iains@gcc.gnu.org>
5189
5190 * c.opt (fgnu-runtime): Provide full description.
5191 (fnext-runtime): Likewise.
5192 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
5193
c4606d19 51942011-11-28 Andrew MacLeod <amacleod@redhat.com>
5195
5196 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
5197 predefines in one place. Add LOCK_FREE predefines.
5198 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
5199 new func.
5200
1d581089 52012011-11-24 Andrew MacLeod <amacleod@redhat.com>
5202
5203 PR c/51256
19931eea 5204 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 5205 conditions
19931eea 5206 (resolve_overloaded_atomic_exchange,
5207 resolve_overloaded_atomic_compare_exchange,
1d581089 5208 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
5209 error_mark_node for error conditions.
19931eea 5210
6aa221fa 52112011-11-08 Richard Guenther <rguenther@suse.de>
5212
5213 PR middle-end/51010
5214 c-family/
5215
4c0315d0 52162011-11-07 Richard Henderson <rth@redhat.com>
5217 Aldy Hernandez <aldyh@redhat.com>
5218 Torvald Riegel <triegel@redhat.com>
5219
5220 Merged from transactional-memory.
5221
5222 * c-common.c (handle_tm_wrap_attribute,
5223 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
5224 (struct c_common_reswords): Added __transaction* keywords.
5225 (struct c_common_attribute_table): Added transaction* and tm_regparm
5226 attributes.
5227 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
5228 masks.
5229 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
5230 find_tm_attribute): Declare.
5231
920f5a70 52322011-11-07 Jason Merrill <jason@redhat.com>
5233
5234 PR c++/35688
5235 * c-common.c, c-common.h: Revert yesterday's changes.
5236
b4f861b4 52372011-11-06 Jason Merrill <jason@redhat.com>
5238
5239 PR c++/35688
5240 * c-common.c (decl_has_visibility_attr): Split out from...
5241 (c_determine_visibility): ...here.
5242 * c-common.h: Declare it.
5243
83e25171 52442011-11-06 Joseph Myers <joseph@codesourcery.com>
5245
5246 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
5247 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
5248 type.
5249 (check_user_alignment): New. Split out of
5250 handle_aligned_attribute. Disallow integer constants with
5251 noninteger types. Conditionally allow zero.
5252 (handle_aligned_attribute): Use check_user_alignment.
5253 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
5254
1cd6e20d 52552011-11-06 Andrew MacLeod <amacleod@redhat.com>
5256 Richard Henderson <rth@redhat.com>
5257
5258 Merged from cxx-mem-model.
5259
5260 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 5261 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 5262 parameters that are the same type size.
5263 (get_atomic_generic_size): New. Find size of generic
5264 atomic function parameters and do typechecking.
5265 (add_atomic_size_parameter): New. Insert size into parameter list.
5266 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
5267 either __atomic_exchange_n or external library call.
19931eea 5268 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 5269 __atomic_compare_exchange to either _n variant or external library call.
19931eea 5270 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 5271 __atomic_load_n or an external library call.
5272 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
5273 __atomic_store_n or an external library call.
5274 (resolve_overloaded_builtin): Handle new __atomic builtins.
5275
7549df0d 52762011-11-04 Eric Botcazou <ebotcazou@adacore.com>
5277
5278 PR c++/50608
5279 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
5280 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
5281 <INDIRECT_REF>: Return the argument.
5282 <ARRAY_REF>: Remove special code for negative offset.
5283 Call fold_build_pointer_plus instead of size_binop.
5284 (fold_offsetof): Remove STOP_REF argument and adjust.
5285 * c-common.h (fold_offsetof_1): Declare.
5286 (fold_offsetof): Remove STOP_REF argument.
5287
7e783eb3 52882011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
5289
5290 PR c++/50810
5291 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5292 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5293 Wnarrowing for C++0x and C++98.
5294 * c.opt ([Wnarrowing]): Update.
5295
8fe701f5 52962011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
5297
5298 PR c++/44277
5299 * c.opt: Add Wzero-as-null-pointer-constant.
5300
0d84dc2d 53012011-10-31 Jason Merrill <jason@redhat.com>
5302
67031f52 5303 * c.opt (-fdeduce-init-list): Off by default.
5304
0d84dc2d 5305 PR c++/50920
5306 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
5307 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
5308 and -Wc++11-compat.
5309 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
5310
66f24c41 53112011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
5312
5313 PR c++/30066
5314 * c.opt (fvisibility-inlines-hidden): Description change.
5315
244db24d 53162011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
5317
5318 Implement C++11 user-defined literals.
5319 * c-common.c (build_userdef_literal): New.
5320 * c-common.def: New tree code.
5321 * c-common.h (tree_userdef_literal): New tree struct and accessors.
5322 * c-lex.c (interpret_float): Add suffix parm.
5323 (c_lex_with_flags): Build literal tokens.
5324
235be70f 53252011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5326
5327 PR c++/50841
5328 Revert:
5329 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5330
5331 PR c++/50810
5332 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5333 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5334 Wnarrowing for C++0x and C++98.
5335 * c.opt ([Wnarrowing]): Update.
5336
4fe0fb1c 53372011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
5338
5339 PR c++/50810
5340 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5341 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5342 Wnarrowing for C++0x and C++98.
5343 * c.opt ([Wnarrowing]): Update.
5344
5f7504f9 53452011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
5346
5347 PR c++/45385
5348 * c-common.c (conversion_warning): Remove code looking for
5349 artificial operands.
5350
2a688977 53512011-10-18 Dodji Seketeli <dodji@redhat.com>
5352
5353 PR bootstrap/50760
5354 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 5355 !NO_IMPLICIT_EXTERN_C.
2a688977 5356
326e3391 53572011-10-17 Michael Spertus <mike_spertus@symantec.com>
5358
5359 * c-common.c (c_common_reswords): Add __bases,
5360 __direct_bases.
5361 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
5362
53632011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
5364
5365 PR c++/50757
5366 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
5367
62db153a 53682011-10-15 Tom Tromey <tromey@redhat.com>
5369 Dodji Seketeli <dodji@redhat.com>
5370
5371 * c.opt (fdebug-cpp): New option.
5372 * c-opts.c (c_common_handle_option): Handle the option.
5373 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
5374 output stream in parameter. Factorized from ...
5375 (maybe_print_line): ... this. Dump location debug information when
5376 -fdebug-cpp is in effect.
5377 (print_line_1): New static function. Takes an output stream in
5378 parameter. Factorized from ...
5379 (print_line): ... here. Dump location information when -fdebug-cpp
5380 is in effect.
5381 (scan_translation_unit): Dump location information when
5382 -fdebug-cpp is in effect.
5383
ce70f433 53842011-10-15 Tom Tromey <tromey@redhat.com>
5385 Dodji Seketeli <dodji@redhat.com>
5386
5387 * c.opt (ftrack-macro-expansion): New option. Handle it with and
5388 without argument.
5389 * c-opts.c (c_common_handle_option)<case
5390 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
5391 cases. Handle -ftrack-macro-expansion with and without argument.
5392
97bfb9ef 53932011-10-15 Tom Tromey <tromey@redhat.com>
5394 Dodji Seketeli <dodji@redhat.com>
5395
5396 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
5397 (print_line, cb_define, do_line_change): Adjust to avoid touching
5398 the internals of struct line_map. Use the public API instead.
5399 * c-pch.c (c_common_read_pch): Likewise.
5400 * c-lex.c (fe_file_change): Likewise.
5401
326e3391 54022011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
5403
5404 PR c++/17212
5405 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
5406
54072011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
5408
5409 PR c++/33067
5410 * c-pretty-print.c (pp_c_floating_constant): Output
5411 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
5412
b9a16870 54132011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
5414
5415 * c-common.c (def_builtin_1): Delete old interface with two
5416 parallel arrays to hold standard builtin declarations, and replace
5417 it with a function based interface that can support creating
5418 builtins on the fly in the future. Change all uses, and poison
5419 the old names. Make sure 0 is not a legitimate builtin index.
5420 * c-omp.c (c_finish_omp_barrier): Ditto.
5421 (c_finish_omp_taskwait): Ditto.
5422 (c_finish_omp_flush): Ditto.
5423
c7964868 54242011-10-11 Tristan Gingold <gingold@adacore.com>
5425
5426 * c.opt: (fallow-parameterless-variadic-functions): New.
5427
a4e3ffad 54282011-09-08 Dodji Seketeli <dodji@redhat.com>
5429
5430 PR c++/33255 - Support -Wunused-local-typedefs warning
5431 * c-common.h (struct c_language_function::local_typedefs): New
5432 field.
19931eea 5433 (record_locally_defined_typedef, maybe_record_typedef_use)
5434 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 5435 * c-common.c (record_locally_defined_typedef)
19931eea 5436 (maybe_record_typedef_use)
5437 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 5438 * c.opt: Declare new -Wunused-local-typedefs flag.
5439
737a23cc 54402011-09-06 Eric Botcazou <ebotcazou@adacore.com>
5441
5442 PR middle-end/50266
5443 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
5444 computations.
5445
7542c3b4 54462011-09-05 Richard Guenther <rguenther@suse.de>
5447
5448 * c-common.c (complete_array_type): Use ssize_int (-1) instead
5449 of integer_minus_one_node for empty array upper bounds.
5450
1dc92c59 54512011-08-28 Dodji Seketeli <dodji@redhat.com>
5452
5453 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
5454 it's the first time it's being called on this main TU.
5455
2bdf2b6e 54562011-08-24 Richard Guenther <rguenther@suse.de>
5457
5458 PR c/49396
5459 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
5460
54612011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 5462
5463 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
5464 defined in cpp_init_builtins and c_cpp_builtins.
5465
bff4ad11 54662011-08-19 Joseph Myers <joseph@codesourcery.com>
5467
5468 * c-common.c (c_common_reswords): Add __builtin_complex.
5469 * c-common.h (RID_BUILTIN_COMPLEX): New.
5470
985c6e3a 54712011-08-18 Joseph Myers <joseph@codesourcery.com>
5472
5473 * c-common.c (c_common_reswords): Add _Noreturn.
5474 (keyword_is_function_specifier): Handle RID_NORETURN.
5475 * c-common.h (RID_NORETURN): New.
5476
92a44a68 54772011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 5478
5479 * c-common.c (unsafe_conversion_p): New function. Check if it is
5480 unsafe to convert an expression to the type.
5481 (conversion_warning): Adjust, use unsafe_conversion_p.
5482 * c-common.h (unsafe_conversion_p): New function declaration.
5483
2169f33b 54842011-08-02 Jakub Jelinek <jakub@redhat.com>
5485
5486 * c-common.h (c_finish_omp_atomic): Adjust prototype.
5487 (c_finish_omp_taskyield): New prototype.
5488 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
5489 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
5490 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
5491 or RHS1 have side-effects, evaluate those too in the right spot,
5492 if it is a decl and LHS is also a decl, error out if they
5493 aren't the same.
5494 (c_finish_omp_taskyield): New function.
5495 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
5496 * c-pragma.c (omp_pragmas): Add taskyield.
5497 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
5498 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
5499 PRAGMA_OMP_CLAUSE_MERGEABLE.
5500
ab77850e 55012011-07-25 Dodji Seketeli <dodji@redhat.com>
5502
5503 * c-common.h (set_underlying_type): Remove parm name from
5504 declaration.
5505
6ee97920 55062011-07-25 Romain Geissler <romain.geissler@gmail.com>
5507
5508 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 5509
dc251364 55102011-07-22 Jason Merrill <jason@redhat.com>
5511
1a2a35f0 5512 PR c++/49793
5513 * c.opt (Wnarrowing): New.
5514
27282252 5515 PR c++/30112
5516 * c-common.h: Declare c_linkage_bindings.
5517 * c-pragma.c (handle_pragma_redefine_extname): Use it.
5518
dc251364 5519 PR c++/49813
5520 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
5521 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
5522 as flag_isoc99 for 'restrict'.
5523 (pp_c_specifier_qualifier_list): Likewise for _Complex.
5524
fc501191 55252011-07-21 Ian Lance Taylor <iant@google.com>
5526
5527 PR middle-end/49705
5528 * c-common.c (c_disable_warnings): New static function.
5529 (c_enable_warnings): New static function.
5530 (c_fully_fold_internal): Change local unused_p to bool. Call
5531 c_disable_warnings and c_enable_warnings rather than change
5532 c_inhibit_evaluation_warnings.
5533
07b8f133 55342011-07-20 Jason Merrill <jason@redhat.com>
5535
5536 PR c++/6709 (DR 743)
5537 PR c++/42603 (DR 950)
5538 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
5539 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
5540 (CPP_DECLTYPE): New.
5541 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
5542
2cc66f2a 55432011-07-19 Richard Guenther <rguenther@suse.de>
5544
5545 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
5546 * c-omp.c (c_finish_omp_for): Likewise.
5547
3c802a1e 55482011-07-12 Eric Botcazou <ebotcazou@adacore.com>
5549
5550 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
5551 body on the next line.
5552
98a33d9f 55532011-07-08 Jason Merrill <jason@redhat.com>
5554
3115bda0 5555 PR c++/45437
5556 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
5557
98a33d9f 5558 PR c++/49673
5559 * c-common.c (c_apply_type_quals_to_decl): Don't check
5560 TYPE_NEEDS_CONSTRUCTING.
5561
c38a75b7 55622011-07-06 Richard Guenther <rguenther@suse.de>
5563
5564 * c-common.c (c_common_nodes_and_builtins):
5565 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
5566
e593356b 55672011-07-05 Richard Guenther <rguenther@suse.de>
5568
5569 * c-common.c (c_common_nodes_and_builtins): Build all common
5570 tree nodes first.
5571
fca0886c 55722011-06-27 Jakub Jelinek <jakub@redhat.com>
5573
a68f7a8d 5574 * c-common.h (c_tree_chain_next): New static inline function.
5575
fca0886c 5576 * c-common.c (check_builtin_function_arguments): Handle
5577 BUILT_IN_ASSUME_ALIGNED.
5578
2797f13a 55792011-06-21 Andrew MacLeod <amacleod@redhat.com>
5580
5581 * c-common.c: Add sync_ or SYNC__ to builtin names.
5582 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 5583
55842011-06-20 Pierre Vittet <piervit@pvittet.com>
5585
5586 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
5587 handler.
5588 (gen_pragma_handler): New union.
5589 (internal_pragma_handler): New type.
5590 (c_register_pragma_with_data)
5591 (c_register_pragma_with_expansion_and_data): New functions.
5592
5593 * c-pragma.c (registered_pragmas, c_register_pragma_1)
5594 (c_register_pragma, c_register_pragma_with_expansion)
5595 (c_invoke_pragma_handler): Changed to work with
5596 internal_pragma_handler.
5597 (c_register_pragma_with_data)
5598 (c_register_pragma_with_expansion_and_data): New functions.
5599
218e3e4e 56002011-06-14 Joseph Myers <joseph@codesourcery.com>
5601
5602 * c-common.c: Include common/common-target.h.
5603 (handle_section_attribute): Use
5604 targetm_common.have_named_sections.
5605 * c-cppbuiltin.c: Include common/common-target.h.
5606 (c_cpp_builtins): Use targetm_common.except_unwind_info.
5607
41e53ed2 56082011-06-10 Richard Guenther <rguenther@suse.de>
5609
5610 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
5611 to print a IDENTIFIER_NODE.
5612
a6f06169 56132011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5614 Joseph Myers <joseph@codesourcery.com>
5615
5616 * c.opt (fbuilding-libgcc): New option.
5617 * c-cppbuiltin.c (c_cpp_builtins): Define
5618 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
5619
1ea9269b 56202011-06-07 Jason Merrill <jason@redhat.com>
5621
8ce59854 5622 * c-common.c (max_tinst_depth): Lower default to 900.
5623
1ea9269b 5624 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
5625
1af0124d 56262011-06-07 Richard Guenther <rguenther@suse.de>
5627
5628 * c-common.c (c_common_nodes_and_builtins): Do not set
5629 size_type_node or call set_sizetype.
5630
0e9a4c01 56312011-06-07 Dodji Seketeli <dodji@redhat.com>
5632
5633 PR debug/49130
5634 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 5635 type when using pointer comparison to compare types.
0e9a4c01 5636
90b40725 56372011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
5638
5639 * c.opt: Add -Wdelete-non-virtual-dtor.
5640 * c-opts.c (c_common_handle_option): Include it in -Wall.
5641
fc9c9e87 56422011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
5643
5644 PR bootstrap/49190
5645
5646 Revert:
5647 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5648
5649 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5650 not tree_common.
5651
d0389adc 56522011-05-27 Jakub Jelinek <jakub@redhat.com>
5653
5654 PR c++/49165
5655 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
5656 C++ don't call c_common_truthvalue_conversion on void type arms.
5657
cacfdc02 56582011-05-27 Nathan Froyd <froydnj@codesourcery.com>
5659
5660 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
5661 (stmt_list_stack): Define.
5662 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
5663 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
5664
027fc6ef 56652011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5666
5667 * c-common.c (warning_candidate_p): Check for BLOCKs.
5668
f21317a1 56692011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5670
5671 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5672 not tree_common.
5673
789e953d 56742011-05-25 Jakub Jelinek <jakub@redhat.com>
5675
5676 * c-common.c (def_fn_type): Remove extra va_end.
5677
7f506bca 56782011-05-23 Jason Merrill <jason@redhat.com>
5679
5680 PR c++/48106
5681 * c-common.c (c_common_get_narrower): New.
5682 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
5683
774e9d58 56842011-05-23 Nathan Froyd <froydnj@codesourcery.com>
5685
5686 * c-common.h (check_function_arguments): Tweak prototype of
5687 check_function_arguments.
5688 * c-common.c (check_function_arguments): Likewise. Adjust
5689 calls to check_function_nonnull, check_function_format, and
5690 check_function_sentinel.
5691 (check_function_sentinel): Take a FUNCTION_TYPE rather than
5692 separate attributes and typelist arguments. Use
5693 FOREACH_FUNCTION_ARGS to iterate over argument types.
5694
23407dc9 56952011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5696
5697 * c-common.c (c_common_reswords): Reorder.
5698 * c-common.h (rid): Likewise.
5699
3a939d12 57002011-05-10 Nathan Froyd <froydnj@codesourcery.com>
5701
5702 * c-common.c (def_fn_type): Don't call build_function_type, call
5703 build_function_type_array or build_varargs_function_type_array
5704 instead.
5705 (c_common_nodes_and_builtins): Likewise.
5706
b6e3dd65 57072011-05-05 Nathan Froyd <froydnj@codesourcery.com>
5708
5709 * c-common.c (c_add_case_label): Omit the loc argument to
5710 build_case_label.
5711 * c-common.h (build_case_label): Remove.
5712 * c-semantics.c (build_case_label): Remove.
5713
4232a958 57142011-05-05 Joseph Myers <joseph@codesourcery.com>
5715
5716 * c-objc.h (objc_start_method_definition): Update prototype.
5717 * stub-objc.c (objc_start_method_definition): Add extra parameter.
5718
d0af78c5 57192011-05-04 Nathan Froyd <froydnj@codesourcery.com>
5720
5721 * c-common.c (check_main_parameter_types): Reindent. Don't use
5722 TYPE_ARG_TYPES directly.
5723 (handle_nonnull_attribute): Likewise.
5724 (sync_resolve_params): Likewise.
5725 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
5726 to check_format_string.
5727 (handle_format_attribute): Likewise.
5728 (check_format_string): Take a function type to examine instead of
5729 a type list. Use a function_arg_iterator to step through argument
5730 types.
5731
ceb7b692 57322011-05-04 Richard Guenther <rguenther@suse.de>
5733
5734 * c-common.c (fix_string_type): Use size_int for index type bounds.
5735 (start_fname_decls): Do not pass NULL to build_int_cst.
5736 (c_init_attributes): Likewise.
5737 * c-lex.c (c_lex_with_flags): Likewise.
5738
c66c81be 57392011-04-27 Jason Merrill <jason@redhat.com>
5740
5741 * c-common.c (make_tree_vector_from_list): New.
5742 * c-common.h: Declare it.
5743
16930c72 57442011-04-26 Richard Guenther <rguenther@suse.de>
5745
5746 PR preprocessor/48248
5747 * c-ppoutput.c (maybe_print_line): Always optimize newlines
5748 for output size with -P.
5749
23407dc9 57502011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
5751
5752 * c-common.c (struct c_common_resword): Add __underlying_type.
5753 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
5754
dd045aee 57552011-04-20 Jim Meyering <meyering@redhat.com>
5756
5757 * c-format.c (init_dollar_format_checking): Remove useless
5758 if-before-free.
5759
394dd737 57602011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
5761
5762 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 5763 (objc_detect_field_duplicates): New.
394dd737 5764 * stub-objc.c: Likewise.
23407dc9 5765
a758bf7d 57662011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5767
5768 * stub-objc.c (objc_declare_protocols): Renamed to
5769 objc_declare_protocol.
5770 * c-objc.h: Likewise.
23407dc9 5771
29d7200d 57722011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5773
5774 * stub-objc.c (objc_declare_class): Updated argument name.
5775
9b88d08d 57762011-04-12 Nathan Froyd <froydnj@codesourcery.com>
5777
5778 * c-common.h (c_common_init_ts): Declare.
5779 * c-common.c (c_common_init_ts): Define.
5780
4185cf58 57812011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
5782
5783 * c-objc.h (objc_build_message_expr): Updated prototype.
5784 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 5785
5a90471f 57862011-04-12 Martin Jambor <mjambor@suse.cz>
5787
5788 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
5789 of cgraph_node.
5790
783bb57e 57912011-04-11 Richard Guenther <rguenther@suse.de>
5792
5793 * c-common.c (complete_array_type): Build a range type of
5794 proper type.
5795
c33080b9 57962011-04-08 Nathan Froyd <froydnj@codesourcery.com>
5797
5798 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
5799 (handle_type_generic_attribute): Likewise.
5800
f8913d47 58012011-04-07 Jason Merrill <jason@redhat.com>
5802
5803 PR c++/48450
5804 * c-common.c (c_common_truthvalue_conversion): Don't ignore
5805 conversion from C++0x scoped enum.
5806
c94b1d0e 58072011-04-06 Joseph Myers <joseph@codesourcery.com>
5808
5809 * c-target-def.h: New file.
5810 * c-target.def: New file.
5811 * c-target.h: New file.
5812 * c-common.c (targetcm): Don't define here.
5813 * c-common.h (default_handle_c_option): Declare.
5814 * c-format.c: Include c-target.h instead of target.h.
5815 * c-opts.c: Include c-target.h instead of target.h. Explicitly
5816 include tm.h.
5817 (default_handle_c_option): Move from targhooks.c.
5818
acb10f41 58192011-03-29 Jakub Jelinek <jakub@redhat.com>
5820
5821 PR preprocessor/48248
5822 * c-ppoutput.c (print): Add src_file field.
5823 (init_pp_output): Initialize it.
5824 (maybe_print_line): Don't optimize by adding up to 8 newlines
5825 if map->to_file and print.src_file are different file.
5826 (print_line): Update print.src_file.
5827
82715bcd 58282011-03-25 Kai Tietz <ktietz@redhat.com>
5829
5830 * c-ada-spec.c (compare_comment): Use filename_cmp
5831 instead of strcmp for filename.
5832
451c8e2f 58332011-03-25 Jeff Law <law@redhat.com>
5834
1f78217c 5835 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 5836
3c47771c 58372011-03-25 Jason Merrill <jason@redhat.com>
5838
5839 * c.opt: Add -std=c++03.
5840
97e6200f 58412011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5842
5843 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
5844
92a44a68 58452011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 5846
5847 PR target/12171
ee212425 5848 * c-pretty-print.c (pp_c_specifier_qualifier_list):
5849 Display allowed attributes for function pointer types.
5850 (pp_c_attributes_display): New function to display
5851 attributes having affects_type_identity flag set to true.
5852 * c-pretty-print.h (pp_c_attributes_display): New prototype.
5853
ac86af5d 5854 * c-common.c (c_common_attribute_table):
5855 Add new element.
5856 (c_common_format_attribute_table): Likewise.
5857
914d1151 58582011-03-18 Jason Merrill <jason@redhat.com>
5859
69788bdf 5860 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
5861 * c-common.h: Don't declare it here.
5862 * c-common.c: Or define it here.
5863 * c-opts.c (c_common_handle_option): Or set it here.
5864
914d1151 5865 PR c++/35315
5866 * c-common.c (handle_transparent_union_attribute): Don't
5867 make a duplicate type in C++.
5868
54cf6eed 58692011-03-15 Jason Merrill <jason@redhat.com>
5870
5871 * c-common.c (max_constexpr_depth): New.
5872 * c-common.h: Declare it.
5873 * c-opts.c (c_common_handle_option): Set it.
5874 * c.opt (fconstexpr-depth): New option.
5875
02cb1060 58762011-03-11 Jason Merrill <jason@redhat.com>
5877
9bf1c74e 5878 * c-common.c (attribute_takes_identifier_p): Add missing const.
5879
02cb1060 5880 PR c++/46803
5881 * c-common.c (attribute_takes_identifier_p): Assume that an
5882 unknown attribute takes an identifier.
5883
ecf2703d 58842011-03-07 Nathan Froyd <froydnj@codesourcery.com>
5885
5886 PR c/47786
5887 * c-common.c (c_type_hash): Call list_length instead of iterating
5888 through DECL_CHAIN. Rename 'i' to 'n_elements'.
5889
2b19dfe4 58902011-02-19 Jakub Jelinek <jakub@redhat.com>
5891
5892 PR c/47809
5893 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
5894
29cf2335 58952011-02-17 Iain Sandoe <iains@gcc.gnu.org>
5896
5897 * c.opt (fobjc-abi-version=) New.
5898 (fobjc-nilcheck): New.
5899
fad3f658 59002011-02-03 Nathan Froyd <froydnj@codesourcery.com>
5901
5902 PR c++/46890
5903 * c-common.h (keyword_is_decl_specifier): Declare.
5904 * c-common.c (keyword_is_decl_specifier): Define.
5905 (keyword_is_function_specifier): New function.
5906
a12319b3 59072011-01-26 Jakub Jelinek <jakub@redhat.com>
5908
5909 PR c/47473
5910 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
5911 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
5912 REAL_TYPE.
5913
5c128dc8 59142011-01-26 Arnaud Charlet <charlet@adacore.com>
5915
5916 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
5917
8d67b0c7 59182011-01-26 Jakub Jelinek <jakub@redhat.com>
5919
5920 PR pch/47430
5921 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
5922 after init_c_lex if pch_file is set.
5923
0675168d 59242011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
5925
e8911163 5926 PR c++/43601
0675168d 5927 * c.opt (-fkeep-inline-dllexport): New switch.
5928
0725e25c 59292011-01-12 Richard Guenther <rguenther@suse.de>
5930
5931 PR middle-end/32511
5932 * c-common.c (handle_weak_attribute): Warn instead of error
5933 on declaring an inline function weak.
5934
fdd84b77 59352011-01-05 Tom Tromey <tromey@redhat.com>
5936
5937 * c-common.h (lvalue_error): Update.
5938 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
5939 not error.
5940
e6e73d14 59412010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 5942
d67e8485 5943 PR objc/47075
5944 * c-objc.h (objc_finish_message_expr): Added argument to
5945 prototype.
5946
a36cf284 59472010-12-22 Nathan Froyd <froydnj@codesourcery.com>
5948
5949 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
5950 Use prototype_p.
5951
33b3681f 59522010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
5953
5954 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 5955 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 5956
a1f90215 59572010-12-10 Nathan Froyd <froydnj@codesourcery.com>
5958
5959 * c-common.h (readonly_error): Declare.
5960 * c-common.c (readonly_error): Define.
5961
b1bbc8e5 59622010-12-09 Nathan Froyd <froydnj@codesourcery.com>
5963
5964 * c-common.h (invalid_indirection_error): Declare.
5965 * c-common.c (invalid_indirection_error): Define.
5966
b0d55af9 59672010-12-03 Richard Guenther <rguenther@suse.de>
5968
5969 PR c/46745
5970 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
5971 (pp_c_unary_expression): Likewise.
5972 (pp_c_expression): Likewise.
5973
d7489d8d 59742010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
5975
5976 * c-common.h (objc_finish_function): New.
5977 (objc_non_volatilized_type): Removed.
5978 (objc_type_quals_match): Removed.
5979 * stub-objc.c (objc_finish_function): New.
5980 (objc_non_volatilized_type): Removed.
5981 (objc_type_quals_match): Removed.
19931eea 5982
92468061 59832010-11-30 Joseph Myers <joseph@codesourcery.com>
5984
5985 * c-common.h (parse_optimize_options): Declare.
5986 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
5987 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
5988
967958e4 59892010-11-29 Joseph Myers <joseph@codesourcery.com>
5990
5991 * c-opts.c (check_deps_environment_vars): Use getenv instead of
5992 GET_ENVIRONMENT.
5993 * c-pch.c (O_BINARY): Don't define here.
5994 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
5995
b213bf24 59962010-11-25 Joseph Myers <joseph@codesourcery.com>
5997
5998 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
5999 targetm.except_unwind_info.
6000
9faf44d6 60012010-11-23 Joseph Myers <joseph@codesourcery.com>
6002
6003 * c-opts.c (c_common_handle_option): Pass location to
6004 set_struct_debug_option.
6005
79396169 60062010-11-23 Joseph Myers <joseph@codesourcery.com>
6007
6008 * c-common.c (visibility_options): Move from ../opts.c.
6009 * c-common.h (struct visibility_flags, visibility_options):
6010 Declare here.
6011 * c-opts.c (finish_options): Rename to c_finish_options.
6012 (c_common_init): Update call to finish_options.
6013
b4aa4123 60142010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6015
6016 PR objc/34033
6017 * c-lex.c (lex_string): Check that each string in an Objective-C
6018 string concat sequence starts with either one or zero '@', and
6019 that there are no spurious '@' signs at the end.
6020
3e0e49f2 60212010-11-20 Joseph Myers <joseph@codesourcery.com>
6022
6023 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6024 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6025 HANDLE_PRAGMA_VISIBILITY.
6026 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6027 HANDLE_PRAGMA_VISIBILITY): Don't define.
6028 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6029
a9ffdd35 60302010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6031
6032 PR c++/16189
6033 PR c++/36888
6034 PR c++/45331
6035 * c-common.h (keyword_begins_type_specifier): Declare.
6036 (keyword_is_storage_class_specifier): Declare.
6037 (keyword_is_type_qualifier): Declare.
6038 * c-common.c (keyword_begins_type_specifier): New function.
6039 (keyword_is_storage_class_specifier): New function.
6040 (keyword_is_type_qualifier): Declare.
6041
93be21c0 60422010-11-19 Joseph Myers <joseph@codesourcery.com>
6043
6044 PR c/46547
6045 * c-common.c (in_late_binary_op): Define.
6046 (c_common_truthvalue_conversion): Check in_late_binary_op before
6047 calling c_save_expr.
6048 * c-common.h (in_late_binary_op): Declare.
6049
d7175aef 60502010-11-19 Joseph Myers <joseph@codesourcery.com>
6051
6052 * c-opts.c (c_common_handle_option): Update calls to
6053 set_struct_debug_option.
6054
c213e196 60552010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6056
6057 * c-common.h (objc_declare_protocols): Added additional argument.
6058 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 6059
0b5fc5d6 60602010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6061
6062 PR c/33193
6063 * c-common.h (build_real_imag_expr): Declare.
6064 * c-semantics.c (build_real_imag_expr): Define.
6065
b8ba44e7 60662010-11-17 Joseph Myers <joseph@codesourcery.com>
6067
6068 * c-opts.c (c_common_parse_file): Take no arguments.
6069 * c-common.h (c_common_parse_file): Update prototype.
6070
6ef8d12f 60712010-11-16 Jakub Jelinek <jakub@redhat.com>
6072
6073 PR c++/46401
6074 * c-common.c (warning_candidate_p): Don't track non-const calls
6075 or STRING_CSTs.
6076
929d2a90 60772010-11-15 Ian Lance Taylor <iant@google.com>
6078
6079 * c-lex.c (init_c_lex): Set macro debug callbacks if
6080 flag_dump_go_spec is set.
6081
e4a7640a 60822010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6083
6084 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6085 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6086
597d2d81 60872010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6088
6089 PR preprocessor/45038
6090 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6091 dialects.
6092
c123f04d 60932010-11-12 Joseph Myers <joseph@codesourcery.com>
6094
6095 * c-common.h (c_family_lang_mask): Declare.
6096 * c-opts.c (c_family_lang_mask): Make extern.
6097 * c-pragma.c (handle_pragma_diagnostic): Use
6098 control_warning_option.
6099
3c6c0e40 61002010-11-12 Joseph Myers <joseph@codesourcery.com>
6101
6102 * c-common.c (parse_optimize_options): Update call to
6103 decode_options.
6104 * c-common.h (c_common_handle_option): Update prototype.
6105 * c-opts.c (c_common_handle_option): Take location_t parameter and
6106 pass it to other functions.
6107
19ec5c9e 61082010-11-11 Joseph Myers <joseph@codesourcery.com>
6109
6110 * c-opts.c (warning_as_error_callback): Remove.
6111 (c_common_initialize_diagnostics): Don't call
6112 register_warning_as_error_callback.
6113 (c_common_handle_option): Handle -Werror=normalized= here.
6114
bf776685 61152010-11-10 Joseph Myers <joseph@codesourcery.com>
6116
6117 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6118 in diagnostic.
6119 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
6120 letter.
6121 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
6122 Remove trailing '.' from diagnostics.
6123 * c.opt (Wwrite-strings_: Avoid '`' in help text.
6124
6bd9d862 61252010-11-10 Joseph Myers <joseph@codesourcery.com>
6126
6127 * c-common.c (parse_optimize_options): Pass global_dc to
6128 decode_options.
6129 * c-opts.c (c_common_handle_option): Pass &global_options to
6130 set_Wstrict_aliasing.
6131 * c.opt (v): Don't mark Common or document here.
6132
1f6616ee 61332010-11-06 Iain Sandoe <iains@gcc.gnu.org>
6134
6135 PR target/44981
6136 * c-format.c (format_type): New type gcc_objc_string_format_type.
6137 (valid_stringptr_type_p): New.
6138 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 6139 (check_format_string): Pass expected type, use
1f6616ee 6140 valid_stringptr_type_p (), check that the format string types are
6141 consistent with the format specification.
6142 (decode_format_attr): Warn if NSString is used outside objective-c.
6143 (format_types_orig): Add NSString.
6144 (format_name): New.
6145 (format_flags): New.
6146 (check_format_arg): Handle format strings requiring an external parser.
6147 first_target_format_type: New variable.
6148 (handle_format_attribute): Set up first_target_format_type, pass the
6149 expected format arg string type to check_format_string().
6150 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
6151 * stub-objc.c (objc_string_ref_type_p): New.
6152 (objc_check_format_arg): New.
6153
b0d0931f 61542010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
6155
19931eea 6156 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 6157 * c-common.h (objc_build_class_component_ref): New.
6158 * stub-objc.c (objc_build_class_component_ref): New.
6159
f26877d5 61602010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6161
6162 * c.opt (Wproperty-assign-default): New option.
6163
1ef143b6 61642010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6165
6166 Implemented -fobjc-std=objc1 flag.
6167 * c.opt (fobjc-std=objc1): New option.
6168
8c582e4f 61692010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
6170
6171 Implemented format and noreturn attributes for Objective-C methods.
6172 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
6173 attribute for Objective-C methods.
6174
8637f1db 61752010-10-31 Jason Merrill <jason@redhat.com>
6176
6177 * c-common.c (conversion_warning, warn_for_collisions_1): Use
6178 EXPR_LOC_OR_HERE.
6179
9d9f5bb3 61802010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6181
6182 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6183 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
6184 (objc_add_property_declaration): Removed arguments for copies and
6185 ivar.
6186 (objc_build_getter_call): Renamed to
6187 objc_maybe_build_component_ref.
6188 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6189 (objc_is_property_ref): New.
6190 * c-common.c (c_common_reswords): Removed copies and ivar.
6191 * stub-objc.c (objc_add_property_declaration): Removed arguments
6192 for copies and ivar.
6193 (objc_build_getter_call): Renamed to
6194 objc_maybe_build_component_ref.
6195 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6196 (objc_is_property_ref): New.
19931eea 6197
56f907a0 61982010-10-29 Arnaud Charlet <charlet@adacore.com>
6199 Matthew Gingell <gingell@adacore.com>
6200
6201 * c-ada-spec.c (separate_class_package): New function.
6202 (pp_ada_tree_identifier): Prefix references to C++ classes with the
6203 name of their enclosing package.
6204 (print_ada_declaration): Use separate_class_package.
6205
b5fa273e 62062010-10-27 Jason Merrill <jason@redhat.com>
6207
5290e253 6208 * c-common.c (c_common_reswords): Add __is_literal_type.
6209 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
6210
b5fa273e 6211 * c-common.c (check_case_value): Remove special C++ code.
6212
7590f0e5 62132010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6214
6215 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
6216 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
6217 and RID_LAST_PATTR.
6218 (objc_add_property_declaration): Added additional arguments.
6219 (objc_property_attribute_kind): Removed.
6220 (objc_set_property_attr): Removed.
6221 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
6222 copy and nonatomic.
6223 * stub-objc.c (objc_add_property_declaration): Added additional
6224 arguments.
6225 (objc_set_property_attr): Removed.
19931eea 6226
1d894bcf 62272010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6228
6229 * c-common.h (objc_add_property_variable): Renamed to
6230 objc_add_property_declaration. Added location argument.
6231 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 6232
e23bf1fb 62332010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
6234
6235 * c-common.h (objc_maybe_printable_name): New.
6236 * stub-objc.c (objc_maybe_printable_name): New.
6237
92a44a68 62382010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6239 Andrew Pinski <pinskia@gmail.com>
93426222 6240
6241 * c-common.h (c_common_mark_addressable_vec): Declare.
6242 * c-common.c (c_common_mark_addressable_vec): New function.
6243
45b2b110 62442010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6245
6246 * c-common.h (objc_set_method_type): Removed.
6247 (objc_add_method_declaration): Added boolean argument.
6248 (objc_start_method_definition): Same change.
6249 (objc_build_method_signature): Same change.
6250 * stub-objc.c (objc_set_method_type): Removed.
6251 (objc_add_method_declaration): Added boolean argument.
6252 (objc_start_method_definition): Same change.
6253 (objc_build_method_signature): Same change.
6254
64cd9619 62552010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6256
6257 * c-common.h (finish_file): Removed.
6258 (objc_write_global_declarations): New.
6259 * c-opts.c (c_common_parse_file): Do not call finish_file.
6260 * stub-objc.c (objc_write_global_declarations): New.
19931eea 6261
e1f293c0 62622010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6263
6264 Implemented parsing @synthesize and @dynamic for
6265 Objective-C/Objective-C++.
6266 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
6267 (objc_add_synthesize_declaration): New.
6268 (objc_add_dynamic_declaration): New.
6269 * c-common.c (c_common_reswords): Add synthesize and dynamic.
6270 * stub-objc.c (objc_add_synthesize_declaration): New.
6271 (objc_add_dynamic_declaration): New.
19931eea 6272
ef97a312 62732010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6274
6275 PR target/46041
6276 * c-cppbuiltin.c (mode_has_fma): Move function here from
6277 builtins.c. Don't use the fma optab, instead just use the
6278 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
6279 using -save-temps.
6280
69b07042 62812010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6282
6283 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 6284
92a44a68 6285 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 6286
19931eea 6287 Radar 4330422
69b07042 6288 * c-common.h (objc_non_volatilized_type): New declaration
6289 * stub-objc.c (objc_non_volatilized_type): New stub.
6290
f15f2e56 62912010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
6292
69b07042 6293 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 6294
92a44a68 6295 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 6296
19931eea 6297 Radar 4133425
f15f2e56 6298 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 6299 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 6300
4a8875ed 63012010-10-17 Iain Sandoe <iains@gcc.gnu.org>
6302
6303 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
6304 * c-common.h (enum rid): Add RID_AT_PACKAGE.
6305 (objc_ivar_visibility_kind): New enum.
6306 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 6307 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 6308 visibility enum.
6309
7e0713b1 63102010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6311
6312 * c-cppbuiltin.c (builtin_define_float_constants): Emit
6313 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
6314 has the appropriate fma builtins.
6315 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
6316
86c110ac 63172010-10-14 Iain Sandoe <iains@gcc.gnu.org>
6318
7e0713b1 6319 merge from FSF apple 'trunk' branch.
92a44a68 6320 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 6321
86c110ac 6322 Radars 4436866, 4505126, 4506903, 4517826
6323 * c-common.c (c_common_resword): Define @property and its attributes.
6324 * c-common.h: Define property attribute enum entries.
6325 (OBJC_IS_PATTR_KEYWORD): New.
6326 (objc_property_attribute_kind): New enum.
6327 Declare objc_set_property_attr (), objc_add_property_variable (),
6328 objc_build_getter_call () and objc_build_setter_call ().
6329 * stub-objc.c (objc_set_property_attr): New stub.
6330 (objc_add_property_variable): Likewise.
6331 (objc_build_getter_call): Likewise.
6332 (objc_build_setter_call) Likewise.
7e0713b1 6333
40c8d1dd 63342010-10-13 Iain Sandoe <iains@gcc.gnu.org>
6335
7e0713b1 6336 merge from FSF apple 'trunk' branch.
92a44a68 6337 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 6338
6339 Radar 3803157 (method attributes)
6340 * c-common.c (handle_deprecated_attribute): Recognize
6341 objc methods as valid declarations.
6342 * c-common.h: Declare objc_method_decl ().
7e0713b1 6343 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 6344
f3f006ad 63452010-10-08 Joseph Myers <joseph@codesourcery.com>
6346
6347 * c-common.c (parse_optimize_options): Call
6348 decode_cmdline_options_to_array_default_mask before
6349 decode_options. Update arguments to decode_options.
6350 * c-common.h (c_common_init_options_struct): Declare.
6351 * c-opts.c (c_common_init_options_struct): New. Split out from
6352 c_common_init_options.
6353
0a65c3bb 63542010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
6355
6356 Implemented fast enumeration for Objective-C.
6357 * c-common.h (objc_finish_foreach_loop): New.
6358 * stub-objc.c (objc_finish_foreach_loop): New.
6359
24ca3b4e 63602010-10-05 Joseph Myers <joseph@codesourcery.com>
6361
6362 * c-common.h (struct diagnostic_context): Don't declare here.
6363 (c_common_initialize_diagnostics): Declare using
6364 diagnostic_context typedef.
6365 * c-opts.c (c_common_handle_option): Pass global_dc to
6366 handle_generated_option.
6367
f83b64ca 63682010-10-04 Joseph Myers <joseph@codesourcery.com>
6369
6370 * c-opts.c (c_common_handle_option): Pass &global_options_set to
6371 handle_generated_option.
6372
2fdec027 63732010-10-03 Ian Lance Taylor <iant@google.com>
6374
6375 * c.opt (-fplan9-extensions): New option.
6376
41acdfa4 63772010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6378
6379 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
6380 Remove.
6381 (c_cpp_builtins): Call functions from cppbuiltin.c instead
6382 of duplicating code.
6383
069761fb 63842010-09-30 Iain Sandoe <iains@gcc.gnu.org>
6385
6386 * c-common.c: Add two new entries for @optional
6387 and @required keywords.
6388
6389 merge from FSF 'apple/trunk' branch.
92a44a68 6390 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 6391
6392 Radar 4386773
6393 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
6394 objective-c keywords.
6395 (objc_set_method_opt): New declaration.
6396 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 6397
2c5d2e39 63982010-09-30 Joseph Myers <joseph@codesourcery.com>
6399
6400 * c-common.c (handle_optimize_attribute): Pass &global_options to
6401 cl_optimization_save and cl_optimization_restore.
6402 * c-opts.c (c_common_handle_option): Pass &global_options to
6403 handle_generated_option.
6404 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
6405 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
6406 &global_options to cl_optimization_restore.
6407
e5c75ac3 64082010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
6409
6410 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
6411 Objective-C/Objective-C++ keywords.
6412
3511333e 64132010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 6414
19931eea 6415 Merge from 'apple/trunk' branch on FSF servers.
6416
92a44a68 6417 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 6418
6419 Radar 4281748
6420 * c-common.h (objc_check_global_decl): New declaration.
6421 * stub-objc.c (objc_check_global_decl): New stub.
6422
5461e683 64232010-09-29 Joseph Myers <joseph@codesourcery.com>
6424
6425 * c.opt: Don't use VarExists.
6426
5ae82d58 64272010-09-29 Joseph Myers <joseph@codesourcery.com>
6428
6429 * c-common.c (c_cpp_error): Update names of diagnostic_context
6430 members.
6431 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
6432 cl_optimization members.
6433 * c-opts.c (warning_as_error_callback, c_common_handle_option,
6434 sanitize_cpp_opts, finish_options): Update names of cpp_options
6435 members.
6436
b27e241e 64372010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
6438
6439 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
6440 (objc_is_reserved_word): Removed.
6441 * c-common.c: Updated comments.
6442 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
6443 objc_is_reserved_word.
6444 * stub-objc.c (objc_is_reserved_word): Removed.
6445
03fc2271 64462010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6447
19931eea 6448 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 6449 include attributes.
6450 (objc_start_method_definition): Likewise.
6451 (objc_build_keyword_decl): Likewise.
6452 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
6453 (objc_start_method_definition): Likewise.
6454 (objc_build_keyword_decl): Likewise.
6455
a336eb4b 64562010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6457
6458 * c-common.h (objc_start_class_interface): Adjust prototype.
6459 (objc_start_category_interface): Likewise.
6460 (objc_start_protocol): Likewise.
6461 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
6462 (objc_start_class_interface): Likewise.
6463 (objc_start_category_interface): Likewise.
6464
48b14f50 64652010-09-27 Ian Lance Taylor <iant@google.com>
6466
6467 * c-common.c (c_common_attribute_table): Add no_split_stack.
6468 (handle_no_split_stack_attribute): New static function.
6469
4abfc532 64702010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
6471
19931eea 6472 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 6473
92a44a68 6474 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 6475
19931eea 6476 Radar 4229905
4abfc532 6477 * c-common.h (objc_have_common_type): New declaration.
6478 * stub-objc.c (objc_have_common_type): New stub.
6479
6480 2005-06-22 Ziemowit Laski <zlaski@apple.com>
6481
6482 Radar 4154928
6483 * c-common.h (objc_common_type): New prototype.
19931eea 6484 * stub-objc.c (objc_common_type): New stub.
4abfc532 6485
7bd95dfd 64862010-09-24 Jan Hubicka <jh@suse.cz>
6487
6488 * c-common.c (handle_leaf_attribute): New function.
6489 (struct attribute_spec c_common_att): Add leaf.
6490
5789e05b 64912010-09-22 Joseph Myers <joseph@codesourcery.com>
6492
6493 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
6494 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
6495 -dump, -dump=, -imacros, -imacros=, -include, -include=,
6496 -include-barrier, -include-directory, -include-directory=,
6497 -include-directory-after, -include-directory-after=,
6498 -include-prefix, -include-prefix=, -include-with-prefix,
6499 -include-with-prefix=, -include-with-prefix-after,
6500 -include-with-prefix-after=, -include-with-prefix-before,
6501 -include-with-prefix-before=, -no-integrated-cpp,
6502 -no-line-commands, -no-standard-includes, -no-warnings, -output,
6503 -output=, -pedantic, -pedantic-errors, -preprocess,
6504 -print-missing-file-dependencies, -trace-includes, -traditional,
6505 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
6506 -user-dependencies, -verbose, -write-dependencies,
6507 -write-user-dependencies, no-integrated-cpp, traditional): New.
6508
e6fb54ba 65092010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6510
6511 PR objc/23710
9b60f3b0 6512 * c-common.h (objc_start_method_definition): Return bool instead
6513 of void.
6514 * stub-objc.c (objc_start_method_definition): Return bool instead
6515 of void.
6516
65172010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6518
6519 PR objc/25965
6520 * c-common.h (objc_get_interface_ivars): New declaration.
6521 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 6522
e44b0a1f 65232010-09-15 Ian Lance Taylor <iant@google.com>
6524
6525 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 6526 messages. Remove period at end of warning message.
e44b0a1f 6527
85c0a25c 65282010-09-09 Nathan Sidwell <nathan@codesourcery.com>
6529
6530 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
6531 (handle_alias_attribute): ... here.
6532 (handle_ifunc_attribute): New.
6533
5ba33bf4 65342010-09-06 Mark Mitchell <mark@codesourcery.com>
6535
6536 * c-common.h (do_warn_double_promotion): Declare.
6537 * c-common.c (do_warn_double_promotion): Define.
6538
c920faa3 65392010-09-05 Mark Mitchell <mark@codesourcery.com>
6540
6541 * c.opt (Wdouble-promotion): New.
6542
9604e070 65432010-09-02 Joseph Myers <joseph@codesourcery.com>
6544
6545 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
6546 fvtable-thunks, fxref): Mark no longer supported in help text.
6547
3b0273a1 65482010-09-02 Joseph Myers <joseph@codesourcery.com>
6549
6550 * c.opt (Wimport, fall-virtual, falt-external-templates,
6551 fdefault-inline, fenum-int-equiv, fexternal-templates,
6552 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
6553 fname-mangling-version-, fnew-abi, fnonnull-objects,
6554 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
6555 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
6556 applicable.
6557 (fhandle-exceptions): Mark with Alias and Warn.
6558 * c-opts.c (c_common_handle_option): Don't handle options marked
6559 as ignored.
6560
67089c6b 65612010-09-02 Joseph Myers <joseph@codesourcery.com>
6562
6563 * c.opt (Wcomments, Werror-implicit-function-declaration,
6564 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
6565 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
6566 aliases.
6567 * c-common.c (option_codes): Use OPT_Wcomment instead of
6568 OPT_Wcomments.
6569 * c-opts.c (warning_as_error_callback, c_common_handle_option):
6570 Don't handle options marked as aliases.
6571
2af087f2 65722010-08-25 Richard Guenther <rguenther@suse.de>
6573
6574 * c-common.c (c_common_get_alias_set): Remove special
6575 handling for pointers.
6576
48148244 65772010-08-20 Nathan Froyd <froydnj@codesourcery.com>
6578
6579 * c-common.c: Use FOR_EACH_VEC_ELT.
6580 * c-gimplify.c: Likewise.
6581 * c-pragma.c: Likewise.
6582
89c69892 65832010-08-16 Joseph Myers <joseph@codesourcery.com>
6584
6585 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
6586 RejectDriver.
6587 (MMDX): Change back to MMD. Mark NoDriverArg instead of
6588 RejectDriver.
6589 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
6590 instead of OPT_MDX and OPT_MMDX.
6591
e28aa114 65922010-08-16 Joseph Myers <joseph@codesourcery.com>
6593
6594 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
6595
99b66d21 65962010-08-12 Joseph Myers <joseph@codesourcery.com>
6597
6598 * c.opt (MD, MMD): Change to MDX and MMDX.
6599 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
6600
666f4bf0 66012010-08-11 Joseph Myers <joseph@codesourcery.com>
6602
6603 * c-opts.c (c_common_handle_option): Call handle_generated_option
6604 instead of handle_option.
6605
5ec815f6 66062010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6607
6608 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
6609 (maybe_apply_renaming_pragma): Delete unneeded declarations.
6610
d13143cf 66112010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6612
6613 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
6614 (pending_redefine_extname): Change type to a VEC.
6615 (add_to_renaming_pragma_list): Update for new type of
6616 pending_redefine_extname.
5ec815f6 6617 (maybe_apply_renaming_pragma): Likewise.
d13143cf 6618
2008c983 66192010-08-04 Arnaud Charlet <charlet@adacore.com>
6620
6621 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
6622 visited.
6623 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
6624 decide whether a type has already been declared/seen.
6625 Do not go to the original type.
6626 (dump_nested_types): New parameter forward.
6627 Generate forward declaration if needed and mark type as visited.
6628 (print_ada_declaration): Call dump_nested_types if not already done.
6629 Mark types as visited.
6630
9b091a73 66312010-08-03 Joseph Myers <joseph@codesourcery.com>
6632
6633 * c.opt (-print-pch-checksum): Remove option.
6634 * c-opts.c (c_common_handle_option): Don't handle
6635 OPT_print_pch_checksum.
6636
b78351e5 66372010-07-27 Joseph Myers <joseph@codesourcery.com>
6638
6639 * c-common.h (c_common_handle_option): Update prototype and return
6640 value type.
6641 * c-opts.c (c_common_handle_option): Update prototype and return
6642 value type. Update calls to handle_option and
6643 enable_warning_as_error.
6644
34416a90 66452010-07-27 Jakub Jelinek <jakub@redhat.com>
6646
6647 PR c/45079
6648 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
6649
fecf9011 66502010-07-27 Joseph Myers <joseph@codesourcery.com>
6651
6652 * c-common.h (c_common_missing_argument): Remove.
6653 * c-opts.c (c_common_missing_argument): Remove.
6654 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
6655 idirafter, imacros, include, isysroot, isystem, iquote): Add
6656 MissingArgError.
6657 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
6658
e88d34f6 66592010-07-27 Joseph Myers <joseph@codesourcery.com>
6660
6661 * c-common.h (c_common_option_lang_mask,
6662 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
6663 New.
6664 (c_common_init_options): Update prototype.
6665 * c-opts.c (c_common_option_lang_mask): New.
6666 (c_common_initialize_diagnostics): Split out of
6667 c_common_init_options.
6668 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
6669 New.
6670 (c_common_init_options): Update prototype. Use decoded options in
6671 search for -lang-asm.
6672
1767a056 66732010-07-15 Nathan Froyd <froydnj@codesourcery.com>
6674
6675 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
6676 * c-format.c: Likewise.
6677
0b205f4c 66782010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
6679
6680 * c-common.h: Include diagnostic-core.h. Error if already
6681 included.
6682 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
6683
1c58e3f1 66842010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6685
1f78217c 6686 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 6687 Do not include expr.h
6688 (vector_mode_valid_p): Move here.
6689
33cc157c 66902010-06-21 DJ Delorie <dj@redhat.com>
6691
6692 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
6693 allow these pragmas anywhere.
6694
66952010-06-14 Jakub Jelinek <jakub@redhat.com>
6696
6697 PR bootstrap/44509
6698 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
6699 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
6700 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
6701 ggc_strdup instead of xstrdup.
6702
67032010-06-10 Jakub Jelinek <jakub@redhat.com>
6704
6705 * c-cppbuiltin.c: Include cpp-id-data.h.
6706 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
6707 (lazy_hex_fp_value): New function.
6708 (builtin_define_with_hex_fp_value): Provide definitions lazily.
6709
9b40bfbf 67102010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6711
6712 * c-gimplify.c: Do not include tree-flow.h
6713
202d6e5f 67142010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
6715
6716 PR other/44034
6717 * c-common.c: Rename targetm member:
6718 targetm.enum_va_list -> targetm.enum_va_list_p
6719
d3237426 67202010-06-28 Anatoly Sokolov <aesok@post.ru>
6721
6722 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
6723
596981c8 67242010-06-28 Steven Bosscher <steven@gcc.gnu.org>
6725
6726 * c-cppbuiltin.c: Do not include except.h.
6727
b9bdfa0b 67282010-06-24 Andi Kleen <ak@linux.intel.com>
6729
19931eea 6730 * c-common.c (warn_for_omitted_condop): New.
6731 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 6732
55ad092d 67332010-06-21 Joseph Myers <joseph@codesourcery.com>
6734
6735 * c.opt (lang-objc): Remove.
6736 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
6737
9e7c2572 67382010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
6739
6740 * c-opts.c: Include "tm_p.h".
6741
615ef0bb 67422010-06-20 Joseph Myers <joseph@codesourcery.com>
6743
6744 * c-common.c (parse_optimize_options): Update call to
6745 decode_options.
6746
aef48c9a 67472010-06-18 Nathan Froyd <froydnj@codesourcery.com>
6748
6749 * c-common.c (record_types_used_by_current_var_decl): Adjust for
6750 new type of types_used_by_cur_var_decl.
6751
d74003b4 67522010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
6753
6754 PR bootstrap/44512
6755 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
6756 for C++ standard compliance.
6757
1194d077 67582010-06-16 Jason Merrill <jason@redhat.com>
6759
6760 * c.opt: Add -Wnoexcept.
6761
d473d901 67622010-06-16 Richard Guenther <rguenther@suse.de>
6763
6764 PR c/44555
6765 * c-common.c (c_common_truthvalue_conversion): Remove
6766 premature and wrong optimization concering ADDR_EXPRs.
6767
b62dbfd3 67682010-06-15 Arnaud Charlet <charlet@adacore.com>
6769
6770 * c-ada-spec.c (dump_sloc): Remove column info.
6771 (is_simple_enum): New function.
6772 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
6773 enum types when relevant.
6774
200dd99c 67752010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6776
19931eea 6777 * c-common.c (conversion_warning): Warn at expression
200dd99c 6778 location.
6779
abf6a617 67802010-06-10 Joseph Myers <joseph@codesourcery.com>
6781
6782 * c-opts.c (c_common_handle_option): Don't handle
6783 OPT_fshow_column.
6784
ba72912a 67852010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
6786
6787 * c-pragma.c (push_alignment): Use typed GC allocation.
6788 (handle_pragma_push_options): Likewise.
6789
6790 * c-common.c (parse_optimize_options): Likewise.
6791
6792 * c-common.h (struct sorted_fields_type): Add variable_size GTY
6793 option.
6794
4aafe913 67952010-06-07 Joseph Myers <joseph@codesourcery.com>
6796
6797 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
6798 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
6799 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
6800 flag_signed_bitfields, warn_strict_null_sentinel,
6801 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
6802 flag_gen_declaration, flag_no_gnu_keywords,
6803 flag_implement_inlines, flag_implicit_templates,
6804 flag_implicit_inline_templates, flag_optional_diags,
6805 flag_elide_constructors, flag_default_inline, flag_rtti,
6806 flag_conserve_space, flag_access_control, flag_check_new,
6807 flag_new_for_scope, flag_weak, flag_working_directory,
6808 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
6809 flag_enforce_eh_specs, flag_threadsafe_statics,
6810 flag_pretty_templates): Remove.
6811 * c-common.h (flag_preprocess_only, flag_nil_receivers,
6812 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
6813 flag_replace_objc_classes, flag_undef, flag_no_builtin,
6814 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
6815 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
6816 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
6817 flag_no_gnu_keywords, flag_implement_inlines,
6818 flag_implicit_templates, flag_implicit_inline_templates,
6819 flag_optional_diags, flag_elide_constructors, flag_default_inline,
6820 flag_rtti, flag_conserve_space, flag_access_control,
6821 flag_check_new, flag_new_for_scope, flag_weak,
6822 flag_working_directory, flag_use_cxa_atexit,
6823 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
6824 flag_threadsafe_statics, flag_pretty_templates,
6825 warn_strict_null_sentinel): Remove.
6826 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
6827 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
6828 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
6829 fimplicit-inline-templates, fimplicit-templates,
6830 flax-vector-conversions, fms-extensions, fnil-receivers,
6831 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
6832 frtti, fshort-double, fshort-enums, fshort-wchar,
6833 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
6834 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
6835 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
6836 gen-decls, undef): Use Var.
6837 (fdefault-inline, foptional-diags): Document as doing nothing.
6838 * c-opts.c (c_common_handle_option): Remove cases for options now
6839 using Var. Mark ignored options as such.
6840
7bedc3a0 68412010-06-05 Steven Bosscher <steven@gcc.gnu.org>
6842
19931eea 6843 * c-common.c: Moved to here from parent directory.
7bedc3a0 6844 * c-common.def: Likewise.
6845 * c-common.h: Likewise.
6846 * c-cppbuiltin.c: Likewise.
6847 * c-dump.c: Likewise.
6848 * c-format.c: Likewise.
6849 * c-format.h : Likewise.
6850 * c-gimplify.c: Likewise.
6851 * c-lex.c: Likewise.
6852 * c-omp.c: Likewise.
6853 * c.opt: Likewise.
6854 * c-opts.c: Likewise.
6855 * c-pch.c: Likewise.
6856 * c-ppoutput.c: Likewise.
6857 * c-pragma.c: Likewise.
6858 * c-pragma.h: Likewise.
6859 * c-pretty-print.c: Likewise.
6860 * c-pretty-print.h: Likewise.
6861 * c-semantics.c: Likewise.
6862 * stub-objc.c: Likewise.
6863
6864 * c-common.c: Include gt-c-family-c-common.h.
6865 * c-pragma.c: Include gt-c-family-c-pragma.h.
6866\f
f1717362 6867Copyright (C) 2010-2016 Free Software Foundation, Inc.
7bedc3a0 6868
6869Copying and distribution of this file, with or without modification,
6870are permitted in any medium without royalty provided the copyright
6871notice and this notice are preserved.