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