Nicola Pero [Tue, 21 Dec 2010 12:49:26 +0000 (12:49 +0000)]
In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs'
to be 'struct objc_selector *' and not 'SEL'.
* init.c (__objc_exec_class): Call
__objc_register_selectors_from_module instead of iterating over
each selector and calling __sel_register_typed_name for each.
* objc-private/selector.h: Declare
__objc_register_selectors_from_module instead of
__sel_register_typed_name.
* selector.c (__objc_register_selectors_from_module): New.
(__sel_register_typed_name): Made static.
Nicola Pero [Tue, 21 Dec 2010 11:50:14 +0000 (11:50 +0000)]
In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-private/runtime.h (DEBUG_PRINTF): Moved from here ...
* objc-private/common.h (DEBUG_PRINTF): To here.
* hash.c: Do not include objc-private/runtime.h and objc/thr.h.
* config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Generate
UNSPEC patterns by hand, with the proper mode; use gen_const_mem.
* config/mn10300/mn10300.md (call, call_value): Generate UNSPEC_PLT
by hand, with the proper mode.
(symGOT2reg, symGOT2reg_i, symGOTOFF2reg): Remove.
(symGOTOFF2reg_i, sym2PIC, sym2PLT): Remove.
Sanjin Liu [Mon, 20 Dec 2010 17:48:51 +0000 (17:48 +0000)]
arm-cores.def: Add Faraday CPU support - fa526/fa626/fa606te/fa626te/fmp626/fa726te.
2010-12-20 Sanjin Liu <scliu@faraday-tech.com>
Mingfeng Wu <mingfeng@faraday-tech.com>
* config/arm/arm-cores.def: Add Faraday CPU support -
fa526/fa626/fa606te/fa626te/fmp626/fa726te.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm.c (arm_fa726te_tune): New tune_params for fa726te
(fa726te_sched_adjust_cost): New cost function for fa726te.
(arm_issue_rate): Add fa726te.
* config/arm/arm.md (generic_sched): Add Faraday cores to generic_sched
and include machine description files.
* config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Add fa526 and fa626.
* config/arm/t-arm (MD_INCLUDES): Include machine description files for
Faraday cores.
* config/arm/t-arm-elf: Add multilib option for Faraday cores.
* config/arm/t-linux-eabi: Add multilib option for Faraday cores except
fa526 and fa626.
* doc/invoke.texi: Document -mcpu for Faraday cores.
* config/arm/fa526.md: New file.
* config/arm/fa606te.md: New file.
* config/arm/fa626te.md: New file.
* config/arm/fmp626.md: New file.
* config/arm/fa726te.md: New file.
Iain Sandoe [Mon, 20 Dec 2010 10:01:02 +0000 (10:01 +0000)]
re PR c++/46904 (g++.dg/tree-prof/(indir-call-prof.C|inline_mismatch_args.C) fail on powerpc-apple-darwin9)
PR c++/46904
PR middle-end/46916
PR target/46950
* config/darwin.c (generating_for_darwin_version): New var.
(darwin_text_section): Remove.
(darwin_rodata_section): Do not check function section here.
(darwin_emit_unwind_label): Do not emit for Darwin >= 9.
Emit distinct labels for successive calls for the same decl.
(darwin_override_options): Set generating_for_darwin_version.
Add FIXME and disable -freorder-blocks-and-partition.
Suppress automatic asynchronous unwind tables for m32.
Switch off -freorder-blocks-and-partition when unwind tables
will be generated. Update to use generating_for_darwin_version.
(darwin_function_section): Check for cases that need to be placed
in coalesced sections.
* config/darwin-sections.def: Define hot, cold, startup and exit sections
for both coalesced and regular code.
* config/darwin.h (USE_SELECT_SECTION_FOR_FUNCTIONS): Delete.
* config/darwin10.h (TARGET_ASM_EMIT_UNWIND_LABEL): Delete.
Nicola Pero [Sun, 19 Dec 2010 15:13:54 +0000 (15:13 +0000)]
In gcc/testsuite/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/gnu-api-2-objc.m: Fixed test to test objc_lookUpClass,
not objc_lookupClass.
* obj-c++.dg/gnu-api-2-objc.mm: Same change.
In libobjc/:
2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
* class.c (objc_lookupClass): Renamed to objc_lookUpClass.
* protocols.c: Updated all calls to objc_lookupClass to call
objc_lookUpClass instead.
* sendmsg.c (objc_lookupClass): Do not declare.
(get_imp): Update call to objc_lookupClass to call
objc_lookUpClass instead.
* objc/runtime.h (objc_lookupClass): Renamed to objc_lookUpClass.
Eric Botcazou [Sun, 19 Dec 2010 12:19:12 +0000 (12:19 +0000)]
re PR target/46729 (32-bit 30_threads execution tests fail on Solaris 10/SPARC with Sun as)
PR target/46729
* config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro.
(PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro.
* config/sparc/sparc.c (pic_helper_needed): Delete.
(global_offset_table): Likewise.
(pic_helper_symbol): Rename to...
(got_helper_rtx): ...this.
(global_offset_table_rtx): New global variable.
(sparc_got_symbol): Likewise.
(sparc_got): New static function.
(check_pic): Use local variable and call sparc_got.
(sparc_tls_symbol): Initialize to NULL_RTX.
(sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS
and 32-bit ABI and copy the GOT symbol to a new register otherwise.
(get_pc_thunk_name): Rename local variable.
(gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}.
(load_pic_register): Rename to...
(load_got_register): ...this. Adjust and call gen_load_pcrel_sym.
(sparc_expand_prologue): Do not test flag_pic.
(sparc_output_mi_thunk): Use pic_offset_table_rtx directly.
(sparc_file_end): Test got_helper_rtx instead of pic_helper_needed.
Rename local variable and do not call get_pc_thunk_name again.
* config/sparc/sparc.md (load_pcrel_sym): Add operand #3.
Dave Korn [Sun, 19 Dec 2010 11:14:19 +0000 (11:14 +0000)]
re PR middle-end/46674 (Weak alias is mistakenly optimized away)
PR middle-end/46674
PR middle-end/46221
* varasm.c (symbol_alias_set_t): New typedef for derived pointer_set
wrapper class.
(symbol_alias_set_create): New wrapper function.
(symbol_alias_set_destroy): Likewise.
(symbol_alias_set_contains): Likewise.
(symbol_alias_set_insert): Likewise.
(compute_visible_aliases): Use the above and return symbol_alias_set_t,
not a pointer_set.
(remove_unreachable_alias_pairs): Adjust likewise to match.
(finish_aliases_1): Likewise.
gcc/
* config/arm/arm.c (arm_legitimate_index_p): Add VFP load/store
index range case. Change to SF/DFmode tests to avoid capturing HFmode.
(thumb2_legitimate_index_p): Same.
gcc/testsuite/
* gcc.target/arm/vfp-1.c (test_ldst): New test for VFP
load/store immediate indexes.
Nicola Pero [Sun, 19 Dec 2010 01:29:09 +0000 (01:29 +0000)]
In gcc/testsuite/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/gnu-api-2-resolve-method.m: Include objc/message.h.
* obj-c++.dg/gnu-api-2-resolve-method.m: Include objc/message.h.
In libobjc/:
2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
* Makefile.in (OBJC_DEPRECATED_H): Added objc_msg_sendv.h.
* objc/deprecated/objc_msg_sendv.h: New.
* objc/message.h: Do not define retval_t, apply_t, arglist,
arglist_t, objc_msg_sendv, now in
objc/deprecated/objc_msg_sendv.h.
* objc/objc.h: Do not include message.h; include
objc/deprecated/objc_msg_sendv.h instead. Tidied up comments.
* sendmsg.c: Include objc/message.h.
* thr.c: Include objc/message.h.
Nicola Pero [Sun, 19 Dec 2010 00:54:27 +0000 (00:54 +0000)]
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
* Protocol.m: Moved all methods, with the exception of -isEqual:,
into the 'Deprecated' category.
* objc/Protocol.h: Removed all methods, moved to
objc/deprecated/Protocol.h. Include objc/deprecated/Protocol.h.
* objc/deprecated/Protocol.h: New.
* Makefile.in (OBJC_DEPRECATED_H): Added Protocol.h.
Nicola Pero [Sun, 19 Dec 2010 00:28:52 +0000 (00:28 +0000)]
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>
* init.c: Include objc-private/selector.h. Do not declare
__sel_register_typed_name.
* objc-private/selector.h (__sel_register_typed_name): Declare.
* selector.c: Include objc-private/selector.h.
Jakub Jelinek [Sat, 18 Dec 2010 21:07:12 +0000 (22:07 +0100)]
re PR tree-optimization/46969 (-fcompare-debug failure with -O -ftree-vectorize -ftree-parallelize-loops=2)
PR tree-optimization/46969
* tree-parloops.c (struct reduction_info): Add reduc_version.
(reduction_info_hash): Return reduc_version field.
(reduction_phi): Set reduc_version to gimple_uid (phi).
(build_new_reduction): Set reduc_version to SSA_NAME_VERSION of
phi result.
(set_reduc_phi_uids): New function.
(gather_scalar_reductions): Call it at the end through htab_traverse.
In gcc/objc/:
2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_init): Call using_eh_for_cleanups.
(objc_init_exceptions): Renamed to objc_maybe_warn_exceptions. Do
not call using_eh_for_cleanups.
(objc_begin_try_stmt): Do not call objc_init_exceptions.
(objc_build_throw_stmt): Updated call to
objc_maybe_warn_exceptions.
In gcc/testsuite/:
2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
re PR target/46915 (Wrong code is generated for conditional branch followed by zero length asm)
PR target/46915
* config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead
of next_real_insn. Search forward checking for both ASM_INPUT and
ASM_OPERANDS asms until exit condition is found.
(branch_needs_nop_p): Likewise.
(use_skip_p): New function.
(output_cbranch): Use use_skip_p.
(output_bb, output_bvb): Likewise.
Iain Sandoe [Sat, 18 Dec 2010 11:28:46 +0000 (11:28 +0000)]
objc-act.c (objc_eh_personality): Select personality name on runtime.
gcc/objc:
* objc/objc-act.c (objc_eh_personality): Select personality name on
runtime.
(objc_init_exceptions): New.
(objc_begin_try_stmt): Use objc_init_exceptions.
(objc_build_throw_stmt): Likewise.
Kai Tietz [Sat, 18 Dec 2010 10:16:13 +0000 (10:16 +0000)]
re PR target/36834 (structure return ABI for windows targets differs from native MSVC)
2010-12-18 Kai Tietz <kai.tietz@onevision.com>
PR target/36834
* config/i386/i386.c (ix86_keep_aggregate_return_pointer):
New local function.
(ix86_return_pops_args): Use ix86_keep_aggregate_return_pointer
function instead of KEEP_AGGREGATE_RETURN_POINTER.
(ix86_handle_callee_pop_aggregate_return): New handler.
(ix86_attribute_table): Add new attribute
callee_pop_aggregate_return.
* doc/extend.texi (callee_pop_aggregate_return): Add
attribute documentation.
Nicola Pero [Fri, 17 Dec 2010 22:12:34 +0000 (22:12 +0000)]
init.c: Include objc/runtime.h and objc-private/module-abi-8.h instead of objc/objc-api.h.
2010-12-17 Nicola Pero <nicola.pero@meta-innovation.com>
* init.c: Include objc/runtime.h and objc-private/module-abi-8.h
instead of objc/objc-api.h.
(init_check_module_version): Take a 'struct objc_module *'
argument instead of 'Module_t'. Use 'struct objc_module *'
instead of 'Module_t'.
(__objc_created_classes_tree): Take a 'struct objc_module *'
argument instead of 'Module_t'; use 'struct objc_symtab *' instead
of 'Symtab_t'.
(__objc_call_callback): Take a 'struct objc_module *' argument
instead of 'Module_t'; use 'struct objc_symtab *' instead of
'Symtab_t' and 'struct objc_category *' instead of 'Category_t'.
(_objc_load_callback): Take a 'struct objc_category *' argument
instead of 'Category *'.
(class_superclass_of_class): Use objc_getClass() instead of
objc_lookup_class().
(create_tree_of_subclasses_inherited_from): Same change (also, use
an explicit 'if' instead of '?').
(objc_init_statics): Same change.
(objc_send_load): Same change.
(__objc_init_protocol): same change.
(__objc_send_message_in_list): Take a 'struct objc_method_list *'
argument instead of 'MethodList_t'. Use 'struct objc_method *'
instead of 'Method_t'.
(__objc_send_load): Use 'struct objc_method_list *' instead of
'MethodList_t'. Use sel_registerName() instead of
sel_register_name().
(__objc_exec_class): Take a 'struct objc_module *' argument
instead of 'Module_t'. Use 'struct objc_symtab *' instead of
'Symtab_t'. Use objc_getClass() instead of objc_lookup_class().
Use 'struct objc_category *' instead of 'Category_t'.
Paolo Bonzini [Fri, 17 Dec 2010 21:23:36 +0000 (21:23 +0000)]
re PR c/20385 (Lame parse error message for undefined type)
gcc:
2010-12-17 Paolo Bonzini <bonzini@gnu.org>
PR c/20385
* function.c (used_types_insert): Handle ERROR_MARK.
* c-decl.c (grokdeclarator): Handle ERROR_MARK.
(declspecs_add_type): Leave error_mark_node in specs->type.
(finish_declspecs): Change it to integer_type_node here.
* c-parser.c (c_parser_peek_2nd_token): Move earlier.
(enum c_lookahead_kind): New.
(c_parser_next_token_starts_typename): New name of
c_parser_next_tokens_start_typename. Accept lookahead enum
and handle it here instead of...
(c_parser_next_tokens_start_declaration): ... here. Call it.
(c_parser_declspecs): Accept another argument. Do not exit
on C_ID_ID if it is guessed to be an unknown typename.
(c_parser_parms_declarator): Use 2nd token to distinguish a K&R
declaration from an ANSI declaration starting with an unknown
typename.
(c_parser_struct_declaration, c_parser_objc_type_name,
c_parser_typeof_specifier, c_parser_declarator,
c_parser_direct_declarator_inner): Adjust calls.
(c_parser_parameter_declaration): Likewise.
(c_parser_type_name): Pass back an error_mark_node to the caller.
(c_parser_postfix_expression): Do error recovery when
c_parser_type_name returns NULL.
testsuite:
2010-12-17 Paolo Bonzini <bonzini@gnu.org>
Ulrich Weigand [Fri, 17 Dec 2010 14:10:02 +0000 (14:10 +0000)]
t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and _floatunstisf.
* config/spu/t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and
_floatunstisf.
* config/spu/spu.md ("floattisf2"): New expander.
("floatunstisf2"): New insn pattern and splitter.
("cgt_ti_m1"): New insn pattern.
Dodji Seketeli [Fri, 17 Dec 2010 10:39:21 +0000 (10:39 +0000)]
re PR debug/45088 (pointer type information lost in debuginfo)
Fix for PR debug/45088
gcc/
* dwarf2out.c (gen_type_die_with_usage): Do not try to emit debug
info for a redundant typedef that has DECL_ORIGINAL_TYPE set. Use
that underlying type instead.
gcc/testsuite/
* g++.dg/debug/dwarf2/self-ref-1.C: New test.
* g++.dg/debug/dwarf2/self-ref-2.C: Likewise.