* config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
(NON_QI_REG_P): Use IN_RANGE.
(REX_INT_REGNO_P): Use IN_RANGE.
(FP_REGNO_P): Use IN_RANGE.
(SSE_REGNO_P): Use IN_RANGE.
(REX_SSE_REGNO_P): Use IN_RANGE.
(MMX_REGNO_P): Use IN_RANGE.
(STACK_REGNO_P): New macro.
(STACK_REG_P): Use STACK_REGNO_P.
(NON_STACK_REG_P): Use STACK_REGNO_P.
(REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
(REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
(REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
(REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
(HARD_REGNO_RENAME_OK): Use !IN_RANGE.
From-SVN: r118109
* except.h (output_function_exception_table): Add 'const char*' param.
* except.c (switch_to_exception_section): Add 'const char*' param.
If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
and flag_function_sections is set, use a function-specific section.
(output_function_exception_table): Add 'const char*' param.
Adjust call to switch_to_exception_section.
* final.c (rest_of_handle_final): Adjust calls to
output_function_exception_table.
* configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
* config.in: Regenerate.
* configure: Likewise.
From-SVN: r118107
2006-10-28 Richard Guenther <rguenther@suse.de>
PR middle-end/26899
* fold-const.c (maybe_canonicalize_comparison_1): Helper
for maybe_canonicalize_comparison.
(maybe_canonicalize_comparison): New function for canonicalizing
comparison trees.
(fold_comparison): Call it to canonicalize comparisons with
constants involved.
* gcc.dg/tree-ssa/pr26899.c: New testcase.
From-SVN: r118106
PR target/29377
* config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
argument to HOST_WIDE_INT. Update function prototype.
(round_frame_size): Change return type to HOST_WIDE_INT. Change
"size" argument to HOST_WIDE_INT. Update function prototype.
From-SVN: r118102
* include/java-stack.h (ncodeMap): Declare.
(_Jv_StackTrace): Make _Jv_GetMethodDeclaringClass friend.
* java/lang/Class.h (_Jv_GetMethodDeclaringClass): Declare.
* java/lang/natClass.cc (_Jv_GetMethodDeclaringClass): New
function.
* stacktrace.cc (ncodeMap): Redefine from file global to global
for class _Jv_StackTrace.
(_Jv_StackTrace::UpdateNCodeMap): Add interpreted classes, too,
so that _Jv_GetMethodDeclaringClass can find them all.
(_Jv_StackTrace::ClassForFrame): Exclude interpreted classes.
* jvmti.cc (_Jv_JVMTI_GetMethodDeclaringClass): New function.
(_Jv_JVMTI_Interface): Define GetMethodDeclaringClass function.
From-SVN: r118100
* builtins.c (fold_builtin): Don't generate NOP_EXPR that is going
to be thrown away soon when IGNORE is set.
* tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument
indicating when return value shall not be computed.
* gimplify.c (internal_get_tmp_var): Avoid random tree sharing.
From-SVN: r118091
2006-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/27954 Fix type in changelog, pr number
* gfortran.dg/error_recovery_2.f90: New test.
From-SVN: r118086
2006-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/27954
* decl.c (gfc_free_data_all): New function to free all data structures
after errors in DATA statements and declarations.
(top_var_list): Use new function.(top_val_list): Use new function.
(gfc_match_data_decl): Use new function.
* misc.c (gfc_typename): Fixed incorrect function name in error text.
From-SVN: r118084
* config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
__DYNAMIC__ from here back to ...
* config/darwin.h (CPP_SPEC): ... here.
Radar 4804385
From-SVN: r118082
* ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
when choosing the minimum heapsize.
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
From-SVN: r118070
* gcc/unwind-dw2.h: Move cfa-related variables into
struct frame_state_reg_info to ensure that the CFA is properly
handled when executing DW_CFA_{remember,restore}_state.
* gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h,
gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h
gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h
gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h
gcc/config/rs6000/linux-unwind.h,
gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h,
gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h:
Modify to use new cfa_* fields.
From-SVN: r118068
2006-10-26 Richard Guenther <rguenther@suse.de>
* gcc.target/i386/i386.exp: Use glob, not find to collect
tests. Avoids recursing into subdirectories.
* gcc.target/i386/math-torture/math-torture.exp: Torture
for interesting ia32 math options.
* gcc.target.i386/math-torture/lrint.c: New testcase.
From-SVN: r118065
2006-10-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29563
* io/io.h (st_parameter_dt): Add new flag at_eof.
* io/list_read.c (next_char): Set flag when EOF and return '\n' to
signal EOR. Check flag on next call and jump out.
* io/unit.c (get_internal_unit): Initialize new flag.
From-SVN: r118059
2006-10-25 Andreas Tobler <a.tobler@schweiz.org>
* testsuite/libjava.jvmti/natevents.cc (do_callback_arg_tests): Replace
formatting modifiers %p with %#llx and cast the arguments.
From-SVN: r118040
2006-10-25 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (intra_create_variable_infos):
Don't recreate nonlocal_all if it already exists.
From-SVN: r118031
* optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
(remainder_optab): Define corresponding macro.
(drem_optab): Remove.
* optabs.c (init_optabs): Initialize remainder_optab. Remove
drem_optab initialization.
* genopinit.c (optabs): Implement remainder_optab using
remainder?f3 patterns. Remove drem_optab.
* builtins.c (expand_builtin_mathfn_2): Handle
BUILT_IN_REMAINDER{,F,L} using remainder_optab.
(expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
expand_builtin_mathfn_2.
(expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
depend on flag_unsafe_math_optimizations.
* config/i386/i386.md ("remaindersf3", "remainderdf3")
("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
Do not depend on flag_unsafe_math_optimizations. Use
truncxf?f expander instead of truncxf?f_i387_noop.
("fpremxf4", "fprem1xf4"): Do not depend on
flag_unsafe_math_optimizations.
("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
flag_unsafe_math_optimizations. Use truncxf?f expander
instead of truncxf?f_i387_noop.
* doc/md.texi (fmod, remainder): Document standard named pattern.
testsuite/ChangeLog:
* gcc.dg/builtins-40.c: Also check remainder(), remainderf()
and remainderl() built-in functions. Remove -ffast-math from
dg-options.
From-SVN: r118024
* gcc.dg/torture/builtin-math-2.c: Add checks for asin, acos,
acosh and atanh.
* gcc.dg/torture/builtin-math-3.c (TESTIT): Append 'F' and 'L'
floating point modifiers to arguments passed to float and long
double functions respectively. Update all callers to use floating
point numbers, not integers. Add tests for exp, exp2 and
exp10/pow10.
From-SVN: r118012