2004-07-24 Roman Zippel <zippel@linux-m68k.org>
* config/m68k/m68k.c (output_scc_di): Fix coding style.
(symbolic_operand): Fix prototype.
* config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand.
* config/m68k/m68k.md: Add constants for registers a0 and sp and
use them, change from the "{...}" syntax to the simpler {...}
syntax.
(*cfv4_extendqisi2): Fix destination predicate.
* config/m68k/m68k-protos.h: Remove various declarations also
generated via PREDICATE_CODES.
From-SVN: r85115
* gimplify.c (gimplify_compound_lval): Check for no handled
operations, rather than checking for explicit list of nodes.
(is_gimple_addr_expr_arg_or_indirect): New function.
(gimplify_addr_expr): Call it and handle INDIRECT_REF; remove
redundant setting of TREE_INVARIANT.
(gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval.
* tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p.
From-SVN: r85110
PR tree-optimization/16688
PR tree-optimization/16689
* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
unnecessary initialization of 'tag'.
(get_tmt_for): Check that the new type tag has the same alias
set as the pointed-to type.
(group_aliases): Only regular variables need to be removed
from the alias set of a name tag.
* tree-ssa-copy.c (may_propagate_copy): Do not allow copy
propagation if the two types are not compatible.
(merge_alias_info): Rename from replace_ssa_names_ann.
Add more checking.
(replace_exp_1): If both arguments are SSA_NAMEs, check that
the propagation can be done.
Only call merge_alias_info on pointers.
(propagate_value): Likewise.
* tree-ssa-copyrename.c: Include langhooks.h.
(copy_rename_partition_coalesce): Call replace_ssa_name_symbol
to do the merging.
Do not coalesce variables with incompatible types.
(rename_ssa_copies): Call replace_ssa_name_symbol.
* tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has
the same type as the underlying _DECL.
* tree-ssanames.c (replace_ssa_name_symbol): New function.
* tree.h (replace_ssa_name_symbol): Declare.
From-SVN: r85108
PR c++/16277
* gimplify.c (gimplify_cond_expr): Gimplify TARGET to a min_lval;
unshare it properly.
(gimplify_modify_expr_rhs): Push assignment from a conditional into
the conditional for all non-register types.
From-SVN: r85100
2004-07-23 Bryce McKinlay <mckinlay@redhat.com>
* gnu/java/net/protocol/http/Connection.java: Use GetPropertyAction
for privileged getProperty calls.
* java/io/ObjectOutputStream.java (getField): No longer static. Use
SetAccessibleAction instead of anonymous class for doPrivileged
call.
(getMethod): Likewise.
(setAccessible): New field. PrivilegedAction object to use when
calling setAccessible.
* java/io/ObjectStreamClass.java (calculateOffsets): Use
SetAccessibleAction instead of anonymous class for diPrivileged
call.
(setFields): Likewise.
(getClassUID): Likewise.
(findMethod): Likewise.
* gnu/java/security/action/GetPropertyAction.java: New class.
* gnu/java/security/action/SetAccessibleAction.java: New class.
From-SVN: r85097
* c-decl.c (start_function): Form composite type of function types
rather than copying type from previous prototype declaration.
testsuite:
* gcc.dg/comp-return-1.c: New test
From-SVN: r85093
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove
the const qualifier for the second argument in the C++ functions.
From-SVN: r85092
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use
specific pointer types.
From-SVN: r85091
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name.
(vec_vmulesb): Add missing C++ function.
(vec_perm): Fix type of third argument in C++ function.
(vec_vsum4shs): Fix C++ function name.
(vec_any_ge): Remove C++ functions for unsupported arg combinations.
(vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the
argument passed to the error handler in C macro.
(vec_nmsub): Remove extra parens around argument names in C macro.
(vec_packpx): Add missing parens in C macro.
From-SVN: r85089
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/vmx/debug-1.c: Use int, not long, in union with vector.
* gcc.dg/vmx/varargs-1.c: Use int, not long, in union with vector.
From-SVN: r85086
2004-07-23 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/vmx/ops.c: Remove checks using pointers to long.
* gcc.dg/vmx/ops-long-1.c: New test.
* gcc.dg/vmx/ops-long-2.c: New test.
From-SVN: r85085
* java/lang/System.java (static): Set http.agent system property when
not yet set.
* gnu/java/net/protocol/http/Connection.java (static): Get httpAgent
from system property inside AccessController.doPrivileged() call.
(proxyPort): Made package private.
(proxyInUse): Likewise.
(proxyHost): Likewise.
(userAgent): Likewise.
From-SVN: r85078
2004-07-23 Matthias Klose <doko@debian.org>
intl.c (gcc_init_libintl): Use PACKAGE for the text domain.
configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE.
config.h: Regenerate.
configure: Likewise.
From-SVN: r85072
* dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL on
generated SYMBOL_REFs for labels.
* config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr):
Change prototype.
(machopic_stub_name): Remove.
(machopic_indirection_name): New function.
(machopic_mcount_stub_name): Likewise.
(machopic_classify_name): Remove.
(machopic_function_base_sym): New function.
(machpoic_classify_symbol): Likewise.
(machopic_classify_ident): Remove.
(machopic_define_ident): Likewise.
(machopic_define_name): Likewise.
(machopic_name_defined_p): Likewise.
(machopic_ident_defined_p): Likewise.
(darwin_strip_name_encoding): Likewise.
(machopic_define_symbol): New function.
* config/darwin.c (hashtab.h): Include.
(machopic_defined_list): Remove.
(machopic_classify_ident): Likewise.
(machopic_classify_name): Likewise.
(machopic_ident_defined_p): Likewise.
(machopic_define_ident): Likewise.
(machopic_define_name): Likewise.
(machopic_symbol_defined_p): New function.
(machopic_classify_symbol): Likewise.
(machopic_data_defined_p): Use machopic_classify_symbol.
(machopic_define_symbol): New function.
(machopic_function_base_sym): New function.
(machopic_non_lazy_pointers): Remove.
(machopic_non_lazy_ptr_name): Likewise.
(machopic_stubs): Likewise.
(machopic_stub_name): Likewise.
(NON_LAZY_POINTER_SUFFIX): New macro.
(STUB_SUFFIX): Likewise.
(machopic_indirection): New structure.
(machopic_indirections): New variable.
(machopic_indirection_hash): New function.
(machopic_indirection_eq): Likewise.
(machopic_indirection_name): Likewise.
(machopic_mcount_stub_name): New function.
(machopic_validate_stub_or_non_lazy_pointer): Reimplement to use
hash table.
(machopic_indirect_data_reference): Rework to use new functions.
(machopic_indirect_call_target): Likewise.
(machopic_legitimize_pic_address): Likewise.
(machopic_output_indirection): New function.
(machopic_finish): Use it.
(machopic_operand_p): Rework to use new functions.
(darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS.
(darwin_strip_name_encoding): Remove.
(update_non_lazy_ptrs): Remove.
(update_stubs): Likewise.
(darwin_non_lazy_pcrel): Use new functions.
* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise.
(ASM_OUTPUT_LABELREF): Likewise.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
(MACHO_SYMBOL_FLAG_VARIABLE): New macro.
(MACHO_SYMBOL_FLAG_DEFINED): Likewise.
(TARGET_STRIP_NAME_ENCODING): Do not use
darwin_strip_name_encoding.
(GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use
darwin_strip_name_encoding.
* config/i386/darwin.h (FUNCTION_PROFILER): Use
machopic_mcount_stub_name.
* config/i386/i386.c (x86_output_mi_thunk): Use
machopic_indirection_name, not machopic_stub_name.
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use
machopic_function_base_sym.
(print_operand): Use machopic_classify_symbol.
(rs6000_emit_prologue): Use machopic_function_base_sym.
(output_profile_hook): Do not use machopic_stub_name.
(macho_branch_isalnds): Do not use darwin_strip_name_encoding.
From-SVN: r85071
2004-07-22 Andrew Pinski <pinskia@physics.uc.edu>
* thr.c (__objc_thread_detach_function): Do not mark as volatile
but instead use the attribute noreturn.
From-SVN: r85061
PR c/7284
* fold-const.c (extract_muldiv_1): Do not treat signed left shift
as multiplication.
testsuite:
* gcc.c-torture/execute/pr7284-1.c: New test.
From-SVN: r85059
* tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL.
(substitute_and_fold): Propigate into VUSE operands when possible.
(visit_phi_node): Handle UNKNOWN_VAL latticevalue.
(cp_lattice_meet): Handle merging of latticevalues when
UNKNOWN_VAL is present.
(visit_stmt): Visit assignments with V_MUST_DEFs.
(visit_assignment): Gather ccp information for V_MUST_DEF operands.
(ccp_fold): Deal with RHS' that are constant and virtual.
(evaluate_stmt): Handle UNKNOWN_VAL likely values.
(dump_lattice_value): Dump UNKNOWN_VAL latticevalues.
(initialize): Mark statements with V_MUST_DEFs as VARYING only if the
V_MUST_DEF operand is VARYING. Fix comment and include VOPS when
computing immediate uses.
(set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state
transition.
(replace_vuse_in): New function.
(likely_value): Add check of vuse operands.
(get_default_value): Set the default value of virtually defined
variables to UKNOWN_VAL instead of VARYING.
testsuite:
* gcc.dg/tree-ssa/20040721-1.c: New test.
From-SVN: r85055