2006-10-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/array (array<>::_M_at): New.
(array<>::at): Fix off-by-one bug, use the above.
* testsuite/tr1/6_containers/array/element_access/
at_out_of_range.cc: Adjust.
* include/tr1/array (class array<>): Remove non-conforming default
for the second parameter.
* include/ext/array_allocator.h: Adjust.
* include/tr1/array (array<>::front, array<>::back): Do not return
a reference to memory not belonging to the array when _Nm == 0.
From-SVN: r118114
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/29625
* io/transfer.c (formatted_transfer_scalar): Allow binary edit
descriptors for real variables; give error for BOZ edit
descriptor for non-integers when using -std=f*.
From-SVN: r118111
* 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