PR c++/38348
* c-omp.c (c_finish_omp_for): Only transform pointer
++ or -- into MODIFY_EXPR if second argument is non-NULL.
* g++.dg/gomp/for-19.C: New test.
* testsuite/libgomp.c++/for-6.C: New test.
From-SVN: r142318
PR rtl-optimization/38245
* tree-vrp.c (abs_extent_range): New function.
(extract_range_from_binary_expr): Compute range
for *_DIV_EXPR even if vr1 is VR_VARYING, VR_ANTI_RANGE
or includes zero or if vr1 is VR_RANGE and op0 has some
other range.
* gcc.dg/pr38245-1.c: New test.
* gcc.dg/pr38245-2.c: New test.
From-SVN: r142317
* config/stormy16/stormy16.md (CARRY_REG): New constant.
Replace uses of the "y" register class with direct references to
the CARRY_REG register.
* config/stormy16/stormy16.c: Replace clobbers of a BImode scratch
register with clobbers of the carry register.
(xstormy16_secondary_reload_class): Do not return CARRY_REGS.
(xstormy16_split_cbranch): Remove redundant carry parameter.
(xstormy16_expand_arith): Likewise.
* config/stormy16/stormy16.h (enum reg_class): Remove CARRY_REGS.
(IRA_COVER_CLASSES, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
(CARRY_REGNUM): Define.
* config/stormy16/stormy16-protos.h (xstormy16_split_cbranch):
Update prototype.
(xstormy16_expand_arith): Likewise.
From-SVN: r142309
2008-11-30 Daniel Kraft <d@domob.eu>
PR fortran/37779
* gfortran.h (struct gfc_entry_list): Fixed typo in comment.
* resolve.c (is_illegal_recursion): New method.
(resolve_procedure_expression): Use new is_illegal_recursion instead of
direct check and handle function symbols correctly.
(resolve_actual_arglist): Removed useless recursion check.
(resolve_function): Use is_illegal_recursion instead of direct check.
(resolve_call): Ditto.
2008-11-30 Daniel Kraft <d@domob.eu>
PR fortran/37779
* gfortran.dg/recursive_check_1.f: Changed expected error message to
the more general new one.
* gfortran.dg/recursive_check_2.f90: Ditto.
* gfortran.dg/entry_18.f90: Ditto.
* gfortran.dg/recursive_check_4.f03: Do "the same" check also for
FUNCTIONS, as this is different in details from SUBROUTINES.
* gfortran.dg/recursive_check_6.f03: New test.
From-SVN: r142299
PR target/38287
* config/sparc/sparc.md (divsi3 expander): Remove constraints.
(divsi3_sp32): Add new alternative with 'K' for operand #2.
(cmp_sdiv_cc_set): Factor common string.
(udivsi3_sp32): Add new alternative with 'K' for operand #2.
Add TARGET_V9 case.
(cmp_udiv_cc_set): Factor common string.
From-SVN: r142295
2008-11-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR testsuite/38311
* ssp-2.c: Link with -Wl,-multiply_defined,suppress on darwin.
From-SVN: r142273
PR c++/38233
* init.c (perform_member_init): Fix value-initialization.
(build_value_init_1): Add assert to catch cases that will break
in the gimplifier.
(build_default_init): Remove.
* cp-tree.h: Remove its prototype.
* pt.c (tsubst_expr) [DECL_EXPR]: Use build_value_init for
value-initialization.
From-SVN: r142265
2008-11-27 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (intra_create_variable_infos): Make
a constraint for the static chain parameter.
From-SVN: r142242
* config/mips/mips.md (clear_hazard): Rename to
clear_hazard_<mode>. Use mode-specific addition.
(clear_cache): Rename gen_clear_hazard to gen_clear_hazard_si
or gen_clear_hazard_di depending on the size of Pmode.
From-SVN: r142229
gcc/
PR testsuite/28870
* doc/sourcebuild.texi (Test Directives): Add dg-timeout and
dg-timeout-factor.
gcc/testsuite/
PR testsuite/28870
* lib/timeout.exp: New.
* lib/timeout-dg.exp: New.
* lib/gcc-dg.exp: Include new timeout library files.
(dg-test): Unset timeout variables.
* lib/gcc.exp (gcc_target_compile): Set timeout value from new proc.
* lib/g++.exp (g++_target_compile): Ditto.
* lib/gfortran.exp (gfortran_target_compile): Ditto.
* lib/objc.exp (objc_target_compile): Ditto.
* lib/obj-c++.exp (obj-c++_target_compile): Ditto.
* lib/obj-c++.exp (obj-c++_target_compile): Ditto.
* lib/gnat.exp (gnat_target_compile): Ditto.
libstdc++-v3/
PR testsuite/28870
* testsuite/lib/libstdc++.exp: Include new timeout library files.
(libstdc++_init): Define tool_timeout.
(dg-test): Override DejaGnu proc.
(v3_target_compile): Set timeout value from new proc.
(v3_target_compile_as_c): Ditto.
libmudflap/
PR testsuite/28870
* testsuite/lib/mfdg.exp (dg-test): Use new timeout support.
(dg-timeout): Remove.
(standard-wait): Remove.
* testsuite/lib/libmudflap.exp: Include new timeout library files.
(libmudflap_target_compile): Set timeout value from new proc.
libgomp/
PR testsuite/28870
* testsuite/lib/libgomp.exp: Include new timeout library files.
(libgomp_target_compile): Set timeout value from new proc.
From-SVN: r142225