2008-11-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/37988
* io.c (enum format_token): For readability replace FMT_POS with FMT_T,
FMT_TL, and FMT_TR. (format_lex): Use new enumerators. (check_format):
Add check for missing positive integer.
From-SVN: r141879
2008-10-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38033
* trans-array.c (gfc_trans_create_temp_array): Stabilize the
'to' expression.
(gfc_conv_loop_setup): Use the end expression for the loop 'to'
if it is available.
2008-10-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38033
* gfortran.dg/array_section_2.f90: New test.
From-SVN: r141861
2008-11-14 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/37397
* ira-int.h (struct ira_allocno): New member bad_spill_p.
(ALLOCNO_BAD_SPILL_P): New macro.
* ira-color.c (push_allocnos_to_stack): Check ALLOCNO_BAD_SPILL_P.
* ira-build.c (ira_create_allocno): Initialize
ALLOCNO_BAD_SPILL_P.
(create_cap_allocno, propagate_allocno_info,
remove_unnecessary_allocnos): Set up or update
ALLOCNO_BAD_SPILL_P.
(update_bad_spill_attribute): New function.
(ira_build): Call it.
* ira-costs.c (record_reg_classes): Set up ALLOCNO_BAD_SPILL_P.
From-SVN: r141860
PR tree-optimization/38104
* gimplify.c (gimple_regimplify_operands): Add referenced vars
before calling mark_symbols_for_renaming, not after it.
* g++.dg/tree-ssa/pr38104.C: New test.
From-SVN: r141857
2008-11-14 Maxim Kuvyrkov <maxim@codesourcery.com>
Andrew Stubbs <ams@codesourcery.com>
Gunnar Von Boehn <gunnar@genesi-usa.com>
gcc/
PR target/36134
* config/m68k/m68k.md (addsi3_5200): Add a new alternative preferring
the shorter LEA insn over ADD.L where possible.
gcc/testsuite/
PR target/36134
* gcc.target/m68k/pr36134.c: New test.
Co-Authored-By: Andrew Stubbs <ams@codesourcery.com>
Co-Authored-By: Gunnar Von Boehn <gunnar@genesi-usa.com>
From-SVN: r141853
2008-11-14 Thomas Schwinge <tschwinge@gnu.org>
* configure.ac (gcc_cv_libc_provides_ssp): Also consider GNU/Hurd
systems, which are assumend to always provide SSP-support in glibc.
* configure: Regenerate.
From-SVN: r141851
2008-11-14 Thomas Schwinge <tschwinge@gnu.org>
* configure.ac (gcc_cv_libc_provides_ssp): Also consider GNU/kFreeBSD,
GNU/kNetBSD systems in the `*-*-linux*' case.
* configure: Regenerate.
From-SVN: r141850
PR middle-end/36125
* function.c (gimplify_parameters): For callee copies parameters,
move TREE_ADDRESSABLE flag from the PARM_DECL to the local copy.
* gcc.c-torture/compile/pr36125.c: New test.
From-SVN: r141848
2008-11-13 Thomas Schwinge <tschwinge@gnu.org>
PR target/28102
* config.gcc (*-*-gnu*): Move Alpha parts into the `alpha*-*-gnu*', x86
parts into the `i[34567]86-*-linux*' and parts that are independent of
the processor architecture into the `*-*-linux*' cases.
(*-*-linux*): Consider `linux.opt' only for Linux-based configurations.
* config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Redefine.
(TARGET_OS_CPP_BUILTINS, LINK_SPEC): Don't redefine.
[TARGET_LIBC_PROVIDES_SSP] (TARGET_THREAD_SSP_OFFSET): Undefine.
* config/gnu.h (NO_IMPLICIT_EXTERN_C): Don't redefine.
(HURD_TARGET_OS_CPP_BUILTINS): Don't define, but instead...
(LINUX_TARGET_OS_CPP_BUILTINS): Redefine.
From-SVN: r141838
PR c++/27017
* dwarf2out.c (prune_unused_types_walk_local_classes): New function.
(prune_unused_types_walk): Call it for non-perennial local classes.
Set die_mark to 2 if recursing on children. If die_mark is 1 on
entry, just set it to 2 and recurse on children, don't walk attributes
again.
* g++.dg/debug/dwarf2/localclass1.C: New test.
* g++.dg/debug/dwarf2/localclass2.C: New test.
From-SVN: r141829
2008-11-13 Paul Brook <paul@codesourcery.com>
gcc/
* doc/invoke.texi: Document --fix-cortex-m3.
* config/arm/arm.c (arm_override_options): Set fix_cm3_ldrd if
Cortex-M3 cpu is selected.
(output_move_double): Avoid overlapping base register and first
destination register when fix_cm3_ldrd.
* config/arm/arm.opt: Add mfix-cortex-m3-ldrd.
From-SVN: r141822
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
Turn Ada Pure on subprograms back into GCC CONST when eh constructs
are explicit to the middle-end. Tidy.
testsuite/
* gnat.dg/test_raise_from_pure.adb: Adjust to match revised intent.
* gnat.dg/wrap_raise_from_pure.ad[bs]: Remove.
* gnat.dg/handle_raise_from_pure.adb: New test.
From-SVN: r141821
PR debug/27574
* cgraph.h: New abstract_and_needed member to struct cgraph_node.
* cgraphunit.c (cgraph_analyze_functions): Flag abstract functions
- which clones are reachable - as "abstract and needed".
* cgraph.c (cgraph_release_function_body): If a node is
"abstract and needed", do not release its DECL_INITIAL() content
that will be needed to emit debug info.
From-SVN: r141819
PR c++/36478
Revert:
2007-05-07 Mike Stump <mrs@apple.com>
* doc/invoke.texi (Warning Options): Document that -Wempty-body
also checks for and while statements in C++.
Revert:
2007-05-07 Mike Stump <mrs@apple.com>
* parser.c (check_empty_body): Add.
(cp_parser_iteration_statement): Add call to check_empty_body.
* g++.old-deja/g++.mike/empty.C: Remove.
From-SVN: r141810
gcc/ChangeLog:
2008-11-12 Dodji Seketeli <dodji@redhat.com>
PR debug/27574
* cgraph.h: New abstract_and_needed member to struct cgraph_node.
* cgraphunit.c (cgraph_analyze_functions): Flag abstract functions
- which clones are reachable - as "abstract and needed".
* cgraph.c (cgraph_release_function_body): If a node is "abstract and needed",
do not release its DECL_INITIAL() content because that will be needed to emit
debug info.
gcc/testsuite/ChangeLog:
2008-11-12 Dodji Seketeli <dodji@redhat.com>
PR debug/27574
* g++.dg/debug/dwarf2/local-var-in-contructor.C: New test.
From-SVN: r141807
PR target/27880
* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Use this macro
to set HAVE_GETIPINFO.
* aclocal.m4: Include ../config/unwind_ipinfo.m4.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r141805
PR target/27880
* config/unwind_ipinfo.m4 (GCC_CHECK_UNWIND_GETIPINFO): Change from
link test to target based test.
* libstdc++/v3/configure.ac: Move call to GCC_CHECK_UNWIND_GETIPINFO.
* libstdc++/v3/configure: Regenerate.
* libjava/configure: Regenerate.
From-SVN: r141804
PR libgcj/33764
libjava/
* configure.ac (INSTALL_BINARIES): New AM_CONDITIONAL.
* Makefile.am: If not INSTALL_BINARIES, use noinst_PROGRAMS
instead of bin_PROGRAMS for binaries.
* configure: Regenerated.
* Makefile.in: Regenerated.
libjava/classpath/
* configure.ac (INSTALL_BINARIES): New AM_CONDITIONAL.
* tools/Makefile.am: If not INSTALL_BINARIES, use noinst_PROGRAMS
instead of bin_PROGRAMS for binaries.
* configure: Regenerated.
* tools/Makefile.in: Regenerated.
From-SVN: r141801