2011-03-31 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / c-family / ChangeLog
blob0250435806e4925391ddee1e0fc902ac46938cd9
1 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
3         PR preprocessor/48248
4         * c-ppoutput.c (print): Add src_file field.
5         (init_pp_output): Initialize it.
6         (maybe_print_line): Don't optimize by adding up to 8 newlines
7         if map->to_file and print.src_file are different file.
8         (print_line): Update print.src_file.
10 2011-03-25  Kai Tietz  <ktietz@redhat.com>
12         * c-ada-spec.c (compare_comment): Use filename_cmp
13         instead of strcmp for filename.
15 2011-03-25  Jeff Law  <law@redhat.com>
17         * c-family/c-common.c (def_fn_type): Add missing va_end.
19 2011-03-25  Jason Merrill  <jason@redhat.com>
21         * c.opt: Add -std=c++03.
23 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
25         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
27 2011-03-17  Kai Tietz
29         PR target/12171
30         * c-pretty-print.c (pp_c_specifier_qualifier_list):
31         Display allowed attributes for function pointer types.
32         (pp_c_attributes_display): New function to display
33         attributes having affects_type_identity flag set to true.
34         * c-pretty-print.h (pp_c_attributes_display): New prototype.
36         * c-common.c (c_common_attribute_table):
37         Add new element.
38         (c_common_format_attribute_table): Likewise.
40 2011-03-18  Jason Merrill  <jason@redhat.com>
42         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
43         * c-common.h: Don't declare it here.
44         * c-common.c: Or define it here.
45         * c-opts.c (c_common_handle_option): Or set it here.
47         PR c++/35315
48         * c-common.c (handle_transparent_union_attribute): Don't
49         make a duplicate type in C++.
51 2011-03-15  Jason Merrill  <jason@redhat.com>
53         * c-common.c (max_constexpr_depth): New.
54         * c-common.h: Declare it.
55         * c-opts.c (c_common_handle_option): Set it.
56         * c.opt (fconstexpr-depth): New option.
58 2011-03-11  Jason Merrill  <jason@redhat.com>
60         * c-common.c (attribute_takes_identifier_p): Add missing const.
62         PR c++/46803
63         * c-common.c (attribute_takes_identifier_p): Assume that an
64         unknown attribute takes an identifier.
66 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
68         PR c/47786
69         * c-common.c (c_type_hash): Call list_length instead of iterating
70         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
72 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
74         PR c/47809
75         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
77 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
79         * c.opt (fobjc-abi-version=) New.
80         (fobjc-nilcheck): New.
82 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
84         PR c++/46890
85         * c-common.h (keyword_is_decl_specifier): Declare.
86         * c-common.c (keyword_is_decl_specifier): Define.
87         (keyword_is_function_specifier): New function.
89 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
91         PR c/47473
92         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
93         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
94         REAL_TYPE.
96 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
98         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
100 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
102         PR pch/47430
103         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
104         after init_c_lex if pch_file is set.
106 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
108         PR c++/43601
109         * c.opt (-fkeep-inline-dllexport): New switch.
111 2011-01-12  Richard Guenther  <rguenther@suse.de>
113         PR middle-end/32511
114         * c-common.c (handle_weak_attribute): Warn instead of error
115         on declaring an inline function weak.
117 2011-01-05  Tom Tromey  <tromey@redhat.com>
119         * c-common.h (lvalue_error): Update.
120         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
121         not error.
123 2010-12-29  Nicola Pero  <nicola@nicola.brainstorm.co.uk>
125         PR objc/47075
126         * c-objc.h (objc_finish_message_expr): Added argument to
127         prototype.
129 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
131         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
132         Use prototype_p.
134 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
136         * c-objc.h (objc_maybe_warn_exceptions): New.
137         * stub-objc.c (objc_maybe_warn_exceptions): New.        
139 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
141         * c-common.h (readonly_error): Declare.
142         * c-common.c (readonly_error): Define.
144 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
146         * c-common.h (invalid_indirection_error): Declare.
147         * c-common.c (invalid_indirection_error): Define.
149 2010-12-03  Richard Guenther  <rguenther@suse.de>
151         PR c/46745
152         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
153         (pp_c_unary_expression): Likewise.
154         (pp_c_expression): Likewise.
156 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
158         * c-common.h (objc_finish_function): New.
159         (objc_non_volatilized_type): Removed.
160         (objc_type_quals_match): Removed.
161         * stub-objc.c (objc_finish_function): New.
162         (objc_non_volatilized_type): Removed.
163         (objc_type_quals_match): Removed.
164         
165 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
167         * c-common.h (parse_optimize_options): Declare.
168         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
169         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
171 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
173         * c-opts.c (check_deps_environment_vars): Use getenv instead of
174         GET_ENVIRONMENT.
175         * c-pch.c (O_BINARY): Don't define here.
176         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
178 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
180         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
181         targetm.except_unwind_info.
183 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
185         * c-opts.c (c_common_handle_option): Pass location to
186         set_struct_debug_option.
188 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
190         * c-common.c (visibility_options): Move from ../opts.c.
191         * c-common.h (struct visibility_flags, visibility_options):
192         Declare here.
193         * c-opts.c (finish_options): Rename to c_finish_options.
194         (c_common_init): Update call to finish_options.
196 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
198         PR objc/34033
199         * c-lex.c (lex_string): Check that each string in an Objective-C
200         string concat sequence starts with either one or zero '@', and
201         that there are no spurious '@' signs at the end.
203 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
205         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
206         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
207         HANDLE_PRAGMA_VISIBILITY.
208         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
209         HANDLE_PRAGMA_VISIBILITY): Don't define.
210         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
212 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
214         PR c++/16189
215         PR c++/36888
216         PR c++/45331
217         * c-common.h (keyword_begins_type_specifier): Declare.
218         (keyword_is_storage_class_specifier): Declare.
219         (keyword_is_type_qualifier): Declare.
220         * c-common.c (keyword_begins_type_specifier): New function.
221         (keyword_is_storage_class_specifier): New function.
222         (keyword_is_type_qualifier): Declare.
224 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
226         PR c/46547
227         * c-common.c (in_late_binary_op): Define.
228         (c_common_truthvalue_conversion): Check in_late_binary_op before
229         calling c_save_expr.
230         * c-common.h (in_late_binary_op): Declare.
232 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
234         * c-opts.c (c_common_handle_option): Update calls to
235         set_struct_debug_option.
237 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
239         * c-common.h (objc_declare_protocols): Added additional argument.
240         * stub-objc.c (objc_declare_protocol): Same change.
241         
242 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
244         PR c/33193
245         * c-common.h (build_real_imag_expr): Declare.
246         * c-semantics.c (build_real_imag_expr): Define.
248 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
250         * c-opts.c (c_common_parse_file): Take no arguments.
251         * c-common.h (c_common_parse_file): Update prototype.
253 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
255         PR c++/46401
256         * c-common.c (warning_candidate_p): Don't track non-const calls
257         or STRING_CSTs.
259 2010-11-15  Ian Lance Taylor  <iant@google.com>
261         * c-lex.c (init_c_lex): Set macro debug callbacks if
262         flag_dump_go_spec is set.
264 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
266         * c-common.h (objc_build_incr_expr_for_property_ref): New.
267         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
269 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
271         PR preprocessor/45038
272         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
273         dialects.
275 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
277         * c-common.h (c_family_lang_mask): Declare.
278         * c-opts.c (c_family_lang_mask): Make extern.
279         * c-pragma.c (handle_pragma_diagnostic): Use
280         control_warning_option.
282 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
284         * c-common.c (parse_optimize_options): Update call to
285         decode_options.
286         * c-common.h (c_common_handle_option): Update prototype.
287         * c-opts.c (c_common_handle_option): Take location_t parameter and
288         pass it to other functions.
290 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
292         * c-opts.c (warning_as_error_callback): Remove.
293         (c_common_initialize_diagnostics): Don't call
294         register_warning_as_error_callback.
295         (c_common_handle_option): Handle -Werror=normalized= here.
297 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
299         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
300         in diagnostic.
301         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
302         letter.
303         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
304         Remove trailing '.' from diagnostics.
305         * c.opt (Wwrite-strings_: Avoid '`' in help text.
307 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
309         * c-common.c (parse_optimize_options): Pass global_dc to
310         decode_options.
311         * c-opts.c (c_common_handle_option): Pass &global_options to
312         set_Wstrict_aliasing.
313         * c.opt (v): Don't mark Common or document here.
315 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
317         PR target/44981
318         * c-format.c (format_type): New type gcc_objc_string_format_type.
319         (valid_stringptr_type_p): New.
320         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
321         (check_format_string): Pass expected type, use 
322         valid_stringptr_type_p (), check that the format string types are
323         consistent with the format specification.
324         (decode_format_attr): Warn if NSString is used outside objective-c.
325         (format_types_orig): Add NSString.
326         (format_name): New.
327         (format_flags): New.
328         (check_format_arg): Handle format strings requiring an external parser.
329         first_target_format_type: New variable.
330         (handle_format_attribute): Set up first_target_format_type, pass the
331         expected format arg string type to check_format_string().
332         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
333         * stub-objc.c (objc_string_ref_type_p): New.
334         (objc_check_format_arg): New.
336 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
338         Fixed using the Objective-C 2.0 dot-syntax with class names.    
339         * c-common.h (objc_build_class_component_ref): New.
340         * stub-objc.c (objc_build_class_component_ref): New.
342 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
344         * c.opt (Wproperty-assign-default): New option.
346 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
348         Implemented -fobjc-std=objc1 flag.
349         * c.opt (fobjc-std=objc1): New option.
351 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
353         Implemented format and noreturn attributes for Objective-C methods.
354         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
355         attribute for Objective-C methods.
357 2010-10-31  Jason Merrill  <jason@redhat.com>
359         * c-common.c (conversion_warning, warn_for_collisions_1): Use
360         EXPR_LOC_OR_HERE.
362 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
364         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
365         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
366         (objc_add_property_declaration): Removed arguments for copies and
367         ivar.
368         (objc_build_getter_call): Renamed to
369         objc_maybe_build_component_ref.
370         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
371         (objc_is_property_ref): New.
372         * c-common.c (c_common_reswords): Removed copies and ivar.
373         * stub-objc.c (objc_add_property_declaration): Removed arguments
374         for copies and ivar.
375         (objc_build_getter_call): Renamed to
376         objc_maybe_build_component_ref.
377         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
378         (objc_is_property_ref): New.
379         
380 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
381             Matthew Gingell  <gingell@adacore.com>
383         * c-ada-spec.c (separate_class_package): New function.
384         (pp_ada_tree_identifier): Prefix references to C++ classes with the
385         name of their enclosing package.
386         (print_ada_declaration): Use separate_class_package.
388 2010-10-27  Jason Merrill  <jason@redhat.com>
390         * c-common.c (c_common_reswords): Add __is_literal_type.
391         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
393         * c-common.c (check_case_value): Remove special C++ code.
395 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
397         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
398         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
399         and RID_LAST_PATTR.
400         (objc_add_property_declaration): Added additional arguments.
401         (objc_property_attribute_kind): Removed.
402         (objc_set_property_attr): Removed.
403         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
404         copy and nonatomic.
405         * stub-objc.c (objc_add_property_declaration): Added additional
406         arguments.
407         (objc_set_property_attr): Removed.
408         
409 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
411         * c-common.h (objc_add_property_variable): Renamed to
412         objc_add_property_declaration.  Added location argument.
413         * stub-objc.c (objc_add_property_variable): Same change.
414         
415 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
417         * c-common.h (objc_maybe_printable_name): New.
418         * stub-objc.c (objc_maybe_printable_name): New.
420 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
421         Andrew Pinski <pinskia@gmail.com>
423         * c-common.h (c_common_mark_addressable_vec): Declare.
424         * c-common.c (c_common_mark_addressable_vec): New function.
426 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
428         * c-common.h (objc_set_method_type): Removed.
429         (objc_add_method_declaration): Added boolean argument.
430         (objc_start_method_definition): Same change.
431         (objc_build_method_signature): Same change.
432         * stub-objc.c (objc_set_method_type): Removed.
433         (objc_add_method_declaration): Added boolean argument.
434         (objc_start_method_definition): Same change.
435         (objc_build_method_signature): Same change.
437 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
439         * c-common.h (finish_file): Removed.
440         (objc_write_global_declarations): New.
441         * c-opts.c (c_common_parse_file): Do not call finish_file.
442         * stub-objc.c (objc_write_global_declarations): New.
443         
444 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
446         Implemented parsing @synthesize and @dynamic for
447         Objective-C/Objective-C++.
448         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
449         (objc_add_synthesize_declaration): New.
450         (objc_add_dynamic_declaration): New.
451         * c-common.c (c_common_reswords): Add synthesize and dynamic.
452         * stub-objc.c (objc_add_synthesize_declaration): New.
453         (objc_add_dynamic_declaration): New.
454         
455 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
457         PR target/46041
458         * c-cppbuiltin.c (mode_has_fma): Move function here from
459         builtins.c.  Don't use the fma optab, instead just use the
460         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
461         using -save-temps.
463 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
465         Merge from 'apple/trunk' branch on FSF servers.
467         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
469         Radar 4330422
470         * c-common.h (objc_non_volatilized_type): New declaration
471         * stub-objc.c (objc_non_volatilized_type): New stub.
473 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
475         Merge from 'apple/trunk' branch on FSF servers.
477         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
479         Radar 4133425
480         * c-common.h (objc_diagnose_private_ivar): New decl.
481         * stub-objc.c (objc_diagnose_private_ivar): New stub.
483 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
485         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
486         * c-common.h (enum rid): Add RID_AT_PACKAGE.
487         (objc_ivar_visibility_kind): New enum.
488         (objc_set_visibility): Adjust prototype to use visibility enum.
489         * stub-objc.c (objc_set_visibility): Adjust stub to use
490         visibility enum.
492 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
494         * c-cppbuiltin.c (builtin_define_float_constants): Emit
495         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
496         has the appropriate fma builtins.
497         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
499 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
501         merge from FSF apple 'trunk' branch.
502         2006 Fariborz Jahanian <fjahanian@apple.com>
504         Radars 4436866, 4505126, 4506903, 4517826
505         * c-common.c (c_common_resword): Define @property and its attributes.
506         * c-common.h: Define property attribute enum entries.
507         (OBJC_IS_PATTR_KEYWORD): New.
508         (objc_property_attribute_kind): New enum.
509         Declare objc_set_property_attr (), objc_add_property_variable (),
510         objc_build_getter_call () and objc_build_setter_call ().
511         * stub-objc.c (objc_set_property_attr): New stub.
512         (objc_add_property_variable): Likewise.
513         (objc_build_getter_call): Likewise.
514         (objc_build_setter_call) Likewise.
516 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
518         merge from FSF apple 'trunk' branch.
519         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
521         Radar 3803157 (method attributes)
522         * c-common.c (handle_deprecated_attribute): Recognize
523         objc methods as valid declarations.
524         * c-common.h: Declare objc_method_decl ().
525         * stub-objc.c (objc_method_decl): New stub.
527 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
529         * c-common.c (parse_optimize_options): Call
530         decode_cmdline_options_to_array_default_mask before
531         decode_options.  Update arguments to decode_options.
532         * c-common.h (c_common_init_options_struct): Declare.
533         * c-opts.c (c_common_init_options_struct): New.  Split out from
534         c_common_init_options.
536 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
538         Implemented fast enumeration for Objective-C.
539         * c-common.h (objc_finish_foreach_loop): New.
540         * stub-objc.c (objc_finish_foreach_loop): New.
542 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
544         * c-common.h (struct diagnostic_context): Don't declare here.
545         (c_common_initialize_diagnostics): Declare using
546         diagnostic_context typedef.
547         * c-opts.c (c_common_handle_option): Pass global_dc to
548         handle_generated_option.
550 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
552         * c-opts.c (c_common_handle_option): Pass &global_options_set to
553         handle_generated_option.
555 2010-10-03  Ian Lance Taylor  <iant@google.com>
557         * c.opt (-fplan9-extensions): New option.
559 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
561         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
562         Remove.
563         (c_cpp_builtins): Call functions from cppbuiltin.c instead
564         of duplicating code.
566 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
568         * c-common.c: Add two new entries for @optional
569         and @required keywords.
571         merge from FSF 'apple/trunk' branch.
572         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
574         Radar 4386773
575         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
576         objective-c keywords.
577         (objc_set_method_opt): New declaration.
578         * stub-objc.c (objc_set_method_opt): New stub.
579         
580 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
582         * c-common.c (handle_optimize_attribute): Pass &global_options to
583         cl_optimization_save and cl_optimization_restore.
584         * c-opts.c (c_common_handle_option): Pass &global_options to
585         handle_generated_option.
586         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
587         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
588         &global_options to cl_optimization_restore.
590 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
592         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
593         Objective-C/Objective-C++ keywords.
595 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
597         Merge from 'apple/trunk' branch on FSF servers. 
598         
599         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
601         Radar 4281748
602         * c-common.h (objc_check_global_decl): New declaration.
603         * stub-objc.c (objc_check_global_decl): New stub.
605 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
607         * c.opt: Don't use VarExists.
609 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
611         * c-common.c (c_cpp_error): Update names of diagnostic_context
612         members.
613         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
614         cl_optimization members.
615         * c-opts.c (warning_as_error_callback, c_common_handle_option,
616         sanitize_cpp_opts, finish_options): Update names of cpp_options
617         members.
619 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
621         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
622         (objc_is_reserved_word): Removed.
623         * c-common.c: Updated comments.
624         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
625         objc_is_reserved_word.
626         * stub-objc.c (objc_is_reserved_word): Removed.
628 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
630         * c-common.h (objc_add_method_declaration): Adjust prototype to 
631         include attributes.
632         (objc_start_method_definition): Likewise.
633         (objc_build_keyword_decl): Likewise.
634         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
635         (objc_start_method_definition): Likewise.
636         (objc_build_keyword_decl): Likewise.
638 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
640         * c-common.h (objc_start_class_interface): Adjust prototype.
641         (objc_start_category_interface): Likewise.
642         (objc_start_protocol): Likewise.
643         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
644         (objc_start_class_interface): Likewise.
645         (objc_start_category_interface): Likewise.
647 2010-09-27  Ian Lance Taylor  <iant@google.com>
649         * c-common.c (c_common_attribute_table): Add no_split_stack.
650         (handle_no_split_stack_attribute): New static function.
652 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
654         Merge from 'apple/trunk' branch on FSF servers. 
656         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
658         Radar 4229905   
659         * c-common.h (objc_have_common_type): New declaration.
660         * stub-objc.c (objc_have_common_type): New stub.
662         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
664         Radar 4154928
665         * c-common.h (objc_common_type): New prototype.
666         * stub-objc.c (objc_common_type): New stub.     
668 2010-09-24  Jan Hubicka  <jh@suse.cz>
670         * c-common.c (handle_leaf_attribute): New function.
671         (struct attribute_spec c_common_att): Add leaf.
673 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
675         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
676         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
677         -dump, -dump=, -imacros, -imacros=, -include, -include=,
678         -include-barrier, -include-directory, -include-directory=,
679         -include-directory-after, -include-directory-after=,
680         -include-prefix, -include-prefix=, -include-with-prefix,
681         -include-with-prefix=, -include-with-prefix-after,
682         -include-with-prefix-after=, -include-with-prefix-before,
683         -include-with-prefix-before=, -no-integrated-cpp,
684         -no-line-commands, -no-standard-includes, -no-warnings, -output,
685         -output=, -pedantic, -pedantic-errors, -preprocess,
686         -print-missing-file-dependencies, -trace-includes, -traditional,
687         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
688         -user-dependencies, -verbose, -write-dependencies,
689         -write-user-dependencies, no-integrated-cpp, traditional): New.
691 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
693         PR objc/23710
694         * c-common.h (objc_start_method_definition): Return bool instead
695         of void.
696         * stub-objc.c (objc_start_method_definition): Return bool instead
697         of void.
699 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
701         PR objc/25965
702         * c-common.h (objc_get_interface_ivars): New declaration.
703         * stub-objc.c (objc_get_interface_ivars): New stub.
705 2010-09-15  Ian Lance Taylor  <iant@google.com>
707         * c-common.c (parse_optimize_options): Do not capitalize warning
708         messages.  Remove period at end of warning message.
710 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
712         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
713         (handle_alias_attribute): ... here.
714         (handle_ifunc_attribute): New.
716 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
718         * c-common.h (do_warn_double_promotion): Declare.
719         * c-common.c (do_warn_double_promotion): Define.
721 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
723         * c.opt (Wdouble-promotion): New.
725 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
727         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
728         fvtable-thunks, fxref): Mark no longer supported in help text.
730 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
732         * c.opt (Wimport, fall-virtual, falt-external-templates,
733         fdefault-inline, fenum-int-equiv, fexternal-templates,
734         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
735         fname-mangling-version-, fnew-abi, fnonnull-objects,
736         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
737         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
738         applicable.
739         (fhandle-exceptions): Mark with Alias and Warn.
740         * c-opts.c (c_common_handle_option): Don't handle options marked
741         as ignored.
743 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
745         * c.opt (Wcomments, Werror-implicit-function-declaration,
746         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
747         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
748         aliases.
749         * c-common.c (option_codes): Use OPT_Wcomment instead of
750         OPT_Wcomments.
751         * c-opts.c (warning_as_error_callback, c_common_handle_option):
752         Don't handle options marked as aliases.
754 2010-08-25  Richard Guenther  <rguenther@suse.de>
756         * c-common.c (c_common_get_alias_set): Remove special
757         handling for pointers.
759 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
761         * c-common.c: Use FOR_EACH_VEC_ELT.
762         * c-gimplify.c: Likewise.
763         * c-pragma.c: Likewise.
765 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
767         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
768         RejectDriver.
769         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
770         RejectDriver.
771         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
772         instead of OPT_MDX and OPT_MMDX.
774 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
776         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
778 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
780         * c.opt (MD, MMD): Change to MDX and MMDX.
781         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
783 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
785         * c-opts.c (c_common_handle_option): Call handle_generated_option
786         instead of handle_option.
788 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
790         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
791         (maybe_apply_renaming_pragma): Delete unneeded declarations.
793 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
795         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
796         (pending_redefine_extname): Change type to a VEC.
797         (add_to_renaming_pragma_list): Update for new type of
798         pending_redefine_extname.
799         (maybe_apply_renaming_pragma): Likewise.
801 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
803         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
804         visited.
805         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
806         decide whether a type has already been declared/seen.
807         Do not go to the original type.
808         (dump_nested_types): New parameter forward.
809         Generate forward declaration if needed and mark type as visited.
810         (print_ada_declaration): Call dump_nested_types if not already done.
811         Mark types as visited.
813 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
815         * c.opt (-print-pch-checksum): Remove option.
816         * c-opts.c (c_common_handle_option): Don't handle
817         OPT_print_pch_checksum.
819 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
821         * c-common.h (c_common_handle_option): Update prototype and return
822         value type.
823         * c-opts.c (c_common_handle_option): Update prototype and return
824         value type.  Update calls to handle_option and
825         enable_warning_as_error.
827 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
829         PR c/45079
830         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
832 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
834         * c-common.h (c_common_missing_argument): Remove.
835         * c-opts.c (c_common_missing_argument): Remove.
836         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
837         idirafter, imacros, include, isysroot, isystem, iquote): Add
838         MissingArgError.
839         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
841 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
843         * c-common.h (c_common_option_lang_mask,
844         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
845         New.
846         (c_common_init_options): Update prototype.
847         * c-opts.c (c_common_option_lang_mask): New.
848         (c_common_initialize_diagnostics): Split out of
849         c_common_init_options.
850         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
851         New.
852         (c_common_init_options): Update prototype.  Use decoded options in
853         search for -lang-asm.
855 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
857         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
858         * c-format.c: Likewise.
860 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
862         * c-common.h: Include diagnostic-core.h. Error if already
863         included.
864         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
866 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
868         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
869         Do not include expr.h
870         (vector_mode_valid_p): Move here.
872 2010-06-21  DJ Delorie  <dj@redhat.com>
874         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
875         allow these pragmas anywhere.
877 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
879         PR bootstrap/44509
880         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
881         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
882         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
883         ggc_strdup instead of xstrdup.
885 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
887         * c-cppbuiltin.c: Include cpp-id-data.h.
888         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
889         (lazy_hex_fp_value): New function.
890         (builtin_define_with_hex_fp_value): Provide definitions lazily.
892 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
894         * c-gimplify.c: Do not include tree-flow.h
896 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
898         PR other/44034
899         * c-common.c: Rename targetm member:
900         targetm.enum_va_list -> targetm.enum_va_list_p
902 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
904         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
906 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
908         * c-cppbuiltin.c: Do not include except.h.
910 2010-06-24  Andi Kleen  <ak@linux.intel.com>
912         * c-common.c (warn_for_omitted_condop): New.
913         * c-common.h (warn_for_omitted_condop): Add prototype.
915 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
917         * c.opt (lang-objc): Remove.
918         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
920 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
922         * c-opts.c: Include "tm_p.h".
924 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
926         * c-common.c (parse_optimize_options): Update call to
927         decode_options.
929 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
931         * c-common.c (record_types_used_by_current_var_decl): Adjust for
932         new type of types_used_by_cur_var_decl.
934 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
936         PR bootstrap/44512
937         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
938         for C++ standard compliance.
940 2010-06-16  Jason Merrill  <jason@redhat.com>
942         * c.opt: Add -Wnoexcept.
944 2010-06-16  Richard Guenther  <rguenther@suse.de>
946         PR c/44555
947         * c-common.c (c_common_truthvalue_conversion): Remove
948         premature and wrong optimization concering ADDR_EXPRs.
950 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
952         * c-ada-spec.c (dump_sloc): Remove column info.
953         (is_simple_enum): New function.
954         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
955         enum types when relevant.
957 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
959         * c-common.c (conversion_warning): Warn at expression
960         location.
962 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
964         * c-opts.c (c_common_handle_option): Don't handle
965         OPT_fshow_column.
967 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
969         * c-pragma.c (push_alignment): Use typed GC allocation.
970         (handle_pragma_push_options): Likewise.
972         * c-common.c (parse_optimize_options): Likewise.
974         * c-common.h (struct sorted_fields_type): Add variable_size GTY
975         option.
977 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
979         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
980         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
981         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
982         flag_signed_bitfields, warn_strict_null_sentinel,
983         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
984         flag_gen_declaration, flag_no_gnu_keywords,
985         flag_implement_inlines, flag_implicit_templates,
986         flag_implicit_inline_templates, flag_optional_diags,
987         flag_elide_constructors, flag_default_inline, flag_rtti,
988         flag_conserve_space, flag_access_control, flag_check_new,
989         flag_new_for_scope, flag_weak, flag_working_directory,
990         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
991         flag_enforce_eh_specs, flag_threadsafe_statics,
992         flag_pretty_templates): Remove.
993         * c-common.h (flag_preprocess_only, flag_nil_receivers,
994         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
995         flag_replace_objc_classes, flag_undef, flag_no_builtin,
996         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
997         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
998         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
999         flag_no_gnu_keywords, flag_implement_inlines,
1000         flag_implicit_templates, flag_implicit_inline_templates,
1001         flag_optional_diags, flag_elide_constructors, flag_default_inline,
1002         flag_rtti, flag_conserve_space, flag_access_control,
1003         flag_check_new, flag_new_for_scope, flag_weak,
1004         flag_working_directory, flag_use_cxa_atexit,
1005         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
1006         flag_threadsafe_statics, flag_pretty_templates,
1007         warn_strict_null_sentinel): Remove.
1008         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
1009         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
1010         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
1011         fimplicit-inline-templates, fimplicit-templates,
1012         flax-vector-conversions, fms-extensions, fnil-receivers,
1013         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
1014         frtti, fshort-double, fshort-enums, fshort-wchar,
1015         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
1016         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
1017         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
1018         gen-decls, undef): Use Var.
1019         (fdefault-inline, foptional-diags): Document as doing nothing.
1020         * c-opts.c (c_common_handle_option): Remove cases for options now
1021         using Var.  Mark ignored options as such.
1023 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
1025         * c-common.c: Moved to here from parent directory. 
1026         * c-common.def: Likewise.
1027         * c-common.h: Likewise.
1028         * c-cppbuiltin.c: Likewise.
1029         * c-dump.c: Likewise.
1030         * c-format.c: Likewise.
1031         * c-format.h : Likewise.
1032         * c-gimplify.c: Likewise.
1033         * c-lex.c: Likewise.
1034         * c-omp.c: Likewise.
1035         * c.opt: Likewise.
1036         * c-opts.c: Likewise.
1037         * c-pch.c: Likewise.
1038         * c-ppoutput.c: Likewise.
1039         * c-pragma.c: Likewise.
1040         * c-pragma.h: Likewise.
1041         * c-pretty-print.c: Likewise.
1042         * c-pretty-print.h: Likewise.
1043         * c-semantics.c: Likewise.
1044         * stub-objc.c: Likewise.
1046         * c-common.c: Include gt-c-family-c-common.h.
1047         * c-pragma.c: Include gt-c-family-c-pragma.h.
1049 Copyright (C) 2010 Free Software Foundation, Inc.
1051 Copying and distribution of this file, with or without modification,
1052 are permitted in any medium without royalty provided the copyright
1053 notice and this notice are preserved.