]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Proposed doc update for Explicit Reg Vars 3/3
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
8523243e 12015-10-20 Marek Polacek <polacek@redhat.com>
2
3 * array-notation-common.c (is_cilkplus_vector_p): Define.
4 * c-common.h (is_cilkplus_vector_p): Declare.
5
08881cb8 62015-10-20 Marek Polacek <polacek@redhat.com>
7
8 * c.opt (std=gnu++11): Do not describe as experimental.
9 (std=gnu++14): Likewise.
10
a36e5e5e 112015-10-19 Jason Merrill <jason@redhat.com>
12
13 * c-cppbuiltin.c (c_cpp_builtins): Define
14 __cpp_nontype_template_args.
15
a349de0a 162015-10-19 Jason Merrill <jason@redhat.com>
17
18 * c-cppbuiltin.c (c_cpp_builtins): Define
19 __cpp_enumerator_attributes, __cpp_fold_expressions,
20 __cpp_unicode_characters.
21
43895be5 222015-10-13 Jakub Jelinek <jakub@redhat.com>
23 Aldy Hernandez <aldyh@redhat.com>
24
25 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
26 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
27 (c_define_builtins): Likewise.
28 * c-common.h (enum c_omp_clause_split): Add
29 C_OMP_CLAUSE_SPLIT_TASKLOOP.
30 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
31 (c_finish_omp_for): Add ORIG_DECLV argument.
32 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
33 201511 instead of 201307.
34 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
35 OMP_CRITICAL_CLAUSES to it.
36 (c_finish_omp_ordered): Add CLAUSES argument, set
37 OMP_ORDERED_CLAUSES to it.
38 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
39 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
40 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
41 constructs and new OpenMP 4.5 clauses. Clear
42 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
43 verification code.
44 * c-pragma.c (omp_pragmas_simd): Add taskloop.
45 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
46 (enum pragma_omp_clause): Add
47 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
48 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
49
20cb53c9 502015-10-05 Richard Sandiford <richard.sandiford@arm.com>
51
52 * c-lex.c (interpret_float): Use real_equal instead of
53 REAL_VALUES_EQUAL.
54
6d02e6b2 552015-10-04 Jason Merrill <jason@redhat.com>
56
57 Implement N4514, C++ Extensions for Transactional Memory.
58 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
59 (c_common_attribute_table): Add transaction_safe_dynamic.
60 transaction_safe now affects type identity.
61 (handle_tm_attribute): Handle transaction_safe_dynamic.
62 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
63 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
64 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
65 (D_TRANSMEM): New.
66 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
67 * c-pretty-print.c (pp_c_attributes_display): Don't print
68 transaction_safe in C++.
69
c0999a5d 702015-10-02 Marek Polacek <polacek@redhat.com>
71
72 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
73
ef17a71a 742015-10-02 Marek Polacek <polacek@redhat.com>
75
76 PR c/64249
77 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
78 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
79 * c.opt (Wduplicated-cond): New option.
80
05b84e7b 812015-10-01 Joseph Myers <joseph@codesourcery.com>
82
83 * c.opt (std=c11): Do not describe as experimental.
84 (std=gnu11): Likewise.
85 (std=iso9899:2011): Likewise.
86
e561d5e1 872015-09-28 Nathan Sidwell <nathan@codesourcery.com>
88
89 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
90 (DEF_FUNCTION_TYPE_VAR_11): Delete.
91
bd4b90d2 922015-09-25 Marek Polacek <polacek@redhat.com>
93
94 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
95 (ubsan_instrument_shift): Likewise.
96
ac13b2b2 972015-09-25 Marek Polacek <polacek@redhat.com>
98
99 PR sanitizer/64906
100 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
101
a3c82f4c 1022015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
103
104 * c-indentation.c (should_warn_for_misleading_indentation):
105 Compare next_stmt_vis_column with guard_line_first_nws instead
106 of with guard_line_vis_column.
107
5eef101d 1082015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
109
110 PR c/49654
111 PR c/49655
112 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
113 options and options not valid for the current language.
114
60897493 1152015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
116
117 * c-indentation.c (should_warn_for_misleading_indentation):
118 Float out and consolidate the calls to get_visual_column that
119 are passed guard_exploc as an argument. Compare
120 next_stmt_vis_column with guard_line_first_nws instead of with
121 body_line_first_nws.
122
85c93154 1232015-09-22 Nathan Sidwell <nathan@codesourcery.com>
124
125 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
126 Wnamespaces): New C++ warnings.
127
229a58b1 1282015-09-22 Jason Merrill <jason@redhat.com>
129
130 * c-common.h (abi_compat_version_crosses): New.
131 (warn_abi_version): Declare.
132 * c-common.c: Define it.
133 * c-opts.c (c_common_post_options): Handle it.
134 flag_abi_compat_version defaults to 8.
135
2d2de569 1362015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
137
138 Complete the implementation of N4230, Nested namespace definition.
139 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
140 __cpp_nested_namespace_definitions.
141
2b897e68 1422015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
143
144 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
145
ed536208 1462015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
147
148 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
149 when warning.
150 * c-pragma.h (pragma_lex): Add optional loc argument.
151
1dc6c44d 1522015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
153
154 * c-format.c (check_format_arg): Adjust to use common block size in all
155 object pools.
156
be812248 1572015-09-15 David Malcolm <dmalcolm@redhat.com>
158
159 * c-format.c (location_from_offset): Update for change in
160 signature of location_get_source_line.
161 * c-indentation.c (get_visual_column): Likewise.
162 (line_contains_hash_if): Likewise.
163
e4cc057f 1642015-09-14 Marek Polacek <polacek@redhat.com>
165
166 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
167 setting various warnings.
168
85f5e2ee 1692015-09-14 Marek Polacek <polacek@redhat.com>
170
171 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
172 a negative value.
173
1bca8cbd 1742015-09-11 Mark Wielaard <mjw@redhat.com>
175
176 PR c/28901
177 * c.opt (Wunused-variable): Option from common.opt.
178 (Wunused-const-variable): New option.
179
ee48893a 1802015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
181
182 PR c++/53184
183 * c.opt ([Wsubobject-linkage]): Add.
184
547c6b1f 1852015-09-03 Martin Sebor <msebor@redhat.com>
186
187 PR c/66516
188 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
189 functions.
190 * c-common.c (reject_gcc_builtin): Define.
191
7e976b10 1922015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
193
194 PR middle-end/60586
195 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
196 prototype.
197 * c-gimplify.c (c_gimplify_expr): Added a call to the function
198 cilk_gimplify_call_params_in_spawned_fn.
199 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
200 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
201 unwrapping.
202
9e6bcade 2032015-08-25 Marek Polacek <polacek@redhat.com>
204
205 PR middle-end/67330
206 * c-common.c (handle_weak_attribute): Don't check whether the
207 visibility can be changed here.
208
af9de21d 2092015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
210
211 * c-lex.c (c_lex_with_flags): Use explicit locations.
212
6dc50383 2132015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
214
215 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
216 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
217
10902624 2182015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
219
220 PR middle-end/36757
221 * c-common.c (check_builtin_function_arguments): Add check
222 for BUILT_IN_SIGNBIT argument.
223
a03a71ab 2242015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
225
226 PR c++/67160
227 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
228 in c++1z mode.
229
22723c26 2302015-08-17 Marek Polacek <polacek@redhat.com>
231
232 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
233 with whitespaces before qualifier names.
234
f4809955 2352015-08-12 Marek Polacek <polacek@redhat.com>
236
237 PR c++/55095
238 * c-common.c (maybe_warn_shift_overflow): Properly handle
239 left-shifting 1 into the sign bit.
240
5463f502 2412015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
242
243 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
244
56c12fd4 2452015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
246 Braden Obrzut <admin@maniacsvault.net>
247 Jason Merrill <jason@redhat.com>
248
249 Add C++ Concepts TS support.
250 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
251 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
252 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
253 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
254 * c-opts.c (set_std_cxx1z): Set flag_concepts.
255 * c.opt (fconcepts): New.
256
17afcef6 2572015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
258
259 * c-indentation.c (should_warn_for_misleading_indentation):
260 Improve heuristics.
261
f95bfdd4 2622015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
263
264 * c-indentation.c (get_visual_column): Add parameter first_nws,
265 use it. Update comment documenting the function.
266 (is_first_nonwhitespace_on_line): Remove.
267 (should_warn_for_misleading_indentation): Replace usage of
268 of is_first_nonwhitespace_on_line with get_visual_column.
269
9255be07 2702015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
271
272 * c-indentation.h (struct token_indent_info): Define.
273 (get_token_indent_info): Define.
274 (warn_for_misleading_information): Declare.
275 * c-common.h (warn_for_misleading_information): Remove.
276 * c-identation.c (warn_for_misleading_indentation):
277 Change declaration to take three token_indent_infos. Adjust
278 accordingly.
279 * c-identation.c (should_warn_for_misleading_indentation):
280 Likewise. Bail out early if the body is a compound statement.
281 (guard_tinfo_to_string): Define.
282
e880695c 2832015-07-30 Jason Merrill <jason@redhat.com>
284
285 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
286 '*' for reference decay.
287
f58dd84b 2882015-07-30 Marek Polacek <polacek@redhat.com>
289
290 * c-common.c (warn_tautological_cmp): Bail for float types.
291
d9e4fe27 2922015-07-27 Marek Polacek <polacek@redhat.com>
293
294 PR bootstrap/67030
295 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
296
6784a472 2972015-07-27 Marek Polacek <polacek@redhat.com>
298
299 PR c++/66555
300 PR c/54979
301 * c-common.c (find_array_ref_with_const_idx_r): New function.
302 (warn_tautological_cmp): New function.
303 * c-common.h (warn_tautological_cmp): Declare.
304 * c.opt (Wtautological-compare): New option.
305
08034975 3062015-07-23 Marek Polacek <polacek@redhat.com>
307
308 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
309 (ubsan_instrument_shift): Likewise.
310
f6f5e49b 3112015-07-23 Marek Polacek <polacek@redhat.com>
312
313 PR sanitizer/66908
314 * c-ubsan.c: Include gimplify.h.
315 (ubsan_instrument_division): Unshare OP0 and OP1.
316 (ubsan_instrument_shift): Likewise.
317
8d669e79 3182015-07-20 Marek Polacek <polacek@redhat.com>
319 Richard Sandiford <richard.sandiford@arm.com>
320
321 PR c++/55095
322 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
323 Use EXPR_LOC_OR_LOC.
324 (maybe_warn_shift_overflow): New function.
325 * c-common.h (maybe_warn_shift_overflow): Declare.
326 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
327 * c.opt (Wshift-overflow): New option.
328
e16712b1 3292015-07-16 Martin Liska <mliska@suse.cz>
330
331 * c-format.c (static void check_format_info_main): Use
332 object_allocator instead of pool_allocator.
333 (check_format_arg): Likewise.
334 (check_format_info_main): Likewise.
335
e51764ad 3362015-07-15 Andrew MacLeod <amacleod@redhat.com>
337
338 * c-opts.c: Remove multiline #include comment.
339
47ae02b7 3402015-07-12 Aldy Hernandez <aldyh@redhat.com>
341
342 * c-common.c: Fix double word typos.
343
ed2b2eb2 3442015-07-10 Eric Botcazou <ebotcazou@adacore.com>
345
346 * c-ada-spec.h (cpp_operation): Revert latest change.
347 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
348 constructors and destructors.
349
1eacc14a 3502015-07-09 Andrew MacLeod <amacleod@redhat.com>
351
352 * c-common.h: Adjust includes for flags.h changes.
353 * stub-objc.c: Likewise.
47ae02b7 354
0124237f 3552015-07-08 Eric Botcazou <ebotcazou@adacore.com>
356
357 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
358 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
359
386ef929 3602015-07-08 Jakub Jelinek <jakub@redhat.com>
361
362 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
363 are to be removed, return NULL rather than original clauses list.
364
9ef16211 3652015-07-07 Andrew MacLeod <amacleod@redhat.com>
366
367 * array-notation-common.c: Adjust includes.
368 * c-ada-spec.c: Likewise.
369 * c-cilkplus.c: Likewise.
370 * c-common.h: Likewise.
371 * c-cppbuiltin.c: Likewise.
372 * c-dump.c: Likewise.
373 * c-format.c: Likewise.
374 * c-gimplify.c: Likewise.
375 * c-indentation.c: Likewise.
376 * c-lex.c: Likewise.
377 * c-omp.c: Likewise.
378 * c-opts.c: Likewise.
379 * c-pch.c: Likewise.
380 * c-ppoutput.c: Likewise.
381 * c-pragma.c: Likewise.
382 * c-pretty-print.c: Likewise.
383 * c-semantics.c: Likewise.
384 * c-ubsan.c: Likewise.
385 * cilk.c: Likewise.
386 * stub-objc.c: Likewise.
387
67ede3e4 3882015-07-07 Eric Botcazou <ebotcazou@adacore.com>
389
390 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
391 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
392
42af8c2a 3932015-07-01 Jason Merrill <jason@redhat.com>
394
fa769cc5 395 * c-common.h (D_CXX11): Rename from D_CXX0X.
396 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
397 * c-common.c: Adjust.
398
97e9c847 399 * c-opts.c (c_common_post_options): Default to C++14.
400
42af8c2a 401 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
402
30b1ba42 4032015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
404
405 Implement N4197 - Adding u8 character literals
95858835 406 * c-family/c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
407 CPP_CHAR.
408 * c-family/c-common.c (c_parse_error): Print CPP_UTF8CHAR and
409 CPP_UTF8CHAR_USERDEF tokens.
410 * c-family/c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
411 and CPP_UTF8CHAR tokens.
412 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 413
0949f227 4142015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
415
416 PR fortran/66605
417 * c-common.c (do_warn_unused_parameter): Move here.
418 * c-common.h (do_warn_unused_parameter): Declare.
419
be23b16f 4202015-06-29 Marek Polacek <polacek@redhat.com>
421
422 PR c/66322
423 * c-common.c (check_case_bounds): Add bool * parameter. Set
424 OUTSIDE_RANGE_P.
425 (c_add_case_label): Add bool * parameter. Pass it down to
426 check_case_bounds.
427 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
428 warning here.
429 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
430 declarations.
431
6290f0db 4322015-06-27 Marek Polacek <polacek@redhat.com>
433
434 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
435 or VECTOR_INTEGER_TYPE_P throughout.
436 * c-gimplify.c: Likewise.
437
aa3e402e 4382015-06-26 Marek Polacek <polacek@redhat.com>
439
440 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
441 * c-common.c (c_fully_fold_internal): Likewise.
442 (c_alignof_expr): Likewise.
443 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
444 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
445 * cilk.c (create_parm_list): Likewise.
446
4e81b384 4472015-06-26 Marek Polacek <polacek@redhat.com>
448
449 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
450
ec2e0095 4512015-06-25 Andrew MacLeod <amacleod@redhat.com>
452
453 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
454 * c-gimplify.c: Likewise.
455 * c-pragma.c: Likewise.
456 * c-ubsan.c: Likewise.
457 * cilk.c: Likewise.
458
b594087e 4592015-06-25 Richard Sandiford <richard.sandiford@arm.com>
460
461 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
462 ggc_hasher.
463
a3c76fda 4642015-06-25 Andrew MacLeod <amacleod@redhat.com>
465
466 * cilk.c: Move calls.h after tm.h in the include chain.
467
f48c7f4a 4682015-06-25 Marek Polacek <polacek@redhat.com>
469
470 * array-notation-common.c: Use VAR_P throughout.
471 * c-ada-spec.c: Likewise.
472 * c-common.c: Likewise.
473 * c-format.c: Likewise.
474 * c-gimplify.c: Likewise.
475 * c-omp.c: Likewise.
476 * c-pragma.c: Likewise.
477 * c-pretty-print.c: Likewise.
478 * cilk.c: Likewise.
479
ce41e81a 4802015-06-25 Marek Polacek <polacek@redhat.com>
481
482 * cilk.c (extract_free_variables): Use is_global_var.
483
de231ec2 4842015-06-23 Richard Sandiford <richard.sandiford@arm.com>
485
486 * c-common.c: Don't include target-def.h.
487
0200602e 4882015-06-23 Marek Polacek <polacek@redhat.com>
489
490 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
491 when comparing INTEGER_CSTs.
492
99838ed7 4932015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
494
495 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
496 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
497 (dump_ada_template): Skip partially specialized types.
498
a4f59596 4992015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
500
501 * c-common.c (scalar_to_vector): Use std::swap instead of manually
502 swapping.
503
f2ab3bac 5042015-06-17 Andrew MacLeod <amacleod@redhat.com>
505
506 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
507 * c-ada-spec.c: Likewise.
508 * c-cilkplus.c: Likewise.
509 * c-common.c: Likewise.
510 * c-common.h: Likewise.
511 * c-cppbuiltin.c: Likewise.
512 * c-dump.c: Likewise.
513 * c-format.c: Likewise.
514 * c-gimplify.c: Likewise.
515 * c-indentation.c: Likewise.
516 * c-lex.c: Likewise.
517 * c-omp.c: Likewise.
518 * c-opts.c: Likewise.
519 * c-pch.c: Likewise.
520 * c-ppoutput.c: Likewise.
521 * c-pragma.c: Likewise.
522 * c-pretty-print.c: Likewise.
523 * c-semantics.c: Likewise.
524 * c-ubsan.c: Likewise.
525 * cilk.c: Likewise.
526 * stub-objc.c: Likewise.
527
db3d1ffc 5282015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
529
530 PR c++/65168
531 * c-common.c (c_common_truthvalue_conversion): Warn when
532 converting an address of a reference to a truth value.
533
64486212 5342015-06-08 Andrew MacLeod <amacleod@redhat.com>
535
536 * array-notation-common.c : Adjust include files.
537 * c-ada-spec.c : Likewise.
538 * c-cilkplus.c : Likewise.
539 * c-common.c : Likewise.
540 * c-common.h : Likewise.
541 * c-cppbuiltin.c : Likewise.
542 * c-dump.c : Likewise.
543 * c-format.c : Likewise.
544 * c-gimplify.c : Likewise.
545 * c-indentation.c : Likewise.
546 * c-lex.c : Likewise.
547 * c-omp.c : Likewise.
548 * c-opts.c : Likewise.
549 * c-pch.c : Likewise.
550 * c-ppoutput.c : Likewise.
551 * c-pragma.c : Likewise.
552 * c-pretty-print.c : Likewise.
553 * c-semantics.c : Likewise.
554 * c-ubsan.c : Likewise.
555 * cilk.c : Likewise.
556 * stub-objc.c : Likewise.
557
6e84ccad 5582015-06-08 Marek Polacek <polacek@redhat.com>
559
560 PR c/66415
561 * c-format.c (location_from_offset): Return LOC if LINE is null.
562
3a1c9df2 5632015-06-05 Aldy Hernandez <aldyh@redhat.com>
564
565 * c-common.h (c_parse_final_cleanups): New prototype.
566 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
567
f77c0292 5682015-06-04 Andrew MacLeod <amacleod@redhat.com>
569
570 * array-notation-common.c: Adjust includes for restructured coretypes.h.
571 * c-ada-spec.c: Likewise.
572 * c-cilkplus.c: Likewise.
573 * c-common.c: Likewise.
574 * c-common.h: Likewise.
575 * c-cppbuiltin.c: Likewise.
576 * c-dump.c: Likewise.
577 * c-format.c: Likewise.
578 * c-gimplify.c: Likewise.
579 * c-indentation.c: Likewise.
580 * c-lex.c: Likewise.
581 * c-omp.c: Likewise.
582 * c-opts.c: Likewise.
583 * c-pch.c: Likewise.
584 * c-ppoutput.c: Likewise.
585 * c-pragma.c: Likewise.
586 * c-pretty-print.c: Likewise.
587 * c-semantics.c: Likewise.
588 * c-ubsan.c: Likewise.
589 * cilk.c: Likewise.
590 * stub-objc.c: Likewise.
591
7c62dfbb 5922015-06-02 David Malcolm <dmalcolm@redhat.com>
593
594 PR c/66220:
595 * c-indentation.c (should_warn_for_misleading_indentation): Use
596 expand_location rather than expand_location_to_spelling_point.
597 Don't warn if the guarding statement is more indented than the
598 next/body stmts.
599
9af7c176 6002015-06-02 David Malcolm <dmalcolm@redhat.com>
601
602 * c-indentation.c (warn_for_misleading_indentation): Bail out
603 immediately if -Wmisleading-indentation isn't enabled.
604
eebcf436 6052015-06-01 Martin Liska <mliska@suse.cz>
606
607 * c-format.c (check_format_arg):Use new type-based pool allocator.
608 (check_format_info_main) Likewise.
609
b0a23e2f 6102015-05-31 Eric Botcazou <ebotcazou@adacore.com>
611
612 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
613 (has_nontrivial_methods): Likewise.
614
63dc1330 6152015-05-25 Marek Polacek <polacek@redhat.com>
616
617 * c-ubsan.c (ubsan_instrument_shift): Use type0.
618
5a4c69dd 6192015-05-22 Marek Polacek <polacek@redhat.com>
620
621 PR c/47043
622 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
623
044580bb 6242015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 625
626 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
627 STACK_GROWS_DOWNWARD.
628
044580bb 6292015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 630
631 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
632 STACK_GROWS_DOWNWARD rather than if it is defined.
633
d5a2ddc7 6342015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
635
636 PR c/52952
637 * c-format.c (location_column_from_byte_offset): New.
638 (location_from_offset): New.
639 (struct format_wanted_type): Add offset_loc field.
640 (check_format_info): Move handling of location for extra arguments
641 closer to the point of warning.
642 (check_format_info_main): Pass the result of location_from_offset
643 to warning_at.
644 (format_type_warning): Pass the result of location_from_offset
645 to warning_at.
646
72f8014e 6472015-05-20 Marek Polacek <polacek@redhat.com>
648
649 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
650
74efe522 6512015-05-20 Marek Polacek <polacek@redhat.com>
652
653 * c-ada-spec.c (dump_sloc): Use DECL_P.
654
b443c459 6552015-05-20 Marek Polacek <polacek@redhat.com>
656
657 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
658 * c-common.c: Likewise.
659
551e34da 6602015-05-19 David Malcolm <dmalcolm@redhat.com>
661
662 * c-common.h (fe_file_change): Strengthen param from
663 const line_map * to const line_map_ordinary *.
664 (pp_file_change): Likewise.
665 * c-lex.c (fe_file_change): Likewise.
666 (cb_define): Use linemap_check_ordinary when invoking
667 SOURCE_LINE.
668 (cb_undef): Likewise.
669 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
670 invoking cb_file_change.
671 (c_finish_options): Likewise.
672 (push_command_line_include): Likewise.
673 (cb_file_change): Strengthen param "new_map" from
674 const line_map * to const line_map_ordinary *.
675 * c-ppoutput.c (cb_define): Likewise for local "map".
676 (pp_file_change): Likewise for param "map" and local "from".
677
dfcf26a5 6782015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
679
680 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
681
2e474820 6822015-05-18 Tom de Vries <tom@codesourcery.com>
683
684 * c-common.c (build_va_arg_1): New function.
685 (build_va_arg): Add address operator to va_list operand if necessary.
686
e53013a8 6872015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
688
689 PR c/48956
690 * c-common.c (int_safely_convertible_to_real_p): Define.
691 (unsafe_conversion_p): Check conversions involving complex types.
692 (conversion_warning): Add new warning message for conversions which
693 discard imaginary component.
694 * c-common.h: (enum conversion_safety): Add new enumerator for such
695 conversions.
696
aac24642 6972015-05-14 Marek Polacek <polacek@redhat.com>
698
699 PR c/66066
700 PR c/66127
701 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
702 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
703 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
704 use it. If FOR_INT_CONST, require that all evaluated operands be
705 INTEGER_CSTs.
706
e5f01cba 7072015-05-12 David Malcolm <dmalcolm@redhat.com>
708
709 * c-common.h (warn_for_misleading_indentation): New prototype.
710 * c-indentation.c: New file.
711 * c.opt (Wmisleading-indentation): New option.
712
c37be9ec 7132015-05-12 Tom de Vries <tom@codesourcery.com>
714
715 PR tree-optimization/66010
716 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
717
7290114b 7182015-05-09 Jason Merrill <jason@redhat.com>
719
3c665566 720 * c-opts.c (c_common_post_options): Also clear
721 cpp_opts->cpp_warn_cxx11_compat.
722
d875b9d2 723 * c-common.h (enum cxx_dialect): Add cxx_unset.
724 * c-common.c (cxx_dialect): Initialize to cxx_unset.
725 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
726
7290114b 727 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
728 (std=gnu++0x): Mark as Undocumented.
729 (std=gnu++1y): Add deprecated message.
730
1b03cc89 7312015-05-08 Jason Merrill <jason@redhat.com>
732
1c5f7aba 733 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
734 * c-opts.c: Adjust.
735
1b03cc89 736 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
737
dc5945dc 7382015-05-08 Marek Polacek <polacek@redhat.com>
739
740 PR c/64918
741 * c.opt (Woverride-init-side-effects): New option.
742
cdc64059 7432015-05-07 Marek Polacek <polacek@redhat.com>
744
745 PR c/65179
746 * c-common.c (c_fully_fold_internal): Warn when left shifting a
747 negative value.
748 * c.opt (Wshift-negative-value): New option.
749 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
750 when -Wextra and C99/C++11 mode.
751
8cafe283 7522015-05-07 Marek Polacek <polacek@redhat.com>
753 Martin Uecker <uecker@eecs.berkeley.edu>
754
755 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
756 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
757
cb40a6f7 7582015-05-05 Jason Merrill <jason@redhat.com>
759
760 * c.opt (Wterminate): New.
761
14744a16 7622015-04-30 Marek Polacek <polacek@redhat.com>
763
764 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
765 require that the non-constant be of a boolean type.
766
9866562d 7672015-04-29 Josh Triplett <josh@joshtriplett.org>
768
8cafe283 769 * c-common.c (handle_section_attribute): Refactor to reduce
770 nesting and distinguish between error cases.
9866562d 771
a720ab1c 7722015-04-29 Marek Polacek <polacek@redhat.com>
773
774 PR c/64610
775 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
776 with 0/1.
777
8c072e52 7782015-04-29 Jakub Jelinek <jakub@redhat.com>
779
780 * c-common.h (omp_clause_mask): Unconditionally define as a class.
781 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
782 HOST_BITS_PER_WIDE_INT.
783
f7fec1c7 7842015-04-28 Tom de Vries <tom@codesourcery.com>
785
786 PR tree-optimization/65887
787 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
788
483b3d26 7892015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 790 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 791
792 * c-ada-spec.c (in_function): Delete.
793 (dump_generic_ada_node): Do not change in_function and remove the
794 redundant code dealing with it.
795 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
796 (print_ada_methods): Output the static member functions in a nested
797 package after the regular methods as well as associated renamings.
798
f11bdffb 7992015-04-24 Marek Polacek <polacek@redhat.com>
800
801 PR c/65830
802 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
803 and OPT_Wshift_count_overflow.
804
485f6b9c 805 PR c/63357
806 * c-common.c (warn_logical_operator): Warn if the operands have the
807 same expressions.
808
439606a9 8092015-04-24 Marek Polacek <polacek@redhat.com>
810
811 PR c/61534
812 * c-common.c (warn_logical_operator): Bail if either operand comes
813 from a macro expansion.
814
de801c28 8152015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
816
817 PR target/55143
818 * c-common.c (c_default_pointer_mode): Add definition.
819 * c-common.h (c_default_pointer_mode): Add declaration.
820
76738f56 8212015-03-11 Jakub Jelinek <jakub@redhat.com>
822
823 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
824 on record_builtin_type argument.
825
16f958b3 8262015-03-10 Jakub Jelinek <jakub@redhat.com>
827
828 PR c/65120
829 * c-common.c (warn_logical_not_parentheses): Don't warn for
830 !x == 0 or !x != 0.
831
9b22f73f 8322015-03-07 Marek Polacek <polacek@redhat.com>
833
834 PR sanitizer/65280
835 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
836 before trying to figure out whether we have a flexible array member.
837
a864b7d4 8382015-03-06 Eric Botcazou <ebotcazou@adacore.com>
839 Jonathan Wakely <jwakely.gcc@gmail.com>
840
841 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
842
9bf8c90b 8432015-03-05 Eric Botcazou <ebotcazou@adacore.com>
844
845 PR ada/65319
846 * c-ada-spec.c (print_destructor): Remove obsolete code.
847
037ac54f 8482015-03-01 Eric Botcazou <ebotcazou@adacore.com>
849
850 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
851 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
852 DECL_TEMPLATE_RESULT emulations.
853 (dump_ada_template)): Add guard for TYPE_METHODS.
854
495cbfb8 8552015-02-27 Marek Polacek <polacek@redhat.com>
856
857 PR c/65040
858 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
859
688a864e 8602015-02-27 Kai Tietz <ktietz@redhat.com>
861
862 PR c/35330
863 * c-pragma.c (handle_pragma_weak): Do not try to create
864 weak/alias of declarations not being function, or variable
865 declarations.
866
6349b8cc 8672015-02-24 Thomas Schwinge <thomas@codesourcery.com>
868
869 PR libgomp/64625
870 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
871 Remove macros.
872 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
873
3afd5369 8742015-02-16 Marek Polacek <polacek@redhat.com>
875
876 PR c/65066
877 * c-format.c (check_format_types): Handle null param.
878
46173d1b 8792015-02-13 Marek Polacek <polacek@redhat.com>
880
881 PR c/65040
882 * c-format.c (check_format_types): Don't warn about different
883 signedness if the original value is in the range of WANTED_TYPE.
884
1d524ff7 8852015-02-12 Jason Merrill <jason@redhat.com>
886
887 PR c++/64956
888 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
889 to the current highest version.
890 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
891
bbf8fbec 8922015-02-04 Jakub Jelinek <jakub@redhat.com>
893
894 PR c/64824
895 PR c/64868
896 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
897 instead of RDIV_EXPR. Use build_binary_op instead of
898 build2_loc.
899
c05be867 9002015-01-30 Joseph Myers <joseph@codesourcery.com>
901
902 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
903 to pass input_location as first argument.
904
85977647 9052015-01-23 Tom de Vries <tom@codesourcery.com>
906
907 PR libgomp/64672
908 * c.opt (fopenacc): Mark as LTO option.
909
fa175926 9102015-01-23 Tom de Vries <tom@codesourcery.com>
911
912 PR libgomp/64707
913 * c.opt (fopenmp): Mark as LTO option.
914
20aad5ba 9152015-01-21 Jakub Jelinek <jakub@redhat.com>
916
917 PR c/63307
918 * cilk.c (fill_decls_vec): Only put decls into vector v.
919 (compare_decls): Fix up formatting.
920
9212015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
922
923 PR c/63307
924 * cilk.c: Include vec.h.
925 (struct cilk_decls): New structure.
926 (wrapper_parm_cb): Split this function to...
927 (fill_decls_vec): ...this...
928 (create_parm_list): ...and this.
929 (compare_decls): New function.
930 (for_local_cb): Remove.
931 (wrapper_local_cb): Ditto.
932 (build_wrapper_type): For now first traverse and fill vector of
933 declarations then sort it and then deal with sorted vector.
934 (cilk_outline): Ditto.
935 (declare_one_free_variable): Ditto.
936
60b77e28 9372015-01-21 Jason Merrill <jason@redhat.com>
938
939 PR c++/64629
940 * c-format.c (check_format_arg): Call decl_constant_value.
941
85fbea97 9422015-01-19 Martin Liska <mliska@suse.cz>
943
944 * c-common.c (handle_noicf_attribute): New function.
945
ca4c3545 9462015-01-15 Thomas Schwinge <thomas@codesourcery.com>
947 Bernd Schmidt <bernds@codesourcery.com>
948 James Norris <jnorris@codesourcery.com>
949 Cesar Philippidis <cesar@codesourcery.com>
950 Ilmir Usmanov <i.usmanov@samsung.com>
951 Jakub Jelinek <jakub@redhat.com>
952
953 * c.opt (fopenacc): New option.
954 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
955 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
956 New macros.
957 * c-common.h (c_finish_oacc_wait): New prototype.
958 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
959 (c_finish_oacc_wait): New function.
960 * c-pragma.c (oacc_pragmas): New variable.
961 (c_pp_lookup_pragma, init_pragma): Handle it.
962 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
963 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
964 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
965 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
966 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
967 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
968 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
969 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
970 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
971 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
972 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
973 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
974 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
975 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
976 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
977 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
978 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
979 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
980 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
981 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
982 PRAGMA_OACC_CLAUSE_WORKER.
983
947aa916 9842015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
985
986 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
987 for the new option fstack-protector_explicit.
988 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
989 (handle_stack_protect_attribute): New function.
990
e4fd7af1 9912015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
992
993 * c.opt: New option -Warray-bounds=.
994
1f78217c 9952015-01-09 Michael Collison <michael.collison@linaro.org>
996
997 * array-notation-common.c: Include hash-set.h, machmode.h,
998 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
999 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1000 * c-ada-spec.c: Ditto.
1001 * c-cilkplus.c: Ditto.
1002 * c-common.c: Include input.h due to flattening of tree.h.
1003 Define macro GCC_C_COMMON_C.
1004 * c-common.h: Flatten tree.h header files into c-common.h.
1005 Remove include of tree-core.h.
1006 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1007 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1008 fold-const.h, wide-int.h, and inchash.h due to
1009 flattening of tree.h.
1010 * c-dump.c: Ditto.
1011 * c-format.c: Flatten tree.h header files into c-common.h.
1012 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1013 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1014 fold-const.h, wide-int.h, and inchash.h due to
1015 flattening of tree.h.
1016 * c-dump.c: Include hash-set.h, machmode.h,
1017 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1018 fold-const.h, wide-int.h, and inchash.h due to
1019 flattening of tree.h.
1020 * c-format.c: Include hash-set.h, machmode.h,
1021 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1022 fold-const.h, wide-int.h, inchash.h and real.h due to
1023 flattening of tree.h.
1024 * c-gimplify.c: Include hash-set.h, machmode.h,
1025 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1026 fold-const.h, wide-int.h, and inchash.h due to
1027 flattening of tree.h.
1028 * cilk.c: Ditto.
1029 * c-lex.c: Ditto.
1030 * c-omp.c: Ditto.
1031 * c-opts.c: Ditto.
1032 * c-pch.c: Ditto.
1033 * c-ppoutput.c: Ditto.
1034 * c-pragma.c: Ditto.
1035 * c-pretty-print.c: Ditto.
1036 * c-semantics.c: Ditto.
1037 * c-ubsan.c: Ditto.
1038 * stub-objc.c: Ditto.
1039
411b7663 10402015-01-08 Jason Merrill <jason@redhat.com>
1041
1042 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1043 do_ubsan_in_current_function.
1044 (ubsan_maybe_instrument_reference_or_call): Likewise.
1045 * c-ubsan.h: Declare it.
1046
d1e96383 10472015-01-08 Mike Stump <mikestump@comcast.net>
1048
1049 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1050
b57910fa 10512015-01-07 Marek Polacek <polacek@redhat.com>
1052
1053 PR c/64440
1054 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1055 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1056
678a4e3e 10572015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1058
1059 PR c++/31397
1060 * c.opt (Wsuggest-override): New option.
1061
d353bf18 10622015-01-05 Jakub Jelinek <jakub@redhat.com>
1063
1064 Update copyright years.
1065
92b63884 10662015-01-05 Marek Polacek <polacek@redhat.com>
1067
1068 PR c/64423
1069 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1070 parameter. Use it.
1071 * c-common.h (warn_array_subscript_with_type_char): Update
1072 declaration.
1073
83715bc4 10742014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1075
1076 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1077 Control macro with flag_sized_deallocation.
1078
8a8211df 10792014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1080
1081 * c.opt (Wdiscarded-array-qualifiers): New option.
1082
33058239 10832014-12-19 Jakub Jelinek <jakub@redhat.com>
1084
1085 PR preprocessor/63831
1086 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1087 and __has_cpp_attribute here.
1088 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1089 c_common_has_attribute.
1090 * c-common.h (c_common_has_attribute): New prototype.
1091 * c-lex.c (init_c_lex): Set cb->has_attribute to
1092 c_common_has_attribute instead of cb_has_attribute.
1093 (get_token_no_padding): New function.
1094 (cb_has_attribute): Renamed to ...
1095 (c_common_has_attribute): ... this. No longer static. Use
1096 get_token_no_padding, require ()s, don't build TREE_LIST
1097 unnecessarily, fix up formatting, adjust diagnostics, call
1098 init_attributes.
1099
d1856d2c 11002014-12-15 Jason Merrill <jason@redhat.com>
1101
1102 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1103 (-Wsized-deallocation): New.
1104 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1105 to on in C++14 and up.
1106
4972ed5d 11072014-12-11 Jason Merrill <jason@redhat.com>
1108
7d7fa964 1109 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1110
4972ed5d 1111 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1112 we aren't complaining about VLAs.
1113
5ebccf71 11142014-12-06 Marek Polacek <polacek@redhat.com>
1115
1116 PR tree-optimization/64183
1117 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1118 shift-expression if it is integer_type_node. Use types_compatible_p.
1119
f9e245b2 11202014-11-29 Jakub Jelinek <jakub@redhat.com>
1121
1122 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1123 last argument from create_tmp_var_raw and create_tmp_var calls.
1124 * cilk.c (gimplify_cilk_spawn): Likewise.
1125 * c-omp.c (c_finish_omp_atomic): Likewise.
1126
d2f60593 11272014-11-28 Marek Polacek <polacek@redhat.com>
1128
1129 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1130 instead of unsigned_type_node.
1131
fce2dbd1 11322014-11-28 Marek Polacek <polacek@redhat.com>
1133
1134 PR c/63862
1135 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1136 to op1_utype.
1137 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1138 expression to unsigned_type_node.
1139
3a4a2292 11402014-11-20 Mark Wielaard <mjw@redhat.com>
1141
1142 PR debug/38757
1143 * c-opts.c (set_std_c89): Set lang_hooks.name.
1144 (set_std_c99): Likewise.
1145 (set_std_c11): Likewise.
1146 (set_std_cxx98): Likewise.
1147 (set_std_cxx11): Likewise.
1148 (set_std_cxx14): Likewise.
1149 (set_std_cxx1z): Likewise.
1150
c61ef207 11512014-11-21 Jakub Jelinek <jakub@redhat.com>
1152
1153 PR target/63764
1154 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1155 return type to bool.
c9ed79de 1156 * c-common.c: Include gimple-expr.h.
c61ef207 1157 (convert_vector_to_pointer_for_subscript): Change return type to
1158 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1159 and copy it into a TARGET_EXPR and use that instead of *vecp
1160 directly.
1161
1a91d914 11622014-11-19 David Malcolm <dmalcolm@redhat.com>
1163
1164 Merger of git branch "gimple-classes-v2-option-3".
1165 * ChangeLog.gimple-classes: New.
1166 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1167 from being just a vec<gimple> to a vec<gbind *>.
1168
f8fc8b8e 11692014-11-18 Jakub Jelinek <jakub@redhat.com>
1170
1171 PR sanitizer/63813
1172 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1173 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1174 get_pointer_alignment for non-pointers. Use ptype, or if it is
1175 reference type, corresponding pointer type, as type of kind
1176 argument.
1177 (ubsan_maybe_instrument_reference,
1178 ubsan_maybe_instrument_member_call): Adjust callers.
1179
8315e35e 11802014-11-15 Marek Polacek <polacek@redhat.com>
1181
1182 PR middle-end/63884
1183 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1184 for NULL fndecl.
1185 (extract_array_notation_exprs): Return for NULL node.
1186
86b9f14b 11872014-11-12 Joseph Myers <joseph@codesourcery.com>
1188
1189 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1190 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1191
0c93c8a9 11922014-11-12 Jakub Jelinek <jakub@redhat.com>
1193
1194 PR c/59708
1195 * c-common.c (check_builtin_function_arguments): Handle
1196 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1197
fdd735a7 11982014-11-10 Andi Kleen <ak@linux.intel.com>
1199
1200 PR c/60804
1201 * c-common.h (check_no_cilk): Declare.
1202 * cilk.c (get_error_location): New function.
1203 (check_no_cilk): Dito.
1204
5cb678b4 12052014-11-10 Andi Kleen <ak@linux.intel.com>
1206
1207 * cilk.c (recognize_spawn): Use expression location
1208 for error message.
1209
0feb4de1 12102014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1211
1212 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1213
3aa2fa44 12142014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1215
1216 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1217 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1218 (__cpp_range_based_for, __cpp_initializer_lists,
1219 __cpp_delegating_constructors, __cpp_nsdmi,
1220 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1221 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1222 __has_cpp_attribute.
1223 * c-lex.c (cb_has_attribute): New callback CPP function;
1224 (init_c_lex): Set has_attribute callback.
1225
7fd22aae 12262014-11-04 Richard Biener <rguenther@suse.de>
1227
1228 * c-common.c (shorten_compare): Do not shorten mixed
1229 DFP and non-DFP compares.
1230
4af203ac 12312014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1232
1233 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1234 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1235 Commentary and rearrangement of tests.
1236 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1237 Commentary and rearrangement of tests.
1238 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1239 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1240
3754d046 12412014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1242
1243 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1244 enum from machine_mode.
1245
1140c305 12462014-10-28 Andrew MacLeod <amacleod@redhat.com>
1247
1f78217c 1248 * c-common.c: Adjust include files.
1249 * c-gimplify.c: Ditto.
1250 * cilk.c: Ditto.
1251 * c-pragma.c: Ditto.
1252 * c-ubsan.c: Ditto.
1140c305 1253
94ea8568 12542014-10-27 Andrew MacLeod <amacleod@redhat.com>
1255
1256 * c-gimplify.c: Adjust include files.
1257
32ecf960 12582014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1259
1260 PR c++/53061
1261 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1262 c_common_initialize_diagnostics.
1263 * c-common.h: Likewise.
1264
85fecbe2 12652014-10-24 Marek Polacek <polacek@redhat.com>
1266
1267 PR c/56980
1268 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1269 print "struct"/"union"/"enum" for typedefed names.
1270
e7ec033a 12712014-10-23 Marek Polacek <polacek@redhat.com>
1272
1273 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1274 in unsigned type.
1275
c2598081 12762014-10-22 Jakub Jelinek <jakub@redhat.com>
1277 Yury Gribov <y.gribov@samsung.com>
1278
1279 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1280 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1281 instead of flag_sanitize_recover as bool flag.
1282
acebb7e2 12832014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1284
1285 * cilk.c: Revert previous change.
1286
6115016c 12872014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1288
1289 PR c/63307
1290 * cilk.c: Include vec.h.
1291 (struct cilk_decls): New structure.
1292 (wrapper_parm_cb): Split this function to...
1293 (fill_decls_vec): ...this...
1294 (create_parm_list): ...and this.
1295 (compare_decls): New function.
1296 (for_local_cb): Remove.
1297 (wrapper_local_cb): Ditto.
1298 (build_wrapper_type): For now first traverse and fill vector of
1299 declarations then sort it and then deal with sorted vector.
1300 (cilk_outline): Ditto.
1301 (declare_one_free_variable): Ditto.
1302
e610d2b2 13032014-10-17 Marek Polacek <polacek@redhat.com>
1304
1305 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1306 * c.opt (Wimplicit-int): Initialize to -1.
1307
a3020f2f 13082014-10-16 Andrew MacLeod <amacleod@redhat.com>
1309
1310 * c-pragma.c: Adjust include files.
1311 * c-semantics.c: Likewise.
1312
926ddd2c 13132014-10-16 DJ Delorie <dj@redhat.com>
1314
1315 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1316 multiples of bytes.
1317
b0542e7c 13182014-10-14 Jason Merrill <jason@redhat.com>
1319
1320 PR c++/63455
1321 * c-common.h (CPP_PREPARSED_EXPR): New.
1322 (N_CP_TTYPES): Adjust.
1323
b2601928 13242014-10-15 Marek Polacek <polacek@redhat.com>
1325
1326 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1327
9f75f026 13282014-10-14 DJ Delorie <dj@redhat.com>
1329
1330 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1331 types, not just __int128.
1332 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1333 types, not just __int128.
1334 (cpp_atomic_builtins): Round pointer sizes up.
1335 (type_suffix): Use type precision, not specific types.
1336 * c-common.c (c_common_reswords): Remove __int128 special case.
1337 (c_common_type_for_size): Check for all __intN types, not just
1338 __int128.
1339 (c_common_type_for_mode): Likewise.
1340 (c_common_signed_or_unsigned_type): Likewise.
1341 (c_build_bitfield_integer_type): Likewise.
1342 (c_common_nodes_and_builtins): Likewise.
1343 (keyword_begins_type_specifier): Likewise.
1344 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1345 __intN variants.
1346
2ef51f0e 13472014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1348
1349 * c-common.c: Use hash_table instead of hashtab.
1350
5b8257e3 13512014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1352
1f78217c 1353 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 1354 C++11 section.
1355
5e84569c 13562014-10-03 Marc Glisse <marc.glisse@inria.fr>
1357
1358 PR c++/54427
1359 PR c++/57198
1360 PR c++/58845
1361 * c-common.c (warn_logical_operator): Punt for vectors.
1362
f6751ff2 13632014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1364
1365 Implement SD-6: SG10 Feature Test Recommendations
1366 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1367 macros and the __has_header macro.
1368
c33e051d 13692014-09-30 Jason Merrill <jason@redhat.com>
1370
f76a9aa8 1371 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1372 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1373 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1374
717e52f9 1375 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1376 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1377
c33e051d 1378 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1379 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1380
5213d6c9 13812014-09-24 Marek Polacek <polacek@redhat.com>
1382
1383 PR c/61405
1384 PR c/53874
1385 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1386
6b722052 13872014-09-23 Andi Kleen <ak@linux.intel.com>
1388
1389 * c-common.c (handle_no_reorder_attribute): New function.
1390 (c_common_attribute_table): Add no_reorder attribute.
1391
0cb69d12 13922014-09-22 Joseph Myers <joseph@codesourcery.com>
1393
1394 * c-cppbuiltin.c (c_cpp_builtins): Define
1395 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1396 modes.
1397
168dfbf0 13982014-09-18 Joseph Myers <joseph@codesourcery.com>
1399
1400 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1401 for supported floating-point modes.
1402
b83705f4 14032014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1404
1405 * c.opt (Wpsabi): Use LangEnabledBy.
1406 * c-opts.c (c_common_handle_option): Do not handle here.
1407
d5957f0d 14082014-09-12 Joseph Myers <joseph@codesourcery.com>
1409
1410 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1411 macros for floating-point modes.
1412
bae6edff 14132014-09-11 Marc Glisse <marc.glisse@inria.fr>
1414
1415 PR target/58757
1416 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1417 __*_DENORM_MIN__ without denormals.
1418
73a69d02 14192014-09-10 Jakub Jelinek <jakub@redhat.com>
1420
1421 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1422 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1423 ubsan_create_data callers.
1424 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1425 index is constant or BIT_AND_EXPR with constant mask and is
1426 small enough for the bound.
1427 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1428 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1429
7ff8db31 14302014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1431
1432 * c.opt: Add CppReason to various flags.
1433 (Wdate-time): Re-sort.
1434 * c-common.c: Include c-common.h earlier.
1435 (struct reason_option_codes_t): Delete.
1436 (c_option_controlling_cpp_error): Prefix global type and struct
1437 with cpp_.
1438
bcc1f37e 14392014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1440
1441 * c.opt (Wnormalized): New.
1442 (Wnormalized=): Use Enum and Reject Negative.
1443 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1444
b660d3c6 14452014-09-08 Joseph Myers <joseph@codesourcery.com>
1446
1447 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1448 digits of floating-point modes if -fbuilding-libgcc.
1449
325b8c3c 14502014-09-05 Joseph Myers <joseph@codesourcery.com>
1451
1452 * c-cppbuiltin.c (c_cpp_builtins): Also define
1453 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1454 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1455 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1456 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1457 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1458 __LIBGCC_STACK_GROWS_DOWNWARD__,
1459 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1460 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1461 __LIBGCC_DWARF_FRAME_REGISTERS__,
1462 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1463 __LIBGCC_STACK_POINTER_REGNUM__ and
1464 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1465 (builtin_define_with_value): Handle backslash-escaping in string
1466 macro values.
1467
1e074e77 14682014-09-05 Richard Biener <rguenther@suse.de>
1469
1470 PR middle-end/63148
1471 * c-format.c (check_format_arg): Properly handle
1472 effectively signed POINTER_PLUS_EXPR offset.
1473
04afd878 14742014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1475
1476 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1477 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1478 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1479 and Init.
1480 * c-opts.c (c_common_handle_option): Do not handle here.
1481 (sanitize_cpp_opts): Likewise.
1482 * c-common.c (struct reason_option_codes_t): Handle
1483 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1484
a3f448f0 14852014-09-03 Marek Polacek <polacek@redhat.com>
1486
1487 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1488
40750995 14892014-09-02 Jakub Jelinek <jakub@redhat.com>
1490 Balaji V. Iyer <balaji.v.iyer@intel.com>
1491 Igor Zamyatin <igor.zamyatin@intel.com>
1492
1493 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1494 * c-common.c (c_common_reswords): Added _Cilk_for.
1495 * c-common.h (enum rid): Added RID_CILK_FOR.
1496 (cilk_for_number_of_iterations): Add declaration.
1497 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1498 CILK_FOR.
1499 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1500 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1501
f0fbe519 15022014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1503
1504 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1505 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1506 Wundef): Use CPP, Var and Init.
1507 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1508
a7d2e480 15092014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1510
1511 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1512 * c-opts.c (c_common_handle_option): Do not handle here.
1513
c35e53f1 15142014-08-25 Jason Merrill <jason@redhat.com>
1515
1516 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1517 -std=c++14 and -std=gnu++14, rather than the reverse.
1518 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1519 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1520 * c-common.h (cxx_dialect): Remove cxx1y.
1521
4e454776 15222014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1523
1524 * c-common.h (enum cxx_dialect): Add cxx14.
1525 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1526 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1527 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1528
af1a80f2 15292014-08-22 Jason Merrill <jason@redhat.com>
1530
1531 * c.opt (std=gnu++17): Fix alias.
1532
dc6229e8 15332014-08-22 Marek Polacek <polacek@redhat.com>
1534
1535 PR c++/62199
1536 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1537 check for vector types. Drop LHS argument.
1538 * c-common.h (warn_logical_not_parentheses): Adjust.
1539
ba7f7c88 15402014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1541
1542 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1543 (Wmultichar): Likewise.
1544 (Wdate-time): Use C-family languages instead of Common. Use CPP
1545 and Var.
1546 * c-opts.c (c_common_handle_option): Do not handle the above
1547 options here.
1548 (sanitize_cpp_opts): Likewise.
1549
399d4f80 15502014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1551
1552 PR fortran/44054
1553 * c-opts.c: Include tree-diagnostics.h.
1554 (c_diagnostic_finalizer): New.
1555 (c_common_initialize_diagnostics): Use it.
1556
1babed5f 15572014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1558
1559 PR preprocessor/51303
1560 * c-common.c (struct reason_option_codes_t option_codes):
1561 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1562
3636964b 15632014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1564
1565 PR c/60975
1566 PR c/53063
1567 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1568 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1569 (c_common_post_options): Call init_global_opts_from_cpp.
1570 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1571
78bf4156 15722014-08-19 Marek Polacek <polacek@redhat.com>
1573
1574 PR c++/62153
1575 * c-common.c (maybe_warn_bool_compare): New function.
1576 * c-common.h (maybe_warn_bool_compare): Declare.
1577 * c.opt (Wbool-compare): New option.
1578
508ea33a 15792014-08-19 Marek Polacek <polacek@redhat.com>
1580
1581 * c.opt (Wc99-c11-compat): New option.
1582
806fe15e 15832014-08-19 Marek Polacek <polacek@redhat.com>
1584
1585 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1586 to warn_c90_c99_compat.
1587 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1588 to -1.
1589
6c867de1 15902014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1591 Steven Bosscher <steven@gcc.gnu.org>
1592
1593 PR c/52952
1594 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1595 format_check_results.
1596 (check_function_format): Use true and add comment for boolean
1597 argument.
1598 (finish_dollar_format_checking): Use explicit location when warning.
1599 (check_format_info): Likewise.
1600 (check_format_arg): Set extra_arg_loc and format_string_loc.
1601 (check_format_info_main): Use explicit location when warning.
1602 (check_format_types): Pass explicit location.
1603 (format_type_warning): Likewise.
1604
dc8078a3 16052014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1606
1607 PR fortran/44054
1608 * c-format.c: Handle Fortran flags.
1609
d271ec7e 16102014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1611
1612 PR other/61962
1613 * array-notation-common.c (find_rank): Added handling for other
1614 types of references.
1615
890c2e2f 16162014-08-10 Marek Polacek <polacek@redhat.com>
1617
1618 PR c/51849
1619 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
1620 * c.opt (Wc90-c99-compat): Add option.
1621
7149db5f 16222014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1623
1624 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
1625
2d2f6a15 16262014-08-03 Marek Polacek <polacek@redhat.com>
1627
1628 * c-common.c (check_case_value): Add location_t parameter. Use it.
1629 (c_add_case_label): Pass loc to check_case_value.
1630
06ecf488 16312014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1632
1633 * cilk.c: Use hash_map instead of pointer_map.
1634
431205b7 16352014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1636
1637 * c-gimplify.c: Use hash_set instead of pointer_set.
1638
3394c80c 16392014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1640
1641 PR middle-end/61455
1642 * array-notation-common.c (extract_array_notation_exprs): Handling
1643 of DECL_EXPR added.
1644
392dee1e 16452014-08-01 Jakub Jelinek <jakub@redhat.com>
1646
1647 * c-common.h (min_align_of_type): Removed prototype.
1648 * c-common.c (min_align_of_type): Removed.
1649 * c-ubsan.h (ubsan_maybe_instrument_reference,
1650 ubsan_maybe_instrument_member_call): New prototypes.
1651 * c-ubsan.c: Include stor-layout.h and builtins.h.
1652 (ubsan_maybe_instrument_reference_or_call,
1653 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
1654 functions.
1655
f22a2cb7 16562014-07-31 Marc Glisse <marc.glisse@inria.fr>
1657
1658 PR c++/60517
1659 * c.opt (-Wreturn-local-addr): Move to common.opt.
1660
87b0198f 16612014-07-30 Jason Merrill <jason@redhat.com>
1662
1663 PR c++/61659
1664 PR c++/61687
1665 Revert:
1666 * c.opt (-fuse-all-virtuals): New.
1667
74691f46 16682014-07-30 Tom Tromey <tromey@redhat.com>
1669
1670 PR c/59855
1671 * c.opt (Wdesignated-init): New option.
1672 * c-common.c (c_common_attribute_table): Add "designated_init".
1673 (handle_designated_init): New function.
1674
9140d56f 16752014-07-24 Marek Polacek <polacek@redhat.com>
1676
1677 PR c/57653
1678 * c-opts.c (c_finish_options): If -imacros is in effect, return.
1679
a09c5cc2 16802014-07-16 Dodji Seketeli <dodji@redhat.com>
1681
1682 PR preprocessor/60723 - missing system-ness marks for macro tokens
1683 * c-ppoutput.c (struct print::prev_was_system_token): New data
1684 member.
1685 (init_pp_output): Initialize it.
1686 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
1687 (do_line_change): Return a flag saying if a line marker was
1688 emitted or not.
1689 (scan_translation_unit): Detect if the system-ness of the token we
1690 are about to emit is different from the one of the previously
1691 emitted token. If so, emit a line marker. Avoid emitting useless
1692 adjacent line markers. Avoid emitting line markers for tokens
1693 originating from the expansion of built-in macros.
1694 (scan_translation_unit_directives_only): Adjust.
1695
2b25b62f 16962014-07-15 Marek Polacek <polacek@redhat.com>
1697
1698 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
1699 TYPE_MAX_VALUE is NULL.
1700
305d96bc 17012014-07-14 Jakub Jelinek <jakub@redhat.com>
1702
1703 PR middle-end/61294
1704 * c.opt (Wmemset-transposed-args): New warning.
1705
8ea4660d 17062014-07-10 Jason Merrill <jason@redhat.com>
1707
1708 PR c++/61659
1709 PR c++/61687
1710 * c.opt (-fuse-all-virtuals): New.
1711
cd480f3d 17122014-07-09 Richard Biener <rguenther@suse.de>
1713
1714 PR c-family/61741
1715 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1716 using unsigned arithmetic if overflow does not wrap instead of
1717 if overflow is undefined.
1718
87d59e72 17192014-07-06 Marek Polacek <polacek@redhat.com>
1720
1721 PR c/6940
1722 * c.opt (Wsizeof-array-argument): New option.
1723
d69521d8 17242014-07-03 Jakub Jelinek <jakub@redhat.com>
1725
1726 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
1727 comments->count <= 1, as comments->entries might be NULL.
1728
1207866e 17292014-07-01 Marek Polacek <polacek@redhat.com>
1730
1731 * c.opt (Wint-conversion): New option.
1732
7a6bbb76 17332014-07-01 Marek Polacek <polacek@redhat.com>
1734
1735 PR c/58286
1736 * c.opt (Wincompatible-pointer-types): New option.
1737
9d4eeb52 17382014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1739
1740 PR c++/51400
1741 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1742 Do not discard TYPE_QUALS of type.
1743
4b53bc0f 17442014-06-26 Jason Merrill <jason@redhat.com>
1745
1746 * c-common.h (enum cxx_dialect): Add cxx1z.
1747 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1748 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1749
a8a8d4ea 17502014-06-26 Teresa Johnson <tejohnson@google.com>
1751
1752 * c-common.h (get_dump_info): Declare.
1753 * c-gimplify.c (c_genericize): Use saved dump files.
1754 * c-opts.c (c_common_parse_file): Begin and end dumps
1755 once around parsing invocation.
1756 (get_dump_info): New function.
1757
1f6be080 17582014-06-23 Marek Polacek <polacek@redhat.com>
1759 Andrew MacLeod <amacleod@redhat.com>
1760
1761 PR c/61553
1762 * c-common.c (get_atomic_generic_size): Don't segfault if the
1763 type doesn't have a size.
1764
5ef6b660 17652014-06-20 Marek Polacek <polacek@redhat.com>
1766
1767 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
1768 (ubsan_walk_array_refs_r): New function.
1769 (c_genericize): Instrument array bounds.
1770 * c-ubsan.c: Include "internal-fn.h".
1771 (ubsan_instrument_division): Mark instrumented arrays as having
1772 side effects. Adjust ubsan_type_descriptor call.
1773 (ubsan_instrument_shift): Likewise.
1774 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1775 (ubsan_instrument_bounds): New function.
1776 (ubsan_array_ref_instrumented_p): New function.
1777 (ubsan_maybe_instrument_array_ref): New function.
1778 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1779 (ubsan_array_ref_instrumented_p): Declare.
1780 (ubsan_maybe_instrument_array_ref): Declare.
1781
17822014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 1783
1784 PR lto/61123
1785 * c.opt (fshort-enums): Add to LTO.
1786 * c.opt (fshort-wchar): Likewise.
1787
78438f31 17882014-06-16 Marek Polacek <polacek@redhat.com>
1789
1790 PR c/60439
1791 * c.opt (Wswitch-bool): Add Var.
1792
5fddcf34 17932014-06-12 Jakub Jelinek <jakub@redhat.com>
1794
1795 PR middle-end/61486
1796 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1797 #pragma omp target teams or
1798 #pragma omp {,target }teams distribute simd.
1799
74b777e5 18002014-06-12 Jason Merrill <jason@redhat.com>
1801
1802 * c.opt (Wabi=, fabi-compat-version): New.
1803 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1804 (c_common_post_options): Handle flag_abi_compat_version default.
1805 Disallow -fabi-compat-version=1.
1806 * c-common.h (abi_version_crosses): New.
1807
738a6bda 18082014-06-11 Jan Hubicka <hubicka@ucw.cz>
1809
1f78217c 1810 * c-common.c (handle_section_attribute): Update handling for
738a6bda 1811 section names that are no longer trees.
1812
cf5f881f 18132014-06-10 Jakub Jelinek <jakub@redhat.com>
1814
1815 PR fortran/60928
1816 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1817 (omp_pragmas): ... back here.
1818
32dc1512 18192014-06-05 Marek Polacek <polacek@redhat.com>
1820
1821 PR c/49706
1822 * c-common.c (warn_logical_not_parentheses): New function.
1823 * c-common.h (warn_logical_not_parentheses): Declare.
1824 * c.opt (Wlogical-not-parentheses): New option.
1825
f61a9bc2 18262014-06-04 Marek Polacek <polacek@redhat.com>
1827
1828 PR c/30020
1829 * c-common.c (check_case_bounds): Add location parameter.
1830 Use it.
1831 (c_add_case_label): Pass loc to check_case_bounds.
1832
c69ec07d 18332014-06-03 Marek Polacek <polacek@redhat.com>
1834
1835 PR c/60439
1836 * c.opt (Wswitch-bool): New option.
1837
3c77ca67 18382014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1839
68a2c870 1840 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1841 Remove prototypes.
1842 (record_types_used_by_current_var_decl): Move prototype to where
1843 it belongs.
1844
3c77ca67 1845 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1846 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1847 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1848
3ab4693e 18492014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1850
1851 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1852 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1853 void_zero_node.
1854 * c-pretty-print.c (pp_c_void_constant): New function.
1855 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1856 (c_pretty_printer::expression): Handle VOID_CST.
1857 * cilk.c (extract_free_variables): Likewise.
1858 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1859 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1860
25a27413 18612014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1862
1863 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1864 * c-pragma.c (push_alignment): Adjust.
1865 (handle_pragma_push_options): Likewise.
1866
3e5a8b00 18672014-05-09 Marek Polacek <polacek@redhat.com>
1868
1869 PR c/50459
1870 * c-common.c (check_user_alignment): Return -1 if alignment is error
1871 node.
1872 (handle_aligned_attribute): Don't call default_conversion on
1873 FUNCTION_DECLs.
1874 (handle_vector_size_attribute): Likewise.
1875 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1876 (handle_sentinel_attribute): Call default_conversion and allow even
1877 integral types as an argument.
1878
c2c4ae8d 18792014-05-08 Marek Polacek <polacek@redhat.com>
1880
1881 PR c/61053
1882 * c-common.c (min_align_of_type): New function factored out from...
1883 (c_sizeof_or_alignof_type): ...here.
1884 * c-common.h (min_align_of_type): Declare.
1885
2026249a 18862014-05-08 Marek Polacek <polacek@redhat.com>
1887
1888 PR c/61077
1889 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1890 parameter type of main.
1891
33c8dcfe 18922014-05-07 DJ Delorie <dj@redhat.com>
1893
1894 * c-cppbuiltin.c (print_bits_of_hex): New.
1895 (builtin_define_type_minmax): Print values using hex so as not to
1896 require a pre-computed list of string values.
1897
960d5a55 18982014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1899 Mike Stump <mikestump@comcast.net>
1900 Richard Sandiford <rdsandiford@googlemail.com>
1901
1902 * c-ada-spec.c: Include wide-int.h.
1903 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1904 (dump_generic_ada_node): Use wide-int interfaces.
1905 * c-common.c: Include wide-int-print.h.
1906 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1907 (pointer_int_sum): Use wide-int interfaces.
1908 (c_common_nodes_and_builtins): Use make_int_cst.
1909 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1910 (handle_alloc_size_attribute): Use wide-int interfaces.
1911 (get_nonnull_operand): Likewise.
1912 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1913 * c-lex.c: Include wide-int.h.
1914 (narrowest_unsigned_type): Take a widest_int rather than two
1915 HOST_WIDE_INTs.
1916 (narrowest_signed_type): Likewise.
1917 (interpret_integer): Update accordingly. Use wide-int interfaces.
1918 (lex_charconst): Use wide-int interfaces.
1919 * c-pretty-print.c: Include wide-int.h.
1920 (pp_c_integer_constant): Use wide-int interfaces.
1921 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1922 INT_CST_LT_UNSIGNED.
1923
bbb88b31 19242014-05-06 Richard Biener <rguenther@suse.de>
1925
1926 * c-opts.c (c_common_post_options): For -freestanding,
1927 -fno-hosted and -fno-builtin disable pattern recognition
1928 if not enabled explicitely.
1929
022d4718 19302014-05-02 Marek Polacek <polacek@redhat.com>
1931
1932 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1933
e4ab2ef3 19342014-05-01 Marek Polacek <polacek@redhat.com>
1935
1936 PR c/43245
1937 * c.opt (Wdiscarded-qualifiers): Add.
1938
52cc0072 19392014-04-30 Marek Polacek <polacek@redhat.com>
1940
1941 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1942 INT_MIN / -1 sanitization only for integer types.
1943
4a026b48 19442014-04-25 Marek Polacek <polacek@redhat.com>
1945
1946 PR c/18079
1947 * c-common.c (handle_noinline_attribute): Warn if the attribute
1948 conflicts with always_inline attribute.
1949 (handle_always_inline_attribute): Warn if the attribute conflicts
1950 with noinline attribute.
1951
90e645fa 19522014-04-25 Marek Polacek <polacek@redhat.com>
1953
1954 PR c/60156
1955 * c-common.c (check_main_parameter_types): Warn about variadic main.
1956
db103ea4 19572014-04-24 Mike Stump <mikestump@comcast.net>
1958
1959 * c.opt (Wshadow-ivar): Default to on.
1960
06511efd 19612014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1962
1963 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1964
cdf34fca 19652014-04-23 Marek Polacek <polacek@redhat.com>
1966
1967 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1968
7311d7c1 19692014-04-22 Jakub Jelinek <jakub@redhat.com>
1970
1971 PR sanitizer/60275
1972 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1973 if flag_sanitize_undefined_trap_on_error.
1974 (ubsan_instrument_division, ubsan_instrument_shift,
1975 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1976 if !flag_sanitize_recover.
1977
c1917557 19782014-04-22 Marc Glisse <marc.glisse@inria.fr>
1979
1980 PR libstdc++/43622
1981 * c-common.c (registered_builtin_types): Make non-static.
1982 * c-common.h (registered_builtin_types): Declare.
1983
b2ca6510 19842014-04-14 Richard Biener <rguenther@suse.de>
1985 Marc Glisse <marc.glisse@inria.fr>
1986
1987 PR c/60819
1988 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1989 apply may-alias the scalar pointer type when applicable.
1990
855372a3 19912014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1992
1993 PR middle-end/60467
1994 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1995 as possible argument for Cilk_spawn.
1996
4012a986 19972014-04-11 Tobias Burnus <burnus@net-b.de>
1998
1999 PR c/60194
2000 * c.opt (Wformat-signedness): Add
2001 * c-format.c(check_format_types): Use it.
2002
0d284870 20032014-04-11 Jason Merrill <jason@redhat.com>
2004
2005 PR c++/57926
2006 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2007 default_conversion for an array argument.
2008
a34c1231 20092014-04-08 Marek Polacek <polacek@redhat.com>
2010
2011 PR sanitizer/60745
2012 * c-ubsan.c: Include asan.h.
2013 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2014
a35a8e18 20152014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2016
2017 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2018
b23e42b6 20192014-04-02 Marek Polacek <polacek@redhat.com>
2020
2021 * c-common.h (c_expand_expr): Remove declaration.
2022
5a672e62 20232014-03-28 Jakub Jelinek <jakub@redhat.com>
2024
2025 PR c++/60689
2026 * c-common.c (add_atomic_size_parameter): When creating new
2027 params vector, push the size argument first.
2028
d4d068c0 20292014-03-26 Jakub Jelinek <jakub@redhat.com>
2030
2031 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2032 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2033 ubsan_create_data callers.
2034
446bdf5f 20352014-03-22 Jakub Jelinek <jakub@redhat.com>
2036
2037 PR debug/60603
2038 * c-opts.c (c_finish_options): Restore cb_file_change call to
2039 <built-in>.
2040
8895f0a3 20412014-03-13 Jakub Jelinek <jakub@redhat.com>
2042
2043 PR middle-end/36282
2044 * c-pragma.c (apply_pragma_weak): Only look at
2045 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2046 DECL_ASSEMBLER_NAME_SET_P (decl).
2047 (maybe_apply_pending_pragma_weaks): Exit early if
2048 vec_safe_is_empty (pending_weaks) rather than only when
2049 !pending_weaks.
2050 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2051 set assembler name back to NULL afterwards.
2052
7a5da2cd 20532014-03-11 Jason Merrill <jason@redhat.com>
2054
2055 * c.opt: Add -std=gnu++14.
2056
95093889 20572014-03-11 Ian Bolton <ian.bolton@arm.com>
2058
2059 * c-opts.c (c_common_post_options): Don't override
2060 -ffp-contract=fast if unsafe-math-optimizations is on.
2061
c9a24b37 20622014-03-08 Paulo Matos <paulo@matos-sorge.com>
2063
2064 * c.opt: Enable LTO FE for fshort-double.
2065
3f6dba6e 20662014-03-07 Jason Merrill <jason@redhat.com>
2067
2068 * c.opt: Add -std=c++14.
2069
3bfdc94f 20702014-03-06 Marek Polacek <polacek@redhat.com>
2071
2072 PR c/60197
2073 * cilk.c (contains_cilk_spawn_stmt): New function.
2074 (contains_cilk_spawn_stmt_walker): Likewise.
2075 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2076 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2077
8b3a6a4c 20782014-03-03 Jakub Jelinek <jakub@redhat.com>
2079
2080 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2081 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2082 even when flag_preprocess_only.
2083
734ec290 20842014-02-26 Jason Merrill <jason@redhat.com>
2085
2086 PR c++/59231
2087 PR c++/11586
2088 * c-common.c (shorten_compare): Don't check
2089 c_inhibit_evaluation_warnings.
2090
81aec8b8 20912014-02-19 Jakub Jelinek <jakub@redhat.com>
2092
d1081017 2093 PR c/37743
2094 * c-common.c (c_common_nodes_and_builtins): When initializing
2095 c_uint{16,32,64}_type_node, also set corresponding
2096 uint{16,32,64}_type_node to the same value.
2097
81aec8b8 2098 PR c++/60267
2099 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2100 for PRAGMA_IVDEP if flag_preprocess_only.
2101
312243bb 21022014-02-12 Jakub Jelinek <jakub@redhat.com>
2103
2104 PR c/60101
2105 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2106 if false, add ADD itself, rather than vice versa.
2107 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2108 copy. For SAVE_EXPR, only call merge_tlist once.
2109
237e78b1 21102014-02-08 Jakub Jelinek <jakub@redhat.com>
2111
2112 PR middle-end/60092
2113 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2114 and tree_to_uhwi.
2115 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2116 functions.
2117 (c_common_attribute_table): Add alloc_align and assume_aligned
2118 attributes.
2119
76fdceeb 21202014-02-06 Marek Polacek <polacek@redhat.com>
2121
2122 PR c/60087
2123 * c-common.c (warn_for_sign_compare): Call warning_at with location
2124 instead of warning.
2125
4a4dea42 21262014-02-05 Marek Polacek <polacek@redhat.com>
2127
2128 PR c/53123
2129 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2130 statement.
2131
ec704957 21322014-02-04 Marek Polacek <polacek@redhat.com>
2133
2134 PR c/60036
2135 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2136 SAVE_EXPR.
2137
caf62483 21382014-02-03 Marc Glisse <marc.glisse@inria.fr>
2139
2140 PR c++/53017
2141 PR c++/59211
2142 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2143 handle_vector_size_attribute, handle_nonnull_attribute): Call
2144 default_conversion on the attribute argument.
2145 (handle_nonnull_attribute): Increment the argument number.
2146
ec761d5a 21472014-01-31 Marek Polacek <polacek@redhat.com>
2148
2149 PR c/59963
2150 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2151 build_function_call_vec.
2152 (resolve_overloaded_builtin): Likewise.
2153 * c-common.h (build_function_call_vec): Adjust declaration.
2154
22a75734 21552014-01-30 Marek Polacek <polacek@redhat.com>
2156
2157 PR c/59940
2158 * c-common.h (unsafe_conversion_p): Adjust declaration.
2159 (warnings_for_convert_and_check): Likewise.
2160 (convert_and_check): Likewise.
2161 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2162 expansion_point_location_if_in_system_header on it.
2163 (warnings_for_convert_and_check): Add location parameter. Call
2164 expansion_point_location_if_in_system_header on it. Use it.
2165 (convert_and_check): Add location parameter. Use it.
2166 (conversion_warning): Likewise.
2167 (c_add_case_label): Adjust convert_and_check calls.
2168 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2169
a89e6c15 21702014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2171
2172 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2173 flag_cilkplus.
2174 * c-pragma.c (init_pragma): Likewise.
2175 * c.opt: Likewise.
2176
2623625f 21772014-01-23 Marek Polacek <polacek@redhat.com>
2178
2179 PR c/59846
2180 * c-common.c (shorten_compare): Add location_t parameter.
2181 * c-common.h (shorten_binary_op): Adjust declaration.
2182
46da3601 21832014-01-23 Marek Polacek <polacek@redhat.com>
2184
2185 PR c/58346
2186 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2187 * c-common.h: Declare it.
2188
c9743c6a 21892014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2190
2191 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2192 * c-ada-spec.c (dump_ads): Likewise.
2193 (cpp_check): Likewise.
2194 (dump_ada_specs): Likewise.
2195
21962014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 2197
2198 PR c++/49718
2199 * c-common.c (handle_no_instrument_function_attribute): Allow
2200 no_instrument_function attribute in class member
2201 definition/declaration.
2202
1248c663 22032014-01-15 Jakub Jelinek <jakub@redhat.com>
2204
2205 PR c/58943
2206 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2207 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2208 being COMPOUND_EXPR.
2209 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2210 operand a SAVE_EXPR and second MODIFY_EXPR.
2211
6e5c480b 22122014-01-09 Jakub Jelinek <jakub@redhat.com>
2213
2214 PR target/58115
2215 * c-pch.c (c_common_write_pch): Call
2216 prepare_target_option_nodes_for_pch.
2217
3aea1f79 22182014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2219
2220 Update copyright years
2221
e4f22041 22222014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2223
2224 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2225 the copyright notice.
2226
7fb0fe24 22272013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2228
2229 * c-ada-spec.c (print_constructor): New function.
2230 (print_destructor): Retrieve the origin of the destructor.
2231 (print_ada_declaration): Revamp handling of constructors/destructors.
2232
468088ac 22332013-12-23 Stuart Hastings <stuart@apple.com>
2234 Bill Maddox <maddox@google.com>
2235 Jason Merrill <jason@redhat.com>
2236
2237 * c.opt: Add -fdeclone-ctor-dtor.
2238 * c-opts.c (c_common_post_options): Default to on iff -Os.
2239
74acc703 22402013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2241
2242 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2243 attribute.
2244 * c-pragma.h (enum pragma_cilk_clause): Remove.
2245 (enum pragma_omp_clause): Added the following fields:
2246 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2247 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2248 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2249 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2250 PRAGMA_CILK_CLAUSE_UNIFORM.
2251
2252
433e804e 22532013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2254
2255 * cilk.c (cilk_outline): Made this function non-static.
2256 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2257 (create_cilk_wrapper): Added a new parameter: a function pointer.
2258 (c_install_body_w_frame_cleanup): Remove
2259 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2260 * c-common.h (cilk_outline): New prototype.
2261 (gimplify_cilk_spawn): Removed two parameters.
2262 (cilk_install_body_with_frame_cleanup): New prototype.
2263 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2264 CILK_SPAWN_STMT case.
2265
5bcc7e60 22662013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2267
e66325ea 2268 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2269
5bcc7e60 2270 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2271 (int_array_type_node): Remove.
2272 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2273
0b26ec77 22742013-12-05 Marek Polacek <polacek@redhat.com>
2275
2276 PR c/52023
2277 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2278 [ADJUST_FIELD_ALIGN].
2279
a179a7dc 22802013-12-04 Joseph Myers <joseph@codesourcery.com>
2281
2282 PR c/52023
2283 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2284 and check field alignment if set.
2285 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2286 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2287
137559b2 22882013-12-04 Jakub Jelinek <jakub@redhat.com>
2289 Marek Polacek <polacek@redhat.com>
2290
2291 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2292 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2293
648fd348 22942013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2295
2296 PR c/59309
2297 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2298 arguments.
2299
253e1cae 23002013-11-29 Jakub Jelinek <jakub@redhat.com>
2301
2302 PR c/59280
2303 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2304 goto invalid. If it is error_mark_node, don't issue further
2305 diagnostics.
2306
3e398f5b 23072013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2308
2309 * c.opt (Wopenmp-simd): New.
2310
020bc656 23112013-11-22 Jakub Jelinek <jakub@redhat.com>
2312
2313 * c-ubsan.h (ubsan_instrument_return): New prototype.
2314 * c-ubsan.c (ubsan_instrument_return): New function.
2315
bc61cadb 23162013-11-22 Andrew MacLeod <amacleod@redhat.com>
2317
2318 * c-common.c: Add required include files from gimple.h.
2319 * c-gimplify.c: Likewise
2320 * cilk.c: Likewise
2321
3df42822 23222013-11-22 David Malcolm <dmalcolm@redhat.com>
2323
2324 * c-common.c (unsafe_conversion_p): Remove use of
2325 EXPR_LOC_OR_HERE macro.
2326 (conversion_warning): Likewise.
2327 (warnings_for_convert_and_check): Likewise.
2328 (warn_for_collisions_1): Likewise.
2329 (shorten_compare): Likewise, and remove use of in_system_header
2330 macro, using the location from the former.
2331 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2332 (cb_def_pragma): Remove use of in_system_header macro.
2333 (lex_string): Likewise.
2334 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2335
8c53c46c 23362013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2337 Mike Stump <mikestump@comcast.net>
2338 Richard Sandiford <rdsandiford@googlemail.com>
2339
2340 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2341 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2342 tree_fits_shwi_p or tree_fits_uhwi_p.
2343 (dump_generic_ada_node): Likewise.
2344 * c-format.c (check_format_arg): Likewise.
2345 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2346
5200ef07 23472013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2348
2349 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2350
ca9d7d74 23512013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2352
2353 PR c/53001
2354 * c-common.c (unsafe_conversion_p): Make this function
2355 return an enumeration with more detail.
2356 (conversion_warning): Use the new return type of
2357 unsafe_conversion_p to separately warn either about conversions
2358 that lower floating point number precision or about the other
2359 kinds of conversions.
2360 * c-common.h (enum conversion_safety): New enumeration.
2361 (unsafe_conversion_p): switching return type to
2362 conversion_safety enumeration.
2363 * c.opt: Adding new warning -Wfloat-conversion and
2364 enabling it with -Wconversion.
2365
0391a567 23662013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2367
2368 * c-opts.c: Include plugin.h.
2369 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2370
19b928d9 23712013-11-19 Marek Polacek <polacek@redhat.com>
2372
2373 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2374 call.
2375 (ubsan_instrument_shift): Likewise.
2376 (ubsan_instrument_vla): Likewise.
2377
aa59f000 23782013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2379
2380 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2381 cast to unsigned type.
2382
08f817b3 23832013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2384
2385 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2386 tree_low_cst.
2387 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2388 rather than tree_low_cst.
2389
6a0712d4 23902013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2391
2392 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2393 tree_to_uhwi throughout.
2394
fcb97e84 23952013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2396
2397 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2398 tree_low_cst (..., 0) with tree_to_shwi throughout.
2399
cd4547bf 24002013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2401
2402 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2403 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2404
35ec552a 24052013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2406
2407 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2408 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2409
f2697631 24102013-11-15 Aldy Hernandez <aldyh@redhat.com>
2411
2412 * c-cilkplus.c: New file.
2413 * c-common.c (readonly_error): Add location argument.
2414 * c-common.h (readonly_error): Same.
2415 (c_finish_cilk_clauses): Protoize.
2416 (c_check_cilk_loop): Same.
2417 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2418 Do not fail on error_mark_node.
2419 Abstract increment canonicalization to here...
2420 (c_omp_for_incr_canonicalize_ptr): New.
2421 c-pragma.c (init_pragma): Register "simd" pragma.
2422 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2423 (enum pragma_cilk_clause): New.
2424
0aa8c34e 24252013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2426
2427 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2428 wchar_type and host_integerp checks.
2429
e795d6e1 24302013-11-14 Andrew MacLeod <amacleod@redhat.com>
2431
2432 * c-common.c: Likewise.
2433 * c-gimplify.c: Likewise.
2434 * cilk.c: Likewise.
2435
9ed99284 24362013-11-14 Diego Novillo <dnovillo@google.com>
2437
2438 * c-common.c: Include fold-const.h.
2439 Include stor-layout.h.
2440 Include calls.h.
2441 Include stringpool.h.
2442 Include attribs.h.
2443 Include varasm.h.
2444 Include trans-mem.h.
2445 * c-cppbuiltin.c: Include stor-layout.h.
2446 Include stringpool.h.
2447 * c-format.c: Include stringpool.h.
2448 * c-lex.c: Include stringpool.h.
2449 Include stor-layout.h.
2450 * c-pragma.c: Include stringpool.h.
2451 Include attribs.h.
2452 Include varasm.h.
2453 Include gcc-symtab.h.
2454 * c-pretty-print.c: Include stor-layout.h.
2455 Include attribs.h.
2456 * cilk.c: Include stringpool.h.
2457 Include calls.h.
2458
4fba5eb9 24592013-11-13 Joseph Myers <joseph@codesourcery.com>
2460
2461 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2462 * c-common.c (c_common_reswords): Add __auto_type.
2463 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2464
a8783bee 24652013-11-12 Andrew MacLeod <amacleod@redhat.com>
2466
e795d6e1 2467 * c-common.c: Include gimplify.h.
2468 * c-gimplify.c: Likewise.
2469 * cilk.c: Likewise.
2470 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2471 * c-ubsan.c: Don't include gimple.h.
a8783bee 2472
d184e0c0 24732013-11-12 Joseph Myers <joseph@codesourcery.com>
2474
2475 * c-common.c (c_common_reswords): Add _Thread_local.
2476
a056826c 24772013-11-09 Joseph Myers <joseph@codesourcery.com>
2478
2479 * c-common.c (atomic_size_supported_p): New function.
2480 (resolve_overloaded_atomic_exchange)
2481 (resolve_overloaded_atomic_compare_exchange)
2482 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2483 Use it instead of comparing size with a local list of sizes.
2484
b560fabd 24852013-11-07 Andrew MacLeod <amacleod@redhat.com>
2486 Joseph Myers <joseph@codesourcery.com>
2487
2488 * c-common.h (enum rid): Add RID_ATOMIC.
2489 * c-common.c (c_common_reswords): Add _Atomic.
2490 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2491 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2492 * c-format.c (check_format_types): Check for extra _Atomic
2493 qualifiers in format argument.
2494 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2495 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2496
5b1a0622 24972013-11-06 Tobias Burnus <burnus@net-b.de>
2498
2499 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2500
4f8f4cb8 25012013-11-06 Joseph Myers <joseph@codesourcery.com>
2502
2503 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2504 standards modes.
2505 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2506 to mean lack of IEEE 754 support.
2507
9148bda3 25082013-11-05 Tobias Burnus <burnus@net-b.de>
2509
2510 * c.opt (-Wdate-time): New option
2511 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2512
08c5f4d5 25132013-11-05 Joseph Myers <joseph@codesourcery.com>
2514
2515 * c-cppbuiltin.c (cpp_iec_559_value): Test
2516 flag_excess_precision_cmdline not flag_excess_precision.
2517
c630ef93 25182013-11-05 Tobias Burnus <burnus@net-b.de>
2519
2520 * c.opt (fopenmp-simd): New option.
2521 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2522 (omp_pragmas): ... this new struct.
2523 (c_pp_lookup_pragma): Also walk omp_pragmas.
2524 (init_pragma): Init pragmas for -fopenmp-simd.
2525
7354a89b 25262013-11-04 Marek Polacek <polacek@redhat.com>
2527
2528 PR c++/58979
2529 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2530
4c866b9b 25312013-11-04 Joseph Myers <joseph@codesourcery.com>
2532
2533 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2534 New functions.
2535 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2536
e2a6a333 25372013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2538
2539 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2540 (dump_ada_specs): Adjust prototype of second callback.
2541 * c-ada-spec.c (cpp_check): New global variable.
2542 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2543 (print_generic_ada_decl): Likewise.
2544 (has_static_fields): Change return type to bool and add guard.
2545 (has_nontrivial_methods): New predicate.
2546 (is_tagged_type): Change return type to bool.
2547 (separate_class_package): Call has_nontrivial_methods.
2548 (pp_ada_tree_identifier): Minor tweaks.
2549 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2550 (dump_ada_array_domains): Likewise.
2551 (dump_ada_array_type): Likewise.
2552 (dump_template_types): Remove cpp_check parameter and do not pass it to
2553 dump_generic_ada_node.
2554 (dump_ada_template): Likewise.
2555 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2556 recursively.
2557 (print_ada_methods): Change return type to integer. Remove cpp_check
2558 parameter and do not pass it down.
2559 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2560 dump_generic_ada_node.
2561 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2562 accessing methods.
2563 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2564 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2565 value of print_ada_methods.
2566 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2567 Set cpp_check to it before invoking dump_ada_nodes.
2568 (dump_ada_specs): Likewise.
2569
2c4c3477 25702013-11-03 Marek Polacek <polacek@redhat.com>
2571
2572 * c-ubsan.c: Don't include hash-table.h.
2573 (ubsan_instrument_vla): New function.
2574 * c-ubsan.h: Declare it.
2575
452659af 25762013-10-31 David Malcolm <dmalcolm@redhat.com>
2577
2578 Automated part of renaming of symtab_node_base to symtab_node.
2579
2580 Patch autogenerated by rename_symtab.py from
2581 https://github.com/davidmalcolm/gcc-refactoring-scripts
2582 revision 58bb219cc090b2f4516a9297d868c245495ee622
2583
2584 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2585 symtab_node_base to symtab_node.
2586
4d6f7dd4 25872013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2588
2589 Implement C++14 digit separators.
2590 * c-lex.c (interpret_float): Remove digit separators from scratch string
2591 before building real literal.
2592
06cfe805 25932013-10-30 Jakub Jelinek <jakub@redhat.com>
2594
2595 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2596
d037099f 25972013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2598
2599 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2600 fields.
2601 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2602 enabled.
2603 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2604 (insert_cilk_frame): New prototype.
2605 (cilk_init_builtins): Likewise.
2606 (gimplify_cilk_spawn): Likewise.
2607 (c_cilk_install_body_w_frame_cleanup): Likewise.
2608 (cilk_detect_spawn_and_unwrap): Likewise.
2609 (cilk_set_spawn_marker): Likewise.
2610 (build_cilk_sync): Likewise.
2611 (build_cilk_spawn): Likewise.
2612 * cilk.c: New file.
2613
02774f2d 26142013-10-29 David Malcolm <dmalcolm@redhat.com>
2615
2616 Patch autogenerated by refactor_symtab.py from
2617 https://github.com/davidmalcolm/gcc-refactoring-scripts
2618 revision 58bb219cc090b2f4516a9297d868c245495ee622
2619
2620 * c-gimplify.c (c_genericize): Update for conversion of symtab types
2621 to a true class hierarchy.
2622 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
2623
31fe10fd 26242013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
2625
2626 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
2627
b1c06ff9 26282013-10-26 Jeff Law <law@redhat.com>
2629
1f78217c 2630 * c-common.c (c_define_builtins): Remove mudflap support.
2631 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 2632
48a972c8 26332013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 2634
2635 PR other/33426
2636 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
2637 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
2638
546a04b1 26392013-10-23 Jason Merrill <jason@redhat.com>
2640
2641 * c-format.c (gcc_cxxdiag_char_table): Add %X.
2642
bc7bff74 26432013-10-11 Jakub Jelinek <jakub@redhat.com>
2644
d62c713e 2645 * c-common.h (omp_clause_mask::operator !=): New method.
2646 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
2647 instead of if (mask & something) tests everywhere.
2648
bc7bff74 2649 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
2650 201307 instead of 201107.
2651 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
2652 (c_common_attribute_table): Add "omp declare target" and
2653 "omp declare simd" attributes.
2654 (handle_omp_declare_target_attribute,
2655 handle_omp_declare_simd_attribute): New functions.
2656 * c-omp.c: Include c-pragma.h.
2657 (c_finish_omp_taskgroup): New function.
2658 (c_finish_omp_atomic): Add swapped argument, if true,
2659 build the operation first with rhs, lhs arguments and use NOP_EXPR
2660 build_modify_expr.
2661 (c_finish_omp_for): Add code argument, pass it down to make_code.
2662 (c_omp_split_clauses): New function.
2663 (c_split_parallel_clauses): Removed.
2664 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
2665 c_omp_declare_simd_clauses_to_decls): New functions.
2666 * c-common.h (omp_clause_mask): New type.
2667 (OMP_CLAUSE_MASK_1): Define.
2668 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
2669 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
2670 omp_clause_mask::operator |, omp_clause_mask::operator &,
2671 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
2672 omp_clause_mask::operator ==): New methods.
2673 (enum c_omp_clause_split): New.
2674 (c_finish_omp_taskgroup): New prototype.
2675 (c_finish_omp_atomic): Add swapped argument.
2676 (c_finish_omp_for): Add code argument.
2677 (c_omp_split_clauses): New prototype.
2678 (c_split_parallel_clauses): Removed.
2679 (c_omp_declare_simd_clauses_to_numbers,
2680 c_omp_declare_simd_clauses_to_decls): New prototypes.
2681 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
2682 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
2683 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
2684 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
2685 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
2686 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
2687 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
2688 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
2689 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
2690 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
2691 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
2692 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
2693 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
2694 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
2695 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
2696 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
2697 PRAGMA_OMP_CLAUSE_UNIFORM.
2698
d7dcba40 26992013-10-09 Marc Glisse <marc.glisse@inria.fr>
2700
2701 PR tree-optimization/20318
2702 * c-common.c (handle_returns_nonnull_attribute): New function.
2703 (c_common_attribute_table): Add returns_nonnull.
2704
0b7282f1 27052013-10-03 Marc Glisse <marc.glisse@inria.fr>
2706
2707 PR c++/19476
2708 * c.opt (fcheck-new): Move to common.opt.
2709
51f553af 27102013-09-25 Marek Polacek <polacek@redhat.com>
2711 Jakub Jelinek <jakub@redhat.com>
2712
2713 PR sanitizer/58413
2714 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
2715 an expression if we can prove it is correct.
2716 (ubsan_instrument_division): Likewise. Remove unnecessary
2717 check.
2718
05f893e1 27192013-09-18 Marek Polacek <polacek@redhat.com>
2720
2721 PR sanitizer/58411
2722 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
2723 Declare it.
2724 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
2725
236ce1d1 27262013-09-14 Iain Sandoe <iain@codesourcery.com>
2727
2728 PR target/48094
2729 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
2730 fobjc-gc, freplace-objc-classes): Accept for LTO.
2731
f9f68d35 27322013-09-13 Jacek Caban <jacek@codeweavers.com>
2733
2734 * c-target.def: New hook
2735
ba2f764e 27362013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2737
2738 PR c++/43452
2739 * c.opt (Wdelete-incomplete): Add.
2740
73437615 27412013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2742
2743 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2744 (vector_types_compatible_elements_p): New function.
2745 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2746 declaration.
2747 (vector_types_compatible_elements_p): Declare.
2748
95af4c75 27492013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2750
2751 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
2752 a virtual member function.
2753 (pp_simple_type_specifier): Remove.
2754 (pp_c_type_specifier): Likewise.
2755 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2756 Rename from pp_c_type_specifier. Adjust.
2757 (c_pretty_printer::c_pretty_printer): Do not assign to
2758 simple_type_specifier.
2759
eaab24b9 27602013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2761
2762 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
2763 member function.
2764 (c_pretty_printer::storage_class_specifier): Likewise.
2765 (c_pretty_printer::initializer): Likewise.
2766 (pp_declaration): Remove.
2767 (pp_declaration_specifiers): Likewise.
2768 (pp_abstract_declarator): Likewise.
2769 (pp_declarator): Likewise.
2770 (pp_type_id): Likewise.
2771 (pp_statement): Likewise.
2772 (pp_constant): Likewise.
2773 (pp_id_expression): Likewise.
2774 (pp_primary_expression): Likewise.
2775 (pp_unary_expression): Likewise.
2776 (pp_multiplicative_expression): Likewise.
2777 (pp_conditional_expression): Likewise.
2778 (pp_assignment_expression): Likewise.
2779 (pp_expression): Likewise.
2780 (pp_c_type_id): Likewise.
2781 (pp_c_storage_class_specifier): Likewise.
2782 * c-pretty-print.c (pp_c_type_cast): Tidy.
2783 (pp_c_pointer): Likewise.
2784 (pp_c_type_specifier): Likewise.
2785 (pp_c_parameter_type_list): Likewise.
2786 (pp_c_function_definition): Likewise.
2787 (pp_c_init_declarator): Likewise.
2788 (pp_c_initializer_list): Likewise.
2789 (pp_c_constructor_elts): Likewise.
2790 (c_pretty_printer::direct_abstract_declarator): Likewise.
2791 (c_pretty_printer::declaration_specifiers): Likewise.
2792 (c_pretty_printer::primary_expression): Likewise.
2793 (c_pretty_printer::postfix_expression): Likewise.
2794 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2795 (c_pretty_printer::storage_class_specifier): Rename from
2796 pp_c_storage_class_specifier.
2797 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2798 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2799 storage_class_specifier, initializer, offset_list, flags.
2800
9e46467d 28012013-08-30 Marek Polacek <polacek@redhat.com>
2802
2803 * c-ubsan.c: New file.
2804 * c-ubsan.h: New file.
2805
36a8d9b9 28062013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2807
2808 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2809 member function.
2810 (c_pretty_printer::declaration_specifiers): Likewise.
2811 (c_pretty_printer::declarator): Likewise.
2812 (c_pretty_printer::abstract_declarator): Likewise.
2813 (c_pretty_printer::direct_abstract_declarator): Likewise.
2814 (c_pretty_printer::direct_declarator): Likewise.
2815 (c_pretty_printer::function_specifier): Likewise.
2816 (pp_declaration): Adjust.
2817 (pp_declaration_specifiers): Likewise.
2818 (pp_abstract_declarator): Likewise.
2819 (pp_direct_declarator): Likewise.
2820 (pp_function_specifier): Likewise.
2821 (pp_direct_abstract_declarator): Remove as unused.
2822 (pp_c_declaration): Remove.
2823 (pp_c_declaration_specifiers): Likewise.
2824 (pp_c_declarator): Likewise.
2825 (pp_c_direct_declarator): Likewise.
2826 (pp_c_function_specifier): Likewise.
2827 (pp_c_direct_abstract_declarator): Likewise.
2828 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2829 from pp_c_abstract_declarator. Adjust.
2830 (c_pretty_printer::direct_abstract_declarator): Rename from
2831 pp_c_direct_abstract_declarator. Adjust.
2832 (c_pretty_printer::function_specifier): Rename from
2833 pp_c_function_specifier. Adjust.
2834 (c_pretty_printer::declaration_specifiers): Rename from
2835 pp_c_declaration_specifiers. Adjust.
2836 (c_pretty_printer::direct_declarator): Rename from
2837 pp_c_direct_declarator. Adjust.
2838 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2839 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2840 (c_pretty_printer::c_pretty_printer): Do not assign to
2841 declaration, declaration_specifiers, declarator,
2842 direct_declarator, direct_abstract_declarator, function_specifier.
2843
30635c2e 28442013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2845
2846 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2847 virtual member function.
2848 (c_pretty_printer::multiplicative_expression): Likewise.
2849 (c_pretty_printer::conditional_expression): Likewise.
2850 (c_pretty_printer::assignment_expression): Likewise.
2851 (c_pretty_printer::expression): Likewise.
2852 (pp_unary_expression): Adjust.
2853 (pp_multiplicative_expression): Likewise.
2854 (pp_assignment_expression): Likewise.
2855 (pp_conditional_expression): Likewise.
2856 (pp_expression): Likewise.
2857 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2858 from pp_c_unary_expression. Adjust.
2859 (c_pretty_printer::multiplicative_expression): Rename from
2860 pp_c_multiplicative_expression. Adjust.
2861 (c_pretty_printer::conditional_expression): Rename from
2862 pp_c_conditional_expression. Adjust.
2863 (c_pretty_printer::assignment_expression): Rename from
2864 pp_c_assignment_expression. Adjust.
2865 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2866 (c_pretty_printer::c_pretty_printer): Do not assign to
2867 unary_expression, multiplicative_expression,
2868 conditional_expression, expression.
2869
027d08ed 28702013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2871
2872 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2873 virtual member function.
2874 (pp_postfix_expression): Adjust.
2875 (pp_c_postfix_expression): Remove.
2876 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2877 from pp_c_postfix_expression. Adjust.
2878 (c_pretty_printer::c_pretty_printer): Do not assign to
2879 postfix_expression.
2880
f873303a 28812013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2882
2883 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2884 virtua member function.
2885 (pp_primary_expression): Adjust.
2886 (pp_c_primary_expression): Remove.
2887 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2888 from pp_c_primary_expression. Adjust.
2889 (pp_c_initializer_list): Use pp_primary_expression.
2890 (c_pretty_printer::c_pretty_printer): Do not assign to
2891 primary_expression.
2892
08e3e481 28932013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2894
2895 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2896 * c-pretty-print.c (M_): Remove.
2897 (c_pretty_printer::translate_string): Define.
2898 (pp_c_type_specifier): Use it.
2899 (pp_c_primary_expression): Likewise.
2900 (pp_c_expression): Likewise.
2901
1fc4a87f 29022013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2903
2904 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2905 virtual function.
2906 (pp_c_id_expression): Remove.
2907 (pp_id_expression): Adjust.
2908 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2909 pp_c_id_expression. Adjust.
2910 (pp_c_postfix_expression): Use pp_id_expression.
2911 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2912
a6cb161b 29132013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2914
2915 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2916 member function.
2917 (pp_constant): Adjust.
2918 (pp_c_constant): Remove.
2919 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2920 pp_c_constant. Adjust.
2921 (pp_c_constant)
2922 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2923 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2924
eed6bc21 29252013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2926
2927 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2928 (c_pretty_printer::c_pretty_printer): Declare.
2929 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2930 c_pretty_printer_init. Adjust.
2931 (print_c_tree): Do not call c_pretty_printer_init.
2932 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2933
df558d2e 29342013-08-09 Arnaud Charlet <charlet@adacore.com>
2935
2936 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2937
42f9a786 29382013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2939
2940 PR c++/58080
2941 * c-common.c (pointer_int_sum): Add bool parameter.
2942 * c-common.h (pointer_int_sum): Adjust declaration.
2943
f874ddad 29442013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2945
2946 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2947 c_pretty_printer variable.
2948
a94db6b0 29492013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2950
2951 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2952 (pp_base): Remove.
2953 (pp_c_base): Likewise. Adjust users.
2954 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2955 (pp_c_whitespace): Do not call pp_base.
2956 (pp_c_left_paren): Likewise.
2957 (pp_c_right_paren): Likewise.
2958 (pp_c_left_brace): Likewise.
2959 (pp_c_right_brace): Likewise.
2960 (pp_c_left_bracket): Likewise.
2961 (pp_c_right_bracket): Likewise.
2962 (pp_c_dot): Likewise.
2963 (pp_c_ampersand): Likewise.
2964 (pp_c_star): Likewise.
2965 (pp_c_arrow): Likewise.
2966 (pp_c_semicolon): Likewise.
2967 (pp_c_complement): Likewise.
2968 (pp_c_exclamation): Likewise.
2969 (pp_c_direct_declarator): Likewise.
2970 (pp_c_ws_string): Likewise.
2971 (pp_c_identifier): Likewise.
2972 (pp_c_statement): Likewise.
2973 (print_c_tree): Likewise.
2974
1898176c 29752013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2976
2977 PR c++/58072
2978 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2979 provide useful error strings.
2980
70d60d1d 29812013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2982
2983 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2984 printer functions instead of pp_string or operators and punctuators.
2985 (dump_generic_ada_node): Likewise.
2986 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2987 (pp_c_relational_expression): Likewise.
2988 (pp_c_logical_or_expression): Likewise.
2989
dda4f0ec 29902013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2991
2992 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2993 functions instead of pp_character.
2994 (pp_ada_tree_identifier): Likewise.
2995 (dump_ada_double_name): Likewise.
2996 (dump_ada_function_declaration): Likewise.
2997 (dump_ada_array_domains): Likewise.
2998 (dump_template_types): Likewise.
2999 (dump_generic_ada_node): Likewise.
3000 (print_ada_declaration): Likewise.
3001 (print_ada_struct_decl): Likewise.
3002 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3003
7aa04c8d 30042013-07-23 Tom Tromey <tromey@redhat.com>
3005
3006 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3007 * c-common.c (c_common_reswords): Add _Generic.
3008
a04e8d62 30092013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3010
3011 * c-common.c: Fix typos.
3012 * c-common.h: Likewise.
3013
a96c3cc1 30142013-07-13 Lubos Lunak <l.lunak@suse.cz>
3015
3016 PR c++/55203
3017 * c-common.c (c_common_attribute_table): Add warn_unused.
3018 (handle_warn_unused_attribute): New.
3019
da31536d 30202013-07-10 Jakub Jelinek <jakub@redhat.com>
3021
3022 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3023 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3024
839f2f70 30252013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3026
3027 PR c++/57869
3028 * c.opt: Add Wconditionally-supported.
3029
73f353d0 30302013-07-08 Graham Stott <graham.stott@btinternet.com>
3031
1f78217c 3032 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 3033 unused variables l_length and l_node.
3034
21ebaa24 30352013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 3036
3037 PR c/57821
3038 * c-common.c (complete_array_type): Delay folding first index
3039 like other indices. When folding, check for index overflow.
3040
68ea4406 30412013-06-27 Marc Glisse <marc.glisse@inria.fr>
3042
3043 PR c++/57509
3044 * c-common.h (c_build_vec_perm_expr): New complain argument.
3045 * c-common.c (c_build_vec_perm_expr): Likewise.
3046 Use save_expr also in C++.
3047
60777f69 30482013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3049
3050 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3051 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3052 * c-opts.c (c_common_post_options): Likewise.
3053
839f2f70 30542013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 3055
3056 * array-notation-common.c (length_mismatch_in_expr): Changed the
3057 parameter type's from a dynamic array to a vec_tree. Also removed
3058 the size parameters.
3059 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3060 the change above.
3061
e9331eab 30622013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3063
3064 * c-common.h (struct cilkplus_an_parts): New structure.
3065 (struct cilkplus_an_loop_parts): Likewise.
3066 (cilkplus_extract_an_triplets): New prototype.
3067 (fix_sec_implicit_args): Likewise.
3068 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3069 (fix_sec_implicit_args): Likewise.
60777f69 3070
a9c99fc4 30712013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3072
3073 * array-notation-common.c (find_inv_trees): Removed an unwanted
3074 typecasting.
3075 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3076 enum rid to enum tree_code.
3077
f2526cce 30782013-06-11 Jan Hubicka <jh@suse.cz>
3079
3080 * c-common.c (handle_alias_ifunc_attribute): Do not set
3081 DECL_EXTERNAL for weakref variables.
3082 * c-pragma.c (handle_pragma_weak): Make sure aliases
3083 are not declared as external.
3084
09970d67 30852013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3086
3087 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3088 function from c/c-array-notation.c.
3089 (is_cilkplus_reduce_builtin): Likewise.
3090 (find_rank): Likewise.
3091 (extract_array_notation_exprs): Likewise.
3092 (replace_array_notations): Likewise.
3093 (find_inv_trees): Likewise.
3094 (replace_inv_trees): Likewise.
3095 (contains_array_notation_expr): Likewise.
3096 (find_correct_array_notation_type): Likewise.
3097 * c-common.h (struct inv_list): Moved this struct from the file
3098 c/c-array-notation.c and added a new field called additional tcodes.
3099 (length_mismatch_in_expr_p): New prototype.
3100 (is_cilkplus_reduce_builtin): Likewise.
3101 (find_rank): Likewise.
3102 (extract_array_notation_exprs): Likewise.
3103 (replace_array_notation): Likewise.
3104 (find_inv_trees): Likewise.
3105 (replace_inv_trees): Likewise.
3106 (find_correct_array_notation_type): Likewise.
839f2f70 3107
3c6d4197 31082013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3109
3110 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3111 function array_notation_init_builtins is called.
3112 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3113 * c-common.def (ARRAY_NOTATION_REF): New tree.
3114 * c-common.h (build_array_notation_expr): New function declaration.
3115 (build_array_notation_ref): Likewise.
3116 (extract_sec_implicit_index_arg): New extern declaration.
3117 (is_sec_implicit_index_fn): Likewise.
3118 (ARRAY_NOTATION_CHECK): New define.
3119 (ARRAY_NOTATION_ARRAY): Likewise.
3120 (ARRAY_NOTATION_START): Likewise.
3121 (ARRAY_NOTATION_LENGTH): Likewise.
3122 (ARRAY_NOTATION_STRIDE): Likewise.
3123 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3124 ARRAY_NOTATION_REF.
3125 (pp_c_expression): Likewise.
3126 * c.opt (flag_enable_cilkplus): New flag.
3127 * array-notation-common.c: New file.
3128
8e71dad2 31292013-05-14 Jakub Jelinek <jakub@redhat.com>
3130
3131 PR c++/57274
3132 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3133
432dd330 31342013-05-10 Marc Glisse <marc.glisse@inria.fr>
3135
3136 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3137 vectors.
3138
b156ec37 31392013-05-07 Han Shen <shenhan@google.com>
3140
3141 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3142
1a087624 31432013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3144
3145 * c-common.c (check_user_alignment): Emit error for negative values.
3146
1638c736 31472013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3148
3149 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3150
949dbf93 31512013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3152
3153 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3154 __GXX_EXPERIMENTAL_CXX1Y__.
3155
9205a6cc 31562013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3157 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3158
3159 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3160 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3161 to simply use OPT_Wpointer_arith.
3162 (c_sizeof_or_alignof_type): Likewise.
3163
05d0bce1 31642013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3165
3166 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3167
41609f8b 31682013-04-12 Jakub Jelinek <jakub@redhat.com>
3169
3170 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3171 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3172 specifiers.
3173
c671dc4f 31742013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3175
3176 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3177
ba125576 31782013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3179
3180 * c-common.c (pointer_int_sum): Remove dead code.
3181
9d3fa937 31822013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3183
3184 PR middle-end/56524
3185 * c-common.c (handle_optimize_attribute): Don't call
3186 save_optabs_if_changed.
3187
5ceebb21 31882013-03-05 Jakub Jelinek <jakub@redhat.com>
3189
3190 PR middle-end/56461
3191 * c-pch.c (pch_init): Free target_validity at the end.
3192
18eeed2b 31932013-03-04 Jakub Jelinek <jakub@redhat.com>
3194
3195 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3196
a9196da9 31972013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3198 Jakub Jelinek <jakub@redhat.com>
3199
3200 PR sanitizer/56454
3201 * c-common.c (handle_no_sanitize_address_attribute): New function.
3202 (c_common_attribute_table): Add no_sanitize_address attribute.
3203 (handle_no_address_safety_analysis_attribute): Add
3204 no_sanitize_address attribute, not no_address_safety_analysis
3205 attribute.
3206
15c27dda 32072013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 3208
3209 PR target/52555
3210 * c-common.c (handle_optimize_attribute): Call
3211 save_optabs_if_changed.
3212
19426fe1 32132013-02-18 Jakub Jelinek <jakub@redhat.com>
3214 Steven Bosscher <steven@gcc.gnu.org>
3215
3216 PR pch/54117
3217 * c-opts.c (c_common_post_options): If debug info is enabled
3218 and non-dwarf*, refuse to load PCH files and when writing PCH
3219 file warn.
3220
df936998 32212013-02-05 Jakub Jelinek <jakub@redhat.com>
3222
3223 PR middle-end/56167
3224 * c-common.c (handle_error_attribute): Fix condition.
3225
ae0c3984 32262013-01-30 Jakub Jelinek <jakub@redhat.com>
3227
3228 PR c++/55742
3229 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3230
1c4973d7 32312013-01-18 Jason Merrill <jason@redhat.com>
3232
3233 PR target/54908
3234 * c.opt (-fextern-tls-init): New.
3235 * c-opts.c (c_common_post_options): Handle it.
3236
7c834436 32372013-01-09 Jakub Jelinek <jakub@redhat.com>
3238
3239 PR c/48418
3240 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3241 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3242 and is either negative or bigger or equal to type precision
3243 of the first operand.
3244
5abaa10a 32452012-12-03 Marek Polacek <polacek@redhat.com>
3246
3247 PR c/55570
3248 * c-common.c (check_user_alignment): Swap order of tests,
3249 check TREE_CODE first.
3250
324ca377 32512012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3252
3253 PR c++/52654
3254 * c-common.h (overflow_type): New enum.
3255 (build_userdef_literal): Add overflow_type argument.
3256 (tree_userdef_literal): Add overflow_type.
3257 (USERDEF_LITERAL_OVERFLOW): New access macro.
3258 * c-common.c (build_userdef_literal): Add overflow_type
3259 argument.
3260 * c-lex.c (c_lex_with_flags): Add overflow_type to
3261 build_userdef_literal calls.
3262 (interpret_integer, interpret_float): Add overflow_type argument.
3263
b4c4a429 32642012-11-28 Richard Biener <rguenther@suse.de>
3265
3266 PR c/35634
3267 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3268 here and use a type with proper overflow behavior for types that would
3269 need to be promoted for the arithmetic.
3270
d413ffdd 32712012-11-23 Jakub Jelinek <jakub@redhat.com>
3272
3273 PR sanitizer/55435
3274 * c-common.c (handle_no_address_safety_analysis_attribute): New
3275 function.
3276 (c_common_attribute_table): Add no_address_safety_analysis.
3277
52bc861d 32782012-11-16 Simon Baldwin <simonb@google.com>
3279
3280 * c.opt: Add f[no-]canonical-system-headers.
3281 * c-opts.c (c_common_handle_option): Handle
3282 OPT_fcanonical_system_headers.
3283
2dd00636 32842012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3285
3286 PR c++/54413
3287 * c-opts.c (c_common_handle_option): Set new flags.
3288 * c.opt: Describe new flags.
3289
d4701f6c 32902012-11-09 Jason Merrill <jason@redhat.com>
3291
3292 * c.opt (Wabi-tag): New.
3293
72d65da9 32942012-11-09 Andi Kleen <ak@linux.intel.com>
3295
3296 PR 55139
3297 * c-common.c (get_atomic_generic_size): Mask with
3298 MEMMODEL_MASK
3299
77a357e3 33002012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3301
3302 PR c/53063
3303 * c.opt (Wformat): Make it Alias Wformat=1.
3304 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3305 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3306 LangEnabledBy.
3307 (Wformat=): RejectNegative. Use LangEnabledBy.
3308 (Wnonnull): Use LangEnabledBy.
3309 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3310 * c-format.c (set_Wformat): Delete.
3311 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3312 (maybe_read_dollar_number): Likewise.
3313 (avoid_dollar_number): Likewise.
3314 (finish_dollar_format_checking): Likewise.
3315 (check_format_info): Likewise.
3316 (check_format_info_main): Likewise.
3317 (check_format_types): Likewise.
3318 (format_type_warning): Likewise.
3319 * c-common.c (int): Likewise.
3320 (check_function_sentinel): Likewise.
3321 * c-common.h (warn_format,set_Wformat): Do not declare here.
3322
45efa6b9 33232012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3324
3325 PR c/53063
3326 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3327 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3328 Use LangEnabledBy.
3329 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3330 common.opt.
3331 (Wvariadic-macros): Init(1).
3332 * c-opts.c (c_common_handle_option): Do not handle them
3333 explicitly.
3334 (c_common_post_options): Likewise.
3335 (sanitize_cpp_opts): warn_unused_macros is now
3336 cpp_warn_unused_macros.
3337 (push_command_line_include): Likewise.
3338 * c-common.c (warn_unknown_pragmas): Do not define.
3339 * c-common.h (warn_unknown_pragmas): Do not declare.
3340
0e4e775a 33412012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3342
3343 PR c/51294
3344 * c-common.c (conversion_warning): Handle conditional expressions.
3345
8b447d3f 33462012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3347
3348 PR c++/54930
3349 * c.opt (Wreturn_local_addr): Define new option.
3350
f4a61754 33512012-10-25 Jason Merrill <jason@redhat.com>
3352
ecb10e6a 3353 * c.opt (Wvirtual-move-assign): New.
3354
f4a61754 3355 * c.opt (Winherited-variadic-ctor): New.
3356
7b463b19 33572012-10-25 Marc Glisse <marc.glisse@inria.fr>
3358
3359 PR c++/54427
3360 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3361
6adc88f8 33622012-10-23 Joseph Myers <joseph@codesourcery.com>
3363
3364 * c-common.h (pch_cpp_save_state): Declare.
3365 * c-target.def (c_preinclude): New hook.
3366 * c-opts.c (done_preinclude): New.
3367 (push_command_line_include): Handle default preincluded header.
3368 (cb_file_change): Call pch_cpp_save_state when calling
3369 push_command_line_include.
3370 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3371 (pch_cpp_save_state): New.
3372 (pch_init): Call pch_cpp_save_state conditionally, instead of
3373 calling cpp_save_state.
3374
fa816b0b 33752012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3376
3377 PR c/53063
3378 PR c/40989
3379 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3380 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3381 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3382 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3383 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3384 * c-opts.c (c_common_handle_option): Remove explicit handling from
3385 here.
3386 (c_common_post_options): Likewise.
3387
d214ccee 33882012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3389
3390 * c-ada-spec.c (LOCATION_COL): Delete.
3391 (compare_location): New function.
3392 (compare_node): Use it.
3393 (compare_comment): Likewise.
3394
77b27208 33952012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3396
3397 PR c/53063
3398 PR c/40989
3399 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3400 * c-opts.c (c_common_handle_option): Do not set them here. Add
3401 comment.
3402 (c_common_post_options): Likewise.
3403
cc02ca4d 34042012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3405
3406 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3407 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3408 Remove POINTER_TYPE handling, add large unsigned handling and use
3409 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3410
57f872a2 34112012-10-12 Jakub Jelinek <jakub@redhat.com>
3412
3413 PR c/54381
3414 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3415 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3416 locs and array of 3 trees instead of just single loc and single
3417 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3418 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3419 For *cmp* builtins that take two sources strings report warnings
3420 about first and second source, not about destination and source.
3421
7354ad2e 34222012-10-12 Marc Glisse <marc.glisse@inria.fr>
3423
3424 PR c++/53055
3425 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3426
1ac7f120 34272012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3428
3429 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3430 declaring something coming from another file.
3431
1e0cc9e3 34322012-10-10 Arnaud Charlet <charlet@adacore.com>
3433
1ac7f120 3434 PR ada/54845
1e0cc9e3 3435 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3436
b0e7825e 34372012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3438
3439 PR c++/54194
3440 * c-common.c (warn_about_parentheses): Add location_t parameter;
3441 use EXPR_LOC_OR_LOC.
3442 * c-common.h: Update declaration.
3443
41ed701a 34442012-10-09 Marc Glisse <marc.glisse@inria.fr>
3445
3446 PR c++/54427
3447 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3448 more operations. Make error messages optional.
3449 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3450 (scalar_to_vector): Declare.
3451
3740094c 34522012-10-08 Jason Merrill <jason@redhat.com>
3453
3454 * c-common.c (c_common_reswords): Add thread_local.
3455
ffcdbf9c 34562012-10-08 Dodji Seketeli <dodji@redhat.com>
3457
3458 PR c++/53528 C++11 attribute support
3459 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3460 new functions.
3461 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3462 static function.
3463 (handle_aligned_attribute): In choose strictest alignment
3464 among many. Use new check_cxx_fundamental_alignment_constraints.
3465 (handle_transparent_union_attribute): In c++11 attribute syntax,
3466 don't look through typedefs.
3467
ef34afc1 34682012-10-04 Arnaud Charlet <charlet@adacore.com>
3469
3470 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3471 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3472 out of dumpfile.h.
3473
f1ff4562 34742012-09-25 Dehao Chen <dehao@google.com>
3475
3476 PR middle-end/54645
ef34afc1 3477 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 3478 map when read in the pch.
3479
735538a1 34802012-09-18 Arnaud Charlet <charlet@adacore.com>
3481
3482 * c-ada-spec.c: Style fixes.
3483
9120cdc8 34842012-09-18 Thomas Quinot <quinot@adacore.com>
3485
3486 * c.opt (-fada-spec-parent): Define new command line switch.
3487 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3488 is specified, generate binding spec as a child of the specified unit.
3489
8eba82c2 34902012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3491 Manuel López-Ibáñez <manu@gcc.gnu.org>
3492
3493 PR c++/53210
3494 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3495
38682990 34962012-08-23 Arnaud Charlet <charlet@adacore.com>
3497
3498 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3499 for pointers, and add missing Convention C pragma.
3500 (print_ada_struct_decl): Add missing aliased keyword.
3501 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3502
f003f5dc 35032012-08-17 Jakub Jelinek <jakub@redhat.com>
3504
3505 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3506 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3507 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3508 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3509 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3510
ec11736b 35112012-08-10 Richard Guenther <rguenther@suse.de>
3512
3513 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3514
5f7f600e 35152012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3516
3517 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3518 instead of separate pp_newline and pp_flush.
3519 (print_c_tree): Likewise.
3520
758a38ab 35212012-07-26 Richard Henderson <rth@redhat.com>
3522
3523 * c-common.c (handle_hot_attribute): Allow labels.
3524 (handle_cold_attribute): Likewise.
3525
9ca77b08 35262012-07-20 Jakub Jelinek <jakub@redhat.com>
3527
3528 PR c++/28656
3529 * c-common.c (check_function_nonnull): Handle multiple nonnull
3530 attributes properly.
3531
b9ed1410 35322012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3533
3534 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3535 * c-ada-spec.c: Likewise.
3536 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3537
c2a65b90 35382012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3539
3540 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3541 Remove code conditional on it.
3542
88c5a1d1 35432012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3544
3545 * c-gimplify.c: Do not include basic-block.h.
3546 * c-common.c: Do not include linfuncs.h.
3547
4a020a8c 35482012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3549
3550 * c-common.h: Include tree.h.
3551
c28ddc97 35522012-07-02 Jason Merrill <jason@redhat.com>
3553
3554 PR c++/53524
3555 * c-common.c (get_priority): Call default_conversion.
3556
405ed67f 35572012-07-01 Uros Bizjak <ubizjak@gmail.com>
3558
3559 * c-pch.c (c_common_write_pch): Remove unused variables.
3560
e53d55e7 35612012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3562
3563 * cppspec.c: Moved from gcc/ to here.
3564
3d9c25ec 35652012-06-27 Kai Tietz <ktietz@redhat.com>
3566
3567 PR preprocessor/37215
3568 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3569
3169c57a 35702012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3571
3572 * c-common.h (c_common_print_pch_checksum): Remove.
3573 * c-pch.c: Do not include output.h.
3574 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3575 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3576 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3577 (struct c_pch_header): Remove.
3578 (get_ident): Update gpch version.
3579 (pch_init): Do not print executable_checksum to asm_out_file.
3580 Do not fail if there is no asm_out_file to read back from. Set
3581 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3582 (c_common_write_pch): Verify that nothing was written to asm_out_file
3583 since pch_init was called. Do not write a c_pch_header, and do not
3584 copy from asm_out_file to the PCH.
3585 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3586 the content of asm_out_file from the PCH.
3587 (c_common_print_pch_checksum): Remove.
3588 * c-opts.c (c_common_init): Print out executable_checksum directly.
3589
ff6624bc 35902012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3591
3592 * c-target.def (objc_declare_unresolved_class_reference,
3593 objc_declare_class_definition): Add new hooks.
3594
367b1459 35952012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3596
3597 * c-lex.c: Do not include output.h.
3598 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3599 Remove uses of ASM_OUTPUT_IDENT.
3600
bf0cb017 36012012-06-15 Marc Glisse <marc.glisse@inria.fr>
3602
3603 PR c++/51033
3604 * c-common.h (c_build_vec_perm_expr): Move decl here.
3605 * c-common.c (c_build_vec_perm_expr): Move definition
3606 here.
3607
b37a3600 36082012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3609
3610 * c.opt (fconserve-space): Turn into a no-op.
3611
19931eea 36122012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 3613
3614 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
3615 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
3616 both the start and end of the function.
3617
dff12c10 36182012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3619
3620 * c-common.c: Do not include output.h.
3621 * c-pragma.c: Likewise.
3622
5f9e7dd5 36232012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3624
3625 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
3626 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
3627 (lang_decl_name): Handle namespace decls.
3628
b5369b7d 36292012-05-31 Steven Bosscher <steven@gcc.gnu.org>
3630
3631 * c-ada-spec.c: Do not include output.h.
3632 * c-semantics.c: Likewise.
3633
8032877c 36342012-05-29 Joseph Myers <joseph@codesourcery.com>
3635
3636 * c-common.c: Fix typo.
3637
7843e4bc 36382012-05-29 Michael Matz <matz@suse.de>
3639
3640 * c-common.h (c_expand_decl): Remove prototype.
3641
8cf857d4 36422012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3643
3644 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
3645 * c-opts.c (c_common_handle_option): Remove code handling
3646 warn_missing_braces.
3647
8b64dc3c 36482012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
3649
3650 PR c++/25137
3651 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
3652 -Wmissing_braces.
3653
43cbde16 36542012-05-22 Dodji Seketeli <dodji@redhat.com>
3655
3656 PR c++/53322
3657 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
3658
db490cb6 36592012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
3660
3661 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
3662 * c-opts.c (c_common_handle_option): Do not handle explicitly
3663 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
3664
a60f3e81 36652012-05-16 Dodji Seketeli <dodji@redhat.com>
3666
3667 PR preprocessor/7263
3668 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
3669 to cpp_classify_number. For diagnostics, use the precise location
3670 instead of the global input_location.
3671
82e6ef7c 36722012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3673
cd4797ff 3674 PR c++/11856
82e6ef7c 3675 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
3676
258a168d 36772012-05-14 Bernd Schmidt <bernds@codesourcery.com>
3678
82e6ef7c 3679 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 3680
d3b7ee7c 36812012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3682
3683 PR 53063
3684 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
3685 Wreorder): Use LangEnabledBy.
3686 * c-opts.c (c_common_handle_option): Do not enable them
3687 explicitly. Call lang-specific generated functions.
3688 (c_common_post_options): Do not set them here.
3689
70059cea 36902012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3691
3692 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
3693 Wmissing-field-initializers,Wmissing-parameter-type,
3694 Wold-style-declaration,Woverride-init): Use EnabledBy.
3695 * c-opts.c (c_common_post_options): Do not set here explicitly.
3696
fbb6fbd8 36972012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3698
3699 PR 53063
3700 * c-opts.c (c_common_handle_option): Use handle_generated_option
3701 to enable sub-options.
3702
61f69bc9 37032012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
3704
3705 PR c++/53158
3706 * c-common.c (warnings_for_convert_and_check): Use warning_at.
3707
5a1fe2db 37082012-05-10 Richard Guenther <rguenther@suse.de>
3709
3710 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
3711 adjust commentary about TYPE_IS_SIZETYPE types.
3712
d42e7c5a 37132012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3714
3715 PR c++/53261
3716 * c-common.c (warn_logical_operator): Check that argument of
3717 integer_zerop is not NULL.
3718
686369e8 37192012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
3720
3721 PR c/43772
3722 * c-common.c (warn_logical_operator): Do not warn if either side
3723 is already true or false.
3724
03fe1dc2 37252012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3726
3727 PR c/51712
3728 * c-common.c (expr_original_type): New.
3729 (shorten_compare): Do not warn for enumeration types.
3730
bba5a206 37312012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3732
3733 * c.opt (fpermissive): Add Var(flag_permissive).
3734
7059d45d 37352012-04-30 Marc Glisse <marc.glisse@inria.fr>
3736
3737 PR c++/51033
3738 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3739 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3740
7edb1062 37412012-04-30 Dodji Seketeli <dodji@redhat.com>
3742
3743 Add -Wvarargs option
3744 * c.opt (Wvarargs): Define new option.
3745
068bea1e 37462012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3747
3748 * c-common.c (check_function_arguments): Replace
3749 Wmissing-format-attribute with Wsuggest-attribute=format.
3750
b86527d8 37512012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3752
3753 * c.opt (Wsuggest-attribute=format): New. Alias of
3754 Wmissing-format-attribute.
3755 * c-format.c (decode_format_type): Replace
3756 Wmissing-format-attribute with Wsuggest-attribute=format.
3757 (check_function_format): Likewise.
3758
19931eea 37592012-04-27 Ollie Wild <aaw@google.com>
76d340ac 3760
3761 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
3762 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
3763 * c.opt: Add Wliteral-suffix.
3764
29438999 37652012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3766
3767 PR c/44774
3768 * c.opt (Wpedantic): New.
3769 (pedantic): Alias Wpedantic.
3770 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3771 (c_common_post_options): Likewise.
3772 (sanitize_cpp_opts): Likewise.
3773 * c-lex.c (interpret_float): Likewise.
3774 * c-format.c (check_format_types): Likewise.
3775 * c-common.c (pointer_int_sum): Likewise.
3776 (c_sizeof_or_alignof_type): Likewise.
3777 (c_add_case_label): Likewise.
3778 (c_do_switch_warnings): Likewise.
3779 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3780
4f9d6b8b 37812012-04-15 Jason Merrill <jason@redhat.com>
3782
3783 PR c++/52818
3784 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3785 (C_STD_NAME): Distinguish between C++98 and C++11.
3786
74bdbe96 37872012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3788
3789 PR target/52624
3790 * c-common.h (uint16_type_node): Rename into...
3791 (c_uint16_type_node): ...this.
3792 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3793 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3794
3d177e8c 37952012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3796
3797 * c-common.c (warn_if_unused_value): Move definition to here.
3798 * c-common.h (warn_if_unused_value): Move declaration to here.
3799
6a9a958f 38002012-03-23 William Bader <williambader@hotmail.com>
3801
3802 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3803
543efdbe 38042012-03-20 Jason Merrill <jason@redhat.com>
3805
3806 * c-common.h (enum cxx_dialect): Add cxx1y.
3807 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3808 test.
3809 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3810 * c-opts.c (c_common_post_options): Likewise.
3811 (set_std_cxx1y): New.
3812 (c_common_handle_option): Call it.
3813 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3814
62206d34 38152012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3816
3817 PR c++/14710
3818 * c.opt ([Wuseless-cast]): Add.
3819
fadf62f4 38202012-03-16 Richard Guenther <rguenther@suse.de>
3821
3822 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3823
249faa35 38242012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3825
3826 PR c++/44783
3827 * c.opt (ftemplate-backtrace-limit) Add.
3828
126b6848 38292012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3830
3831 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3832 handling.
3833 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3834 (init_pragma): Don't register extern_prefix.
3835
a51edb4c 38362012-03-12 Richard Guenther <rguenther@suse.de>
3837
3838 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3839 (builtin_type_for_size): Likewise.
3840
0f6a7cb7 38412012-02-13 Jakub Jelinek <jakub@redhat.com>
3842
3843 PR c++/52215
3844 * c-common.c (sync_resolve_params): Don't decide whether to convert
3845 or not based on TYPE_SIZE comparison, convert whenever arg_type
3846 is unsigned INTEGER_TYPE.
3847
0779e32c 38482012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3849
3850 PR c/52118
3851 * c.opt ([Wunused-local-typedefs]): Fix description.
3852
baec58e1 38532012-01-24 Mike Stump <mikestump@comcast.net>
3854
3855 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3856 exactly.
3857
c779d8cc 38582012-01-18 Richard Guenther <rguenther@suse.de>
3859
3860 * c-opts.c (c_common_post_options): Reset LTO flags if
3861 we are about to generate a PCH.
3862
ee917d24 38632012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3864
3865 PR c++/51777
3866 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3867 use pp_unsigned_wide_integer.
3868
90e2341f 38692012-01-10 Richard Guenther <rguenther@suse.de>
3870
3871 PR middle-end/51806
3872 * c-opts.c (c_common_handle_option): Move -Werror handling
3873 to language independent code.
3874
9ea022ce 38752012-01-05 Richard Guenther <rguenther@suse.de>
3876
3877 PR middle-end/51764
3878 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3879 from common.opt.
3880
3df19e1b 38812011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3882
3883 PR c++/51316
3884 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3885 of array types with an unknown bound.
3886
32074525 38872011-12-20 Joseph Myers <joseph@codesourcery.com>
3888
3889 * c-common.c (flag_isoc99): Update comment to refer to C11.
3890 (flag_isoc1x): Change to flag_isoc11.
3891 * c-common.h (flag_isoc99): Update comment to refer to C11.
3892 (flag_isoc1x): Change to flag_isoc11.
3893 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3894 C11.
3895 * c-opts.c (set_std_c1x): Change to set_std_c11.
3896 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3897 Call set_std_c11.
3898 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3899 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3900 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3901 standard.
3902 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3903 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3904 (std=gnu1x): Make alias of std=gnu11.
3905
fca86134 39062011-12-19 Jason Merrill <jason@redhat.com>
3907
3908 PR c++/51228
3909 * c-common.c (handle_transparent_union_attribute): Check the first
3910 field if the type is complete.
3911
aa4313eb 39122011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3913
3914 PR libstdc++/51365
3915 * c-common.c (RID_IS_FINAL): Add.
3916 * c-common.h (RID_IS_FINAL): Add.
3917
3f3d5ad4 39182011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3919
3920 * c.opt (fgnu-runtime): Provide full description.
3921 (fnext-runtime): Likewise.
3922 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3923
c4606d19 39242011-11-28 Andrew MacLeod <amacleod@redhat.com>
3925
3926 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3927 predefines in one place. Add LOCK_FREE predefines.
3928 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3929 new func.
3930
1d581089 39312011-11-24 Andrew MacLeod <amacleod@redhat.com>
3932
3933 PR c/51256
19931eea 3934 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 3935 conditions
19931eea 3936 (resolve_overloaded_atomic_exchange,
3937 resolve_overloaded_atomic_compare_exchange,
1d581089 3938 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3939 error_mark_node for error conditions.
19931eea 3940
6aa221fa 39412011-11-08 Richard Guenther <rguenther@suse.de>
3942
3943 PR middle-end/51010
3944 c-family/
3945
4c0315d0 39462011-11-07 Richard Henderson <rth@redhat.com>
3947 Aldy Hernandez <aldyh@redhat.com>
3948 Torvald Riegel <triegel@redhat.com>
3949
3950 Merged from transactional-memory.
3951
3952 * c-common.c (handle_tm_wrap_attribute,
3953 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3954 (struct c_common_reswords): Added __transaction* keywords.
3955 (struct c_common_attribute_table): Added transaction* and tm_regparm
3956 attributes.
3957 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3958 masks.
3959 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3960 find_tm_attribute): Declare.
3961
920f5a70 39622011-11-07 Jason Merrill <jason@redhat.com>
3963
3964 PR c++/35688
3965 * c-common.c, c-common.h: Revert yesterday's changes.
3966
b4f861b4 39672011-11-06 Jason Merrill <jason@redhat.com>
3968
3969 PR c++/35688
3970 * c-common.c (decl_has_visibility_attr): Split out from...
3971 (c_determine_visibility): ...here.
3972 * c-common.h: Declare it.
3973
83e25171 39742011-11-06 Joseph Myers <joseph@codesourcery.com>
3975
3976 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3977 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3978 type.
3979 (check_user_alignment): New. Split out of
3980 handle_aligned_attribute. Disallow integer constants with
3981 noninteger types. Conditionally allow zero.
3982 (handle_aligned_attribute): Use check_user_alignment.
3983 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3984
1cd6e20d 39852011-11-06 Andrew MacLeod <amacleod@redhat.com>
3986 Richard Henderson <rth@redhat.com>
3987
3988 Merged from cxx-mem-model.
3989
3990 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 3991 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 3992 parameters that are the same type size.
3993 (get_atomic_generic_size): New. Find size of generic
3994 atomic function parameters and do typechecking.
3995 (add_atomic_size_parameter): New. Insert size into parameter list.
3996 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3997 either __atomic_exchange_n or external library call.
19931eea 3998 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 3999 __atomic_compare_exchange to either _n variant or external library call.
19931eea 4000 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 4001 __atomic_load_n or an external library call.
4002 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4003 __atomic_store_n or an external library call.
4004 (resolve_overloaded_builtin): Handle new __atomic builtins.
4005
7549df0d 40062011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4007
4008 PR c++/50608
4009 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4010 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4011 <INDIRECT_REF>: Return the argument.
4012 <ARRAY_REF>: Remove special code for negative offset.
4013 Call fold_build_pointer_plus instead of size_binop.
4014 (fold_offsetof): Remove STOP_REF argument and adjust.
4015 * c-common.h (fold_offsetof_1): Declare.
4016 (fold_offsetof): Remove STOP_REF argument.
4017
7e783eb3 40182011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4019
4020 PR c++/50810
4021 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4022 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4023 Wnarrowing for C++0x and C++98.
4024 * c.opt ([Wnarrowing]): Update.
4025
8fe701f5 40262011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4027
4028 PR c++/44277
4029 * c.opt: Add Wzero-as-null-pointer-constant.
4030
0d84dc2d 40312011-10-31 Jason Merrill <jason@redhat.com>
4032
67031f52 4033 * c.opt (-fdeduce-init-list): Off by default.
4034
0d84dc2d 4035 PR c++/50920
4036 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4037 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4038 and -Wc++11-compat.
4039 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4040
66f24c41 40412011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4042
4043 PR c++/30066
4044 * c.opt (fvisibility-inlines-hidden): Description change.
4045
244db24d 40462011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4047
4048 Implement C++11 user-defined literals.
4049 * c-common.c (build_userdef_literal): New.
4050 * c-common.def: New tree code.
4051 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4052 * c-lex.c (interpret_float): Add suffix parm.
4053 (c_lex_with_flags): Build literal tokens.
4054
235be70f 40552011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4056
4057 PR c++/50841
4058 Revert:
4059 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4060
4061 PR c++/50810
4062 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4063 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4064 Wnarrowing for C++0x and C++98.
4065 * c.opt ([Wnarrowing]): Update.
4066
4fe0fb1c 40672011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4068
4069 PR c++/50810
4070 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4071 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4072 Wnarrowing for C++0x and C++98.
4073 * c.opt ([Wnarrowing]): Update.
4074
5f7504f9 40752011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4076
4077 PR c++/45385
4078 * c-common.c (conversion_warning): Remove code looking for
4079 artificial operands.
4080
2a688977 40812011-10-18 Dodji Seketeli <dodji@redhat.com>
4082
4083 PR bootstrap/50760
4084 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 4085 !NO_IMPLICIT_EXTERN_C.
2a688977 4086
326e3391 40872011-10-17 Michael Spertus <mike_spertus@symantec.com>
4088
4089 * c-common.c (c_common_reswords): Add __bases,
4090 __direct_bases.
4091 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4092
40932011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4094
4095 PR c++/50757
4096 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4097
62db153a 40982011-10-15 Tom Tromey <tromey@redhat.com>
4099 Dodji Seketeli <dodji@redhat.com>
4100
4101 * c.opt (fdebug-cpp): New option.
4102 * c-opts.c (c_common_handle_option): Handle the option.
4103 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4104 output stream in parameter. Factorized from ...
4105 (maybe_print_line): ... this. Dump location debug information when
4106 -fdebug-cpp is in effect.
4107 (print_line_1): New static function. Takes an output stream in
4108 parameter. Factorized from ...
4109 (print_line): ... here. Dump location information when -fdebug-cpp
4110 is in effect.
4111 (scan_translation_unit): Dump location information when
4112 -fdebug-cpp is in effect.
4113
ce70f433 41142011-10-15 Tom Tromey <tromey@redhat.com>
4115 Dodji Seketeli <dodji@redhat.com>
4116
4117 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4118 without argument.
4119 * c-opts.c (c_common_handle_option)<case
4120 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4121 cases. Handle -ftrack-macro-expansion with and without argument.
4122
97bfb9ef 41232011-10-15 Tom Tromey <tromey@redhat.com>
4124 Dodji Seketeli <dodji@redhat.com>
4125
4126 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4127 (print_line, cb_define, do_line_change): Adjust to avoid touching
4128 the internals of struct line_map. Use the public API instead.
4129 * c-pch.c (c_common_read_pch): Likewise.
4130 * c-lex.c (fe_file_change): Likewise.
4131
326e3391 41322011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4133
4134 PR c++/17212
4135 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4136
41372011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4138
4139 PR c++/33067
4140 * c-pretty-print.c (pp_c_floating_constant): Output
4141 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4142
b9a16870 41432011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4144
4145 * c-common.c (def_builtin_1): Delete old interface with two
4146 parallel arrays to hold standard builtin declarations, and replace
4147 it with a function based interface that can support creating
4148 builtins on the fly in the future. Change all uses, and poison
4149 the old names. Make sure 0 is not a legitimate builtin index.
4150 * c-omp.c (c_finish_omp_barrier): Ditto.
4151 (c_finish_omp_taskwait): Ditto.
4152 (c_finish_omp_flush): Ditto.
4153
c7964868 41542011-10-11 Tristan Gingold <gingold@adacore.com>
4155
4156 * c.opt: (fallow-parameterless-variadic-functions): New.
4157
a4e3ffad 41582011-09-08 Dodji Seketeli <dodji@redhat.com>
4159
4160 PR c++/33255 - Support -Wunused-local-typedefs warning
4161 * c-common.h (struct c_language_function::local_typedefs): New
4162 field.
19931eea 4163 (record_locally_defined_typedef, maybe_record_typedef_use)
4164 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 4165 * c-common.c (record_locally_defined_typedef)
19931eea 4166 (maybe_record_typedef_use)
4167 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 4168 * c.opt: Declare new -Wunused-local-typedefs flag.
4169
737a23cc 41702011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4171
4172 PR middle-end/50266
4173 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4174 computations.
4175
7542c3b4 41762011-09-05 Richard Guenther <rguenther@suse.de>
4177
4178 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4179 of integer_minus_one_node for empty array upper bounds.
4180
1dc92c59 41812011-08-28 Dodji Seketeli <dodji@redhat.com>
4182
4183 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4184 it's the first time it's being called on this main TU.
4185
2bdf2b6e 41862011-08-24 Richard Guenther <rguenther@suse.de>
4187
4188 PR c/49396
4189 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4190
41912011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 4192
4193 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4194 defined in cpp_init_builtins and c_cpp_builtins.
4195
bff4ad11 41962011-08-19 Joseph Myers <joseph@codesourcery.com>
4197
4198 * c-common.c (c_common_reswords): Add __builtin_complex.
4199 * c-common.h (RID_BUILTIN_COMPLEX): New.
4200
985c6e3a 42012011-08-18 Joseph Myers <joseph@codesourcery.com>
4202
4203 * c-common.c (c_common_reswords): Add _Noreturn.
4204 (keyword_is_function_specifier): Handle RID_NORETURN.
4205 * c-common.h (RID_NORETURN): New.
4206
7dfa155b 42072011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4208
4209 * c-common.c (unsafe_conversion_p): New function. Check if it is
4210 unsafe to convert an expression to the type.
4211 (conversion_warning): Adjust, use unsafe_conversion_p.
4212 * c-common.h (unsafe_conversion_p): New function declaration.
4213
2169f33b 42142011-08-02 Jakub Jelinek <jakub@redhat.com>
4215
4216 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4217 (c_finish_omp_taskyield): New prototype.
4218 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4219 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4220 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4221 or RHS1 have side-effects, evaluate those too in the right spot,
4222 if it is a decl and LHS is also a decl, error out if they
4223 aren't the same.
4224 (c_finish_omp_taskyield): New function.
4225 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4226 * c-pragma.c (omp_pragmas): Add taskyield.
4227 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4228 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4229 PRAGMA_OMP_CLAUSE_MERGEABLE.
4230
ab77850e 42312011-07-25 Dodji Seketeli <dodji@redhat.com>
4232
4233 * c-common.h (set_underlying_type): Remove parm name from
4234 declaration.
4235
6ee97920 42362011-07-25 Romain Geissler <romain.geissler@gmail.com>
4237
4238 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 4239
dc251364 42402011-07-22 Jason Merrill <jason@redhat.com>
4241
1a2a35f0 4242 PR c++/49793
4243 * c.opt (Wnarrowing): New.
4244
27282252 4245 PR c++/30112
4246 * c-common.h: Declare c_linkage_bindings.
4247 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4248
dc251364 4249 PR c++/49813
4250 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4251 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4252 as flag_isoc99 for 'restrict'.
4253 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4254
fc501191 42552011-07-21 Ian Lance Taylor <iant@google.com>
4256
4257 PR middle-end/49705
4258 * c-common.c (c_disable_warnings): New static function.
4259 (c_enable_warnings): New static function.
4260 (c_fully_fold_internal): Change local unused_p to bool. Call
4261 c_disable_warnings and c_enable_warnings rather than change
4262 c_inhibit_evaluation_warnings.
4263
07b8f133 42642011-07-20 Jason Merrill <jason@redhat.com>
4265
4266 PR c++/6709 (DR 743)
4267 PR c++/42603 (DR 950)
4268 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4269 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4270 (CPP_DECLTYPE): New.
4271 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4272
2cc66f2a 42732011-07-19 Richard Guenther <rguenther@suse.de>
4274
4275 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4276 * c-omp.c (c_finish_omp_for): Likewise.
4277
3c802a1e 42782011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4279
4280 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4281 body on the next line.
4282
98a33d9f 42832011-07-08 Jason Merrill <jason@redhat.com>
4284
3115bda0 4285 PR c++/45437
4286 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4287
98a33d9f 4288 PR c++/49673
4289 * c-common.c (c_apply_type_quals_to_decl): Don't check
4290 TYPE_NEEDS_CONSTRUCTING.
4291
c38a75b7 42922011-07-06 Richard Guenther <rguenther@suse.de>
4293
4294 * c-common.c (c_common_nodes_and_builtins):
4295 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4296
e593356b 42972011-07-05 Richard Guenther <rguenther@suse.de>
4298
4299 * c-common.c (c_common_nodes_and_builtins): Build all common
4300 tree nodes first.
4301
fca0886c 43022011-06-27 Jakub Jelinek <jakub@redhat.com>
4303
a68f7a8d 4304 * c-common.h (c_tree_chain_next): New static inline function.
4305
fca0886c 4306 * c-common.c (check_builtin_function_arguments): Handle
4307 BUILT_IN_ASSUME_ALIGNED.
4308
2797f13a 43092011-06-21 Andrew MacLeod <amacleod@redhat.com>
4310
4311 * c-common.c: Add sync_ or SYNC__ to builtin names.
4312 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 4313
43142011-06-20 Pierre Vittet <piervit@pvittet.com>
4315
4316 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4317 handler.
4318 (gen_pragma_handler): New union.
4319 (internal_pragma_handler): New type.
4320 (c_register_pragma_with_data)
4321 (c_register_pragma_with_expansion_and_data): New functions.
4322
4323 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4324 (c_register_pragma, c_register_pragma_with_expansion)
4325 (c_invoke_pragma_handler): Changed to work with
4326 internal_pragma_handler.
4327 (c_register_pragma_with_data)
4328 (c_register_pragma_with_expansion_and_data): New functions.
4329
218e3e4e 43302011-06-14 Joseph Myers <joseph@codesourcery.com>
4331
4332 * c-common.c: Include common/common-target.h.
4333 (handle_section_attribute): Use
4334 targetm_common.have_named_sections.
4335 * c-cppbuiltin.c: Include common/common-target.h.
4336 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4337
41e53ed2 43382011-06-10 Richard Guenther <rguenther@suse.de>
4339
4340 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4341 to print a IDENTIFIER_NODE.
4342
a6f06169 43432011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4344 Joseph Myers <joseph@codesourcery.com>
4345
4346 * c.opt (fbuilding-libgcc): New option.
4347 * c-cppbuiltin.c (c_cpp_builtins): Define
4348 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4349
1ea9269b 43502011-06-07 Jason Merrill <jason@redhat.com>
4351
8ce59854 4352 * c-common.c (max_tinst_depth): Lower default to 900.
4353
1ea9269b 4354 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4355
1af0124d 43562011-06-07 Richard Guenther <rguenther@suse.de>
4357
4358 * c-common.c (c_common_nodes_and_builtins): Do not set
4359 size_type_node or call set_sizetype.
4360
0e9a4c01 43612011-06-07 Dodji Seketeli <dodji@redhat.com>
4362
4363 PR debug/49130
4364 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 4365 type when using pointer comparison to compare types.
0e9a4c01 4366
90b40725 43672011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4368
4369 * c.opt: Add -Wdelete-non-virtual-dtor.
4370 * c-opts.c (c_common_handle_option): Include it in -Wall.
4371
fc9c9e87 43722011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4373
4374 PR bootstrap/49190
4375
4376 Revert:
4377 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4378
4379 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4380 not tree_common.
4381
d0389adc 43822011-05-27 Jakub Jelinek <jakub@redhat.com>
4383
4384 PR c++/49165
4385 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4386 C++ don't call c_common_truthvalue_conversion on void type arms.
4387
cacfdc02 43882011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4389
4390 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4391 (stmt_list_stack): Define.
4392 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4393 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4394
027fc6ef 43952011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4396
4397 * c-common.c (warning_candidate_p): Check for BLOCKs.
4398
f21317a1 43992011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4400
4401 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4402 not tree_common.
4403
789e953d 44042011-05-25 Jakub Jelinek <jakub@redhat.com>
4405
4406 * c-common.c (def_fn_type): Remove extra va_end.
4407
7f506bca 44082011-05-23 Jason Merrill <jason@redhat.com>
4409
4410 PR c++/48106
4411 * c-common.c (c_common_get_narrower): New.
4412 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4413
774e9d58 44142011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4415
4416 * c-common.h (check_function_arguments): Tweak prototype of
4417 check_function_arguments.
4418 * c-common.c (check_function_arguments): Likewise. Adjust
4419 calls to check_function_nonnull, check_function_format, and
4420 check_function_sentinel.
4421 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4422 separate attributes and typelist arguments. Use
4423 FOREACH_FUNCTION_ARGS to iterate over argument types.
4424
23407dc9 44252011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4426
4427 * c-common.c (c_common_reswords): Reorder.
4428 * c-common.h (rid): Likewise.
4429
3a939d12 44302011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4431
4432 * c-common.c (def_fn_type): Don't call build_function_type, call
4433 build_function_type_array or build_varargs_function_type_array
4434 instead.
4435 (c_common_nodes_and_builtins): Likewise.
4436
b6e3dd65 44372011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4438
4439 * c-common.c (c_add_case_label): Omit the loc argument to
4440 build_case_label.
4441 * c-common.h (build_case_label): Remove.
4442 * c-semantics.c (build_case_label): Remove.
4443
4232a958 44442011-05-05 Joseph Myers <joseph@codesourcery.com>
4445
4446 * c-objc.h (objc_start_method_definition): Update prototype.
4447 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4448
d0af78c5 44492011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4450
4451 * c-common.c (check_main_parameter_types): Reindent. Don't use
4452 TYPE_ARG_TYPES directly.
4453 (handle_nonnull_attribute): Likewise.
4454 (sync_resolve_params): Likewise.
4455 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4456 to check_format_string.
4457 (handle_format_attribute): Likewise.
4458 (check_format_string): Take a function type to examine instead of
4459 a type list. Use a function_arg_iterator to step through argument
4460 types.
4461
ceb7b692 44622011-05-04 Richard Guenther <rguenther@suse.de>
4463
4464 * c-common.c (fix_string_type): Use size_int for index type bounds.
4465 (start_fname_decls): Do not pass NULL to build_int_cst.
4466 (c_init_attributes): Likewise.
4467 * c-lex.c (c_lex_with_flags): Likewise.
4468
c66c81be 44692011-04-27 Jason Merrill <jason@redhat.com>
4470
4471 * c-common.c (make_tree_vector_from_list): New.
4472 * c-common.h: Declare it.
4473
16930c72 44742011-04-26 Richard Guenther <rguenther@suse.de>
4475
4476 PR preprocessor/48248
4477 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4478 for output size with -P.
4479
23407dc9 44802011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4481
4482 * c-common.c (struct c_common_resword): Add __underlying_type.
4483 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4484
dd045aee 44852011-04-20 Jim Meyering <meyering@redhat.com>
4486
4487 * c-format.c (init_dollar_format_checking): Remove useless
4488 if-before-free.
4489
394dd737 44902011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4491
4492 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 4493 (objc_detect_field_duplicates): New.
394dd737 4494 * stub-objc.c: Likewise.
23407dc9 4495
a758bf7d 44962011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4497
4498 * stub-objc.c (objc_declare_protocols): Renamed to
4499 objc_declare_protocol.
4500 * c-objc.h: Likewise.
23407dc9 4501
29d7200d 45022011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4503
4504 * stub-objc.c (objc_declare_class): Updated argument name.
4505
9b88d08d 45062011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4507
4508 * c-common.h (c_common_init_ts): Declare.
4509 * c-common.c (c_common_init_ts): Define.
4510
4185cf58 45112011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4512
4513 * c-objc.h (objc_build_message_expr): Updated prototype.
4514 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 4515
5a90471f 45162011-04-12 Martin Jambor <mjambor@suse.cz>
4517
4518 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4519 of cgraph_node.
4520
783bb57e 45212011-04-11 Richard Guenther <rguenther@suse.de>
4522
4523 * c-common.c (complete_array_type): Build a range type of
4524 proper type.
4525
c33080b9 45262011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4527
4528 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4529 (handle_type_generic_attribute): Likewise.
4530
f8913d47 45312011-04-07 Jason Merrill <jason@redhat.com>
4532
4533 PR c++/48450
4534 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4535 conversion from C++0x scoped enum.
4536
c94b1d0e 45372011-04-06 Joseph Myers <joseph@codesourcery.com>
4538
4539 * c-target-def.h: New file.
4540 * c-target.def: New file.
4541 * c-target.h: New file.
4542 * c-common.c (targetcm): Don't define here.
4543 * c-common.h (default_handle_c_option): Declare.
4544 * c-format.c: Include c-target.h instead of target.h.
4545 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4546 include tm.h.
4547 (default_handle_c_option): Move from targhooks.c.
4548
acb10f41 45492011-03-29 Jakub Jelinek <jakub@redhat.com>
4550
4551 PR preprocessor/48248
4552 * c-ppoutput.c (print): Add src_file field.
4553 (init_pp_output): Initialize it.
4554 (maybe_print_line): Don't optimize by adding up to 8 newlines
4555 if map->to_file and print.src_file are different file.
4556 (print_line): Update print.src_file.
4557
82715bcd 45582011-03-25 Kai Tietz <ktietz@redhat.com>
4559
4560 * c-ada-spec.c (compare_comment): Use filename_cmp
4561 instead of strcmp for filename.
4562
451c8e2f 45632011-03-25 Jeff Law <law@redhat.com>
4564
1f78217c 4565 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 4566
3c47771c 45672011-03-25 Jason Merrill <jason@redhat.com>
4568
4569 * c.opt: Add -std=c++03.
4570
97e6200f 45712011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4572
4573 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4574
ac86af5d 45752011-03-17 Kai Tietz
4576
4577 PR target/12171
ee212425 4578 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4579 Display allowed attributes for function pointer types.
4580 (pp_c_attributes_display): New function to display
4581 attributes having affects_type_identity flag set to true.
4582 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4583
ac86af5d 4584 * c-common.c (c_common_attribute_table):
4585 Add new element.
4586 (c_common_format_attribute_table): Likewise.
4587
914d1151 45882011-03-18 Jason Merrill <jason@redhat.com>
4589
69788bdf 4590 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4591 * c-common.h: Don't declare it here.
4592 * c-common.c: Or define it here.
4593 * c-opts.c (c_common_handle_option): Or set it here.
4594
914d1151 4595 PR c++/35315
4596 * c-common.c (handle_transparent_union_attribute): Don't
4597 make a duplicate type in C++.
4598
54cf6eed 45992011-03-15 Jason Merrill <jason@redhat.com>
4600
4601 * c-common.c (max_constexpr_depth): New.
4602 * c-common.h: Declare it.
4603 * c-opts.c (c_common_handle_option): Set it.
4604 * c.opt (fconstexpr-depth): New option.
4605
02cb1060 46062011-03-11 Jason Merrill <jason@redhat.com>
4607
9bf1c74e 4608 * c-common.c (attribute_takes_identifier_p): Add missing const.
4609
02cb1060 4610 PR c++/46803
4611 * c-common.c (attribute_takes_identifier_p): Assume that an
4612 unknown attribute takes an identifier.
4613
ecf2703d 46142011-03-07 Nathan Froyd <froydnj@codesourcery.com>
4615
4616 PR c/47786
4617 * c-common.c (c_type_hash): Call list_length instead of iterating
4618 through DECL_CHAIN. Rename 'i' to 'n_elements'.
4619
2b19dfe4 46202011-02-19 Jakub Jelinek <jakub@redhat.com>
4621
4622 PR c/47809
4623 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
4624
29cf2335 46252011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4626
4627 * c.opt (fobjc-abi-version=) New.
4628 (fobjc-nilcheck): New.
4629
fad3f658 46302011-02-03 Nathan Froyd <froydnj@codesourcery.com>
4631
4632 PR c++/46890
4633 * c-common.h (keyword_is_decl_specifier): Declare.
4634 * c-common.c (keyword_is_decl_specifier): Define.
4635 (keyword_is_function_specifier): New function.
4636
a12319b3 46372011-01-26 Jakub Jelinek <jakub@redhat.com>
4638
4639 PR c/47473
4640 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
4641 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
4642 REAL_TYPE.
4643
5c128dc8 46442011-01-26 Arnaud Charlet <charlet@adacore.com>
4645
4646 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
4647
8d67b0c7 46482011-01-26 Jakub Jelinek <jakub@redhat.com>
4649
4650 PR pch/47430
4651 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
4652 after init_c_lex if pch_file is set.
4653
0675168d 46542011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4655
e8911163 4656 PR c++/43601
0675168d 4657 * c.opt (-fkeep-inline-dllexport): New switch.
4658
0725e25c 46592011-01-12 Richard Guenther <rguenther@suse.de>
4660
4661 PR middle-end/32511
4662 * c-common.c (handle_weak_attribute): Warn instead of error
4663 on declaring an inline function weak.
4664
fdd84b77 46652011-01-05 Tom Tromey <tromey@redhat.com>
4666
4667 * c-common.h (lvalue_error): Update.
4668 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
4669 not error.
4670
e6e73d14 46712010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 4672
d67e8485 4673 PR objc/47075
4674 * c-objc.h (objc_finish_message_expr): Added argument to
4675 prototype.
4676
a36cf284 46772010-12-22 Nathan Froyd <froydnj@codesourcery.com>
4678
4679 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
4680 Use prototype_p.
4681
33b3681f 46822010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
4683
4684 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 4685 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 4686
a1f90215 46872010-12-10 Nathan Froyd <froydnj@codesourcery.com>
4688
4689 * c-common.h (readonly_error): Declare.
4690 * c-common.c (readonly_error): Define.
4691
b1bbc8e5 46922010-12-09 Nathan Froyd <froydnj@codesourcery.com>
4693
4694 * c-common.h (invalid_indirection_error): Declare.
4695 * c-common.c (invalid_indirection_error): Define.
4696
b0d55af9 46972010-12-03 Richard Guenther <rguenther@suse.de>
4698
4699 PR c/46745
4700 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
4701 (pp_c_unary_expression): Likewise.
4702 (pp_c_expression): Likewise.
4703
d7489d8d 47042010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
4705
4706 * c-common.h (objc_finish_function): New.
4707 (objc_non_volatilized_type): Removed.
4708 (objc_type_quals_match): Removed.
4709 * stub-objc.c (objc_finish_function): New.
4710 (objc_non_volatilized_type): Removed.
4711 (objc_type_quals_match): Removed.
19931eea 4712
92468061 47132010-11-30 Joseph Myers <joseph@codesourcery.com>
4714
4715 * c-common.h (parse_optimize_options): Declare.
4716 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
4717 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
4718
967958e4 47192010-11-29 Joseph Myers <joseph@codesourcery.com>
4720
4721 * c-opts.c (check_deps_environment_vars): Use getenv instead of
4722 GET_ENVIRONMENT.
4723 * c-pch.c (O_BINARY): Don't define here.
4724 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
4725
b213bf24 47262010-11-25 Joseph Myers <joseph@codesourcery.com>
4727
4728 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
4729 targetm.except_unwind_info.
4730
9faf44d6 47312010-11-23 Joseph Myers <joseph@codesourcery.com>
4732
4733 * c-opts.c (c_common_handle_option): Pass location to
4734 set_struct_debug_option.
4735
79396169 47362010-11-23 Joseph Myers <joseph@codesourcery.com>
4737
4738 * c-common.c (visibility_options): Move from ../opts.c.
4739 * c-common.h (struct visibility_flags, visibility_options):
4740 Declare here.
4741 * c-opts.c (finish_options): Rename to c_finish_options.
4742 (c_common_init): Update call to finish_options.
4743
b4aa4123 47442010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4745
4746 PR objc/34033
4747 * c-lex.c (lex_string): Check that each string in an Objective-C
4748 string concat sequence starts with either one or zero '@', and
4749 that there are no spurious '@' signs at the end.
4750
3e0e49f2 47512010-11-20 Joseph Myers <joseph@codesourcery.com>
4752
4753 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
4754 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
4755 HANDLE_PRAGMA_VISIBILITY.
4756 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
4757 HANDLE_PRAGMA_VISIBILITY): Don't define.
4758 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
4759
a9ffdd35 47602010-11-20 Nathan Froyd <froydnj@codesourcery.com>
4761
4762 PR c++/16189
4763 PR c++/36888
4764 PR c++/45331
4765 * c-common.h (keyword_begins_type_specifier): Declare.
4766 (keyword_is_storage_class_specifier): Declare.
4767 (keyword_is_type_qualifier): Declare.
4768 * c-common.c (keyword_begins_type_specifier): New function.
4769 (keyword_is_storage_class_specifier): New function.
4770 (keyword_is_type_qualifier): Declare.
4771
93be21c0 47722010-11-19 Joseph Myers <joseph@codesourcery.com>
4773
4774 PR c/46547
4775 * c-common.c (in_late_binary_op): Define.
4776 (c_common_truthvalue_conversion): Check in_late_binary_op before
4777 calling c_save_expr.
4778 * c-common.h (in_late_binary_op): Declare.
4779
d7175aef 47802010-11-19 Joseph Myers <joseph@codesourcery.com>
4781
4782 * c-opts.c (c_common_handle_option): Update calls to
4783 set_struct_debug_option.
4784
c213e196 47852010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4786
4787 * c-common.h (objc_declare_protocols): Added additional argument.
4788 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 4789
0b5fc5d6 47902010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4791
4792 PR c/33193
4793 * c-common.h (build_real_imag_expr): Declare.
4794 * c-semantics.c (build_real_imag_expr): Define.
4795
b8ba44e7 47962010-11-17 Joseph Myers <joseph@codesourcery.com>
4797
4798 * c-opts.c (c_common_parse_file): Take no arguments.
4799 * c-common.h (c_common_parse_file): Update prototype.
4800
6ef8d12f 48012010-11-16 Jakub Jelinek <jakub@redhat.com>
4802
4803 PR c++/46401
4804 * c-common.c (warning_candidate_p): Don't track non-const calls
4805 or STRING_CSTs.
4806
929d2a90 48072010-11-15 Ian Lance Taylor <iant@google.com>
4808
4809 * c-lex.c (init_c_lex): Set macro debug callbacks if
4810 flag_dump_go_spec is set.
4811
e4a7640a 48122010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4813
4814 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4815 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4816
597d2d81 48172010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4818
4819 PR preprocessor/45038
4820 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4821 dialects.
4822
c123f04d 48232010-11-12 Joseph Myers <joseph@codesourcery.com>
4824
4825 * c-common.h (c_family_lang_mask): Declare.
4826 * c-opts.c (c_family_lang_mask): Make extern.
4827 * c-pragma.c (handle_pragma_diagnostic): Use
4828 control_warning_option.
4829
3c6c0e40 48302010-11-12 Joseph Myers <joseph@codesourcery.com>
4831
4832 * c-common.c (parse_optimize_options): Update call to
4833 decode_options.
4834 * c-common.h (c_common_handle_option): Update prototype.
4835 * c-opts.c (c_common_handle_option): Take location_t parameter and
4836 pass it to other functions.
4837
19ec5c9e 48382010-11-11 Joseph Myers <joseph@codesourcery.com>
4839
4840 * c-opts.c (warning_as_error_callback): Remove.
4841 (c_common_initialize_diagnostics): Don't call
4842 register_warning_as_error_callback.
4843 (c_common_handle_option): Handle -Werror=normalized= here.
4844
bf776685 48452010-11-10 Joseph Myers <joseph@codesourcery.com>
4846
4847 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4848 in diagnostic.
4849 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4850 letter.
4851 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4852 Remove trailing '.' from diagnostics.
4853 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4854
6bd9d862 48552010-11-10 Joseph Myers <joseph@codesourcery.com>
4856
4857 * c-common.c (parse_optimize_options): Pass global_dc to
4858 decode_options.
4859 * c-opts.c (c_common_handle_option): Pass &global_options to
4860 set_Wstrict_aliasing.
4861 * c.opt (v): Don't mark Common or document here.
4862
1f6616ee 48632010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4864
4865 PR target/44981
4866 * c-format.c (format_type): New type gcc_objc_string_format_type.
4867 (valid_stringptr_type_p): New.
4868 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 4869 (check_format_string): Pass expected type, use
1f6616ee 4870 valid_stringptr_type_p (), check that the format string types are
4871 consistent with the format specification.
4872 (decode_format_attr): Warn if NSString is used outside objective-c.
4873 (format_types_orig): Add NSString.
4874 (format_name): New.
4875 (format_flags): New.
4876 (check_format_arg): Handle format strings requiring an external parser.
4877 first_target_format_type: New variable.
4878 (handle_format_attribute): Set up first_target_format_type, pass the
4879 expected format arg string type to check_format_string().
4880 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4881 * stub-objc.c (objc_string_ref_type_p): New.
4882 (objc_check_format_arg): New.
4883
b0d0931f 48842010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4885
19931eea 4886 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 4887 * c-common.h (objc_build_class_component_ref): New.
4888 * stub-objc.c (objc_build_class_component_ref): New.
4889
f26877d5 48902010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4891
4892 * c.opt (Wproperty-assign-default): New option.
4893
1ef143b6 48942010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4895
4896 Implemented -fobjc-std=objc1 flag.
4897 * c.opt (fobjc-std=objc1): New option.
4898
8c582e4f 48992010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4900
4901 Implemented format and noreturn attributes for Objective-C methods.
4902 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4903 attribute for Objective-C methods.
4904
8637f1db 49052010-10-31 Jason Merrill <jason@redhat.com>
4906
4907 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4908 EXPR_LOC_OR_HERE.
4909
9d9f5bb3 49102010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4911
4912 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4913 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4914 (objc_add_property_declaration): Removed arguments for copies and
4915 ivar.
4916 (objc_build_getter_call): Renamed to
4917 objc_maybe_build_component_ref.
4918 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4919 (objc_is_property_ref): New.
4920 * c-common.c (c_common_reswords): Removed copies and ivar.
4921 * stub-objc.c (objc_add_property_declaration): Removed arguments
4922 for copies and ivar.
4923 (objc_build_getter_call): Renamed to
4924 objc_maybe_build_component_ref.
4925 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4926 (objc_is_property_ref): New.
19931eea 4927
56f907a0 49282010-10-29 Arnaud Charlet <charlet@adacore.com>
4929 Matthew Gingell <gingell@adacore.com>
4930
4931 * c-ada-spec.c (separate_class_package): New function.
4932 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4933 name of their enclosing package.
4934 (print_ada_declaration): Use separate_class_package.
4935
b5fa273e 49362010-10-27 Jason Merrill <jason@redhat.com>
4937
5290e253 4938 * c-common.c (c_common_reswords): Add __is_literal_type.
4939 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4940
b5fa273e 4941 * c-common.c (check_case_value): Remove special C++ code.
4942
7590f0e5 49432010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4944
4945 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4946 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4947 and RID_LAST_PATTR.
4948 (objc_add_property_declaration): Added additional arguments.
4949 (objc_property_attribute_kind): Removed.
4950 (objc_set_property_attr): Removed.
4951 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4952 copy and nonatomic.
4953 * stub-objc.c (objc_add_property_declaration): Added additional
4954 arguments.
4955 (objc_set_property_attr): Removed.
19931eea 4956
1d894bcf 49572010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4958
4959 * c-common.h (objc_add_property_variable): Renamed to
4960 objc_add_property_declaration. Added location argument.
4961 * stub-objc.c (objc_add_property_variable): Same change.
4962
e23bf1fb 49632010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4964
4965 * c-common.h (objc_maybe_printable_name): New.
4966 * stub-objc.c (objc_maybe_printable_name): New.
4967
93426222 49682010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4969 Andrew Pinski <pinskia@gmail.com>
4970
4971 * c-common.h (c_common_mark_addressable_vec): Declare.
4972 * c-common.c (c_common_mark_addressable_vec): New function.
4973
45b2b110 49742010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4975
4976 * c-common.h (objc_set_method_type): Removed.
4977 (objc_add_method_declaration): Added boolean argument.
4978 (objc_start_method_definition): Same change.
4979 (objc_build_method_signature): Same change.
4980 * stub-objc.c (objc_set_method_type): Removed.
4981 (objc_add_method_declaration): Added boolean argument.
4982 (objc_start_method_definition): Same change.
4983 (objc_build_method_signature): Same change.
4984
64cd9619 49852010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4986
4987 * c-common.h (finish_file): Removed.
4988 (objc_write_global_declarations): New.
4989 * c-opts.c (c_common_parse_file): Do not call finish_file.
4990 * stub-objc.c (objc_write_global_declarations): New.
19931eea 4991
e1f293c0 49922010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4993
4994 Implemented parsing @synthesize and @dynamic for
4995 Objective-C/Objective-C++.
4996 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4997 (objc_add_synthesize_declaration): New.
4998 (objc_add_dynamic_declaration): New.
4999 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5000 * stub-objc.c (objc_add_synthesize_declaration): New.
5001 (objc_add_dynamic_declaration): New.
19931eea 5002
ef97a312 50032010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5004
5005 PR target/46041
5006 * c-cppbuiltin.c (mode_has_fma): Move function here from
5007 builtins.c. Don't use the fma optab, instead just use the
5008 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5009 using -save-temps.
5010
69b07042 50112010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5012
5013 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 5014
69b07042 5015 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5016
19931eea 5017 Radar 4330422
69b07042 5018 * c-common.h (objc_non_volatilized_type): New declaration
5019 * stub-objc.c (objc_non_volatilized_type): New stub.
5020
f15f2e56 50212010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5022
69b07042 5023 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 5024
5025 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5026
19931eea 5027 Radar 4133425
f15f2e56 5028 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 5029 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 5030
4a8875ed 50312010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5032
5033 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5034 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5035 (objc_ivar_visibility_kind): New enum.
5036 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 5037 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 5038 visibility enum.
5039
7e0713b1 50402010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5041
5042 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5043 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5044 has the appropriate fma builtins.
5045 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5046
86c110ac 50472010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5048
7e0713b1 5049 merge from FSF apple 'trunk' branch.
86c110ac 5050 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 5051
86c110ac 5052 Radars 4436866, 4505126, 4506903, 4517826
5053 * c-common.c (c_common_resword): Define @property and its attributes.
5054 * c-common.h: Define property attribute enum entries.
5055 (OBJC_IS_PATTR_KEYWORD): New.
5056 (objc_property_attribute_kind): New enum.
5057 Declare objc_set_property_attr (), objc_add_property_variable (),
5058 objc_build_getter_call () and objc_build_setter_call ().
5059 * stub-objc.c (objc_set_property_attr): New stub.
5060 (objc_add_property_variable): Likewise.
5061 (objc_build_getter_call): Likewise.
5062 (objc_build_setter_call) Likewise.
7e0713b1 5063
40c8d1dd 50642010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5065
7e0713b1 5066 merge from FSF apple 'trunk' branch.
40c8d1dd 5067 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5068
5069 Radar 3803157 (method attributes)
5070 * c-common.c (handle_deprecated_attribute): Recognize
5071 objc methods as valid declarations.
5072 * c-common.h: Declare objc_method_decl ().
7e0713b1 5073 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 5074
f3f006ad 50752010-10-08 Joseph Myers <joseph@codesourcery.com>
5076
5077 * c-common.c (parse_optimize_options): Call
5078 decode_cmdline_options_to_array_default_mask before
5079 decode_options. Update arguments to decode_options.
5080 * c-common.h (c_common_init_options_struct): Declare.
5081 * c-opts.c (c_common_init_options_struct): New. Split out from
5082 c_common_init_options.
5083
0a65c3bb 50842010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5085
5086 Implemented fast enumeration for Objective-C.
5087 * c-common.h (objc_finish_foreach_loop): New.
5088 * stub-objc.c (objc_finish_foreach_loop): New.
5089
24ca3b4e 50902010-10-05 Joseph Myers <joseph@codesourcery.com>
5091
5092 * c-common.h (struct diagnostic_context): Don't declare here.
5093 (c_common_initialize_diagnostics): Declare using
5094 diagnostic_context typedef.
5095 * c-opts.c (c_common_handle_option): Pass global_dc to
5096 handle_generated_option.
5097
f83b64ca 50982010-10-04 Joseph Myers <joseph@codesourcery.com>
5099
5100 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5101 handle_generated_option.
5102
2fdec027 51032010-10-03 Ian Lance Taylor <iant@google.com>
5104
5105 * c.opt (-fplan9-extensions): New option.
5106
41acdfa4 51072010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5108
5109 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5110 Remove.
5111 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5112 of duplicating code.
5113
069761fb 51142010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5115
5116 * c-common.c: Add two new entries for @optional
5117 and @required keywords.
5118
5119 merge from FSF 'apple/trunk' branch.
5120 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5121
5122 Radar 4386773
5123 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5124 objective-c keywords.
5125 (objc_set_method_opt): New declaration.
5126 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 5127
2c5d2e39 51282010-09-30 Joseph Myers <joseph@codesourcery.com>
5129
5130 * c-common.c (handle_optimize_attribute): Pass &global_options to
5131 cl_optimization_save and cl_optimization_restore.
5132 * c-opts.c (c_common_handle_option): Pass &global_options to
5133 handle_generated_option.
5134 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5135 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5136 &global_options to cl_optimization_restore.
5137
e5c75ac3 51382010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5139
5140 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5141 Objective-C/Objective-C++ keywords.
5142
3511333e 51432010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 5144
19931eea 5145 Merge from 'apple/trunk' branch on FSF servers.
5146
e147d6aa 5147 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5148
5149 Radar 4281748
5150 * c-common.h (objc_check_global_decl): New declaration.
5151 * stub-objc.c (objc_check_global_decl): New stub.
5152
5461e683 51532010-09-29 Joseph Myers <joseph@codesourcery.com>
5154
5155 * c.opt: Don't use VarExists.
5156
5ae82d58 51572010-09-29 Joseph Myers <joseph@codesourcery.com>
5158
5159 * c-common.c (c_cpp_error): Update names of diagnostic_context
5160 members.
5161 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5162 cl_optimization members.
5163 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5164 sanitize_cpp_opts, finish_options): Update names of cpp_options
5165 members.
5166
b27e241e 51672010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5168
5169 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5170 (objc_is_reserved_word): Removed.
5171 * c-common.c: Updated comments.
5172 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5173 objc_is_reserved_word.
5174 * stub-objc.c (objc_is_reserved_word): Removed.
5175
03fc2271 51762010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5177
19931eea 5178 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 5179 include attributes.
5180 (objc_start_method_definition): Likewise.
5181 (objc_build_keyword_decl): Likewise.
5182 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5183 (objc_start_method_definition): Likewise.
5184 (objc_build_keyword_decl): Likewise.
5185
a336eb4b 51862010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5187
5188 * c-common.h (objc_start_class_interface): Adjust prototype.
5189 (objc_start_category_interface): Likewise.
5190 (objc_start_protocol): Likewise.
5191 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5192 (objc_start_class_interface): Likewise.
5193 (objc_start_category_interface): Likewise.
5194
48b14f50 51952010-09-27 Ian Lance Taylor <iant@google.com>
5196
5197 * c-common.c (c_common_attribute_table): Add no_split_stack.
5198 (handle_no_split_stack_attribute): New static function.
5199
4abfc532 52002010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5201
19931eea 5202 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 5203
5204 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5205
19931eea 5206 Radar 4229905
4abfc532 5207 * c-common.h (objc_have_common_type): New declaration.
5208 * stub-objc.c (objc_have_common_type): New stub.
5209
5210 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5211
5212 Radar 4154928
5213 * c-common.h (objc_common_type): New prototype.
19931eea 5214 * stub-objc.c (objc_common_type): New stub.
4abfc532 5215
7bd95dfd 52162010-09-24 Jan Hubicka <jh@suse.cz>
5217
5218 * c-common.c (handle_leaf_attribute): New function.
5219 (struct attribute_spec c_common_att): Add leaf.
5220
5789e05b 52212010-09-22 Joseph Myers <joseph@codesourcery.com>
5222
5223 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5224 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5225 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5226 -include-barrier, -include-directory, -include-directory=,
5227 -include-directory-after, -include-directory-after=,
5228 -include-prefix, -include-prefix=, -include-with-prefix,
5229 -include-with-prefix=, -include-with-prefix-after,
5230 -include-with-prefix-after=, -include-with-prefix-before,
5231 -include-with-prefix-before=, -no-integrated-cpp,
5232 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5233 -output=, -pedantic, -pedantic-errors, -preprocess,
5234 -print-missing-file-dependencies, -trace-includes, -traditional,
5235 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5236 -user-dependencies, -verbose, -write-dependencies,
5237 -write-user-dependencies, no-integrated-cpp, traditional): New.
5238
e6fb54ba 52392010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5240
5241 PR objc/23710
9b60f3b0 5242 * c-common.h (objc_start_method_definition): Return bool instead
5243 of void.
5244 * stub-objc.c (objc_start_method_definition): Return bool instead
5245 of void.
5246
52472010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5248
5249 PR objc/25965
5250 * c-common.h (objc_get_interface_ivars): New declaration.
5251 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 5252
e44b0a1f 52532010-09-15 Ian Lance Taylor <iant@google.com>
5254
5255 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 5256 messages. Remove period at end of warning message.
e44b0a1f 5257
85c0a25c 52582010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5259
5260 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5261 (handle_alias_attribute): ... here.
5262 (handle_ifunc_attribute): New.
5263
5ba33bf4 52642010-09-06 Mark Mitchell <mark@codesourcery.com>
5265
5266 * c-common.h (do_warn_double_promotion): Declare.
5267 * c-common.c (do_warn_double_promotion): Define.
5268
c920faa3 52692010-09-05 Mark Mitchell <mark@codesourcery.com>
5270
5271 * c.opt (Wdouble-promotion): New.
5272
9604e070 52732010-09-02 Joseph Myers <joseph@codesourcery.com>
5274
5275 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5276 fvtable-thunks, fxref): Mark no longer supported in help text.
5277
3b0273a1 52782010-09-02 Joseph Myers <joseph@codesourcery.com>
5279
5280 * c.opt (Wimport, fall-virtual, falt-external-templates,
5281 fdefault-inline, fenum-int-equiv, fexternal-templates,
5282 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5283 fname-mangling-version-, fnew-abi, fnonnull-objects,
5284 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5285 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5286 applicable.
5287 (fhandle-exceptions): Mark with Alias and Warn.
5288 * c-opts.c (c_common_handle_option): Don't handle options marked
5289 as ignored.
5290
67089c6b 52912010-09-02 Joseph Myers <joseph@codesourcery.com>
5292
5293 * c.opt (Wcomments, Werror-implicit-function-declaration,
5294 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5295 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5296 aliases.
5297 * c-common.c (option_codes): Use OPT_Wcomment instead of
5298 OPT_Wcomments.
5299 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5300 Don't handle options marked as aliases.
5301
2af087f2 53022010-08-25 Richard Guenther <rguenther@suse.de>
5303
5304 * c-common.c (c_common_get_alias_set): Remove special
5305 handling for pointers.
5306
48148244 53072010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5308
5309 * c-common.c: Use FOR_EACH_VEC_ELT.
5310 * c-gimplify.c: Likewise.
5311 * c-pragma.c: Likewise.
5312
89c69892 53132010-08-16 Joseph Myers <joseph@codesourcery.com>
5314
5315 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5316 RejectDriver.
5317 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5318 RejectDriver.
5319 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5320 instead of OPT_MDX and OPT_MMDX.
5321
e28aa114 53222010-08-16 Joseph Myers <joseph@codesourcery.com>
5323
5324 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5325
99b66d21 53262010-08-12 Joseph Myers <joseph@codesourcery.com>
5327
5328 * c.opt (MD, MMD): Change to MDX and MMDX.
5329 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5330
666f4bf0 53312010-08-11 Joseph Myers <joseph@codesourcery.com>
5332
5333 * c-opts.c (c_common_handle_option): Call handle_generated_option
5334 instead of handle_option.
5335
5ec815f6 53362010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5337
5338 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5339 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5340
d13143cf 53412010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5342
5343 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5344 (pending_redefine_extname): Change type to a VEC.
5345 (add_to_renaming_pragma_list): Update for new type of
5346 pending_redefine_extname.
5ec815f6 5347 (maybe_apply_renaming_pragma): Likewise.
d13143cf 5348
2008c983 53492010-08-04 Arnaud Charlet <charlet@adacore.com>
5350
5351 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5352 visited.
5353 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5354 decide whether a type has already been declared/seen.
5355 Do not go to the original type.
5356 (dump_nested_types): New parameter forward.
5357 Generate forward declaration if needed and mark type as visited.
5358 (print_ada_declaration): Call dump_nested_types if not already done.
5359 Mark types as visited.
5360
9b091a73 53612010-08-03 Joseph Myers <joseph@codesourcery.com>
5362
5363 * c.opt (-print-pch-checksum): Remove option.
5364 * c-opts.c (c_common_handle_option): Don't handle
5365 OPT_print_pch_checksum.
5366
b78351e5 53672010-07-27 Joseph Myers <joseph@codesourcery.com>
5368
5369 * c-common.h (c_common_handle_option): Update prototype and return
5370 value type.
5371 * c-opts.c (c_common_handle_option): Update prototype and return
5372 value type. Update calls to handle_option and
5373 enable_warning_as_error.
5374
34416a90 53752010-07-27 Jakub Jelinek <jakub@redhat.com>
5376
5377 PR c/45079
5378 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5379
fecf9011 53802010-07-27 Joseph Myers <joseph@codesourcery.com>
5381
5382 * c-common.h (c_common_missing_argument): Remove.
5383 * c-opts.c (c_common_missing_argument): Remove.
5384 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5385 idirafter, imacros, include, isysroot, isystem, iquote): Add
5386 MissingArgError.
5387 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5388
e88d34f6 53892010-07-27 Joseph Myers <joseph@codesourcery.com>
5390
5391 * c-common.h (c_common_option_lang_mask,
5392 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5393 New.
5394 (c_common_init_options): Update prototype.
5395 * c-opts.c (c_common_option_lang_mask): New.
5396 (c_common_initialize_diagnostics): Split out of
5397 c_common_init_options.
5398 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5399 New.
5400 (c_common_init_options): Update prototype. Use decoded options in
5401 search for -lang-asm.
5402
1767a056 54032010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5404
5405 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5406 * c-format.c: Likewise.
5407
0b205f4c 54082010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5409
5410 * c-common.h: Include diagnostic-core.h. Error if already
5411 included.
5412 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5413
1c58e3f1 54142010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5415
1f78217c 5416 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 5417 Do not include expr.h
5418 (vector_mode_valid_p): Move here.
5419
33cc157c 54202010-06-21 DJ Delorie <dj@redhat.com>
5421
5422 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5423 allow these pragmas anywhere.
5424
54252010-06-14 Jakub Jelinek <jakub@redhat.com>
5426
5427 PR bootstrap/44509
5428 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5429 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5430 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5431 ggc_strdup instead of xstrdup.
5432
54332010-06-10 Jakub Jelinek <jakub@redhat.com>
5434
5435 * c-cppbuiltin.c: Include cpp-id-data.h.
5436 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5437 (lazy_hex_fp_value): New function.
5438 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5439
9b40bfbf 54402010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5441
5442 * c-gimplify.c: Do not include tree-flow.h
5443
202d6e5f 54442010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5445
5446 PR other/44034
5447 * c-common.c: Rename targetm member:
5448 targetm.enum_va_list -> targetm.enum_va_list_p
5449
d3237426 54502010-06-28 Anatoly Sokolov <aesok@post.ru>
5451
5452 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5453
596981c8 54542010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5455
5456 * c-cppbuiltin.c: Do not include except.h.
5457
b9bdfa0b 54582010-06-24 Andi Kleen <ak@linux.intel.com>
5459
19931eea 5460 * c-common.c (warn_for_omitted_condop): New.
5461 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 5462
55ad092d 54632010-06-21 Joseph Myers <joseph@codesourcery.com>
5464
5465 * c.opt (lang-objc): Remove.
5466 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5467
9e7c2572 54682010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5469
5470 * c-opts.c: Include "tm_p.h".
5471
615ef0bb 54722010-06-20 Joseph Myers <joseph@codesourcery.com>
5473
5474 * c-common.c (parse_optimize_options): Update call to
5475 decode_options.
5476
aef48c9a 54772010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5478
5479 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5480 new type of types_used_by_cur_var_decl.
5481
d74003b4 54822010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5483
5484 PR bootstrap/44512
5485 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5486 for C++ standard compliance.
5487
1194d077 54882010-06-16 Jason Merrill <jason@redhat.com>
5489
5490 * c.opt: Add -Wnoexcept.
5491
d473d901 54922010-06-16 Richard Guenther <rguenther@suse.de>
5493
5494 PR c/44555
5495 * c-common.c (c_common_truthvalue_conversion): Remove
5496 premature and wrong optimization concering ADDR_EXPRs.
5497
b62dbfd3 54982010-06-15 Arnaud Charlet <charlet@adacore.com>
5499
5500 * c-ada-spec.c (dump_sloc): Remove column info.
5501 (is_simple_enum): New function.
5502 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5503 enum types when relevant.
5504
200dd99c 55052010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5506
19931eea 5507 * c-common.c (conversion_warning): Warn at expression
200dd99c 5508 location.
5509
abf6a617 55102010-06-10 Joseph Myers <joseph@codesourcery.com>
5511
5512 * c-opts.c (c_common_handle_option): Don't handle
5513 OPT_fshow_column.
5514
ba72912a 55152010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5516
5517 * c-pragma.c (push_alignment): Use typed GC allocation.
5518 (handle_pragma_push_options): Likewise.
5519
5520 * c-common.c (parse_optimize_options): Likewise.
5521
5522 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5523 option.
5524
4aafe913 55252010-06-07 Joseph Myers <joseph@codesourcery.com>
5526
5527 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5528 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5529 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5530 flag_signed_bitfields, warn_strict_null_sentinel,
5531 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5532 flag_gen_declaration, flag_no_gnu_keywords,
5533 flag_implement_inlines, flag_implicit_templates,
5534 flag_implicit_inline_templates, flag_optional_diags,
5535 flag_elide_constructors, flag_default_inline, flag_rtti,
5536 flag_conserve_space, flag_access_control, flag_check_new,
5537 flag_new_for_scope, flag_weak, flag_working_directory,
5538 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5539 flag_enforce_eh_specs, flag_threadsafe_statics,
5540 flag_pretty_templates): Remove.
5541 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5542 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5543 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5544 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5545 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5546 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5547 flag_no_gnu_keywords, flag_implement_inlines,
5548 flag_implicit_templates, flag_implicit_inline_templates,
5549 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5550 flag_rtti, flag_conserve_space, flag_access_control,
5551 flag_check_new, flag_new_for_scope, flag_weak,
5552 flag_working_directory, flag_use_cxa_atexit,
5553 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5554 flag_threadsafe_statics, flag_pretty_templates,
5555 warn_strict_null_sentinel): Remove.
5556 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5557 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5558 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5559 fimplicit-inline-templates, fimplicit-templates,
5560 flax-vector-conversions, fms-extensions, fnil-receivers,
5561 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5562 frtti, fshort-double, fshort-enums, fshort-wchar,
5563 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5564 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5565 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5566 gen-decls, undef): Use Var.
5567 (fdefault-inline, foptional-diags): Document as doing nothing.
5568 * c-opts.c (c_common_handle_option): Remove cases for options now
5569 using Var. Mark ignored options as such.
5570
7bedc3a0 55712010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5572
19931eea 5573 * c-common.c: Moved to here from parent directory.
7bedc3a0 5574 * c-common.def: Likewise.
5575 * c-common.h: Likewise.
5576 * c-cppbuiltin.c: Likewise.
5577 * c-dump.c: Likewise.
5578 * c-format.c: Likewise.
5579 * c-format.h : Likewise.
5580 * c-gimplify.c: Likewise.
5581 * c-lex.c: Likewise.
5582 * c-omp.c: Likewise.
5583 * c.opt: Likewise.
5584 * c-opts.c: Likewise.
5585 * c-pch.c: Likewise.
5586 * c-ppoutput.c: Likewise.
5587 * c-pragma.c: Likewise.
5588 * c-pragma.h: Likewise.
5589 * c-pretty-print.c: Likewise.
5590 * c-pretty-print.h: Likewise.
5591 * c-semantics.c: Likewise.
5592 * stub-objc.c: Likewise.
5593
5594 * c-common.c: Include gt-c-family-c-common.h.
5595 * c-pragma.c: Include gt-c-family-c-pragma.h.
5596\f
d353bf18 5597Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 5598
5599Copying and distribution of this file, with or without modification,
5600are permitted in any medium without royalty provided the copyright
5601notice and this notice are preserved.