]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
PR ipa/60058
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
caf62483 12014-02-03 Marc Glisse <marc.glisse@inria.fr>
2
3 PR c++/53017
4 PR c++/59211
5 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
6 handle_vector_size_attribute, handle_nonnull_attribute): Call
7 default_conversion on the attribute argument.
8 (handle_nonnull_attribute): Increment the argument number.
9
ec761d5a 102014-01-31 Marek Polacek <polacek@redhat.com>
11
12 PR c/59963
13 * c-common.c (add_atomic_size_parameter): Pass vNULL to
14 build_function_call_vec.
15 (resolve_overloaded_builtin): Likewise.
16 * c-common.h (build_function_call_vec): Adjust declaration.
17
22a75734 182014-01-30 Marek Polacek <polacek@redhat.com>
19
20 PR c/59940
21 * c-common.h (unsafe_conversion_p): Adjust declaration.
22 (warnings_for_convert_and_check): Likewise.
23 (convert_and_check): Likewise.
24 * c-common.c (unsafe_conversion_p): Add location parameter. Call
25 expansion_point_location_if_in_system_header on it.
26 (warnings_for_convert_and_check): Add location parameter. Call
27 expansion_point_location_if_in_system_header on it. Use it.
28 (convert_and_check): Add location parameter. Use it.
29 (conversion_warning): Likewise.
30 (c_add_case_label): Adjust convert_and_check calls.
31 (scalar_to_vector): Adjust unsafe_conversion_p calls.
32
a89e6c15 332014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
34
35 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
36 flag_cilkplus.
37 * c-pragma.c (init_pragma): Likewise.
38 * c.opt: Likewise.
39
2623625f 402014-01-23 Marek Polacek <polacek@redhat.com>
41
42 PR c/59846
43 * c-common.c (shorten_compare): Add location_t parameter.
44 * c-common.h (shorten_binary_op): Adjust declaration.
45
46da3601 462014-01-23 Marek Polacek <polacek@redhat.com>
47
48 PR c/58346
49 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
50 * c-common.h: Declare it.
51
c9743c6a 522014-01-20 Eric Botcazou <ebotcazou@adacore.com>
53
54 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
55 * c-ada-spec.c (dump_ads): Likewise.
56 (cpp_check): Likewise.
57 (dump_ada_specs): Likewise.
58
592014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 60
61 PR c++/49718
62 * c-common.c (handle_no_instrument_function_attribute): Allow
63 no_instrument_function attribute in class member
64 definition/declaration.
65
1248c663 662014-01-15 Jakub Jelinek <jakub@redhat.com>
67
68 PR c/58943
69 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
70 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
71 being COMPOUND_EXPR.
72 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
73 operand a SAVE_EXPR and second MODIFY_EXPR.
74
6e5c480b 752014-01-09 Jakub Jelinek <jakub@redhat.com>
76
77 PR target/58115
78 * c-pch.c (c_common_write_pch): Call
79 prepare_target_option_nodes_for_pch.
80
3aea1f79 812014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
82
83 Update copyright years
84
e4f22041 852014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
86
87 * array-notation-common.c, c-cilkplus.c: Use the standard form for
88 the copyright notice.
89
7fb0fe24 902013-12-28 Eric Botcazou <ebotcazou@adacore.com>
91
92 * c-ada-spec.c (print_constructor): New function.
93 (print_destructor): Retrieve the origin of the destructor.
94 (print_ada_declaration): Revamp handling of constructors/destructors.
95
468088ac 962013-12-23 Stuart Hastings <stuart@apple.com>
97 Bill Maddox <maddox@google.com>
98 Jason Merrill <jason@redhat.com>
99
100 * c.opt: Add -fdeclone-ctor-dtor.
101 * c-opts.c (c_common_post_options): Default to on iff -Os.
102
74acc703 1032013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
104
105 * c-common.c (c_common_attribute_table): Added "cilk simd function"
106 attribute.
107 * c-pragma.h (enum pragma_cilk_clause): Remove.
108 (enum pragma_omp_clause): Added the following fields:
109 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
110 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
111 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
112 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
113 PRAGMA_CILK_CLAUSE_UNIFORM.
114
115
433e804e 1162013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
117
118 * cilk.c (cilk_outline): Made this function non-static.
119 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
120 (create_cilk_wrapper): Added a new parameter: a function pointer.
121 (c_install_body_w_frame_cleanup): Remove
122 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
123 * c-common.h (cilk_outline): New prototype.
124 (gimplify_cilk_spawn): Removed two parameters.
125 (cilk_install_body_with_frame_cleanup): New prototype.
126 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
127 CILK_SPAWN_STMT case.
128
5bcc7e60 1292013-12-11 Bernd Schmidt <bernds@codesourcery.com>
130
e66325ea 131 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
132
5bcc7e60 133 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
134 (int_array_type_node): Remove.
135 * c-common.c (c_common_nodes_and_builtins): Don't build it.
136
0b26ec77 1372013-12-05 Marek Polacek <polacek@redhat.com>
138
139 PR c/52023
140 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
141 [ADJUST_FIELD_ALIGN].
142
a179a7dc 1432013-12-04 Joseph Myers <joseph@codesourcery.com>
144
145 PR c/52023
146 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
147 and check field alignment if set.
148 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
149 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
150
137559b2 1512013-12-04 Jakub Jelinek <jakub@redhat.com>
152 Marek Polacek <polacek@redhat.com>
153
154 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
155 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
156
648fd348 1572013-11-29 H.J. Lu <hongjiu.lu@intel.com>
158
159 PR c/59309
160 * cilk.c (gimplify_cilk_spawn): Properly handle function without
161 arguments.
162
253e1cae 1632013-11-29 Jakub Jelinek <jakub@redhat.com>
164
165 PR c/59280
166 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
167 goto invalid. If it is error_mark_node, don't issue further
168 diagnostics.
169
3e398f5b 1702013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
171
172 * c.opt (Wopenmp-simd): New.
173
020bc656 1742013-11-22 Jakub Jelinek <jakub@redhat.com>
175
176 * c-ubsan.h (ubsan_instrument_return): New prototype.
177 * c-ubsan.c (ubsan_instrument_return): New function.
178
bc61cadb 1792013-11-22 Andrew MacLeod <amacleod@redhat.com>
180
181 * c-common.c: Add required include files from gimple.h.
182 * c-gimplify.c: Likewise
183 * cilk.c: Likewise
184
3df42822 1852013-11-22 David Malcolm <dmalcolm@redhat.com>
186
187 * c-common.c (unsafe_conversion_p): Remove use of
188 EXPR_LOC_OR_HERE macro.
189 (conversion_warning): Likewise.
190 (warnings_for_convert_and_check): Likewise.
191 (warn_for_collisions_1): Likewise.
192 (shorten_compare): Likewise, and remove use of in_system_header
193 macro, using the location from the former.
194 * c-lex.c (dump_one_header): Remove use of input_filename macro.
195 (cb_def_pragma): Remove use of in_system_header macro.
196 (lex_string): Likewise.
197 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
198
8c53c46c 1992013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
200 Mike Stump <mikestump@comcast.net>
201 Richard Sandiford <rdsandiford@googlemail.com>
202
203 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
204 instead of TREE_INT_CST_LOW, in cases where there is a protecting
205 tree_fits_shwi_p or tree_fits_uhwi_p.
206 (dump_generic_ada_node): Likewise.
207 * c-format.c (check_format_arg): Likewise.
208 * c-pretty-print.c (pp_c_integer_constant): Likewise.
209
5200ef07 2102013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
211
212 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
213
ca9d7d74 2142013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
215
216 PR c/53001
217 * c-common.c (unsafe_conversion_p): Make this function
218 return an enumeration with more detail.
219 (conversion_warning): Use the new return type of
220 unsafe_conversion_p to separately warn either about conversions
221 that lower floating point number precision or about the other
222 kinds of conversions.
223 * c-common.h (enum conversion_safety): New enumeration.
224 (unsafe_conversion_p): switching return type to
225 conversion_safety enumeration.
226 * c.opt: Adding new warning -Wfloat-conversion and
227 enabling it with -Wconversion.
228
0391a567 2292013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
230
231 * c-opts.c: Include plugin.h.
232 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
233
19b928d9 2342013-11-19 Marek Polacek <polacek@redhat.com>
235
236 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
237 call.
238 (ubsan_instrument_shift): Likewise.
239 (ubsan_instrument_vla): Likewise.
240
aa59f000 2412013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
242
243 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
244 cast to unsigned type.
245
08f817b3 2462013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
247
248 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
249 tree_low_cst.
250 (complete_array_type): Update comment to refer to tree_to_[su]hwi
251 rather than tree_low_cst.
252
6a0712d4 2532013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
254
255 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
256 tree_to_uhwi throughout.
257
fcb97e84 2582013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
259
260 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
261 tree_low_cst (..., 0) with tree_to_shwi throughout.
262
cd4547bf 2632013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
264
265 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
266 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
267
35ec552a 2682013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
269
270 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
271 host_integerp (..., 0) with tree_fits_shwi_p throughout.
272
f2697631 2732013-11-15 Aldy Hernandez <aldyh@redhat.com>
274
275 * c-cilkplus.c: New file.
276 * c-common.c (readonly_error): Add location argument.
277 * c-common.h (readonly_error): Same.
278 (c_finish_cilk_clauses): Protoize.
279 (c_check_cilk_loop): Same.
280 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
281 Do not fail on error_mark_node.
282 Abstract increment canonicalization to here...
283 (c_omp_for_incr_canonicalize_ptr): New.
284 c-pragma.c (init_pragma): Register "simd" pragma.
285 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
286 (enum pragma_cilk_clause): New.
287
0aa8c34e 2882013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
289
290 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
291 wchar_type and host_integerp checks.
292
e795d6e1 2932013-11-14 Andrew MacLeod <amacleod@redhat.com>
294
295 * c-common.c: Likewise.
296 * c-gimplify.c: Likewise.
297 * cilk.c: Likewise.
298
9ed99284 2992013-11-14 Diego Novillo <dnovillo@google.com>
300
301 * c-common.c: Include fold-const.h.
302 Include stor-layout.h.
303 Include calls.h.
304 Include stringpool.h.
305 Include attribs.h.
306 Include varasm.h.
307 Include trans-mem.h.
308 * c-cppbuiltin.c: Include stor-layout.h.
309 Include stringpool.h.
310 * c-format.c: Include stringpool.h.
311 * c-lex.c: Include stringpool.h.
312 Include stor-layout.h.
313 * c-pragma.c: Include stringpool.h.
314 Include attribs.h.
315 Include varasm.h.
316 Include gcc-symtab.h.
317 * c-pretty-print.c: Include stor-layout.h.
318 Include attribs.h.
319 * cilk.c: Include stringpool.h.
320 Include calls.h.
321
4fba5eb9 3222013-11-13 Joseph Myers <joseph@codesourcery.com>
323
324 * c-common.h (enum rid): Add RID_AUTO_TYPE.
325 * c-common.c (c_common_reswords): Add __auto_type.
326 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
327
a8783bee 3282013-11-12 Andrew MacLeod <amacleod@redhat.com>
329
e795d6e1 330 * c-common.c: Include gimplify.h.
331 * c-gimplify.c: Likewise.
332 * cilk.c: Likewise.
333 * c-omp.c: Include gimple-expr.h instead of gimple.h.
334 * c-ubsan.c: Don't include gimple.h.
a8783bee 335
d184e0c0 3362013-11-12 Joseph Myers <joseph@codesourcery.com>
337
338 * c-common.c (c_common_reswords): Add _Thread_local.
339
a056826c 3402013-11-09 Joseph Myers <joseph@codesourcery.com>
341
342 * c-common.c (atomic_size_supported_p): New function.
343 (resolve_overloaded_atomic_exchange)
344 (resolve_overloaded_atomic_compare_exchange)
345 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
346 Use it instead of comparing size with a local list of sizes.
347
b560fabd 3482013-11-07 Andrew MacLeod <amacleod@redhat.com>
349 Joseph Myers <joseph@codesourcery.com>
350
351 * c-common.h (enum rid): Add RID_ATOMIC.
352 * c-common.c (c_common_reswords): Add _Atomic.
353 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
354 (keyword_is_type_qualifier): Accept RID_ATOMIC.
355 * c-format.c (check_format_types): Check for extra _Atomic
356 qualifiers in format argument.
357 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
358 (pp_c_type_qualifier_list): Mention _Atomic in comment.
359
5b1a0622 3602013-11-06 Tobias Burnus <burnus@net-b.de>
361
362 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
363
4f8f4cb8 3642013-11-06 Joseph Myers <joseph@codesourcery.com>
365
366 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
367 standards modes.
368 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
369 to mean lack of IEEE 754 support.
370
9148bda3 3712013-11-05 Tobias Burnus <burnus@net-b.de>
372
373 * c.opt (-Wdate-time): New option
374 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
375
08c5f4d5 3762013-11-05 Joseph Myers <joseph@codesourcery.com>
377
378 * c-cppbuiltin.c (cpp_iec_559_value): Test
379 flag_excess_precision_cmdline not flag_excess_precision.
380
c630ef93 3812013-11-05 Tobias Burnus <burnus@net-b.de>
382
383 * c.opt (fopenmp-simd): New option.
384 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
385 (omp_pragmas): ... this new struct.
386 (c_pp_lookup_pragma): Also walk omp_pragmas.
387 (init_pragma): Init pragmas for -fopenmp-simd.
388
7354a89b 3892013-11-04 Marek Polacek <polacek@redhat.com>
390
391 PR c++/58979
392 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
393
4c866b9b 3942013-11-04 Joseph Myers <joseph@codesourcery.com>
395
396 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
397 New functions.
398 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
399
e2a6a333 4002013-11-04 Eric Botcazou <ebotcazou@adacore.com>
401
402 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
403 (dump_ada_specs): Adjust prototype of second callback.
404 * c-ada-spec.c (cpp_check): New global variable.
405 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
406 (print_generic_ada_decl): Likewise.
407 (has_static_fields): Change return type to bool and add guard.
408 (has_nontrivial_methods): New predicate.
409 (is_tagged_type): Change return type to bool.
410 (separate_class_package): Call has_nontrivial_methods.
411 (pp_ada_tree_identifier): Minor tweaks.
412 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
413 (dump_ada_array_domains): Likewise.
414 (dump_ada_array_type): Likewise.
415 (dump_template_types): Remove cpp_check parameter and do not pass it to
416 dump_generic_ada_node.
417 (dump_ada_template): Likewise.
418 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
419 recursively.
420 (print_ada_methods): Change return type to integer. Remove cpp_check
421 parameter and do not pass it down.
422 (dump_nested_types): Remove cpp_check parameter and do not pass it to
423 dump_generic_ada_node.
424 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
425 accessing methods.
426 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
427 down. Use has_nontrivial_methods to recognize C++ classes. Use return
428 value of print_ada_methods.
429 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
430 Set cpp_check to it before invoking dump_ada_nodes.
431 (dump_ada_specs): Likewise.
432
2c4c3477 4332013-11-03 Marek Polacek <polacek@redhat.com>
434
435 * c-ubsan.c: Don't include hash-table.h.
436 (ubsan_instrument_vla): New function.
437 * c-ubsan.h: Declare it.
438
452659af 4392013-10-31 David Malcolm <dmalcolm@redhat.com>
440
441 Automated part of renaming of symtab_node_base to symtab_node.
442
443 Patch autogenerated by rename_symtab.py from
444 https://github.com/davidmalcolm/gcc-refactoring-scripts
445 revision 58bb219cc090b2f4516a9297d868c245495ee622
446
447 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
448 symtab_node_base to symtab_node.
449
4d6f7dd4 4502013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
451
452 Implement C++14 digit separators.
453 * c-lex.c (interpret_float): Remove digit separators from scratch string
454 before building real literal.
455
06cfe805 4562013-10-30 Jakub Jelinek <jakub@redhat.com>
457
458 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
459
d037099f 4602013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
461
462 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
463 fields.
464 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
465 enabled.
466 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
467 (insert_cilk_frame): New prototype.
468 (cilk_init_builtins): Likewise.
469 (gimplify_cilk_spawn): Likewise.
470 (c_cilk_install_body_w_frame_cleanup): Likewise.
471 (cilk_detect_spawn_and_unwrap): Likewise.
472 (cilk_set_spawn_marker): Likewise.
473 (build_cilk_sync): Likewise.
474 (build_cilk_spawn): Likewise.
475 * cilk.c: New file.
476
02774f2d 4772013-10-29 David Malcolm <dmalcolm@redhat.com>
478
479 Patch autogenerated by refactor_symtab.py from
480 https://github.com/davidmalcolm/gcc-refactoring-scripts
481 revision 58bb219cc090b2f4516a9297d868c245495ee622
482
483 * c-gimplify.c (c_genericize): Update for conversion of symtab types
484 to a true class hierarchy.
485 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
486
31fe10fd 4872013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
488
489 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
490
b1c06ff9 4912013-10-26 Jeff Law <law@redhat.com>
492
493 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
494 * c-family/c.opt: Ignore and warn for mudflap options.
495
48a972c8 4962013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 497
498 PR other/33426
499 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
500 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
501
546a04b1 5022013-10-23 Jason Merrill <jason@redhat.com>
503
504 * c-format.c (gcc_cxxdiag_char_table): Add %X.
505
bc7bff74 5062013-10-11 Jakub Jelinek <jakub@redhat.com>
507
d62c713e 508 * c-common.h (omp_clause_mask::operator !=): New method.
509 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
510 instead of if (mask & something) tests everywhere.
511
bc7bff74 512 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
513 201307 instead of 201107.
514 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
515 (c_common_attribute_table): Add "omp declare target" and
516 "omp declare simd" attributes.
517 (handle_omp_declare_target_attribute,
518 handle_omp_declare_simd_attribute): New functions.
519 * c-omp.c: Include c-pragma.h.
520 (c_finish_omp_taskgroup): New function.
521 (c_finish_omp_atomic): Add swapped argument, if true,
522 build the operation first with rhs, lhs arguments and use NOP_EXPR
523 build_modify_expr.
524 (c_finish_omp_for): Add code argument, pass it down to make_code.
525 (c_omp_split_clauses): New function.
526 (c_split_parallel_clauses): Removed.
527 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
528 c_omp_declare_simd_clauses_to_decls): New functions.
529 * c-common.h (omp_clause_mask): New type.
530 (OMP_CLAUSE_MASK_1): Define.
531 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
532 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
533 omp_clause_mask::operator |, omp_clause_mask::operator &,
534 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
535 omp_clause_mask::operator ==): New methods.
536 (enum c_omp_clause_split): New.
537 (c_finish_omp_taskgroup): New prototype.
538 (c_finish_omp_atomic): Add swapped argument.
539 (c_finish_omp_for): Add code argument.
540 (c_omp_split_clauses): New prototype.
541 (c_split_parallel_clauses): Removed.
542 (c_omp_declare_simd_clauses_to_numbers,
543 c_omp_declare_simd_clauses_to_decls): New prototypes.
544 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
545 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
546 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
547 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
548 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
549 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
550 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
551 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
552 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
553 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
554 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
555 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
556 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
557 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
558 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
559 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
560 PRAGMA_OMP_CLAUSE_UNIFORM.
561
d7dcba40 5622013-10-09 Marc Glisse <marc.glisse@inria.fr>
563
564 PR tree-optimization/20318
565 * c-common.c (handle_returns_nonnull_attribute): New function.
566 (c_common_attribute_table): Add returns_nonnull.
567
0b7282f1 5682013-10-03 Marc Glisse <marc.glisse@inria.fr>
569
570 PR c++/19476
571 * c.opt (fcheck-new): Move to common.opt.
572
51f553af 5732013-09-25 Marek Polacek <polacek@redhat.com>
574 Jakub Jelinek <jakub@redhat.com>
575
576 PR sanitizer/58413
577 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
578 an expression if we can prove it is correct.
579 (ubsan_instrument_division): Likewise. Remove unnecessary
580 check.
581
05f893e1 5822013-09-18 Marek Polacek <polacek@redhat.com>
583
584 PR sanitizer/58411
585 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
586 Declare it.
587 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
588
236ce1d1 5892013-09-14 Iain Sandoe <iain@codesourcery.com>
590
591 PR target/48094
592 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
593 fobjc-gc, freplace-objc-classes): Accept for LTO.
594
f9f68d35 5952013-09-13 Jacek Caban <jacek@codeweavers.com>
596
597 * c-target.def: New hook
598
ba2f764e 5992013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
600
601 PR c++/43452
602 * c.opt (Wdelete-incomplete): Add.
603
73437615 6042013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
605
606 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
607 (vector_types_compatible_elements_p): New function.
608 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
609 declaration.
610 (vector_types_compatible_elements_p): Declare.
611
95af4c75 6122013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
613
614 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
615 a virtual member function.
616 (pp_simple_type_specifier): Remove.
617 (pp_c_type_specifier): Likewise.
618 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
619 Rename from pp_c_type_specifier. Adjust.
620 (c_pretty_printer::c_pretty_printer): Do not assign to
621 simple_type_specifier.
622
eaab24b9 6232013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
624
625 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
626 member function.
627 (c_pretty_printer::storage_class_specifier): Likewise.
628 (c_pretty_printer::initializer): Likewise.
629 (pp_declaration): Remove.
630 (pp_declaration_specifiers): Likewise.
631 (pp_abstract_declarator): Likewise.
632 (pp_declarator): Likewise.
633 (pp_type_id): Likewise.
634 (pp_statement): Likewise.
635 (pp_constant): Likewise.
636 (pp_id_expression): Likewise.
637 (pp_primary_expression): Likewise.
638 (pp_unary_expression): Likewise.
639 (pp_multiplicative_expression): Likewise.
640 (pp_conditional_expression): Likewise.
641 (pp_assignment_expression): Likewise.
642 (pp_expression): Likewise.
643 (pp_c_type_id): Likewise.
644 (pp_c_storage_class_specifier): Likewise.
645 * c-pretty-print.c (pp_c_type_cast): Tidy.
646 (pp_c_pointer): Likewise.
647 (pp_c_type_specifier): Likewise.
648 (pp_c_parameter_type_list): Likewise.
649 (pp_c_function_definition): Likewise.
650 (pp_c_init_declarator): Likewise.
651 (pp_c_initializer_list): Likewise.
652 (pp_c_constructor_elts): Likewise.
653 (c_pretty_printer::direct_abstract_declarator): Likewise.
654 (c_pretty_printer::declaration_specifiers): Likewise.
655 (c_pretty_printer::primary_expression): Likewise.
656 (c_pretty_printer::postfix_expression): Likewise.
657 (c_pretty_printer::type_id): Rename from pp_c_type_id.
658 (c_pretty_printer::storage_class_specifier): Rename from
659 pp_c_storage_class_specifier.
660 (c_pretty_printer::initializer): Rename from pp_c_initializer.
661 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
662 storage_class_specifier, initializer, offset_list, flags.
663
9e46467d 6642013-08-30 Marek Polacek <polacek@redhat.com>
665
666 * c-ubsan.c: New file.
667 * c-ubsan.h: New file.
668
36a8d9b9 6692013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
670
671 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
672 member function.
673 (c_pretty_printer::declaration_specifiers): Likewise.
674 (c_pretty_printer::declarator): Likewise.
675 (c_pretty_printer::abstract_declarator): Likewise.
676 (c_pretty_printer::direct_abstract_declarator): Likewise.
677 (c_pretty_printer::direct_declarator): Likewise.
678 (c_pretty_printer::function_specifier): Likewise.
679 (pp_declaration): Adjust.
680 (pp_declaration_specifiers): Likewise.
681 (pp_abstract_declarator): Likewise.
682 (pp_direct_declarator): Likewise.
683 (pp_function_specifier): Likewise.
684 (pp_direct_abstract_declarator): Remove as unused.
685 (pp_c_declaration): Remove.
686 (pp_c_declaration_specifiers): Likewise.
687 (pp_c_declarator): Likewise.
688 (pp_c_direct_declarator): Likewise.
689 (pp_c_function_specifier): Likewise.
690 (pp_c_direct_abstract_declarator): Likewise.
691 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
692 from pp_c_abstract_declarator. Adjust.
693 (c_pretty_printer::direct_abstract_declarator): Rename from
694 pp_c_direct_abstract_declarator. Adjust.
695 (c_pretty_printer::function_specifier): Rename from
696 pp_c_function_specifier. Adjust.
697 (c_pretty_printer::declaration_specifiers): Rename from
698 pp_c_declaration_specifiers. Adjust.
699 (c_pretty_printer::direct_declarator): Rename from
700 pp_c_direct_declarator. Adjust.
701 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
702 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
703 (c_pretty_printer::c_pretty_printer): Do not assign to
704 declaration, declaration_specifiers, declarator,
705 direct_declarator, direct_abstract_declarator, function_specifier.
706
30635c2e 7072013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
708
709 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
710 virtual member function.
711 (c_pretty_printer::multiplicative_expression): Likewise.
712 (c_pretty_printer::conditional_expression): Likewise.
713 (c_pretty_printer::assignment_expression): Likewise.
714 (c_pretty_printer::expression): Likewise.
715 (pp_unary_expression): Adjust.
716 (pp_multiplicative_expression): Likewise.
717 (pp_assignment_expression): Likewise.
718 (pp_conditional_expression): Likewise.
719 (pp_expression): Likewise.
720 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
721 from pp_c_unary_expression. Adjust.
722 (c_pretty_printer::multiplicative_expression): Rename from
723 pp_c_multiplicative_expression. Adjust.
724 (c_pretty_printer::conditional_expression): Rename from
725 pp_c_conditional_expression. Adjust.
726 (c_pretty_printer::assignment_expression): Rename from
727 pp_c_assignment_expression. Adjust.
728 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
729 (c_pretty_printer::c_pretty_printer): Do not assign to
730 unary_expression, multiplicative_expression,
731 conditional_expression, expression.
732
027d08ed 7332013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
734
735 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
736 virtual member function.
737 (pp_postfix_expression): Adjust.
738 (pp_c_postfix_expression): Remove.
739 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
740 from pp_c_postfix_expression. Adjust.
741 (c_pretty_printer::c_pretty_printer): Do not assign to
742 postfix_expression.
743
f873303a 7442013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
745
746 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
747 virtua member function.
748 (pp_primary_expression): Adjust.
749 (pp_c_primary_expression): Remove.
750 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
751 from pp_c_primary_expression. Adjust.
752 (pp_c_initializer_list): Use pp_primary_expression.
753 (c_pretty_printer::c_pretty_printer): Do not assign to
754 primary_expression.
755
08e3e481 7562013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
757
758 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
759 * c-pretty-print.c (M_): Remove.
760 (c_pretty_printer::translate_string): Define.
761 (pp_c_type_specifier): Use it.
762 (pp_c_primary_expression): Likewise.
763 (pp_c_expression): Likewise.
764
1fc4a87f 7652013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
766
767 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
768 virtual function.
769 (pp_c_id_expression): Remove.
770 (pp_id_expression): Adjust.
771 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
772 pp_c_id_expression. Adjust.
773 (pp_c_postfix_expression): Use pp_id_expression.
774 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
775
a6cb161b 7762013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
777
778 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
779 member function.
780 (pp_constant): Adjust.
781 (pp_c_constant): Remove.
782 * c-pretty-print.c (c_pretty_printer::constant): Rename from
783 pp_c_constant. Adjust.
784 (pp_c_constant)
785 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
786 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
787
eed6bc21 7882013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
789
790 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
791 (c_pretty_printer::c_pretty_printer): Declare.
792 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
793 c_pretty_printer_init. Adjust.
794 (print_c_tree): Do not call c_pretty_printer_init.
795 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
796
df558d2e 7972013-08-09 Arnaud Charlet <charlet@adacore.com>
798
799 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
800
42f9a786 8012013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
802
803 PR c++/58080
804 * c-common.c (pointer_int_sum): Add bool parameter.
805 * c-common.h (pointer_int_sum): Adjust declaration.
806
f874ddad 8072013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
808
809 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
810 c_pretty_printer variable.
811
a94db6b0 8122013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
813
814 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
815 (pp_base): Remove.
816 (pp_c_base): Likewise. Adjust users.
817 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
818 (pp_c_whitespace): Do not call pp_base.
819 (pp_c_left_paren): Likewise.
820 (pp_c_right_paren): Likewise.
821 (pp_c_left_brace): Likewise.
822 (pp_c_right_brace): Likewise.
823 (pp_c_left_bracket): Likewise.
824 (pp_c_right_bracket): Likewise.
825 (pp_c_dot): Likewise.
826 (pp_c_ampersand): Likewise.
827 (pp_c_star): Likewise.
828 (pp_c_arrow): Likewise.
829 (pp_c_semicolon): Likewise.
830 (pp_c_complement): Likewise.
831 (pp_c_exclamation): Likewise.
832 (pp_c_direct_declarator): Likewise.
833 (pp_c_ws_string): Likewise.
834 (pp_c_identifier): Likewise.
835 (pp_c_statement): Likewise.
836 (print_c_tree): Likewise.
837
1898176c 8382013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
839
840 PR c++/58072
841 * c-common.c (c_parse_error): Catch user-defined literal tokens and
842 provide useful error strings.
843
70d60d1d 8442013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
845
846 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
847 printer functions instead of pp_string or operators and punctuators.
848 (dump_generic_ada_node): Likewise.
849 * c-pretty-print.c (pp_c_type_specifier): Likewise.
850 (pp_c_relational_expression): Likewise.
851 (pp_c_logical_or_expression): Likewise.
852
dda4f0ec 8532013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
854
855 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
856 functions instead of pp_character.
857 (pp_ada_tree_identifier): Likewise.
858 (dump_ada_double_name): Likewise.
859 (dump_ada_function_declaration): Likewise.
860 (dump_ada_array_domains): Likewise.
861 (dump_template_types): Likewise.
862 (dump_generic_ada_node): Likewise.
863 (print_ada_declaration): Likewise.
864 (print_ada_struct_decl): Likewise.
865 * c-pretty-print.c (pp_c_integer_constant): Likewise.
866
7aa04c8d 8672013-07-23 Tom Tromey <tromey@redhat.com>
868
869 * c-common.h (enum rid) <RID_GENERIC>: New constant.
870 * c-common.c (c_common_reswords): Add _Generic.
871
a04e8d62 8722013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
873
874 * c-common.c: Fix typos.
875 * c-common.h: Likewise.
876
a96c3cc1 8772013-07-13 Lubos Lunak <l.lunak@suse.cz>
878
879 PR c++/55203
880 * c-common.c (c_common_attribute_table): Add warn_unused.
881 (handle_warn_unused_attribute): New.
882
da31536d 8832013-07-10 Jakub Jelinek <jakub@redhat.com>
884
885 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
886 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
887
839f2f70 8882013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
889
890 PR c++/57869
891 * c.opt: Add Wconditionally-supported.
892
73f353d0 8932013-07-08 Graham Stott <graham.stott@btinternet.com>
894
895 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
896 unused variables l_length and l_node.
897
21ebaa24 8982013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 899
900 PR c/57821
901 * c-common.c (complete_array_type): Delay folding first index
902 like other indices. When folding, check for index overflow.
903
68ea4406 9042013-06-27 Marc Glisse <marc.glisse@inria.fr>
905
906 PR c++/57509
907 * c-common.h (c_build_vec_perm_expr): New complain argument.
908 * c-common.c (c_build_vec_perm_expr): Likewise.
909 Use save_expr also in C++.
910
60777f69 9112013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
912
913 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
914 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
915 * c-opts.c (c_common_post_options): Likewise.
916
839f2f70 9172013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 918
919 * array-notation-common.c (length_mismatch_in_expr): Changed the
920 parameter type's from a dynamic array to a vec_tree. Also removed
921 the size parameters.
922 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
923 the change above.
924
e9331eab 9252013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
926
927 * c-common.h (struct cilkplus_an_parts): New structure.
928 (struct cilkplus_an_loop_parts): Likewise.
929 (cilkplus_extract_an_triplets): New prototype.
930 (fix_sec_implicit_args): Likewise.
931 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
932 (fix_sec_implicit_args): Likewise.
60777f69 933
a9c99fc4 9342013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
935
936 * array-notation-common.c (find_inv_trees): Removed an unwanted
937 typecasting.
938 * c-common.h (struct inv_list::additional_tcodes): Changed type from
939 enum rid to enum tree_code.
940
f2526cce 9412013-06-11 Jan Hubicka <jh@suse.cz>
942
943 * c-common.c (handle_alias_ifunc_attribute): Do not set
944 DECL_EXTERNAL for weakref variables.
945 * c-pragma.c (handle_pragma_weak): Make sure aliases
946 are not declared as external.
947
09970d67 9482013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
949
950 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
951 function from c/c-array-notation.c.
952 (is_cilkplus_reduce_builtin): Likewise.
953 (find_rank): Likewise.
954 (extract_array_notation_exprs): Likewise.
955 (replace_array_notations): Likewise.
956 (find_inv_trees): Likewise.
957 (replace_inv_trees): Likewise.
958 (contains_array_notation_expr): Likewise.
959 (find_correct_array_notation_type): Likewise.
960 * c-common.h (struct inv_list): Moved this struct from the file
961 c/c-array-notation.c and added a new field called additional tcodes.
962 (length_mismatch_in_expr_p): New prototype.
963 (is_cilkplus_reduce_builtin): Likewise.
964 (find_rank): Likewise.
965 (extract_array_notation_exprs): Likewise.
966 (replace_array_notation): Likewise.
967 (find_inv_trees): Likewise.
968 (replace_inv_trees): Likewise.
969 (find_correct_array_notation_type): Likewise.
839f2f70 970
3c6d4197 9712013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
972
973 * c-common.c (c_define_builtins): When cilkplus is enabled, the
974 function array_notation_init_builtins is called.
975 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
976 * c-common.def (ARRAY_NOTATION_REF): New tree.
977 * c-common.h (build_array_notation_expr): New function declaration.
978 (build_array_notation_ref): Likewise.
979 (extract_sec_implicit_index_arg): New extern declaration.
980 (is_sec_implicit_index_fn): Likewise.
981 (ARRAY_NOTATION_CHECK): New define.
982 (ARRAY_NOTATION_ARRAY): Likewise.
983 (ARRAY_NOTATION_START): Likewise.
984 (ARRAY_NOTATION_LENGTH): Likewise.
985 (ARRAY_NOTATION_STRIDE): Likewise.
986 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
987 ARRAY_NOTATION_REF.
988 (pp_c_expression): Likewise.
989 * c.opt (flag_enable_cilkplus): New flag.
990 * array-notation-common.c: New file.
991
8e71dad2 9922013-05-14 Jakub Jelinek <jakub@redhat.com>
993
994 PR c++/57274
995 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
996
432dd330 9972013-05-10 Marc Glisse <marc.glisse@inria.fr>
998
999 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1000 vectors.
1001
b156ec37 10022013-05-07 Han Shen <shenhan@google.com>
1003
1004 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1005
1a087624 10062013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1007
1008 * c-common.c (check_user_alignment): Emit error for negative values.
1009
1638c736 10102013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1011
1012 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1013
949dbf93 10142013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1015
1016 * c-cppbuiltin.c (c_cpp_builtins): Do not define
1017 __GXX_EXPERIMENTAL_CXX1Y__.
1018
9205a6cc 10192013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1020 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1021
1022 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1023 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1024 to simply use OPT_Wpointer_arith.
1025 (c_sizeof_or_alignof_type): Likewise.
1026
05d0bce1 10272013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1028
1029 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1030
41609f8b 10312013-04-12 Jakub Jelinek <jakub@redhat.com>
1032
1033 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1034 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1035 specifiers.
1036
c671dc4f 10372013-04-07 Steven Bosscher <steven@gcc.gnu.org>
1038
1039 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1040
ba125576 10412013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1042
1043 * c-common.c (pointer_int_sum): Remove dead code.
1044
9d3fa937 10452013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
1046
1047 PR middle-end/56524
1048 * c-common.c (handle_optimize_attribute): Don't call
1049 save_optabs_if_changed.
1050
5ceebb21 10512013-03-05 Jakub Jelinek <jakub@redhat.com>
1052
1053 PR middle-end/56461
1054 * c-pch.c (pch_init): Free target_validity at the end.
1055
18eeed2b 10562013-03-04 Jakub Jelinek <jakub@redhat.com>
1057
1058 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1059
a9196da9 10602013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
1061 Jakub Jelinek <jakub@redhat.com>
1062
1063 PR sanitizer/56454
1064 * c-common.c (handle_no_sanitize_address_attribute): New function.
1065 (c_common_attribute_table): Add no_sanitize_address attribute.
1066 (handle_no_address_safety_analysis_attribute): Add
1067 no_sanitize_address attribute, not no_address_safety_analysis
1068 attribute.
1069
15c27dda 10702013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 1071
1072 PR target/52555
1073 * c-common.c (handle_optimize_attribute): Call
1074 save_optabs_if_changed.
1075
19426fe1 10762013-02-18 Jakub Jelinek <jakub@redhat.com>
1077 Steven Bosscher <steven@gcc.gnu.org>
1078
1079 PR pch/54117
1080 * c-opts.c (c_common_post_options): If debug info is enabled
1081 and non-dwarf*, refuse to load PCH files and when writing PCH
1082 file warn.
1083
df936998 10842013-02-05 Jakub Jelinek <jakub@redhat.com>
1085
1086 PR middle-end/56167
1087 * c-common.c (handle_error_attribute): Fix condition.
1088
ae0c3984 10892013-01-30 Jakub Jelinek <jakub@redhat.com>
1090
1091 PR c++/55742
1092 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1093
1c4973d7 10942013-01-18 Jason Merrill <jason@redhat.com>
1095
1096 PR target/54908
1097 * c.opt (-fextern-tls-init): New.
1098 * c-opts.c (c_common_post_options): Handle it.
1099
7c834436 11002013-01-09 Jakub Jelinek <jakub@redhat.com>
1101
1102 PR c/48418
1103 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1104 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1105 and is either negative or bigger or equal to type precision
1106 of the first operand.
1107
5abaa10a 11082012-12-03 Marek Polacek <polacek@redhat.com>
1109
1110 PR c/55570
1111 * c-common.c (check_user_alignment): Swap order of tests,
1112 check TREE_CODE first.
1113
324ca377 11142012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
1115
1116 PR c++/52654
1117 * c-common.h (overflow_type): New enum.
1118 (build_userdef_literal): Add overflow_type argument.
1119 (tree_userdef_literal): Add overflow_type.
1120 (USERDEF_LITERAL_OVERFLOW): New access macro.
1121 * c-common.c (build_userdef_literal): Add overflow_type
1122 argument.
1123 * c-lex.c (c_lex_with_flags): Add overflow_type to
1124 build_userdef_literal calls.
1125 (interpret_integer, interpret_float): Add overflow_type argument.
1126
b4c4a429 11272012-11-28 Richard Biener <rguenther@suse.de>
1128
1129 PR c/35634
1130 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1131 here and use a type with proper overflow behavior for types that would
1132 need to be promoted for the arithmetic.
1133
d413ffdd 11342012-11-23 Jakub Jelinek <jakub@redhat.com>
1135
1136 PR sanitizer/55435
1137 * c-common.c (handle_no_address_safety_analysis_attribute): New
1138 function.
1139 (c_common_attribute_table): Add no_address_safety_analysis.
1140
52bc861d 11412012-11-16 Simon Baldwin <simonb@google.com>
1142
1143 * c.opt: Add f[no-]canonical-system-headers.
1144 * c-opts.c (c_common_handle_option): Handle
1145 OPT_fcanonical_system_headers.
1146
2dd00636 11472012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
1148
1149 PR c++/54413
1150 * c-opts.c (c_common_handle_option): Set new flags.
1151 * c.opt: Describe new flags.
1152
d4701f6c 11532012-11-09 Jason Merrill <jason@redhat.com>
1154
1155 * c.opt (Wabi-tag): New.
1156
72d65da9 11572012-11-09 Andi Kleen <ak@linux.intel.com>
1158
1159 PR 55139
1160 * c-common.c (get_atomic_generic_size): Mask with
1161 MEMMODEL_MASK
1162
77a357e3 11632012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1164
1165 PR c/53063
1166 * c.opt (Wformat): Make it Alias Wformat=1.
1167 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1168 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1169 LangEnabledBy.
1170 (Wformat=): RejectNegative. Use LangEnabledBy.
1171 (Wnonnull): Use LangEnabledBy.
1172 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1173 * c-format.c (set_Wformat): Delete.
1174 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1175 (maybe_read_dollar_number): Likewise.
1176 (avoid_dollar_number): Likewise.
1177 (finish_dollar_format_checking): Likewise.
1178 (check_format_info): Likewise.
1179 (check_format_info_main): Likewise.
1180 (check_format_types): Likewise.
1181 (format_type_warning): Likewise.
1182 * c-common.c (int): Likewise.
1183 (check_function_sentinel): Likewise.
1184 * c-common.h (warn_format,set_Wformat): Do not declare here.
1185
45efa6b9 11862012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1187
1188 PR c/53063
1189 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1190 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1191 Use LangEnabledBy.
1192 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1193 common.opt.
1194 (Wvariadic-macros): Init(1).
1195 * c-opts.c (c_common_handle_option): Do not handle them
1196 explicitly.
1197 (c_common_post_options): Likewise.
1198 (sanitize_cpp_opts): warn_unused_macros is now
1199 cpp_warn_unused_macros.
1200 (push_command_line_include): Likewise.
1201 * c-common.c (warn_unknown_pragmas): Do not define.
1202 * c-common.h (warn_unknown_pragmas): Do not declare.
1203
0e4e775a 12042012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1205
1206 PR c/51294
1207 * c-common.c (conversion_warning): Handle conditional expressions.
1208
8b447d3f 12092012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1210
1211 PR c++/54930
1212 * c.opt (Wreturn_local_addr): Define new option.
1213
f4a61754 12142012-10-25 Jason Merrill <jason@redhat.com>
1215
ecb10e6a 1216 * c.opt (Wvirtual-move-assign): New.
1217
f4a61754 1218 * c.opt (Winherited-variadic-ctor): New.
1219
7b463b19 12202012-10-25 Marc Glisse <marc.glisse@inria.fr>
1221
1222 PR c++/54427
1223 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1224
6adc88f8 12252012-10-23 Joseph Myers <joseph@codesourcery.com>
1226
1227 * c-common.h (pch_cpp_save_state): Declare.
1228 * c-target.def (c_preinclude): New hook.
1229 * c-opts.c (done_preinclude): New.
1230 (push_command_line_include): Handle default preincluded header.
1231 (cb_file_change): Call pch_cpp_save_state when calling
1232 push_command_line_include.
1233 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1234 (pch_cpp_save_state): New.
1235 (pch_init): Call pch_cpp_save_state conditionally, instead of
1236 calling cpp_save_state.
1237
fa816b0b 12382012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1239
1240 PR c/53063
1241 PR c/40989
1242 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1243 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1244 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1245 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1246 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1247 * c-opts.c (c_common_handle_option): Remove explicit handling from
1248 here.
1249 (c_common_post_options): Likewise.
1250
d214ccee 12512012-10-18 Eric Botcazou <ebotcazou@adacore.com>
1252
1253 * c-ada-spec.c (LOCATION_COL): Delete.
1254 (compare_location): New function.
1255 (compare_node): Use it.
1256 (compare_comment): Likewise.
1257
77b27208 12582012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1259
1260 PR c/53063
1261 PR c/40989
1262 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1263 * c-opts.c (c_common_handle_option): Do not set them here. Add
1264 comment.
1265 (c_common_post_options): Likewise.
1266
cc02ca4d 12672012-10-16 Eric Botcazou <ebotcazou@adacore.com>
1268
1269 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1270 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1271 Remove POINTER_TYPE handling, add large unsigned handling and use
1272 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1273
57f872a2 12742012-10-12 Jakub Jelinek <jakub@redhat.com>
1275
1276 PR c/54381
1277 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1278 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1279 locs and array of 3 trees instead of just single loc and single
1280 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
1281 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1282 For *cmp* builtins that take two sources strings report warnings
1283 about first and second source, not about destination and source.
1284
7354ad2e 12852012-10-12 Marc Glisse <marc.glisse@inria.fr>
1286
1287 PR c++/53055
1288 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1289
1ac7f120 12902012-10-11 Eric Botcazou <ebotcazou@adacore.com>
1291
1292 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1293 declaring something coming from another file.
1294
1e0cc9e3 12952012-10-10 Arnaud Charlet <charlet@adacore.com>
1296
1ac7f120 1297 PR ada/54845
1e0cc9e3 1298 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1299
b0e7825e 13002012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1301
1302 PR c++/54194
1303 * c-common.c (warn_about_parentheses): Add location_t parameter;
1304 use EXPR_LOC_OR_LOC.
1305 * c-common.h: Update declaration.
1306
41ed701a 13072012-10-09 Marc Glisse <marc.glisse@inria.fr>
1308
1309 PR c++/54427
1310 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1311 more operations. Make error messages optional.
1312 * c-common.h (enum stv_conv): Moved from c-typeck.c.
1313 (scalar_to_vector): Declare.
1314
3740094c 13152012-10-08 Jason Merrill <jason@redhat.com>
1316
1317 * c-common.c (c_common_reswords): Add thread_local.
1318
ffcdbf9c 13192012-10-08 Dodji Seketeli <dodji@redhat.com>
1320
1321 PR c++/53528 C++11 attribute support
1322 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1323 new functions.
1324 * c-common.c (check_cxx_fundamental_alignment_constraints): New
1325 static function.
1326 (handle_aligned_attribute): In choose strictest alignment
1327 among many. Use new check_cxx_fundamental_alignment_constraints.
1328 (handle_transparent_union_attribute): In c++11 attribute syntax,
1329 don't look through typedefs.
1330
ef34afc1 13312012-10-04 Arnaud Charlet <charlet@adacore.com>
1332
1333 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1334 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1335 out of dumpfile.h.
1336
f1ff4562 13372012-09-25 Dehao Chen <dehao@google.com>
1338
1339 PR middle-end/54645
ef34afc1 1340 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 1341 map when read in the pch.
1342
735538a1 13432012-09-18 Arnaud Charlet <charlet@adacore.com>
1344
1345 * c-ada-spec.c: Style fixes.
1346
9120cdc8 13472012-09-18 Thomas Quinot <quinot@adacore.com>
1348
1349 * c.opt (-fada-spec-parent): Define new command line switch.
1350 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1351 is specified, generate binding spec as a child of the specified unit.
1352
8eba82c2 13532012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
1354 Manuel López-Ibáñez <manu@gcc.gnu.org>
1355
1356 PR c++/53210
1357 * c.opt ([Winit-self]): Enabled by -Wall in C++.
1358
38682990 13592012-08-23 Arnaud Charlet <charlet@adacore.com>
1360
1361 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1362 for pointers, and add missing Convention C pragma.
1363 (print_ada_struct_decl): Add missing aliased keyword.
1364 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1365
f003f5dc 13662012-08-17 Jakub Jelinek <jakub@redhat.com>
1367
1368 * c-common.c (sizeof_pointer_memaccess_warning): New function.
1369 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1370 * c-opts.c (c_common_handle_option): Enable it for -Wall.
1371 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1372 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1373
ec11736b 13742012-08-10 Richard Guenther <rguenther@suse.de>
1375
1376 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1377
5f7f600e 13782012-08-07 Steven Bosscher <steven@gcc.gnu.org>
1379
1380 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1381 instead of separate pp_newline and pp_flush.
1382 (print_c_tree): Likewise.
1383
758a38ab 13842012-07-26 Richard Henderson <rth@redhat.com>
1385
1386 * c-common.c (handle_hot_attribute): Allow labels.
1387 (handle_cold_attribute): Likewise.
1388
9ca77b08 13892012-07-20 Jakub Jelinek <jakub@redhat.com>
1390
1391 PR c++/28656
1392 * c-common.c (check_function_nonnull): Handle multiple nonnull
1393 attributes properly.
1394
b9ed1410 13952012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1396
1397 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1398 * c-ada-spec.c: Likewise.
1399 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1400
c2a65b90 14012012-07-14 Steven Bosscher <steven@gcc.gnu.org>
1402
1403 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1404 Remove code conditional on it.
1405
88c5a1d1 14062012-07-11 Steven Bosscher <steven@gcc.gnu.org>
1407
1408 * c-gimplify.c: Do not include basic-block.h.
1409 * c-common.c: Do not include linfuncs.h.
1410
4a020a8c 14112012-07-08 Steven Bosscher <steven@gcc.gnu.org>
1412
1413 * c-common.h: Include tree.h.
1414
c28ddc97 14152012-07-02 Jason Merrill <jason@redhat.com>
1416
1417 PR c++/53524
1418 * c-common.c (get_priority): Call default_conversion.
1419
405ed67f 14202012-07-01 Uros Bizjak <ubizjak@gmail.com>
1421
1422 * c-pch.c (c_common_write_pch): Remove unused variables.
1423
e53d55e7 14242012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1425
1426 * cppspec.c: Moved from gcc/ to here.
1427
3d9c25ec 14282012-06-27 Kai Tietz <ktietz@redhat.com>
1429
1430 PR preprocessor/37215
1431 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1432
3169c57a 14332012-06-21 Steven Bosscher <steven@gcc.gnu.org>
1434
1435 * c-common.h (c_common_print_pch_checksum): Remove.
1436 * c-pch.c: Do not include output.h.
1437 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1438 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1439 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1440 (struct c_pch_header): Remove.
1441 (get_ident): Update gpch version.
1442 (pch_init): Do not print executable_checksum to asm_out_file.
1443 Do not fail if there is no asm_out_file to read back from. Set
1444 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1445 (c_common_write_pch): Verify that nothing was written to asm_out_file
1446 since pch_init was called. Do not write a c_pch_header, and do not
1447 copy from asm_out_file to the PCH.
1448 (c_common_read_pch): Do not read a c_pch_header, and do not restore
1449 the content of asm_out_file from the PCH.
1450 (c_common_print_pch_checksum): Remove.
1451 * c-opts.c (c_common_init): Print out executable_checksum directly.
1452
ff6624bc 14532012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1454
1455 * c-target.def (objc_declare_unresolved_class_reference,
1456 objc_declare_class_definition): Add new hooks.
1457
367b1459 14582012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1459
1460 * c-lex.c: Do not include output.h.
1461 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1462 Remove uses of ASM_OUTPUT_IDENT.
1463
bf0cb017 14642012-06-15 Marc Glisse <marc.glisse@inria.fr>
1465
1466 PR c++/51033
1467 * c-common.h (c_build_vec_perm_expr): Move decl here.
1468 * c-common.c (c_build_vec_perm_expr): Move definition
1469 here.
1470
b37a3600 14712012-06-06 Steven Bosscher <steven@gcc.gnu.org>
1472
1473 * c.opt (fconserve-space): Turn into a no-op.
1474
19931eea 14752012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 1476
1477 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1478 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1479 both the start and end of the function.
1480
dff12c10 14812012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1482
1483 * c-common.c: Do not include output.h.
1484 * c-pragma.c: Likewise.
1485
5f9e7dd5 14862012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1487
1488 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1489 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1490 (lang_decl_name): Handle namespace decls.
1491
b5369b7d 14922012-05-31 Steven Bosscher <steven@gcc.gnu.org>
1493
1494 * c-ada-spec.c: Do not include output.h.
1495 * c-semantics.c: Likewise.
1496
8032877c 14972012-05-29 Joseph Myers <joseph@codesourcery.com>
1498
1499 * c-common.c: Fix typo.
1500
7843e4bc 15012012-05-29 Michael Matz <matz@suse.de>
1502
1503 * c-common.h (c_expand_decl): Remove prototype.
1504
8cf857d4 15052012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1506
1507 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1508 * c-opts.c (c_common_handle_option): Remove code handling
1509 warn_missing_braces.
1510
8b64dc3c 15112012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
1512
1513 PR c++/25137
1514 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1515 -Wmissing_braces.
1516
43cbde16 15172012-05-22 Dodji Seketeli <dodji@redhat.com>
1518
1519 PR c++/53322
1520 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1521
db490cb6 15222012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
1523
1524 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1525 * c-opts.c (c_common_handle_option): Do not handle explicitly
1526 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1527
a60f3e81 15282012-05-16 Dodji Seketeli <dodji@redhat.com>
1529
1530 PR preprocessor/7263
1531 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
1532 to cpp_classify_number. For diagnostics, use the precise location
1533 instead of the global input_location.
1534
82e6ef7c 15352012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1536
cd4797ff 1537 PR c++/11856
82e6ef7c 1538 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1539
258a168d 15402012-05-14 Bernd Schmidt <bernds@codesourcery.com>
1541
82e6ef7c 1542 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 1543
d3b7ee7c 15442012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
1545
1546 PR 53063
1547 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1548 Wreorder): Use LangEnabledBy.
1549 * c-opts.c (c_common_handle_option): Do not enable them
1550 explicitly. Call lang-specific generated functions.
1551 (c_common_post_options): Do not set them here.
1552
70059cea 15532012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
1554
1555 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1556 Wmissing-field-initializers,Wmissing-parameter-type,
1557 Wold-style-declaration,Woverride-init): Use EnabledBy.
1558 * c-opts.c (c_common_post_options): Do not set here explicitly.
1559
fbb6fbd8 15602012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1561
1562 PR 53063
1563 * c-opts.c (c_common_handle_option): Use handle_generated_option
1564 to enable sub-options.
1565
61f69bc9 15662012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
1567
1568 PR c++/53158
1569 * c-common.c (warnings_for_convert_and_check): Use warning_at.
1570
5a1fe2db 15712012-05-10 Richard Guenther <rguenther@suse.de>
1572
1573 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1574 adjust commentary about TYPE_IS_SIZETYPE types.
1575
d42e7c5a 15762012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1577
1578 PR c++/53261
1579 * c-common.c (warn_logical_operator): Check that argument of
1580 integer_zerop is not NULL.
1581
686369e8 15822012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
1583
1584 PR c/43772
1585 * c-common.c (warn_logical_operator): Do not warn if either side
1586 is already true or false.
1587
03fe1dc2 15882012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1589
1590 PR c/51712
1591 * c-common.c (expr_original_type): New.
1592 (shorten_compare): Do not warn for enumeration types.
1593
bba5a206 15942012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
1595
1596 * c.opt (fpermissive): Add Var(flag_permissive).
1597
7059d45d 15982012-04-30 Marc Glisse <marc.glisse@inria.fr>
1599
1600 PR c++/51033
1601 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1602 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1603
7edb1062 16042012-04-30 Dodji Seketeli <dodji@redhat.com>
1605
1606 Add -Wvarargs option
1607 * c.opt (Wvarargs): Define new option.
1608
068bea1e 16092012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1610
1611 * c-common.c (check_function_arguments): Replace
1612 Wmissing-format-attribute with Wsuggest-attribute=format.
1613
b86527d8 16142012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1615
1616 * c.opt (Wsuggest-attribute=format): New. Alias of
1617 Wmissing-format-attribute.
1618 * c-format.c (decode_format_type): Replace
1619 Wmissing-format-attribute with Wsuggest-attribute=format.
1620 (check_function_format): Likewise.
1621
19931eea 16222012-04-27 Ollie Wild <aaw@google.com>
76d340ac 1623
1624 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1625 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1626 * c.opt: Add Wliteral-suffix.
1627
29438999 16282012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1629
1630 PR c/44774
1631 * c.opt (Wpedantic): New.
1632 (pedantic): Alias Wpedantic.
1633 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1634 (c_common_post_options): Likewise.
1635 (sanitize_cpp_opts): Likewise.
1636 * c-lex.c (interpret_float): Likewise.
1637 * c-format.c (check_format_types): Likewise.
1638 * c-common.c (pointer_int_sum): Likewise.
1639 (c_sizeof_or_alignof_type): Likewise.
1640 (c_add_case_label): Likewise.
1641 (c_do_switch_warnings): Likewise.
1642 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1643
4f9d6b8b 16442012-04-15 Jason Merrill <jason@redhat.com>
1645
1646 PR c++/52818
1647 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1648 (C_STD_NAME): Distinguish between C++98 and C++11.
1649
74bdbe96 16502012-04-11 Eric Botcazou <ebotcazou@adacore.com>
1651
1652 PR target/52624
1653 * c-common.h (uint16_type_node): Rename into...
1654 (c_uint16_type_node): ...this.
1655 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1656 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1657
3d177e8c 16582012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
1659
1660 * c-common.c (warn_if_unused_value): Move definition to here.
1661 * c-common.h (warn_if_unused_value): Move declaration to here.
1662
6a9a958f 16632012-03-23 William Bader <williambader@hotmail.com>
1664
1665 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1666
543efdbe 16672012-03-20 Jason Merrill <jason@redhat.com>
1668
1669 * c-common.h (enum cxx_dialect): Add cxx1y.
1670 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1671 test.
1672 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1673 * c-opts.c (c_common_post_options): Likewise.
1674 (set_std_cxx1y): New.
1675 (c_common_handle_option): Call it.
1676 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
1677
62206d34 16782012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
1679
1680 PR c++/14710
1681 * c.opt ([Wuseless-cast]): Add.
1682
fadf62f4 16832012-03-16 Richard Guenther <rguenther@suse.de>
1684
1685 * c-pretty-print.c (pp_c_initializer_list): Adjust.
1686
249faa35 16872012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1688
1689 PR c++/44783
1690 * c.opt (ftemplate-backtrace-limit) Add.
1691
126b6848 16922012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1693
1694 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1695 handling.
1696 * c-pragma.c (handle_pragma_extern_prefix): Remove.
1697 (init_pragma): Don't register extern_prefix.
1698
a51edb4c 16992012-03-12 Richard Guenther <rguenther@suse.de>
1700
1701 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1702 (builtin_type_for_size): Likewise.
1703
0f6a7cb7 17042012-02-13 Jakub Jelinek <jakub@redhat.com>
1705
1706 PR c++/52215
1707 * c-common.c (sync_resolve_params): Don't decide whether to convert
1708 or not based on TYPE_SIZE comparison, convert whenever arg_type
1709 is unsigned INTEGER_TYPE.
1710
0779e32c 17112012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
1712
1713 PR c/52118
1714 * c.opt ([Wunused-local-typedefs]): Fix description.
1715
baec58e1 17162012-01-24 Mike Stump <mikestump@comcast.net>
1717
1718 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
1719 exactly.
1720
c779d8cc 17212012-01-18 Richard Guenther <rguenther@suse.de>
1722
1723 * c-opts.c (c_common_post_options): Reset LTO flags if
1724 we are about to generate a PCH.
1725
ee917d24 17262012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
1727
1728 PR c++/51777
1729 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
1730 use pp_unsigned_wide_integer.
1731
90e2341f 17322012-01-10 Richard Guenther <rguenther@suse.de>
1733
1734 PR middle-end/51806
1735 * c-opts.c (c_common_handle_option): Move -Werror handling
1736 to language independent code.
1737
9ea022ce 17382012-01-05 Richard Guenther <rguenther@suse.de>
1739
1740 PR middle-end/51764
1741 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
1742 from common.opt.
1743
3df19e1b 17442011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
1745
1746 PR c++/51316
1747 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
1748 of array types with an unknown bound.
1749
32074525 17502011-12-20 Joseph Myers <joseph@codesourcery.com>
1751
1752 * c-common.c (flag_isoc99): Update comment to refer to C11.
1753 (flag_isoc1x): Change to flag_isoc11.
1754 * c-common.h (flag_isoc99): Update comment to refer to C11.
1755 (flag_isoc1x): Change to flag_isoc11.
1756 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1757 C11.
1758 * c-opts.c (set_std_c1x): Change to set_std_c11.
1759 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1760 Call set_std_c11.
1761 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1762 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1763 * c.opt (std=c1x): Change to std=c11. Document as non-draft
1764 standard.
1765 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1766 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
1767 (std=gnu1x): Make alias of std=gnu11.
1768
fca86134 17692011-12-19 Jason Merrill <jason@redhat.com>
1770
1771 PR c++/51228
1772 * c-common.c (handle_transparent_union_attribute): Check the first
1773 field if the type is complete.
1774
aa4313eb 17752011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
1776
1777 PR libstdc++/51365
1778 * c-common.c (RID_IS_FINAL): Add.
1779 * c-common.h (RID_IS_FINAL): Add.
1780
3f3d5ad4 17812011-11-30 Iain Sandoe <iains@gcc.gnu.org>
1782
1783 * c.opt (fgnu-runtime): Provide full description.
1784 (fnext-runtime): Likewise.
1785 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
1786
c4606d19 17872011-11-28 Andrew MacLeod <amacleod@redhat.com>
1788
1789 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
1790 predefines in one place. Add LOCK_FREE predefines.
1791 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
1792 new func.
1793
1d581089 17942011-11-24 Andrew MacLeod <amacleod@redhat.com>
1795
1796 PR c/51256
19931eea 1797 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 1798 conditions
19931eea 1799 (resolve_overloaded_atomic_exchange,
1800 resolve_overloaded_atomic_compare_exchange,
1d581089 1801 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
1802 error_mark_node for error conditions.
19931eea 1803
6aa221fa 18042011-11-08 Richard Guenther <rguenther@suse.de>
1805
1806 PR middle-end/51010
1807 c-family/
1808
4c0315d0 18092011-11-07 Richard Henderson <rth@redhat.com>
1810 Aldy Hernandez <aldyh@redhat.com>
1811 Torvald Riegel <triegel@redhat.com>
1812
1813 Merged from transactional-memory.
1814
1815 * c-common.c (handle_tm_wrap_attribute,
1816 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
1817 (struct c_common_reswords): Added __transaction* keywords.
1818 (struct c_common_attribute_table): Added transaction* and tm_regparm
1819 attributes.
1820 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
1821 masks.
1822 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
1823 find_tm_attribute): Declare.
1824
920f5a70 18252011-11-07 Jason Merrill <jason@redhat.com>
1826
1827 PR c++/35688
1828 * c-common.c, c-common.h: Revert yesterday's changes.
1829
b4f861b4 18302011-11-06 Jason Merrill <jason@redhat.com>
1831
1832 PR c++/35688
1833 * c-common.c (decl_has_visibility_attr): Split out from...
1834 (c_determine_visibility): ...here.
1835 * c-common.h: Declare it.
1836
83e25171 18372011-11-06 Joseph Myers <joseph@codesourcery.com>
1838
1839 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1840 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1841 type.
1842 (check_user_alignment): New. Split out of
1843 handle_aligned_attribute. Disallow integer constants with
1844 noninteger types. Conditionally allow zero.
1845 (handle_aligned_attribute): Use check_user_alignment.
1846 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1847
1cd6e20d 18482011-11-06 Andrew MacLeod <amacleod@redhat.com>
1849 Richard Henderson <rth@redhat.com>
1850
1851 Merged from cxx-mem-model.
1852
1853 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 1854 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 1855 parameters that are the same type size.
1856 (get_atomic_generic_size): New. Find size of generic
1857 atomic function parameters and do typechecking.
1858 (add_atomic_size_parameter): New. Insert size into parameter list.
1859 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
1860 either __atomic_exchange_n or external library call.
19931eea 1861 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 1862 __atomic_compare_exchange to either _n variant or external library call.
19931eea 1863 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 1864 __atomic_load_n or an external library call.
1865 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
1866 __atomic_store_n or an external library call.
1867 (resolve_overloaded_builtin): Handle new __atomic builtins.
1868
7549df0d 18692011-11-04 Eric Botcazou <ebotcazou@adacore.com>
1870
1871 PR c++/50608
1872 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
1873 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
1874 <INDIRECT_REF>: Return the argument.
1875 <ARRAY_REF>: Remove special code for negative offset.
1876 Call fold_build_pointer_plus instead of size_binop.
1877 (fold_offsetof): Remove STOP_REF argument and adjust.
1878 * c-common.h (fold_offsetof_1): Declare.
1879 (fold_offsetof): Remove STOP_REF argument.
1880
7e783eb3 18812011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
1882
1883 PR c++/50810
1884 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1885 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1886 Wnarrowing for C++0x and C++98.
1887 * c.opt ([Wnarrowing]): Update.
1888
8fe701f5 18892011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
1890
1891 PR c++/44277
1892 * c.opt: Add Wzero-as-null-pointer-constant.
1893
0d84dc2d 18942011-10-31 Jason Merrill <jason@redhat.com>
1895
67031f52 1896 * c.opt (-fdeduce-init-list): Off by default.
1897
0d84dc2d 1898 PR c++/50920
1899 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1900 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1901 and -Wc++11-compat.
1902 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1903
66f24c41 19042011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
1905
1906 PR c++/30066
1907 * c.opt (fvisibility-inlines-hidden): Description change.
1908
244db24d 19092011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
1910
1911 Implement C++11 user-defined literals.
1912 * c-common.c (build_userdef_literal): New.
1913 * c-common.def: New tree code.
1914 * c-common.h (tree_userdef_literal): New tree struct and accessors.
1915 * c-lex.c (interpret_float): Add suffix parm.
1916 (c_lex_with_flags): Build literal tokens.
1917
235be70f 19182011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1919
1920 PR c++/50841
1921 Revert:
1922 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1923
1924 PR c++/50810
1925 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1926 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1927 Wnarrowing for C++0x and C++98.
1928 * c.opt ([Wnarrowing]): Update.
1929
4fe0fb1c 19302011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1931
1932 PR c++/50810
1933 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1934 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1935 Wnarrowing for C++0x and C++98.
1936 * c.opt ([Wnarrowing]): Update.
1937
5f7504f9 19382011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
1939
1940 PR c++/45385
1941 * c-common.c (conversion_warning): Remove code looking for
1942 artificial operands.
1943
2a688977 19442011-10-18 Dodji Seketeli <dodji@redhat.com>
1945
1946 PR bootstrap/50760
1947 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 1948 !NO_IMPLICIT_EXTERN_C.
2a688977 1949
326e3391 19502011-10-17 Michael Spertus <mike_spertus@symantec.com>
1951
1952 * c-common.c (c_common_reswords): Add __bases,
1953 __direct_bases.
1954 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1955
19562011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
1957
1958 PR c++/50757
1959 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1960
62db153a 19612011-10-15 Tom Tromey <tromey@redhat.com>
1962 Dodji Seketeli <dodji@redhat.com>
1963
1964 * c.opt (fdebug-cpp): New option.
1965 * c-opts.c (c_common_handle_option): Handle the option.
1966 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1967 output stream in parameter. Factorized from ...
1968 (maybe_print_line): ... this. Dump location debug information when
1969 -fdebug-cpp is in effect.
1970 (print_line_1): New static function. Takes an output stream in
1971 parameter. Factorized from ...
1972 (print_line): ... here. Dump location information when -fdebug-cpp
1973 is in effect.
1974 (scan_translation_unit): Dump location information when
1975 -fdebug-cpp is in effect.
1976
ce70f433 19772011-10-15 Tom Tromey <tromey@redhat.com>
1978 Dodji Seketeli <dodji@redhat.com>
1979
1980 * c.opt (ftrack-macro-expansion): New option. Handle it with and
1981 without argument.
1982 * c-opts.c (c_common_handle_option)<case
1983 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1984 cases. Handle -ftrack-macro-expansion with and without argument.
1985
97bfb9ef 19862011-10-15 Tom Tromey <tromey@redhat.com>
1987 Dodji Seketeli <dodji@redhat.com>
1988
1989 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1990 (print_line, cb_define, do_line_change): Adjust to avoid touching
1991 the internals of struct line_map. Use the public API instead.
1992 * c-pch.c (c_common_read_pch): Likewise.
1993 * c-lex.c (fe_file_change): Likewise.
1994
326e3391 19952011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
1996
1997 PR c++/17212
1998 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1999
20002011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
2001
2002 PR c++/33067
2003 * c-pretty-print.c (pp_c_floating_constant): Output
2004 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2005
b9a16870 20062011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2007
2008 * c-common.c (def_builtin_1): Delete old interface with two
2009 parallel arrays to hold standard builtin declarations, and replace
2010 it with a function based interface that can support creating
2011 builtins on the fly in the future. Change all uses, and poison
2012 the old names. Make sure 0 is not a legitimate builtin index.
2013 * c-omp.c (c_finish_omp_barrier): Ditto.
2014 (c_finish_omp_taskwait): Ditto.
2015 (c_finish_omp_flush): Ditto.
2016
c7964868 20172011-10-11 Tristan Gingold <gingold@adacore.com>
2018
2019 * c.opt: (fallow-parameterless-variadic-functions): New.
2020
a4e3ffad 20212011-09-08 Dodji Seketeli <dodji@redhat.com>
2022
2023 PR c++/33255 - Support -Wunused-local-typedefs warning
2024 * c-common.h (struct c_language_function::local_typedefs): New
2025 field.
19931eea 2026 (record_locally_defined_typedef, maybe_record_typedef_use)
2027 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 2028 * c-common.c (record_locally_defined_typedef)
19931eea 2029 (maybe_record_typedef_use)
2030 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 2031 * c.opt: Declare new -Wunused-local-typedefs flag.
2032
737a23cc 20332011-09-06 Eric Botcazou <ebotcazou@adacore.com>
2034
2035 PR middle-end/50266
2036 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2037 computations.
2038
7542c3b4 20392011-09-05 Richard Guenther <rguenther@suse.de>
2040
2041 * c-common.c (complete_array_type): Use ssize_int (-1) instead
2042 of integer_minus_one_node for empty array upper bounds.
2043
1dc92c59 20442011-08-28 Dodji Seketeli <dodji@redhat.com>
2045
2046 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2047 it's the first time it's being called on this main TU.
2048
2bdf2b6e 20492011-08-24 Richard Guenther <rguenther@suse.de>
2050
2051 PR c/49396
2052 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2053
20542011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 2055
2056 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2057 defined in cpp_init_builtins and c_cpp_builtins.
2058
bff4ad11 20592011-08-19 Joseph Myers <joseph@codesourcery.com>
2060
2061 * c-common.c (c_common_reswords): Add __builtin_complex.
2062 * c-common.h (RID_BUILTIN_COMPLEX): New.
2063
985c6e3a 20642011-08-18 Joseph Myers <joseph@codesourcery.com>
2065
2066 * c-common.c (c_common_reswords): Add _Noreturn.
2067 (keyword_is_function_specifier): Handle RID_NORETURN.
2068 * c-common.h (RID_NORETURN): New.
2069
7dfa155b 20702011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2071
2072 * c-common.c (unsafe_conversion_p): New function. Check if it is
2073 unsafe to convert an expression to the type.
2074 (conversion_warning): Adjust, use unsafe_conversion_p.
2075 * c-common.h (unsafe_conversion_p): New function declaration.
2076
2169f33b 20772011-08-02 Jakub Jelinek <jakub@redhat.com>
2078
2079 * c-common.h (c_finish_omp_atomic): Adjust prototype.
2080 (c_finish_omp_taskyield): New prototype.
2081 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2082 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2083 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
2084 or RHS1 have side-effects, evaluate those too in the right spot,
2085 if it is a decl and LHS is also a decl, error out if they
2086 aren't the same.
2087 (c_finish_omp_taskyield): New function.
2088 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2089 * c-pragma.c (omp_pragmas): Add taskyield.
2090 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2091 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2092 PRAGMA_OMP_CLAUSE_MERGEABLE.
2093
ab77850e 20942011-07-25 Dodji Seketeli <dodji@redhat.com>
2095
2096 * c-common.h (set_underlying_type): Remove parm name from
2097 declaration.
2098
6ee97920 20992011-07-25 Romain Geissler <romain.geissler@gmail.com>
2100
2101 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 2102
dc251364 21032011-07-22 Jason Merrill <jason@redhat.com>
2104
1a2a35f0 2105 PR c++/49793
2106 * c.opt (Wnarrowing): New.
2107
27282252 2108 PR c++/30112
2109 * c-common.h: Declare c_linkage_bindings.
2110 * c-pragma.c (handle_pragma_redefine_extname): Use it.
2111
dc251364 2112 PR c++/49813
2113 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2114 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2115 as flag_isoc99 for 'restrict'.
2116 (pp_c_specifier_qualifier_list): Likewise for _Complex.
2117
fc501191 21182011-07-21 Ian Lance Taylor <iant@google.com>
2119
2120 PR middle-end/49705
2121 * c-common.c (c_disable_warnings): New static function.
2122 (c_enable_warnings): New static function.
2123 (c_fully_fold_internal): Change local unused_p to bool. Call
2124 c_disable_warnings and c_enable_warnings rather than change
2125 c_inhibit_evaluation_warnings.
2126
07b8f133 21272011-07-20 Jason Merrill <jason@redhat.com>
2128
2129 PR c++/6709 (DR 743)
2130 PR c++/42603 (DR 950)
2131 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2132 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2133 (CPP_DECLTYPE): New.
2134 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2135
2cc66f2a 21362011-07-19 Richard Guenther <rguenther@suse.de>
2137
2138 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2139 * c-omp.c (c_finish_omp_for): Likewise.
2140
3c802a1e 21412011-07-12 Eric Botcazou <ebotcazou@adacore.com>
2142
2143 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2144 body on the next line.
2145
98a33d9f 21462011-07-08 Jason Merrill <jason@redhat.com>
2147
3115bda0 2148 PR c++/45437
2149 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2150
98a33d9f 2151 PR c++/49673
2152 * c-common.c (c_apply_type_quals_to_decl): Don't check
2153 TYPE_NEEDS_CONSTRUCTING.
2154
c38a75b7 21552011-07-06 Richard Guenther <rguenther@suse.de>
2156
2157 * c-common.c (c_common_nodes_and_builtins):
2158 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2159
e593356b 21602011-07-05 Richard Guenther <rguenther@suse.de>
2161
2162 * c-common.c (c_common_nodes_and_builtins): Build all common
2163 tree nodes first.
2164
fca0886c 21652011-06-27 Jakub Jelinek <jakub@redhat.com>
2166
a68f7a8d 2167 * c-common.h (c_tree_chain_next): New static inline function.
2168
fca0886c 2169 * c-common.c (check_builtin_function_arguments): Handle
2170 BUILT_IN_ASSUME_ALIGNED.
2171
2797f13a 21722011-06-21 Andrew MacLeod <amacleod@redhat.com>
2173
2174 * c-common.c: Add sync_ or SYNC__ to builtin names.
2175 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 2176
21772011-06-20 Pierre Vittet <piervit@pvittet.com>
2178
2179 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2180 handler.
2181 (gen_pragma_handler): New union.
2182 (internal_pragma_handler): New type.
2183 (c_register_pragma_with_data)
2184 (c_register_pragma_with_expansion_and_data): New functions.
2185
2186 * c-pragma.c (registered_pragmas, c_register_pragma_1)
2187 (c_register_pragma, c_register_pragma_with_expansion)
2188 (c_invoke_pragma_handler): Changed to work with
2189 internal_pragma_handler.
2190 (c_register_pragma_with_data)
2191 (c_register_pragma_with_expansion_and_data): New functions.
2192
218e3e4e 21932011-06-14 Joseph Myers <joseph@codesourcery.com>
2194
2195 * c-common.c: Include common/common-target.h.
2196 (handle_section_attribute): Use
2197 targetm_common.have_named_sections.
2198 * c-cppbuiltin.c: Include common/common-target.h.
2199 (c_cpp_builtins): Use targetm_common.except_unwind_info.
2200
41e53ed2 22012011-06-10 Richard Guenther <rguenther@suse.de>
2202
2203 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2204 to print a IDENTIFIER_NODE.
2205
a6f06169 22062011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2207 Joseph Myers <joseph@codesourcery.com>
2208
2209 * c.opt (fbuilding-libgcc): New option.
2210 * c-cppbuiltin.c (c_cpp_builtins): Define
2211 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2212
1ea9269b 22132011-06-07 Jason Merrill <jason@redhat.com>
2214
8ce59854 2215 * c-common.c (max_tinst_depth): Lower default to 900.
2216
1ea9269b 2217 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2218
1af0124d 22192011-06-07 Richard Guenther <rguenther@suse.de>
2220
2221 * c-common.c (c_common_nodes_and_builtins): Do not set
2222 size_type_node or call set_sizetype.
2223
0e9a4c01 22242011-06-07 Dodji Seketeli <dodji@redhat.com>
2225
2226 PR debug/49130
2227 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 2228 type when using pointer comparison to compare types.
0e9a4c01 2229
90b40725 22302011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
2231
2232 * c.opt: Add -Wdelete-non-virtual-dtor.
2233 * c-opts.c (c_common_handle_option): Include it in -Wall.
2234
fc9c9e87 22352011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
2236
2237 PR bootstrap/49190
2238
2239 Revert:
2240 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2241
2242 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2243 not tree_common.
2244
d0389adc 22452011-05-27 Jakub Jelinek <jakub@redhat.com>
2246
2247 PR c++/49165
2248 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2249 C++ don't call c_common_truthvalue_conversion on void type arms.
2250
cacfdc02 22512011-05-27 Nathan Froyd <froydnj@codesourcery.com>
2252
2253 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2254 (stmt_list_stack): Define.
2255 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2256 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2257
027fc6ef 22582011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2259
2260 * c-common.c (warning_candidate_p): Check for BLOCKs.
2261
f21317a1 22622011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2263
2264 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2265 not tree_common.
2266
789e953d 22672011-05-25 Jakub Jelinek <jakub@redhat.com>
2268
2269 * c-common.c (def_fn_type): Remove extra va_end.
2270
7f506bca 22712011-05-23 Jason Merrill <jason@redhat.com>
2272
2273 PR c++/48106
2274 * c-common.c (c_common_get_narrower): New.
2275 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2276
774e9d58 22772011-05-23 Nathan Froyd <froydnj@codesourcery.com>
2278
2279 * c-common.h (check_function_arguments): Tweak prototype of
2280 check_function_arguments.
2281 * c-common.c (check_function_arguments): Likewise. Adjust
2282 calls to check_function_nonnull, check_function_format, and
2283 check_function_sentinel.
2284 (check_function_sentinel): Take a FUNCTION_TYPE rather than
2285 separate attributes and typelist arguments. Use
2286 FOREACH_FUNCTION_ARGS to iterate over argument types.
2287
23407dc9 22882011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2289
2290 * c-common.c (c_common_reswords): Reorder.
2291 * c-common.h (rid): Likewise.
2292
3a939d12 22932011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2294
2295 * c-common.c (def_fn_type): Don't call build_function_type, call
2296 build_function_type_array or build_varargs_function_type_array
2297 instead.
2298 (c_common_nodes_and_builtins): Likewise.
2299
b6e3dd65 23002011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2301
2302 * c-common.c (c_add_case_label): Omit the loc argument to
2303 build_case_label.
2304 * c-common.h (build_case_label): Remove.
2305 * c-semantics.c (build_case_label): Remove.
2306
4232a958 23072011-05-05 Joseph Myers <joseph@codesourcery.com>
2308
2309 * c-objc.h (objc_start_method_definition): Update prototype.
2310 * stub-objc.c (objc_start_method_definition): Add extra parameter.
2311
d0af78c5 23122011-05-04 Nathan Froyd <froydnj@codesourcery.com>
2313
2314 * c-common.c (check_main_parameter_types): Reindent. Don't use
2315 TYPE_ARG_TYPES directly.
2316 (handle_nonnull_attribute): Likewise.
2317 (sync_resolve_params): Likewise.
2318 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
2319 to check_format_string.
2320 (handle_format_attribute): Likewise.
2321 (check_format_string): Take a function type to examine instead of
2322 a type list. Use a function_arg_iterator to step through argument
2323 types.
2324
ceb7b692 23252011-05-04 Richard Guenther <rguenther@suse.de>
2326
2327 * c-common.c (fix_string_type): Use size_int for index type bounds.
2328 (start_fname_decls): Do not pass NULL to build_int_cst.
2329 (c_init_attributes): Likewise.
2330 * c-lex.c (c_lex_with_flags): Likewise.
2331
c66c81be 23322011-04-27 Jason Merrill <jason@redhat.com>
2333
2334 * c-common.c (make_tree_vector_from_list): New.
2335 * c-common.h: Declare it.
2336
16930c72 23372011-04-26 Richard Guenther <rguenther@suse.de>
2338
2339 PR preprocessor/48248
2340 * c-ppoutput.c (maybe_print_line): Always optimize newlines
2341 for output size with -P.
2342
23407dc9 23432011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2344
2345 * c-common.c (struct c_common_resword): Add __underlying_type.
2346 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2347
dd045aee 23482011-04-20 Jim Meyering <meyering@redhat.com>
2349
2350 * c-format.c (init_dollar_format_checking): Remove useless
2351 if-before-free.
2352
394dd737 23532011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
2354
2355 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 2356 (objc_detect_field_duplicates): New.
394dd737 2357 * stub-objc.c: Likewise.
23407dc9 2358
a758bf7d 23592011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2360
2361 * stub-objc.c (objc_declare_protocols): Renamed to
2362 objc_declare_protocol.
2363 * c-objc.h: Likewise.
23407dc9 2364
29d7200d 23652011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2366
2367 * stub-objc.c (objc_declare_class): Updated argument name.
2368
9b88d08d 23692011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2370
2371 * c-common.h (c_common_init_ts): Declare.
2372 * c-common.c (c_common_init_ts): Define.
2373
4185cf58 23742011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
2375
2376 * c-objc.h (objc_build_message_expr): Updated prototype.
2377 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 2378
5a90471f 23792011-04-12 Martin Jambor <mjambor@suse.cz>
2380
2381 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2382 of cgraph_node.
2383
783bb57e 23842011-04-11 Richard Guenther <rguenther@suse.de>
2385
2386 * c-common.c (complete_array_type): Build a range type of
2387 proper type.
2388
c33080b9 23892011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2390
2391 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2392 (handle_type_generic_attribute): Likewise.
2393
f8913d47 23942011-04-07 Jason Merrill <jason@redhat.com>
2395
2396 PR c++/48450
2397 * c-common.c (c_common_truthvalue_conversion): Don't ignore
2398 conversion from C++0x scoped enum.
2399
c94b1d0e 24002011-04-06 Joseph Myers <joseph@codesourcery.com>
2401
2402 * c-target-def.h: New file.
2403 * c-target.def: New file.
2404 * c-target.h: New file.
2405 * c-common.c (targetcm): Don't define here.
2406 * c-common.h (default_handle_c_option): Declare.
2407 * c-format.c: Include c-target.h instead of target.h.
2408 * c-opts.c: Include c-target.h instead of target.h. Explicitly
2409 include tm.h.
2410 (default_handle_c_option): Move from targhooks.c.
2411
acb10f41 24122011-03-29 Jakub Jelinek <jakub@redhat.com>
2413
2414 PR preprocessor/48248
2415 * c-ppoutput.c (print): Add src_file field.
2416 (init_pp_output): Initialize it.
2417 (maybe_print_line): Don't optimize by adding up to 8 newlines
2418 if map->to_file and print.src_file are different file.
2419 (print_line): Update print.src_file.
2420
82715bcd 24212011-03-25 Kai Tietz <ktietz@redhat.com>
2422
2423 * c-ada-spec.c (compare_comment): Use filename_cmp
2424 instead of strcmp for filename.
2425
451c8e2f 24262011-03-25 Jeff Law <law@redhat.com>
2427
2428 * c-family/c-common.c (def_fn_type): Add missing va_end.
2429
3c47771c 24302011-03-25 Jason Merrill <jason@redhat.com>
2431
2432 * c.opt: Add -std=c++03.
2433
97e6200f 24342011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2435
2436 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2437
ac86af5d 24382011-03-17 Kai Tietz
2439
2440 PR target/12171
ee212425 2441 * c-pretty-print.c (pp_c_specifier_qualifier_list):
2442 Display allowed attributes for function pointer types.
2443 (pp_c_attributes_display): New function to display
2444 attributes having affects_type_identity flag set to true.
2445 * c-pretty-print.h (pp_c_attributes_display): New prototype.
2446
ac86af5d 2447 * c-common.c (c_common_attribute_table):
2448 Add new element.
2449 (c_common_format_attribute_table): Likewise.
2450
914d1151 24512011-03-18 Jason Merrill <jason@redhat.com>
2452
69788bdf 2453 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2454 * c-common.h: Don't declare it here.
2455 * c-common.c: Or define it here.
2456 * c-opts.c (c_common_handle_option): Or set it here.
2457
914d1151 2458 PR c++/35315
2459 * c-common.c (handle_transparent_union_attribute): Don't
2460 make a duplicate type in C++.
2461
54cf6eed 24622011-03-15 Jason Merrill <jason@redhat.com>
2463
2464 * c-common.c (max_constexpr_depth): New.
2465 * c-common.h: Declare it.
2466 * c-opts.c (c_common_handle_option): Set it.
2467 * c.opt (fconstexpr-depth): New option.
2468
02cb1060 24692011-03-11 Jason Merrill <jason@redhat.com>
2470
9bf1c74e 2471 * c-common.c (attribute_takes_identifier_p): Add missing const.
2472
02cb1060 2473 PR c++/46803
2474 * c-common.c (attribute_takes_identifier_p): Assume that an
2475 unknown attribute takes an identifier.
2476
ecf2703d 24772011-03-07 Nathan Froyd <froydnj@codesourcery.com>
2478
2479 PR c/47786
2480 * c-common.c (c_type_hash): Call list_length instead of iterating
2481 through DECL_CHAIN. Rename 'i' to 'n_elements'.
2482
2b19dfe4 24832011-02-19 Jakub Jelinek <jakub@redhat.com>
2484
2485 PR c/47809
2486 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2487
29cf2335 24882011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2489
2490 * c.opt (fobjc-abi-version=) New.
2491 (fobjc-nilcheck): New.
2492
fad3f658 24932011-02-03 Nathan Froyd <froydnj@codesourcery.com>
2494
2495 PR c++/46890
2496 * c-common.h (keyword_is_decl_specifier): Declare.
2497 * c-common.c (keyword_is_decl_specifier): Define.
2498 (keyword_is_function_specifier): New function.
2499
a12319b3 25002011-01-26 Jakub Jelinek <jakub@redhat.com>
2501
2502 PR c/47473
2503 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2504 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2505 REAL_TYPE.
2506
5c128dc8 25072011-01-26 Arnaud Charlet <charlet@adacore.com>
2508
2509 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2510
8d67b0c7 25112011-01-26 Jakub Jelinek <jakub@redhat.com>
2512
2513 PR pch/47430
2514 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2515 after init_c_lex if pch_file is set.
2516
0675168d 25172011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
2518
e8911163 2519 PR c++/43601
0675168d 2520 * c.opt (-fkeep-inline-dllexport): New switch.
2521
0725e25c 25222011-01-12 Richard Guenther <rguenther@suse.de>
2523
2524 PR middle-end/32511
2525 * c-common.c (handle_weak_attribute): Warn instead of error
2526 on declaring an inline function weak.
2527
fdd84b77 25282011-01-05 Tom Tromey <tromey@redhat.com>
2529
2530 * c-common.h (lvalue_error): Update.
2531 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
2532 not error.
2533
e6e73d14 25342010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 2535
d67e8485 2536 PR objc/47075
2537 * c-objc.h (objc_finish_message_expr): Added argument to
2538 prototype.
2539
a36cf284 25402010-12-22 Nathan Froyd <froydnj@codesourcery.com>
2541
2542 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2543 Use prototype_p.
2544
33b3681f 25452010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
2546
2547 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 2548 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 2549
a1f90215 25502010-12-10 Nathan Froyd <froydnj@codesourcery.com>
2551
2552 * c-common.h (readonly_error): Declare.
2553 * c-common.c (readonly_error): Define.
2554
b1bbc8e5 25552010-12-09 Nathan Froyd <froydnj@codesourcery.com>
2556
2557 * c-common.h (invalid_indirection_error): Declare.
2558 * c-common.c (invalid_indirection_error): Define.
2559
b0d55af9 25602010-12-03 Richard Guenther <rguenther@suse.de>
2561
2562 PR c/46745
2563 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2564 (pp_c_unary_expression): Likewise.
2565 (pp_c_expression): Likewise.
2566
d7489d8d 25672010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
2568
2569 * c-common.h (objc_finish_function): New.
2570 (objc_non_volatilized_type): Removed.
2571 (objc_type_quals_match): Removed.
2572 * stub-objc.c (objc_finish_function): New.
2573 (objc_non_volatilized_type): Removed.
2574 (objc_type_quals_match): Removed.
19931eea 2575
92468061 25762010-11-30 Joseph Myers <joseph@codesourcery.com>
2577
2578 * c-common.h (parse_optimize_options): Declare.
2579 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2580 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2581
967958e4 25822010-11-29 Joseph Myers <joseph@codesourcery.com>
2583
2584 * c-opts.c (check_deps_environment_vars): Use getenv instead of
2585 GET_ENVIRONMENT.
2586 * c-pch.c (O_BINARY): Don't define here.
2587 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2588
b213bf24 25892010-11-25 Joseph Myers <joseph@codesourcery.com>
2590
2591 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2592 targetm.except_unwind_info.
2593
9faf44d6 25942010-11-23 Joseph Myers <joseph@codesourcery.com>
2595
2596 * c-opts.c (c_common_handle_option): Pass location to
2597 set_struct_debug_option.
2598
79396169 25992010-11-23 Joseph Myers <joseph@codesourcery.com>
2600
2601 * c-common.c (visibility_options): Move from ../opts.c.
2602 * c-common.h (struct visibility_flags, visibility_options):
2603 Declare here.
2604 * c-opts.c (finish_options): Rename to c_finish_options.
2605 (c_common_init): Update call to finish_options.
2606
b4aa4123 26072010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
2608
2609 PR objc/34033
2610 * c-lex.c (lex_string): Check that each string in an Objective-C
2611 string concat sequence starts with either one or zero '@', and
2612 that there are no spurious '@' signs at the end.
2613
3e0e49f2 26142010-11-20 Joseph Myers <joseph@codesourcery.com>
2615
2616 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2617 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2618 HANDLE_PRAGMA_VISIBILITY.
2619 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2620 HANDLE_PRAGMA_VISIBILITY): Don't define.
2621 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2622
a9ffdd35 26232010-11-20 Nathan Froyd <froydnj@codesourcery.com>
2624
2625 PR c++/16189
2626 PR c++/36888
2627 PR c++/45331
2628 * c-common.h (keyword_begins_type_specifier): Declare.
2629 (keyword_is_storage_class_specifier): Declare.
2630 (keyword_is_type_qualifier): Declare.
2631 * c-common.c (keyword_begins_type_specifier): New function.
2632 (keyword_is_storage_class_specifier): New function.
2633 (keyword_is_type_qualifier): Declare.
2634
93be21c0 26352010-11-19 Joseph Myers <joseph@codesourcery.com>
2636
2637 PR c/46547
2638 * c-common.c (in_late_binary_op): Define.
2639 (c_common_truthvalue_conversion): Check in_late_binary_op before
2640 calling c_save_expr.
2641 * c-common.h (in_late_binary_op): Declare.
2642
d7175aef 26432010-11-19 Joseph Myers <joseph@codesourcery.com>
2644
2645 * c-opts.c (c_common_handle_option): Update calls to
2646 set_struct_debug_option.
2647
c213e196 26482010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
2649
2650 * c-common.h (objc_declare_protocols): Added additional argument.
2651 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 2652
0b5fc5d6 26532010-11-18 Nathan Froyd <froydnj@codesourcery.com>
2654
2655 PR c/33193
2656 * c-common.h (build_real_imag_expr): Declare.
2657 * c-semantics.c (build_real_imag_expr): Define.
2658
b8ba44e7 26592010-11-17 Joseph Myers <joseph@codesourcery.com>
2660
2661 * c-opts.c (c_common_parse_file): Take no arguments.
2662 * c-common.h (c_common_parse_file): Update prototype.
2663
6ef8d12f 26642010-11-16 Jakub Jelinek <jakub@redhat.com>
2665
2666 PR c++/46401
2667 * c-common.c (warning_candidate_p): Don't track non-const calls
2668 or STRING_CSTs.
2669
929d2a90 26702010-11-15 Ian Lance Taylor <iant@google.com>
2671
2672 * c-lex.c (init_c_lex): Set macro debug callbacks if
2673 flag_dump_go_spec is set.
2674
e4a7640a 26752010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
2676
2677 * c-common.h (objc_build_incr_expr_for_property_ref): New.
2678 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2679
597d2d81 26802010-11-15 Nathan Froyd <froydnj@codesourcery.com>
2681
2682 PR preprocessor/45038
2683 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2684 dialects.
2685
c123f04d 26862010-11-12 Joseph Myers <joseph@codesourcery.com>
2687
2688 * c-common.h (c_family_lang_mask): Declare.
2689 * c-opts.c (c_family_lang_mask): Make extern.
2690 * c-pragma.c (handle_pragma_diagnostic): Use
2691 control_warning_option.
2692
3c6c0e40 26932010-11-12 Joseph Myers <joseph@codesourcery.com>
2694
2695 * c-common.c (parse_optimize_options): Update call to
2696 decode_options.
2697 * c-common.h (c_common_handle_option): Update prototype.
2698 * c-opts.c (c_common_handle_option): Take location_t parameter and
2699 pass it to other functions.
2700
19ec5c9e 27012010-11-11 Joseph Myers <joseph@codesourcery.com>
2702
2703 * c-opts.c (warning_as_error_callback): Remove.
2704 (c_common_initialize_diagnostics): Don't call
2705 register_warning_as_error_callback.
2706 (c_common_handle_option): Handle -Werror=normalized= here.
2707
bf776685 27082010-11-10 Joseph Myers <joseph@codesourcery.com>
2709
2710 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
2711 in diagnostic.
2712 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2713 letter.
2714 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2715 Remove trailing '.' from diagnostics.
2716 * c.opt (Wwrite-strings_: Avoid '`' in help text.
2717
6bd9d862 27182010-11-10 Joseph Myers <joseph@codesourcery.com>
2719
2720 * c-common.c (parse_optimize_options): Pass global_dc to
2721 decode_options.
2722 * c-opts.c (c_common_handle_option): Pass &global_options to
2723 set_Wstrict_aliasing.
2724 * c.opt (v): Don't mark Common or document here.
2725
1f6616ee 27262010-11-06 Iain Sandoe <iains@gcc.gnu.org>
2727
2728 PR target/44981
2729 * c-format.c (format_type): New type gcc_objc_string_format_type.
2730 (valid_stringptr_type_p): New.
2731 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 2732 (check_format_string): Pass expected type, use
1f6616ee 2733 valid_stringptr_type_p (), check that the format string types are
2734 consistent with the format specification.
2735 (decode_format_attr): Warn if NSString is used outside objective-c.
2736 (format_types_orig): Add NSString.
2737 (format_name): New.
2738 (format_flags): New.
2739 (check_format_arg): Handle format strings requiring an external parser.
2740 first_target_format_type: New variable.
2741 (handle_format_attribute): Set up first_target_format_type, pass the
2742 expected format arg string type to check_format_string().
2743 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
2744 * stub-objc.c (objc_string_ref_type_p): New.
2745 (objc_check_format_arg): New.
2746
b0d0931f 27472010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
2748
19931eea 2749 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 2750 * c-common.h (objc_build_class_component_ref): New.
2751 * stub-objc.c (objc_build_class_component_ref): New.
2752
f26877d5 27532010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
2754
2755 * c.opt (Wproperty-assign-default): New option.
2756
1ef143b6 27572010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
2758
2759 Implemented -fobjc-std=objc1 flag.
2760 * c.opt (fobjc-std=objc1): New option.
2761
8c582e4f 27622010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
2763
2764 Implemented format and noreturn attributes for Objective-C methods.
2765 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2766 attribute for Objective-C methods.
2767
8637f1db 27682010-10-31 Jason Merrill <jason@redhat.com>
2769
2770 * c-common.c (conversion_warning, warn_for_collisions_1): Use
2771 EXPR_LOC_OR_HERE.
2772
9d9f5bb3 27732010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
2774
2775 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2776 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
2777 (objc_add_property_declaration): Removed arguments for copies and
2778 ivar.
2779 (objc_build_getter_call): Renamed to
2780 objc_maybe_build_component_ref.
2781 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2782 (objc_is_property_ref): New.
2783 * c-common.c (c_common_reswords): Removed copies and ivar.
2784 * stub-objc.c (objc_add_property_declaration): Removed arguments
2785 for copies and ivar.
2786 (objc_build_getter_call): Renamed to
2787 objc_maybe_build_component_ref.
2788 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2789 (objc_is_property_ref): New.
19931eea 2790
56f907a0 27912010-10-29 Arnaud Charlet <charlet@adacore.com>
2792 Matthew Gingell <gingell@adacore.com>
2793
2794 * c-ada-spec.c (separate_class_package): New function.
2795 (pp_ada_tree_identifier): Prefix references to C++ classes with the
2796 name of their enclosing package.
2797 (print_ada_declaration): Use separate_class_package.
2798
b5fa273e 27992010-10-27 Jason Merrill <jason@redhat.com>
2800
5290e253 2801 * c-common.c (c_common_reswords): Add __is_literal_type.
2802 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
2803
b5fa273e 2804 * c-common.c (check_case_value): Remove special C++ code.
2805
7590f0e5 28062010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2807
2808 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
2809 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
2810 and RID_LAST_PATTR.
2811 (objc_add_property_declaration): Added additional arguments.
2812 (objc_property_attribute_kind): Removed.
2813 (objc_set_property_attr): Removed.
2814 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
2815 copy and nonatomic.
2816 * stub-objc.c (objc_add_property_declaration): Added additional
2817 arguments.
2818 (objc_set_property_attr): Removed.
19931eea 2819
1d894bcf 28202010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2821
2822 * c-common.h (objc_add_property_variable): Renamed to
2823 objc_add_property_declaration. Added location argument.
2824 * stub-objc.c (objc_add_property_variable): Same change.
2825
e23bf1fb 28262010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
2827
2828 * c-common.h (objc_maybe_printable_name): New.
2829 * stub-objc.c (objc_maybe_printable_name): New.
2830
93426222 28312010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2832 Andrew Pinski <pinskia@gmail.com>
2833
2834 * c-common.h (c_common_mark_addressable_vec): Declare.
2835 * c-common.c (c_common_mark_addressable_vec): New function.
2836
45b2b110 28372010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
2838
2839 * c-common.h (objc_set_method_type): Removed.
2840 (objc_add_method_declaration): Added boolean argument.
2841 (objc_start_method_definition): Same change.
2842 (objc_build_method_signature): Same change.
2843 * stub-objc.c (objc_set_method_type): Removed.
2844 (objc_add_method_declaration): Added boolean argument.
2845 (objc_start_method_definition): Same change.
2846 (objc_build_method_signature): Same change.
2847
64cd9619 28482010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
2849
2850 * c-common.h (finish_file): Removed.
2851 (objc_write_global_declarations): New.
2852 * c-opts.c (c_common_parse_file): Do not call finish_file.
2853 * stub-objc.c (objc_write_global_declarations): New.
19931eea 2854
e1f293c0 28552010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
2856
2857 Implemented parsing @synthesize and @dynamic for
2858 Objective-C/Objective-C++.
2859 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
2860 (objc_add_synthesize_declaration): New.
2861 (objc_add_dynamic_declaration): New.
2862 * c-common.c (c_common_reswords): Add synthesize and dynamic.
2863 * stub-objc.c (objc_add_synthesize_declaration): New.
2864 (objc_add_dynamic_declaration): New.
19931eea 2865
ef97a312 28662010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
2867
2868 PR target/46041
2869 * c-cppbuiltin.c (mode_has_fma): Move function here from
2870 builtins.c. Don't use the fma optab, instead just use the
2871 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
2872 using -save-temps.
2873
69b07042 28742010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
2875
2876 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 2877
69b07042 2878 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
2879
19931eea 2880 Radar 4330422
69b07042 2881 * c-common.h (objc_non_volatilized_type): New declaration
2882 * stub-objc.c (objc_non_volatilized_type): New stub.
2883
f15f2e56 28842010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
2885
69b07042 2886 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 2887
2888 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
2889
19931eea 2890 Radar 4133425
f15f2e56 2891 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 2892 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 2893
4a8875ed 28942010-10-17 Iain Sandoe <iains@gcc.gnu.org>
2895
2896 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2897 * c-common.h (enum rid): Add RID_AT_PACKAGE.
2898 (objc_ivar_visibility_kind): New enum.
2899 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 2900 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 2901 visibility enum.
2902
7e0713b1 29032010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
2904
2905 * c-cppbuiltin.c (builtin_define_float_constants): Emit
2906 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2907 has the appropriate fma builtins.
2908 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2909
86c110ac 29102010-10-14 Iain Sandoe <iains@gcc.gnu.org>
2911
7e0713b1 2912 merge from FSF apple 'trunk' branch.
86c110ac 2913 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 2914
86c110ac 2915 Radars 4436866, 4505126, 4506903, 4517826
2916 * c-common.c (c_common_resword): Define @property and its attributes.
2917 * c-common.h: Define property attribute enum entries.
2918 (OBJC_IS_PATTR_KEYWORD): New.
2919 (objc_property_attribute_kind): New enum.
2920 Declare objc_set_property_attr (), objc_add_property_variable (),
2921 objc_build_getter_call () and objc_build_setter_call ().
2922 * stub-objc.c (objc_set_property_attr): New stub.
2923 (objc_add_property_variable): Likewise.
2924 (objc_build_getter_call): Likewise.
2925 (objc_build_setter_call) Likewise.
7e0713b1 2926
40c8d1dd 29272010-10-13 Iain Sandoe <iains@gcc.gnu.org>
2928
7e0713b1 2929 merge from FSF apple 'trunk' branch.
40c8d1dd 2930 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2931
2932 Radar 3803157 (method attributes)
2933 * c-common.c (handle_deprecated_attribute): Recognize
2934 objc methods as valid declarations.
2935 * c-common.h: Declare objc_method_decl ().
7e0713b1 2936 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 2937
f3f006ad 29382010-10-08 Joseph Myers <joseph@codesourcery.com>
2939
2940 * c-common.c (parse_optimize_options): Call
2941 decode_cmdline_options_to_array_default_mask before
2942 decode_options. Update arguments to decode_options.
2943 * c-common.h (c_common_init_options_struct): Declare.
2944 * c-opts.c (c_common_init_options_struct): New. Split out from
2945 c_common_init_options.
2946
0a65c3bb 29472010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
2948
2949 Implemented fast enumeration for Objective-C.
2950 * c-common.h (objc_finish_foreach_loop): New.
2951 * stub-objc.c (objc_finish_foreach_loop): New.
2952
24ca3b4e 29532010-10-05 Joseph Myers <joseph@codesourcery.com>
2954
2955 * c-common.h (struct diagnostic_context): Don't declare here.
2956 (c_common_initialize_diagnostics): Declare using
2957 diagnostic_context typedef.
2958 * c-opts.c (c_common_handle_option): Pass global_dc to
2959 handle_generated_option.
2960
f83b64ca 29612010-10-04 Joseph Myers <joseph@codesourcery.com>
2962
2963 * c-opts.c (c_common_handle_option): Pass &global_options_set to
2964 handle_generated_option.
2965
2fdec027 29662010-10-03 Ian Lance Taylor <iant@google.com>
2967
2968 * c.opt (-fplan9-extensions): New option.
2969
41acdfa4 29702010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2971
2972 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2973 Remove.
2974 (c_cpp_builtins): Call functions from cppbuiltin.c instead
2975 of duplicating code.
2976
069761fb 29772010-09-30 Iain Sandoe <iains@gcc.gnu.org>
2978
2979 * c-common.c: Add two new entries for @optional
2980 and @required keywords.
2981
2982 merge from FSF 'apple/trunk' branch.
2983 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
2984
2985 Radar 4386773
2986 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2987 objective-c keywords.
2988 (objc_set_method_opt): New declaration.
2989 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 2990
2c5d2e39 29912010-09-30 Joseph Myers <joseph@codesourcery.com>
2992
2993 * c-common.c (handle_optimize_attribute): Pass &global_options to
2994 cl_optimization_save and cl_optimization_restore.
2995 * c-opts.c (c_common_handle_option): Pass &global_options to
2996 handle_generated_option.
2997 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2998 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2999 &global_options to cl_optimization_restore.
3000
e5c75ac3 30012010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
3002
3003 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3004 Objective-C/Objective-C++ keywords.
3005
3511333e 30062010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 3007
19931eea 3008 Merge from 'apple/trunk' branch on FSF servers.
3009
e147d6aa 3010 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
3011
3012 Radar 4281748
3013 * c-common.h (objc_check_global_decl): New declaration.
3014 * stub-objc.c (objc_check_global_decl): New stub.
3015
5461e683 30162010-09-29 Joseph Myers <joseph@codesourcery.com>
3017
3018 * c.opt: Don't use VarExists.
3019
5ae82d58 30202010-09-29 Joseph Myers <joseph@codesourcery.com>
3021
3022 * c-common.c (c_cpp_error): Update names of diagnostic_context
3023 members.
3024 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3025 cl_optimization members.
3026 * c-opts.c (warning_as_error_callback, c_common_handle_option,
3027 sanitize_cpp_opts, finish_options): Update names of cpp_options
3028 members.
3029
b27e241e 30302010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3031
3032 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
3033 (objc_is_reserved_word): Removed.
3034 * c-common.c: Updated comments.
3035 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3036 objc_is_reserved_word.
3037 * stub-objc.c (objc_is_reserved_word): Removed.
3038
03fc2271 30392010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3040
19931eea 3041 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 3042 include attributes.
3043 (objc_start_method_definition): Likewise.
3044 (objc_build_keyword_decl): Likewise.
3045 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3046 (objc_start_method_definition): Likewise.
3047 (objc_build_keyword_decl): Likewise.
3048
a336eb4b 30492010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3050
3051 * c-common.h (objc_start_class_interface): Adjust prototype.
3052 (objc_start_category_interface): Likewise.
3053 (objc_start_protocol): Likewise.
3054 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3055 (objc_start_class_interface): Likewise.
3056 (objc_start_category_interface): Likewise.
3057
48b14f50 30582010-09-27 Ian Lance Taylor <iant@google.com>
3059
3060 * c-common.c (c_common_attribute_table): Add no_split_stack.
3061 (handle_no_split_stack_attribute): New static function.
3062
4abfc532 30632010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3064
19931eea 3065 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 3066
3067 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3068
19931eea 3069 Radar 4229905
4abfc532 3070 * c-common.h (objc_have_common_type): New declaration.
3071 * stub-objc.c (objc_have_common_type): New stub.
3072
3073 2005-06-22 Ziemowit Laski <zlaski@apple.com>
3074
3075 Radar 4154928
3076 * c-common.h (objc_common_type): New prototype.
19931eea 3077 * stub-objc.c (objc_common_type): New stub.
4abfc532 3078
7bd95dfd 30792010-09-24 Jan Hubicka <jh@suse.cz>
3080
3081 * c-common.c (handle_leaf_attribute): New function.
3082 (struct attribute_spec c_common_att): Add leaf.
3083
5789e05b 30842010-09-22 Joseph Myers <joseph@codesourcery.com>
3085
3086 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3087 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3088 -dump, -dump=, -imacros, -imacros=, -include, -include=,
3089 -include-barrier, -include-directory, -include-directory=,
3090 -include-directory-after, -include-directory-after=,
3091 -include-prefix, -include-prefix=, -include-with-prefix,
3092 -include-with-prefix=, -include-with-prefix-after,
3093 -include-with-prefix-after=, -include-with-prefix-before,
3094 -include-with-prefix-before=, -no-integrated-cpp,
3095 -no-line-commands, -no-standard-includes, -no-warnings, -output,
3096 -output=, -pedantic, -pedantic-errors, -preprocess,
3097 -print-missing-file-dependencies, -trace-includes, -traditional,
3098 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3099 -user-dependencies, -verbose, -write-dependencies,
3100 -write-user-dependencies, no-integrated-cpp, traditional): New.
3101
e6fb54ba 31022010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3103
3104 PR objc/23710
9b60f3b0 3105 * c-common.h (objc_start_method_definition): Return bool instead
3106 of void.
3107 * stub-objc.c (objc_start_method_definition): Return bool instead
3108 of void.
3109
31102010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3111
3112 PR objc/25965
3113 * c-common.h (objc_get_interface_ivars): New declaration.
3114 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 3115
e44b0a1f 31162010-09-15 Ian Lance Taylor <iant@google.com>
3117
3118 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 3119 messages. Remove period at end of warning message.
e44b0a1f 3120
85c0a25c 31212010-09-09 Nathan Sidwell <nathan@codesourcery.com>
3122
3123 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3124 (handle_alias_attribute): ... here.
3125 (handle_ifunc_attribute): New.
3126
5ba33bf4 31272010-09-06 Mark Mitchell <mark@codesourcery.com>
3128
3129 * c-common.h (do_warn_double_promotion): Declare.
3130 * c-common.c (do_warn_double_promotion): Define.
3131
c920faa3 31322010-09-05 Mark Mitchell <mark@codesourcery.com>
3133
3134 * c.opt (Wdouble-promotion): New.
3135
9604e070 31362010-09-02 Joseph Myers <joseph@codesourcery.com>
3137
3138 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3139 fvtable-thunks, fxref): Mark no longer supported in help text.
3140
3b0273a1 31412010-09-02 Joseph Myers <joseph@codesourcery.com>
3142
3143 * c.opt (Wimport, fall-virtual, falt-external-templates,
3144 fdefault-inline, fenum-int-equiv, fexternal-templates,
3145 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3146 fname-mangling-version-, fnew-abi, fnonnull-objects,
3147 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3148 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3149 applicable.
3150 (fhandle-exceptions): Mark with Alias and Warn.
3151 * c-opts.c (c_common_handle_option): Don't handle options marked
3152 as ignored.
3153
67089c6b 31542010-09-02 Joseph Myers <joseph@codesourcery.com>
3155
3156 * c.opt (Wcomments, Werror-implicit-function-declaration,
3157 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3158 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3159 aliases.
3160 * c-common.c (option_codes): Use OPT_Wcomment instead of
3161 OPT_Wcomments.
3162 * c-opts.c (warning_as_error_callback, c_common_handle_option):
3163 Don't handle options marked as aliases.
3164
2af087f2 31652010-08-25 Richard Guenther <rguenther@suse.de>
3166
3167 * c-common.c (c_common_get_alias_set): Remove special
3168 handling for pointers.
3169
48148244 31702010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3171
3172 * c-common.c: Use FOR_EACH_VEC_ELT.
3173 * c-gimplify.c: Likewise.
3174 * c-pragma.c: Likewise.
3175
89c69892 31762010-08-16 Joseph Myers <joseph@codesourcery.com>
3177
3178 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
3179 RejectDriver.
3180 (MMDX): Change back to MMD. Mark NoDriverArg instead of
3181 RejectDriver.
3182 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3183 instead of OPT_MDX and OPT_MMDX.
3184
e28aa114 31852010-08-16 Joseph Myers <joseph@codesourcery.com>
3186
3187 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3188
99b66d21 31892010-08-12 Joseph Myers <joseph@codesourcery.com>
3190
3191 * c.opt (MD, MMD): Change to MDX and MMDX.
3192 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3193
666f4bf0 31942010-08-11 Joseph Myers <joseph@codesourcery.com>
3195
3196 * c-opts.c (c_common_handle_option): Call handle_generated_option
3197 instead of handle_option.
3198
5ec815f6 31992010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3200
3201 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3202 (maybe_apply_renaming_pragma): Delete unneeded declarations.
3203
d13143cf 32042010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3205
3206 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
3207 (pending_redefine_extname): Change type to a VEC.
3208 (add_to_renaming_pragma_list): Update for new type of
3209 pending_redefine_extname.
5ec815f6 3210 (maybe_apply_renaming_pragma): Likewise.
d13143cf 3211
2008c983 32122010-08-04 Arnaud Charlet <charlet@adacore.com>
3213
3214 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3215 visited.
3216 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3217 decide whether a type has already been declared/seen.
3218 Do not go to the original type.
3219 (dump_nested_types): New parameter forward.
3220 Generate forward declaration if needed and mark type as visited.
3221 (print_ada_declaration): Call dump_nested_types if not already done.
3222 Mark types as visited.
3223
9b091a73 32242010-08-03 Joseph Myers <joseph@codesourcery.com>
3225
3226 * c.opt (-print-pch-checksum): Remove option.
3227 * c-opts.c (c_common_handle_option): Don't handle
3228 OPT_print_pch_checksum.
3229
b78351e5 32302010-07-27 Joseph Myers <joseph@codesourcery.com>
3231
3232 * c-common.h (c_common_handle_option): Update prototype and return
3233 value type.
3234 * c-opts.c (c_common_handle_option): Update prototype and return
3235 value type. Update calls to handle_option and
3236 enable_warning_as_error.
3237
34416a90 32382010-07-27 Jakub Jelinek <jakub@redhat.com>
3239
3240 PR c/45079
3241 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3242
fecf9011 32432010-07-27 Joseph Myers <joseph@codesourcery.com>
3244
3245 * c-common.h (c_common_missing_argument): Remove.
3246 * c-opts.c (c_common_missing_argument): Remove.
3247 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3248 idirafter, imacros, include, isysroot, isystem, iquote): Add
3249 MissingArgError.
3250 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3251
e88d34f6 32522010-07-27 Joseph Myers <joseph@codesourcery.com>
3253
3254 * c-common.h (c_common_option_lang_mask,
3255 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3256 New.
3257 (c_common_init_options): Update prototype.
3258 * c-opts.c (c_common_option_lang_mask): New.
3259 (c_common_initialize_diagnostics): Split out of
3260 c_common_init_options.
3261 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3262 New.
3263 (c_common_init_options): Update prototype. Use decoded options in
3264 search for -lang-asm.
3265
1767a056 32662010-07-15 Nathan Froyd <froydnj@codesourcery.com>
3267
3268 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3269 * c-format.c: Likewise.
3270
0b205f4c 32712010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3272
3273 * c-common.h: Include diagnostic-core.h. Error if already
3274 included.
3275 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3276
1c58e3f1 32772010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3278
3279 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3280 Do not include expr.h
3281 (vector_mode_valid_p): Move here.
3282
33cc157c 32832010-06-21 DJ Delorie <dj@redhat.com>
3284
3285 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3286 allow these pragmas anywhere.
3287
32882010-06-14 Jakub Jelinek <jakub@redhat.com>
3289
3290 PR bootstrap/44509
3291 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3292 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3293 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3294 ggc_strdup instead of xstrdup.
3295
32962010-06-10 Jakub Jelinek <jakub@redhat.com>
3297
3298 * c-cppbuiltin.c: Include cpp-id-data.h.
3299 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3300 (lazy_hex_fp_value): New function.
3301 (builtin_define_with_hex_fp_value): Provide definitions lazily.
3302
9b40bfbf 33032010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3304
3305 * c-gimplify.c: Do not include tree-flow.h
3306
202d6e5f 33072010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
3308
3309 PR other/44034
3310 * c-common.c: Rename targetm member:
3311 targetm.enum_va_list -> targetm.enum_va_list_p
3312
d3237426 33132010-06-28 Anatoly Sokolov <aesok@post.ru>
3314
3315 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3316
596981c8 33172010-06-28 Steven Bosscher <steven@gcc.gnu.org>
3318
3319 * c-cppbuiltin.c: Do not include except.h.
3320
b9bdfa0b 33212010-06-24 Andi Kleen <ak@linux.intel.com>
3322
19931eea 3323 * c-common.c (warn_for_omitted_condop): New.
3324 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 3325
55ad092d 33262010-06-21 Joseph Myers <joseph@codesourcery.com>
3327
3328 * c.opt (lang-objc): Remove.
3329 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3330
9e7c2572 33312010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
3332
3333 * c-opts.c: Include "tm_p.h".
3334
615ef0bb 33352010-06-20 Joseph Myers <joseph@codesourcery.com>
3336
3337 * c-common.c (parse_optimize_options): Update call to
3338 decode_options.
3339
aef48c9a 33402010-06-18 Nathan Froyd <froydnj@codesourcery.com>
3341
3342 * c-common.c (record_types_used_by_current_var_decl): Adjust for
3343 new type of types_used_by_cur_var_decl.
3344
d74003b4 33452010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
3346
3347 PR bootstrap/44512
3348 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3349 for C++ standard compliance.
3350
1194d077 33512010-06-16 Jason Merrill <jason@redhat.com>
3352
3353 * c.opt: Add -Wnoexcept.
3354
d473d901 33552010-06-16 Richard Guenther <rguenther@suse.de>
3356
3357 PR c/44555
3358 * c-common.c (c_common_truthvalue_conversion): Remove
3359 premature and wrong optimization concering ADDR_EXPRs.
3360
b62dbfd3 33612010-06-15 Arnaud Charlet <charlet@adacore.com>
3362
3363 * c-ada-spec.c (dump_sloc): Remove column info.
3364 (is_simple_enum): New function.
3365 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3366 enum types when relevant.
3367
200dd99c 33682010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3369
19931eea 3370 * c-common.c (conversion_warning): Warn at expression
200dd99c 3371 location.
3372
abf6a617 33732010-06-10 Joseph Myers <joseph@codesourcery.com>
3374
3375 * c-opts.c (c_common_handle_option): Don't handle
3376 OPT_fshow_column.
3377
ba72912a 33782010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3379
3380 * c-pragma.c (push_alignment): Use typed GC allocation.
3381 (handle_pragma_push_options): Likewise.
3382
3383 * c-common.c (parse_optimize_options): Likewise.
3384
3385 * c-common.h (struct sorted_fields_type): Add variable_size GTY
3386 option.
3387
4aafe913 33882010-06-07 Joseph Myers <joseph@codesourcery.com>
3389
3390 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3391 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3392 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3393 flag_signed_bitfields, warn_strict_null_sentinel,
3394 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3395 flag_gen_declaration, flag_no_gnu_keywords,
3396 flag_implement_inlines, flag_implicit_templates,
3397 flag_implicit_inline_templates, flag_optional_diags,
3398 flag_elide_constructors, flag_default_inline, flag_rtti,
3399 flag_conserve_space, flag_access_control, flag_check_new,
3400 flag_new_for_scope, flag_weak, flag_working_directory,
3401 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3402 flag_enforce_eh_specs, flag_threadsafe_statics,
3403 flag_pretty_templates): Remove.
3404 * c-common.h (flag_preprocess_only, flag_nil_receivers,
3405 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3406 flag_replace_objc_classes, flag_undef, flag_no_builtin,
3407 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3408 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3409 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3410 flag_no_gnu_keywords, flag_implement_inlines,
3411 flag_implicit_templates, flag_implicit_inline_templates,
3412 flag_optional_diags, flag_elide_constructors, flag_default_inline,
3413 flag_rtti, flag_conserve_space, flag_access_control,
3414 flag_check_new, flag_new_for_scope, flag_weak,
3415 flag_working_directory, flag_use_cxa_atexit,
3416 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3417 flag_threadsafe_statics, flag_pretty_templates,
3418 warn_strict_null_sentinel): Remove.
3419 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3420 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3421 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3422 fimplicit-inline-templates, fimplicit-templates,
3423 flax-vector-conversions, fms-extensions, fnil-receivers,
3424 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3425 frtti, fshort-double, fshort-enums, fshort-wchar,
3426 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3427 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3428 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3429 gen-decls, undef): Use Var.
3430 (fdefault-inline, foptional-diags): Document as doing nothing.
3431 * c-opts.c (c_common_handle_option): Remove cases for options now
3432 using Var. Mark ignored options as such.
3433
7bedc3a0 34342010-06-05 Steven Bosscher <steven@gcc.gnu.org>
3435
19931eea 3436 * c-common.c: Moved to here from parent directory.
7bedc3a0 3437 * c-common.def: Likewise.
3438 * c-common.h: Likewise.
3439 * c-cppbuiltin.c: Likewise.
3440 * c-dump.c: Likewise.
3441 * c-format.c: Likewise.
3442 * c-format.h : Likewise.
3443 * c-gimplify.c: Likewise.
3444 * c-lex.c: Likewise.
3445 * c-omp.c: Likewise.
3446 * c.opt: Likewise.
3447 * c-opts.c: Likewise.
3448 * c-pch.c: Likewise.
3449 * c-ppoutput.c: Likewise.
3450 * c-pragma.c: Likewise.
3451 * c-pragma.h: Likewise.
3452 * c-pretty-print.c: Likewise.
3453 * c-pretty-print.h: Likewise.
3454 * c-semantics.c: Likewise.
3455 * stub-objc.c: Likewise.
3456
3457 * c-common.c: Include gt-c-family-c-common.h.
3458 * c-pragma.c: Include gt-c-family-c-pragma.h.
3459\f
3aea1f79 3460Copyright (C) 2010-2014 Free Software Foundation, Inc.
7bedc3a0 3461
3462Copying and distribution of this file, with or without modification,
3463are permitted in any medium without royalty provided the copyright
3464notice and this notice are preserved.