OSDN Git Service

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