Uros Bizjak [Tue, 30 Jan 2007 11:20:07 +0000 (12:20 +0100)]
builtins.c (expand_builtin_int_interclass_roundingfn): New function to handle optabs that operate on floating point input argument and...
* builtins.c (expand_builtin_int_interclass_roundingfn): New function
to handle optabs that operate on floating point input argument and
output to integer output.
(expand_builtin_mathfn) [BUILT_IN_ILOGB]: Move from here ...
(expand_builtin_interclass_mathfn) [BUILT_IN_ILOGB]: ... to here.
(expand_builtin): Expand BUILT_IN_ILOGB{,F,L} using
expand_builtin_interclass_mathfn ().
* config/i386/i386.md (fxtractxf3_i387): Rename from *fxtractxf3_i387.
(ilogbsi2): Remove.
(ilogbxf2, ilogb<mode>2): New expanders to implement ilogb, ilogbf and
ilogbl built-in functions as x87 intrinsics.
Roger Sayle [Tue, 30 Jan 2007 04:39:59 +0000 (04:39 +0000)]
fold-const.c (round_up): Make HIGH an unsigned HOST_WIDE_INT to avoid undefined behaviour on overflow.
* fold-const.c (round_up): Make HIGH an unsigned HOST_WIDE_INT to
avoid undefined behaviour on overflow. Use force_fit_type_double
to construct the constant with the specified TREE_OVERFLOW.
Kyle Galloway [Mon, 29 Jan 2007 22:05:56 +0000 (22:05 +0000)]
java-interp.h: Added _Jv_Frame class and its two subclasses _Jv_InterpFrame and _Jv_NativeFrame.
2007-01-29 Kyle Galloway <kgallowa@redhat.com>
* include/java-interp.h: Added _Jv_Frame class and its two
subclasses _Jv_InterpFrame and _Jv_NativeFrame. Also moved
_Jv_FrameType from java-stack.h.
* include/java-stack.h: Removed _Jv_FrameType.
* java/lang/Thread.java: Added frame member to hold new
composite frame stack.
* java/lang/Thread.h: Regenerated.
* java/lang/Thread.class: Rebuilt.
* jni.cc (_Jv_JNIMethod::call): Push a frame onto the stack when
calling a JNI method.
* jvmti.cc (_Jv_JVMTI_GetStackTrace): New Method.
(_Jv_JVMTI_GetFrameCount): New method.
* stacktrace.cc (UnwindTraceFn): Modified to use new _Jv_Frame
classes.
* testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
* testsuite/libjava.jvmti/interp/natgetstacktrace.cc: New test.
* testsuite/libjava.jvmti/interp/getstacktrace.h: New test.
* testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
* testsuite/libjava.jvmti/interp/getstacktrace.out: Output file
for test.
Janis Johnson [Mon, 29 Jan 2007 20:27:41 +0000 (20:27 +0000)]
Makefile.in (USER_H): Remove decfloat.h.
gcc/
* Makefile.in (USER_H): Remove decfloat.h.
* ginclude/decfloat.h: Delete, moving contents to ...
* ginclude/float.h: Add support for decimal floating point,
guarded by __STDC_WANT_DEC_FP__.
Mike Stump [Mon, 29 Jan 2007 20:10:33 +0000 (20:10 +0000)]
gccint.texi (Top): Rename Loop Representation to Loop Analysis and Representation to resolve case...
* doc/gccint.texi (Top): Rename Loop Representation to Loop
Analysis and Representation to resolve case insensitive conflict.
* doc/loop.texi (Loop Analysis and Representation): Likewise.
Simon Baldwin [Mon, 29 Jan 2007 20:07:49 +0000 (20:07 +0000)]
demangle.h: New cplus_demangle_print_callback...
include/:
* demangle.h: New cplus_demangle_print_callback,
cplus_demangle_v3_callback, and java_demangle_v3_callback function
prototypes, and demangle_callbackref type definition.
libiberty/:
* cp-demangle.h (cplus_demangle_operators): External definition
suppressed if not building for libstdc++.
* cp-demangle.c (__gcclibcxx_demangle_callback): Augmented interface
to demangling, provides a malloc-less version of __cxa_demangle.
(cplus_demangle_print_callback): Public callback version of
cplus_demangle_print.
(struct d_growable_string): New growable string structure.
(d_growable_string_init): New function, provides support for
growable strings separate from print info.
(d_growable_string_resize): Likewise.
(d_growable_string_append_buffer): Likewise.
(d_growable_string_callback_adapter):): Likewise.
(d_print_init): New print info initialization function.
(d_print_error): Macro replace by inline function.
(d_print_saw_error): Likewise.
(d_append_char): Likewise.
(d_append_buffer): Likewise.
(d_append_string): New inline function, replaces the
d_append_string_constant macro.
(d_flush_buffer): New function, flushes buffer to callback.
(d_demangle_callback, is_ctor_or_dtor): Malloc-based fallback
for unsupported dynamic arrays replaced by alloca().
(d_demangle): Return string length estimating removed.
(d_dump): Moved error case handling from call site into function.
(d_print_resize): Function removed.
(d_print_append_char): Likewise.
(d_print_append_buffer): Likewise.
(d_print_error): Likewise.
(d_print_comp): Added special case handling for Java arrays.
(java_demangle_v3): Removed string post-processing for Java arrays,
now replaced by special case handling in d_print_comp.
(cplus_demangle_v3_callback): Augmented interface to demangling,
provides a malloc-less version of cplus_demangle_v3.
(java_demangle_v3_callback): Augmented interface to demangling,
provides a malloc-less version of java_demangle_v3.
* tree.h (struct tree_memory_tag): Add aliases member.
(MTAG_ALIASES): New macro.
* tree-ssa-alias.c (alias_bitmap_obstack): New variable.
(add_may_alias): Remove pointer-set. Update for may_aliases being
a bitmap.
(mark_aliases_call_clobbered): Update for may_aliases being a
bitmap.
(compute_tag_properties): Ditto.
(create_partition_for): Ditto.
(compute_memory_partitions): Ditto.
(dump_may_aliases_for): Ditto.
(is_aliased_with): Ditto.
(add_may_alias_for_new_tag): Ditto.
(rewrite_alias_set_for): Rewrite for may_aliases being a bitmap.
(compute_is_aliased): New function.
(compute_may_aliases): Call compute_is_aliased).
(init_alias_info): Initialize alias_bitmap_obstack.
(union_alias_set_into): New function.
(compute_flow_sensitive_aliasing): Use union_aliases_into.
(have_common_aliases_p): Rewrite to take two bitmaps and use
intersection.
(compute_flow_insensitive_aliasing): Stop using pointer-sets.
Update for bitmaps.
(finalize_ref_all_pointers): Update for add_may_alias changes.
(new_type_alias): Ditto.
* tree-flow-inline.h (may_aliases): Return a bitmap.
* tree-dfa.c (dump_variable): Check for MTAG_P'ness.
* tree-ssa.c (verify_flow_insensitive_alias_info): Update for
may_aliases being a bitmap.
* tree-flow.h (struct var_ann_d): Remove may_aliases member.
may_aliases now returns a bitmap.
* tree-ssa-structalias.c (merge_smts_into): Update for may_aliases
being a bitmap.
* tree-ssa-operands.c (add_virtual_operand): Update for
may_aliases being a bitmap.
Tom Tromey [Mon, 29 Jan 2007 18:46:34 +0000 (18:46 +0000)]
configure, [...]: Rebuilt.
* configure, Makefile.in: Rebuilt.
* Makefile.am (bin_SCRIPTS): Never install scripts/jar.
* configure.ac (BASH_JAR): Removed conditional.
(JAR): Prefer the jar found by AC_CHECK_PROGS.
* include/jvmti_md.h (_CLASSPATH_VM_JVMTI_TYPES_DEFINED):
Define.
[__GCJ_JNI_IMPL__]: Define our own JVMTI types when building
gcj. All jvmti object types now are defined to be their
corresponding java classes.
* jvmti.cc (_Jv_JVMTI_SuspendThread): Remove casting from
jthread to Thread*.
(_Jv_JVMTI_ResumeThread): Likewise.
(_Jv_JVMTI_InterruptThread): Likewise.
(_Jv_JVMTI_SetEventNotificationMode): Likewise.
* gnu/classpath/jdwp/natVMVirtualMachine.cc
(jdwpClassPrepareCB): Likewise.
(jdwpThreadEndCB): Likewise.
(jdwpThreadStartCB): Likewise.
(jdwpVMInitCB): Likewise.
Paul Thomas [Mon, 29 Jan 2007 10:27:50 +0000 (10:27 +0000)]
re PR fortran/30554 ([4.1 only] ICE in mio_pointer_ref at module.c:1945)
2007-01-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30554
* module.c (read_module): If a symbol is excluded by an ONLY
clause, check to see if there is a symtree already loaded. If
so, attach the symtree to the pointer_info.
2007-01-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30554
* gfortran.dg/used_dummy_types_6.f90: New test.
Razya Ladelsky [Sun, 28 Jan 2007 13:01:53 +0000 (13:01 +0000)]
ipa-cp.c (ipcp_insert_stage, [...]): Support for SSA.
2007-01-25 Razya Ladelsky <razya@il.ibm.com>
* ipa-cp.c (ipcp_insert_stage, ipcp_driver): Support for SSA.
(ipcp_driver): Change to static definition.
Add dumping of the ifunctions.
(constant_val_insert): Remove unused parameter. Support for SSA.
(ipcp_propagate_const): Support for SSA.
(ipcp_profile_bb_print): Print only analyzed nodes.
(ipcp_replace_map_create): Remove support for Fortran constant
for now.
* ipa-prop.c (ipa_method_modify_stmt,
ipa_callsite_compute_param): Support for SSA.
* ipa-prop.h (ipcp_driver): Remove declaration.
(IS_VALID_TREE_MAP_INDEX): Add define.
Thomas Koenig [Sun, 28 Jan 2007 10:44:47 +0000 (10:44 +0000)]
re PR fortran/30389 ([4.1 only] ACHAR() intrinsic gives erroneous errors in constant-folding.)
2007-01-28 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30389
* gfortran.h: Remove gfc_simplify_init_1.
* arith.h: Remove third argument from gfc_compare_string.
* arith.c(gfc_compare_expression): Remove third argument
from call to gfc_compare_string.
(gfc_compare_string): Remove third argument xcoll_table.
Remove use of xcoll_table.
* misc.c(gfc_init_1): Remove call to gfc_simplify_init_1.
* simplify.c(ascii_table): Remove.
(xascii_table): Likewise.
(gfc_simplify_achar): ICE if extract_int fails. Remove use of
ascii_table. Warn if -Wsurprising and value < 0 or > 127.
(gfc_simplify_char): ICE if extract_int fails. Error if
value < 0 or value > 255.
(gfc_simplify_iachar): Remove use of xascii_table.
Char values outside of 0..255 are an ICE.
(gfc_simplify_lge): Remove use of xascii_table.
(gfc_simplify_lgt): Likewise.
(gfc_simplify_lle): Likewise.
(gfc_simplify_llt): Likewise.
(invert_table): Remove.
(gfc_simplify_init_1): Remove.
2007-01-28 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30389
* gfortran.dg/achar_2.f90: New test.
* gfortran.dg/achar_3.f90: New test.
Roger Sayle [Sun, 28 Jan 2007 05:04:48 +0000 (05:04 +0000)]
tree.c (tree_fold_gcd): Delete.
* tree.c (tree_fold_gcd): Delete.
* tree.h (tree_fold_gcd): Remove prototype.
* tree-data-ref.c (tree_fold_divides_p): Don't use tree_fold_gcd to
test whether one constant integer is a multiple of another. Instead
call int_const_binop with TRUNC_MOD_EXPR and test for a zero result.
* fold-const.c (multiple_of_p): We've determined both TOP and
BOTTOM are integer constants so we can call int_const_binop directly
instead of the more generic const_binop.
Roger Sayle [Sun, 28 Jan 2007 03:48:41 +0000 (03:48 +0000)]
fold-const.c (size_binop): In the fast-paths for X+0...
* fold-const.c (size_binop): In the fast-paths for X+0, 0+X, X-0 and
1*X check that the constant hasn't overflowed, to preserve the
TREE_OVERFLOW bit.
(round_up): Provide an efficient implementation when rouding-up an
INTEGER_CST to a power-of-two.
Jan Hubicka [Sat, 27 Jan 2007 22:31:19 +0000 (23:31 +0100)]
tree-sra.c (sra_walk_function): Don't rely on aliases being build.
* tree-sra.c (sra_walk_function): Don't rely on aliases being build.
(pass_sra): Do not require alias information.
* passes.c (init_optimization_passes): Add SRA
Andreas Tobler [Sat, 27 Jan 2007 21:46:15 +0000 (21:46 +0000)]
re PR libgcj/30513 (Bootstrap failure with libgcj on sparc-sun-solaris2.10)
2007-01-27 Andreas Tobler <a.tobler@schweiz.org>
PR libgcj/30513
* configure.host: Add forgottten sysdep_dir to sparc. Add a flag to
libgcj_flags to undefine 'sun' at compile time.
* sysdep/sparc/locks.h (read_barrier): New functions for 32 and 64 bit
Sparc.
(write_barrier): Likewise.
Roger Sayle [Sat, 27 Jan 2007 19:02:25 +0000 (19:02 +0000)]
trans-stmt.c (forall_info): Replace the next_nest and outer fields that previously implemented a...
* trans-stmt.c (forall_info): Replace the next_nest and outer
fields that previously implemented a doubly-linked list with a
single prev_nest field (singly-linked list).
(gfc_trans_nested_forall_loop): The nested_forall_info argument
now denotes the innermost FORALL in the loop nest.
(compute_overall_iter_number): Use prev_nest instead of next_nest.
(gfc_trans_forall_1): Link/cons the new "info" to the head of the
nested_forall_info linked list. Free the current "info" when done.
Paul Thomas [Sat, 27 Jan 2007 18:23:14 +0000 (18:23 +0000)]
re PR fortran/30407 ([4.1 only] Elemental functions in WHERE assignments wrongly rejected)
2007-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30407
* trans-expr.c (gfc_conv_operator_assign): New function.
* trans.h : Add prototype for gfc_conv_operator_assign.
* trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
a potential operator assignment subroutine. If it is non-NULL
call gfc_conv_operator_assign instead of the first assignment.
( gfc_trans_where_2): In the case of an operator assignment,
extract the argument expressions from the code for the
subroutine call and pass the symbol to gfc_trans_where_assign.
resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
gfc_resolve_forall_body): Resolve the subroutine call for
operator assignments.
2007-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30407
* gfortran.dg/where_operator_assign_1.f90: New test.
* gfortran.dg/where_operator_assign_2.f90: New test.
* gfortran.dg/where_operator_assign_3.f90: New test.
Keith Seitz [Sat, 27 Jan 2007 16:34:32 +0000 (16:34 +0000)]
* gnu/classpath/jdwp/natVMVirtualMachine.cc
(getAllClassMethods): Move error handling to ...
(throw_jvmti_error): ... here.
(jdwpClassPrepareCB): New function.
(jdwpThreadEndCB): New function.
(jdwpThreadStartCB): New function.
(jdwpVMDeathCB): New function.
(jdwpVMInitCB): Define and enable callbacks for
ClassPrepare, ThreadEnd, ThreadStart, and VMDeath.
Steven Bosscher [Sat, 27 Jan 2007 14:48:02 +0000 (14:48 +0000)]
tracer.c (rest_of_handle_tracer): We already cleaned up the CFG in tracer() so don't do it here again.
* tracer.c (rest_of_handle_tracer): We already cleaned
up the CFG in tracer() so don't do it here again.
* cfgcleanup.c (rest_of_handle_jump2): Don't repeat
cleanup_cfg here, either. And don't call renumber_insns.
* cfgrtl.c (rtl_verify_flow_info_1): Don't verify that BB_END
and BB_HEAD are in the insn stream here. Instead make sure
that BB_INSN is valid on all insns. Also, do check here that
there are no pending branch predictions...
(rtl_verify_flow_info): ...instead of doing it here. Checks
for BB_END and BB_HEAD moved from rtl_verify_flow_info_1 to
here.
Roger Sayle [Sat, 27 Jan 2007 02:52:37 +0000 (02:52 +0000)]
i386.c (ix86_swap_binary_operands_p): New helper function to simplify/factorize operand order canonicalization.
* config/i386/i386.c (ix86_swap_binary_operands_p): New helper
function to simplify/factorize operand order canonicalization.
(ix86_fixup_binary_operands): Reorganize using the above function.
(ix86_binary_operator_ok): Likewise.
Steven G. Kargl [Fri, 26 Jan 2007 23:36:11 +0000 (23:36 +0000)]
Steven G.
2007-01-26 Steven Bosscher <stevenb.gcc@gmail.com>
Steven G. Kargl <kargl@gcc.gnu,org>
* testsuite/gfortran.dg/backslash_3.f: New test.
* fortran/io.c (next_char): Deal with backslash escaped characters.
Issue warnings in non -std=gnu cases.
* fortran/primary.c (next_string_char): Issue warnings in non
Jakub Jelinek [Fri, 26 Jan 2007 23:15:08 +0000 (00:15 +0100)]
genattrtab.c (struct attr_value_list, [...]): Move to file scope from optimize_attrs.
* genattrtab.c (struct attr_value_list, insn_code_values): Move to
file scope from optimize_attrs.
(simplify_test_exp): If insn_code_values is not NULL, use it to speed
up search.
(optimize_attrs): Clear insn_code_values after freeing it.
Geoffrey Keating [Thu, 25 Jan 2007 20:32:06 +0000 (20:32 +0000)]
re PR target/25127 (internal compiler error: in rs6000_emit_prologue, at config/rs6000/rs6000.c:14039)
2007-01-24 Geoffrey Keating <geoffk@apple.com>
PR 25127
* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
save Altivec registers in an eh_return function.
(compute_vrsave_mask): Likewise.
(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
for saving Altivec registers.
(rs6000_emit_prologue): Don't allocate stack twice in
eh_return function. Correct expected value of altivec_save_offset
when using save_world. Describe save of R0 to stack when using
save_world. Describe stack pointer adjustment when using
save_world. Remove duplicated eh_return parameter register saving.
Update sp_offset variable after save_world.
* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
darwin-world.asm.
(LIB2FUNCS_EXTRA): Add darwin-world.asm.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
implies Altivec.
Keith Seitz [Thu, 25 Jan 2007 18:04:01 +0000 (18:04 +0000)]
jvmti.cc (_Jv_JVMTI_GetMethodName): New function.
* jvmti.cc (_Jv_JVMTI_GetMethodName): New function.
(_Jv_JVMTI_Interface): Define GetMethodName.
* testsuite/libjava.jvmti/getmethodname.java: New file.
* testsuite/libjava.jvmti/natgetmethodname.cc: New file.
* testsuite/libjava.jvmti/getmethodname.out: New file.
Kyle Galloway [Thu, 25 Jan 2007 14:19:05 +0000 (14:19 +0000)]
jvmti-interp.exp: New file.
2007-01-25 Kyle Galloway <kgallowa@redhat.com>
* libjava/testsuite/libjava.jvmti/jvmti-interp.exp: New file.
* libjava/testsuite/libjava.jvmti/interp: New folder.
* libjava/testsuite/lib/libjava.exp (exec_gij): New Method.