1 2011-11-07 Richard Henderson <rth@redhat.com>
2 Aldy Hernandez <aldyh@redhat.com>
3 Torvald Riegel <triegel@redhat.com>
5 Merged from transactional-memory.
7 * c-common.c (handle_tm_wrap_attribute,
8 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9 (struct c_common_reswords): Added __transaction* keywords.
10 (struct c_common_attribute_table): Added transaction* and tm_regparm
12 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
14 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
15 find_tm_attribute): Declare.
17 2011-11-07 Jason Merrill <jason@redhat.com>
20 * c-common.c, c-common.h: Revert yesterday's changes.
22 2011-11-06 Jason Merrill <jason@redhat.com>
25 * c-common.c (decl_has_visibility_attr): Split out from...
26 (c_determine_visibility): ...here.
27 * c-common.h: Declare it.
29 2011-11-06 Joseph Myers <joseph@codesourcery.com>
31 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
32 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
34 (check_user_alignment): New. Split out of
35 handle_aligned_attribute. Disallow integer constants with
36 noninteger types. Conditionally allow zero.
37 (handle_aligned_attribute): Use check_user_alignment.
38 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
40 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
41 Richard Henderson <rth@redhat.com>
43 Merged from cxx-mem-model.
45 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
46 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
47 parameters that are the same type size.
48 (get_atomic_generic_size): New. Find size of generic
49 atomic function parameters and do typechecking.
50 (add_atomic_size_parameter): New. Insert size into parameter list.
51 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
52 either __atomic_exchange_n or external library call.
53 (resolve_overloaded_atomic_compare_exchange): Restructure
54 __atomic_compare_exchange to either _n variant or external library call.
55 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
56 __atomic_load_n or an external library call.
57 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
58 __atomic_store_n or an external library call.
59 (resolve_overloaded_builtin): Handle new __atomic builtins.
61 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
64 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
65 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
66 <INDIRECT_REF>: Return the argument.
67 <ARRAY_REF>: Remove special code for negative offset.
68 Call fold_build_pointer_plus instead of size_binop.
69 (fold_offsetof): Remove STOP_REF argument and adjust.
70 * c-common.h (fold_offsetof_1): Declare.
71 (fold_offsetof): Remove STOP_REF argument.
73 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
76 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
77 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
78 Wnarrowing for C++0x and C++98.
79 * c.opt ([Wnarrowing]): Update.
81 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
84 * c.opt: Add Wzero-as-null-pointer-constant.
86 2011-10-31 Jason Merrill <jason@redhat.com>
88 * c.opt (-fdeduce-init-list): Off by default.
91 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
92 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
94 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
96 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
99 * c.opt (fvisibility-inlines-hidden): Description change.
101 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
103 Implement C++11 user-defined literals.
104 * c-common.c (build_userdef_literal): New.
105 * c-common.def: New tree code.
106 * c-common.h (tree_userdef_literal): New tree struct and accessors.
107 * c-lex.c (interpret_float): Add suffix parm.
108 (c_lex_with_flags): Build literal tokens.
110 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
114 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
117 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
118 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
119 Wnarrowing for C++0x and C++98.
120 * c.opt ([Wnarrowing]): Update.
122 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
125 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
126 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
127 Wnarrowing for C++0x and C++98.
128 * c.opt ([Wnarrowing]): Update.
130 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
133 * c-common.c (conversion_warning): Remove code looking for
136 2011-10-18 Dodji Seketeli <dodji@redhat.com>
139 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
140 !NO_IMPLICIT_EXTERN_C.
142 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
144 * c-common.c (c_common_reswords): Add __bases,
146 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
148 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
151 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
153 2011-10-15 Tom Tromey <tromey@redhat.com>
154 Dodji Seketeli <dodji@redhat.com>
156 * c.opt (fdebug-cpp): New option.
157 * c-opts.c (c_common_handle_option): Handle the option.
158 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
159 output stream in parameter. Factorized from ...
160 (maybe_print_line): ... this. Dump location debug information when
161 -fdebug-cpp is in effect.
162 (print_line_1): New static function. Takes an output stream in
163 parameter. Factorized from ...
164 (print_line): ... here. Dump location information when -fdebug-cpp
166 (scan_translation_unit): Dump location information when
167 -fdebug-cpp is in effect.
169 2011-10-15 Tom Tromey <tromey@redhat.com>
170 Dodji Seketeli <dodji@redhat.com>
172 * c.opt (ftrack-macro-expansion): New option. Handle it with and
174 * c-opts.c (c_common_handle_option)<case
175 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
176 cases. Handle -ftrack-macro-expansion with and without argument.
178 2011-10-15 Tom Tromey <tromey@redhat.com>
179 Dodji Seketeli <dodji@redhat.com>
181 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
182 (print_line, cb_define, do_line_change): Adjust to avoid touching
183 the internals of struct line_map. Use the public API instead.
184 * c-pch.c (c_common_read_pch): Likewise.
185 * c-lex.c (fe_file_change): Likewise.
187 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
190 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
192 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
195 * c-pretty-print.c (pp_c_floating_constant): Output
196 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
198 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
200 * c-common.c (def_builtin_1): Delete old interface with two
201 parallel arrays to hold standard builtin declarations, and replace
202 it with a function based interface that can support creating
203 builtins on the fly in the future. Change all uses, and poison
204 the old names. Make sure 0 is not a legitimate builtin index.
205 * c-omp.c (c_finish_omp_barrier): Ditto.
206 (c_finish_omp_taskwait): Ditto.
207 (c_finish_omp_flush): Ditto.
209 2011-10-11 Tristan Gingold <gingold@adacore.com>
211 * c.opt: (fallow-parameterless-variadic-functions): New.
213 2011-09-08 Dodji Seketeli <dodji@redhat.com>
215 PR c++/33255 - Support -Wunused-local-typedefs warning
216 * c-common.h (struct c_language_function::local_typedefs): New
218 (record_locally_defined_typedef, maybe_record_typedef_use)
219 (maybe_warn_unused_local_typedefs): Declare new functions.
220 * c-common.c (record_locally_defined_typedef)
221 (maybe_record_typedef_use)
222 (maybe_warn_unused_local_typedefs): Define new functions.
223 * c.opt: Declare new -Wunused-local-typedefs flag.
225 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
228 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
231 2011-09-05 Richard Guenther <rguenther@suse.de>
233 * c-common.c (complete_array_type): Use ssize_int (-1) instead
234 of integer_minus_one_node for empty array upper bounds.
236 2011-08-28 Dodji Seketeli <dodji@redhat.com>
238 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
239 it's the first time it's being called on this main TU.
241 2011-08-24 Richard Guenther <rguenther@suse.de>
244 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
246 2011-08-22 Gabriel Charette <gchare@google.com>
248 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
249 defined in cpp_init_builtins and c_cpp_builtins.
251 2011-08-19 Joseph Myers <joseph@codesourcery.com>
253 * c-common.c (c_common_reswords): Add __builtin_complex.
254 * c-common.h (RID_BUILTIN_COMPLEX): New.
256 2011-08-18 Joseph Myers <joseph@codesourcery.com>
258 * c-common.c (c_common_reswords): Add _Noreturn.
259 (keyword_is_function_specifier): Handle RID_NORETURN.
260 * c-common.h (RID_NORETURN): New.
262 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
264 * c-common.c (unsafe_conversion_p): New function. Check if it is
265 unsafe to convert an expression to the type.
266 (conversion_warning): Adjust, use unsafe_conversion_p.
267 * c-common.h (unsafe_conversion_p): New function declaration.
269 2011-08-02 Jakub Jelinek <jakub@redhat.com>
271 * c-common.h (c_finish_omp_atomic): Adjust prototype.
272 (c_finish_omp_taskyield): New prototype.
273 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
274 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
275 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
276 or RHS1 have side-effects, evaluate those too in the right spot,
277 if it is a decl and LHS is also a decl, error out if they
279 (c_finish_omp_taskyield): New function.
280 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
281 * c-pragma.c (omp_pragmas): Add taskyield.
282 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
283 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
284 PRAGMA_OMP_CLAUSE_MERGEABLE.
286 2011-07-25 Dodji Seketeli <dodji@redhat.com>
288 * c-common.h (set_underlying_type): Remove parm name from
291 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
293 * c-pretty-print.h: Search c-common.h in c-family.
295 2011-07-22 Jason Merrill <jason@redhat.com>
298 * c.opt (Wnarrowing): New.
301 * c-common.h: Declare c_linkage_bindings.
302 * c-pragma.c (handle_pragma_redefine_extname): Use it.
305 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
306 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
307 as flag_isoc99 for 'restrict'.
308 (pp_c_specifier_qualifier_list): Likewise for _Complex.
310 2011-07-21 Ian Lance Taylor <iant@google.com>
313 * c-common.c (c_disable_warnings): New static function.
314 (c_enable_warnings): New static function.
315 (c_fully_fold_internal): Change local unused_p to bool. Call
316 c_disable_warnings and c_enable_warnings rather than change
317 c_inhibit_evaluation_warnings.
319 2011-07-20 Jason Merrill <jason@redhat.com>
322 PR c++/42603 (DR 950)
323 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
324 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
326 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
328 2011-07-19 Richard Guenther <rguenther@suse.de>
330 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
331 * c-omp.c (c_finish_omp_for): Likewise.
333 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
335 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
336 body on the next line.
338 2011-07-08 Jason Merrill <jason@redhat.com>
341 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
344 * c-common.c (c_apply_type_quals_to_decl): Don't check
345 TYPE_NEEDS_CONSTRUCTING.
347 2011-07-06 Richard Guenther <rguenther@suse.de>
349 * c-common.c (c_common_nodes_and_builtins):
350 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
352 2011-07-05 Richard Guenther <rguenther@suse.de>
354 * c-common.c (c_common_nodes_and_builtins): Build all common
357 2011-06-27 Jakub Jelinek <jakub@redhat.com>
359 * c-common.h (c_tree_chain_next): New static inline function.
361 * c-common.c (check_builtin_function_arguments): Handle
362 BUILT_IN_ASSUME_ALIGNED.
364 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
366 * c-common.c: Add sync_ or SYNC__ to builtin names.
367 * c-omp.c: Add sync_ or SYNC__ to builtin names.
369 2011-06-20 Pierre Vittet <piervit@pvittet.com>
371 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
373 (gen_pragma_handler): New union.
374 (internal_pragma_handler): New type.
375 (c_register_pragma_with_data)
376 (c_register_pragma_with_expansion_and_data): New functions.
378 * c-pragma.c (registered_pragmas, c_register_pragma_1)
379 (c_register_pragma, c_register_pragma_with_expansion)
380 (c_invoke_pragma_handler): Changed to work with
381 internal_pragma_handler.
382 (c_register_pragma_with_data)
383 (c_register_pragma_with_expansion_and_data): New functions.
385 2011-06-14 Joseph Myers <joseph@codesourcery.com>
387 * c-common.c: Include common/common-target.h.
388 (handle_section_attribute): Use
389 targetm_common.have_named_sections.
390 * c-cppbuiltin.c: Include common/common-target.h.
391 (c_cpp_builtins): Use targetm_common.except_unwind_info.
393 2011-06-10 Richard Guenther <rguenther@suse.de>
395 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
396 to print a IDENTIFIER_NODE.
398 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
399 Joseph Myers <joseph@codesourcery.com>
401 * c.opt (fbuilding-libgcc): New option.
402 * c-cppbuiltin.c (c_cpp_builtins): Define
403 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
405 2011-06-07 Jason Merrill <jason@redhat.com>
407 * c-common.c (max_tinst_depth): Lower default to 900.
409 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
411 2011-06-07 Richard Guenther <rguenther@suse.de>
413 * c-common.c (c_common_nodes_and_builtins): Do not set
414 size_type_node or call set_sizetype.
416 2011-06-07 Dodji Seketeli <dodji@redhat.com>
419 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
420 type when using pointer comparison to compare types.
422 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
424 * c.opt: Add -Wdelete-non-virtual-dtor.
425 * c-opts.c (c_common_handle_option): Include it in -Wall.
427 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
432 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
434 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
437 2011-05-27 Jakub Jelinek <jakub@redhat.com>
440 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
441 C++ don't call c_common_truthvalue_conversion on void type arms.
443 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
445 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
446 (stmt_list_stack): Define.
447 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
448 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
450 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
452 * c-common.c (warning_candidate_p): Check for BLOCKs.
454 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
456 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
459 2011-05-25 Jakub Jelinek <jakub@redhat.com>
461 * c-common.c (def_fn_type): Remove extra va_end.
463 2011-05-23 Jason Merrill <jason@redhat.com>
466 * c-common.c (c_common_get_narrower): New.
467 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
469 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
471 * c-common.h (check_function_arguments): Tweak prototype of
472 check_function_arguments.
473 * c-common.c (check_function_arguments): Likewise. Adjust
474 calls to check_function_nonnull, check_function_format, and
475 check_function_sentinel.
476 (check_function_sentinel): Take a FUNCTION_TYPE rather than
477 separate attributes and typelist arguments. Use
478 FOREACH_FUNCTION_ARGS to iterate over argument types.
480 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
482 * c-common.c (c_common_reswords): Reorder.
483 * c-common.h (rid): Likewise.
485 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
487 * c-common.c (def_fn_type): Don't call build_function_type, call
488 build_function_type_array or build_varargs_function_type_array
490 (c_common_nodes_and_builtins): Likewise.
492 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
494 * c-common.c (c_add_case_label): Omit the loc argument to
496 * c-common.h (build_case_label): Remove.
497 * c-semantics.c (build_case_label): Remove.
499 2011-05-05 Joseph Myers <joseph@codesourcery.com>
501 * c-objc.h (objc_start_method_definition): Update prototype.
502 * stub-objc.c (objc_start_method_definition): Add extra parameter.
504 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
506 * c-common.c (check_main_parameter_types): Reindent. Don't use
507 TYPE_ARG_TYPES directly.
508 (handle_nonnull_attribute): Likewise.
509 (sync_resolve_params): Likewise.
510 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
511 to check_format_string.
512 (handle_format_attribute): Likewise.
513 (check_format_string): Take a function type to examine instead of
514 a type list. Use a function_arg_iterator to step through argument
517 2011-05-04 Richard Guenther <rguenther@suse.de>
519 * c-common.c (fix_string_type): Use size_int for index type bounds.
520 (start_fname_decls): Do not pass NULL to build_int_cst.
521 (c_init_attributes): Likewise.
522 * c-lex.c (c_lex_with_flags): Likewise.
524 2011-04-27 Jason Merrill <jason@redhat.com>
526 * c-common.c (make_tree_vector_from_list): New.
527 * c-common.h: Declare it.
529 2011-04-26 Richard Guenther <rguenther@suse.de>
531 PR preprocessor/48248
532 * c-ppoutput.c (maybe_print_line): Always optimize newlines
533 for output size with -P.
535 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
537 * c-common.c (struct c_common_resword): Add __underlying_type.
538 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
540 2011-04-20 Jim Meyering <meyering@redhat.com>
542 * c-format.c (init_dollar_format_checking): Remove useless
545 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
547 * c-objc.h (objc_get_interface_ivars): Removed.
548 (objc_detect_field_duplicates): New.
549 * stub-objc.c: Likewise.
551 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
553 * stub-objc.c (objc_declare_protocols): Renamed to
554 objc_declare_protocol.
555 * c-objc.h: Likewise.
557 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
559 * stub-objc.c (objc_declare_class): Updated argument name.
561 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
563 * c-common.h (c_common_init_ts): Declare.
564 * c-common.c (c_common_init_ts): Define.
566 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
568 * c-objc.h (objc_build_message_expr): Updated prototype.
569 * stub-objc.c (objc_build_message_expr): Likewise.
571 2011-04-12 Martin Jambor <mjambor@suse.cz>
573 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
576 2011-04-11 Richard Guenther <rguenther@suse.de>
578 * c-common.c (complete_array_type): Build a range type of
581 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
583 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
584 (handle_type_generic_attribute): Likewise.
586 2011-04-07 Jason Merrill <jason@redhat.com>
589 * c-common.c (c_common_truthvalue_conversion): Don't ignore
590 conversion from C++0x scoped enum.
592 2011-04-06 Joseph Myers <joseph@codesourcery.com>
594 * c-target-def.h: New file.
595 * c-target.def: New file.
596 * c-target.h: New file.
597 * c-common.c (targetcm): Don't define here.
598 * c-common.h (default_handle_c_option): Declare.
599 * c-format.c: Include c-target.h instead of target.h.
600 * c-opts.c: Include c-target.h instead of target.h. Explicitly
602 (default_handle_c_option): Move from targhooks.c.
604 2011-03-29 Jakub Jelinek <jakub@redhat.com>
606 PR preprocessor/48248
607 * c-ppoutput.c (print): Add src_file field.
608 (init_pp_output): Initialize it.
609 (maybe_print_line): Don't optimize by adding up to 8 newlines
610 if map->to_file and print.src_file are different file.
611 (print_line): Update print.src_file.
613 2011-03-25 Kai Tietz <ktietz@redhat.com>
615 * c-ada-spec.c (compare_comment): Use filename_cmp
616 instead of strcmp for filename.
618 2011-03-25 Jeff Law <law@redhat.com>
620 * c-family/c-common.c (def_fn_type): Add missing va_end.
622 2011-03-25 Jason Merrill <jason@redhat.com>
624 * c.opt: Add -std=c++03.
626 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
628 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
633 * c-pretty-print.c (pp_c_specifier_qualifier_list):
634 Display allowed attributes for function pointer types.
635 (pp_c_attributes_display): New function to display
636 attributes having affects_type_identity flag set to true.
637 * c-pretty-print.h (pp_c_attributes_display): New prototype.
639 * c-common.c (c_common_attribute_table):
641 (c_common_format_attribute_table): Likewise.
643 2011-03-18 Jason Merrill <jason@redhat.com>
645 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
646 * c-common.h: Don't declare it here.
647 * c-common.c: Or define it here.
648 * c-opts.c (c_common_handle_option): Or set it here.
651 * c-common.c (handle_transparent_union_attribute): Don't
652 make a duplicate type in C++.
654 2011-03-15 Jason Merrill <jason@redhat.com>
656 * c-common.c (max_constexpr_depth): New.
657 * c-common.h: Declare it.
658 * c-opts.c (c_common_handle_option): Set it.
659 * c.opt (fconstexpr-depth): New option.
661 2011-03-11 Jason Merrill <jason@redhat.com>
663 * c-common.c (attribute_takes_identifier_p): Add missing const.
666 * c-common.c (attribute_takes_identifier_p): Assume that an
667 unknown attribute takes an identifier.
669 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
672 * c-common.c (c_type_hash): Call list_length instead of iterating
673 through DECL_CHAIN. Rename 'i' to 'n_elements'.
675 2011-02-19 Jakub Jelinek <jakub@redhat.com>
678 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
680 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
682 * c.opt (fobjc-abi-version=) New.
683 (fobjc-nilcheck): New.
685 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
688 * c-common.h (keyword_is_decl_specifier): Declare.
689 * c-common.c (keyword_is_decl_specifier): Define.
690 (keyword_is_function_specifier): New function.
692 2011-01-26 Jakub Jelinek <jakub@redhat.com>
695 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
696 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
699 2011-01-26 Arnaud Charlet <charlet@adacore.com>
701 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
703 2011-01-26 Jakub Jelinek <jakub@redhat.com>
706 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
707 after init_c_lex if pch_file is set.
709 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
712 * c.opt (-fkeep-inline-dllexport): New switch.
714 2011-01-12 Richard Guenther <rguenther@suse.de>
717 * c-common.c (handle_weak_attribute): Warn instead of error
718 on declaring an inline function weak.
720 2011-01-05 Tom Tromey <tromey@redhat.com>
722 * c-common.h (lvalue_error): Update.
723 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
726 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
729 * c-objc.h (objc_finish_message_expr): Added argument to
732 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
734 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
737 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
739 * c-objc.h (objc_maybe_warn_exceptions): New.
740 * stub-objc.c (objc_maybe_warn_exceptions): New.
742 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
744 * c-common.h (readonly_error): Declare.
745 * c-common.c (readonly_error): Define.
747 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
749 * c-common.h (invalid_indirection_error): Declare.
750 * c-common.c (invalid_indirection_error): Define.
752 2010-12-03 Richard Guenther <rguenther@suse.de>
755 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
756 (pp_c_unary_expression): Likewise.
757 (pp_c_expression): Likewise.
759 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
761 * c-common.h (objc_finish_function): New.
762 (objc_non_volatilized_type): Removed.
763 (objc_type_quals_match): Removed.
764 * stub-objc.c (objc_finish_function): New.
765 (objc_non_volatilized_type): Removed.
766 (objc_type_quals_match): Removed.
768 2010-11-30 Joseph Myers <joseph@codesourcery.com>
770 * c-common.h (parse_optimize_options): Declare.
771 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
772 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
774 2010-11-29 Joseph Myers <joseph@codesourcery.com>
776 * c-opts.c (check_deps_environment_vars): Use getenv instead of
778 * c-pch.c (O_BINARY): Don't define here.
779 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
781 2010-11-25 Joseph Myers <joseph@codesourcery.com>
783 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
784 targetm.except_unwind_info.
786 2010-11-23 Joseph Myers <joseph@codesourcery.com>
788 * c-opts.c (c_common_handle_option): Pass location to
789 set_struct_debug_option.
791 2010-11-23 Joseph Myers <joseph@codesourcery.com>
793 * c-common.c (visibility_options): Move from ../opts.c.
794 * c-common.h (struct visibility_flags, visibility_options):
796 * c-opts.c (finish_options): Rename to c_finish_options.
797 (c_common_init): Update call to finish_options.
799 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
802 * c-lex.c (lex_string): Check that each string in an Objective-C
803 string concat sequence starts with either one or zero '@', and
804 that there are no spurious '@' signs at the end.
806 2010-11-20 Joseph Myers <joseph@codesourcery.com>
808 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
809 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
810 HANDLE_PRAGMA_VISIBILITY.
811 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
812 HANDLE_PRAGMA_VISIBILITY): Don't define.
813 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
815 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
820 * c-common.h (keyword_begins_type_specifier): Declare.
821 (keyword_is_storage_class_specifier): Declare.
822 (keyword_is_type_qualifier): Declare.
823 * c-common.c (keyword_begins_type_specifier): New function.
824 (keyword_is_storage_class_specifier): New function.
825 (keyword_is_type_qualifier): Declare.
827 2010-11-19 Joseph Myers <joseph@codesourcery.com>
830 * c-common.c (in_late_binary_op): Define.
831 (c_common_truthvalue_conversion): Check in_late_binary_op before
833 * c-common.h (in_late_binary_op): Declare.
835 2010-11-19 Joseph Myers <joseph@codesourcery.com>
837 * c-opts.c (c_common_handle_option): Update calls to
838 set_struct_debug_option.
840 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
842 * c-common.h (objc_declare_protocols): Added additional argument.
843 * stub-objc.c (objc_declare_protocol): Same change.
845 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
848 * c-common.h (build_real_imag_expr): Declare.
849 * c-semantics.c (build_real_imag_expr): Define.
851 2010-11-17 Joseph Myers <joseph@codesourcery.com>
853 * c-opts.c (c_common_parse_file): Take no arguments.
854 * c-common.h (c_common_parse_file): Update prototype.
856 2010-11-16 Jakub Jelinek <jakub@redhat.com>
859 * c-common.c (warning_candidate_p): Don't track non-const calls
862 2010-11-15 Ian Lance Taylor <iant@google.com>
864 * c-lex.c (init_c_lex): Set macro debug callbacks if
865 flag_dump_go_spec is set.
867 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
869 * c-common.h (objc_build_incr_expr_for_property_ref): New.
870 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
872 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
874 PR preprocessor/45038
875 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
878 2010-11-12 Joseph Myers <joseph@codesourcery.com>
880 * c-common.h (c_family_lang_mask): Declare.
881 * c-opts.c (c_family_lang_mask): Make extern.
882 * c-pragma.c (handle_pragma_diagnostic): Use
883 control_warning_option.
885 2010-11-12 Joseph Myers <joseph@codesourcery.com>
887 * c-common.c (parse_optimize_options): Update call to
889 * c-common.h (c_common_handle_option): Update prototype.
890 * c-opts.c (c_common_handle_option): Take location_t parameter and
891 pass it to other functions.
893 2010-11-11 Joseph Myers <joseph@codesourcery.com>
895 * c-opts.c (warning_as_error_callback): Remove.
896 (c_common_initialize_diagnostics): Don't call
897 register_warning_as_error_callback.
898 (c_common_handle_option): Handle -Werror=normalized= here.
900 2010-11-10 Joseph Myers <joseph@codesourcery.com>
902 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
904 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
906 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
907 Remove trailing '.' from diagnostics.
908 * c.opt (Wwrite-strings_: Avoid '`' in help text.
910 2010-11-10 Joseph Myers <joseph@codesourcery.com>
912 * c-common.c (parse_optimize_options): Pass global_dc to
914 * c-opts.c (c_common_handle_option): Pass &global_options to
915 set_Wstrict_aliasing.
916 * c.opt (v): Don't mark Common or document here.
918 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
921 * c-format.c (format_type): New type gcc_objc_string_format_type.
922 (valid_stringptr_type_p): New.
923 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
924 (check_format_string): Pass expected type, use
925 valid_stringptr_type_p (), check that the format string types are
926 consistent with the format specification.
927 (decode_format_attr): Warn if NSString is used outside objective-c.
928 (format_types_orig): Add NSString.
931 (check_format_arg): Handle format strings requiring an external parser.
932 first_target_format_type: New variable.
933 (handle_format_attribute): Set up first_target_format_type, pass the
934 expected format arg string type to check_format_string().
935 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
936 * stub-objc.c (objc_string_ref_type_p): New.
937 (objc_check_format_arg): New.
939 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
941 Fixed using the Objective-C 2.0 dot-syntax with class names.
942 * c-common.h (objc_build_class_component_ref): New.
943 * stub-objc.c (objc_build_class_component_ref): New.
945 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
947 * c.opt (Wproperty-assign-default): New option.
949 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
951 Implemented -fobjc-std=objc1 flag.
952 * c.opt (fobjc-std=objc1): New option.
954 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
956 Implemented format and noreturn attributes for Objective-C methods.
957 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
958 attribute for Objective-C methods.
960 2010-10-31 Jason Merrill <jason@redhat.com>
962 * c-common.c (conversion_warning, warn_for_collisions_1): Use
965 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
967 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
968 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
969 (objc_add_property_declaration): Removed arguments for copies and
971 (objc_build_getter_call): Renamed to
972 objc_maybe_build_component_ref.
973 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
974 (objc_is_property_ref): New.
975 * c-common.c (c_common_reswords): Removed copies and ivar.
976 * stub-objc.c (objc_add_property_declaration): Removed arguments
978 (objc_build_getter_call): Renamed to
979 objc_maybe_build_component_ref.
980 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
981 (objc_is_property_ref): New.
983 2010-10-29 Arnaud Charlet <charlet@adacore.com>
984 Matthew Gingell <gingell@adacore.com>
986 * c-ada-spec.c (separate_class_package): New function.
987 (pp_ada_tree_identifier): Prefix references to C++ classes with the
988 name of their enclosing package.
989 (print_ada_declaration): Use separate_class_package.
991 2010-10-27 Jason Merrill <jason@redhat.com>
993 * c-common.c (c_common_reswords): Add __is_literal_type.
994 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
996 * c-common.c (check_case_value): Remove special C++ code.
998 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
1000 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
1001 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
1003 (objc_add_property_declaration): Added additional arguments.
1004 (objc_property_attribute_kind): Removed.
1005 (objc_set_property_attr): Removed.
1006 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
1008 * stub-objc.c (objc_add_property_declaration): Added additional
1010 (objc_set_property_attr): Removed.
1012 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
1014 * c-common.h (objc_add_property_variable): Renamed to
1015 objc_add_property_declaration. Added location argument.
1016 * stub-objc.c (objc_add_property_variable): Same change.
1018 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
1020 * c-common.h (objc_maybe_printable_name): New.
1021 * stub-objc.c (objc_maybe_printable_name): New.
1023 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1024 Andrew Pinski <pinskia@gmail.com>
1026 * c-common.h (c_common_mark_addressable_vec): Declare.
1027 * c-common.c (c_common_mark_addressable_vec): New function.
1029 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
1031 * c-common.h (objc_set_method_type): Removed.
1032 (objc_add_method_declaration): Added boolean argument.
1033 (objc_start_method_definition): Same change.
1034 (objc_build_method_signature): Same change.
1035 * stub-objc.c (objc_set_method_type): Removed.
1036 (objc_add_method_declaration): Added boolean argument.
1037 (objc_start_method_definition): Same change.
1038 (objc_build_method_signature): Same change.
1040 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
1042 * c-common.h (finish_file): Removed.
1043 (objc_write_global_declarations): New.
1044 * c-opts.c (c_common_parse_file): Do not call finish_file.
1045 * stub-objc.c (objc_write_global_declarations): New.
1047 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
1049 Implemented parsing @synthesize and @dynamic for
1050 Objective-C/Objective-C++.
1051 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
1052 (objc_add_synthesize_declaration): New.
1053 (objc_add_dynamic_declaration): New.
1054 * c-common.c (c_common_reswords): Add synthesize and dynamic.
1055 * stub-objc.c (objc_add_synthesize_declaration): New.
1056 (objc_add_dynamic_declaration): New.
1058 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
1061 * c-cppbuiltin.c (mode_has_fma): Move function here from
1062 builtins.c. Don't use the fma optab, instead just use the
1063 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
1066 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
1068 Merge from 'apple/trunk' branch on FSF servers.
1070 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
1073 * c-common.h (objc_non_volatilized_type): New declaration
1074 * stub-objc.c (objc_non_volatilized_type): New stub.
1076 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
1078 Merge from 'apple/trunk' branch on FSF servers.
1080 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
1083 * c-common.h (objc_diagnose_private_ivar): New decl.
1084 * stub-objc.c (objc_diagnose_private_ivar): New stub.
1086 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
1088 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
1089 * c-common.h (enum rid): Add RID_AT_PACKAGE.
1090 (objc_ivar_visibility_kind): New enum.
1091 (objc_set_visibility): Adjust prototype to use visibility enum.
1092 * stub-objc.c (objc_set_visibility): Adjust stub to use
1095 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1097 * c-cppbuiltin.c (builtin_define_float_constants): Emit
1098 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
1099 has the appropriate fma builtins.
1100 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
1102 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
1104 merge from FSF apple 'trunk' branch.
1105 2006 Fariborz Jahanian <fjahanian@apple.com>
1107 Radars 4436866, 4505126, 4506903, 4517826
1108 * c-common.c (c_common_resword): Define @property and its attributes.
1109 * c-common.h: Define property attribute enum entries.
1110 (OBJC_IS_PATTR_KEYWORD): New.
1111 (objc_property_attribute_kind): New enum.
1112 Declare objc_set_property_attr (), objc_add_property_variable (),
1113 objc_build_getter_call () and objc_build_setter_call ().
1114 * stub-objc.c (objc_set_property_attr): New stub.
1115 (objc_add_property_variable): Likewise.
1116 (objc_build_getter_call): Likewise.
1117 (objc_build_setter_call) Likewise.
1119 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
1121 merge from FSF apple 'trunk' branch.
1122 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
1124 Radar 3803157 (method attributes)
1125 * c-common.c (handle_deprecated_attribute): Recognize
1126 objc methods as valid declarations.
1127 * c-common.h: Declare objc_method_decl ().
1128 * stub-objc.c (objc_method_decl): New stub.
1130 2010-10-08 Joseph Myers <joseph@codesourcery.com>
1132 * c-common.c (parse_optimize_options): Call
1133 decode_cmdline_options_to_array_default_mask before
1134 decode_options. Update arguments to decode_options.
1135 * c-common.h (c_common_init_options_struct): Declare.
1136 * c-opts.c (c_common_init_options_struct): New. Split out from
1137 c_common_init_options.
1139 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
1141 Implemented fast enumeration for Objective-C.
1142 * c-common.h (objc_finish_foreach_loop): New.
1143 * stub-objc.c (objc_finish_foreach_loop): New.
1145 2010-10-05 Joseph Myers <joseph@codesourcery.com>
1147 * c-common.h (struct diagnostic_context): Don't declare here.
1148 (c_common_initialize_diagnostics): Declare using
1149 diagnostic_context typedef.
1150 * c-opts.c (c_common_handle_option): Pass global_dc to
1151 handle_generated_option.
1153 2010-10-04 Joseph Myers <joseph@codesourcery.com>
1155 * c-opts.c (c_common_handle_option): Pass &global_options_set to
1156 handle_generated_option.
1158 2010-10-03 Ian Lance Taylor <iant@google.com>
1160 * c.opt (-fplan9-extensions): New option.
1162 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1164 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
1166 (c_cpp_builtins): Call functions from cppbuiltin.c instead
1167 of duplicating code.
1169 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
1171 * c-common.c: Add two new entries for @optional
1172 and @required keywords.
1174 merge from FSF 'apple/trunk' branch.
1175 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
1178 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
1179 objective-c keywords.
1180 (objc_set_method_opt): New declaration.
1181 * stub-objc.c (objc_set_method_opt): New stub.
1183 2010-09-30 Joseph Myers <joseph@codesourcery.com>
1185 * c-common.c (handle_optimize_attribute): Pass &global_options to
1186 cl_optimization_save and cl_optimization_restore.
1187 * c-opts.c (c_common_handle_option): Pass &global_options to
1188 handle_generated_option.
1189 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
1190 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
1191 &global_options to cl_optimization_restore.
1193 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
1195 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
1196 Objective-C/Objective-C++ keywords.
1198 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
1200 Merge from 'apple/trunk' branch on FSF servers.
1202 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
1205 * c-common.h (objc_check_global_decl): New declaration.
1206 * stub-objc.c (objc_check_global_decl): New stub.
1208 2010-09-29 Joseph Myers <joseph@codesourcery.com>
1210 * c.opt: Don't use VarExists.
1212 2010-09-29 Joseph Myers <joseph@codesourcery.com>
1214 * c-common.c (c_cpp_error): Update names of diagnostic_context
1216 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
1217 cl_optimization members.
1218 * c-opts.c (warning_as_error_callback, c_common_handle_option,
1219 sanitize_cpp_opts, finish_options): Update names of cpp_options
1222 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
1224 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
1225 (objc_is_reserved_word): Removed.
1226 * c-common.c: Updated comments.
1227 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
1228 objc_is_reserved_word.
1229 * stub-objc.c (objc_is_reserved_word): Removed.
1231 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
1233 * c-common.h (objc_add_method_declaration): Adjust prototype to
1235 (objc_start_method_definition): Likewise.
1236 (objc_build_keyword_decl): Likewise.
1237 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
1238 (objc_start_method_definition): Likewise.
1239 (objc_build_keyword_decl): Likewise.
1241 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
1243 * c-common.h (objc_start_class_interface): Adjust prototype.
1244 (objc_start_category_interface): Likewise.
1245 (objc_start_protocol): Likewise.
1246 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
1247 (objc_start_class_interface): Likewise.
1248 (objc_start_category_interface): Likewise.
1250 2010-09-27 Ian Lance Taylor <iant@google.com>
1252 * c-common.c (c_common_attribute_table): Add no_split_stack.
1253 (handle_no_split_stack_attribute): New static function.
1255 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
1257 Merge from 'apple/trunk' branch on FSF servers.
1259 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
1262 * c-common.h (objc_have_common_type): New declaration.
1263 * stub-objc.c (objc_have_common_type): New stub.
1265 2005-06-22 Ziemowit Laski <zlaski@apple.com>
1268 * c-common.h (objc_common_type): New prototype.
1269 * stub-objc.c (objc_common_type): New stub.
1271 2010-09-24 Jan Hubicka <jh@suse.cz>
1273 * c-common.c (handle_leaf_attribute): New function.
1274 (struct attribute_spec c_common_att): Add leaf.
1276 2010-09-22 Joseph Myers <joseph@codesourcery.com>
1278 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
1279 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
1280 -dump, -dump=, -imacros, -imacros=, -include, -include=,
1281 -include-barrier, -include-directory, -include-directory=,
1282 -include-directory-after, -include-directory-after=,
1283 -include-prefix, -include-prefix=, -include-with-prefix,
1284 -include-with-prefix=, -include-with-prefix-after,
1285 -include-with-prefix-after=, -include-with-prefix-before,
1286 -include-with-prefix-before=, -no-integrated-cpp,
1287 -no-line-commands, -no-standard-includes, -no-warnings, -output,
1288 -output=, -pedantic, -pedantic-errors, -preprocess,
1289 -print-missing-file-dependencies, -trace-includes, -traditional,
1290 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
1291 -user-dependencies, -verbose, -write-dependencies,
1292 -write-user-dependencies, no-integrated-cpp, traditional): New.
1294 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
1297 * c-common.h (objc_start_method_definition): Return bool instead
1299 * stub-objc.c (objc_start_method_definition): Return bool instead
1302 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
1305 * c-common.h (objc_get_interface_ivars): New declaration.
1306 * stub-objc.c (objc_get_interface_ivars): New stub.
1308 2010-09-15 Ian Lance Taylor <iant@google.com>
1310 * c-common.c (parse_optimize_options): Do not capitalize warning
1311 messages. Remove period at end of warning message.
1313 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
1315 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
1316 (handle_alias_attribute): ... here.
1317 (handle_ifunc_attribute): New.
1319 2010-09-06 Mark Mitchell <mark@codesourcery.com>
1321 * c-common.h (do_warn_double_promotion): Declare.
1322 * c-common.c (do_warn_double_promotion): Define.
1324 2010-09-05 Mark Mitchell <mark@codesourcery.com>
1326 * c.opt (Wdouble-promotion): New.
1328 2010-09-02 Joseph Myers <joseph@codesourcery.com>
1330 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
1331 fvtable-thunks, fxref): Mark no longer supported in help text.
1333 2010-09-02 Joseph Myers <joseph@codesourcery.com>
1335 * c.opt (Wimport, fall-virtual, falt-external-templates,
1336 fdefault-inline, fenum-int-equiv, fexternal-templates,
1337 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
1338 fname-mangling-version-, fnew-abi, fnonnull-objects,
1339 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
1340 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
1342 (fhandle-exceptions): Mark with Alias and Warn.
1343 * c-opts.c (c_common_handle_option): Don't handle options marked
1346 2010-09-02 Joseph Myers <joseph@codesourcery.com>
1348 * c.opt (Wcomments, Werror-implicit-function-declaration,
1349 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
1350 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
1352 * c-common.c (option_codes): Use OPT_Wcomment instead of
1354 * c-opts.c (warning_as_error_callback, c_common_handle_option):
1355 Don't handle options marked as aliases.
1357 2010-08-25 Richard Guenther <rguenther@suse.de>
1359 * c-common.c (c_common_get_alias_set): Remove special
1360 handling for pointers.
1362 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
1364 * c-common.c: Use FOR_EACH_VEC_ELT.
1365 * c-gimplify.c: Likewise.
1366 * c-pragma.c: Likewise.
1368 2010-08-16 Joseph Myers <joseph@codesourcery.com>
1370 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
1372 (MMDX): Change back to MMD. Mark NoDriverArg instead of
1374 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
1375 instead of OPT_MDX and OPT_MMDX.
1377 2010-08-16 Joseph Myers <joseph@codesourcery.com>
1379 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
1381 2010-08-12 Joseph Myers <joseph@codesourcery.com>
1383 * c.opt (MD, MMD): Change to MDX and MMDX.
1384 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
1386 2010-08-11 Joseph Myers <joseph@codesourcery.com>
1388 * c-opts.c (c_common_handle_option): Call handle_generated_option
1389 instead of handle_option.
1391 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
1393 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
1394 (maybe_apply_renaming_pragma): Delete unneeded declarations.
1396 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
1398 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
1399 (pending_redefine_extname): Change type to a VEC.
1400 (add_to_renaming_pragma_list): Update for new type of
1401 pending_redefine_extname.
1402 (maybe_apply_renaming_pragma): Likewise.
1404 2010-08-04 Arnaud Charlet <charlet@adacore.com>
1406 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
1408 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
1409 decide whether a type has already been declared/seen.
1410 Do not go to the original type.
1411 (dump_nested_types): New parameter forward.
1412 Generate forward declaration if needed and mark type as visited.
1413 (print_ada_declaration): Call dump_nested_types if not already done.
1414 Mark types as visited.
1416 2010-08-03 Joseph Myers <joseph@codesourcery.com>
1418 * c.opt (-print-pch-checksum): Remove option.
1419 * c-opts.c (c_common_handle_option): Don't handle
1420 OPT_print_pch_checksum.
1422 2010-07-27 Joseph Myers <joseph@codesourcery.com>
1424 * c-common.h (c_common_handle_option): Update prototype and return
1426 * c-opts.c (c_common_handle_option): Update prototype and return
1427 value type. Update calls to handle_option and
1428 enable_warning_as_error.
1430 2010-07-27 Jakub Jelinek <jakub@redhat.com>
1433 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
1435 2010-07-27 Joseph Myers <joseph@codesourcery.com>
1437 * c-common.h (c_common_missing_argument): Remove.
1438 * c-opts.c (c_common_missing_argument): Remove.
1439 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
1440 idirafter, imacros, include, isysroot, isystem, iquote): Add
1442 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
1444 2010-07-27 Joseph Myers <joseph@codesourcery.com>
1446 * c-common.h (c_common_option_lang_mask,
1447 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
1449 (c_common_init_options): Update prototype.
1450 * c-opts.c (c_common_option_lang_mask): New.
1451 (c_common_initialize_diagnostics): Split out of
1452 c_common_init_options.
1453 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
1455 (c_common_init_options): Update prototype. Use decoded options in
1456 search for -lang-asm.
1458 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
1460 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
1461 * c-format.c: Likewise.
1463 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
1465 * c-common.h: Include diagnostic-core.h. Error if already
1467 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
1469 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
1471 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
1472 Do not include expr.h
1473 (vector_mode_valid_p): Move here.
1475 2010-06-21 DJ Delorie <dj@redhat.com>
1477 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
1478 allow these pragmas anywhere.
1480 2010-06-14 Jakub Jelinek <jakub@redhat.com>
1483 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
1484 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
1485 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
1486 ggc_strdup instead of xstrdup.
1488 2010-06-10 Jakub Jelinek <jakub@redhat.com>
1490 * c-cppbuiltin.c: Include cpp-id-data.h.
1491 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
1492 (lazy_hex_fp_value): New function.
1493 (builtin_define_with_hex_fp_value): Provide definitions lazily.
1495 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1497 * c-gimplify.c: Do not include tree-flow.h
1499 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
1502 * c-common.c: Rename targetm member:
1503 targetm.enum_va_list -> targetm.enum_va_list_p
1505 2010-06-28 Anatoly Sokolov <aesok@post.ru>
1507 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
1509 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
1511 * c-cppbuiltin.c: Do not include except.h.
1513 2010-06-24 Andi Kleen <ak@linux.intel.com>
1515 * c-common.c (warn_for_omitted_condop): New.
1516 * c-common.h (warn_for_omitted_condop): Add prototype.
1518 2010-06-21 Joseph Myers <joseph@codesourcery.com>
1520 * c.opt (lang-objc): Remove.
1521 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
1523 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
1525 * c-opts.c: Include "tm_p.h".
1527 2010-06-20 Joseph Myers <joseph@codesourcery.com>
1529 * c-common.c (parse_optimize_options): Update call to
1532 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
1534 * c-common.c (record_types_used_by_current_var_decl): Adjust for
1535 new type of types_used_by_cur_var_decl.
1537 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
1540 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
1541 for C++ standard compliance.
1543 2010-06-16 Jason Merrill <jason@redhat.com>
1545 * c.opt: Add -Wnoexcept.
1547 2010-06-16 Richard Guenther <rguenther@suse.de>
1550 * c-common.c (c_common_truthvalue_conversion): Remove
1551 premature and wrong optimization concering ADDR_EXPRs.
1553 2010-06-15 Arnaud Charlet <charlet@adacore.com>
1555 * c-ada-spec.c (dump_sloc): Remove column info.
1556 (is_simple_enum): New function.
1557 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
1558 enum types when relevant.
1560 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1562 * c-common.c (conversion_warning): Warn at expression
1565 2010-06-10 Joseph Myers <joseph@codesourcery.com>
1567 * c-opts.c (c_common_handle_option): Don't handle
1570 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1572 * c-pragma.c (push_alignment): Use typed GC allocation.
1573 (handle_pragma_push_options): Likewise.
1575 * c-common.c (parse_optimize_options): Likewise.
1577 * c-common.h (struct sorted_fields_type): Add variable_size GTY
1580 2010-06-07 Joseph Myers <joseph@codesourcery.com>
1582 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
1583 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
1584 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
1585 flag_signed_bitfields, warn_strict_null_sentinel,
1586 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
1587 flag_gen_declaration, flag_no_gnu_keywords,
1588 flag_implement_inlines, flag_implicit_templates,
1589 flag_implicit_inline_templates, flag_optional_diags,
1590 flag_elide_constructors, flag_default_inline, flag_rtti,
1591 flag_conserve_space, flag_access_control, flag_check_new,
1592 flag_new_for_scope, flag_weak, flag_working_directory,
1593 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
1594 flag_enforce_eh_specs, flag_threadsafe_statics,
1595 flag_pretty_templates): Remove.
1596 * c-common.h (flag_preprocess_only, flag_nil_receivers,
1597 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
1598 flag_replace_objc_classes, flag_undef, flag_no_builtin,
1599 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
1600 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
1601 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
1602 flag_no_gnu_keywords, flag_implement_inlines,
1603 flag_implicit_templates, flag_implicit_inline_templates,
1604 flag_optional_diags, flag_elide_constructors, flag_default_inline,
1605 flag_rtti, flag_conserve_space, flag_access_control,
1606 flag_check_new, flag_new_for_scope, flag_weak,
1607 flag_working_directory, flag_use_cxa_atexit,
1608 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
1609 flag_threadsafe_statics, flag_pretty_templates,
1610 warn_strict_null_sentinel): Remove.
1611 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
1612 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
1613 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
1614 fimplicit-inline-templates, fimplicit-templates,
1615 flax-vector-conversions, fms-extensions, fnil-receivers,
1616 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
1617 frtti, fshort-double, fshort-enums, fshort-wchar,
1618 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
1619 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
1620 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
1621 gen-decls, undef): Use Var.
1622 (fdefault-inline, foptional-diags): Document as doing nothing.
1623 * c-opts.c (c_common_handle_option): Remove cases for options now
1624 using Var. Mark ignored options as such.
1626 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
1628 * c-common.c: Moved to here from parent directory.
1629 * c-common.def: Likewise.
1630 * c-common.h: Likewise.
1631 * c-cppbuiltin.c: Likewise.
1632 * c-dump.c: Likewise.
1633 * c-format.c: Likewise.
1634 * c-format.h : Likewise.
1635 * c-gimplify.c: Likewise.
1636 * c-lex.c: Likewise.
1637 * c-omp.c: Likewise.
1639 * c-opts.c: Likewise.
1640 * c-pch.c: Likewise.
1641 * c-ppoutput.c: Likewise.
1642 * c-pragma.c: Likewise.
1643 * c-pragma.h: Likewise.
1644 * c-pretty-print.c: Likewise.
1645 * c-pretty-print.h: Likewise.
1646 * c-semantics.c: Likewise.
1647 * stub-objc.c: Likewise.
1649 * c-common.c: Include gt-c-family-c-common.h.
1650 * c-pragma.c: Include gt-c-family-c-pragma.h.
1652 Copyright (C) 2010, 2011 Free Software Foundation, Inc.
1654 Copying and distribution of this file, with or without modification,
1655 are permitted in any medium without royalty provided the copyright
1656 notice and this notice are preserved.