* builtins.c (fold_fixed_mathfn): New function.
(fold_builtin_lround, fold_builtin): Use it.
testsuite:
* gcc.dg/torture/builtin-integral-1.c: Reorg and add more cases.
* gcc.dg/torture/builtin-convert-3.c: New test.
From-SVN: r81403
* decl.c (reshape_init): Do not apply TYPE_DOMAIN to a VECTOR_TYPE.
Instead, dig into the representation type to find the array bound.
From-SVN: r81393
PR middle-end/15054
* expr.c (expand_expr_real): Do not call preserve_temp_slots
on a TARGET_EXPR temp.
* function.c (assign_stack_temp_for_type): Set 'keep' flag for
TARGET_EXPR temp slots.
PR middle-end/15054
* g++.dg/opt/pr15054.C: New test.
From-SVN: r81384
2004-05-01 Paolo Bonzini <bonzini@gnu.org>
* simplify-rtx.c (simplify_ternary_operation): When
converting an IF_THEN_ELSE to a relational op, return
correct mode.
From-SVN: r81383
2004-04-20 Andrew Pinski <pinskia@physics.uc.edu>
PR target/11608
* config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
more like the one in config/dbxelf.h.
From-SVN: r81379
* tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
and adjust definition accordingly.
(TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
(TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
* expr.c (store_constructor): Do not access TYPE_DOMAIN of a
VECTOR_TYPE.
From-SVN: r81373
PR c++/14587
* config/i386/winnt.c (associated_type): Look for attributes on
the TYPE_MAIN_VARIANT of *this.
* attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
apply the attributes to the variants.
From-SVN: r81369
(DWARF2_DEBUGGING_INFO): Define to enable.
(DBX_REGISTER_NUMBER): Define to use the svr4 register map for
DWARF2.
* configure.ac (Target-specific assembler checks)
<i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
relocs.
* configure: Regenerate.
* config.in: Likewise.
* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
(ASM_OUPUT_DWARF_OFFSET): Define.
From-SVN: r81359
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
additional option "-Wmissing-prototypes" for compiling C sources.
Print actual filename for pass/fail rather than $name.c.
* testsuite/libjava.jni/PR15133.java: New testcase file.
* testsuite/libjava.jni/PR15133.c: Likewise.
* testsuite/libjava.jni/PR15133.out: Likewise.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r81358
Fixes PR java/15133
* gjavah.c (struct method_name): Add member is_native.
(overloaded_jni_method_exists_p): Match candidate method only if
it is native.
(print_method_info): Initialise is_native flag from the method's
access flags.
From-SVN: r81357
* class.c (build_simple_base_path): New fn.
(build_base_path): Use it for non-virtual base references.
(layout_class_type): Change base fields to their real type
after layout is done.
* cp-tree.h (IS_FAKE_BASE_TYPE): New macro.
* cp-lang.c (cxx_get_alias_set): Use it.
From-SVN: r81349
2004-04-29 Andreas Krebbel <krebbel1@de.ibm.com>
ChangeLog:
* config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
(s390_emit_call): New function prototype added.
(s390_tls_get_offset): Function removed.
* config/s390/s390.c (s390_function_ok_for_sibcall,
s390_call_saved_register_used_p): New functions.
(TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
(s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
(s390_emit_tls_call_insn): New function.
(legitimize_tls_address): Call s390_emit_tls_call_insn instead of
emit_call_insn.
(s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
(s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
added.
* config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
register number used to hold the target address for sibcalls.
* config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
New expanders.
("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
"*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
Expanders removed.
("call", "call_value"): Call s390_emit_call to emit the call patterns.
("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
"*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
("epilogue"): Changed the call to s390_emit_epilogue to use the
new parameter.
testsuite/ChangeLog:
* gcc.dg/sibcall-3.c: Delete s390 from expected fail list.
* gcc.dg/sibcall-4.c: Likewise.
* gcc.dg/sibcall-6.c: Enable s390 as test platform.
From-SVN: r81347
* expr.c (store_constructor): SIZE operand is now in bits; CLEARED
less than zero now means emitted CLOBBER already.
(store_constructor_field, expand_expr_real): Reflect above changes.
From-SVN: r81335
2004-04-30 Paolo Bonzini <bonzini@gnu.org>
* config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
vec_sububs.
[__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
duplicates.
From-SVN: r81331
* configure.ac (--with-as): Abort if user-supplied assembler
cannot be executed.
(--with-ld): Likewise for the linker.
* configure: Regenerate.
From-SVN: r81316
2004-04-29 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/rs6000-power2-1.c: Change the options to be more correct.
* gcc.dg/rs6000-power2-2.c: Change the options to be more correct.
Change the asm registers to be in form of frN instead of fN.
From-SVN: r81303