2012-11-24 Matthias Klose <doko@ubuntu.com>
* gcc/config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use
x86_64-linux-gnux32 as multiarch name for x32.
From-SVN: r193779
2012-11-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55314
* resolve.c (resolve_allocate_deallocate): Compare all
subscripts when deciding if to reject a (de)allocate
statement.
2012-11-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55314
* gfortran.dg/allocate_error_4.f90: New test.
From-SVN: r193778
2012-11-23 Tobias Burnus <burnus@net-b.de>
Joseph Myers <joseph@codesourcery.com>
* quadmath-rounding-mode.h: New.
* printf/fpioconst.c: Update from GLIBC. Fix strtod rounding.
* printf/fpioconst.h: Ditto.
* printf/printf_fp.c (__quadmath_printf_fp): Update from GLIBC.
Make printf respect the rounding mode for decimal output.
* printf/printf_fphex.c (__quadmath_printf_fphex): Update from
GLIBC. Make printf respect the rounding mode for hex output.
* strtod/strtod_l.c: Update from GLIBC. Make strtod respect the
rounding mode. Fix strtod handling of underflow.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r193770
PR rtl-optimization/55388
* alias.c (nonoverlapping_component_refs_p): Handle bitfields.
* emit-rtl.c (adjust_address_1): Deal with VOIDmode early.
* expmed.c (store_bit_field): Turn the call to adjust_address
into a call to adjust_bitfield_address_size.
From-SVN: r193760
* gcc-interface/decl.c (components_need_strict_alignment): New.
(components_to_record): Do not pack the variants if one of the fields
needs strict alignment. Likewise for the variant part as a whole.
Specify the position of the variants even if the size isn't specified,
but do not specify the size of the variant part in this case.
From-SVN: r193750
* predict.c (maybe_hot_count_p): Use threshold from profiled working
set instead of hard limit.
(cgraph_maybe_hot_edge_p): Invoke maybe_hot_count_p() instead of
directly checking limit.
* params.def (HOT_BB_COUNT_FRACTION): Remove.
(HOT_BB_COUNT_WS_PERMILLE): New parameter.
* invoke.texi (hot-bb-count-fraction): Remove.
(hot-bb-count-ws-permille): Document.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r193747
* config/i386/i386.md (FPCMP): New mode iterator.
(unord): New mode attribute.
(*cmp<mode>_0_i387): Macroize insn from *cmpfp_0
using X87MODEF mode iterator.
(*cmp<mode>_0_cc_i387): Macroize insn from *cmpfp_0_cc using
X87MODEF mode iterator.
(*cmpxf_i387): Rename from *cmpfp_xf.
(*cmpxf_cc_i387): Rename from *cmpfp_xf_cc.
(*cmp<mode>_i387): Rename from *cmpfp_<mode>.
(*cmp<mode>_cc_i387): Rename from *cmpfp_<mode>_cc.
(*cmpu<mode>_i387): Macroize insn from *cmpfp_u using X87MODEF
mode iterator.
(*cmpu<mode>_cc_i387): Macroize insn from *cmpfp_u_cc using X87MODEF
mode iterator.
(*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Macroize_insn from
*cmpfp_<mode> using X87MODEF mode iterator.
(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Macroize_insn from
*cmpfp_<mode>_cc using X87MODEF mode iterator.
(*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
*cmpfp_i{,u}_mixed using FPCMP and MODEF mode iterators.
(*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
*cmpfp_i{,u}_sse using FPCMP and MODEF mode iterators.
(*cmpi<CCFPCMP:unord><X87MODEF:mode>_i387): Macroize insn from
*cmpfp_i{,u}_387 using FPCMP and X87MODEF mode iterators.
From-SVN: r193731
PR c++/55137
* semantics.c (verify_constant): Track overflow separately.
(reduced_constant_expression_p): Don't check it here.
(cxx_eval_constant_expression): Check it on CSTs.
(cxx_eval_outermost_constant_expr): Treat overflows as non-constant
at this point, but still return the folded version.
(potential_constant_expression_1): Don't check overflow.
From-SVN: r193727
* gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro. Defined
with STATIC_LIBASAN_LIBS.
(LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
* config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.
From-SVN: r193725
libgcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
_divqq_helper.
* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
(__mulha3, __mulsa3)
(__divqq3, __divha3, __divsa3): Adjust to new position of
decimal point of signed accum types.
(__mulusa3_round): New function.
(__mulusa3): Use it.
(__divqq_helper): New function.
(__udivuqq3): Use it.
gcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
(TA): Move decimal point one bit to the right.
* config/avr/avr.c (avr_out_fract): Rewrite.
From-SVN: r193721
2012-11-22 David S. Miller <davem@davemloft.net>
Tobias Burnus <burnus@net-b.de>
Joseph Myers <joseph@codesourcery.com>
* math/atanq.c (atanq): Update from GLIBC. Handle tiny and
very large arguments properly.
* math/j0q.c (y0q): Update from GLIBC. Avoid arithmetic
underflow when 'x' is very small.
* math/j1q.c (y1q): Ditto.
* math/log1pq.c (log1pq): Update from GLIBC. Saturate
nonzero exponents with absolute value below 0x1p-128 to
+/- 0x1p-128.
* math/powq.c (powq): Update from GLIBC. If xm1 is
smaller than LDBL_EPSILON/2.0L, just return xm1.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r193716