OSDN Git Service

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