/cp
2009-02-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39053
* parser.c (cp_parser_pure_specifier): If there are no tokens left
do not call cp_lexer_consume_token.
/testsuite
2009-02-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39053
* g++.dg/parse/crash52.C: New.
From-SVN: r143861
PR target/38904
* mkmap-flat.awk (END): Use pe_dll command-line arg to pass
LIBRARY name in, instead of hard-coding it.
* config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an
extra target make frag to tmake_files according to EH model.
(i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
* config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target
frags that define makefile variable EH_MODEL appropriately.
* config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment.
* config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or
to "-sjlj" according to type of EH configured.
(LIBGCC_SONAME): Concatenate it to shared library base name.
* config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or
to "_sjlj" according to type of EH configured.
(LIBGCC_SONAME): Concatenate it to shared library base name.
* config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL.
(SHLIB_LINK): Add missing semicolon to if-else construct.
(SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
string value of "pe_dll" command-line option.
* config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper.
(SHLIB_SONAME): Use it when overriding t-cygming default.
(SHLIB_IMPLIB): Override t-cygming default.
(SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
string value of "pe_dll" command-line option.
From-SVN: r143829
2009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
PR target/38952
* config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
(TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point
at it.
From-SVN: r143823
* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
libgomp_ld_is_gold. Get gold version number.
(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
* configure: Rebuild.
From-SVN: r143822
2009-01-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38937
* tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
computing the transitive closure.
From-SVN: r143819
2009-01-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39041
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
Propagate variable indices only if the types match for this stmt.
* gcc.c-torture/compile/pr39041.c: New testcase.
From-SVN: r143808
PR target/39013
* c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
inline but never defined.
* gcc.target/i386/pr39013-1.c: New test.
* gcc.target/i386/pr39013-2.c: New test.
From-SVN: r143803
* config/picochip/picochip.c (flag_conserve_stack): set
PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
fconserve-stack. Reduce call-overhead used by inliner.
From-SVN: r143785
2009-01-30 Kai Tietz <kai.tietz@onevision.com>
PR/39002
* config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
(ix86_expand_epilogue): Take nsseregs in account to use proper restore
method.
From-SVN: r143780
* include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
defined.
* include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
defined.
* include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
defined.
* include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
defined.
* testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
argument is const char *, assign result to const char * var, not
char *.
* testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
argument is const wchar_t *, assign result to const wchar_t * var, not
wchar_t *.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r143773
2009-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/thread: Remove unused headers.
(__thread_data_base): Remove unused mutex and base.
(thread::~thread): Only detach if joinable.
(thread::joinable): Test if thread data ptr is empty.
(thread::_M_thread_data_mutex): Remove.
(thread::_M_get_thread_data): Remove.
(thread::_M_make_thread_data): Remove overload, use make_shared.
(thread:🆔:id): Make constructor explicit.
* src/thread.cc (thread::join,thread::detach): Throw if not joinable.
(thread::_M_start_thread): Break shared_ptr cycle on error.
(__thread_proxy): Use shared_ptr swap instead of copy and reset.
* testsuite/30_threads/thread/member/4.cc: New.
* testsuite/30_threads/thread/member/5.cc: New.
From-SVN: r143772
gcc/
PR tree-optimization/39007
* tree-loop-distribution.c (generate_builtin): Use
recompute_dominator to compute the immediate dominator of the
basic block just after the loop.
gcc/testsuite/
PR tree-optimization/39007
* gcc.dg/tree-ssa/pr39007.c: New.
From-SVN: r143767
2009-01-29 Andrey Belevantsev <abel@ispras.ru>
Alexander Monakov <amonakov@ispras.ru>
PR middle-end/38857
* sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
register.
(move_exprs_to_boundary): Change return type and pass through
should_move from move_op. Relax assert. Update usage ...
(schedule_expr_on_boundary): ... here. Use should_move instead of
cant_move.
(move_op_orig_expr_found): Indicate that insn was disconnected from
stream.
(code_motion_process_successors): Do not call after_merge_succs
callback if original expression was not found when traversing any of
the branches.
(code_motion_path_driver): Change return type. Update prototype.
(move_op): Update comment. Add a new parameter (should_move). Update
prototype. Set *should_move based on indication provided by
move_op_orig_expr_found.
2009-01-29 Steve Ellcey <sje@cup.hp.com>
PR middle-end/38857
* gcc.c-torture/compile/pr38857.c: New test.
From-SVN: r143753
2009-01-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38852
PR fortran/39006
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
descriptor ubound for UBOUND, when the array lbound == 1.
2009-01-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38852
PR fortran/39006
* gfortran.dg/bound_6.f90: New test.
From-SVN: r143743
* doc/invoke.texi (avoid-indexed-addresses): Document new option.
* config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
* config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
* config/rs6000/rs6000.c (rs6000_override_options): Default
avoid-indexed-addresses on for Power6, off for everything else.
(avoiding_indexed_address_p): New function.
(rs6000_legitimize_address): Use it.
(rs6000_legitimate_address): Likewise.
* config/rs6000/rs6000.md (movXX_updateX): Likewise
* gcc.target/powerpc/avoid-indexed-addresses.c: New test.
From-SVN: r143742
2009-01-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38926
* tree-ssa-pre.c (add_to_value): Assert we add only expressions
with the correct value id to a value.
(do_regular_insertion): Use the value number of edoubleprime
for the value number of the expr.
Revert
2008-08-21 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
a PHI ask VN if it is already available.
* tree-ssa-sccvn.h (vn_phi_lookup): Declare.
* tree-ssa-sccvn.c (vn_phi_lookup): Export.
* gcc.c-torture/compile/pr38926.c: New testcase.
From-SVN: r143725