OSDN Git Service

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