OSDN Git Service

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