OSDN Git Service

/cp
[pf3gnuchains/gcc-fork.git] / gcc / c-family / ChangeLog
1 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
2
3         PR c++/45385
4         * c-common.c (conversion_warning): Remove code looking for
5         artificial operands.
6
7 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
8
9         PR bootstrap/50760
10         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
11         !NO_IMPLICIT_EXTERN_C.
12
13 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
14
15         * c-common.c (c_common_reswords): Add __bases,
16         __direct_bases.
17         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
18
19 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
20
21         PR c++/50757
22         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
23
24 2011-10-15  Tom Tromey  <tromey@redhat.com>
25             Dodji Seketeli  <dodji@redhat.com>
26
27         * c.opt (fdebug-cpp): New option.
28         * c-opts.c (c_common_handle_option): Handle the option.
29         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
30         output stream in parameter. Factorized from ...
31         (maybe_print_line): ... this. Dump location debug information when
32         -fdebug-cpp is in effect.
33         (print_line_1): New static function. Takes an output stream in
34         parameter. Factorized from ...
35         (print_line): ... here. Dump location information when -fdebug-cpp
36         is in effect.
37         (scan_translation_unit): Dump location information when
38         -fdebug-cpp is in effect.
39
40 2011-10-15  Tom Tromey  <tromey@redhat.com>
41             Dodji Seketeli  <dodji@redhat.com>
42
43         * c.opt (ftrack-macro-expansion): New option. Handle it with and
44         without argument.
45         * c-opts.c (c_common_handle_option)<case
46         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
47         cases. Handle -ftrack-macro-expansion with and without argument.
48
49 2011-10-15  Tom Tromey  <tromey@redhat.com>
50             Dodji Seketeli  <dodji@redhat.com>
51
52         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
53         (print_line, cb_define, do_line_change): Adjust to avoid touching
54         the internals of struct line_map.  Use the public API instead.
55         * c-pch.c (c_common_read_pch): Likewise.
56         * c-lex.c (fe_file_change): Likewise.
57
58 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
59
60         PR c++/17212
61         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
62
63 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
64
65         PR c++/33067
66         * c-pretty-print.c (pp_c_floating_constant): Output
67         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
68
69 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
70
71         * c-common.c (def_builtin_1): Delete old interface with two
72         parallel arrays to hold standard builtin declarations, and replace
73         it with a function based interface that can support creating
74         builtins on the fly in the future.  Change all uses, and poison
75         the old names.  Make sure 0 is not a legitimate builtin index.
76         * c-omp.c (c_finish_omp_barrier): Ditto.
77         (c_finish_omp_taskwait): Ditto.
78         (c_finish_omp_flush): Ditto.
79
80 2011-10-11  Tristan Gingold  <gingold@adacore.com>
81
82         * c.opt: (fallow-parameterless-variadic-functions): New.
83
84 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
85
86         PR c++/33255 - Support -Wunused-local-typedefs warning
87         * c-common.h (struct c_language_function::local_typedefs): New
88         field.
89         (record_locally_defined_typedef, maybe_record_typedef_use)
90         (maybe_warn_unused_local_typedefs): Declare new functions.
91         * c-common.c (record_locally_defined_typedef)
92         (maybe_record_typedef_use)
93         (maybe_warn_unused_local_typedefs): Define new functions.
94         * c.opt: Declare new -Wunused-local-typedefs flag.
95
96 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
97
98         PR middle-end/50266
99         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
100         computations.
101
102 2011-09-05  Richard Guenther  <rguenther@suse.de>
103
104         * c-common.c (complete_array_type): Use ssize_int (-1) instead
105         of integer_minus_one_node for empty array upper bounds.
106
107 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
108
109         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
110         it's the first time it's being called on this main TU.
111
112 2011-08-24  Richard Guenther  <rguenther@suse.de>
113
114         PR c/49396
115         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
116
117 2011-08-22  Gabriel Charette  <gchare@google.com>
118
119         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
120         defined in cpp_init_builtins and c_cpp_builtins.
121
122 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
123
124         * c-common.c (c_common_reswords): Add __builtin_complex.
125         * c-common.h (RID_BUILTIN_COMPLEX): New.
126
127 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
128
129         * c-common.c (c_common_reswords): Add _Noreturn.
130         (keyword_is_function_specifier): Handle RID_NORETURN.
131         * c-common.h (RID_NORETURN): New.
132
133 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
134
135         * c-common.c (unsafe_conversion_p): New function. Check if it is
136         unsafe to convert an expression to the type.
137         (conversion_warning): Adjust, use unsafe_conversion_p.
138         * c-common.h (unsafe_conversion_p): New function declaration.
139
140 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
141
142         * c-common.h (c_finish_omp_atomic): Adjust prototype.
143         (c_finish_omp_taskyield): New prototype.
144         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
145         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
146         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
147         or RHS1 have side-effects, evaluate those too in the right spot,
148         if it is a decl and LHS is also a decl, error out if they
149         aren't the same.
150         (c_finish_omp_taskyield): New function.
151         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
152         * c-pragma.c (omp_pragmas): Add taskyield.
153         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
154         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
155         PRAGMA_OMP_CLAUSE_MERGEABLE.
156
157 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
158
159         * c-common.h (set_underlying_type): Remove parm name from
160         declaration.
161
162 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
163
164         * c-pretty-print.h: Search c-common.h in c-family.
165         
166 2011-07-22  Jason Merrill  <jason@redhat.com>
167
168         PR c++/49793
169         * c.opt (Wnarrowing): New.
170
171         PR c++/30112
172         * c-common.h: Declare c_linkage_bindings.
173         * c-pragma.c (handle_pragma_redefine_extname): Use it.
174
175         PR c++/49813
176         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
177         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
178         as flag_isoc99 for 'restrict'.
179         (pp_c_specifier_qualifier_list): Likewise for _Complex.
180
181 2011-07-21  Ian Lance Taylor  <iant@google.com>
182
183         PR middle-end/49705
184         * c-common.c (c_disable_warnings): New static function.
185         (c_enable_warnings): New static function.
186         (c_fully_fold_internal): Change local unused_p to bool.  Call
187         c_disable_warnings and c_enable_warnings rather than change
188         c_inhibit_evaluation_warnings.
189
190 2011-07-20  Jason Merrill  <jason@redhat.com>
191
192         PR c++/6709 (DR 743)
193         PR c++/42603 (DR 950)
194         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
195         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
196         (CPP_DECLTYPE): New.
197         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
198
199 2011-07-19  Richard Guenther  <rguenther@suse.de>
200
201         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
202         * c-omp.c (c_finish_omp_for): Likewise.
203
204 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
205
206         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
207         body on the next line.
208
209 2011-07-08  Jason Merrill  <jason@redhat.com>
210
211         PR c++/45437
212         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
213
214         PR c++/49673
215         * c-common.c (c_apply_type_quals_to_decl): Don't check
216         TYPE_NEEDS_CONSTRUCTING.
217
218 2011-07-06  Richard Guenther  <rguenther@suse.de>
219
220         * c-common.c (c_common_nodes_and_builtins):
221         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
222
223 2011-07-05  Richard Guenther  <rguenther@suse.de>
224
225         * c-common.c (c_common_nodes_and_builtins): Build all common
226         tree nodes first.
227
228 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
229
230         * c-common.h (c_tree_chain_next): New static inline function.
231
232         * c-common.c (check_builtin_function_arguments): Handle
233         BUILT_IN_ASSUME_ALIGNED.
234
235 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
236
237         * c-common.c: Add sync_ or SYNC__ to builtin names.
238         * c-omp.c: Add sync_ or SYNC__ to builtin names.
239
240 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
241
242         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
243         handler.
244         (gen_pragma_handler): New union.
245         (internal_pragma_handler): New type.
246         (c_register_pragma_with_data)
247         (c_register_pragma_with_expansion_and_data): New functions.
248
249         * c-pragma.c (registered_pragmas, c_register_pragma_1)
250         (c_register_pragma, c_register_pragma_with_expansion)
251         (c_invoke_pragma_handler): Changed to work with
252         internal_pragma_handler.
253         (c_register_pragma_with_data)
254         (c_register_pragma_with_expansion_and_data): New functions.
255
256 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
257
258         * c-common.c: Include common/common-target.h.
259         (handle_section_attribute): Use
260         targetm_common.have_named_sections.
261         * c-cppbuiltin.c: Include common/common-target.h.
262         (c_cpp_builtins): Use targetm_common.except_unwind_info.
263
264 2011-06-10  Richard Guenther  <rguenther@suse.de>
265
266         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
267         to print a IDENTIFIER_NODE.
268
269 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
270             Joseph Myers  <joseph@codesourcery.com>
271
272         * c.opt (fbuilding-libgcc): New option.
273         * c-cppbuiltin.c (c_cpp_builtins): Define
274         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
275
276 2011-06-07  Jason Merrill  <jason@redhat.com>
277
278         * c-common.c (max_tinst_depth): Lower default to 900.
279
280         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
281
282 2011-06-07  Richard Guenther  <rguenther@suse.de>
283
284         * c-common.c (c_common_nodes_and_builtins): Do not set
285         size_type_node or call set_sizetype.
286
287 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
288
289         PR debug/49130
290         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
291         type when using pointer comparison to compare types.
292
293 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
294
295         * c.opt: Add -Wdelete-non-virtual-dtor.
296         * c-opts.c (c_common_handle_option): Include it in -Wall.
297
298 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
299
300         PR bootstrap/49190
301
302         Revert:
303         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
304
305         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
306         not tree_common.
307
308 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
309
310         PR c++/49165
311         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
312         C++ don't call c_common_truthvalue_conversion on void type arms.
313
314 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
315
316         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
317         (stmt_list_stack): Define.
318         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
319         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
320
321 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
322
323         * c-common.c (warning_candidate_p): Check for BLOCKs.
324
325 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
326
327         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
328         not tree_common.
329
330 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
331
332         * c-common.c (def_fn_type): Remove extra va_end.
333
334 2011-05-23  Jason Merrill  <jason@redhat.com>
335
336         PR c++/48106
337         * c-common.c (c_common_get_narrower): New.
338         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
339
340 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
341
342         * c-common.h (check_function_arguments): Tweak prototype of
343         check_function_arguments.
344         * c-common.c (check_function_arguments): Likewise.  Adjust
345         calls to check_function_nonnull, check_function_format, and
346         check_function_sentinel.
347         (check_function_sentinel): Take a FUNCTION_TYPE rather than
348         separate attributes and typelist arguments.  Use
349         FOREACH_FUNCTION_ARGS to iterate over argument types.
350
351 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
352
353         * c-common.c (c_common_reswords): Reorder.
354         * c-common.h (rid): Likewise.
355
356 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
357
358         * c-common.c (def_fn_type): Don't call build_function_type, call
359         build_function_type_array or build_varargs_function_type_array
360         instead.
361         (c_common_nodes_and_builtins): Likewise.
362
363 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
364
365         * c-common.c (c_add_case_label): Omit the loc argument to
366         build_case_label.
367         * c-common.h (build_case_label): Remove.
368         * c-semantics.c (build_case_label): Remove.
369
370 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
371
372         * c-objc.h (objc_start_method_definition): Update prototype.
373         * stub-objc.c (objc_start_method_definition): Add extra parameter.
374
375 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
376
377         * c-common.c (check_main_parameter_types): Reindent.  Don't use
378         TYPE_ARG_TYPES directly.
379         (handle_nonnull_attribute): Likewise.
380         (sync_resolve_params): Likewise.
381         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
382         to check_format_string.
383         (handle_format_attribute): Likewise.
384         (check_format_string): Take a function type to examine instead of
385         a type list.  Use a function_arg_iterator to step through argument
386         types.
387
388 2011-05-04  Richard Guenther  <rguenther@suse.de>
389
390         * c-common.c (fix_string_type): Use size_int for index type bounds.
391         (start_fname_decls): Do not pass NULL to build_int_cst.
392         (c_init_attributes): Likewise.
393         * c-lex.c (c_lex_with_flags): Likewise.
394
395 2011-04-27  Jason Merrill  <jason@redhat.com>
396
397         * c-common.c (make_tree_vector_from_list): New.
398         * c-common.h: Declare it.
399
400 2011-04-26  Richard Guenther  <rguenther@suse.de>
401
402         PR preprocessor/48248
403         * c-ppoutput.c (maybe_print_line): Always optimize newlines
404         for output size with -P.
405
406 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
407
408         * c-common.c (struct c_common_resword): Add __underlying_type.
409         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
410
411 2011-04-20  Jim Meyering  <meyering@redhat.com>
412
413         * c-format.c (init_dollar_format_checking): Remove useless
414         if-before-free.
415
416 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
417
418         * c-objc.h (objc_get_interface_ivars): Removed.
419         (objc_detect_field_duplicates): New.
420         * stub-objc.c: Likewise.
421
422 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
423
424         * stub-objc.c (objc_declare_protocols): Renamed to
425         objc_declare_protocol.
426         * c-objc.h: Likewise.
427
428 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
429
430         * stub-objc.c (objc_declare_class): Updated argument name.
431
432 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
433
434         * c-common.h (c_common_init_ts): Declare.
435         * c-common.c (c_common_init_ts): Define.
436
437 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
438
439         * c-objc.h (objc_build_message_expr): Updated prototype.
440         * stub-objc.c (objc_build_message_expr): Likewise.
441         
442 2011-04-12  Martin Jambor  <mjambor@suse.cz>
443
444         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
445         of cgraph_node.
446
447 2011-04-11  Richard Guenther  <rguenther@suse.de>
448
449         * c-common.c (complete_array_type): Build a range type of
450         proper type.
451
452 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
453
454         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
455         (handle_type_generic_attribute): Likewise.
456
457 2011-04-07  Jason Merrill  <jason@redhat.com>
458
459         PR c++/48450
460         * c-common.c (c_common_truthvalue_conversion): Don't ignore
461         conversion from C++0x scoped enum.
462
463 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
464
465         * c-target-def.h: New file.
466         * c-target.def: New file.
467         * c-target.h: New file.
468         * c-common.c (targetcm): Don't define here.
469         * c-common.h (default_handle_c_option): Declare.
470         * c-format.c: Include c-target.h instead of target.h.
471         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
472         include tm.h.
473         (default_handle_c_option): Move from targhooks.c.
474
475 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
476
477         PR preprocessor/48248
478         * c-ppoutput.c (print): Add src_file field.
479         (init_pp_output): Initialize it.
480         (maybe_print_line): Don't optimize by adding up to 8 newlines
481         if map->to_file and print.src_file are different file.
482         (print_line): Update print.src_file.
483
484 2011-03-25  Kai Tietz  <ktietz@redhat.com>
485
486         * c-ada-spec.c (compare_comment): Use filename_cmp
487         instead of strcmp for filename.
488
489 2011-03-25  Jeff Law  <law@redhat.com>
490
491         * c-family/c-common.c (def_fn_type): Add missing va_end.
492
493 2011-03-25  Jason Merrill  <jason@redhat.com>
494
495         * c.opt: Add -std=c++03.
496
497 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
498
499         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
500
501 2011-03-17  Kai Tietz
502
503         PR target/12171
504         * c-pretty-print.c (pp_c_specifier_qualifier_list):
505         Display allowed attributes for function pointer types.
506         (pp_c_attributes_display): New function to display
507         attributes having affects_type_identity flag set to true.
508         * c-pretty-print.h (pp_c_attributes_display): New prototype.
509
510         * c-common.c (c_common_attribute_table):
511         Add new element.
512         (c_common_format_attribute_table): Likewise.
513
514 2011-03-18  Jason Merrill  <jason@redhat.com>
515
516         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
517         * c-common.h: Don't declare it here.
518         * c-common.c: Or define it here.
519         * c-opts.c (c_common_handle_option): Or set it here.
520
521         PR c++/35315
522         * c-common.c (handle_transparent_union_attribute): Don't
523         make a duplicate type in C++.
524
525 2011-03-15  Jason Merrill  <jason@redhat.com>
526
527         * c-common.c (max_constexpr_depth): New.
528         * c-common.h: Declare it.
529         * c-opts.c (c_common_handle_option): Set it.
530         * c.opt (fconstexpr-depth): New option.
531
532 2011-03-11  Jason Merrill  <jason@redhat.com>
533
534         * c-common.c (attribute_takes_identifier_p): Add missing const.
535
536         PR c++/46803
537         * c-common.c (attribute_takes_identifier_p): Assume that an
538         unknown attribute takes an identifier.
539
540 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
541
542         PR c/47786
543         * c-common.c (c_type_hash): Call list_length instead of iterating
544         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
545
546 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
547
548         PR c/47809
549         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
550
551 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
552
553         * c.opt (fobjc-abi-version=) New.
554         (fobjc-nilcheck): New.
555
556 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
557
558         PR c++/46890
559         * c-common.h (keyword_is_decl_specifier): Declare.
560         * c-common.c (keyword_is_decl_specifier): Define.
561         (keyword_is_function_specifier): New function.
562
563 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
564
565         PR c/47473
566         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
567         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
568         REAL_TYPE.
569
570 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
571
572         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
573
574 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
575
576         PR pch/47430
577         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
578         after init_c_lex if pch_file is set.
579
580 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
581
582         PR c++/43601
583         * c.opt (-fkeep-inline-dllexport): New switch.
584
585 2011-01-12  Richard Guenther  <rguenther@suse.de>
586
587         PR middle-end/32511
588         * c-common.c (handle_weak_attribute): Warn instead of error
589         on declaring an inline function weak.
590
591 2011-01-05  Tom Tromey  <tromey@redhat.com>
592
593         * c-common.h (lvalue_error): Update.
594         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
595         not error.
596
597 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
598         
599         PR objc/47075
600         * c-objc.h (objc_finish_message_expr): Added argument to
601         prototype.
602
603 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
604
605         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
606         Use prototype_p.
607
608 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
609
610         * c-objc.h (objc_maybe_warn_exceptions): New.
611         * stub-objc.c (objc_maybe_warn_exceptions): New.        
612
613 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
614
615         * c-common.h (readonly_error): Declare.
616         * c-common.c (readonly_error): Define.
617
618 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
619
620         * c-common.h (invalid_indirection_error): Declare.
621         * c-common.c (invalid_indirection_error): Define.
622
623 2010-12-03  Richard Guenther  <rguenther@suse.de>
624
625         PR c/46745
626         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
627         (pp_c_unary_expression): Likewise.
628         (pp_c_expression): Likewise.
629
630 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
631
632         * c-common.h (objc_finish_function): New.
633         (objc_non_volatilized_type): Removed.
634         (objc_type_quals_match): Removed.
635         * stub-objc.c (objc_finish_function): New.
636         (objc_non_volatilized_type): Removed.
637         (objc_type_quals_match): Removed.
638         
639 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
640
641         * c-common.h (parse_optimize_options): Declare.
642         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
643         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
644
645 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
646
647         * c-opts.c (check_deps_environment_vars): Use getenv instead of
648         GET_ENVIRONMENT.
649         * c-pch.c (O_BINARY): Don't define here.
650         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
651
652 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
653
654         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
655         targetm.except_unwind_info.
656
657 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
658
659         * c-opts.c (c_common_handle_option): Pass location to
660         set_struct_debug_option.
661
662 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
663
664         * c-common.c (visibility_options): Move from ../opts.c.
665         * c-common.h (struct visibility_flags, visibility_options):
666         Declare here.
667         * c-opts.c (finish_options): Rename to c_finish_options.
668         (c_common_init): Update call to finish_options.
669
670 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
671
672         PR objc/34033
673         * c-lex.c (lex_string): Check that each string in an Objective-C
674         string concat sequence starts with either one or zero '@', and
675         that there are no spurious '@' signs at the end.
676
677 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
678
679         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
680         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
681         HANDLE_PRAGMA_VISIBILITY.
682         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
683         HANDLE_PRAGMA_VISIBILITY): Don't define.
684         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
685
686 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
687
688         PR c++/16189
689         PR c++/36888
690         PR c++/45331
691         * c-common.h (keyword_begins_type_specifier): Declare.
692         (keyword_is_storage_class_specifier): Declare.
693         (keyword_is_type_qualifier): Declare.
694         * c-common.c (keyword_begins_type_specifier): New function.
695         (keyword_is_storage_class_specifier): New function.
696         (keyword_is_type_qualifier): Declare.
697
698 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
699
700         PR c/46547
701         * c-common.c (in_late_binary_op): Define.
702         (c_common_truthvalue_conversion): Check in_late_binary_op before
703         calling c_save_expr.
704         * c-common.h (in_late_binary_op): Declare.
705
706 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
707
708         * c-opts.c (c_common_handle_option): Update calls to
709         set_struct_debug_option.
710
711 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
712
713         * c-common.h (objc_declare_protocols): Added additional argument.
714         * stub-objc.c (objc_declare_protocol): Same change.
715         
716 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
717
718         PR c/33193
719         * c-common.h (build_real_imag_expr): Declare.
720         * c-semantics.c (build_real_imag_expr): Define.
721
722 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
723
724         * c-opts.c (c_common_parse_file): Take no arguments.
725         * c-common.h (c_common_parse_file): Update prototype.
726
727 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
728
729         PR c++/46401
730         * c-common.c (warning_candidate_p): Don't track non-const calls
731         or STRING_CSTs.
732
733 2010-11-15  Ian Lance Taylor  <iant@google.com>
734
735         * c-lex.c (init_c_lex): Set macro debug callbacks if
736         flag_dump_go_spec is set.
737
738 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
739
740         * c-common.h (objc_build_incr_expr_for_property_ref): New.
741         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
742
743 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
744
745         PR preprocessor/45038
746         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
747         dialects.
748
749 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
750
751         * c-common.h (c_family_lang_mask): Declare.
752         * c-opts.c (c_family_lang_mask): Make extern.
753         * c-pragma.c (handle_pragma_diagnostic): Use
754         control_warning_option.
755
756 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
757
758         * c-common.c (parse_optimize_options): Update call to
759         decode_options.
760         * c-common.h (c_common_handle_option): Update prototype.
761         * c-opts.c (c_common_handle_option): Take location_t parameter and
762         pass it to other functions.
763
764 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
765
766         * c-opts.c (warning_as_error_callback): Remove.
767         (c_common_initialize_diagnostics): Don't call
768         register_warning_as_error_callback.
769         (c_common_handle_option): Handle -Werror=normalized= here.
770
771 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
772
773         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
774         in diagnostic.
775         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
776         letter.
777         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
778         Remove trailing '.' from diagnostics.
779         * c.opt (Wwrite-strings_: Avoid '`' in help text.
780
781 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
782
783         * c-common.c (parse_optimize_options): Pass global_dc to
784         decode_options.
785         * c-opts.c (c_common_handle_option): Pass &global_options to
786         set_Wstrict_aliasing.
787         * c.opt (v): Don't mark Common or document here.
788
789 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
790
791         PR target/44981
792         * c-format.c (format_type): New type gcc_objc_string_format_type.
793         (valid_stringptr_type_p): New.
794         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
795         (check_format_string): Pass expected type, use 
796         valid_stringptr_type_p (), check that the format string types are
797         consistent with the format specification.
798         (decode_format_attr): Warn if NSString is used outside objective-c.
799         (format_types_orig): Add NSString.
800         (format_name): New.
801         (format_flags): New.
802         (check_format_arg): Handle format strings requiring an external parser.
803         first_target_format_type: New variable.
804         (handle_format_attribute): Set up first_target_format_type, pass the
805         expected format arg string type to check_format_string().
806         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
807         * stub-objc.c (objc_string_ref_type_p): New.
808         (objc_check_format_arg): New.
809
810 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
811
812         Fixed using the Objective-C 2.0 dot-syntax with class names.    
813         * c-common.h (objc_build_class_component_ref): New.
814         * stub-objc.c (objc_build_class_component_ref): New.
815
816 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
817
818         * c.opt (Wproperty-assign-default): New option.
819
820 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
821
822         Implemented -fobjc-std=objc1 flag.
823         * c.opt (fobjc-std=objc1): New option.
824
825 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
826
827         Implemented format and noreturn attributes for Objective-C methods.
828         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
829         attribute for Objective-C methods.
830
831 2010-10-31  Jason Merrill  <jason@redhat.com>
832
833         * c-common.c (conversion_warning, warn_for_collisions_1): Use
834         EXPR_LOC_OR_HERE.
835
836 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
837
838         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
839         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
840         (objc_add_property_declaration): Removed arguments for copies and
841         ivar.
842         (objc_build_getter_call): Renamed to
843         objc_maybe_build_component_ref.
844         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
845         (objc_is_property_ref): New.
846         * c-common.c (c_common_reswords): Removed copies and ivar.
847         * stub-objc.c (objc_add_property_declaration): Removed arguments
848         for copies and ivar.
849         (objc_build_getter_call): Renamed to
850         objc_maybe_build_component_ref.
851         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
852         (objc_is_property_ref): New.
853         
854 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
855             Matthew Gingell  <gingell@adacore.com>
856
857         * c-ada-spec.c (separate_class_package): New function.
858         (pp_ada_tree_identifier): Prefix references to C++ classes with the
859         name of their enclosing package.
860         (print_ada_declaration): Use separate_class_package.
861
862 2010-10-27  Jason Merrill  <jason@redhat.com>
863
864         * c-common.c (c_common_reswords): Add __is_literal_type.
865         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
866
867         * c-common.c (check_case_value): Remove special C++ code.
868
869 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
870
871         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
872         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
873         and RID_LAST_PATTR.
874         (objc_add_property_declaration): Added additional arguments.
875         (objc_property_attribute_kind): Removed.
876         (objc_set_property_attr): Removed.
877         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
878         copy and nonatomic.
879         * stub-objc.c (objc_add_property_declaration): Added additional
880         arguments.
881         (objc_set_property_attr): Removed.
882         
883 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
884
885         * c-common.h (objc_add_property_variable): Renamed to
886         objc_add_property_declaration.  Added location argument.
887         * stub-objc.c (objc_add_property_variable): Same change.
888         
889 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
890
891         * c-common.h (objc_maybe_printable_name): New.
892         * stub-objc.c (objc_maybe_printable_name): New.
893
894 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
895         Andrew Pinski <pinskia@gmail.com>
896
897         * c-common.h (c_common_mark_addressable_vec): Declare.
898         * c-common.c (c_common_mark_addressable_vec): New function.
899
900 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
901
902         * c-common.h (objc_set_method_type): Removed.
903         (objc_add_method_declaration): Added boolean argument.
904         (objc_start_method_definition): Same change.
905         (objc_build_method_signature): Same change.
906         * stub-objc.c (objc_set_method_type): Removed.
907         (objc_add_method_declaration): Added boolean argument.
908         (objc_start_method_definition): Same change.
909         (objc_build_method_signature): Same change.
910
911 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
912
913         * c-common.h (finish_file): Removed.
914         (objc_write_global_declarations): New.
915         * c-opts.c (c_common_parse_file): Do not call finish_file.
916         * stub-objc.c (objc_write_global_declarations): New.
917         
918 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
919
920         Implemented parsing @synthesize and @dynamic for
921         Objective-C/Objective-C++.
922         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
923         (objc_add_synthesize_declaration): New.
924         (objc_add_dynamic_declaration): New.
925         * c-common.c (c_common_reswords): Add synthesize and dynamic.
926         * stub-objc.c (objc_add_synthesize_declaration): New.
927         (objc_add_dynamic_declaration): New.
928         
929 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
930
931         PR target/46041
932         * c-cppbuiltin.c (mode_has_fma): Move function here from
933         builtins.c.  Don't use the fma optab, instead just use the
934         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
935         using -save-temps.
936
937 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
938
939         Merge from 'apple/trunk' branch on FSF servers.
940
941         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
942
943         Radar 4330422
944         * c-common.h (objc_non_volatilized_type): New declaration
945         * stub-objc.c (objc_non_volatilized_type): New stub.
946
947 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
948
949         Merge from 'apple/trunk' branch on FSF servers.
950
951         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
952
953         Radar 4133425
954         * c-common.h (objc_diagnose_private_ivar): New decl.
955         * stub-objc.c (objc_diagnose_private_ivar): New stub.
956
957 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
958
959         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
960         * c-common.h (enum rid): Add RID_AT_PACKAGE.
961         (objc_ivar_visibility_kind): New enum.
962         (objc_set_visibility): Adjust prototype to use visibility enum.
963         * stub-objc.c (objc_set_visibility): Adjust stub to use
964         visibility enum.
965
966 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
967
968         * c-cppbuiltin.c (builtin_define_float_constants): Emit
969         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
970         has the appropriate fma builtins.
971         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
972
973 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
974
975         merge from FSF apple 'trunk' branch.
976         2006 Fariborz Jahanian <fjahanian@apple.com>
977
978         Radars 4436866, 4505126, 4506903, 4517826
979         * c-common.c (c_common_resword): Define @property and its attributes.
980         * c-common.h: Define property attribute enum entries.
981         (OBJC_IS_PATTR_KEYWORD): New.
982         (objc_property_attribute_kind): New enum.
983         Declare objc_set_property_attr (), objc_add_property_variable (),
984         objc_build_getter_call () and objc_build_setter_call ().
985         * stub-objc.c (objc_set_property_attr): New stub.
986         (objc_add_property_variable): Likewise.
987         (objc_build_getter_call): Likewise.
988         (objc_build_setter_call) Likewise.
989
990 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
991
992         merge from FSF apple 'trunk' branch.
993         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
994
995         Radar 3803157 (method attributes)
996         * c-common.c (handle_deprecated_attribute): Recognize
997         objc methods as valid declarations.
998         * c-common.h: Declare objc_method_decl ().
999         * stub-objc.c (objc_method_decl): New stub.
1000
1001 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
1002
1003         * c-common.c (parse_optimize_options): Call
1004         decode_cmdline_options_to_array_default_mask before
1005         decode_options.  Update arguments to decode_options.
1006         * c-common.h (c_common_init_options_struct): Declare.
1007         * c-opts.c (c_common_init_options_struct): New.  Split out from
1008         c_common_init_options.
1009
1010 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1011
1012         Implemented fast enumeration for Objective-C.
1013         * c-common.h (objc_finish_foreach_loop): New.
1014         * stub-objc.c (objc_finish_foreach_loop): New.
1015
1016 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
1017
1018         * c-common.h (struct diagnostic_context): Don't declare here.
1019         (c_common_initialize_diagnostics): Declare using
1020         diagnostic_context typedef.
1021         * c-opts.c (c_common_handle_option): Pass global_dc to
1022         handle_generated_option.
1023
1024 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
1025
1026         * c-opts.c (c_common_handle_option): Pass &global_options_set to
1027         handle_generated_option.
1028
1029 2010-10-03  Ian Lance Taylor  <iant@google.com>
1030
1031         * c.opt (-fplan9-extensions): New option.
1032
1033 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1034
1035         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
1036         Remove.
1037         (c_cpp_builtins): Call functions from cppbuiltin.c instead
1038         of duplicating code.
1039
1040 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
1041
1042         * c-common.c: Add two new entries for @optional
1043         and @required keywords.
1044
1045         merge from FSF 'apple/trunk' branch.
1046         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
1047
1048         Radar 4386773
1049         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
1050         objective-c keywords.
1051         (objc_set_method_opt): New declaration.
1052         * stub-objc.c (objc_set_method_opt): New stub.
1053         
1054 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
1055
1056         * c-common.c (handle_optimize_attribute): Pass &global_options to
1057         cl_optimization_save and cl_optimization_restore.
1058         * c-opts.c (c_common_handle_option): Pass &global_options to
1059         handle_generated_option.
1060         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
1061         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
1062         &global_options to cl_optimization_restore.
1063
1064 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
1065
1066         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
1067         Objective-C/Objective-C++ keywords.
1068
1069 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
1070
1071         Merge from 'apple/trunk' branch on FSF servers. 
1072         
1073         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
1074
1075         Radar 4281748
1076         * c-common.h (objc_check_global_decl): New declaration.
1077         * stub-objc.c (objc_check_global_decl): New stub.
1078
1079 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
1080
1081         * c.opt: Don't use VarExists.
1082
1083 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
1084
1085         * c-common.c (c_cpp_error): Update names of diagnostic_context
1086         members.
1087         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
1088         cl_optimization members.
1089         * c-opts.c (warning_as_error_callback, c_common_handle_option,
1090         sanitize_cpp_opts, finish_options): Update names of cpp_options
1091         members.
1092
1093 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
1094
1095         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
1096         (objc_is_reserved_word): Removed.
1097         * c-common.c: Updated comments.
1098         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
1099         objc_is_reserved_word.
1100         * stub-objc.c (objc_is_reserved_word): Removed.
1101
1102 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
1103
1104         * c-common.h (objc_add_method_declaration): Adjust prototype to 
1105         include attributes.
1106         (objc_start_method_definition): Likewise.
1107         (objc_build_keyword_decl): Likewise.
1108         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
1109         (objc_start_method_definition): Likewise.
1110         (objc_build_keyword_decl): Likewise.
1111
1112 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
1113
1114         * c-common.h (objc_start_class_interface): Adjust prototype.
1115         (objc_start_category_interface): Likewise.
1116         (objc_start_protocol): Likewise.
1117         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
1118         (objc_start_class_interface): Likewise.
1119         (objc_start_category_interface): Likewise.
1120
1121 2010-09-27  Ian Lance Taylor  <iant@google.com>
1122
1123         * c-common.c (c_common_attribute_table): Add no_split_stack.
1124         (handle_no_split_stack_attribute): New static function.
1125
1126 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
1127
1128         Merge from 'apple/trunk' branch on FSF servers. 
1129
1130         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
1131
1132         Radar 4229905   
1133         * c-common.h (objc_have_common_type): New declaration.
1134         * stub-objc.c (objc_have_common_type): New stub.
1135
1136         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
1137
1138         Radar 4154928
1139         * c-common.h (objc_common_type): New prototype.
1140         * stub-objc.c (objc_common_type): New stub.     
1141
1142 2010-09-24  Jan Hubicka  <jh@suse.cz>
1143
1144         * c-common.c (handle_leaf_attribute): New function.
1145         (struct attribute_spec c_common_att): Add leaf.
1146
1147 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
1148
1149         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
1150         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
1151         -dump, -dump=, -imacros, -imacros=, -include, -include=,
1152         -include-barrier, -include-directory, -include-directory=,
1153         -include-directory-after, -include-directory-after=,
1154         -include-prefix, -include-prefix=, -include-with-prefix,
1155         -include-with-prefix=, -include-with-prefix-after,
1156         -include-with-prefix-after=, -include-with-prefix-before,
1157         -include-with-prefix-before=, -no-integrated-cpp,
1158         -no-line-commands, -no-standard-includes, -no-warnings, -output,
1159         -output=, -pedantic, -pedantic-errors, -preprocess,
1160         -print-missing-file-dependencies, -trace-includes, -traditional,
1161         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
1162         -user-dependencies, -verbose, -write-dependencies,
1163         -write-user-dependencies, no-integrated-cpp, traditional): New.
1164
1165 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
1166
1167         PR objc/23710
1168         * c-common.h (objc_start_method_definition): Return bool instead
1169         of void.
1170         * stub-objc.c (objc_start_method_definition): Return bool instead
1171         of void.
1172
1173 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
1174
1175         PR objc/25965
1176         * c-common.h (objc_get_interface_ivars): New declaration.
1177         * stub-objc.c (objc_get_interface_ivars): New stub.
1178
1179 2010-09-15  Ian Lance Taylor  <iant@google.com>
1180
1181         * c-common.c (parse_optimize_options): Do not capitalize warning
1182         messages.  Remove period at end of warning message.
1183
1184 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
1185
1186         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
1187         (handle_alias_attribute): ... here.
1188         (handle_ifunc_attribute): New.
1189
1190 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
1191
1192         * c-common.h (do_warn_double_promotion): Declare.
1193         * c-common.c (do_warn_double_promotion): Define.
1194
1195 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
1196
1197         * c.opt (Wdouble-promotion): New.
1198
1199 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
1200
1201         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
1202         fvtable-thunks, fxref): Mark no longer supported in help text.
1203
1204 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
1205
1206         * c.opt (Wimport, fall-virtual, falt-external-templates,
1207         fdefault-inline, fenum-int-equiv, fexternal-templates,
1208         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
1209         fname-mangling-version-, fnew-abi, fnonnull-objects,
1210         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
1211         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
1212         applicable.
1213         (fhandle-exceptions): Mark with Alias and Warn.
1214         * c-opts.c (c_common_handle_option): Don't handle options marked
1215         as ignored.
1216
1217 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
1218
1219         * c.opt (Wcomments, Werror-implicit-function-declaration,
1220         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
1221         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
1222         aliases.
1223         * c-common.c (option_codes): Use OPT_Wcomment instead of
1224         OPT_Wcomments.
1225         * c-opts.c (warning_as_error_callback, c_common_handle_option):
1226         Don't handle options marked as aliases.
1227
1228 2010-08-25  Richard Guenther  <rguenther@suse.de>
1229
1230         * c-common.c (c_common_get_alias_set): Remove special
1231         handling for pointers.
1232
1233 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
1234
1235         * c-common.c: Use FOR_EACH_VEC_ELT.
1236         * c-gimplify.c: Likewise.
1237         * c-pragma.c: Likewise.
1238
1239 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
1240
1241         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
1242         RejectDriver.
1243         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
1244         RejectDriver.
1245         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
1246         instead of OPT_MDX and OPT_MMDX.
1247
1248 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
1249
1250         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
1251
1252 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
1253
1254         * c.opt (MD, MMD): Change to MDX and MMDX.
1255         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
1256
1257 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
1258
1259         * c-opts.c (c_common_handle_option): Call handle_generated_option
1260         instead of handle_option.
1261
1262 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
1263
1264         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
1265         (maybe_apply_renaming_pragma): Delete unneeded declarations.
1266
1267 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
1268
1269         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
1270         (pending_redefine_extname): Change type to a VEC.
1271         (add_to_renaming_pragma_list): Update for new type of
1272         pending_redefine_extname.
1273         (maybe_apply_renaming_pragma): Likewise.
1274
1275 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
1276
1277         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
1278         visited.
1279         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
1280         decide whether a type has already been declared/seen.
1281         Do not go to the original type.
1282         (dump_nested_types): New parameter forward.
1283         Generate forward declaration if needed and mark type as visited.
1284         (print_ada_declaration): Call dump_nested_types if not already done.
1285         Mark types as visited.
1286
1287 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
1288
1289         * c.opt (-print-pch-checksum): Remove option.
1290         * c-opts.c (c_common_handle_option): Don't handle
1291         OPT_print_pch_checksum.
1292
1293 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
1294
1295         * c-common.h (c_common_handle_option): Update prototype and return
1296         value type.
1297         * c-opts.c (c_common_handle_option): Update prototype and return
1298         value type.  Update calls to handle_option and
1299         enable_warning_as_error.
1300
1301 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
1302
1303         PR c/45079
1304         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
1305
1306 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
1307
1308         * c-common.h (c_common_missing_argument): Remove.
1309         * c-opts.c (c_common_missing_argument): Remove.
1310         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
1311         idirafter, imacros, include, isysroot, isystem, iquote): Add
1312         MissingArgError.
1313         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
1314
1315 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
1316
1317         * c-common.h (c_common_option_lang_mask,
1318         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
1319         New.
1320         (c_common_init_options): Update prototype.
1321         * c-opts.c (c_common_option_lang_mask): New.
1322         (c_common_initialize_diagnostics): Split out of
1323         c_common_init_options.
1324         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
1325         New.
1326         (c_common_init_options): Update prototype.  Use decoded options in
1327         search for -lang-asm.
1328
1329 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
1330
1331         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
1332         * c-format.c: Likewise.
1333
1334 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1335
1336         * c-common.h: Include diagnostic-core.h. Error if already
1337         included.
1338         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
1339
1340 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1341
1342         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
1343         Do not include expr.h
1344         (vector_mode_valid_p): Move here.
1345
1346 2010-06-21  DJ Delorie  <dj@redhat.com>
1347
1348         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
1349         allow these pragmas anywhere.
1350
1351 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
1352
1353         PR bootstrap/44509
1354         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
1355         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
1356         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
1357         ggc_strdup instead of xstrdup.
1358
1359 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
1360
1361         * c-cppbuiltin.c: Include cpp-id-data.h.
1362         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
1363         (lazy_hex_fp_value): New function.
1364         (builtin_define_with_hex_fp_value): Provide definitions lazily.
1365
1366 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1367
1368         * c-gimplify.c: Do not include tree-flow.h
1369
1370 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
1371
1372         PR other/44034
1373         * c-common.c: Rename targetm member:
1374         targetm.enum_va_list -> targetm.enum_va_list_p
1375
1376 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
1377
1378         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
1379
1380 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
1381
1382         * c-cppbuiltin.c: Do not include except.h.
1383
1384 2010-06-24  Andi Kleen  <ak@linux.intel.com>
1385
1386         * c-common.c (warn_for_omitted_condop): New.
1387         * c-common.h (warn_for_omitted_condop): Add prototype.
1388
1389 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
1390
1391         * c.opt (lang-objc): Remove.
1392         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
1393
1394 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
1395
1396         * c-opts.c: Include "tm_p.h".
1397
1398 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
1399
1400         * c-common.c (parse_optimize_options): Update call to
1401         decode_options.
1402
1403 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
1404
1405         * c-common.c (record_types_used_by_current_var_decl): Adjust for
1406         new type of types_used_by_cur_var_decl.
1407
1408 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
1409
1410         PR bootstrap/44512
1411         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
1412         for C++ standard compliance.
1413
1414 2010-06-16  Jason Merrill  <jason@redhat.com>
1415
1416         * c.opt: Add -Wnoexcept.
1417
1418 2010-06-16  Richard Guenther  <rguenther@suse.de>
1419
1420         PR c/44555
1421         * c-common.c (c_common_truthvalue_conversion): Remove
1422         premature and wrong optimization concering ADDR_EXPRs.
1423
1424 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
1425
1426         * c-ada-spec.c (dump_sloc): Remove column info.
1427         (is_simple_enum): New function.
1428         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
1429         enum types when relevant.
1430
1431 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1432
1433         * c-common.c (conversion_warning): Warn at expression
1434         location.
1435
1436 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
1437
1438         * c-opts.c (c_common_handle_option): Don't handle
1439         OPT_fshow_column.
1440
1441 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1442
1443         * c-pragma.c (push_alignment): Use typed GC allocation.
1444         (handle_pragma_push_options): Likewise.
1445
1446         * c-common.c (parse_optimize_options): Likewise.
1447
1448         * c-common.h (struct sorted_fields_type): Add variable_size GTY
1449         option.
1450
1451 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
1452
1453         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
1454         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
1455         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
1456         flag_signed_bitfields, warn_strict_null_sentinel,
1457         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
1458         flag_gen_declaration, flag_no_gnu_keywords,
1459         flag_implement_inlines, flag_implicit_templates,
1460         flag_implicit_inline_templates, flag_optional_diags,
1461         flag_elide_constructors, flag_default_inline, flag_rtti,
1462         flag_conserve_space, flag_access_control, flag_check_new,
1463         flag_new_for_scope, flag_weak, flag_working_directory,
1464         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
1465         flag_enforce_eh_specs, flag_threadsafe_statics,
1466         flag_pretty_templates): Remove.
1467         * c-common.h (flag_preprocess_only, flag_nil_receivers,
1468         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
1469         flag_replace_objc_classes, flag_undef, flag_no_builtin,
1470         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
1471         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
1472         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
1473         flag_no_gnu_keywords, flag_implement_inlines,
1474         flag_implicit_templates, flag_implicit_inline_templates,
1475         flag_optional_diags, flag_elide_constructors, flag_default_inline,
1476         flag_rtti, flag_conserve_space, flag_access_control,
1477         flag_check_new, flag_new_for_scope, flag_weak,
1478         flag_working_directory, flag_use_cxa_atexit,
1479         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
1480         flag_threadsafe_statics, flag_pretty_templates,
1481         warn_strict_null_sentinel): Remove.
1482         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
1483         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
1484         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
1485         fimplicit-inline-templates, fimplicit-templates,
1486         flax-vector-conversions, fms-extensions, fnil-receivers,
1487         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
1488         frtti, fshort-double, fshort-enums, fshort-wchar,
1489         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
1490         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
1491         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
1492         gen-decls, undef): Use Var.
1493         (fdefault-inline, foptional-diags): Document as doing nothing.
1494         * c-opts.c (c_common_handle_option): Remove cases for options now
1495         using Var.  Mark ignored options as such.
1496
1497 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
1498
1499         * c-common.c: Moved to here from parent directory. 
1500         * c-common.def: Likewise.
1501         * c-common.h: Likewise.
1502         * c-cppbuiltin.c: Likewise.
1503         * c-dump.c: Likewise.
1504         * c-format.c: Likewise.
1505         * c-format.h : Likewise.
1506         * c-gimplify.c: Likewise.
1507         * c-lex.c: Likewise.
1508         * c-omp.c: Likewise.
1509         * c.opt: Likewise.
1510         * c-opts.c: Likewise.
1511         * c-pch.c: Likewise.
1512         * c-ppoutput.c: Likewise.
1513         * c-pragma.c: Likewise.
1514         * c-pragma.h: Likewise.
1515         * c-pretty-print.c: Likewise.
1516         * c-pretty-print.h: Likewise.
1517         * c-semantics.c: Likewise.
1518         * stub-objc.c: Likewise.
1519
1520         * c-common.c: Include gt-c-family-c-common.h.
1521         * c-pragma.c: Include gt-c-family-c-pragma.h.
1522 \f
1523 Copyright (C) 2010, 2011 Free Software Foundation, Inc.
1524
1525 Copying and distribution of this file, with or without modification,
1526 are permitted in any medium without royalty provided the copyright
1527 notice and this notice are preserved.