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.
Nicola Pero [Thu, 16 Dec 2010 22:52:48 +0000 (22:52 +0000)]
In libobjc/: 2010-12-16 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-16 Nicola Pero <nicola.pero@meta-innovation.com>
* sendmsg.c: Include objc/runtime.h instead of objc/objc-api.h.
Include objc-private/module-abi-8.h and objc-private/selector.h
instead of objc/encoding.h.
(objc_msg_lookup_super): Use super->super_class instead of
super->class.
(method_get_first_argument, method_get_next_argument): Declare
locally.
(class_get_instance_method): Declare before using.
(objc_msg_sendv): Use 'struct objc_method' instead of 'Method'.
(__objc_init_dispatch_tables, __objc_send_initialize): Use
sel_registerName() instead of sel_register_name().
(__objc_forward): Use sel_getName() instead of sel_get_name().
(objc_get_uninstalled_dtable): Use 'void' as argument.
* objc-private/selector.h: New.
Jakub Jelinek [Thu, 16 Dec 2010 22:45:42 +0000 (23:45 +0100)]
re PR tree-optimization/46966 (ICE: in execute_cse_reciprocals, at tree-ssa-math-opts.c:474 with -floop-interchange -fno-tree-copy-prop -fno-tree-loop-im)
PR tree-optimization/46966
* graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
for bbs that are removed from SCOP_BBS vector.
Konrad Eisele [Thu, 16 Dec 2010 22:28:45 +0000 (22:28 +0000)]
Support for LEON processor
Support for LEON processor
* config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
(sparc-*-linux*): Likewise.
(sparc-*-rtems*): Remove Solaris left-overs.
(sparc*-*-*): Remove obsolete sparc86x setting.
(sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
* doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
* config/sparc/sparc.h (TARGET_CPU_leon): Define.
(TARGET_CPU_sparc86x): Delete.
(TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
(TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
(TARGET_CPU_f934): Likewise.
(TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
(CPP_CPU_SPEC): Add entry for -mcpu=leon.
(enum processor_type): Add PROCESSOR_LEON. Reorganize.
* config/sparc/sparc.c (leon_costs): New cost array.
(sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
Initialize cost array to leon_costs if -mtune=leon.
* config/sparc/sparc.md (cpu attribute): Add leon. Reorganize.
Include leon.md scheduling description.
* config/sparc/leon.md: New file.
* config/sparc/t-elf: Do not assemble Solaris startup files.
* config/sparc/t-leon: New file.
* config/sparc/t-leon3: Likewise.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r167957
Jakub Jelinek [Thu, 16 Dec 2010 21:44:02 +0000 (22:44 +0100)]
re PR tree-optimization/43655 (-ftree-ter causes FAIL: g++.old-deja/g++.law/temps5.C execution test)
PR tree-optimization/43655
* tree-ssa-ter.c (is_replaceable_p): Don't use
gimple_references_memory_p for -O0, instead check for load
by looking at rhs.
PR libgcj/46774: Create dynamic ProtectionDomain instances which check the system policy.
2010-12-13 Andrew John Hughes <ahughes@redhat.com>
PR libgcj/46774
* libjava/java/security/VMAccessController.java:
(DEFAULT_CONTEXT): Create ProtectionDomain with
four argument constructor (arguments are the same
as those implied by the two argument constructor).
(getContext()): Create ProtectionDomain instances
with four argument constructor using a null Principal
array (as before) but including the classloader, which
was always null before.
Ulrich Weigand [Thu, 16 Dec 2010 18:12:23 +0000 (18:12 +0000)]
t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
* config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
* config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define.
(LIBGCC2_UNITS_PER_WORD): Define if not already defined.
Jan Hubicka [Thu, 16 Dec 2010 01:27:23 +0000 (02:27 +0100)]
re PR tree-optimization/46939 (http://blog.regehr.org/archives/320 example 6)
PR middle-end/46939
* predic.c (predict_paths_leading_to_edge): New function.
(apply_return_prediction): Use it.
(predict_paths_for_bb): Do not special case abnormals.
* gcc.target/i386/pr46939.c: New testcase.