2005-11-28 Steven G. Kargl <kargls@comcast.net>
PR libgfortran/25149
* intrinsics/abort.c: Add external abort_ to allow linking when
invoking -std=f95 in testsuite.
From-SVN: r107655
* expmed.c (div_cost): Replace with...
(sdiv_cost, udiv_cost): New.
(init_expmed): Initialize sdiv_cost and udiv_cost, not div_cost.
Rename the div and mod fields, used to initialize sdiv_pow2_cheap
and smod_pow2_cheap, to sdiv_32 and smod_32 to avoid confusion.
(expand_divmod): Replace use of div_cost with either sdiv_cost
or udiv_cost depending upon the signedness of the operation.
From-SVN: r107641
* g++.dg/opt/range-test-1.C: Prevent re-inclusion of system
headers.
* g++.old-deja/g++.law/profile1.C: No longer expect fail on OSR5.
* gcc.c-torture/compile/20000804-1.c: Skip if using -fPIC on X86.
* gcc.target/i386/asm-3.c: Ditto.
* gcc.target/i386/clobbers.c: Ditto.
* gcc.dg/tree-ssa/ssa-dce-2.c: Make t() static and prototype it.
* gcc.target/i386/cmov1.c: Make magic* static so it matches the
test regexp.
* gcc.target/i386/mul.c: Ditto.
* gcc.target/i386/ssetype-1.c: Ditto.
* gcc.dg/20040813-1.c: Skip on SVR5 systems.
* gcc.c-torture/execute/builtins/strlen-3.c: Declare variables as
static so the test works with -fPIC mode too. Based on comment in
PR19231 by Pinski.
* gcc.dg/nest.c: No longer fail on SCO systems as it has -pg again.
From-SVN: r107608
* config/fp-bit.h (LSHIFT): Take shift count parameter.
* config/fp-bit.c (_fpadd_parts): Shift in one go instead of one
bit at a time.
From-SVN: r107602
* config/bfin/bfin.c (bfin_secondary_reload): Renamed from
secondary_input_reload_class, made static. Adapt to new
infrastructure.
(secondary_output_reload_class): Delete.
(TARGET_SECONDARY_RELOAD): New macro.
* config/bfin/bfin.h (SECONDARY_INPUT_RELOAD_CLASS,
SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
From-SVN: r107601
.: PR c++/21166
* c-decl.c (finish_struct): Only set DECL_PACKED on a field
when its natural alignment is > BITS_PER_UNIT.
* stor-layout.c (finalize_type_size): Revert my patch of 2005-08-08.
* c-common.c (handle_packed_attribute): Ignore packing on a field
whose type is naturally char aligned.
cp:
PR c++/21166
* class.c (check_field_decls): Only set DECL_PACKED on a field
when its natural alignment is > BITS_PER_UNIT.
From-SVN: r107599
PR middle-end/20219
* fold-const.c (fold binary) <RDIV_EXPR>: Optimize
sin(x)/tan(x) as cos(x) and tan(x)/sin(x) as 1.0/cos(x)
when flag_unsafe_math_optimizations is set and
we don't care about NaNs or Infinities.
Move x/expN(y) and x/pow(y,z) transformation into common
flag_unsafe_math_optimizations section.
testsuite/
* gcc.dg/builtins-20.c: Add checks for sin(x)/tan(x) and
tan(x)/sin(x) transformations.
Co-Authored-By: Uros Bizjak <uros@kss-loka.si>
From-SVN: r107597
* doc/invoke.texi (powerpc msdata-data): Static data doesn't go in
small data sections.
* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Make global.
* config/rs6000/rs6000-protos.h: (rs6000_elf_in_small_data_p): Declare.
* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Rename to..
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): ..this, adding extra parm. Don't
output locals to sbss if !rs6000_elf_in_small_data_p.
(ASM_OUTPUT_ALIGNED_BSS): Adjust for above.
From-SVN: r107592
PR target/24997
* config/rs6000/rs6000.c (legitimate_indexed_address_p): Allow pattern
generated by reload.
* config/rs6000/predicates.md (indexed_or_indirect_operand): Use
indexed_or_indirect_address.
(indexed_or_indirect_address): Don't test for base reg. Call
address_operand last. Make it a special predicate.
From-SVN: r107591
2005-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25109
* io/unit.c (init_units): Set default flag to BLANK_NULL per
requirement of F95 standard. Set PAD_YES for stdin.
From-SVN: r107588
2005-11-27 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24575
* fold-const.c (negate_expr_p): Add case for signed divides if overflow
is undefined.
(negate_expr): Likewise.
2005-11-27 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24575
* gcc.dg/tree-ssa/divide-3.c: New test.
* gcc.dg/tree-ssa/divide-4.c: New test.
From-SVN: r107575
2005-11-27 Bernhard Fischer <rep.nop@aon.at>
* gfortran.h: remove superfluous whitespace and use GNU
comment-style for the documentation of backend_decl.
From-SVN: r107571
PR fortran/24917
* primary.c (match_boz_constant): Implement postfix BOZ constants;
(match_string_constant): Peek for b, o, z, and x
* gfortran.dg/boz_6.f90: New test.
From-SVN: r107568
PR fortran/23912
* iresolve.c (gfc_resolve_dim, gfc_resolve_mod,
gfc_resolve_modulo): When arguments have different kinds, fold
the lower one to the largest kind.
* check.c (gfc_check_a_p): Arguments of different kinds is not
a hard error, but an extension.
* simplify.c (gfc_simplify_dim, gfc_simplify_mod,
gfc_simplify_modulo): When arguments have different kinds, fold
the lower one to the largest kind.
* gfortran.dg/modulo_1.f90: New test.
From-SVN: r107566
PR libfortran/24919
* io/list_read.c (eat_separator, finish_separator,
read_character): Handle CRLF separators correctly during reads.
(nml_query): Use the HAVE_CRLF macro to print adequate newlines.
* io/io.h (st_parameter_dt): Add comment about the possible
values for sf_seen_eor.
* io/unix.c (tempfile, regular_file): HAVE_CRLF doesn't imply
that O_BINARY is defined, so we add that condition.
(stream_at_bof): Fix typo in comment.
* io/transfer.c (read_sf): Handle correctly CRLF, setting
sf_seen_eor value to 2 instead of 1.
(formatted_transfer_scalar): Use the sf_seen_eor value to
handle CRLF the right way.
* io/write.c (nml_write_obj, namelist_write): Use CRLF as newline
when HAVE_CRLF is defined.
* gfortran.dg/ftell_1.f90: Modify testcase so that it doesn't
fail on CRLF platforms.
* gfortran.dg/ftell_2.f90: Likewise.
From-SVN: r107563
2005-11-26 Eric Christopher <echristo@apple.com>
* config/i386/i386.md (*zero_extendqihi2_movzbw): Avoid partial
register stalls by zero extending to the full register.
From-SVN: r107559