* omp-low.c (lookup_decl_in_outer_ctx): Allow calling this
with !ctx->is_nested.
(maybe_lookup_decl_in_outer_ctx): Look up in outer contexts
even if !ctx->is_nested.
(lower_copyprivate_clauses, lower_send_clauses,
lower_send_shared_vars): Call lookup_decl_in_outer_ctx
unconditionally.
* testsuite/libgomp.c/private-1.c: New test.
From-SVN: r130590
PR tree-optimization/33453
* tree-data-ref.c (split_constant_offset): Use POINTER_PLUS_EXPR
for pointer addition.
* tree-parloops.c (canonicalize_loop_ivs): Likewise.
(separate_decls_in_loop_name): Copy DECL_GIMPLE_REG_P from var to
var_copy.
* gcc.c-torture/compile/20071203-1.c: New test.
From-SVN: r130588
2007-12-03 Robert Dewar <dewar@adacore.com>
Samuel Tardieu <sam@rfc1149.net>
gcc/ada/
PR ada/34287
* sem_util.adb (Safe_To_Capture_Value): Do not capture values
of variables declared in a library-level package.
gcc/testsuite/gnat.dg/
PR ada/34287
* check_elaboration_code.adb: New test.
* bug_elaboration_code.ads, bug_elaboration_code.adb: New support
files.
Co-Authored-By: Samuel Tardieu <sam@rfc1149.net>
From-SVN: r130582
PR middle-end/34317
* opts.c (common_handle_option): Handle OPT_ftree_store_copy_prop.
* common.opt (ftree-store-copy-prop): Use the same help text as for
other nop switches.
From-SVN: r130579
2007-12-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/33985
* io/transfer.c (read_block, read_block_direct, write_block, write_buf):
Don't seek if file position is already there for STREAM I/O.
(finalize_transfer): For STREAM I/O don't flush unless the file position
has moved past the start position before the transfer.
Co-Authored-By: Thomas Koenig <tkoenig@gcc.gnu.org>
From-SVN: r130574
2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
PR libffi/31937
* src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
* src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
set the NUM_FPR_ARG_REGISTERS according to.
Add support for potential soft-float support under hard-float
architecture.
(ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
to the FFI_LINUX_SOFT_FLOAT ABI.
(ffi_prep_cif_machdep): Likewise.
(ffi_closure_helper_SYSV): Likewise.
* src/powerpc/ppc_closure.S: Make sure not to store float/double
on archs where __NO_FPRS__ is true.
Add FFI_TYPE_UINT128 support.
* src/powerpc/sysv.S: Add support for soft-float long-double-128.
Adjust copyright notice.
From-SVN: r130559
2007-12-01 Kostik Belousov <kostikbel@ukr.net>
gcc/ada/
PR ada/33722
* env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
and its argument must not be free()ed.
From-SVN: r130555
PR c++/8171
gcc/cp/
* typeck.c (build_binary_op): Add conversion of pointers to function
members appearing as operands to the equality operators.
gcc/testsuite/
* g++.dg/conversion/ptrmem9.C: New test.
From-SVN: r130554
2007-11-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/34291
* io/list_read.c (read_character): When reading an unquoted string,
return if special characters that could signify the end of the namelist
read are encountered.
From-SVN: r130548
gcc/testsuite/ChangeLog:
2007-11-30 Martin Michlmayr <tbm@cyrius.com>
PR rtl-optimization/34171
* gcc.dg/pr34171.c: New testcase.
gcc/ChangeLog:
2007-11-30 Seongbae Park <seongbae.park@gmail.com>
PR rtl-optimization/34171
* cfgrtl.c (update_bb_for_insn_chain): New function,
refactored from update_bb_for_insn.
(update_bb_for_insn): Call update_bb_for_insn.
(rtl_merge_blocks, try_redirect_by_replacing_jump):
Replace a loop with update_bb_for_insn_chain call.
(cfg_layout_merge_blocks): Add a call to
update_bb_for_insn_chain. Replace the for loop
with a call to update_bb_for_insn_chain.
From-SVN: r130539
2007-11-29 Steven G. Kargl <kargls@comcast.net>
PR fortran/34230
* gfortran.dg/real_const_3.f90: Fix up for new range-check handling.
From-SVN: r130532
2007-11-29 Steven G. Kargl <kargls@comcast.net>
PR fortran/34230
* fortran/arith.c (gfc_check_real_range): Set intermediate values
to +-Inf and 0 when -fno-range-check is in effect.
* fortran/invoke.texi: Improve -fno-range-check description.
PR fortran/34203
* fortran/invoke.texi: Document the C escaped characters activated
by -fbackslash.
From-SVN: r130530
PR tree-optimization/33434
* tree-inline.c (setup_one_parameter): If the value passed to
a parameter is never used, don't set it up.
* gcc.dg/pr33434-1.c: New test.
* gcc.dg/pr33434-2.c: New test.
* gcc.dg/pr33434-3.c: New test.
* gcc.dg/pr33434-4.c: New test.
From-SVN: r130521