2006-01-30 Marcin Dalecki <martin@dalecki.de>
* expr.h (expand_normal): new inline function.
* builtins.c: use it, use EXPAND_NORMAL explicitely.
* dojump.c: use it.
* dwarf2out.c: use it.
* expr.c: use it.
* calls.c: use it.
* expmed.c: use it.
* except.c: use it.
* config/sparc/sparc.c: use it.
* config/i386/i386.c: use it.
* config/rs6000/rs6000.c: use it.
* config/arm/arm.c: use it.
* config/mips/mips.c: use it.
* stmt.c: use it, use EXPAND_NORMAL explicitely.
From-SVN: r110428
PR target/26018
* config/s390/s390.c (struct machine_function): New flag
decomposed_literal_pool_addresses_ok_p.
(s390_reorg): Set it before final stage of literal pool transforms.
(s390_decompose_address): Only accept displacements of the form
(minus (label_ref ...) (label_ref ...)) if that flag is set.
From-SVN: r110422
fortran/
2005-01-30 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/24266
* trans-io.c (set_internal_unit): Check the rank of the
expression node itself instead of its symbol.
testsuite/
2005-01-30 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/24266
* gfortran.dg/arrayio_derived_2.f90: New.
From-SVN: r110412
* include/java-interp.h (insn_index): New declaration.
(num_insn_slots): New private variable.
(get_line_table): New declaration.
* interpret.cc (insn_index): New function.
(get_line_table): New function.
From-SVN: r110411
gcc/
2006-01-30 Carlos O'Donell <carlos@codesourcery.com>
* optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias
the comparison routine return.
gcc/testsuite/
2006-01-30 Carlos O'Donell <carlos@codesourcery.com>
* gcc.dg/unsigned-long-compare.c: New test.
From-SVN: r110409
PR testsuite/25318
* lib/target-supports.exp (check_effective_target_freorder):
Check to see if target supports -freorder-blocks-and-partition.
* g++.dg/other/pr22003.C: Use "dg-require-effective-target freorder"
instead of "dg-require-named-sections".
From-SVN: r110405
2006-01-30 Paolo Carlini <pcarlini@suse.de>
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Do the <inttypes.h>
checks only if the <stdint.h> checks are successful.
* configure: Regenerate.
From-SVN: r110399
PR target/14798:
gcc:
* sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
(pragma_trap, pragma_nosave_low_regs): Likewise.
(current_function_anonymous_args): Likewise.
(sh_deferred_function_attributes): New variable.
(sh_deferred_function_attributes_tail): Likewise.
(print_operand): For '@', look up trap_exit attribute.
(calc_live_regs): Look up trapa_handler attribute. For trapa
handlers, save/restore fpscr, but don't do any other
interrupt-specific saves.
Don't save r0..r7 if the nosave_low_regs attribute is in effect.
Fix check for partially saved registers to check for SHmedia.
(sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
(sh_output_function_epilogue): Don't clear any of the removed
variables.
(sh_insert_attributes): Don't check pragma_interrupt.
Insert deferred attributes. Check that interrupt attribute is
present for other attributes that require its presence.
(sh_attribute_table): Add new attributes trapa_handler and
nosave_low_regs.
(sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
Don't check for pragma_interrupt. Don't store argument.
* sh.h (pragma_interrupt, sp_switch): Don't declare.
(sh_deferred_function_attributes): Declare.
(sh_deferred_function_attributes_tail): Likewise.
* sh.md (sp_switch_1): Add operand. Change generator caller.
(sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
(*return_i): Don't use when trap_exit attribute is in effect.
(*return_trapa): New insn pattern.
* sh-c.c: New file.
* config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
setting c_target_objs and cxx_target_objs.
* t-sh: Add rule for sh-c.o.
gcc/testsuite:
* gcc.dg/pragma-isr.c: Added target sh[1234ble]*-*-*.
* gcc.dg/pragma-isr2.c, gcc.dg/pragma-isr-trapa.c: New tests.
* gcc.dg/pragma-isr-trapa2.c: Likewise.
* gcc.dg/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.dg/pragma-isr-trap_exit.c: Likewise.
* gcc.dg/attr-isr.c, gcc.dg/attr-isr-trapa.c: Likewise.
* gcc.dg/attr-isr-trap_exit.c: Likewise.
* gcc.dg/attr-isr-nosave_low_regs.c: Likewise.
From-SVN: r110398
2005-11-09 Eric Botcazou <ebotcazou@adacore.com>
* tree.c (build_qualified_type): Chain the new type to the original
type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
a POINTER_TYPE or a REFERENCE_TYPE respectively.
(build_pointer_type_for_mode): Only return unqualified types.
(build_reference_type_for_mode): Likewise.
From-SVN: r110382
* configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported.
* Makefile.in (CXX_COMPAT_WARN): Define.
* configure: Regenerate.
cp/
* Make-lang.in (cp-warn): Include CXX_COMPAT_WARN.
* repo.c (extract_string, afgets): Use cast when converting from
void *.
From-SVN: r110380
2006-01-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/18578
PR fortran/18579
PR fortran/20857
PR fortran/20885
* interface.c (compare_actual_formal): Error for INTENT(OUT or INOUT)
if actual argument is not a variable.
2006-01-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/18578
PR fortran/18579
PR fortran/20857
PR fortran/20885
* gfortran.dg/intent_out_1.f90: New test.
From-SVN: r110376
2006-01-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/17911
* expr.c (gfc_check_assign, gfc_check_pointer_assign): Emit error if
the lvalue is a use associated procedure.
PR fortran/20895
PR fortran/25030
* expr.c (gfc_check_pointer_assign): Emit error if lvalue and rvalue
character lengths are not the same. Use gfc_dep_compare_expr for the
comparison.
* gfortran.h: Add prototype for gfc_dep_compare_expr.
* dependency.h: Remove prototype for gfc_dep_compare_expr.
2006-01-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/17911
* gfortran.dg/procedure_lvalue.f90: New test.
PR fortran/20895
PR fortran/25030
* gfortran.dg/char_pointer_assign_2.f90: New test.
* gfortran.dg/char_result_1.f90: Correct unequal charlen pointer
assignment to be consistent with standard.
* gfortran.dg/char_result_2.f90: The same.
* gfortran.dg/char_result_8.f90: The same.
From-SVN: r110365
gcc:
* c.opt: Add -W(no-)overlength-strings.
* doc/invoke.texi: Document it.
* c-opts.c (c_common_handle_option): -pedantic implies
-Woverlength-strings, if not explicitly disabled already.
(c_common_post_options): -Woverlength-strings defaults to off, and
is always off for C++.
* c-common.c (fix_string_type): Issue warning about strings longer
than is portable only if warn_overlength_strings. Rearrange code
a little for clarity.
* configure.in: Check for -Wno-overlength-strings as well before
enabling -pedantic in stage 1.
* Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings.
(gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete.
* genconditions.c (write_header, write_one_condition)
(write_conditions, write_writer): Consolidate very long strings
that were broken up to fit in C89 portable limit. Don't use
printf when fputs will do.
gcc/testsuite:
* gcc.dg/Woverlength-strings.c
* gcc.dg/Woverlength-strings-pedantic-c89.c
* gcc.dg/Woverlength-strings-pedantic-c89-no.c
* gcc.dg/Woverlength-strings-pedantic-c99.c
* gcc.dg/Woverlength-strings-pedantic-c99-no.c: New tests.
==================================================================
From-SVN: r110360
* integrate.h: Remove the prototype for
copy_decl_for_inlining.
* rtl.h: Remove the prototype for mark_constant_function.
* tree-vectorizer.h: Remove the prototype for
vect_strip_conversion.
From-SVN: r110336