re PR target/30634 (FAIL: gfortran.fortran-torture/execute/intrinsic_set_exponent.f90)
PR target/30634
* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
CONST_DOUBLE and operand 0 is a hard register.
(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
memory. Fail if operand 1 is a non-zero CONST_INT and operand 0
is a hard floating-point register.
re PR fortran/30720 ([4.1 only] runtime: check for empty array slices before allocating a negative amount of memory)
PR fortran/30720
* trans-array.c (gfc_trans_create_temp_array): Remove use of the
function argument. Always generate code for negative extent.
Simplify said code.
* trans-array.h (gfc_trans_create_temp_array): Change prototype.
* trans-expr.c (gfc_conv_function_call): Remove use of last argument
of gfc_trans_create_temp_array.
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
* trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
Makefile.tpl (build_alias, [...]): Use noncanonical equivalents.
* Makefile.tpl (build_alias, host_alias, target_alias): Use
noncanonical equivalents.
* configure.in: Rename to...
* configure.ac: ...this. Update AC_PREREQ. Prevent error for
AS_FOR_TARGET. Set build_noncanonical, host_noncanonical, and
target_noncanonical. Use them. Rewrite removal of configure
arguments for autoconf 2.59. Discard variable settings. Force
program_transform_name for native tools.
* Makefile.in: Regenerated.
* configure: Regenerated with autoconf 2.59.
gcc/testsuite/
* gcc.c-torture/execute/builtins/memops-asm-lib.c: Do the copy or
set before checking whether it was allowed.
* gcc.c-torture/execute/builtins/lib/memset.c: Do the memset
before checking inside_main.
Zdenek Dvorak [Fri, 9 Feb 2007 13:29:11 +0000 (14:29 +0100)]
re PR tree-optimization/23361 (Can't eliminate empty loops with power of two step and variable bounds)
2007-02-09 Zdenek Dvorak <dvorakz@suse.cz>
Richard Guenther <rguenther@suse.de>
PR middle-end/23361
* fold-const.c (fold_comparison): Handle obfuscated comparisons
against INT_MIN/INT_MAX.
* tree-ssa-loop-ivcanon.c (remove_empty_loop): Print to dump
file if a loop is removed.
* gcc.dg/fold-compare-3.c: New testcase.
* gcc.dg/tree-ssa/loop-24.c: Likewise.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r121742
Jakub Jelinek [Fri, 9 Feb 2007 10:53:40 +0000 (11:53 +0100)]
re PR classpath/23566 (Need to regenerate TimeZone data against tzdata2006a)
PR 23566
* scripts/timezones.pl: Parse each file in 2 passes, in one parse
just Rule lines, in the other everything else. Pass 0 instead of
$savings as second argument to parseRule when parsing the start
rule.
* java/util/TimeZone.java (timezones): Regenerate from tzdata2007a.
Joseph Myers [Fri, 9 Feb 2007 01:11:18 +0000 (01:11 +0000)]
calls.c (store_one_arg): Pass correct alignment to emit_push_insn for non-BLKmode values.
* calls.c (store_one_arg): Pass correct alignment to
emit_push_insn for non-BLKmode values.
* expr.c (emit_push_insn): If STRICT_ALIGNMENT, copy to an
unaligned stack slot via a suitably aligned slot.
DJ Delorie [Fri, 9 Feb 2007 00:49:48 +0000 (19:49 -0500)]
m32c.c (m32c_unpend_compare): Add default to silence warnings.
* config/m32c/m32c.c (m32c_unpend_compare): Add default to silence
warnings.
(legal_subregs): Use unsigned char, make const.
(m32c_illegal_subreg_p): Use ARRAY_SIZE. Delete unused variables.
Harsha Jagasia [Thu, 8 Feb 2007 22:37:01 +0000 (22:37 +0000)]
xmmintrin.h: Make inclusion of emmintrin.h conditional to __SSE2__.
* config/i386/xmmintrin.h: Make inclusion of emmintrin.h
conditional to __SSE2__.
(Entries below should have been added to first ChangeLog
entry for amdfam10 dated 2007-02-05)
* config/i386/emmintrin.h: Generate #error if __SSE2__ is not
defined.
* config/i386/pmmintrin.h: Generate #error if __SSE3__ is not
defined.
* config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not
defined.
DJ Delorie [Thu, 8 Feb 2007 22:22:52 +0000 (17:22 -0500)]
m32c-protos.h (m32c_illegal_subreg_p): New.
* config/m32c/m32c-protos.h (m32c_illegal_subreg_p): New.
* config/m32c/m32c.c (legal_subregs): New.
(m32c_illegal_subreg_p): New.
* config/m32c/predicates.md (m32c_any_operand): Use it to reject
unsupported subregs of hard regs.
Kyle Galloway [Thu, 8 Feb 2007 18:01:56 +0000 (18:01 +0000)]
java-interp.h (_Jv_InterpFrame): obj_ptr field added to hold "this" pointer for frame.
2007-02-06 Kyle Galloway <kgallowa@redhat.com>
* include/java-interp.h (_Jv_InterpFrame): obj_ptr field added
to hold "this" pointer for frame.
(_Jv_InterpFrame::get_this_ptr): New method.
* interpret-run.cc: Copy the "this" pointer into obj_ptr.
Roger Sayle [Thu, 8 Feb 2007 17:10:56 +0000 (17:10 +0000)]
simplify-rtx.c (simplify_unary_operation_1): We can strip zero_extend, bswap and rotates from POCOUNT's argument.
* simplify-rtx.c (simplify_unary_operation_1) <POPCOUNT>: We can
strip zero_extend, bswap and rotates from POCOUNT's argument.
<PARITY>: Likewise, we can strip not, bswap, sign_extend,
zero_extend and rotates from PARITY's argument.
<BSWAP>: A byte-swap followed by a byte-swap is an identity.
(simplify_const_unary_operation) <BSWAP>: Evaluate the byte-swap
of an integer constant at compile-time.
* gcc.target/i386/builtin-bswap-2.c: New test case.
Diego Novillo [Thu, 8 Feb 2007 16:55:43 +0000 (16:55 +0000)]
re PR tree-optimization/30562 (remove unused variable is removing a referenced variable (in STORED_SYMS or LOADED_SYMS))
PR 30562
* tree-flow.h (struct var_ann_d): Remove field 'is_used'.
Update all users.
* tree-ssa-alias.c (compute_is_aliased): Remove. Update all
users.
(init_alias_info):
* tree-ssa-live.c (remove_unused_locals): Do not remove
TREE_ADDRESSABLE variables.
* tree-ssa-structalias.c (compute_points_to_sets): Tidy.
* tree-ssa-operands.c (add_virtual_operand): Remove argument
FOR_CLOBBER. Update all users.
If VAR has an associated alias set, add a virtual operand for
it if no alias is found to conflict with the memory reference.
Kyle Galloway [Wed, 7 Feb 2007 23:28:04 +0000 (23:28 +0000)]
jvmti.cc (CHECK_FOR_NATIVE_METHOD): New macro.
2007-02-07 Kyle Galloway <kgallowa@redhat.com>
* jvmti.cc (CHECK_FOR_NATIVE_METHOD): New macro.
(_Jv_JVMTI_GetMaxLocals): New method.
* include/java-interp.h
(_Jv_InterpMethod::get_max_locals): New method.
Tom Tromey [Wed, 7 Feb 2007 22:02:40 +0000 (22:02 +0000)]
init.c: New file.
* testsuite/libjava.jni/init.c: New file.
* testsuite/libjava.jni/init.java: New file.
* testsuite/libjava.jni/init.out: New file.
* testsuite/libjava.jni/init.jar: New file.
* testsuite/libjava.jni/init.h: New file.
* testsuite/libjava.jni/init$NativeClass.h: New file.
Chris Burdess [Wed, 7 Feb 2007 18:22:26 +0000 (18:22 +0000)]
re PR classpath/30718 (TransformerException in XSLURIResolver)
2007-02-07 Chris Burdess <dog@gnu.org>
Fixes PR 30718.
* gnu/xml/dom/ls/SAXEventSink.java: Add public accessor/mutators.
* gnu/xml/transform/XSLURIResolver.java: Add support for custom
SAXSources without a backing URL or stream.
Fixes PR 27710.
* gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous
LSParser if implementation does not support asynchronous.
* gnu/xml/stream/XMLParser.java,
gnu/xml/stream/XIncludeFilter.java: Use custom code instead of
java.net.URL to resolve to an an absolute URI, to avoid nonexistent
protocol handler problems.
Jakub Jelinek [Wed, 7 Feb 2007 12:16:22 +0000 (13:16 +0100)]
re PR c++/30703 (ICE Segmentation fault on using OpenMP)
PR c++/30703
* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
of INDIRECT_REF <RESULT_DECL>.
* cp-gimplify.c (cp_genericize_r): Don't dereference invisiref
parameters and result decls in omp clauses.
(cxx_omp_privatize_by_reference): Pass also invisiref PARM_DECLs
by reference.
1.cc: Use only 10000 iterations for simulator targets.
* testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Use only
10000 iterations for simulator targets.
* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Use only 5
iterations for simulator targets.
* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
* testsuite/23_containers/set/modifiers/16728.cc: Use only 10
iterations for simulator targets.
Andreas Krebbel [Wed, 7 Feb 2007 09:54:47 +0000 (09:54 +0000)]
raise-gcc.c (get_region_description_for, [...]): Replaced _Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t.
2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
* raise-gcc.c (get_region_description_for, get_call_site_action_for,
get_action_description_for): Replaced _Unwind_Word with _uleb128_t
and _Unwind_SWord with _sleb128_t.
Zdenek Dvorak [Tue, 6 Feb 2007 21:49:49 +0000 (22:49 +0100)]
loop.texi: Document possibility not to perform disambiguation of loops with multiple latches.
* doc/loop.texi: Document possibility not to perform disambiguation
of loops with multiple latches.
* cfgloopmanip.c (alp_enum_p): Removed.
(add_loop): Handle subloops. Use get_loop_body_with_size.
(create_preheader): Do not allow ENTRY_BLOCK_PTR to be preheader.
* cfghooks.c (redirect_edge_and_branch_force): Set dominator for
the new forwarder block.
(make_forwarder_block): Only call new_bb_cbk if it is not NULL.
Handle the case latch is NULL.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg modifications
when marking loop exits.
* ifcvt.c (if_convert): Ditto. Mark loop exits even if cfg cannot
be modified.
* loop-init.c (loop_optimizer_init): Do not modify cfg. Call
disambiguate_loops_with_multiple_latches.
* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Calculate dominators
before fix_loop_structure.
* cfgloop.c: Include pointer-set.h and output.h.
(canonicalize_loop_headers, HEADER_BLOCK, LATCH_EDGE,
update_latch_info, mfb_keep_just, mfb_keep_nonlatch): Removed.
(get_loop_latch_edges, find_subloop_latch_edge_by_profile,
find_subloop_latch_edge_by_ivs, find_subloop_latch_edge,
mfb_redirect_edges_in_set, form_subloop, merge_latch_edges,
disambiguate_multiple_latches, get_loop_body_with_size,
disambiguate_loops_with_multiple_latches): New functions.
(flow_loop_dump): Dump multiple latch edges.
(flow_loop_nodes_find): Handle loops with multiple latches.
(flow_loops_find): Ditto. Do not call canonicalize_loop_headers.
(glb_enum_p): Modified.
(get_loop_body): Use get_loop_body_with_size.
* cfgloop.h (LOOPS_HAVE_RECORDED_EXITS): New flag.
(AVOID_CFG_MODIFICATIONS): New constant.
(disambiguate_loops_with_multiple_latches, add_loop,
get_loop_body_with_size): Declare.
* Makefile.in (cfgloop.o): Add pointer-set.h and output.h.