]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
PR libstdc++/67747 use readdir instead of readdir_r
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
ef17a71a 12015-10-02 Marek Polacek <polacek@redhat.com>
2
3 PR c/64249
4 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
6 * c.opt (Wduplicated-cond): New option.
7
05b84e7b 82015-10-01 Joseph Myers <joseph@codesourcery.com>
9
10 * c.opt (std=c11): Do not describe as experimental.
11 (std=gnu11): Likewise.
12 (std=iso9899:2011): Likewise.
13
e561d5e1 142015-09-28 Nathan Sidwell <nathan@codesourcery.com>
15
16 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
17 (DEF_FUNCTION_TYPE_VAR_11): Delete.
18
bd4b90d2 192015-09-25 Marek Polacek <polacek@redhat.com>
20
21 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
22 (ubsan_instrument_shift): Likewise.
23
ac13b2b2 242015-09-25 Marek Polacek <polacek@redhat.com>
25
26 PR sanitizer/64906
27 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
28
a3c82f4c 292015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
30
31 * c-indentation.c (should_warn_for_misleading_indentation):
32 Compare next_stmt_vis_column with guard_line_first_nws instead
33 of with guard_line_vis_column.
34
5eef101d 352015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
36
37 PR c/49654
38 PR c/49655
39 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
40 options and options not valid for the current language.
41
60897493 422015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
43
44 * c-indentation.c (should_warn_for_misleading_indentation):
45 Float out and consolidate the calls to get_visual_column that
46 are passed guard_exploc as an argument. Compare
47 next_stmt_vis_column with guard_line_first_nws instead of with
48 body_line_first_nws.
49
85c93154 502015-09-22 Nathan Sidwell <nathan@codesourcery.com>
51
52 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
53 Wnamespaces): New C++ warnings.
54
229a58b1 552015-09-22 Jason Merrill <jason@redhat.com>
56
57 * c-common.h (abi_compat_version_crosses): New.
58 (warn_abi_version): Declare.
59 * c-common.c: Define it.
60 * c-opts.c (c_common_post_options): Handle it.
61 flag_abi_compat_version defaults to 8.
62
2d2de569 632015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
64
65 Complete the implementation of N4230, Nested namespace definition.
66 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
67 __cpp_nested_namespace_definitions.
68
2b897e68 692015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
70
71 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
72
ed536208 732015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
74
75 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
76 when warning.
77 * c-pragma.h (pragma_lex): Add optional loc argument.
78
1dc6c44d 792015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
80
81 * c-format.c (check_format_arg): Adjust to use common block size in all
82 object pools.
83
be812248 842015-09-15 David Malcolm <dmalcolm@redhat.com>
85
86 * c-format.c (location_from_offset): Update for change in
87 signature of location_get_source_line.
88 * c-indentation.c (get_visual_column): Likewise.
89 (line_contains_hash_if): Likewise.
90
e4cc057f 912015-09-14 Marek Polacek <polacek@redhat.com>
92
93 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
94 setting various warnings.
95
85f5e2ee 962015-09-14 Marek Polacek <polacek@redhat.com>
97
98 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
99 a negative value.
100
1bca8cbd 1012015-09-11 Mark Wielaard <mjw@redhat.com>
102
103 PR c/28901
104 * c.opt (Wunused-variable): Option from common.opt.
105 (Wunused-const-variable): New option.
106
ee48893a 1072015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
108
109 PR c++/53184
110 * c.opt ([Wsubobject-linkage]): Add.
111
547c6b1f 1122015-09-03 Martin Sebor <msebor@redhat.com>
113
114 PR c/66516
115 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
116 functions.
117 * c-common.c (reject_gcc_builtin): Define.
118
7e976b10 1192015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
120
121 PR middle-end/60586
122 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
123 prototype.
124 * c-gimplify.c (c_gimplify_expr): Added a call to the function
125 cilk_gimplify_call_params_in_spawned_fn.
126 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
127 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
128 unwrapping.
129
9e6bcade 1302015-08-25 Marek Polacek <polacek@redhat.com>
131
132 PR middle-end/67330
133 * c-common.c (handle_weak_attribute): Don't check whether the
134 visibility can be changed here.
135
af9de21d 1362015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
137
138 * c-lex.c (c_lex_with_flags): Use explicit locations.
139
6dc50383 1402015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
141
142 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
143 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
144
10902624 1452015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
146
147 PR middle-end/36757
148 * c-common.c (check_builtin_function_arguments): Add check
149 for BUILT_IN_SIGNBIT argument.
150
a03a71ab 1512015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
152
153 PR c++/67160
154 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
155 in c++1z mode.
156
22723c26 1572015-08-17 Marek Polacek <polacek@redhat.com>
158
159 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
160 with whitespaces before qualifier names.
161
f4809955 1622015-08-12 Marek Polacek <polacek@redhat.com>
163
164 PR c++/55095
165 * c-common.c (maybe_warn_shift_overflow): Properly handle
166 left-shifting 1 into the sign bit.
167
5463f502 1682015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
169
170 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
171
56c12fd4 1722015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
173 Braden Obrzut <admin@maniacsvault.net>
174 Jason Merrill <jason@redhat.com>
175
176 Add C++ Concepts TS support.
177 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
178 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
179 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
180 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
181 * c-opts.c (set_std_cxx1z): Set flag_concepts.
182 * c.opt (fconcepts): New.
183
17afcef6 1842015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
185
186 * c-indentation.c (should_warn_for_misleading_indentation):
187 Improve heuristics.
188
f95bfdd4 1892015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
190
191 * c-indentation.c (get_visual_column): Add parameter first_nws,
192 use it. Update comment documenting the function.
193 (is_first_nonwhitespace_on_line): Remove.
194 (should_warn_for_misleading_indentation): Replace usage of
195 of is_first_nonwhitespace_on_line with get_visual_column.
196
9255be07 1972015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
198
199 * c-indentation.h (struct token_indent_info): Define.
200 (get_token_indent_info): Define.
201 (warn_for_misleading_information): Declare.
202 * c-common.h (warn_for_misleading_information): Remove.
203 * c-identation.c (warn_for_misleading_indentation):
204 Change declaration to take three token_indent_infos. Adjust
205 accordingly.
206 * c-identation.c (should_warn_for_misleading_indentation):
207 Likewise. Bail out early if the body is a compound statement.
208 (guard_tinfo_to_string): Define.
209
e880695c 2102015-07-30 Jason Merrill <jason@redhat.com>
211
212 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
213 '*' for reference decay.
214
f58dd84b 2152015-07-30 Marek Polacek <polacek@redhat.com>
216
217 * c-common.c (warn_tautological_cmp): Bail for float types.
218
d9e4fe27 2192015-07-27 Marek Polacek <polacek@redhat.com>
220
221 PR bootstrap/67030
222 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
223
6784a472 2242015-07-27 Marek Polacek <polacek@redhat.com>
225
226 PR c++/66555
227 PR c/54979
228 * c-common.c (find_array_ref_with_const_idx_r): New function.
229 (warn_tautological_cmp): New function.
230 * c-common.h (warn_tautological_cmp): Declare.
231 * c.opt (Wtautological-compare): New option.
232
08034975 2332015-07-23 Marek Polacek <polacek@redhat.com>
234
235 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
236 (ubsan_instrument_shift): Likewise.
237
f6f5e49b 2382015-07-23 Marek Polacek <polacek@redhat.com>
239
240 PR sanitizer/66908
241 * c-ubsan.c: Include gimplify.h.
242 (ubsan_instrument_division): Unshare OP0 and OP1.
243 (ubsan_instrument_shift): Likewise.
244
8d669e79 2452015-07-20 Marek Polacek <polacek@redhat.com>
246 Richard Sandiford <richard.sandiford@arm.com>
247
248 PR c++/55095
249 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
250 Use EXPR_LOC_OR_LOC.
251 (maybe_warn_shift_overflow): New function.
252 * c-common.h (maybe_warn_shift_overflow): Declare.
253 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
254 * c.opt (Wshift-overflow): New option.
255
e16712b1 2562015-07-16 Martin Liska <mliska@suse.cz>
257
258 * c-format.c (static void check_format_info_main): Use
259 object_allocator instead of pool_allocator.
260 (check_format_arg): Likewise.
261 (check_format_info_main): Likewise.
262
e51764ad 2632015-07-15 Andrew MacLeod <amacleod@redhat.com>
264
265 * c-opts.c: Remove multiline #include comment.
266
47ae02b7 2672015-07-12 Aldy Hernandez <aldyh@redhat.com>
268
269 * c-common.c: Fix double word typos.
270
ed2b2eb2 2712015-07-10 Eric Botcazou <ebotcazou@adacore.com>
272
273 * c-ada-spec.h (cpp_operation): Revert latest change.
274 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
275 constructors and destructors.
276
1eacc14a 2772015-07-09 Andrew MacLeod <amacleod@redhat.com>
278
279 * c-common.h: Adjust includes for flags.h changes.
280 * stub-objc.c: Likewise.
47ae02b7 281
0124237f 2822015-07-08 Eric Botcazou <ebotcazou@adacore.com>
283
284 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
285 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
286
386ef929 2872015-07-08 Jakub Jelinek <jakub@redhat.com>
288
289 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
290 are to be removed, return NULL rather than original clauses list.
291
9ef16211 2922015-07-07 Andrew MacLeod <amacleod@redhat.com>
293
294 * array-notation-common.c: Adjust includes.
295 * c-ada-spec.c: Likewise.
296 * c-cilkplus.c: Likewise.
297 * c-common.h: Likewise.
298 * c-cppbuiltin.c: Likewise.
299 * c-dump.c: Likewise.
300 * c-format.c: Likewise.
301 * c-gimplify.c: Likewise.
302 * c-indentation.c: Likewise.
303 * c-lex.c: Likewise.
304 * c-omp.c: Likewise.
305 * c-opts.c: Likewise.
306 * c-pch.c: Likewise.
307 * c-ppoutput.c: Likewise.
308 * c-pragma.c: Likewise.
309 * c-pretty-print.c: Likewise.
310 * c-semantics.c: Likewise.
311 * c-ubsan.c: Likewise.
312 * cilk.c: Likewise.
313 * stub-objc.c: Likewise.
314
67ede3e4 3152015-07-07 Eric Botcazou <ebotcazou@adacore.com>
316
317 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
318 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
319
42af8c2a 3202015-07-01 Jason Merrill <jason@redhat.com>
321
fa769cc5 322 * c-common.h (D_CXX11): Rename from D_CXX0X.
323 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
324 * c-common.c: Adjust.
325
97e9c847 326 * c-opts.c (c_common_post_options): Default to C++14.
327
42af8c2a 328 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
329
30b1ba42 3302015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
331
332 Implement N4197 - Adding u8 character literals
95858835 333 * c-family/c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
334 CPP_CHAR.
335 * c-family/c-common.c (c_parse_error): Print CPP_UTF8CHAR and
336 CPP_UTF8CHAR_USERDEF tokens.
337 * c-family/c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
338 and CPP_UTF8CHAR tokens.
339 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 340
0949f227 3412015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
342
343 PR fortran/66605
344 * c-common.c (do_warn_unused_parameter): Move here.
345 * c-common.h (do_warn_unused_parameter): Declare.
346
be23b16f 3472015-06-29 Marek Polacek <polacek@redhat.com>
348
349 PR c/66322
350 * c-common.c (check_case_bounds): Add bool * parameter. Set
351 OUTSIDE_RANGE_P.
352 (c_add_case_label): Add bool * parameter. Pass it down to
353 check_case_bounds.
354 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
355 warning here.
356 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
357 declarations.
358
6290f0db 3592015-06-27 Marek Polacek <polacek@redhat.com>
360
361 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
362 or VECTOR_INTEGER_TYPE_P throughout.
363 * c-gimplify.c: Likewise.
364
aa3e402e 3652015-06-26 Marek Polacek <polacek@redhat.com>
366
367 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
368 * c-common.c (c_fully_fold_internal): Likewise.
369 (c_alignof_expr): Likewise.
370 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
371 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
372 * cilk.c (create_parm_list): Likewise.
373
4e81b384 3742015-06-26 Marek Polacek <polacek@redhat.com>
375
376 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
377
ec2e0095 3782015-06-25 Andrew MacLeod <amacleod@redhat.com>
379
380 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
381 * c-gimplify.c: Likewise.
382 * c-pragma.c: Likewise.
383 * c-ubsan.c: Likewise.
384 * cilk.c: Likewise.
385
b594087e 3862015-06-25 Richard Sandiford <richard.sandiford@arm.com>
387
388 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
389 ggc_hasher.
390
a3c76fda 3912015-06-25 Andrew MacLeod <amacleod@redhat.com>
392
393 * cilk.c: Move calls.h after tm.h in the include chain.
394
f48c7f4a 3952015-06-25 Marek Polacek <polacek@redhat.com>
396
397 * array-notation-common.c: Use VAR_P throughout.
398 * c-ada-spec.c: Likewise.
399 * c-common.c: Likewise.
400 * c-format.c: Likewise.
401 * c-gimplify.c: Likewise.
402 * c-omp.c: Likewise.
403 * c-pragma.c: Likewise.
404 * c-pretty-print.c: Likewise.
405 * cilk.c: Likewise.
406
ce41e81a 4072015-06-25 Marek Polacek <polacek@redhat.com>
408
409 * cilk.c (extract_free_variables): Use is_global_var.
410
de231ec2 4112015-06-23 Richard Sandiford <richard.sandiford@arm.com>
412
413 * c-common.c: Don't include target-def.h.
414
0200602e 4152015-06-23 Marek Polacek <polacek@redhat.com>
416
417 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
418 when comparing INTEGER_CSTs.
419
99838ed7 4202015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
421
422 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
423 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
424 (dump_ada_template): Skip partially specialized types.
425
a4f59596 4262015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
427
428 * c-common.c (scalar_to_vector): Use std::swap instead of manually
429 swapping.
430
f2ab3bac 4312015-06-17 Andrew MacLeod <amacleod@redhat.com>
432
433 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
434 * c-ada-spec.c: Likewise.
435 * c-cilkplus.c: Likewise.
436 * c-common.c: Likewise.
437 * c-common.h: Likewise.
438 * c-cppbuiltin.c: Likewise.
439 * c-dump.c: Likewise.
440 * c-format.c: Likewise.
441 * c-gimplify.c: Likewise.
442 * c-indentation.c: Likewise.
443 * c-lex.c: Likewise.
444 * c-omp.c: Likewise.
445 * c-opts.c: Likewise.
446 * c-pch.c: Likewise.
447 * c-ppoutput.c: Likewise.
448 * c-pragma.c: Likewise.
449 * c-pretty-print.c: Likewise.
450 * c-semantics.c: Likewise.
451 * c-ubsan.c: Likewise.
452 * cilk.c: Likewise.
453 * stub-objc.c: Likewise.
454
db3d1ffc 4552015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
456
457 PR c++/65168
458 * c-common.c (c_common_truthvalue_conversion): Warn when
459 converting an address of a reference to a truth value.
460
64486212 4612015-06-08 Andrew MacLeod <amacleod@redhat.com>
462
463 * array-notation-common.c : Adjust include files.
464 * c-ada-spec.c : Likewise.
465 * c-cilkplus.c : Likewise.
466 * c-common.c : Likewise.
467 * c-common.h : Likewise.
468 * c-cppbuiltin.c : Likewise.
469 * c-dump.c : Likewise.
470 * c-format.c : Likewise.
471 * c-gimplify.c : Likewise.
472 * c-indentation.c : Likewise.
473 * c-lex.c : Likewise.
474 * c-omp.c : Likewise.
475 * c-opts.c : Likewise.
476 * c-pch.c : Likewise.
477 * c-ppoutput.c : Likewise.
478 * c-pragma.c : Likewise.
479 * c-pretty-print.c : Likewise.
480 * c-semantics.c : Likewise.
481 * c-ubsan.c : Likewise.
482 * cilk.c : Likewise.
483 * stub-objc.c : Likewise.
484
6e84ccad 4852015-06-08 Marek Polacek <polacek@redhat.com>
486
487 PR c/66415
488 * c-format.c (location_from_offset): Return LOC if LINE is null.
489
3a1c9df2 4902015-06-05 Aldy Hernandez <aldyh@redhat.com>
491
492 * c-common.h (c_parse_final_cleanups): New prototype.
493 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
494
f77c0292 4952015-06-04 Andrew MacLeod <amacleod@redhat.com>
496
497 * array-notation-common.c: Adjust includes for restructured coretypes.h.
498 * c-ada-spec.c: Likewise.
499 * c-cilkplus.c: Likewise.
500 * c-common.c: Likewise.
501 * c-common.h: Likewise.
502 * c-cppbuiltin.c: Likewise.
503 * c-dump.c: Likewise.
504 * c-format.c: Likewise.
505 * c-gimplify.c: Likewise.
506 * c-indentation.c: Likewise.
507 * c-lex.c: Likewise.
508 * c-omp.c: Likewise.
509 * c-opts.c: Likewise.
510 * c-pch.c: Likewise.
511 * c-ppoutput.c: Likewise.
512 * c-pragma.c: Likewise.
513 * c-pretty-print.c: Likewise.
514 * c-semantics.c: Likewise.
515 * c-ubsan.c: Likewise.
516 * cilk.c: Likewise.
517 * stub-objc.c: Likewise.
518
7c62dfbb 5192015-06-02 David Malcolm <dmalcolm@redhat.com>
520
521 PR c/66220:
522 * c-indentation.c (should_warn_for_misleading_indentation): Use
523 expand_location rather than expand_location_to_spelling_point.
524 Don't warn if the guarding statement is more indented than the
525 next/body stmts.
526
9af7c176 5272015-06-02 David Malcolm <dmalcolm@redhat.com>
528
529 * c-indentation.c (warn_for_misleading_indentation): Bail out
530 immediately if -Wmisleading-indentation isn't enabled.
531
eebcf436 5322015-06-01 Martin Liska <mliska@suse.cz>
533
534 * c-format.c (check_format_arg):Use new type-based pool allocator.
535 (check_format_info_main) Likewise.
536
b0a23e2f 5372015-05-31 Eric Botcazou <ebotcazou@adacore.com>
538
539 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
540 (has_nontrivial_methods): Likewise.
541
63dc1330 5422015-05-25 Marek Polacek <polacek@redhat.com>
543
544 * c-ubsan.c (ubsan_instrument_shift): Use type0.
545
5a4c69dd 5462015-05-22 Marek Polacek <polacek@redhat.com>
547
548 PR c/47043
549 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
550
044580bb 5512015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 552
553 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
554 STACK_GROWS_DOWNWARD.
555
044580bb 5562015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 557
558 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
559 STACK_GROWS_DOWNWARD rather than if it is defined.
560
d5a2ddc7 5612015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
562
563 PR c/52952
564 * c-format.c (location_column_from_byte_offset): New.
565 (location_from_offset): New.
566 (struct format_wanted_type): Add offset_loc field.
567 (check_format_info): Move handling of location for extra arguments
568 closer to the point of warning.
569 (check_format_info_main): Pass the result of location_from_offset
570 to warning_at.
571 (format_type_warning): Pass the result of location_from_offset
572 to warning_at.
573
72f8014e 5742015-05-20 Marek Polacek <polacek@redhat.com>
575
576 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
577
74efe522 5782015-05-20 Marek Polacek <polacek@redhat.com>
579
580 * c-ada-spec.c (dump_sloc): Use DECL_P.
581
b443c459 5822015-05-20 Marek Polacek <polacek@redhat.com>
583
584 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
585 * c-common.c: Likewise.
586
551e34da 5872015-05-19 David Malcolm <dmalcolm@redhat.com>
588
589 * c-common.h (fe_file_change): Strengthen param from
590 const line_map * to const line_map_ordinary *.
591 (pp_file_change): Likewise.
592 * c-lex.c (fe_file_change): Likewise.
593 (cb_define): Use linemap_check_ordinary when invoking
594 SOURCE_LINE.
595 (cb_undef): Likewise.
596 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
597 invoking cb_file_change.
598 (c_finish_options): Likewise.
599 (push_command_line_include): Likewise.
600 (cb_file_change): Strengthen param "new_map" from
601 const line_map * to const line_map_ordinary *.
602 * c-ppoutput.c (cb_define): Likewise for local "map".
603 (pp_file_change): Likewise for param "map" and local "from".
604
dfcf26a5 6052015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
606
607 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
608
2e474820 6092015-05-18 Tom de Vries <tom@codesourcery.com>
610
611 * c-common.c (build_va_arg_1): New function.
612 (build_va_arg): Add address operator to va_list operand if necessary.
613
e53013a8 6142015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
615
616 PR c/48956
617 * c-common.c (int_safely_convertible_to_real_p): Define.
618 (unsafe_conversion_p): Check conversions involving complex types.
619 (conversion_warning): Add new warning message for conversions which
620 discard imaginary component.
621 * c-common.h: (enum conversion_safety): Add new enumerator for such
622 conversions.
623
aac24642 6242015-05-14 Marek Polacek <polacek@redhat.com>
625
626 PR c/66066
627 PR c/66127
628 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
629 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
630 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
631 use it. If FOR_INT_CONST, require that all evaluated operands be
632 INTEGER_CSTs.
633
e5f01cba 6342015-05-12 David Malcolm <dmalcolm@redhat.com>
635
636 * c-common.h (warn_for_misleading_indentation): New prototype.
637 * c-indentation.c: New file.
638 * c.opt (Wmisleading-indentation): New option.
639
c37be9ec 6402015-05-12 Tom de Vries <tom@codesourcery.com>
641
642 PR tree-optimization/66010
643 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
644
7290114b 6452015-05-09 Jason Merrill <jason@redhat.com>
646
3c665566 647 * c-opts.c (c_common_post_options): Also clear
648 cpp_opts->cpp_warn_cxx11_compat.
649
d875b9d2 650 * c-common.h (enum cxx_dialect): Add cxx_unset.
651 * c-common.c (cxx_dialect): Initialize to cxx_unset.
652 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
653
7290114b 654 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
655 (std=gnu++0x): Mark as Undocumented.
656 (std=gnu++1y): Add deprecated message.
657
1b03cc89 6582015-05-08 Jason Merrill <jason@redhat.com>
659
1c5f7aba 660 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
661 * c-opts.c: Adjust.
662
1b03cc89 663 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
664
dc5945dc 6652015-05-08 Marek Polacek <polacek@redhat.com>
666
667 PR c/64918
668 * c.opt (Woverride-init-side-effects): New option.
669
cdc64059 6702015-05-07 Marek Polacek <polacek@redhat.com>
671
672 PR c/65179
673 * c-common.c (c_fully_fold_internal): Warn when left shifting a
674 negative value.
675 * c.opt (Wshift-negative-value): New option.
676 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
677 when -Wextra and C99/C++11 mode.
678
8cafe283 6792015-05-07 Marek Polacek <polacek@redhat.com>
680 Martin Uecker <uecker@eecs.berkeley.edu>
681
682 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
683 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
684
cb40a6f7 6852015-05-05 Jason Merrill <jason@redhat.com>
686
687 * c.opt (Wterminate): New.
688
14744a16 6892015-04-30 Marek Polacek <polacek@redhat.com>
690
691 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
692 require that the non-constant be of a boolean type.
693
9866562d 6942015-04-29 Josh Triplett <josh@joshtriplett.org>
695
8cafe283 696 * c-common.c (handle_section_attribute): Refactor to reduce
697 nesting and distinguish between error cases.
9866562d 698
a720ab1c 6992015-04-29 Marek Polacek <polacek@redhat.com>
700
701 PR c/64610
702 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
703 with 0/1.
704
8c072e52 7052015-04-29 Jakub Jelinek <jakub@redhat.com>
706
707 * c-common.h (omp_clause_mask): Unconditionally define as a class.
708 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
709 HOST_BITS_PER_WIDE_INT.
710
f7fec1c7 7112015-04-28 Tom de Vries <tom@codesourcery.com>
712
713 PR tree-optimization/65887
714 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
715
483b3d26 7162015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 717 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 718
719 * c-ada-spec.c (in_function): Delete.
720 (dump_generic_ada_node): Do not change in_function and remove the
721 redundant code dealing with it.
722 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
723 (print_ada_methods): Output the static member functions in a nested
724 package after the regular methods as well as associated renamings.
725
f11bdffb 7262015-04-24 Marek Polacek <polacek@redhat.com>
727
728 PR c/65830
729 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
730 and OPT_Wshift_count_overflow.
731
485f6b9c 732 PR c/63357
733 * c-common.c (warn_logical_operator): Warn if the operands have the
734 same expressions.
735
439606a9 7362015-04-24 Marek Polacek <polacek@redhat.com>
737
738 PR c/61534
739 * c-common.c (warn_logical_operator): Bail if either operand comes
740 from a macro expansion.
741
de801c28 7422015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
743
744 PR target/55143
745 * c-common.c (c_default_pointer_mode): Add definition.
746 * c-common.h (c_default_pointer_mode): Add declaration.
747
76738f56 7482015-03-11 Jakub Jelinek <jakub@redhat.com>
749
750 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
751 on record_builtin_type argument.
752
16f958b3 7532015-03-10 Jakub Jelinek <jakub@redhat.com>
754
755 PR c/65120
756 * c-common.c (warn_logical_not_parentheses): Don't warn for
757 !x == 0 or !x != 0.
758
9b22f73f 7592015-03-07 Marek Polacek <polacek@redhat.com>
760
761 PR sanitizer/65280
762 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
763 before trying to figure out whether we have a flexible array member.
764
a864b7d4 7652015-03-06 Eric Botcazou <ebotcazou@adacore.com>
766 Jonathan Wakely <jwakely.gcc@gmail.com>
767
768 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
769
9bf8c90b 7702015-03-05 Eric Botcazou <ebotcazou@adacore.com>
771
772 PR ada/65319
773 * c-ada-spec.c (print_destructor): Remove obsolete code.
774
037ac54f 7752015-03-01 Eric Botcazou <ebotcazou@adacore.com>
776
777 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
778 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
779 DECL_TEMPLATE_RESULT emulations.
780 (dump_ada_template)): Add guard for TYPE_METHODS.
781
495cbfb8 7822015-02-27 Marek Polacek <polacek@redhat.com>
783
784 PR c/65040
785 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
786
688a864e 7872015-02-27 Kai Tietz <ktietz@redhat.com>
788
789 PR c/35330
790 * c-pragma.c (handle_pragma_weak): Do not try to create
791 weak/alias of declarations not being function, or variable
792 declarations.
793
6349b8cc 7942015-02-24 Thomas Schwinge <thomas@codesourcery.com>
795
796 PR libgomp/64625
797 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
798 Remove macros.
799 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
800
3afd5369 8012015-02-16 Marek Polacek <polacek@redhat.com>
802
803 PR c/65066
804 * c-format.c (check_format_types): Handle null param.
805
46173d1b 8062015-02-13 Marek Polacek <polacek@redhat.com>
807
808 PR c/65040
809 * c-format.c (check_format_types): Don't warn about different
810 signedness if the original value is in the range of WANTED_TYPE.
811
1d524ff7 8122015-02-12 Jason Merrill <jason@redhat.com>
813
814 PR c++/64956
815 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
816 to the current highest version.
817 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
818
bbf8fbec 8192015-02-04 Jakub Jelinek <jakub@redhat.com>
820
821 PR c/64824
822 PR c/64868
823 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
824 instead of RDIV_EXPR. Use build_binary_op instead of
825 build2_loc.
826
c05be867 8272015-01-30 Joseph Myers <joseph@codesourcery.com>
828
829 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
830 to pass input_location as first argument.
831
85977647 8322015-01-23 Tom de Vries <tom@codesourcery.com>
833
834 PR libgomp/64672
835 * c.opt (fopenacc): Mark as LTO option.
836
fa175926 8372015-01-23 Tom de Vries <tom@codesourcery.com>
838
839 PR libgomp/64707
840 * c.opt (fopenmp): Mark as LTO option.
841
20aad5ba 8422015-01-21 Jakub Jelinek <jakub@redhat.com>
843
844 PR c/63307
845 * cilk.c (fill_decls_vec): Only put decls into vector v.
846 (compare_decls): Fix up formatting.
847
8482015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
849
850 PR c/63307
851 * cilk.c: Include vec.h.
852 (struct cilk_decls): New structure.
853 (wrapper_parm_cb): Split this function to...
854 (fill_decls_vec): ...this...
855 (create_parm_list): ...and this.
856 (compare_decls): New function.
857 (for_local_cb): Remove.
858 (wrapper_local_cb): Ditto.
859 (build_wrapper_type): For now first traverse and fill vector of
860 declarations then sort it and then deal with sorted vector.
861 (cilk_outline): Ditto.
862 (declare_one_free_variable): Ditto.
863
60b77e28 8642015-01-21 Jason Merrill <jason@redhat.com>
865
866 PR c++/64629
867 * c-format.c (check_format_arg): Call decl_constant_value.
868
85fbea97 8692015-01-19 Martin Liska <mliska@suse.cz>
870
871 * c-common.c (handle_noicf_attribute): New function.
872
ca4c3545 8732015-01-15 Thomas Schwinge <thomas@codesourcery.com>
874 Bernd Schmidt <bernds@codesourcery.com>
875 James Norris <jnorris@codesourcery.com>
876 Cesar Philippidis <cesar@codesourcery.com>
877 Ilmir Usmanov <i.usmanov@samsung.com>
878 Jakub Jelinek <jakub@redhat.com>
879
880 * c.opt (fopenacc): New option.
881 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
882 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
883 New macros.
884 * c-common.h (c_finish_oacc_wait): New prototype.
885 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
886 (c_finish_oacc_wait): New function.
887 * c-pragma.c (oacc_pragmas): New variable.
888 (c_pp_lookup_pragma, init_pragma): Handle it.
889 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
890 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
891 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
892 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
893 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
894 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
895 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
896 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
897 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
898 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
899 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
900 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
901 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
902 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
903 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
904 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
905 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
906 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
907 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
908 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
909 PRAGMA_OACC_CLAUSE_WORKER.
910
947aa916 9112015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
912
913 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
914 for the new option fstack-protector_explicit.
915 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
916 (handle_stack_protect_attribute): New function.
917
e4fd7af1 9182015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
919
920 * c.opt: New option -Warray-bounds=.
921
1f78217c 9222015-01-09 Michael Collison <michael.collison@linaro.org>
923
924 * array-notation-common.c: Include hash-set.h, machmode.h,
925 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
926 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
927 * c-ada-spec.c: Ditto.
928 * c-cilkplus.c: Ditto.
929 * c-common.c: Include input.h due to flattening of tree.h.
930 Define macro GCC_C_COMMON_C.
931 * c-common.h: Flatten tree.h header files into c-common.h.
932 Remove include of tree-core.h.
933 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
934 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
935 fold-const.h, wide-int.h, and inchash.h due to
936 flattening of tree.h.
937 * c-dump.c: Ditto.
938 * c-format.c: Flatten tree.h header files into c-common.h.
939 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
940 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
941 fold-const.h, wide-int.h, and inchash.h due to
942 flattening of tree.h.
943 * c-dump.c: Include hash-set.h, machmode.h,
944 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
945 fold-const.h, wide-int.h, and inchash.h due to
946 flattening of tree.h.
947 * c-format.c: Include hash-set.h, machmode.h,
948 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
949 fold-const.h, wide-int.h, inchash.h and real.h due to
950 flattening of tree.h.
951 * c-gimplify.c: Include hash-set.h, machmode.h,
952 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
953 fold-const.h, wide-int.h, and inchash.h due to
954 flattening of tree.h.
955 * cilk.c: Ditto.
956 * c-lex.c: Ditto.
957 * c-omp.c: Ditto.
958 * c-opts.c: Ditto.
959 * c-pch.c: Ditto.
960 * c-ppoutput.c: Ditto.
961 * c-pragma.c: Ditto.
962 * c-pretty-print.c: Ditto.
963 * c-semantics.c: Ditto.
964 * c-ubsan.c: Ditto.
965 * stub-objc.c: Ditto.
966
411b7663 9672015-01-08 Jason Merrill <jason@redhat.com>
968
969 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
970 do_ubsan_in_current_function.
971 (ubsan_maybe_instrument_reference_or_call): Likewise.
972 * c-ubsan.h: Declare it.
973
d1e96383 9742015-01-08 Mike Stump <mikestump@comcast.net>
975
976 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
977
b57910fa 9782015-01-07 Marek Polacek <polacek@redhat.com>
979
980 PR c/64440
981 * c-common.c (c_fully_fold_internal): Warn for division and modulo
982 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
983
678a4e3e 9842015-01-05 Trevor Saunders <tsaunders@mozilla.com>
985
986 PR c++/31397
987 * c.opt (Wsuggest-override): New option.
988
d353bf18 9892015-01-05 Jakub Jelinek <jakub@redhat.com>
990
991 Update copyright years.
992
92b63884 9932015-01-05 Marek Polacek <polacek@redhat.com>
994
995 PR c/64423
996 * c-common.c (warn_array_subscript_with_type_char): Add location_t
997 parameter. Use it.
998 * c-common.h (warn_array_subscript_with_type_char): Update
999 declaration.
1000
83715bc4 10012014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1002
1003 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1004 Control macro with flag_sized_deallocation.
1005
8a8211df 10062014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1007
1008 * c.opt (Wdiscarded-array-qualifiers): New option.
1009
33058239 10102014-12-19 Jakub Jelinek <jakub@redhat.com>
1011
1012 PR preprocessor/63831
1013 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1014 and __has_cpp_attribute here.
1015 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1016 c_common_has_attribute.
1017 * c-common.h (c_common_has_attribute): New prototype.
1018 * c-lex.c (init_c_lex): Set cb->has_attribute to
1019 c_common_has_attribute instead of cb_has_attribute.
1020 (get_token_no_padding): New function.
1021 (cb_has_attribute): Renamed to ...
1022 (c_common_has_attribute): ... this. No longer static. Use
1023 get_token_no_padding, require ()s, don't build TREE_LIST
1024 unnecessarily, fix up formatting, adjust diagnostics, call
1025 init_attributes.
1026
d1856d2c 10272014-12-15 Jason Merrill <jason@redhat.com>
1028
1029 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1030 (-Wsized-deallocation): New.
1031 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1032 to on in C++14 and up.
1033
4972ed5d 10342014-12-11 Jason Merrill <jason@redhat.com>
1035
7d7fa964 1036 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1037
4972ed5d 1038 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1039 we aren't complaining about VLAs.
1040
5ebccf71 10412014-12-06 Marek Polacek <polacek@redhat.com>
1042
1043 PR tree-optimization/64183
1044 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1045 shift-expression if it is integer_type_node. Use types_compatible_p.
1046
f9e245b2 10472014-11-29 Jakub Jelinek <jakub@redhat.com>
1048
1049 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1050 last argument from create_tmp_var_raw and create_tmp_var calls.
1051 * cilk.c (gimplify_cilk_spawn): Likewise.
1052 * c-omp.c (c_finish_omp_atomic): Likewise.
1053
d2f60593 10542014-11-28 Marek Polacek <polacek@redhat.com>
1055
1056 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1057 instead of unsigned_type_node.
1058
fce2dbd1 10592014-11-28 Marek Polacek <polacek@redhat.com>
1060
1061 PR c/63862
1062 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1063 to op1_utype.
1064 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1065 expression to unsigned_type_node.
1066
3a4a2292 10672014-11-20 Mark Wielaard <mjw@redhat.com>
1068
1069 PR debug/38757
1070 * c-opts.c (set_std_c89): Set lang_hooks.name.
1071 (set_std_c99): Likewise.
1072 (set_std_c11): Likewise.
1073 (set_std_cxx98): Likewise.
1074 (set_std_cxx11): Likewise.
1075 (set_std_cxx14): Likewise.
1076 (set_std_cxx1z): Likewise.
1077
c61ef207 10782014-11-21 Jakub Jelinek <jakub@redhat.com>
1079
1080 PR target/63764
1081 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1082 return type to bool.
c9ed79de 1083 * c-common.c: Include gimple-expr.h.
c61ef207 1084 (convert_vector_to_pointer_for_subscript): Change return type to
1085 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1086 and copy it into a TARGET_EXPR and use that instead of *vecp
1087 directly.
1088
1a91d914 10892014-11-19 David Malcolm <dmalcolm@redhat.com>
1090
1091 Merger of git branch "gimple-classes-v2-option-3".
1092 * ChangeLog.gimple-classes: New.
1093 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1094 from being just a vec<gimple> to a vec<gbind *>.
1095
f8fc8b8e 10962014-11-18 Jakub Jelinek <jakub@redhat.com>
1097
1098 PR sanitizer/63813
1099 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1100 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1101 get_pointer_alignment for non-pointers. Use ptype, or if it is
1102 reference type, corresponding pointer type, as type of kind
1103 argument.
1104 (ubsan_maybe_instrument_reference,
1105 ubsan_maybe_instrument_member_call): Adjust callers.
1106
8315e35e 11072014-11-15 Marek Polacek <polacek@redhat.com>
1108
1109 PR middle-end/63884
1110 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1111 for NULL fndecl.
1112 (extract_array_notation_exprs): Return for NULL node.
1113
86b9f14b 11142014-11-12 Joseph Myers <joseph@codesourcery.com>
1115
1116 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1117 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1118
0c93c8a9 11192014-11-12 Jakub Jelinek <jakub@redhat.com>
1120
1121 PR c/59708
1122 * c-common.c (check_builtin_function_arguments): Handle
1123 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1124
fdd735a7 11252014-11-10 Andi Kleen <ak@linux.intel.com>
1126
1127 PR c/60804
1128 * c-common.h (check_no_cilk): Declare.
1129 * cilk.c (get_error_location): New function.
1130 (check_no_cilk): Dito.
1131
5cb678b4 11322014-11-10 Andi Kleen <ak@linux.intel.com>
1133
1134 * cilk.c (recognize_spawn): Use expression location
1135 for error message.
1136
0feb4de1 11372014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1138
1139 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1140
3aa2fa44 11412014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1142
1143 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1144 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1145 (__cpp_range_based_for, __cpp_initializer_lists,
1146 __cpp_delegating_constructors, __cpp_nsdmi,
1147 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1148 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1149 __has_cpp_attribute.
1150 * c-lex.c (cb_has_attribute): New callback CPP function;
1151 (init_c_lex): Set has_attribute callback.
1152
7fd22aae 11532014-11-04 Richard Biener <rguenther@suse.de>
1154
1155 * c-common.c (shorten_compare): Do not shorten mixed
1156 DFP and non-DFP compares.
1157
4af203ac 11582014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1159
1160 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1161 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1162 Commentary and rearrangement of tests.
1163 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1164 Commentary and rearrangement of tests.
1165 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1166 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1167
3754d046 11682014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1169
1170 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1171 enum from machine_mode.
1172
1140c305 11732014-10-28 Andrew MacLeod <amacleod@redhat.com>
1174
1f78217c 1175 * c-common.c: Adjust include files.
1176 * c-gimplify.c: Ditto.
1177 * cilk.c: Ditto.
1178 * c-pragma.c: Ditto.
1179 * c-ubsan.c: Ditto.
1140c305 1180
94ea8568 11812014-10-27 Andrew MacLeod <amacleod@redhat.com>
1182
1183 * c-gimplify.c: Adjust include files.
1184
32ecf960 11852014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1186
1187 PR c++/53061
1188 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1189 c_common_initialize_diagnostics.
1190 * c-common.h: Likewise.
1191
85fecbe2 11922014-10-24 Marek Polacek <polacek@redhat.com>
1193
1194 PR c/56980
1195 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1196 print "struct"/"union"/"enum" for typedefed names.
1197
e7ec033a 11982014-10-23 Marek Polacek <polacek@redhat.com>
1199
1200 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1201 in unsigned type.
1202
c2598081 12032014-10-22 Jakub Jelinek <jakub@redhat.com>
1204 Yury Gribov <y.gribov@samsung.com>
1205
1206 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1207 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1208 instead of flag_sanitize_recover as bool flag.
1209
acebb7e2 12102014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1211
1212 * cilk.c: Revert previous change.
1213
6115016c 12142014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1215
1216 PR c/63307
1217 * cilk.c: Include vec.h.
1218 (struct cilk_decls): New structure.
1219 (wrapper_parm_cb): Split this function to...
1220 (fill_decls_vec): ...this...
1221 (create_parm_list): ...and this.
1222 (compare_decls): New function.
1223 (for_local_cb): Remove.
1224 (wrapper_local_cb): Ditto.
1225 (build_wrapper_type): For now first traverse and fill vector of
1226 declarations then sort it and then deal with sorted vector.
1227 (cilk_outline): Ditto.
1228 (declare_one_free_variable): Ditto.
1229
e610d2b2 12302014-10-17 Marek Polacek <polacek@redhat.com>
1231
1232 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1233 * c.opt (Wimplicit-int): Initialize to -1.
1234
a3020f2f 12352014-10-16 Andrew MacLeod <amacleod@redhat.com>
1236
1237 * c-pragma.c: Adjust include files.
1238 * c-semantics.c: Likewise.
1239
926ddd2c 12402014-10-16 DJ Delorie <dj@redhat.com>
1241
1242 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1243 multiples of bytes.
1244
b0542e7c 12452014-10-14 Jason Merrill <jason@redhat.com>
1246
1247 PR c++/63455
1248 * c-common.h (CPP_PREPARSED_EXPR): New.
1249 (N_CP_TTYPES): Adjust.
1250
b2601928 12512014-10-15 Marek Polacek <polacek@redhat.com>
1252
1253 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1254
9f75f026 12552014-10-14 DJ Delorie <dj@redhat.com>
1256
1257 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1258 types, not just __int128.
1259 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1260 types, not just __int128.
1261 (cpp_atomic_builtins): Round pointer sizes up.
1262 (type_suffix): Use type precision, not specific types.
1263 * c-common.c (c_common_reswords): Remove __int128 special case.
1264 (c_common_type_for_size): Check for all __intN types, not just
1265 __int128.
1266 (c_common_type_for_mode): Likewise.
1267 (c_common_signed_or_unsigned_type): Likewise.
1268 (c_build_bitfield_integer_type): Likewise.
1269 (c_common_nodes_and_builtins): Likewise.
1270 (keyword_begins_type_specifier): Likewise.
1271 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1272 __intN variants.
1273
2ef51f0e 12742014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1275
1276 * c-common.c: Use hash_table instead of hashtab.
1277
5b8257e3 12782014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1279
1f78217c 1280 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 1281 C++11 section.
1282
5e84569c 12832014-10-03 Marc Glisse <marc.glisse@inria.fr>
1284
1285 PR c++/54427
1286 PR c++/57198
1287 PR c++/58845
1288 * c-common.c (warn_logical_operator): Punt for vectors.
1289
f6751ff2 12902014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1291
1292 Implement SD-6: SG10 Feature Test Recommendations
1293 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1294 macros and the __has_header macro.
1295
c33e051d 12962014-09-30 Jason Merrill <jason@redhat.com>
1297
f76a9aa8 1298 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1299 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1300 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1301
717e52f9 1302 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1303 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1304
c33e051d 1305 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1306 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1307
5213d6c9 13082014-09-24 Marek Polacek <polacek@redhat.com>
1309
1310 PR c/61405
1311 PR c/53874
1312 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1313
6b722052 13142014-09-23 Andi Kleen <ak@linux.intel.com>
1315
1316 * c-common.c (handle_no_reorder_attribute): New function.
1317 (c_common_attribute_table): Add no_reorder attribute.
1318
0cb69d12 13192014-09-22 Joseph Myers <joseph@codesourcery.com>
1320
1321 * c-cppbuiltin.c (c_cpp_builtins): Define
1322 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1323 modes.
1324
168dfbf0 13252014-09-18 Joseph Myers <joseph@codesourcery.com>
1326
1327 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1328 for supported floating-point modes.
1329
b83705f4 13302014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1331
1332 * c.opt (Wpsabi): Use LangEnabledBy.
1333 * c-opts.c (c_common_handle_option): Do not handle here.
1334
d5957f0d 13352014-09-12 Joseph Myers <joseph@codesourcery.com>
1336
1337 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1338 macros for floating-point modes.
1339
bae6edff 13402014-09-11 Marc Glisse <marc.glisse@inria.fr>
1341
1342 PR target/58757
1343 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1344 __*_DENORM_MIN__ without denormals.
1345
73a69d02 13462014-09-10 Jakub Jelinek <jakub@redhat.com>
1347
1348 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1349 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1350 ubsan_create_data callers.
1351 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1352 index is constant or BIT_AND_EXPR with constant mask and is
1353 small enough for the bound.
1354 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1355 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1356
7ff8db31 13572014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1358
1359 * c.opt: Add CppReason to various flags.
1360 (Wdate-time): Re-sort.
1361 * c-common.c: Include c-common.h earlier.
1362 (struct reason_option_codes_t): Delete.
1363 (c_option_controlling_cpp_error): Prefix global type and struct
1364 with cpp_.
1365
bcc1f37e 13662014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1367
1368 * c.opt (Wnormalized): New.
1369 (Wnormalized=): Use Enum and Reject Negative.
1370 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1371
b660d3c6 13722014-09-08 Joseph Myers <joseph@codesourcery.com>
1373
1374 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1375 digits of floating-point modes if -fbuilding-libgcc.
1376
325b8c3c 13772014-09-05 Joseph Myers <joseph@codesourcery.com>
1378
1379 * c-cppbuiltin.c (c_cpp_builtins): Also define
1380 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1381 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1382 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1383 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1384 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1385 __LIBGCC_STACK_GROWS_DOWNWARD__,
1386 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1387 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1388 __LIBGCC_DWARF_FRAME_REGISTERS__,
1389 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1390 __LIBGCC_STACK_POINTER_REGNUM__ and
1391 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1392 (builtin_define_with_value): Handle backslash-escaping in string
1393 macro values.
1394
1e074e77 13952014-09-05 Richard Biener <rguenther@suse.de>
1396
1397 PR middle-end/63148
1398 * c-format.c (check_format_arg): Properly handle
1399 effectively signed POINTER_PLUS_EXPR offset.
1400
04afd878 14012014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1402
1403 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1404 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1405 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1406 and Init.
1407 * c-opts.c (c_common_handle_option): Do not handle here.
1408 (sanitize_cpp_opts): Likewise.
1409 * c-common.c (struct reason_option_codes_t): Handle
1410 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1411
a3f448f0 14122014-09-03 Marek Polacek <polacek@redhat.com>
1413
1414 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1415
40750995 14162014-09-02 Jakub Jelinek <jakub@redhat.com>
1417 Balaji V. Iyer <balaji.v.iyer@intel.com>
1418 Igor Zamyatin <igor.zamyatin@intel.com>
1419
1420 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1421 * c-common.c (c_common_reswords): Added _Cilk_for.
1422 * c-common.h (enum rid): Added RID_CILK_FOR.
1423 (cilk_for_number_of_iterations): Add declaration.
1424 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1425 CILK_FOR.
1426 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1427 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1428
f0fbe519 14292014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1430
1431 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1432 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1433 Wundef): Use CPP, Var and Init.
1434 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1435
a7d2e480 14362014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1437
1438 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1439 * c-opts.c (c_common_handle_option): Do not handle here.
1440
c35e53f1 14412014-08-25 Jason Merrill <jason@redhat.com>
1442
1443 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1444 -std=c++14 and -std=gnu++14, rather than the reverse.
1445 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1446 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1447 * c-common.h (cxx_dialect): Remove cxx1y.
1448
4e454776 14492014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1450
1451 * c-common.h (enum cxx_dialect): Add cxx14.
1452 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1453 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1454 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1455
af1a80f2 14562014-08-22 Jason Merrill <jason@redhat.com>
1457
1458 * c.opt (std=gnu++17): Fix alias.
1459
dc6229e8 14602014-08-22 Marek Polacek <polacek@redhat.com>
1461
1462 PR c++/62199
1463 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1464 check for vector types. Drop LHS argument.
1465 * c-common.h (warn_logical_not_parentheses): Adjust.
1466
ba7f7c88 14672014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1468
1469 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1470 (Wmultichar): Likewise.
1471 (Wdate-time): Use C-family languages instead of Common. Use CPP
1472 and Var.
1473 * c-opts.c (c_common_handle_option): Do not handle the above
1474 options here.
1475 (sanitize_cpp_opts): Likewise.
1476
399d4f80 14772014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1478
1479 PR fortran/44054
1480 * c-opts.c: Include tree-diagnostics.h.
1481 (c_diagnostic_finalizer): New.
1482 (c_common_initialize_diagnostics): Use it.
1483
1babed5f 14842014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1485
1486 PR preprocessor/51303
1487 * c-common.c (struct reason_option_codes_t option_codes):
1488 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1489
3636964b 14902014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1491
1492 PR c/60975
1493 PR c/53063
1494 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1495 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1496 (c_common_post_options): Call init_global_opts_from_cpp.
1497 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1498
78bf4156 14992014-08-19 Marek Polacek <polacek@redhat.com>
1500
1501 PR c++/62153
1502 * c-common.c (maybe_warn_bool_compare): New function.
1503 * c-common.h (maybe_warn_bool_compare): Declare.
1504 * c.opt (Wbool-compare): New option.
1505
508ea33a 15062014-08-19 Marek Polacek <polacek@redhat.com>
1507
1508 * c.opt (Wc99-c11-compat): New option.
1509
806fe15e 15102014-08-19 Marek Polacek <polacek@redhat.com>
1511
1512 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1513 to warn_c90_c99_compat.
1514 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1515 to -1.
1516
6c867de1 15172014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1518 Steven Bosscher <steven@gcc.gnu.org>
1519
1520 PR c/52952
1521 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1522 format_check_results.
1523 (check_function_format): Use true and add comment for boolean
1524 argument.
1525 (finish_dollar_format_checking): Use explicit location when warning.
1526 (check_format_info): Likewise.
1527 (check_format_arg): Set extra_arg_loc and format_string_loc.
1528 (check_format_info_main): Use explicit location when warning.
1529 (check_format_types): Pass explicit location.
1530 (format_type_warning): Likewise.
1531
dc8078a3 15322014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1533
1534 PR fortran/44054
1535 * c-format.c: Handle Fortran flags.
1536
d271ec7e 15372014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1538
1539 PR other/61962
1540 * array-notation-common.c (find_rank): Added handling for other
1541 types of references.
1542
890c2e2f 15432014-08-10 Marek Polacek <polacek@redhat.com>
1544
1545 PR c/51849
1546 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
1547 * c.opt (Wc90-c99-compat): Add option.
1548
7149db5f 15492014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1550
1551 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
1552
2d2f6a15 15532014-08-03 Marek Polacek <polacek@redhat.com>
1554
1555 * c-common.c (check_case_value): Add location_t parameter. Use it.
1556 (c_add_case_label): Pass loc to check_case_value.
1557
06ecf488 15582014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1559
1560 * cilk.c: Use hash_map instead of pointer_map.
1561
431205b7 15622014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1563
1564 * c-gimplify.c: Use hash_set instead of pointer_set.
1565
3394c80c 15662014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1567
1568 PR middle-end/61455
1569 * array-notation-common.c (extract_array_notation_exprs): Handling
1570 of DECL_EXPR added.
1571
392dee1e 15722014-08-01 Jakub Jelinek <jakub@redhat.com>
1573
1574 * c-common.h (min_align_of_type): Removed prototype.
1575 * c-common.c (min_align_of_type): Removed.
1576 * c-ubsan.h (ubsan_maybe_instrument_reference,
1577 ubsan_maybe_instrument_member_call): New prototypes.
1578 * c-ubsan.c: Include stor-layout.h and builtins.h.
1579 (ubsan_maybe_instrument_reference_or_call,
1580 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
1581 functions.
1582
f22a2cb7 15832014-07-31 Marc Glisse <marc.glisse@inria.fr>
1584
1585 PR c++/60517
1586 * c.opt (-Wreturn-local-addr): Move to common.opt.
1587
87b0198f 15882014-07-30 Jason Merrill <jason@redhat.com>
1589
1590 PR c++/61659
1591 PR c++/61687
1592 Revert:
1593 * c.opt (-fuse-all-virtuals): New.
1594
74691f46 15952014-07-30 Tom Tromey <tromey@redhat.com>
1596
1597 PR c/59855
1598 * c.opt (Wdesignated-init): New option.
1599 * c-common.c (c_common_attribute_table): Add "designated_init".
1600 (handle_designated_init): New function.
1601
9140d56f 16022014-07-24 Marek Polacek <polacek@redhat.com>
1603
1604 PR c/57653
1605 * c-opts.c (c_finish_options): If -imacros is in effect, return.
1606
a09c5cc2 16072014-07-16 Dodji Seketeli <dodji@redhat.com>
1608
1609 PR preprocessor/60723 - missing system-ness marks for macro tokens
1610 * c-ppoutput.c (struct print::prev_was_system_token): New data
1611 member.
1612 (init_pp_output): Initialize it.
1613 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
1614 (do_line_change): Return a flag saying if a line marker was
1615 emitted or not.
1616 (scan_translation_unit): Detect if the system-ness of the token we
1617 are about to emit is different from the one of the previously
1618 emitted token. If so, emit a line marker. Avoid emitting useless
1619 adjacent line markers. Avoid emitting line markers for tokens
1620 originating from the expansion of built-in macros.
1621 (scan_translation_unit_directives_only): Adjust.
1622
2b25b62f 16232014-07-15 Marek Polacek <polacek@redhat.com>
1624
1625 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
1626 TYPE_MAX_VALUE is NULL.
1627
305d96bc 16282014-07-14 Jakub Jelinek <jakub@redhat.com>
1629
1630 PR middle-end/61294
1631 * c.opt (Wmemset-transposed-args): New warning.
1632
8ea4660d 16332014-07-10 Jason Merrill <jason@redhat.com>
1634
1635 PR c++/61659
1636 PR c++/61687
1637 * c.opt (-fuse-all-virtuals): New.
1638
cd480f3d 16392014-07-09 Richard Biener <rguenther@suse.de>
1640
1641 PR c-family/61741
1642 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1643 using unsigned arithmetic if overflow does not wrap instead of
1644 if overflow is undefined.
1645
87d59e72 16462014-07-06 Marek Polacek <polacek@redhat.com>
1647
1648 PR c/6940
1649 * c.opt (Wsizeof-array-argument): New option.
1650
d69521d8 16512014-07-03 Jakub Jelinek <jakub@redhat.com>
1652
1653 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
1654 comments->count <= 1, as comments->entries might be NULL.
1655
1207866e 16562014-07-01 Marek Polacek <polacek@redhat.com>
1657
1658 * c.opt (Wint-conversion): New option.
1659
7a6bbb76 16602014-07-01 Marek Polacek <polacek@redhat.com>
1661
1662 PR c/58286
1663 * c.opt (Wincompatible-pointer-types): New option.
1664
9d4eeb52 16652014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1666
1667 PR c++/51400
1668 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1669 Do not discard TYPE_QUALS of type.
1670
4b53bc0f 16712014-06-26 Jason Merrill <jason@redhat.com>
1672
1673 * c-common.h (enum cxx_dialect): Add cxx1z.
1674 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1675 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1676
a8a8d4ea 16772014-06-26 Teresa Johnson <tejohnson@google.com>
1678
1679 * c-common.h (get_dump_info): Declare.
1680 * c-gimplify.c (c_genericize): Use saved dump files.
1681 * c-opts.c (c_common_parse_file): Begin and end dumps
1682 once around parsing invocation.
1683 (get_dump_info): New function.
1684
1f6be080 16852014-06-23 Marek Polacek <polacek@redhat.com>
1686 Andrew MacLeod <amacleod@redhat.com>
1687
1688 PR c/61553
1689 * c-common.c (get_atomic_generic_size): Don't segfault if the
1690 type doesn't have a size.
1691
5ef6b660 16922014-06-20 Marek Polacek <polacek@redhat.com>
1693
1694 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
1695 (ubsan_walk_array_refs_r): New function.
1696 (c_genericize): Instrument array bounds.
1697 * c-ubsan.c: Include "internal-fn.h".
1698 (ubsan_instrument_division): Mark instrumented arrays as having
1699 side effects. Adjust ubsan_type_descriptor call.
1700 (ubsan_instrument_shift): Likewise.
1701 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1702 (ubsan_instrument_bounds): New function.
1703 (ubsan_array_ref_instrumented_p): New function.
1704 (ubsan_maybe_instrument_array_ref): New function.
1705 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1706 (ubsan_array_ref_instrumented_p): Declare.
1707 (ubsan_maybe_instrument_array_ref): Declare.
1708
17092014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 1710
1711 PR lto/61123
1712 * c.opt (fshort-enums): Add to LTO.
1713 * c.opt (fshort-wchar): Likewise.
1714
78438f31 17152014-06-16 Marek Polacek <polacek@redhat.com>
1716
1717 PR c/60439
1718 * c.opt (Wswitch-bool): Add Var.
1719
5fddcf34 17202014-06-12 Jakub Jelinek <jakub@redhat.com>
1721
1722 PR middle-end/61486
1723 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1724 #pragma omp target teams or
1725 #pragma omp {,target }teams distribute simd.
1726
74b777e5 17272014-06-12 Jason Merrill <jason@redhat.com>
1728
1729 * c.opt (Wabi=, fabi-compat-version): New.
1730 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1731 (c_common_post_options): Handle flag_abi_compat_version default.
1732 Disallow -fabi-compat-version=1.
1733 * c-common.h (abi_version_crosses): New.
1734
738a6bda 17352014-06-11 Jan Hubicka <hubicka@ucw.cz>
1736
1f78217c 1737 * c-common.c (handle_section_attribute): Update handling for
738a6bda 1738 section names that are no longer trees.
1739
cf5f881f 17402014-06-10 Jakub Jelinek <jakub@redhat.com>
1741
1742 PR fortran/60928
1743 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1744 (omp_pragmas): ... back here.
1745
32dc1512 17462014-06-05 Marek Polacek <polacek@redhat.com>
1747
1748 PR c/49706
1749 * c-common.c (warn_logical_not_parentheses): New function.
1750 * c-common.h (warn_logical_not_parentheses): Declare.
1751 * c.opt (Wlogical-not-parentheses): New option.
1752
f61a9bc2 17532014-06-04 Marek Polacek <polacek@redhat.com>
1754
1755 PR c/30020
1756 * c-common.c (check_case_bounds): Add location parameter.
1757 Use it.
1758 (c_add_case_label): Pass loc to check_case_bounds.
1759
c69ec07d 17602014-06-03 Marek Polacek <polacek@redhat.com>
1761
1762 PR c/60439
1763 * c.opt (Wswitch-bool): New option.
1764
3c77ca67 17652014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1766
68a2c870 1767 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1768 Remove prototypes.
1769 (record_types_used_by_current_var_decl): Move prototype to where
1770 it belongs.
1771
3c77ca67 1772 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1773 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1774 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1775
3ab4693e 17762014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1777
1778 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1779 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1780 void_zero_node.
1781 * c-pretty-print.c (pp_c_void_constant): New function.
1782 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1783 (c_pretty_printer::expression): Handle VOID_CST.
1784 * cilk.c (extract_free_variables): Likewise.
1785 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1786 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1787
25a27413 17882014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1789
1790 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1791 * c-pragma.c (push_alignment): Adjust.
1792 (handle_pragma_push_options): Likewise.
1793
3e5a8b00 17942014-05-09 Marek Polacek <polacek@redhat.com>
1795
1796 PR c/50459
1797 * c-common.c (check_user_alignment): Return -1 if alignment is error
1798 node.
1799 (handle_aligned_attribute): Don't call default_conversion on
1800 FUNCTION_DECLs.
1801 (handle_vector_size_attribute): Likewise.
1802 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1803 (handle_sentinel_attribute): Call default_conversion and allow even
1804 integral types as an argument.
1805
c2c4ae8d 18062014-05-08 Marek Polacek <polacek@redhat.com>
1807
1808 PR c/61053
1809 * c-common.c (min_align_of_type): New function factored out from...
1810 (c_sizeof_or_alignof_type): ...here.
1811 * c-common.h (min_align_of_type): Declare.
1812
2026249a 18132014-05-08 Marek Polacek <polacek@redhat.com>
1814
1815 PR c/61077
1816 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1817 parameter type of main.
1818
33c8dcfe 18192014-05-07 DJ Delorie <dj@redhat.com>
1820
1821 * c-cppbuiltin.c (print_bits_of_hex): New.
1822 (builtin_define_type_minmax): Print values using hex so as not to
1823 require a pre-computed list of string values.
1824
960d5a55 18252014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1826 Mike Stump <mikestump@comcast.net>
1827 Richard Sandiford <rdsandiford@googlemail.com>
1828
1829 * c-ada-spec.c: Include wide-int.h.
1830 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1831 (dump_generic_ada_node): Use wide-int interfaces.
1832 * c-common.c: Include wide-int-print.h.
1833 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1834 (pointer_int_sum): Use wide-int interfaces.
1835 (c_common_nodes_and_builtins): Use make_int_cst.
1836 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1837 (handle_alloc_size_attribute): Use wide-int interfaces.
1838 (get_nonnull_operand): Likewise.
1839 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1840 * c-lex.c: Include wide-int.h.
1841 (narrowest_unsigned_type): Take a widest_int rather than two
1842 HOST_WIDE_INTs.
1843 (narrowest_signed_type): Likewise.
1844 (interpret_integer): Update accordingly. Use wide-int interfaces.
1845 (lex_charconst): Use wide-int interfaces.
1846 * c-pretty-print.c: Include wide-int.h.
1847 (pp_c_integer_constant): Use wide-int interfaces.
1848 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1849 INT_CST_LT_UNSIGNED.
1850
bbb88b31 18512014-05-06 Richard Biener <rguenther@suse.de>
1852
1853 * c-opts.c (c_common_post_options): For -freestanding,
1854 -fno-hosted and -fno-builtin disable pattern recognition
1855 if not enabled explicitely.
1856
022d4718 18572014-05-02 Marek Polacek <polacek@redhat.com>
1858
1859 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1860
e4ab2ef3 18612014-05-01 Marek Polacek <polacek@redhat.com>
1862
1863 PR c/43245
1864 * c.opt (Wdiscarded-qualifiers): Add.
1865
52cc0072 18662014-04-30 Marek Polacek <polacek@redhat.com>
1867
1868 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1869 INT_MIN / -1 sanitization only for integer types.
1870
4a026b48 18712014-04-25 Marek Polacek <polacek@redhat.com>
1872
1873 PR c/18079
1874 * c-common.c (handle_noinline_attribute): Warn if the attribute
1875 conflicts with always_inline attribute.
1876 (handle_always_inline_attribute): Warn if the attribute conflicts
1877 with noinline attribute.
1878
90e645fa 18792014-04-25 Marek Polacek <polacek@redhat.com>
1880
1881 PR c/60156
1882 * c-common.c (check_main_parameter_types): Warn about variadic main.
1883
db103ea4 18842014-04-24 Mike Stump <mikestump@comcast.net>
1885
1886 * c.opt (Wshadow-ivar): Default to on.
1887
06511efd 18882014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1889
1890 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1891
cdf34fca 18922014-04-23 Marek Polacek <polacek@redhat.com>
1893
1894 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1895
7311d7c1 18962014-04-22 Jakub Jelinek <jakub@redhat.com>
1897
1898 PR sanitizer/60275
1899 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1900 if flag_sanitize_undefined_trap_on_error.
1901 (ubsan_instrument_division, ubsan_instrument_shift,
1902 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1903 if !flag_sanitize_recover.
1904
c1917557 19052014-04-22 Marc Glisse <marc.glisse@inria.fr>
1906
1907 PR libstdc++/43622
1908 * c-common.c (registered_builtin_types): Make non-static.
1909 * c-common.h (registered_builtin_types): Declare.
1910
b2ca6510 19112014-04-14 Richard Biener <rguenther@suse.de>
1912 Marc Glisse <marc.glisse@inria.fr>
1913
1914 PR c/60819
1915 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1916 apply may-alias the scalar pointer type when applicable.
1917
855372a3 19182014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1919
1920 PR middle-end/60467
1921 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1922 as possible argument for Cilk_spawn.
1923
4012a986 19242014-04-11 Tobias Burnus <burnus@net-b.de>
1925
1926 PR c/60194
1927 * c.opt (Wformat-signedness): Add
1928 * c-format.c(check_format_types): Use it.
1929
0d284870 19302014-04-11 Jason Merrill <jason@redhat.com>
1931
1932 PR c++/57926
1933 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
1934 default_conversion for an array argument.
1935
a34c1231 19362014-04-08 Marek Polacek <polacek@redhat.com>
1937
1938 PR sanitizer/60745
1939 * c-ubsan.c: Include asan.h.
1940 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
1941
a35a8e18 19422014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1943
1944 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
1945
b23e42b6 19462014-04-02 Marek Polacek <polacek@redhat.com>
1947
1948 * c-common.h (c_expand_expr): Remove declaration.
1949
5a672e62 19502014-03-28 Jakub Jelinek <jakub@redhat.com>
1951
1952 PR c++/60689
1953 * c-common.c (add_atomic_size_parameter): When creating new
1954 params vector, push the size argument first.
1955
d4d068c0 19562014-03-26 Jakub Jelinek <jakub@redhat.com>
1957
1958 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1959 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1960 ubsan_create_data callers.
1961
446bdf5f 19622014-03-22 Jakub Jelinek <jakub@redhat.com>
1963
1964 PR debug/60603
1965 * c-opts.c (c_finish_options): Restore cb_file_change call to
1966 <built-in>.
1967
8895f0a3 19682014-03-13 Jakub Jelinek <jakub@redhat.com>
1969
1970 PR middle-end/36282
1971 * c-pragma.c (apply_pragma_weak): Only look at
1972 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1973 DECL_ASSEMBLER_NAME_SET_P (decl).
1974 (maybe_apply_pending_pragma_weaks): Exit early if
1975 vec_safe_is_empty (pending_weaks) rather than only when
1976 !pending_weaks.
1977 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1978 set assembler name back to NULL afterwards.
1979
7a5da2cd 19802014-03-11 Jason Merrill <jason@redhat.com>
1981
1982 * c.opt: Add -std=gnu++14.
1983
95093889 19842014-03-11 Ian Bolton <ian.bolton@arm.com>
1985
1986 * c-opts.c (c_common_post_options): Don't override
1987 -ffp-contract=fast if unsafe-math-optimizations is on.
1988
c9a24b37 19892014-03-08 Paulo Matos <paulo@matos-sorge.com>
1990
1991 * c.opt: Enable LTO FE for fshort-double.
1992
3f6dba6e 19932014-03-07 Jason Merrill <jason@redhat.com>
1994
1995 * c.opt: Add -std=c++14.
1996
3bfdc94f 19972014-03-06 Marek Polacek <polacek@redhat.com>
1998
1999 PR c/60197
2000 * cilk.c (contains_cilk_spawn_stmt): New function.
2001 (contains_cilk_spawn_stmt_walker): Likewise.
2002 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2003 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2004
8b3a6a4c 20052014-03-03 Jakub Jelinek <jakub@redhat.com>
2006
2007 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2008 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2009 even when flag_preprocess_only.
2010
734ec290 20112014-02-26 Jason Merrill <jason@redhat.com>
2012
2013 PR c++/59231
2014 PR c++/11586
2015 * c-common.c (shorten_compare): Don't check
2016 c_inhibit_evaluation_warnings.
2017
81aec8b8 20182014-02-19 Jakub Jelinek <jakub@redhat.com>
2019
d1081017 2020 PR c/37743
2021 * c-common.c (c_common_nodes_and_builtins): When initializing
2022 c_uint{16,32,64}_type_node, also set corresponding
2023 uint{16,32,64}_type_node to the same value.
2024
81aec8b8 2025 PR c++/60267
2026 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2027 for PRAGMA_IVDEP if flag_preprocess_only.
2028
312243bb 20292014-02-12 Jakub Jelinek <jakub@redhat.com>
2030
2031 PR c/60101
2032 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2033 if false, add ADD itself, rather than vice versa.
2034 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2035 copy. For SAVE_EXPR, only call merge_tlist once.
2036
237e78b1 20372014-02-08 Jakub Jelinek <jakub@redhat.com>
2038
2039 PR middle-end/60092
2040 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2041 and tree_to_uhwi.
2042 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2043 functions.
2044 (c_common_attribute_table): Add alloc_align and assume_aligned
2045 attributes.
2046
76fdceeb 20472014-02-06 Marek Polacek <polacek@redhat.com>
2048
2049 PR c/60087
2050 * c-common.c (warn_for_sign_compare): Call warning_at with location
2051 instead of warning.
2052
4a4dea42 20532014-02-05 Marek Polacek <polacek@redhat.com>
2054
2055 PR c/53123
2056 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2057 statement.
2058
ec704957 20592014-02-04 Marek Polacek <polacek@redhat.com>
2060
2061 PR c/60036
2062 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2063 SAVE_EXPR.
2064
caf62483 20652014-02-03 Marc Glisse <marc.glisse@inria.fr>
2066
2067 PR c++/53017
2068 PR c++/59211
2069 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2070 handle_vector_size_attribute, handle_nonnull_attribute): Call
2071 default_conversion on the attribute argument.
2072 (handle_nonnull_attribute): Increment the argument number.
2073
ec761d5a 20742014-01-31 Marek Polacek <polacek@redhat.com>
2075
2076 PR c/59963
2077 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2078 build_function_call_vec.
2079 (resolve_overloaded_builtin): Likewise.
2080 * c-common.h (build_function_call_vec): Adjust declaration.
2081
22a75734 20822014-01-30 Marek Polacek <polacek@redhat.com>
2083
2084 PR c/59940
2085 * c-common.h (unsafe_conversion_p): Adjust declaration.
2086 (warnings_for_convert_and_check): Likewise.
2087 (convert_and_check): Likewise.
2088 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2089 expansion_point_location_if_in_system_header on it.
2090 (warnings_for_convert_and_check): Add location parameter. Call
2091 expansion_point_location_if_in_system_header on it. Use it.
2092 (convert_and_check): Add location parameter. Use it.
2093 (conversion_warning): Likewise.
2094 (c_add_case_label): Adjust convert_and_check calls.
2095 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2096
a89e6c15 20972014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2098
2099 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2100 flag_cilkplus.
2101 * c-pragma.c (init_pragma): Likewise.
2102 * c.opt: Likewise.
2103
2623625f 21042014-01-23 Marek Polacek <polacek@redhat.com>
2105
2106 PR c/59846
2107 * c-common.c (shorten_compare): Add location_t parameter.
2108 * c-common.h (shorten_binary_op): Adjust declaration.
2109
46da3601 21102014-01-23 Marek Polacek <polacek@redhat.com>
2111
2112 PR c/58346
2113 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2114 * c-common.h: Declare it.
2115
c9743c6a 21162014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2117
2118 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2119 * c-ada-spec.c (dump_ads): Likewise.
2120 (cpp_check): Likewise.
2121 (dump_ada_specs): Likewise.
2122
21232014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 2124
2125 PR c++/49718
2126 * c-common.c (handle_no_instrument_function_attribute): Allow
2127 no_instrument_function attribute in class member
2128 definition/declaration.
2129
1248c663 21302014-01-15 Jakub Jelinek <jakub@redhat.com>
2131
2132 PR c/58943
2133 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2134 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2135 being COMPOUND_EXPR.
2136 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2137 operand a SAVE_EXPR and second MODIFY_EXPR.
2138
6e5c480b 21392014-01-09 Jakub Jelinek <jakub@redhat.com>
2140
2141 PR target/58115
2142 * c-pch.c (c_common_write_pch): Call
2143 prepare_target_option_nodes_for_pch.
2144
3aea1f79 21452014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2146
2147 Update copyright years
2148
e4f22041 21492014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2150
2151 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2152 the copyright notice.
2153
7fb0fe24 21542013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2155
2156 * c-ada-spec.c (print_constructor): New function.
2157 (print_destructor): Retrieve the origin of the destructor.
2158 (print_ada_declaration): Revamp handling of constructors/destructors.
2159
468088ac 21602013-12-23 Stuart Hastings <stuart@apple.com>
2161 Bill Maddox <maddox@google.com>
2162 Jason Merrill <jason@redhat.com>
2163
2164 * c.opt: Add -fdeclone-ctor-dtor.
2165 * c-opts.c (c_common_post_options): Default to on iff -Os.
2166
74acc703 21672013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2168
2169 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2170 attribute.
2171 * c-pragma.h (enum pragma_cilk_clause): Remove.
2172 (enum pragma_omp_clause): Added the following fields:
2173 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2174 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2175 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2176 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2177 PRAGMA_CILK_CLAUSE_UNIFORM.
2178
2179
433e804e 21802013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2181
2182 * cilk.c (cilk_outline): Made this function non-static.
2183 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2184 (create_cilk_wrapper): Added a new parameter: a function pointer.
2185 (c_install_body_w_frame_cleanup): Remove
2186 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2187 * c-common.h (cilk_outline): New prototype.
2188 (gimplify_cilk_spawn): Removed two parameters.
2189 (cilk_install_body_with_frame_cleanup): New prototype.
2190 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2191 CILK_SPAWN_STMT case.
2192
5bcc7e60 21932013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2194
e66325ea 2195 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2196
5bcc7e60 2197 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2198 (int_array_type_node): Remove.
2199 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2200
0b26ec77 22012013-12-05 Marek Polacek <polacek@redhat.com>
2202
2203 PR c/52023
2204 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2205 [ADJUST_FIELD_ALIGN].
2206
a179a7dc 22072013-12-04 Joseph Myers <joseph@codesourcery.com>
2208
2209 PR c/52023
2210 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2211 and check field alignment if set.
2212 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2213 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2214
137559b2 22152013-12-04 Jakub Jelinek <jakub@redhat.com>
2216 Marek Polacek <polacek@redhat.com>
2217
2218 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2219 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2220
648fd348 22212013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2222
2223 PR c/59309
2224 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2225 arguments.
2226
253e1cae 22272013-11-29 Jakub Jelinek <jakub@redhat.com>
2228
2229 PR c/59280
2230 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2231 goto invalid. If it is error_mark_node, don't issue further
2232 diagnostics.
2233
3e398f5b 22342013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2235
2236 * c.opt (Wopenmp-simd): New.
2237
020bc656 22382013-11-22 Jakub Jelinek <jakub@redhat.com>
2239
2240 * c-ubsan.h (ubsan_instrument_return): New prototype.
2241 * c-ubsan.c (ubsan_instrument_return): New function.
2242
bc61cadb 22432013-11-22 Andrew MacLeod <amacleod@redhat.com>
2244
2245 * c-common.c: Add required include files from gimple.h.
2246 * c-gimplify.c: Likewise
2247 * cilk.c: Likewise
2248
3df42822 22492013-11-22 David Malcolm <dmalcolm@redhat.com>
2250
2251 * c-common.c (unsafe_conversion_p): Remove use of
2252 EXPR_LOC_OR_HERE macro.
2253 (conversion_warning): Likewise.
2254 (warnings_for_convert_and_check): Likewise.
2255 (warn_for_collisions_1): Likewise.
2256 (shorten_compare): Likewise, and remove use of in_system_header
2257 macro, using the location from the former.
2258 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2259 (cb_def_pragma): Remove use of in_system_header macro.
2260 (lex_string): Likewise.
2261 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2262
8c53c46c 22632013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2264 Mike Stump <mikestump@comcast.net>
2265 Richard Sandiford <rdsandiford@googlemail.com>
2266
2267 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2268 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2269 tree_fits_shwi_p or tree_fits_uhwi_p.
2270 (dump_generic_ada_node): Likewise.
2271 * c-format.c (check_format_arg): Likewise.
2272 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2273
5200ef07 22742013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2275
2276 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2277
ca9d7d74 22782013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2279
2280 PR c/53001
2281 * c-common.c (unsafe_conversion_p): Make this function
2282 return an enumeration with more detail.
2283 (conversion_warning): Use the new return type of
2284 unsafe_conversion_p to separately warn either about conversions
2285 that lower floating point number precision or about the other
2286 kinds of conversions.
2287 * c-common.h (enum conversion_safety): New enumeration.
2288 (unsafe_conversion_p): switching return type to
2289 conversion_safety enumeration.
2290 * c.opt: Adding new warning -Wfloat-conversion and
2291 enabling it with -Wconversion.
2292
0391a567 22932013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2294
2295 * c-opts.c: Include plugin.h.
2296 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2297
19b928d9 22982013-11-19 Marek Polacek <polacek@redhat.com>
2299
2300 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2301 call.
2302 (ubsan_instrument_shift): Likewise.
2303 (ubsan_instrument_vla): Likewise.
2304
aa59f000 23052013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2306
2307 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2308 cast to unsigned type.
2309
08f817b3 23102013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2311
2312 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2313 tree_low_cst.
2314 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2315 rather than tree_low_cst.
2316
6a0712d4 23172013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2318
2319 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2320 tree_to_uhwi throughout.
2321
fcb97e84 23222013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2323
2324 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2325 tree_low_cst (..., 0) with tree_to_shwi throughout.
2326
cd4547bf 23272013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2328
2329 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2330 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2331
35ec552a 23322013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2333
2334 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2335 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2336
f2697631 23372013-11-15 Aldy Hernandez <aldyh@redhat.com>
2338
2339 * c-cilkplus.c: New file.
2340 * c-common.c (readonly_error): Add location argument.
2341 * c-common.h (readonly_error): Same.
2342 (c_finish_cilk_clauses): Protoize.
2343 (c_check_cilk_loop): Same.
2344 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2345 Do not fail on error_mark_node.
2346 Abstract increment canonicalization to here...
2347 (c_omp_for_incr_canonicalize_ptr): New.
2348 c-pragma.c (init_pragma): Register "simd" pragma.
2349 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2350 (enum pragma_cilk_clause): New.
2351
0aa8c34e 23522013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2353
2354 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2355 wchar_type and host_integerp checks.
2356
e795d6e1 23572013-11-14 Andrew MacLeod <amacleod@redhat.com>
2358
2359 * c-common.c: Likewise.
2360 * c-gimplify.c: Likewise.
2361 * cilk.c: Likewise.
2362
9ed99284 23632013-11-14 Diego Novillo <dnovillo@google.com>
2364
2365 * c-common.c: Include fold-const.h.
2366 Include stor-layout.h.
2367 Include calls.h.
2368 Include stringpool.h.
2369 Include attribs.h.
2370 Include varasm.h.
2371 Include trans-mem.h.
2372 * c-cppbuiltin.c: Include stor-layout.h.
2373 Include stringpool.h.
2374 * c-format.c: Include stringpool.h.
2375 * c-lex.c: Include stringpool.h.
2376 Include stor-layout.h.
2377 * c-pragma.c: Include stringpool.h.
2378 Include attribs.h.
2379 Include varasm.h.
2380 Include gcc-symtab.h.
2381 * c-pretty-print.c: Include stor-layout.h.
2382 Include attribs.h.
2383 * cilk.c: Include stringpool.h.
2384 Include calls.h.
2385
4fba5eb9 23862013-11-13 Joseph Myers <joseph@codesourcery.com>
2387
2388 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2389 * c-common.c (c_common_reswords): Add __auto_type.
2390 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2391
a8783bee 23922013-11-12 Andrew MacLeod <amacleod@redhat.com>
2393
e795d6e1 2394 * c-common.c: Include gimplify.h.
2395 * c-gimplify.c: Likewise.
2396 * cilk.c: Likewise.
2397 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2398 * c-ubsan.c: Don't include gimple.h.
a8783bee 2399
d184e0c0 24002013-11-12 Joseph Myers <joseph@codesourcery.com>
2401
2402 * c-common.c (c_common_reswords): Add _Thread_local.
2403
a056826c 24042013-11-09 Joseph Myers <joseph@codesourcery.com>
2405
2406 * c-common.c (atomic_size_supported_p): New function.
2407 (resolve_overloaded_atomic_exchange)
2408 (resolve_overloaded_atomic_compare_exchange)
2409 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2410 Use it instead of comparing size with a local list of sizes.
2411
b560fabd 24122013-11-07 Andrew MacLeod <amacleod@redhat.com>
2413 Joseph Myers <joseph@codesourcery.com>
2414
2415 * c-common.h (enum rid): Add RID_ATOMIC.
2416 * c-common.c (c_common_reswords): Add _Atomic.
2417 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2418 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2419 * c-format.c (check_format_types): Check for extra _Atomic
2420 qualifiers in format argument.
2421 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2422 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2423
5b1a0622 24242013-11-06 Tobias Burnus <burnus@net-b.de>
2425
2426 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2427
4f8f4cb8 24282013-11-06 Joseph Myers <joseph@codesourcery.com>
2429
2430 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2431 standards modes.
2432 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2433 to mean lack of IEEE 754 support.
2434
9148bda3 24352013-11-05 Tobias Burnus <burnus@net-b.de>
2436
2437 * c.opt (-Wdate-time): New option
2438 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2439
08c5f4d5 24402013-11-05 Joseph Myers <joseph@codesourcery.com>
2441
2442 * c-cppbuiltin.c (cpp_iec_559_value): Test
2443 flag_excess_precision_cmdline not flag_excess_precision.
2444
c630ef93 24452013-11-05 Tobias Burnus <burnus@net-b.de>
2446
2447 * c.opt (fopenmp-simd): New option.
2448 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2449 (omp_pragmas): ... this new struct.
2450 (c_pp_lookup_pragma): Also walk omp_pragmas.
2451 (init_pragma): Init pragmas for -fopenmp-simd.
2452
7354a89b 24532013-11-04 Marek Polacek <polacek@redhat.com>
2454
2455 PR c++/58979
2456 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2457
4c866b9b 24582013-11-04 Joseph Myers <joseph@codesourcery.com>
2459
2460 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2461 New functions.
2462 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2463
e2a6a333 24642013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2465
2466 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2467 (dump_ada_specs): Adjust prototype of second callback.
2468 * c-ada-spec.c (cpp_check): New global variable.
2469 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2470 (print_generic_ada_decl): Likewise.
2471 (has_static_fields): Change return type to bool and add guard.
2472 (has_nontrivial_methods): New predicate.
2473 (is_tagged_type): Change return type to bool.
2474 (separate_class_package): Call has_nontrivial_methods.
2475 (pp_ada_tree_identifier): Minor tweaks.
2476 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2477 (dump_ada_array_domains): Likewise.
2478 (dump_ada_array_type): Likewise.
2479 (dump_template_types): Remove cpp_check parameter and do not pass it to
2480 dump_generic_ada_node.
2481 (dump_ada_template): Likewise.
2482 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2483 recursively.
2484 (print_ada_methods): Change return type to integer. Remove cpp_check
2485 parameter and do not pass it down.
2486 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2487 dump_generic_ada_node.
2488 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2489 accessing methods.
2490 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2491 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2492 value of print_ada_methods.
2493 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2494 Set cpp_check to it before invoking dump_ada_nodes.
2495 (dump_ada_specs): Likewise.
2496
2c4c3477 24972013-11-03 Marek Polacek <polacek@redhat.com>
2498
2499 * c-ubsan.c: Don't include hash-table.h.
2500 (ubsan_instrument_vla): New function.
2501 * c-ubsan.h: Declare it.
2502
452659af 25032013-10-31 David Malcolm <dmalcolm@redhat.com>
2504
2505 Automated part of renaming of symtab_node_base to symtab_node.
2506
2507 Patch autogenerated by rename_symtab.py from
2508 https://github.com/davidmalcolm/gcc-refactoring-scripts
2509 revision 58bb219cc090b2f4516a9297d868c245495ee622
2510
2511 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2512 symtab_node_base to symtab_node.
2513
4d6f7dd4 25142013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2515
2516 Implement C++14 digit separators.
2517 * c-lex.c (interpret_float): Remove digit separators from scratch string
2518 before building real literal.
2519
06cfe805 25202013-10-30 Jakub Jelinek <jakub@redhat.com>
2521
2522 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2523
d037099f 25242013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2525
2526 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2527 fields.
2528 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2529 enabled.
2530 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2531 (insert_cilk_frame): New prototype.
2532 (cilk_init_builtins): Likewise.
2533 (gimplify_cilk_spawn): Likewise.
2534 (c_cilk_install_body_w_frame_cleanup): Likewise.
2535 (cilk_detect_spawn_and_unwrap): Likewise.
2536 (cilk_set_spawn_marker): Likewise.
2537 (build_cilk_sync): Likewise.
2538 (build_cilk_spawn): Likewise.
2539 * cilk.c: New file.
2540
02774f2d 25412013-10-29 David Malcolm <dmalcolm@redhat.com>
2542
2543 Patch autogenerated by refactor_symtab.py from
2544 https://github.com/davidmalcolm/gcc-refactoring-scripts
2545 revision 58bb219cc090b2f4516a9297d868c245495ee622
2546
2547 * c-gimplify.c (c_genericize): Update for conversion of symtab types
2548 to a true class hierarchy.
2549 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
2550
31fe10fd 25512013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
2552
2553 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
2554
b1c06ff9 25552013-10-26 Jeff Law <law@redhat.com>
2556
1f78217c 2557 * c-common.c (c_define_builtins): Remove mudflap support.
2558 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 2559
48a972c8 25602013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 2561
2562 PR other/33426
2563 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
2564 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
2565
546a04b1 25662013-10-23 Jason Merrill <jason@redhat.com>
2567
2568 * c-format.c (gcc_cxxdiag_char_table): Add %X.
2569
bc7bff74 25702013-10-11 Jakub Jelinek <jakub@redhat.com>
2571
d62c713e 2572 * c-common.h (omp_clause_mask::operator !=): New method.
2573 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
2574 instead of if (mask & something) tests everywhere.
2575
bc7bff74 2576 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
2577 201307 instead of 201107.
2578 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
2579 (c_common_attribute_table): Add "omp declare target" and
2580 "omp declare simd" attributes.
2581 (handle_omp_declare_target_attribute,
2582 handle_omp_declare_simd_attribute): New functions.
2583 * c-omp.c: Include c-pragma.h.
2584 (c_finish_omp_taskgroup): New function.
2585 (c_finish_omp_atomic): Add swapped argument, if true,
2586 build the operation first with rhs, lhs arguments and use NOP_EXPR
2587 build_modify_expr.
2588 (c_finish_omp_for): Add code argument, pass it down to make_code.
2589 (c_omp_split_clauses): New function.
2590 (c_split_parallel_clauses): Removed.
2591 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
2592 c_omp_declare_simd_clauses_to_decls): New functions.
2593 * c-common.h (omp_clause_mask): New type.
2594 (OMP_CLAUSE_MASK_1): Define.
2595 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
2596 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
2597 omp_clause_mask::operator |, omp_clause_mask::operator &,
2598 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
2599 omp_clause_mask::operator ==): New methods.
2600 (enum c_omp_clause_split): New.
2601 (c_finish_omp_taskgroup): New prototype.
2602 (c_finish_omp_atomic): Add swapped argument.
2603 (c_finish_omp_for): Add code argument.
2604 (c_omp_split_clauses): New prototype.
2605 (c_split_parallel_clauses): Removed.
2606 (c_omp_declare_simd_clauses_to_numbers,
2607 c_omp_declare_simd_clauses_to_decls): New prototypes.
2608 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
2609 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
2610 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
2611 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
2612 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
2613 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
2614 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
2615 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
2616 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
2617 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
2618 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
2619 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
2620 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
2621 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
2622 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
2623 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
2624 PRAGMA_OMP_CLAUSE_UNIFORM.
2625
d7dcba40 26262013-10-09 Marc Glisse <marc.glisse@inria.fr>
2627
2628 PR tree-optimization/20318
2629 * c-common.c (handle_returns_nonnull_attribute): New function.
2630 (c_common_attribute_table): Add returns_nonnull.
2631
0b7282f1 26322013-10-03 Marc Glisse <marc.glisse@inria.fr>
2633
2634 PR c++/19476
2635 * c.opt (fcheck-new): Move to common.opt.
2636
51f553af 26372013-09-25 Marek Polacek <polacek@redhat.com>
2638 Jakub Jelinek <jakub@redhat.com>
2639
2640 PR sanitizer/58413
2641 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
2642 an expression if we can prove it is correct.
2643 (ubsan_instrument_division): Likewise. Remove unnecessary
2644 check.
2645
05f893e1 26462013-09-18 Marek Polacek <polacek@redhat.com>
2647
2648 PR sanitizer/58411
2649 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
2650 Declare it.
2651 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
2652
236ce1d1 26532013-09-14 Iain Sandoe <iain@codesourcery.com>
2654
2655 PR target/48094
2656 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
2657 fobjc-gc, freplace-objc-classes): Accept for LTO.
2658
f9f68d35 26592013-09-13 Jacek Caban <jacek@codeweavers.com>
2660
2661 * c-target.def: New hook
2662
ba2f764e 26632013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2664
2665 PR c++/43452
2666 * c.opt (Wdelete-incomplete): Add.
2667
73437615 26682013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2669
2670 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2671 (vector_types_compatible_elements_p): New function.
2672 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2673 declaration.
2674 (vector_types_compatible_elements_p): Declare.
2675
95af4c75 26762013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2677
2678 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
2679 a virtual member function.
2680 (pp_simple_type_specifier): Remove.
2681 (pp_c_type_specifier): Likewise.
2682 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2683 Rename from pp_c_type_specifier. Adjust.
2684 (c_pretty_printer::c_pretty_printer): Do not assign to
2685 simple_type_specifier.
2686
eaab24b9 26872013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2688
2689 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
2690 member function.
2691 (c_pretty_printer::storage_class_specifier): Likewise.
2692 (c_pretty_printer::initializer): Likewise.
2693 (pp_declaration): Remove.
2694 (pp_declaration_specifiers): Likewise.
2695 (pp_abstract_declarator): Likewise.
2696 (pp_declarator): Likewise.
2697 (pp_type_id): Likewise.
2698 (pp_statement): Likewise.
2699 (pp_constant): Likewise.
2700 (pp_id_expression): Likewise.
2701 (pp_primary_expression): Likewise.
2702 (pp_unary_expression): Likewise.
2703 (pp_multiplicative_expression): Likewise.
2704 (pp_conditional_expression): Likewise.
2705 (pp_assignment_expression): Likewise.
2706 (pp_expression): Likewise.
2707 (pp_c_type_id): Likewise.
2708 (pp_c_storage_class_specifier): Likewise.
2709 * c-pretty-print.c (pp_c_type_cast): Tidy.
2710 (pp_c_pointer): Likewise.
2711 (pp_c_type_specifier): Likewise.
2712 (pp_c_parameter_type_list): Likewise.
2713 (pp_c_function_definition): Likewise.
2714 (pp_c_init_declarator): Likewise.
2715 (pp_c_initializer_list): Likewise.
2716 (pp_c_constructor_elts): Likewise.
2717 (c_pretty_printer::direct_abstract_declarator): Likewise.
2718 (c_pretty_printer::declaration_specifiers): Likewise.
2719 (c_pretty_printer::primary_expression): Likewise.
2720 (c_pretty_printer::postfix_expression): Likewise.
2721 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2722 (c_pretty_printer::storage_class_specifier): Rename from
2723 pp_c_storage_class_specifier.
2724 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2725 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2726 storage_class_specifier, initializer, offset_list, flags.
2727
9e46467d 27282013-08-30 Marek Polacek <polacek@redhat.com>
2729
2730 * c-ubsan.c: New file.
2731 * c-ubsan.h: New file.
2732
36a8d9b9 27332013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2734
2735 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2736 member function.
2737 (c_pretty_printer::declaration_specifiers): Likewise.
2738 (c_pretty_printer::declarator): Likewise.
2739 (c_pretty_printer::abstract_declarator): Likewise.
2740 (c_pretty_printer::direct_abstract_declarator): Likewise.
2741 (c_pretty_printer::direct_declarator): Likewise.
2742 (c_pretty_printer::function_specifier): Likewise.
2743 (pp_declaration): Adjust.
2744 (pp_declaration_specifiers): Likewise.
2745 (pp_abstract_declarator): Likewise.
2746 (pp_direct_declarator): Likewise.
2747 (pp_function_specifier): Likewise.
2748 (pp_direct_abstract_declarator): Remove as unused.
2749 (pp_c_declaration): Remove.
2750 (pp_c_declaration_specifiers): Likewise.
2751 (pp_c_declarator): Likewise.
2752 (pp_c_direct_declarator): Likewise.
2753 (pp_c_function_specifier): Likewise.
2754 (pp_c_direct_abstract_declarator): Likewise.
2755 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2756 from pp_c_abstract_declarator. Adjust.
2757 (c_pretty_printer::direct_abstract_declarator): Rename from
2758 pp_c_direct_abstract_declarator. Adjust.
2759 (c_pretty_printer::function_specifier): Rename from
2760 pp_c_function_specifier. Adjust.
2761 (c_pretty_printer::declaration_specifiers): Rename from
2762 pp_c_declaration_specifiers. Adjust.
2763 (c_pretty_printer::direct_declarator): Rename from
2764 pp_c_direct_declarator. Adjust.
2765 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2766 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2767 (c_pretty_printer::c_pretty_printer): Do not assign to
2768 declaration, declaration_specifiers, declarator,
2769 direct_declarator, direct_abstract_declarator, function_specifier.
2770
30635c2e 27712013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2772
2773 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2774 virtual member function.
2775 (c_pretty_printer::multiplicative_expression): Likewise.
2776 (c_pretty_printer::conditional_expression): Likewise.
2777 (c_pretty_printer::assignment_expression): Likewise.
2778 (c_pretty_printer::expression): Likewise.
2779 (pp_unary_expression): Adjust.
2780 (pp_multiplicative_expression): Likewise.
2781 (pp_assignment_expression): Likewise.
2782 (pp_conditional_expression): Likewise.
2783 (pp_expression): Likewise.
2784 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2785 from pp_c_unary_expression. Adjust.
2786 (c_pretty_printer::multiplicative_expression): Rename from
2787 pp_c_multiplicative_expression. Adjust.
2788 (c_pretty_printer::conditional_expression): Rename from
2789 pp_c_conditional_expression. Adjust.
2790 (c_pretty_printer::assignment_expression): Rename from
2791 pp_c_assignment_expression. Adjust.
2792 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2793 (c_pretty_printer::c_pretty_printer): Do not assign to
2794 unary_expression, multiplicative_expression,
2795 conditional_expression, expression.
2796
027d08ed 27972013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2798
2799 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2800 virtual member function.
2801 (pp_postfix_expression): Adjust.
2802 (pp_c_postfix_expression): Remove.
2803 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2804 from pp_c_postfix_expression. Adjust.
2805 (c_pretty_printer::c_pretty_printer): Do not assign to
2806 postfix_expression.
2807
f873303a 28082013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2809
2810 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2811 virtua member function.
2812 (pp_primary_expression): Adjust.
2813 (pp_c_primary_expression): Remove.
2814 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2815 from pp_c_primary_expression. Adjust.
2816 (pp_c_initializer_list): Use pp_primary_expression.
2817 (c_pretty_printer::c_pretty_printer): Do not assign to
2818 primary_expression.
2819
08e3e481 28202013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2821
2822 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2823 * c-pretty-print.c (M_): Remove.
2824 (c_pretty_printer::translate_string): Define.
2825 (pp_c_type_specifier): Use it.
2826 (pp_c_primary_expression): Likewise.
2827 (pp_c_expression): Likewise.
2828
1fc4a87f 28292013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2830
2831 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2832 virtual function.
2833 (pp_c_id_expression): Remove.
2834 (pp_id_expression): Adjust.
2835 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2836 pp_c_id_expression. Adjust.
2837 (pp_c_postfix_expression): Use pp_id_expression.
2838 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2839
a6cb161b 28402013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2841
2842 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2843 member function.
2844 (pp_constant): Adjust.
2845 (pp_c_constant): Remove.
2846 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2847 pp_c_constant. Adjust.
2848 (pp_c_constant)
2849 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2850 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2851
eed6bc21 28522013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2853
2854 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2855 (c_pretty_printer::c_pretty_printer): Declare.
2856 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2857 c_pretty_printer_init. Adjust.
2858 (print_c_tree): Do not call c_pretty_printer_init.
2859 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2860
df558d2e 28612013-08-09 Arnaud Charlet <charlet@adacore.com>
2862
2863 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2864
42f9a786 28652013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2866
2867 PR c++/58080
2868 * c-common.c (pointer_int_sum): Add bool parameter.
2869 * c-common.h (pointer_int_sum): Adjust declaration.
2870
f874ddad 28712013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2872
2873 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2874 c_pretty_printer variable.
2875
a94db6b0 28762013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2877
2878 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2879 (pp_base): Remove.
2880 (pp_c_base): Likewise. Adjust users.
2881 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2882 (pp_c_whitespace): Do not call pp_base.
2883 (pp_c_left_paren): Likewise.
2884 (pp_c_right_paren): Likewise.
2885 (pp_c_left_brace): Likewise.
2886 (pp_c_right_brace): Likewise.
2887 (pp_c_left_bracket): Likewise.
2888 (pp_c_right_bracket): Likewise.
2889 (pp_c_dot): Likewise.
2890 (pp_c_ampersand): Likewise.
2891 (pp_c_star): Likewise.
2892 (pp_c_arrow): Likewise.
2893 (pp_c_semicolon): Likewise.
2894 (pp_c_complement): Likewise.
2895 (pp_c_exclamation): Likewise.
2896 (pp_c_direct_declarator): Likewise.
2897 (pp_c_ws_string): Likewise.
2898 (pp_c_identifier): Likewise.
2899 (pp_c_statement): Likewise.
2900 (print_c_tree): Likewise.
2901
1898176c 29022013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2903
2904 PR c++/58072
2905 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2906 provide useful error strings.
2907
70d60d1d 29082013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2909
2910 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2911 printer functions instead of pp_string or operators and punctuators.
2912 (dump_generic_ada_node): Likewise.
2913 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2914 (pp_c_relational_expression): Likewise.
2915 (pp_c_logical_or_expression): Likewise.
2916
dda4f0ec 29172013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2918
2919 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2920 functions instead of pp_character.
2921 (pp_ada_tree_identifier): Likewise.
2922 (dump_ada_double_name): Likewise.
2923 (dump_ada_function_declaration): Likewise.
2924 (dump_ada_array_domains): Likewise.
2925 (dump_template_types): Likewise.
2926 (dump_generic_ada_node): Likewise.
2927 (print_ada_declaration): Likewise.
2928 (print_ada_struct_decl): Likewise.
2929 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2930
7aa04c8d 29312013-07-23 Tom Tromey <tromey@redhat.com>
2932
2933 * c-common.h (enum rid) <RID_GENERIC>: New constant.
2934 * c-common.c (c_common_reswords): Add _Generic.
2935
a04e8d62 29362013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2937
2938 * c-common.c: Fix typos.
2939 * c-common.h: Likewise.
2940
a96c3cc1 29412013-07-13 Lubos Lunak <l.lunak@suse.cz>
2942
2943 PR c++/55203
2944 * c-common.c (c_common_attribute_table): Add warn_unused.
2945 (handle_warn_unused_attribute): New.
2946
da31536d 29472013-07-10 Jakub Jelinek <jakub@redhat.com>
2948
2949 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
2950 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
2951
839f2f70 29522013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
2953
2954 PR c++/57869
2955 * c.opt: Add Wconditionally-supported.
2956
73f353d0 29572013-07-08 Graham Stott <graham.stott@btinternet.com>
2958
1f78217c 2959 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 2960 unused variables l_length and l_node.
2961
21ebaa24 29622013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 2963
2964 PR c/57821
2965 * c-common.c (complete_array_type): Delay folding first index
2966 like other indices. When folding, check for index overflow.
2967
68ea4406 29682013-06-27 Marc Glisse <marc.glisse@inria.fr>
2969
2970 PR c++/57509
2971 * c-common.h (c_build_vec_perm_expr): New complain argument.
2972 * c-common.c (c_build_vec_perm_expr): Likewise.
2973 Use save_expr also in C++.
2974
60777f69 29752013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2976
2977 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2978 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2979 * c-opts.c (c_common_post_options): Likewise.
2980
839f2f70 29812013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 2982
2983 * array-notation-common.c (length_mismatch_in_expr): Changed the
2984 parameter type's from a dynamic array to a vec_tree. Also removed
2985 the size parameters.
2986 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2987 the change above.
2988
e9331eab 29892013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2990
2991 * c-common.h (struct cilkplus_an_parts): New structure.
2992 (struct cilkplus_an_loop_parts): Likewise.
2993 (cilkplus_extract_an_triplets): New prototype.
2994 (fix_sec_implicit_args): Likewise.
2995 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2996 (fix_sec_implicit_args): Likewise.
60777f69 2997
a9c99fc4 29982013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2999
3000 * array-notation-common.c (find_inv_trees): Removed an unwanted
3001 typecasting.
3002 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3003 enum rid to enum tree_code.
3004
f2526cce 30052013-06-11 Jan Hubicka <jh@suse.cz>
3006
3007 * c-common.c (handle_alias_ifunc_attribute): Do not set
3008 DECL_EXTERNAL for weakref variables.
3009 * c-pragma.c (handle_pragma_weak): Make sure aliases
3010 are not declared as external.
3011
09970d67 30122013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3013
3014 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3015 function from c/c-array-notation.c.
3016 (is_cilkplus_reduce_builtin): Likewise.
3017 (find_rank): Likewise.
3018 (extract_array_notation_exprs): Likewise.
3019 (replace_array_notations): Likewise.
3020 (find_inv_trees): Likewise.
3021 (replace_inv_trees): Likewise.
3022 (contains_array_notation_expr): Likewise.
3023 (find_correct_array_notation_type): Likewise.
3024 * c-common.h (struct inv_list): Moved this struct from the file
3025 c/c-array-notation.c and added a new field called additional tcodes.
3026 (length_mismatch_in_expr_p): New prototype.
3027 (is_cilkplus_reduce_builtin): Likewise.
3028 (find_rank): Likewise.
3029 (extract_array_notation_exprs): Likewise.
3030 (replace_array_notation): Likewise.
3031 (find_inv_trees): Likewise.
3032 (replace_inv_trees): Likewise.
3033 (find_correct_array_notation_type): Likewise.
839f2f70 3034
3c6d4197 30352013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3036
3037 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3038 function array_notation_init_builtins is called.
3039 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3040 * c-common.def (ARRAY_NOTATION_REF): New tree.
3041 * c-common.h (build_array_notation_expr): New function declaration.
3042 (build_array_notation_ref): Likewise.
3043 (extract_sec_implicit_index_arg): New extern declaration.
3044 (is_sec_implicit_index_fn): Likewise.
3045 (ARRAY_NOTATION_CHECK): New define.
3046 (ARRAY_NOTATION_ARRAY): Likewise.
3047 (ARRAY_NOTATION_START): Likewise.
3048 (ARRAY_NOTATION_LENGTH): Likewise.
3049 (ARRAY_NOTATION_STRIDE): Likewise.
3050 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3051 ARRAY_NOTATION_REF.
3052 (pp_c_expression): Likewise.
3053 * c.opt (flag_enable_cilkplus): New flag.
3054 * array-notation-common.c: New file.
3055
8e71dad2 30562013-05-14 Jakub Jelinek <jakub@redhat.com>
3057
3058 PR c++/57274
3059 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3060
432dd330 30612013-05-10 Marc Glisse <marc.glisse@inria.fr>
3062
3063 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3064 vectors.
3065
b156ec37 30662013-05-07 Han Shen <shenhan@google.com>
3067
3068 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3069
1a087624 30702013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3071
3072 * c-common.c (check_user_alignment): Emit error for negative values.
3073
1638c736 30742013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3075
3076 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3077
949dbf93 30782013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3079
3080 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3081 __GXX_EXPERIMENTAL_CXX1Y__.
3082
9205a6cc 30832013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3084 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3085
3086 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3087 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3088 to simply use OPT_Wpointer_arith.
3089 (c_sizeof_or_alignof_type): Likewise.
3090
05d0bce1 30912013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3092
3093 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3094
41609f8b 30952013-04-12 Jakub Jelinek <jakub@redhat.com>
3096
3097 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3098 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3099 specifiers.
3100
c671dc4f 31012013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3102
3103 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3104
ba125576 31052013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3106
3107 * c-common.c (pointer_int_sum): Remove dead code.
3108
9d3fa937 31092013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3110
3111 PR middle-end/56524
3112 * c-common.c (handle_optimize_attribute): Don't call
3113 save_optabs_if_changed.
3114
5ceebb21 31152013-03-05 Jakub Jelinek <jakub@redhat.com>
3116
3117 PR middle-end/56461
3118 * c-pch.c (pch_init): Free target_validity at the end.
3119
18eeed2b 31202013-03-04 Jakub Jelinek <jakub@redhat.com>
3121
3122 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3123
a9196da9 31242013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3125 Jakub Jelinek <jakub@redhat.com>
3126
3127 PR sanitizer/56454
3128 * c-common.c (handle_no_sanitize_address_attribute): New function.
3129 (c_common_attribute_table): Add no_sanitize_address attribute.
3130 (handle_no_address_safety_analysis_attribute): Add
3131 no_sanitize_address attribute, not no_address_safety_analysis
3132 attribute.
3133
15c27dda 31342013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 3135
3136 PR target/52555
3137 * c-common.c (handle_optimize_attribute): Call
3138 save_optabs_if_changed.
3139
19426fe1 31402013-02-18 Jakub Jelinek <jakub@redhat.com>
3141 Steven Bosscher <steven@gcc.gnu.org>
3142
3143 PR pch/54117
3144 * c-opts.c (c_common_post_options): If debug info is enabled
3145 and non-dwarf*, refuse to load PCH files and when writing PCH
3146 file warn.
3147
df936998 31482013-02-05 Jakub Jelinek <jakub@redhat.com>
3149
3150 PR middle-end/56167
3151 * c-common.c (handle_error_attribute): Fix condition.
3152
ae0c3984 31532013-01-30 Jakub Jelinek <jakub@redhat.com>
3154
3155 PR c++/55742
3156 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3157
1c4973d7 31582013-01-18 Jason Merrill <jason@redhat.com>
3159
3160 PR target/54908
3161 * c.opt (-fextern-tls-init): New.
3162 * c-opts.c (c_common_post_options): Handle it.
3163
7c834436 31642013-01-09 Jakub Jelinek <jakub@redhat.com>
3165
3166 PR c/48418
3167 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3168 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3169 and is either negative or bigger or equal to type precision
3170 of the first operand.
3171
5abaa10a 31722012-12-03 Marek Polacek <polacek@redhat.com>
3173
3174 PR c/55570
3175 * c-common.c (check_user_alignment): Swap order of tests,
3176 check TREE_CODE first.
3177
324ca377 31782012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3179
3180 PR c++/52654
3181 * c-common.h (overflow_type): New enum.
3182 (build_userdef_literal): Add overflow_type argument.
3183 (tree_userdef_literal): Add overflow_type.
3184 (USERDEF_LITERAL_OVERFLOW): New access macro.
3185 * c-common.c (build_userdef_literal): Add overflow_type
3186 argument.
3187 * c-lex.c (c_lex_with_flags): Add overflow_type to
3188 build_userdef_literal calls.
3189 (interpret_integer, interpret_float): Add overflow_type argument.
3190
b4c4a429 31912012-11-28 Richard Biener <rguenther@suse.de>
3192
3193 PR c/35634
3194 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3195 here and use a type with proper overflow behavior for types that would
3196 need to be promoted for the arithmetic.
3197
d413ffdd 31982012-11-23 Jakub Jelinek <jakub@redhat.com>
3199
3200 PR sanitizer/55435
3201 * c-common.c (handle_no_address_safety_analysis_attribute): New
3202 function.
3203 (c_common_attribute_table): Add no_address_safety_analysis.
3204
52bc861d 32052012-11-16 Simon Baldwin <simonb@google.com>
3206
3207 * c.opt: Add f[no-]canonical-system-headers.
3208 * c-opts.c (c_common_handle_option): Handle
3209 OPT_fcanonical_system_headers.
3210
2dd00636 32112012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3212
3213 PR c++/54413
3214 * c-opts.c (c_common_handle_option): Set new flags.
3215 * c.opt: Describe new flags.
3216
d4701f6c 32172012-11-09 Jason Merrill <jason@redhat.com>
3218
3219 * c.opt (Wabi-tag): New.
3220
72d65da9 32212012-11-09 Andi Kleen <ak@linux.intel.com>
3222
3223 PR 55139
3224 * c-common.c (get_atomic_generic_size): Mask with
3225 MEMMODEL_MASK
3226
77a357e3 32272012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3228
3229 PR c/53063
3230 * c.opt (Wformat): Make it Alias Wformat=1.
3231 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3232 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3233 LangEnabledBy.
3234 (Wformat=): RejectNegative. Use LangEnabledBy.
3235 (Wnonnull): Use LangEnabledBy.
3236 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3237 * c-format.c (set_Wformat): Delete.
3238 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3239 (maybe_read_dollar_number): Likewise.
3240 (avoid_dollar_number): Likewise.
3241 (finish_dollar_format_checking): Likewise.
3242 (check_format_info): Likewise.
3243 (check_format_info_main): Likewise.
3244 (check_format_types): Likewise.
3245 (format_type_warning): Likewise.
3246 * c-common.c (int): Likewise.
3247 (check_function_sentinel): Likewise.
3248 * c-common.h (warn_format,set_Wformat): Do not declare here.
3249
45efa6b9 32502012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3251
3252 PR c/53063
3253 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3254 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3255 Use LangEnabledBy.
3256 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3257 common.opt.
3258 (Wvariadic-macros): Init(1).
3259 * c-opts.c (c_common_handle_option): Do not handle them
3260 explicitly.
3261 (c_common_post_options): Likewise.
3262 (sanitize_cpp_opts): warn_unused_macros is now
3263 cpp_warn_unused_macros.
3264 (push_command_line_include): Likewise.
3265 * c-common.c (warn_unknown_pragmas): Do not define.
3266 * c-common.h (warn_unknown_pragmas): Do not declare.
3267
0e4e775a 32682012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3269
3270 PR c/51294
3271 * c-common.c (conversion_warning): Handle conditional expressions.
3272
8b447d3f 32732012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3274
3275 PR c++/54930
3276 * c.opt (Wreturn_local_addr): Define new option.
3277
f4a61754 32782012-10-25 Jason Merrill <jason@redhat.com>
3279
ecb10e6a 3280 * c.opt (Wvirtual-move-assign): New.
3281
f4a61754 3282 * c.opt (Winherited-variadic-ctor): New.
3283
7b463b19 32842012-10-25 Marc Glisse <marc.glisse@inria.fr>
3285
3286 PR c++/54427
3287 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3288
6adc88f8 32892012-10-23 Joseph Myers <joseph@codesourcery.com>
3290
3291 * c-common.h (pch_cpp_save_state): Declare.
3292 * c-target.def (c_preinclude): New hook.
3293 * c-opts.c (done_preinclude): New.
3294 (push_command_line_include): Handle default preincluded header.
3295 (cb_file_change): Call pch_cpp_save_state when calling
3296 push_command_line_include.
3297 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3298 (pch_cpp_save_state): New.
3299 (pch_init): Call pch_cpp_save_state conditionally, instead of
3300 calling cpp_save_state.
3301
fa816b0b 33022012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3303
3304 PR c/53063
3305 PR c/40989
3306 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3307 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3308 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3309 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3310 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3311 * c-opts.c (c_common_handle_option): Remove explicit handling from
3312 here.
3313 (c_common_post_options): Likewise.
3314
d214ccee 33152012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3316
3317 * c-ada-spec.c (LOCATION_COL): Delete.
3318 (compare_location): New function.
3319 (compare_node): Use it.
3320 (compare_comment): Likewise.
3321
77b27208 33222012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3323
3324 PR c/53063
3325 PR c/40989
3326 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3327 * c-opts.c (c_common_handle_option): Do not set them here. Add
3328 comment.
3329 (c_common_post_options): Likewise.
3330
cc02ca4d 33312012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3332
3333 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3334 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3335 Remove POINTER_TYPE handling, add large unsigned handling and use
3336 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3337
57f872a2 33382012-10-12 Jakub Jelinek <jakub@redhat.com>
3339
3340 PR c/54381
3341 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3342 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3343 locs and array of 3 trees instead of just single loc and single
3344 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3345 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3346 For *cmp* builtins that take two sources strings report warnings
3347 about first and second source, not about destination and source.
3348
7354ad2e 33492012-10-12 Marc Glisse <marc.glisse@inria.fr>
3350
3351 PR c++/53055
3352 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3353
1ac7f120 33542012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3355
3356 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3357 declaring something coming from another file.
3358
1e0cc9e3 33592012-10-10 Arnaud Charlet <charlet@adacore.com>
3360
1ac7f120 3361 PR ada/54845
1e0cc9e3 3362 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3363
b0e7825e 33642012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3365
3366 PR c++/54194
3367 * c-common.c (warn_about_parentheses): Add location_t parameter;
3368 use EXPR_LOC_OR_LOC.
3369 * c-common.h: Update declaration.
3370
41ed701a 33712012-10-09 Marc Glisse <marc.glisse@inria.fr>
3372
3373 PR c++/54427
3374 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3375 more operations. Make error messages optional.
3376 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3377 (scalar_to_vector): Declare.
3378
3740094c 33792012-10-08 Jason Merrill <jason@redhat.com>
3380
3381 * c-common.c (c_common_reswords): Add thread_local.
3382
ffcdbf9c 33832012-10-08 Dodji Seketeli <dodji@redhat.com>
3384
3385 PR c++/53528 C++11 attribute support
3386 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3387 new functions.
3388 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3389 static function.
3390 (handle_aligned_attribute): In choose strictest alignment
3391 among many. Use new check_cxx_fundamental_alignment_constraints.
3392 (handle_transparent_union_attribute): In c++11 attribute syntax,
3393 don't look through typedefs.
3394
ef34afc1 33952012-10-04 Arnaud Charlet <charlet@adacore.com>
3396
3397 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3398 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3399 out of dumpfile.h.
3400
f1ff4562 34012012-09-25 Dehao Chen <dehao@google.com>
3402
3403 PR middle-end/54645
ef34afc1 3404 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 3405 map when read in the pch.
3406
735538a1 34072012-09-18 Arnaud Charlet <charlet@adacore.com>
3408
3409 * c-ada-spec.c: Style fixes.
3410
9120cdc8 34112012-09-18 Thomas Quinot <quinot@adacore.com>
3412
3413 * c.opt (-fada-spec-parent): Define new command line switch.
3414 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3415 is specified, generate binding spec as a child of the specified unit.
3416
8eba82c2 34172012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3418 Manuel López-Ibáñez <manu@gcc.gnu.org>
3419
3420 PR c++/53210
3421 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3422
38682990 34232012-08-23 Arnaud Charlet <charlet@adacore.com>
3424
3425 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3426 for pointers, and add missing Convention C pragma.
3427 (print_ada_struct_decl): Add missing aliased keyword.
3428 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3429
f003f5dc 34302012-08-17 Jakub Jelinek <jakub@redhat.com>
3431
3432 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3433 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3434 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3435 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3436 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3437
ec11736b 34382012-08-10 Richard Guenther <rguenther@suse.de>
3439
3440 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3441
5f7f600e 34422012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3443
3444 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3445 instead of separate pp_newline and pp_flush.
3446 (print_c_tree): Likewise.
3447
758a38ab 34482012-07-26 Richard Henderson <rth@redhat.com>
3449
3450 * c-common.c (handle_hot_attribute): Allow labels.
3451 (handle_cold_attribute): Likewise.
3452
9ca77b08 34532012-07-20 Jakub Jelinek <jakub@redhat.com>
3454
3455 PR c++/28656
3456 * c-common.c (check_function_nonnull): Handle multiple nonnull
3457 attributes properly.
3458
b9ed1410 34592012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3460
3461 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3462 * c-ada-spec.c: Likewise.
3463 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3464
c2a65b90 34652012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3466
3467 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3468 Remove code conditional on it.
3469
88c5a1d1 34702012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3471
3472 * c-gimplify.c: Do not include basic-block.h.
3473 * c-common.c: Do not include linfuncs.h.
3474
4a020a8c 34752012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3476
3477 * c-common.h: Include tree.h.
3478
c28ddc97 34792012-07-02 Jason Merrill <jason@redhat.com>
3480
3481 PR c++/53524
3482 * c-common.c (get_priority): Call default_conversion.
3483
405ed67f 34842012-07-01 Uros Bizjak <ubizjak@gmail.com>
3485
3486 * c-pch.c (c_common_write_pch): Remove unused variables.
3487
e53d55e7 34882012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3489
3490 * cppspec.c: Moved from gcc/ to here.
3491
3d9c25ec 34922012-06-27 Kai Tietz <ktietz@redhat.com>
3493
3494 PR preprocessor/37215
3495 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3496
3169c57a 34972012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3498
3499 * c-common.h (c_common_print_pch_checksum): Remove.
3500 * c-pch.c: Do not include output.h.
3501 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3502 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3503 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3504 (struct c_pch_header): Remove.
3505 (get_ident): Update gpch version.
3506 (pch_init): Do not print executable_checksum to asm_out_file.
3507 Do not fail if there is no asm_out_file to read back from. Set
3508 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3509 (c_common_write_pch): Verify that nothing was written to asm_out_file
3510 since pch_init was called. Do not write a c_pch_header, and do not
3511 copy from asm_out_file to the PCH.
3512 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3513 the content of asm_out_file from the PCH.
3514 (c_common_print_pch_checksum): Remove.
3515 * c-opts.c (c_common_init): Print out executable_checksum directly.
3516
ff6624bc 35172012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3518
3519 * c-target.def (objc_declare_unresolved_class_reference,
3520 objc_declare_class_definition): Add new hooks.
3521
367b1459 35222012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3523
3524 * c-lex.c: Do not include output.h.
3525 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3526 Remove uses of ASM_OUTPUT_IDENT.
3527
bf0cb017 35282012-06-15 Marc Glisse <marc.glisse@inria.fr>
3529
3530 PR c++/51033
3531 * c-common.h (c_build_vec_perm_expr): Move decl here.
3532 * c-common.c (c_build_vec_perm_expr): Move definition
3533 here.
3534
b37a3600 35352012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3536
3537 * c.opt (fconserve-space): Turn into a no-op.
3538
19931eea 35392012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 3540
3541 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
3542 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
3543 both the start and end of the function.
3544
dff12c10 35452012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3546
3547 * c-common.c: Do not include output.h.
3548 * c-pragma.c: Likewise.
3549
5f9e7dd5 35502012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3551
3552 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
3553 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
3554 (lang_decl_name): Handle namespace decls.
3555
b5369b7d 35562012-05-31 Steven Bosscher <steven@gcc.gnu.org>
3557
3558 * c-ada-spec.c: Do not include output.h.
3559 * c-semantics.c: Likewise.
3560
8032877c 35612012-05-29 Joseph Myers <joseph@codesourcery.com>
3562
3563 * c-common.c: Fix typo.
3564
7843e4bc 35652012-05-29 Michael Matz <matz@suse.de>
3566
3567 * c-common.h (c_expand_decl): Remove prototype.
3568
8cf857d4 35692012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3570
3571 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
3572 * c-opts.c (c_common_handle_option): Remove code handling
3573 warn_missing_braces.
3574
8b64dc3c 35752012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
3576
3577 PR c++/25137
3578 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
3579 -Wmissing_braces.
3580
43cbde16 35812012-05-22 Dodji Seketeli <dodji@redhat.com>
3582
3583 PR c++/53322
3584 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
3585
db490cb6 35862012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
3587
3588 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
3589 * c-opts.c (c_common_handle_option): Do not handle explicitly
3590 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
3591
a60f3e81 35922012-05-16 Dodji Seketeli <dodji@redhat.com>
3593
3594 PR preprocessor/7263
3595 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
3596 to cpp_classify_number. For diagnostics, use the precise location
3597 instead of the global input_location.
3598
82e6ef7c 35992012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3600
cd4797ff 3601 PR c++/11856
82e6ef7c 3602 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
3603
258a168d 36042012-05-14 Bernd Schmidt <bernds@codesourcery.com>
3605
82e6ef7c 3606 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 3607
d3b7ee7c 36082012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3609
3610 PR 53063
3611 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
3612 Wreorder): Use LangEnabledBy.
3613 * c-opts.c (c_common_handle_option): Do not enable them
3614 explicitly. Call lang-specific generated functions.
3615 (c_common_post_options): Do not set them here.
3616
70059cea 36172012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3618
3619 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
3620 Wmissing-field-initializers,Wmissing-parameter-type,
3621 Wold-style-declaration,Woverride-init): Use EnabledBy.
3622 * c-opts.c (c_common_post_options): Do not set here explicitly.
3623
fbb6fbd8 36242012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3625
3626 PR 53063
3627 * c-opts.c (c_common_handle_option): Use handle_generated_option
3628 to enable sub-options.
3629
61f69bc9 36302012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
3631
3632 PR c++/53158
3633 * c-common.c (warnings_for_convert_and_check): Use warning_at.
3634
5a1fe2db 36352012-05-10 Richard Guenther <rguenther@suse.de>
3636
3637 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
3638 adjust commentary about TYPE_IS_SIZETYPE types.
3639
d42e7c5a 36402012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3641
3642 PR c++/53261
3643 * c-common.c (warn_logical_operator): Check that argument of
3644 integer_zerop is not NULL.
3645
686369e8 36462012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
3647
3648 PR c/43772
3649 * c-common.c (warn_logical_operator): Do not warn if either side
3650 is already true or false.
3651
03fe1dc2 36522012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3653
3654 PR c/51712
3655 * c-common.c (expr_original_type): New.
3656 (shorten_compare): Do not warn for enumeration types.
3657
bba5a206 36582012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3659
3660 * c.opt (fpermissive): Add Var(flag_permissive).
3661
7059d45d 36622012-04-30 Marc Glisse <marc.glisse@inria.fr>
3663
3664 PR c++/51033
3665 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3666 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3667
7edb1062 36682012-04-30 Dodji Seketeli <dodji@redhat.com>
3669
3670 Add -Wvarargs option
3671 * c.opt (Wvarargs): Define new option.
3672
068bea1e 36732012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3674
3675 * c-common.c (check_function_arguments): Replace
3676 Wmissing-format-attribute with Wsuggest-attribute=format.
3677
b86527d8 36782012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3679
3680 * c.opt (Wsuggest-attribute=format): New. Alias of
3681 Wmissing-format-attribute.
3682 * c-format.c (decode_format_type): Replace
3683 Wmissing-format-attribute with Wsuggest-attribute=format.
3684 (check_function_format): Likewise.
3685
19931eea 36862012-04-27 Ollie Wild <aaw@google.com>
76d340ac 3687
3688 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
3689 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
3690 * c.opt: Add Wliteral-suffix.
3691
29438999 36922012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3693
3694 PR c/44774
3695 * c.opt (Wpedantic): New.
3696 (pedantic): Alias Wpedantic.
3697 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3698 (c_common_post_options): Likewise.
3699 (sanitize_cpp_opts): Likewise.
3700 * c-lex.c (interpret_float): Likewise.
3701 * c-format.c (check_format_types): Likewise.
3702 * c-common.c (pointer_int_sum): Likewise.
3703 (c_sizeof_or_alignof_type): Likewise.
3704 (c_add_case_label): Likewise.
3705 (c_do_switch_warnings): Likewise.
3706 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3707
4f9d6b8b 37082012-04-15 Jason Merrill <jason@redhat.com>
3709
3710 PR c++/52818
3711 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3712 (C_STD_NAME): Distinguish between C++98 and C++11.
3713
74bdbe96 37142012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3715
3716 PR target/52624
3717 * c-common.h (uint16_type_node): Rename into...
3718 (c_uint16_type_node): ...this.
3719 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3720 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3721
3d177e8c 37222012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3723
3724 * c-common.c (warn_if_unused_value): Move definition to here.
3725 * c-common.h (warn_if_unused_value): Move declaration to here.
3726
6a9a958f 37272012-03-23 William Bader <williambader@hotmail.com>
3728
3729 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3730
543efdbe 37312012-03-20 Jason Merrill <jason@redhat.com>
3732
3733 * c-common.h (enum cxx_dialect): Add cxx1y.
3734 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3735 test.
3736 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3737 * c-opts.c (c_common_post_options): Likewise.
3738 (set_std_cxx1y): New.
3739 (c_common_handle_option): Call it.
3740 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3741
62206d34 37422012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3743
3744 PR c++/14710
3745 * c.opt ([Wuseless-cast]): Add.
3746
fadf62f4 37472012-03-16 Richard Guenther <rguenther@suse.de>
3748
3749 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3750
249faa35 37512012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3752
3753 PR c++/44783
3754 * c.opt (ftemplate-backtrace-limit) Add.
3755
126b6848 37562012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3757
3758 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3759 handling.
3760 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3761 (init_pragma): Don't register extern_prefix.
3762
a51edb4c 37632012-03-12 Richard Guenther <rguenther@suse.de>
3764
3765 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3766 (builtin_type_for_size): Likewise.
3767
0f6a7cb7 37682012-02-13 Jakub Jelinek <jakub@redhat.com>
3769
3770 PR c++/52215
3771 * c-common.c (sync_resolve_params): Don't decide whether to convert
3772 or not based on TYPE_SIZE comparison, convert whenever arg_type
3773 is unsigned INTEGER_TYPE.
3774
0779e32c 37752012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3776
3777 PR c/52118
3778 * c.opt ([Wunused-local-typedefs]): Fix description.
3779
baec58e1 37802012-01-24 Mike Stump <mikestump@comcast.net>
3781
3782 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3783 exactly.
3784
c779d8cc 37852012-01-18 Richard Guenther <rguenther@suse.de>
3786
3787 * c-opts.c (c_common_post_options): Reset LTO flags if
3788 we are about to generate a PCH.
3789
ee917d24 37902012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3791
3792 PR c++/51777
3793 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3794 use pp_unsigned_wide_integer.
3795
90e2341f 37962012-01-10 Richard Guenther <rguenther@suse.de>
3797
3798 PR middle-end/51806
3799 * c-opts.c (c_common_handle_option): Move -Werror handling
3800 to language independent code.
3801
9ea022ce 38022012-01-05 Richard Guenther <rguenther@suse.de>
3803
3804 PR middle-end/51764
3805 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3806 from common.opt.
3807
3df19e1b 38082011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3809
3810 PR c++/51316
3811 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3812 of array types with an unknown bound.
3813
32074525 38142011-12-20 Joseph Myers <joseph@codesourcery.com>
3815
3816 * c-common.c (flag_isoc99): Update comment to refer to C11.
3817 (flag_isoc1x): Change to flag_isoc11.
3818 * c-common.h (flag_isoc99): Update comment to refer to C11.
3819 (flag_isoc1x): Change to flag_isoc11.
3820 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3821 C11.
3822 * c-opts.c (set_std_c1x): Change to set_std_c11.
3823 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3824 Call set_std_c11.
3825 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3826 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3827 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3828 standard.
3829 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3830 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3831 (std=gnu1x): Make alias of std=gnu11.
3832
fca86134 38332011-12-19 Jason Merrill <jason@redhat.com>
3834
3835 PR c++/51228
3836 * c-common.c (handle_transparent_union_attribute): Check the first
3837 field if the type is complete.
3838
aa4313eb 38392011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3840
3841 PR libstdc++/51365
3842 * c-common.c (RID_IS_FINAL): Add.
3843 * c-common.h (RID_IS_FINAL): Add.
3844
3f3d5ad4 38452011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3846
3847 * c.opt (fgnu-runtime): Provide full description.
3848 (fnext-runtime): Likewise.
3849 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3850
c4606d19 38512011-11-28 Andrew MacLeod <amacleod@redhat.com>
3852
3853 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3854 predefines in one place. Add LOCK_FREE predefines.
3855 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3856 new func.
3857
1d581089 38582011-11-24 Andrew MacLeod <amacleod@redhat.com>
3859
3860 PR c/51256
19931eea 3861 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 3862 conditions
19931eea 3863 (resolve_overloaded_atomic_exchange,
3864 resolve_overloaded_atomic_compare_exchange,
1d581089 3865 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3866 error_mark_node for error conditions.
19931eea 3867
6aa221fa 38682011-11-08 Richard Guenther <rguenther@suse.de>
3869
3870 PR middle-end/51010
3871 c-family/
3872
4c0315d0 38732011-11-07 Richard Henderson <rth@redhat.com>
3874 Aldy Hernandez <aldyh@redhat.com>
3875 Torvald Riegel <triegel@redhat.com>
3876
3877 Merged from transactional-memory.
3878
3879 * c-common.c (handle_tm_wrap_attribute,
3880 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3881 (struct c_common_reswords): Added __transaction* keywords.
3882 (struct c_common_attribute_table): Added transaction* and tm_regparm
3883 attributes.
3884 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3885 masks.
3886 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3887 find_tm_attribute): Declare.
3888
920f5a70 38892011-11-07 Jason Merrill <jason@redhat.com>
3890
3891 PR c++/35688
3892 * c-common.c, c-common.h: Revert yesterday's changes.
3893
b4f861b4 38942011-11-06 Jason Merrill <jason@redhat.com>
3895
3896 PR c++/35688
3897 * c-common.c (decl_has_visibility_attr): Split out from...
3898 (c_determine_visibility): ...here.
3899 * c-common.h: Declare it.
3900
83e25171 39012011-11-06 Joseph Myers <joseph@codesourcery.com>
3902
3903 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3904 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3905 type.
3906 (check_user_alignment): New. Split out of
3907 handle_aligned_attribute. Disallow integer constants with
3908 noninteger types. Conditionally allow zero.
3909 (handle_aligned_attribute): Use check_user_alignment.
3910 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3911
1cd6e20d 39122011-11-06 Andrew MacLeod <amacleod@redhat.com>
3913 Richard Henderson <rth@redhat.com>
3914
3915 Merged from cxx-mem-model.
3916
3917 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 3918 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 3919 parameters that are the same type size.
3920 (get_atomic_generic_size): New. Find size of generic
3921 atomic function parameters and do typechecking.
3922 (add_atomic_size_parameter): New. Insert size into parameter list.
3923 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3924 either __atomic_exchange_n or external library call.
19931eea 3925 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 3926 __atomic_compare_exchange to either _n variant or external library call.
19931eea 3927 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 3928 __atomic_load_n or an external library call.
3929 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
3930 __atomic_store_n or an external library call.
3931 (resolve_overloaded_builtin): Handle new __atomic builtins.
3932
7549df0d 39332011-11-04 Eric Botcazou <ebotcazou@adacore.com>
3934
3935 PR c++/50608
3936 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
3937 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
3938 <INDIRECT_REF>: Return the argument.
3939 <ARRAY_REF>: Remove special code for negative offset.
3940 Call fold_build_pointer_plus instead of size_binop.
3941 (fold_offsetof): Remove STOP_REF argument and adjust.
3942 * c-common.h (fold_offsetof_1): Declare.
3943 (fold_offsetof): Remove STOP_REF argument.
3944
7e783eb3 39452011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
3946
3947 PR c++/50810
3948 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3949 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3950 Wnarrowing for C++0x and C++98.
3951 * c.opt ([Wnarrowing]): Update.
3952
8fe701f5 39532011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
3954
3955 PR c++/44277
3956 * c.opt: Add Wzero-as-null-pointer-constant.
3957
0d84dc2d 39582011-10-31 Jason Merrill <jason@redhat.com>
3959
67031f52 3960 * c.opt (-fdeduce-init-list): Off by default.
3961
0d84dc2d 3962 PR c++/50920
3963 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
3964 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
3965 and -Wc++11-compat.
3966 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3967
66f24c41 39682011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3969
3970 PR c++/30066
3971 * c.opt (fvisibility-inlines-hidden): Description change.
3972
244db24d 39732011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3974
3975 Implement C++11 user-defined literals.
3976 * c-common.c (build_userdef_literal): New.
3977 * c-common.def: New tree code.
3978 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3979 * c-lex.c (interpret_float): Add suffix parm.
3980 (c_lex_with_flags): Build literal tokens.
3981
235be70f 39822011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3983
3984 PR c++/50841
3985 Revert:
3986 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3987
3988 PR c++/50810
3989 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3990 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3991 Wnarrowing for C++0x and C++98.
3992 * c.opt ([Wnarrowing]): Update.
3993
4fe0fb1c 39942011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3995
3996 PR c++/50810
3997 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3998 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3999 Wnarrowing for C++0x and C++98.
4000 * c.opt ([Wnarrowing]): Update.
4001
5f7504f9 40022011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4003
4004 PR c++/45385
4005 * c-common.c (conversion_warning): Remove code looking for
4006 artificial operands.
4007
2a688977 40082011-10-18 Dodji Seketeli <dodji@redhat.com>
4009
4010 PR bootstrap/50760
4011 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 4012 !NO_IMPLICIT_EXTERN_C.
2a688977 4013
326e3391 40142011-10-17 Michael Spertus <mike_spertus@symantec.com>
4015
4016 * c-common.c (c_common_reswords): Add __bases,
4017 __direct_bases.
4018 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4019
40202011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4021
4022 PR c++/50757
4023 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4024
62db153a 40252011-10-15 Tom Tromey <tromey@redhat.com>
4026 Dodji Seketeli <dodji@redhat.com>
4027
4028 * c.opt (fdebug-cpp): New option.
4029 * c-opts.c (c_common_handle_option): Handle the option.
4030 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4031 output stream in parameter. Factorized from ...
4032 (maybe_print_line): ... this. Dump location debug information when
4033 -fdebug-cpp is in effect.
4034 (print_line_1): New static function. Takes an output stream in
4035 parameter. Factorized from ...
4036 (print_line): ... here. Dump location information when -fdebug-cpp
4037 is in effect.
4038 (scan_translation_unit): Dump location information when
4039 -fdebug-cpp is in effect.
4040
ce70f433 40412011-10-15 Tom Tromey <tromey@redhat.com>
4042 Dodji Seketeli <dodji@redhat.com>
4043
4044 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4045 without argument.
4046 * c-opts.c (c_common_handle_option)<case
4047 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4048 cases. Handle -ftrack-macro-expansion with and without argument.
4049
97bfb9ef 40502011-10-15 Tom Tromey <tromey@redhat.com>
4051 Dodji Seketeli <dodji@redhat.com>
4052
4053 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4054 (print_line, cb_define, do_line_change): Adjust to avoid touching
4055 the internals of struct line_map. Use the public API instead.
4056 * c-pch.c (c_common_read_pch): Likewise.
4057 * c-lex.c (fe_file_change): Likewise.
4058
326e3391 40592011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4060
4061 PR c++/17212
4062 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4063
40642011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4065
4066 PR c++/33067
4067 * c-pretty-print.c (pp_c_floating_constant): Output
4068 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4069
b9a16870 40702011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4071
4072 * c-common.c (def_builtin_1): Delete old interface with two
4073 parallel arrays to hold standard builtin declarations, and replace
4074 it with a function based interface that can support creating
4075 builtins on the fly in the future. Change all uses, and poison
4076 the old names. Make sure 0 is not a legitimate builtin index.
4077 * c-omp.c (c_finish_omp_barrier): Ditto.
4078 (c_finish_omp_taskwait): Ditto.
4079 (c_finish_omp_flush): Ditto.
4080
c7964868 40812011-10-11 Tristan Gingold <gingold@adacore.com>
4082
4083 * c.opt: (fallow-parameterless-variadic-functions): New.
4084
a4e3ffad 40852011-09-08 Dodji Seketeli <dodji@redhat.com>
4086
4087 PR c++/33255 - Support -Wunused-local-typedefs warning
4088 * c-common.h (struct c_language_function::local_typedefs): New
4089 field.
19931eea 4090 (record_locally_defined_typedef, maybe_record_typedef_use)
4091 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 4092 * c-common.c (record_locally_defined_typedef)
19931eea 4093 (maybe_record_typedef_use)
4094 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 4095 * c.opt: Declare new -Wunused-local-typedefs flag.
4096
737a23cc 40972011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4098
4099 PR middle-end/50266
4100 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4101 computations.
4102
7542c3b4 41032011-09-05 Richard Guenther <rguenther@suse.de>
4104
4105 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4106 of integer_minus_one_node for empty array upper bounds.
4107
1dc92c59 41082011-08-28 Dodji Seketeli <dodji@redhat.com>
4109
4110 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4111 it's the first time it's being called on this main TU.
4112
2bdf2b6e 41132011-08-24 Richard Guenther <rguenther@suse.de>
4114
4115 PR c/49396
4116 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4117
41182011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 4119
4120 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4121 defined in cpp_init_builtins and c_cpp_builtins.
4122
bff4ad11 41232011-08-19 Joseph Myers <joseph@codesourcery.com>
4124
4125 * c-common.c (c_common_reswords): Add __builtin_complex.
4126 * c-common.h (RID_BUILTIN_COMPLEX): New.
4127
985c6e3a 41282011-08-18 Joseph Myers <joseph@codesourcery.com>
4129
4130 * c-common.c (c_common_reswords): Add _Noreturn.
4131 (keyword_is_function_specifier): Handle RID_NORETURN.
4132 * c-common.h (RID_NORETURN): New.
4133
7dfa155b 41342011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4135
4136 * c-common.c (unsafe_conversion_p): New function. Check if it is
4137 unsafe to convert an expression to the type.
4138 (conversion_warning): Adjust, use unsafe_conversion_p.
4139 * c-common.h (unsafe_conversion_p): New function declaration.
4140
2169f33b 41412011-08-02 Jakub Jelinek <jakub@redhat.com>
4142
4143 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4144 (c_finish_omp_taskyield): New prototype.
4145 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4146 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4147 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4148 or RHS1 have side-effects, evaluate those too in the right spot,
4149 if it is a decl and LHS is also a decl, error out if they
4150 aren't the same.
4151 (c_finish_omp_taskyield): New function.
4152 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4153 * c-pragma.c (omp_pragmas): Add taskyield.
4154 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4155 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4156 PRAGMA_OMP_CLAUSE_MERGEABLE.
4157
ab77850e 41582011-07-25 Dodji Seketeli <dodji@redhat.com>
4159
4160 * c-common.h (set_underlying_type): Remove parm name from
4161 declaration.
4162
6ee97920 41632011-07-25 Romain Geissler <romain.geissler@gmail.com>
4164
4165 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 4166
dc251364 41672011-07-22 Jason Merrill <jason@redhat.com>
4168
1a2a35f0 4169 PR c++/49793
4170 * c.opt (Wnarrowing): New.
4171
27282252 4172 PR c++/30112
4173 * c-common.h: Declare c_linkage_bindings.
4174 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4175
dc251364 4176 PR c++/49813
4177 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4178 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4179 as flag_isoc99 for 'restrict'.
4180 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4181
fc501191 41822011-07-21 Ian Lance Taylor <iant@google.com>
4183
4184 PR middle-end/49705
4185 * c-common.c (c_disable_warnings): New static function.
4186 (c_enable_warnings): New static function.
4187 (c_fully_fold_internal): Change local unused_p to bool. Call
4188 c_disable_warnings and c_enable_warnings rather than change
4189 c_inhibit_evaluation_warnings.
4190
07b8f133 41912011-07-20 Jason Merrill <jason@redhat.com>
4192
4193 PR c++/6709 (DR 743)
4194 PR c++/42603 (DR 950)
4195 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4196 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4197 (CPP_DECLTYPE): New.
4198 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4199
2cc66f2a 42002011-07-19 Richard Guenther <rguenther@suse.de>
4201
4202 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4203 * c-omp.c (c_finish_omp_for): Likewise.
4204
3c802a1e 42052011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4206
4207 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4208 body on the next line.
4209
98a33d9f 42102011-07-08 Jason Merrill <jason@redhat.com>
4211
3115bda0 4212 PR c++/45437
4213 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4214
98a33d9f 4215 PR c++/49673
4216 * c-common.c (c_apply_type_quals_to_decl): Don't check
4217 TYPE_NEEDS_CONSTRUCTING.
4218
c38a75b7 42192011-07-06 Richard Guenther <rguenther@suse.de>
4220
4221 * c-common.c (c_common_nodes_and_builtins):
4222 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4223
e593356b 42242011-07-05 Richard Guenther <rguenther@suse.de>
4225
4226 * c-common.c (c_common_nodes_and_builtins): Build all common
4227 tree nodes first.
4228
fca0886c 42292011-06-27 Jakub Jelinek <jakub@redhat.com>
4230
a68f7a8d 4231 * c-common.h (c_tree_chain_next): New static inline function.
4232
fca0886c 4233 * c-common.c (check_builtin_function_arguments): Handle
4234 BUILT_IN_ASSUME_ALIGNED.
4235
2797f13a 42362011-06-21 Andrew MacLeod <amacleod@redhat.com>
4237
4238 * c-common.c: Add sync_ or SYNC__ to builtin names.
4239 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 4240
42412011-06-20 Pierre Vittet <piervit@pvittet.com>
4242
4243 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4244 handler.
4245 (gen_pragma_handler): New union.
4246 (internal_pragma_handler): New type.
4247 (c_register_pragma_with_data)
4248 (c_register_pragma_with_expansion_and_data): New functions.
4249
4250 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4251 (c_register_pragma, c_register_pragma_with_expansion)
4252 (c_invoke_pragma_handler): Changed to work with
4253 internal_pragma_handler.
4254 (c_register_pragma_with_data)
4255 (c_register_pragma_with_expansion_and_data): New functions.
4256
218e3e4e 42572011-06-14 Joseph Myers <joseph@codesourcery.com>
4258
4259 * c-common.c: Include common/common-target.h.
4260 (handle_section_attribute): Use
4261 targetm_common.have_named_sections.
4262 * c-cppbuiltin.c: Include common/common-target.h.
4263 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4264
41e53ed2 42652011-06-10 Richard Guenther <rguenther@suse.de>
4266
4267 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4268 to print a IDENTIFIER_NODE.
4269
a6f06169 42702011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4271 Joseph Myers <joseph@codesourcery.com>
4272
4273 * c.opt (fbuilding-libgcc): New option.
4274 * c-cppbuiltin.c (c_cpp_builtins): Define
4275 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4276
1ea9269b 42772011-06-07 Jason Merrill <jason@redhat.com>
4278
8ce59854 4279 * c-common.c (max_tinst_depth): Lower default to 900.
4280
1ea9269b 4281 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4282
1af0124d 42832011-06-07 Richard Guenther <rguenther@suse.de>
4284
4285 * c-common.c (c_common_nodes_and_builtins): Do not set
4286 size_type_node or call set_sizetype.
4287
0e9a4c01 42882011-06-07 Dodji Seketeli <dodji@redhat.com>
4289
4290 PR debug/49130
4291 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 4292 type when using pointer comparison to compare types.
0e9a4c01 4293
90b40725 42942011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4295
4296 * c.opt: Add -Wdelete-non-virtual-dtor.
4297 * c-opts.c (c_common_handle_option): Include it in -Wall.
4298
fc9c9e87 42992011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4300
4301 PR bootstrap/49190
4302
4303 Revert:
4304 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4305
4306 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4307 not tree_common.
4308
d0389adc 43092011-05-27 Jakub Jelinek <jakub@redhat.com>
4310
4311 PR c++/49165
4312 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4313 C++ don't call c_common_truthvalue_conversion on void type arms.
4314
cacfdc02 43152011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4316
4317 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4318 (stmt_list_stack): Define.
4319 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4320 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4321
027fc6ef 43222011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4323
4324 * c-common.c (warning_candidate_p): Check for BLOCKs.
4325
f21317a1 43262011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4327
4328 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4329 not tree_common.
4330
789e953d 43312011-05-25 Jakub Jelinek <jakub@redhat.com>
4332
4333 * c-common.c (def_fn_type): Remove extra va_end.
4334
7f506bca 43352011-05-23 Jason Merrill <jason@redhat.com>
4336
4337 PR c++/48106
4338 * c-common.c (c_common_get_narrower): New.
4339 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4340
774e9d58 43412011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4342
4343 * c-common.h (check_function_arguments): Tweak prototype of
4344 check_function_arguments.
4345 * c-common.c (check_function_arguments): Likewise. Adjust
4346 calls to check_function_nonnull, check_function_format, and
4347 check_function_sentinel.
4348 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4349 separate attributes and typelist arguments. Use
4350 FOREACH_FUNCTION_ARGS to iterate over argument types.
4351
23407dc9 43522011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4353
4354 * c-common.c (c_common_reswords): Reorder.
4355 * c-common.h (rid): Likewise.
4356
3a939d12 43572011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4358
4359 * c-common.c (def_fn_type): Don't call build_function_type, call
4360 build_function_type_array or build_varargs_function_type_array
4361 instead.
4362 (c_common_nodes_and_builtins): Likewise.
4363
b6e3dd65 43642011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4365
4366 * c-common.c (c_add_case_label): Omit the loc argument to
4367 build_case_label.
4368 * c-common.h (build_case_label): Remove.
4369 * c-semantics.c (build_case_label): Remove.
4370
4232a958 43712011-05-05 Joseph Myers <joseph@codesourcery.com>
4372
4373 * c-objc.h (objc_start_method_definition): Update prototype.
4374 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4375
d0af78c5 43762011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4377
4378 * c-common.c (check_main_parameter_types): Reindent. Don't use
4379 TYPE_ARG_TYPES directly.
4380 (handle_nonnull_attribute): Likewise.
4381 (sync_resolve_params): Likewise.
4382 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4383 to check_format_string.
4384 (handle_format_attribute): Likewise.
4385 (check_format_string): Take a function type to examine instead of
4386 a type list. Use a function_arg_iterator to step through argument
4387 types.
4388
ceb7b692 43892011-05-04 Richard Guenther <rguenther@suse.de>
4390
4391 * c-common.c (fix_string_type): Use size_int for index type bounds.
4392 (start_fname_decls): Do not pass NULL to build_int_cst.
4393 (c_init_attributes): Likewise.
4394 * c-lex.c (c_lex_with_flags): Likewise.
4395
c66c81be 43962011-04-27 Jason Merrill <jason@redhat.com>
4397
4398 * c-common.c (make_tree_vector_from_list): New.
4399 * c-common.h: Declare it.
4400
16930c72 44012011-04-26 Richard Guenther <rguenther@suse.de>
4402
4403 PR preprocessor/48248
4404 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4405 for output size with -P.
4406
23407dc9 44072011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4408
4409 * c-common.c (struct c_common_resword): Add __underlying_type.
4410 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4411
dd045aee 44122011-04-20 Jim Meyering <meyering@redhat.com>
4413
4414 * c-format.c (init_dollar_format_checking): Remove useless
4415 if-before-free.
4416
394dd737 44172011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4418
4419 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 4420 (objc_detect_field_duplicates): New.
394dd737 4421 * stub-objc.c: Likewise.
23407dc9 4422
a758bf7d 44232011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4424
4425 * stub-objc.c (objc_declare_protocols): Renamed to
4426 objc_declare_protocol.
4427 * c-objc.h: Likewise.
23407dc9 4428
29d7200d 44292011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4430
4431 * stub-objc.c (objc_declare_class): Updated argument name.
4432
9b88d08d 44332011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4434
4435 * c-common.h (c_common_init_ts): Declare.
4436 * c-common.c (c_common_init_ts): Define.
4437
4185cf58 44382011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4439
4440 * c-objc.h (objc_build_message_expr): Updated prototype.
4441 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 4442
5a90471f 44432011-04-12 Martin Jambor <mjambor@suse.cz>
4444
4445 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4446 of cgraph_node.
4447
783bb57e 44482011-04-11 Richard Guenther <rguenther@suse.de>
4449
4450 * c-common.c (complete_array_type): Build a range type of
4451 proper type.
4452
c33080b9 44532011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4454
4455 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4456 (handle_type_generic_attribute): Likewise.
4457
f8913d47 44582011-04-07 Jason Merrill <jason@redhat.com>
4459
4460 PR c++/48450
4461 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4462 conversion from C++0x scoped enum.
4463
c94b1d0e 44642011-04-06 Joseph Myers <joseph@codesourcery.com>
4465
4466 * c-target-def.h: New file.
4467 * c-target.def: New file.
4468 * c-target.h: New file.
4469 * c-common.c (targetcm): Don't define here.
4470 * c-common.h (default_handle_c_option): Declare.
4471 * c-format.c: Include c-target.h instead of target.h.
4472 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4473 include tm.h.
4474 (default_handle_c_option): Move from targhooks.c.
4475
acb10f41 44762011-03-29 Jakub Jelinek <jakub@redhat.com>
4477
4478 PR preprocessor/48248
4479 * c-ppoutput.c (print): Add src_file field.
4480 (init_pp_output): Initialize it.
4481 (maybe_print_line): Don't optimize by adding up to 8 newlines
4482 if map->to_file and print.src_file are different file.
4483 (print_line): Update print.src_file.
4484
82715bcd 44852011-03-25 Kai Tietz <ktietz@redhat.com>
4486
4487 * c-ada-spec.c (compare_comment): Use filename_cmp
4488 instead of strcmp for filename.
4489
451c8e2f 44902011-03-25 Jeff Law <law@redhat.com>
4491
1f78217c 4492 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 4493
3c47771c 44942011-03-25 Jason Merrill <jason@redhat.com>
4495
4496 * c.opt: Add -std=c++03.
4497
97e6200f 44982011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4499
4500 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4501
ac86af5d 45022011-03-17 Kai Tietz
4503
4504 PR target/12171
ee212425 4505 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4506 Display allowed attributes for function pointer types.
4507 (pp_c_attributes_display): New function to display
4508 attributes having affects_type_identity flag set to true.
4509 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4510
ac86af5d 4511 * c-common.c (c_common_attribute_table):
4512 Add new element.
4513 (c_common_format_attribute_table): Likewise.
4514
914d1151 45152011-03-18 Jason Merrill <jason@redhat.com>
4516
69788bdf 4517 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4518 * c-common.h: Don't declare it here.
4519 * c-common.c: Or define it here.
4520 * c-opts.c (c_common_handle_option): Or set it here.
4521
914d1151 4522 PR c++/35315
4523 * c-common.c (handle_transparent_union_attribute): Don't
4524 make a duplicate type in C++.
4525
54cf6eed 45262011-03-15 Jason Merrill <jason@redhat.com>
4527
4528 * c-common.c (max_constexpr_depth): New.
4529 * c-common.h: Declare it.
4530 * c-opts.c (c_common_handle_option): Set it.
4531 * c.opt (fconstexpr-depth): New option.
4532
02cb1060 45332011-03-11 Jason Merrill <jason@redhat.com>
4534
9bf1c74e 4535 * c-common.c (attribute_takes_identifier_p): Add missing const.
4536
02cb1060 4537 PR c++/46803
4538 * c-common.c (attribute_takes_identifier_p): Assume that an
4539 unknown attribute takes an identifier.
4540
ecf2703d 45412011-03-07 Nathan Froyd <froydnj@codesourcery.com>
4542
4543 PR c/47786
4544 * c-common.c (c_type_hash): Call list_length instead of iterating
4545 through DECL_CHAIN. Rename 'i' to 'n_elements'.
4546
2b19dfe4 45472011-02-19 Jakub Jelinek <jakub@redhat.com>
4548
4549 PR c/47809
4550 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
4551
29cf2335 45522011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4553
4554 * c.opt (fobjc-abi-version=) New.
4555 (fobjc-nilcheck): New.
4556
fad3f658 45572011-02-03 Nathan Froyd <froydnj@codesourcery.com>
4558
4559 PR c++/46890
4560 * c-common.h (keyword_is_decl_specifier): Declare.
4561 * c-common.c (keyword_is_decl_specifier): Define.
4562 (keyword_is_function_specifier): New function.
4563
a12319b3 45642011-01-26 Jakub Jelinek <jakub@redhat.com>
4565
4566 PR c/47473
4567 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
4568 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
4569 REAL_TYPE.
4570
5c128dc8 45712011-01-26 Arnaud Charlet <charlet@adacore.com>
4572
4573 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
4574
8d67b0c7 45752011-01-26 Jakub Jelinek <jakub@redhat.com>
4576
4577 PR pch/47430
4578 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
4579 after init_c_lex if pch_file is set.
4580
0675168d 45812011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4582
e8911163 4583 PR c++/43601
0675168d 4584 * c.opt (-fkeep-inline-dllexport): New switch.
4585
0725e25c 45862011-01-12 Richard Guenther <rguenther@suse.de>
4587
4588 PR middle-end/32511
4589 * c-common.c (handle_weak_attribute): Warn instead of error
4590 on declaring an inline function weak.
4591
fdd84b77 45922011-01-05 Tom Tromey <tromey@redhat.com>
4593
4594 * c-common.h (lvalue_error): Update.
4595 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
4596 not error.
4597
e6e73d14 45982010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 4599
d67e8485 4600 PR objc/47075
4601 * c-objc.h (objc_finish_message_expr): Added argument to
4602 prototype.
4603
a36cf284 46042010-12-22 Nathan Froyd <froydnj@codesourcery.com>
4605
4606 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
4607 Use prototype_p.
4608
33b3681f 46092010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
4610
4611 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 4612 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 4613
a1f90215 46142010-12-10 Nathan Froyd <froydnj@codesourcery.com>
4615
4616 * c-common.h (readonly_error): Declare.
4617 * c-common.c (readonly_error): Define.
4618
b1bbc8e5 46192010-12-09 Nathan Froyd <froydnj@codesourcery.com>
4620
4621 * c-common.h (invalid_indirection_error): Declare.
4622 * c-common.c (invalid_indirection_error): Define.
4623
b0d55af9 46242010-12-03 Richard Guenther <rguenther@suse.de>
4625
4626 PR c/46745
4627 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
4628 (pp_c_unary_expression): Likewise.
4629 (pp_c_expression): Likewise.
4630
d7489d8d 46312010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
4632
4633 * c-common.h (objc_finish_function): New.
4634 (objc_non_volatilized_type): Removed.
4635 (objc_type_quals_match): Removed.
4636 * stub-objc.c (objc_finish_function): New.
4637 (objc_non_volatilized_type): Removed.
4638 (objc_type_quals_match): Removed.
19931eea 4639
92468061 46402010-11-30 Joseph Myers <joseph@codesourcery.com>
4641
4642 * c-common.h (parse_optimize_options): Declare.
4643 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
4644 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
4645
967958e4 46462010-11-29 Joseph Myers <joseph@codesourcery.com>
4647
4648 * c-opts.c (check_deps_environment_vars): Use getenv instead of
4649 GET_ENVIRONMENT.
4650 * c-pch.c (O_BINARY): Don't define here.
4651 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
4652
b213bf24 46532010-11-25 Joseph Myers <joseph@codesourcery.com>
4654
4655 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
4656 targetm.except_unwind_info.
4657
9faf44d6 46582010-11-23 Joseph Myers <joseph@codesourcery.com>
4659
4660 * c-opts.c (c_common_handle_option): Pass location to
4661 set_struct_debug_option.
4662
79396169 46632010-11-23 Joseph Myers <joseph@codesourcery.com>
4664
4665 * c-common.c (visibility_options): Move from ../opts.c.
4666 * c-common.h (struct visibility_flags, visibility_options):
4667 Declare here.
4668 * c-opts.c (finish_options): Rename to c_finish_options.
4669 (c_common_init): Update call to finish_options.
4670
b4aa4123 46712010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4672
4673 PR objc/34033
4674 * c-lex.c (lex_string): Check that each string in an Objective-C
4675 string concat sequence starts with either one or zero '@', and
4676 that there are no spurious '@' signs at the end.
4677
3e0e49f2 46782010-11-20 Joseph Myers <joseph@codesourcery.com>
4679
4680 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
4681 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
4682 HANDLE_PRAGMA_VISIBILITY.
4683 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
4684 HANDLE_PRAGMA_VISIBILITY): Don't define.
4685 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
4686
a9ffdd35 46872010-11-20 Nathan Froyd <froydnj@codesourcery.com>
4688
4689 PR c++/16189
4690 PR c++/36888
4691 PR c++/45331
4692 * c-common.h (keyword_begins_type_specifier): Declare.
4693 (keyword_is_storage_class_specifier): Declare.
4694 (keyword_is_type_qualifier): Declare.
4695 * c-common.c (keyword_begins_type_specifier): New function.
4696 (keyword_is_storage_class_specifier): New function.
4697 (keyword_is_type_qualifier): Declare.
4698
93be21c0 46992010-11-19 Joseph Myers <joseph@codesourcery.com>
4700
4701 PR c/46547
4702 * c-common.c (in_late_binary_op): Define.
4703 (c_common_truthvalue_conversion): Check in_late_binary_op before
4704 calling c_save_expr.
4705 * c-common.h (in_late_binary_op): Declare.
4706
d7175aef 47072010-11-19 Joseph Myers <joseph@codesourcery.com>
4708
4709 * c-opts.c (c_common_handle_option): Update calls to
4710 set_struct_debug_option.
4711
c213e196 47122010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4713
4714 * c-common.h (objc_declare_protocols): Added additional argument.
4715 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 4716
0b5fc5d6 47172010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4718
4719 PR c/33193
4720 * c-common.h (build_real_imag_expr): Declare.
4721 * c-semantics.c (build_real_imag_expr): Define.
4722
b8ba44e7 47232010-11-17 Joseph Myers <joseph@codesourcery.com>
4724
4725 * c-opts.c (c_common_parse_file): Take no arguments.
4726 * c-common.h (c_common_parse_file): Update prototype.
4727
6ef8d12f 47282010-11-16 Jakub Jelinek <jakub@redhat.com>
4729
4730 PR c++/46401
4731 * c-common.c (warning_candidate_p): Don't track non-const calls
4732 or STRING_CSTs.
4733
929d2a90 47342010-11-15 Ian Lance Taylor <iant@google.com>
4735
4736 * c-lex.c (init_c_lex): Set macro debug callbacks if
4737 flag_dump_go_spec is set.
4738
e4a7640a 47392010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4740
4741 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4742 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4743
597d2d81 47442010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4745
4746 PR preprocessor/45038
4747 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4748 dialects.
4749
c123f04d 47502010-11-12 Joseph Myers <joseph@codesourcery.com>
4751
4752 * c-common.h (c_family_lang_mask): Declare.
4753 * c-opts.c (c_family_lang_mask): Make extern.
4754 * c-pragma.c (handle_pragma_diagnostic): Use
4755 control_warning_option.
4756
3c6c0e40 47572010-11-12 Joseph Myers <joseph@codesourcery.com>
4758
4759 * c-common.c (parse_optimize_options): Update call to
4760 decode_options.
4761 * c-common.h (c_common_handle_option): Update prototype.
4762 * c-opts.c (c_common_handle_option): Take location_t parameter and
4763 pass it to other functions.
4764
19ec5c9e 47652010-11-11 Joseph Myers <joseph@codesourcery.com>
4766
4767 * c-opts.c (warning_as_error_callback): Remove.
4768 (c_common_initialize_diagnostics): Don't call
4769 register_warning_as_error_callback.
4770 (c_common_handle_option): Handle -Werror=normalized= here.
4771
bf776685 47722010-11-10 Joseph Myers <joseph@codesourcery.com>
4773
4774 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4775 in diagnostic.
4776 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4777 letter.
4778 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4779 Remove trailing '.' from diagnostics.
4780 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4781
6bd9d862 47822010-11-10 Joseph Myers <joseph@codesourcery.com>
4783
4784 * c-common.c (parse_optimize_options): Pass global_dc to
4785 decode_options.
4786 * c-opts.c (c_common_handle_option): Pass &global_options to
4787 set_Wstrict_aliasing.
4788 * c.opt (v): Don't mark Common or document here.
4789
1f6616ee 47902010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4791
4792 PR target/44981
4793 * c-format.c (format_type): New type gcc_objc_string_format_type.
4794 (valid_stringptr_type_p): New.
4795 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 4796 (check_format_string): Pass expected type, use
1f6616ee 4797 valid_stringptr_type_p (), check that the format string types are
4798 consistent with the format specification.
4799 (decode_format_attr): Warn if NSString is used outside objective-c.
4800 (format_types_orig): Add NSString.
4801 (format_name): New.
4802 (format_flags): New.
4803 (check_format_arg): Handle format strings requiring an external parser.
4804 first_target_format_type: New variable.
4805 (handle_format_attribute): Set up first_target_format_type, pass the
4806 expected format arg string type to check_format_string().
4807 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4808 * stub-objc.c (objc_string_ref_type_p): New.
4809 (objc_check_format_arg): New.
4810
b0d0931f 48112010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4812
19931eea 4813 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 4814 * c-common.h (objc_build_class_component_ref): New.
4815 * stub-objc.c (objc_build_class_component_ref): New.
4816
f26877d5 48172010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4818
4819 * c.opt (Wproperty-assign-default): New option.
4820
1ef143b6 48212010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4822
4823 Implemented -fobjc-std=objc1 flag.
4824 * c.opt (fobjc-std=objc1): New option.
4825
8c582e4f 48262010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4827
4828 Implemented format and noreturn attributes for Objective-C methods.
4829 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4830 attribute for Objective-C methods.
4831
8637f1db 48322010-10-31 Jason Merrill <jason@redhat.com>
4833
4834 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4835 EXPR_LOC_OR_HERE.
4836
9d9f5bb3 48372010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4838
4839 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4840 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4841 (objc_add_property_declaration): Removed arguments for copies and
4842 ivar.
4843 (objc_build_getter_call): Renamed to
4844 objc_maybe_build_component_ref.
4845 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4846 (objc_is_property_ref): New.
4847 * c-common.c (c_common_reswords): Removed copies and ivar.
4848 * stub-objc.c (objc_add_property_declaration): Removed arguments
4849 for copies and ivar.
4850 (objc_build_getter_call): Renamed to
4851 objc_maybe_build_component_ref.
4852 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4853 (objc_is_property_ref): New.
19931eea 4854
56f907a0 48552010-10-29 Arnaud Charlet <charlet@adacore.com>
4856 Matthew Gingell <gingell@adacore.com>
4857
4858 * c-ada-spec.c (separate_class_package): New function.
4859 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4860 name of their enclosing package.
4861 (print_ada_declaration): Use separate_class_package.
4862
b5fa273e 48632010-10-27 Jason Merrill <jason@redhat.com>
4864
5290e253 4865 * c-common.c (c_common_reswords): Add __is_literal_type.
4866 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4867
b5fa273e 4868 * c-common.c (check_case_value): Remove special C++ code.
4869
7590f0e5 48702010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4871
4872 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4873 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4874 and RID_LAST_PATTR.
4875 (objc_add_property_declaration): Added additional arguments.
4876 (objc_property_attribute_kind): Removed.
4877 (objc_set_property_attr): Removed.
4878 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4879 copy and nonatomic.
4880 * stub-objc.c (objc_add_property_declaration): Added additional
4881 arguments.
4882 (objc_set_property_attr): Removed.
19931eea 4883
1d894bcf 48842010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4885
4886 * c-common.h (objc_add_property_variable): Renamed to
4887 objc_add_property_declaration. Added location argument.
4888 * stub-objc.c (objc_add_property_variable): Same change.
4889
e23bf1fb 48902010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4891
4892 * c-common.h (objc_maybe_printable_name): New.
4893 * stub-objc.c (objc_maybe_printable_name): New.
4894
93426222 48952010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4896 Andrew Pinski <pinskia@gmail.com>
4897
4898 * c-common.h (c_common_mark_addressable_vec): Declare.
4899 * c-common.c (c_common_mark_addressable_vec): New function.
4900
45b2b110 49012010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4902
4903 * c-common.h (objc_set_method_type): Removed.
4904 (objc_add_method_declaration): Added boolean argument.
4905 (objc_start_method_definition): Same change.
4906 (objc_build_method_signature): Same change.
4907 * stub-objc.c (objc_set_method_type): Removed.
4908 (objc_add_method_declaration): Added boolean argument.
4909 (objc_start_method_definition): Same change.
4910 (objc_build_method_signature): Same change.
4911
64cd9619 49122010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4913
4914 * c-common.h (finish_file): Removed.
4915 (objc_write_global_declarations): New.
4916 * c-opts.c (c_common_parse_file): Do not call finish_file.
4917 * stub-objc.c (objc_write_global_declarations): New.
19931eea 4918
e1f293c0 49192010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4920
4921 Implemented parsing @synthesize and @dynamic for
4922 Objective-C/Objective-C++.
4923 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4924 (objc_add_synthesize_declaration): New.
4925 (objc_add_dynamic_declaration): New.
4926 * c-common.c (c_common_reswords): Add synthesize and dynamic.
4927 * stub-objc.c (objc_add_synthesize_declaration): New.
4928 (objc_add_dynamic_declaration): New.
19931eea 4929
ef97a312 49302010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4931
4932 PR target/46041
4933 * c-cppbuiltin.c (mode_has_fma): Move function here from
4934 builtins.c. Don't use the fma optab, instead just use the
4935 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
4936 using -save-temps.
4937
69b07042 49382010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4939
4940 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 4941
69b07042 4942 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
4943
19931eea 4944 Radar 4330422
69b07042 4945 * c-common.h (objc_non_volatilized_type): New declaration
4946 * stub-objc.c (objc_non_volatilized_type): New stub.
4947
f15f2e56 49482010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4949
69b07042 4950 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 4951
4952 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
4953
19931eea 4954 Radar 4133425
f15f2e56 4955 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 4956 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 4957
4a8875ed 49582010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4959
4960 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
4961 * c-common.h (enum rid): Add RID_AT_PACKAGE.
4962 (objc_ivar_visibility_kind): New enum.
4963 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 4964 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 4965 visibility enum.
4966
7e0713b1 49672010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4968
4969 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4970 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4971 has the appropriate fma builtins.
4972 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4973
86c110ac 49742010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4975
7e0713b1 4976 merge from FSF apple 'trunk' branch.
86c110ac 4977 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 4978
86c110ac 4979 Radars 4436866, 4505126, 4506903, 4517826
4980 * c-common.c (c_common_resword): Define @property and its attributes.
4981 * c-common.h: Define property attribute enum entries.
4982 (OBJC_IS_PATTR_KEYWORD): New.
4983 (objc_property_attribute_kind): New enum.
4984 Declare objc_set_property_attr (), objc_add_property_variable (),
4985 objc_build_getter_call () and objc_build_setter_call ().
4986 * stub-objc.c (objc_set_property_attr): New stub.
4987 (objc_add_property_variable): Likewise.
4988 (objc_build_getter_call): Likewise.
4989 (objc_build_setter_call) Likewise.
7e0713b1 4990
40c8d1dd 49912010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4992
7e0713b1 4993 merge from FSF apple 'trunk' branch.
40c8d1dd 4994 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4995
4996 Radar 3803157 (method attributes)
4997 * c-common.c (handle_deprecated_attribute): Recognize
4998 objc methods as valid declarations.
4999 * c-common.h: Declare objc_method_decl ().
7e0713b1 5000 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 5001
f3f006ad 50022010-10-08 Joseph Myers <joseph@codesourcery.com>
5003
5004 * c-common.c (parse_optimize_options): Call
5005 decode_cmdline_options_to_array_default_mask before
5006 decode_options. Update arguments to decode_options.
5007 * c-common.h (c_common_init_options_struct): Declare.
5008 * c-opts.c (c_common_init_options_struct): New. Split out from
5009 c_common_init_options.
5010
0a65c3bb 50112010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5012
5013 Implemented fast enumeration for Objective-C.
5014 * c-common.h (objc_finish_foreach_loop): New.
5015 * stub-objc.c (objc_finish_foreach_loop): New.
5016
24ca3b4e 50172010-10-05 Joseph Myers <joseph@codesourcery.com>
5018
5019 * c-common.h (struct diagnostic_context): Don't declare here.
5020 (c_common_initialize_diagnostics): Declare using
5021 diagnostic_context typedef.
5022 * c-opts.c (c_common_handle_option): Pass global_dc to
5023 handle_generated_option.
5024
f83b64ca 50252010-10-04 Joseph Myers <joseph@codesourcery.com>
5026
5027 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5028 handle_generated_option.
5029
2fdec027 50302010-10-03 Ian Lance Taylor <iant@google.com>
5031
5032 * c.opt (-fplan9-extensions): New option.
5033
41acdfa4 50342010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5035
5036 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5037 Remove.
5038 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5039 of duplicating code.
5040
069761fb 50412010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5042
5043 * c-common.c: Add two new entries for @optional
5044 and @required keywords.
5045
5046 merge from FSF 'apple/trunk' branch.
5047 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5048
5049 Radar 4386773
5050 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5051 objective-c keywords.
5052 (objc_set_method_opt): New declaration.
5053 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 5054
2c5d2e39 50552010-09-30 Joseph Myers <joseph@codesourcery.com>
5056
5057 * c-common.c (handle_optimize_attribute): Pass &global_options to
5058 cl_optimization_save and cl_optimization_restore.
5059 * c-opts.c (c_common_handle_option): Pass &global_options to
5060 handle_generated_option.
5061 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5062 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5063 &global_options to cl_optimization_restore.
5064
e5c75ac3 50652010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5066
5067 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5068 Objective-C/Objective-C++ keywords.
5069
3511333e 50702010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 5071
19931eea 5072 Merge from 'apple/trunk' branch on FSF servers.
5073
e147d6aa 5074 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5075
5076 Radar 4281748
5077 * c-common.h (objc_check_global_decl): New declaration.
5078 * stub-objc.c (objc_check_global_decl): New stub.
5079
5461e683 50802010-09-29 Joseph Myers <joseph@codesourcery.com>
5081
5082 * c.opt: Don't use VarExists.
5083
5ae82d58 50842010-09-29 Joseph Myers <joseph@codesourcery.com>
5085
5086 * c-common.c (c_cpp_error): Update names of diagnostic_context
5087 members.
5088 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5089 cl_optimization members.
5090 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5091 sanitize_cpp_opts, finish_options): Update names of cpp_options
5092 members.
5093
b27e241e 50942010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5095
5096 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5097 (objc_is_reserved_word): Removed.
5098 * c-common.c: Updated comments.
5099 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5100 objc_is_reserved_word.
5101 * stub-objc.c (objc_is_reserved_word): Removed.
5102
03fc2271 51032010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5104
19931eea 5105 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 5106 include attributes.
5107 (objc_start_method_definition): Likewise.
5108 (objc_build_keyword_decl): Likewise.
5109 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5110 (objc_start_method_definition): Likewise.
5111 (objc_build_keyword_decl): Likewise.
5112
a336eb4b 51132010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5114
5115 * c-common.h (objc_start_class_interface): Adjust prototype.
5116 (objc_start_category_interface): Likewise.
5117 (objc_start_protocol): Likewise.
5118 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5119 (objc_start_class_interface): Likewise.
5120 (objc_start_category_interface): Likewise.
5121
48b14f50 51222010-09-27 Ian Lance Taylor <iant@google.com>
5123
5124 * c-common.c (c_common_attribute_table): Add no_split_stack.
5125 (handle_no_split_stack_attribute): New static function.
5126
4abfc532 51272010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5128
19931eea 5129 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 5130
5131 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5132
19931eea 5133 Radar 4229905
4abfc532 5134 * c-common.h (objc_have_common_type): New declaration.
5135 * stub-objc.c (objc_have_common_type): New stub.
5136
5137 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5138
5139 Radar 4154928
5140 * c-common.h (objc_common_type): New prototype.
19931eea 5141 * stub-objc.c (objc_common_type): New stub.
4abfc532 5142
7bd95dfd 51432010-09-24 Jan Hubicka <jh@suse.cz>
5144
5145 * c-common.c (handle_leaf_attribute): New function.
5146 (struct attribute_spec c_common_att): Add leaf.
5147
5789e05b 51482010-09-22 Joseph Myers <joseph@codesourcery.com>
5149
5150 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5151 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5152 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5153 -include-barrier, -include-directory, -include-directory=,
5154 -include-directory-after, -include-directory-after=,
5155 -include-prefix, -include-prefix=, -include-with-prefix,
5156 -include-with-prefix=, -include-with-prefix-after,
5157 -include-with-prefix-after=, -include-with-prefix-before,
5158 -include-with-prefix-before=, -no-integrated-cpp,
5159 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5160 -output=, -pedantic, -pedantic-errors, -preprocess,
5161 -print-missing-file-dependencies, -trace-includes, -traditional,
5162 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5163 -user-dependencies, -verbose, -write-dependencies,
5164 -write-user-dependencies, no-integrated-cpp, traditional): New.
5165
e6fb54ba 51662010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5167
5168 PR objc/23710
9b60f3b0 5169 * c-common.h (objc_start_method_definition): Return bool instead
5170 of void.
5171 * stub-objc.c (objc_start_method_definition): Return bool instead
5172 of void.
5173
51742010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5175
5176 PR objc/25965
5177 * c-common.h (objc_get_interface_ivars): New declaration.
5178 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 5179
e44b0a1f 51802010-09-15 Ian Lance Taylor <iant@google.com>
5181
5182 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 5183 messages. Remove period at end of warning message.
e44b0a1f 5184
85c0a25c 51852010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5186
5187 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5188 (handle_alias_attribute): ... here.
5189 (handle_ifunc_attribute): New.
5190
5ba33bf4 51912010-09-06 Mark Mitchell <mark@codesourcery.com>
5192
5193 * c-common.h (do_warn_double_promotion): Declare.
5194 * c-common.c (do_warn_double_promotion): Define.
5195
c920faa3 51962010-09-05 Mark Mitchell <mark@codesourcery.com>
5197
5198 * c.opt (Wdouble-promotion): New.
5199
9604e070 52002010-09-02 Joseph Myers <joseph@codesourcery.com>
5201
5202 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5203 fvtable-thunks, fxref): Mark no longer supported in help text.
5204
3b0273a1 52052010-09-02 Joseph Myers <joseph@codesourcery.com>
5206
5207 * c.opt (Wimport, fall-virtual, falt-external-templates,
5208 fdefault-inline, fenum-int-equiv, fexternal-templates,
5209 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5210 fname-mangling-version-, fnew-abi, fnonnull-objects,
5211 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5212 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5213 applicable.
5214 (fhandle-exceptions): Mark with Alias and Warn.
5215 * c-opts.c (c_common_handle_option): Don't handle options marked
5216 as ignored.
5217
67089c6b 52182010-09-02 Joseph Myers <joseph@codesourcery.com>
5219
5220 * c.opt (Wcomments, Werror-implicit-function-declaration,
5221 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5222 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5223 aliases.
5224 * c-common.c (option_codes): Use OPT_Wcomment instead of
5225 OPT_Wcomments.
5226 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5227 Don't handle options marked as aliases.
5228
2af087f2 52292010-08-25 Richard Guenther <rguenther@suse.de>
5230
5231 * c-common.c (c_common_get_alias_set): Remove special
5232 handling for pointers.
5233
48148244 52342010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5235
5236 * c-common.c: Use FOR_EACH_VEC_ELT.
5237 * c-gimplify.c: Likewise.
5238 * c-pragma.c: Likewise.
5239
89c69892 52402010-08-16 Joseph Myers <joseph@codesourcery.com>
5241
5242 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5243 RejectDriver.
5244 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5245 RejectDriver.
5246 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5247 instead of OPT_MDX and OPT_MMDX.
5248
e28aa114 52492010-08-16 Joseph Myers <joseph@codesourcery.com>
5250
5251 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5252
99b66d21 52532010-08-12 Joseph Myers <joseph@codesourcery.com>
5254
5255 * c.opt (MD, MMD): Change to MDX and MMDX.
5256 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5257
666f4bf0 52582010-08-11 Joseph Myers <joseph@codesourcery.com>
5259
5260 * c-opts.c (c_common_handle_option): Call handle_generated_option
5261 instead of handle_option.
5262
5ec815f6 52632010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5264
5265 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5266 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5267
d13143cf 52682010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5269
5270 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5271 (pending_redefine_extname): Change type to a VEC.
5272 (add_to_renaming_pragma_list): Update for new type of
5273 pending_redefine_extname.
5ec815f6 5274 (maybe_apply_renaming_pragma): Likewise.
d13143cf 5275
2008c983 52762010-08-04 Arnaud Charlet <charlet@adacore.com>
5277
5278 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5279 visited.
5280 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5281 decide whether a type has already been declared/seen.
5282 Do not go to the original type.
5283 (dump_nested_types): New parameter forward.
5284 Generate forward declaration if needed and mark type as visited.
5285 (print_ada_declaration): Call dump_nested_types if not already done.
5286 Mark types as visited.
5287
9b091a73 52882010-08-03 Joseph Myers <joseph@codesourcery.com>
5289
5290 * c.opt (-print-pch-checksum): Remove option.
5291 * c-opts.c (c_common_handle_option): Don't handle
5292 OPT_print_pch_checksum.
5293
b78351e5 52942010-07-27 Joseph Myers <joseph@codesourcery.com>
5295
5296 * c-common.h (c_common_handle_option): Update prototype and return
5297 value type.
5298 * c-opts.c (c_common_handle_option): Update prototype and return
5299 value type. Update calls to handle_option and
5300 enable_warning_as_error.
5301
34416a90 53022010-07-27 Jakub Jelinek <jakub@redhat.com>
5303
5304 PR c/45079
5305 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5306
fecf9011 53072010-07-27 Joseph Myers <joseph@codesourcery.com>
5308
5309 * c-common.h (c_common_missing_argument): Remove.
5310 * c-opts.c (c_common_missing_argument): Remove.
5311 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5312 idirafter, imacros, include, isysroot, isystem, iquote): Add
5313 MissingArgError.
5314 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5315
e88d34f6 53162010-07-27 Joseph Myers <joseph@codesourcery.com>
5317
5318 * c-common.h (c_common_option_lang_mask,
5319 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5320 New.
5321 (c_common_init_options): Update prototype.
5322 * c-opts.c (c_common_option_lang_mask): New.
5323 (c_common_initialize_diagnostics): Split out of
5324 c_common_init_options.
5325 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5326 New.
5327 (c_common_init_options): Update prototype. Use decoded options in
5328 search for -lang-asm.
5329
1767a056 53302010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5331
5332 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5333 * c-format.c: Likewise.
5334
0b205f4c 53352010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5336
5337 * c-common.h: Include diagnostic-core.h. Error if already
5338 included.
5339 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5340
1c58e3f1 53412010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5342
1f78217c 5343 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 5344 Do not include expr.h
5345 (vector_mode_valid_p): Move here.
5346
33cc157c 53472010-06-21 DJ Delorie <dj@redhat.com>
5348
5349 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5350 allow these pragmas anywhere.
5351
53522010-06-14 Jakub Jelinek <jakub@redhat.com>
5353
5354 PR bootstrap/44509
5355 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5356 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5357 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5358 ggc_strdup instead of xstrdup.
5359
53602010-06-10 Jakub Jelinek <jakub@redhat.com>
5361
5362 * c-cppbuiltin.c: Include cpp-id-data.h.
5363 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5364 (lazy_hex_fp_value): New function.
5365 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5366
9b40bfbf 53672010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5368
5369 * c-gimplify.c: Do not include tree-flow.h
5370
202d6e5f 53712010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5372
5373 PR other/44034
5374 * c-common.c: Rename targetm member:
5375 targetm.enum_va_list -> targetm.enum_va_list_p
5376
d3237426 53772010-06-28 Anatoly Sokolov <aesok@post.ru>
5378
5379 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5380
596981c8 53812010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5382
5383 * c-cppbuiltin.c: Do not include except.h.
5384
b9bdfa0b 53852010-06-24 Andi Kleen <ak@linux.intel.com>
5386
19931eea 5387 * c-common.c (warn_for_omitted_condop): New.
5388 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 5389
55ad092d 53902010-06-21 Joseph Myers <joseph@codesourcery.com>
5391
5392 * c.opt (lang-objc): Remove.
5393 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5394
9e7c2572 53952010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5396
5397 * c-opts.c: Include "tm_p.h".
5398
615ef0bb 53992010-06-20 Joseph Myers <joseph@codesourcery.com>
5400
5401 * c-common.c (parse_optimize_options): Update call to
5402 decode_options.
5403
aef48c9a 54042010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5405
5406 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5407 new type of types_used_by_cur_var_decl.
5408
d74003b4 54092010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5410
5411 PR bootstrap/44512
5412 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5413 for C++ standard compliance.
5414
1194d077 54152010-06-16 Jason Merrill <jason@redhat.com>
5416
5417 * c.opt: Add -Wnoexcept.
5418
d473d901 54192010-06-16 Richard Guenther <rguenther@suse.de>
5420
5421 PR c/44555
5422 * c-common.c (c_common_truthvalue_conversion): Remove
5423 premature and wrong optimization concering ADDR_EXPRs.
5424
b62dbfd3 54252010-06-15 Arnaud Charlet <charlet@adacore.com>
5426
5427 * c-ada-spec.c (dump_sloc): Remove column info.
5428 (is_simple_enum): New function.
5429 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5430 enum types when relevant.
5431
200dd99c 54322010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5433
19931eea 5434 * c-common.c (conversion_warning): Warn at expression
200dd99c 5435 location.
5436
abf6a617 54372010-06-10 Joseph Myers <joseph@codesourcery.com>
5438
5439 * c-opts.c (c_common_handle_option): Don't handle
5440 OPT_fshow_column.
5441
ba72912a 54422010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5443
5444 * c-pragma.c (push_alignment): Use typed GC allocation.
5445 (handle_pragma_push_options): Likewise.
5446
5447 * c-common.c (parse_optimize_options): Likewise.
5448
5449 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5450 option.
5451
4aafe913 54522010-06-07 Joseph Myers <joseph@codesourcery.com>
5453
5454 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5455 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5456 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5457 flag_signed_bitfields, warn_strict_null_sentinel,
5458 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5459 flag_gen_declaration, flag_no_gnu_keywords,
5460 flag_implement_inlines, flag_implicit_templates,
5461 flag_implicit_inline_templates, flag_optional_diags,
5462 flag_elide_constructors, flag_default_inline, flag_rtti,
5463 flag_conserve_space, flag_access_control, flag_check_new,
5464 flag_new_for_scope, flag_weak, flag_working_directory,
5465 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5466 flag_enforce_eh_specs, flag_threadsafe_statics,
5467 flag_pretty_templates): Remove.
5468 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5469 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5470 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5471 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5472 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5473 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5474 flag_no_gnu_keywords, flag_implement_inlines,
5475 flag_implicit_templates, flag_implicit_inline_templates,
5476 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5477 flag_rtti, flag_conserve_space, flag_access_control,
5478 flag_check_new, flag_new_for_scope, flag_weak,
5479 flag_working_directory, flag_use_cxa_atexit,
5480 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5481 flag_threadsafe_statics, flag_pretty_templates,
5482 warn_strict_null_sentinel): Remove.
5483 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5484 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5485 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5486 fimplicit-inline-templates, fimplicit-templates,
5487 flax-vector-conversions, fms-extensions, fnil-receivers,
5488 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5489 frtti, fshort-double, fshort-enums, fshort-wchar,
5490 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5491 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5492 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5493 gen-decls, undef): Use Var.
5494 (fdefault-inline, foptional-diags): Document as doing nothing.
5495 * c-opts.c (c_common_handle_option): Remove cases for options now
5496 using Var. Mark ignored options as such.
5497
7bedc3a0 54982010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5499
19931eea 5500 * c-common.c: Moved to here from parent directory.
7bedc3a0 5501 * c-common.def: Likewise.
5502 * c-common.h: Likewise.
5503 * c-cppbuiltin.c: Likewise.
5504 * c-dump.c: Likewise.
5505 * c-format.c: Likewise.
5506 * c-format.h : Likewise.
5507 * c-gimplify.c: Likewise.
5508 * c-lex.c: Likewise.
5509 * c-omp.c: Likewise.
5510 * c.opt: Likewise.
5511 * c-opts.c: Likewise.
5512 * c-pch.c: Likewise.
5513 * c-ppoutput.c: Likewise.
5514 * c-pragma.c: Likewise.
5515 * c-pragma.h: Likewise.
5516 * c-pretty-print.c: Likewise.
5517 * c-pretty-print.h: Likewise.
5518 * c-semantics.c: Likewise.
5519 * stub-objc.c: Likewise.
5520
5521 * c-common.c: Include gt-c-family-c-common.h.
5522 * c-pragma.c: Include gt-c-family-c-pragma.h.
5523\f
d353bf18 5524Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 5525
5526Copying and distribution of this file, with or without modification,
5527are permitted in any medium without royalty provided the copyright
5528notice and this notice are preserved.