2005-03-11 Ziemowit Laski Radar 3995882 * decl.c (objc_mark_locals_volatile): Mark local variables and parameters 'volatile' in ways expected by the C++ front-end. 2005-03-02 Robert Bowdidge Radar 3809189 * typeck2.c (digest_init): Factor out Pascal-ness of string initializer; allow NUL terminator to not fit into the array being initialized. 2005-02-18 Ziemowit Laski Radar 4011192 * parser.c (cp_parser_objc_try_catch_finally_statement): When parsing '@finally' blocks, make sure the compound statement winds up in a special STATEMENT_LIST instead of current scope. (cp_parser_objc_synchronized_statement): Likewise for '@synchronized' blocks. 2005-02-17 Ziemowit Laski Radar 3635843, 3922342 * tree.c (lvalue_or_else): Do not emit warning if '-Wno-non-lvalue-assign' has been specified. * typeck.c (build_modify_expr): Call objc_generate_write_barrier() if '-fobjc-gc' has been specified. 2005-02-16 Fariborz Jahanian Radar 3971074 * parser.c (cp_parser_cw_asm_statement): Pass lineno to cw_asm_stmt. 2005-02-16 Fariborz Jahanian Radar 3970655 * cp/parser.c (cw_build_identifier_string): New function. (cp_parser_cw_identifier): Build the tree for a '.'identifier. (cp_parser_cw_asm_postfix_expression): Some disambiguation case. 2005-02-10 Ziemowit Laski Radar 3993052 * parser.c (cp_parser_objc_interstitial_code): New routine. (cp_parser_objc_method_prototype_list): Call cp_parser_objc_interstitial_code() instead of doing non-ObjC++ parsing locally. (cp_parser_objc_method_definition_list): Likewise. 2005-02-10 Ziemowit Laski Radar 3982256 * cp-objcp-common.h (cxx_get_alias_set, cxx_warn_unused_global_decl, cp_expr_size, cp_tree_size, cp_var_mod_type_p, cxx_initialize_diagnostics, cxx_types_compatible_p): Move prototypes ... * cp-tree.h: ... here. 2005-02-08 Ziemowit Laski Radar 3987120 * parser.c (cp_parser_objc_encode_expression): Call 'complete_type (cp_parser_type_id ())' instead of 'cp_parser_objc_typename ()' to retrieve argument type. 2005-02-02 Ziemowit Laski Radar 3978104 * parser.c (cp_parser_objc_method_prototype_list): Allow stray semicolons in between method signatures. 2005-01-31 Ziemowit Laski Radar 3978168 * tree.c (lvalue_or_else): Allow certain non-lvalues as arguments to '&', and print appropriate warning. 2005-01-27 Ziemowit Laski Radar 3971244 * typeck.c (composite_pointer_type): Check for ObjC subtype relations. 2005-01-26 Matt Austern Radar 3972840 * call.c (build_over_call): Set type of function node correctly. Type returned by build_vfn_ref_using_vtable is *not* what we want. * class.c (build_vfn_ref_using_vtable): Duplicate logic in build_vfn_ref for setting attributes of vtable array ref node. 2005-01-26 Devang Patel Radar 3971329 * parser.c (cp_parser_objc_method_definition_list): Parse extern linkage specification. 2005-01-24 Ziemowit Laski Radar 3968938 * parser.c (cp_parser_simple_type_specifier): After constructing a protocol-qualified ObjC type, record it in the DECL_SPECS structure. 2005-01-23 Ziemowit Laski Radar 3961973 * cp-tree.h (lvalue_or_else): Change type of first parameter from 'tree' to 'tree *'. * tree.c (lvalue_or_else): Change first parameter from 'tree' to 'tree *'; handle conditional lvalues in addition to lvalue casts; when rewriting expressions, create a new tree instead of clobbering an existing one. * typeck.c (build_unary_op, build_modify_expr): Adjust calls to lvalue_or_else(). 2005-01-19 Matt Austern Radar 3960754 * typeck.c (comptypes): Handle return code from objc_comptypes correctly. 2005-01-18 Mike Stump Radar 3956093 * class.c (has_apple_kext_compatibility_attr_p): Avoid problems when there are no base classes. 2005-01-18 Ziemowit Laski * parser.c (cp_parser_cw_identifier): Reapply change just reverted. 2005-01-18 Ziemowit Laski * parser.c (cp_parser_cw_identifier): Revert change from 2005-01-14. 2005-01-17 Ziemowit Laski Radar 3955336 * parser.c (cp_parser_objc_message_receiver): Try parsing receiver as an expression first; failing that, as a nested type. 2005-01-17 Ziemowit Laski Radar 3951689 * parser.c (cp_parser_objc_try_catch_finally_statement, cp_parser_objc_synchronized_statement, cp_parser_objc_throw_statement cp_parser_objc_statement): New functions. (cp_parser_statement): Call cp_parser_objc_statement() to parse Objective-C statements. 2005-01-15 Geoffrey Keating * g++spec.c: Remove APPLE LOCAL changes involving macosx_version_min_required. 2005-01-14 Ziemowit Laski * parser.c (cp_parser_cw_identifier): Add a default: to squash compiler warnings. 2005-01-08 Ziemowit Laski Radar 3913725 * tree.c (lvalue_or_else): If expression is not an lvalue, check if it is a cast of an lvalue; if so, and if the cast involves POD types with identical size and aligment, rewrite '(type)expr' into '*(type *)&expr' and allow the result as an lvalue. 2005-01-07 Devang Patel Radar 3943502 * parser.c (cp_parser_objc_defs_expression): New. (cp_parser_member_declaration): Handle @defs. 2005-01-06 Robert Bowdidge Radar 3943783 * class.c: change has_apple_kext_compatibility_attr_p to use BINFO_BASE_BINFO for walking class hierarchy. 2005-01-06 Devang Patel Radar 3941766 * parser.c (cp_parser_objc_class_ivars): Add '}' check. 2005-01-05 Mark Mitchell Matt Austern Radar 3934803 PR c++/18369 * init.c (build_new_1): Handle parenthesized type-ids that name an array type. Tidy. 2004-12-20 Matt Austern Radar 3845716 PR c++/19044 * decl.c (make_rtl_for_nonlocal_decl): Use set_builtin_user_assembler_name 2004-12-10 Ziemowit Laski Radar 3640156, 3877958 * decl.c (builtin_function_1): Do not require subsequent declarations for AltiVec PIM builtins. 2004-12-07 Mike Stump Radar 3603833, 3896176, 3518821. * parser.c (cp_parser_binary_expression): Add support for lines that start with named operators such as and. (cp_parser_cw_identifier): Move reused code from here to cw_get_identifier. 2004-11-17 Mike Stump Radar 3860322 g++.dg/asm-block-3.C * parser.c (cp_parser_cw_identifier): Handle C++ keywords like and, or, xor in CW asm blocks. 2004-11-14 Ziemowit Laski Radar 3877761 * parser.c (cp_parser_objc_class_ivars): Allow an optional trailing semicolon, per existing usage. 2004-11-10 Ziemowit Laski Radar 3761423 * typeck.c (finish_class_member_access_expr): Insert call to objc_is_public() to check ObjC ivar access. 2004-11-08 Ziemowit Laski Radar 3869280 * tree.c (lvalue_p_1): Determine lvalue-ness of CONST_DECLs the same way as for VAR_DECLs. 2004-11-03 Ziemowit Laski Radar 3863563 (fix from mainline) * cp-lang.c (cxx_types_compatible_p): Remove prototype and definition. (LANG_HOOKS_TYPES_COMPATIBLE_P): Move to cp-objcp-common.h. * cp-objcp-common.c (cxx_types_compatible_p): Moved definition here from cp-lang.c. * cp-objcp-common.h (cxx_types_compatible_p): Moved prototype here from cp-lang.c. (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from cp-lang.c. 2004-11-01 Ziemowit Laski Radar 2810013 * parser.c (cp_parser_primary_expression): Perform instace variable lookup in conjunction with C++ identifier expression lookup. (cp_parser_postfix_expression): Moved instance variable lookup to cp_parser_primary_expression(). 2004-10-21 Ziemowit Laski Radar 3540965 * parser.c (cp_parser_postfix_expression): Do not forget to parse the rhs of a postfix expression when the lhs is an instance variable. 2004-10-18 Robert Bowdidge Radar 3843618 * gcc/cp/parser.c: Bring the change for PR/17829 over from mainline so that Finder_FE will build again. 2004-10-13 Ziemowit Laski Radar 3677258 * cp-tree.h (struct lang_identifier): Add 'interface_value' field. 2004-09-14 Andrew Pinski Rest of Radar 3753405 * cp-tree.h (enum cp_decl_sepcs): Add ds_cw_asm. * decl.c (grokdeclarator): Rename cw_asm_specbit to cw_asm_p to mirror the other specbits. Access specbits for cw_asm. Add "asm" to decl_specs_names. Remove MERGE FIXME comment. * parser.c (cp_parser_decl_specifier_seq, ): Mirror the other decl spec bits. 2004-08-22 Andrew Pinski Revert: 2004-08-22 Andrew Pinski PR c++/14029 * typeck.c (build_unary_op): Use &a.b if the foldded lowered expression is not constant. 2004-08-22 Andrew Pinski PR c++/14029 * typeck.c (build_unary_op): Use &a.b if the foldded lowered expression is not constant. 2004-08-10 Devang Patel Remove Symbol Separation. Radar 3555440. Reviewed by Mike Stump. * decl2.c (finish_file): Do not write context. 2004-08-08 Andrew Pinski * cp/lex.c (cxx_init): Remove APPLE LOCAL for setting -gused by default as it is handled in CC1_SPECs now. 2004-08-03 Stan Shebs Support for CodeWarrior-style assembly language blocks and functions. Radar 3368707. * cp-tree.h (cw_asm_cp_build_component_ref): Declare. * decl.c (grokdeclarator): Recognize asm keyword, set flag on function decl if seen. * parser.c (cp_lexer_get_preprocessor_token): Allow @-tokens if doing asm. (cp_parser_primary_expression): Recognize @-tokens in asm, replace with @-identifier (which will become a label) later. (cp_parser_unary_expression): Call asm-specific postfix expression handler. (cp_parser_compound_statement): Handle asm compound statements specially. (cp_parser_statement_seq_opt): Handle statement sequences in asm blocks specially. (cp_parser_simple_declaration): Leave instead of erroring out if apparent asm opcode is seen. (cp_parser_decl_specifier_seq, cp_parser_storage_class_specifier_opt): Accept RID_ASM as a specifier. (cp_parser_asm_definition): Detect asm blocks and handle. (cp_parser_cw_asm_compound_statement, cp_parser_cw_asm_declaration_seq_opt, cp_parser_cw_asm_line_seq_opt, cp_parser_cw_asm_line, cp_parser_cw_asm_statement_seq_opt, cp_parser_cw_asm_statement, cp_parser_cw_asm_operands, cp_parser_cw_asm_operand, cp_parser_cw_asm_postfix_expression, cw_asm_typename_or_reserved): New functions. semantics.c (finish_id_expression): Handle register names and labels in asm blocks specially. * typeck.c (cw_asm_cp_build_component_ref): New function. 2004-08-01 Devang Patel Re-implement -fwritable-strings support. Radar : 3699482 * decl.c (cxx_init_decl_processing): Check flag_writable_strings. 2004-08-01 Geoffrey Keating * decl.c (grokdeclarator): Don't call warn_about_long_double. 2004-06-08 Fariborz Jahanian * decl2.c (maybe_emit_vtables, get_guard): Remove all APPLE LOCAL coalescing codes. (import_export_decl): Remove all APPLE LOCAL coalescing codes, except for one call to comdat_linkage. 2004-06-08 Fariborz Jahanian * decl2.c (maybe_emit_vtables, import_export_decl, get_guard): Resore various APPLE LOCAL coalescing codes. 2004-06-07 Fariborz Jahanian * decl2.c (maybe_emit_vtables, import_export_decl, get_guard): Remove various APPLE LOCAL coalescing codes. 2004-04-02 Ziemowit Laski Remove APPLE LOCAL AltiVec code whenever possible; merge in AltiVec/VECTOR_TYPE-handling code from mainline.