OSDN Git Service

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