1. 09 Nov, 2011 40 commits
    • Configure cleanup. · 74544378
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* configure.ac (AC_STDC_HEADERS): Remove.
      	(AC_HEADER_TIME): Remove.
      	(AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation
      	of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers.
      	(AC_CHECK_MEMBERS): Use single invocation.
      	(AC_CHECK_FUNCS): Move into single invocation of
      	AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions.
      	* config.h.in: Regenerate.
      	* configure: Regenerate.
      	* intrinsics/clock.c: Include time.h.
      	(mclock): Assume clock() is present.
      	(mclock8): Likewise.
      	* intrinsics/ctime.c (strctime): Assume strftime is present.
      	(fdate): Assume time() is present.
      	(fdate_sub): Likewise.
      	(ctime): Likewise.
      	* intrinsics/date_and_time.c: Don't provide abs macro.
      	(HAVE_NO_DATE_TIME): Remove code related to macro which is never
      	set.
      	* intrinsics/execute_command_line.c: Assume stdlib.h is present.
      	* intrinsics/exit.c: Likewise.
      	* intrinsics/extends_type_of.c: Likewise.
      	* intrinsics/gerror.c: Assume strerror() is present.
      	* intrinsics/kill.c: Assume signal.h is present.
      	* intrinsics/malloc.c: Assume stdlib.h is present.
      	* intrinsics/move_alloc.c: Likewise.
      	* intrinsics/perror.c: Assume perror() is present.
      	* intrinsics/signal.c: Assume signal.h is present.
      	* intrinsics/stat.c: Assume stdlib.h is present.
      	* intrinsics/system.c: Likewise.
      	* intrinsics/time.c: Include time.h, assume time() is present.
      	* intrinsics/time_1.h: Conditionally include sys/time.h,
      	unconditionally time.h.
      	(gf_cputime): Do division in double, fallback using clock().
      	(gf_gettime): Assume time() is present.
      	* intrinsics/umask.c: Assume stdlib.h is present.
      	* runtime/backtrace.c: Likewise.
      	* runtime/compile_options.c: Assume signal.h is present, assume
      	C89 signals are present.
      	* runtime/error.c: Assume signal.h and stdlib.h are present.
      
      From-SVN: r181227
      Janne Blomqvist committed
    • * gcc.dg/tm/memopt-1.c: Adjust regexp. · 4b624533
      From-SVN: r181226
      Patrick Marlier committed
    • re PR c++/51029 ([C++0x] [4.7 Regression] ICE with -std=c++0x) · 816d9152
      	PR c++/51029
      	* class.c (build_base_path): Don't ICE in fold_non_dependent_expr.
      
      From-SVN: r181225
      Jason Merrill committed
    • libitm: Configure for gas cfi pseudo ops. · 4bdd090f
      	* asmcfi.m4: New file.
      
      	* configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
      	* configure, aclocal.m4, config.h.in: Rebuild.
      	* config/generic/asmcfi.h: New file.
      	* config/x86/sjlj.S: Use it.
      
      From-SVN: r181224
      Richard Henderson committed
    • re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer without a cast) · 29d281ca
      	PR libfortran/47972
      	* runtime/error.c (gf_strerror): Silence warning.
      
      From-SVN: r181223
      Francois-Xavier Coudert committed
    • Run most tests in both C++98 and C++11 modes. · e399136a
      gcc/testsuite/
      	* lib/target-supports.exp (check_effective_target_c++11): New.
      	(check_effective_target_c++98): New.
      	* lib/g++-dg.exp (g++-dg-runtest): New.
      	* [various.exp]: Use g++-dg-runtest.
      	* [various.C]: Fix for C++11 mode.
      gcc/cp/
      	* Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
      	(check-c++0x): Obsolete.
      /
      	* Makefile.def (language=c++): Remove check-c++0x.
      	* Makefile.in (check-gcc-c++): Regenerate.
      
      From-SVN: r181222
      Jason Merrill committed
    • * [various.C]: Adjust for C++11 mode. · 754ca643
      From-SVN: r181221
      Jason Merrill committed
    • pt.c (convert_nontype_argument): Only integral arguments get early folding. · ecf65859
      	* pt.c (convert_nontype_argument): Only integral arguments
      	get early folding.
      
      From-SVN: r181219
      Jason Merrill committed
    • parser.c (cp_parser_alias_declaration): Don't do semantic processing if parsing failed. · 78d16361
      	* parser.c (cp_parser_alias_declaration): Don't do semantic
      	processing if parsing failed.
      
      From-SVN: r181218
      Jason Merrill committed
    • PR 46686 Fix incorrect comment. · 161f270d
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/46686
      	* runtime/backtrace.c (show_backtrace): Fix incorrect comment.
      
      From-SVN: r181217
      Janne Blomqvist committed
    • re PR preprocessor/51061 (Deprecated -I- option causes segfault) · 9b5e84de
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR preprocessor/51061
      	* incpath.c (merge_include_chains): Make sure to not pass null
      	pointers to free_path.
      
      From-SVN: r181216
      Paolo Carlini committed
    • re PR c++/51045 (erroneous zero as null pointer constant warning at delete) · e8089b4a
      /cp
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51045
      	* init.c (build_new_1, build_vec_delete_1, build_delete):
      	Use nullptr_node.
      
      /testsuite
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51045
      	* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.
      
      
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* doc/invoke.texi ([Option Summary, C++ Language Options]):
      	Add -Wzero-as-null-pointer-constant.
      
      From-SVN: r181215
      Paolo Carlini committed
    • re PR c++/51045 (erroneous zero as null pointer constant warning at delete) · 6d96d7ff
      /cp
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51045
      	* init.c (build_new_1, build_vec_delete_1, build_delete):
      	Use nullptr_node.
      
      /testsuite
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51045
      	* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.
      
      
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* doc/invoke.texi ([Option Summary, C++ Language Options]):
      	Add -Wzero-as-null-pointer-constant.
      
      From-SVN: r181214
      Paolo Carlini committed
    • re PR c++/51047 ([C++0x] SFINAE does not handle errors of ambiguous base members) · db422ace
      /cp
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51047
      	* search.c (lookup_member): Change to take also a tsubst_flags_t
      	parameter.
      	(lookup_field, lookup_fnfields): Adjust calls.
      	* typeck.c (lookup_destructor, finish_class_member_access_expr,
      	build_ptrmemfunc_access_expr): Likewise.
      	* class.c (handle_using_decl, maybe_note_name_used_in_class):
      	Likewise.
      	* pt.c (resolve_typename_type): Likewise.
      	* semantics.c (lambda_function): Likewise.
      	* parser.c (cp_parser_perform_range_for_lookup,
      	cp_parser_lookup_name): Likewise.
      	* friend.c (make_friend_class): Likewise.
      	* name-lookup.c (pushdecl_maybe_friend_1, get_class_binding,
      	do_class_using_decl, lookup_qualified_name): Likewise.
      	* cp-tree.h (lookup_member): Adjust declaration.
      
      /testsuite
      2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51047
      	* g++.dg/cpp0x/sfinae29.C: New.
      
      From-SVN: r181213
      Paolo Carlini committed
    • configure.ac: Make more cross-compile friendly. · 60858d8a
      2011-11-09  Tobias Burnus  <burnus@net-b.de>
      
              * configure.ac: Make more cross-compile friendly.
              * Makefile.in: Regenerate.
              * aclocal.m4: Regenerate.
              * config.h.in: Regenerate.
              * configure: Regenerate.
      
      From-SVN: r181212
      Tobias Burnus committed
    • sparc.c (output_v8plus_shift): Take INSN parameter first and adjust head comment. · 68126bad
      	* config/sparc/sparc.c (output_v8plus_shift): Take INSN parameter first
      	and adjust head comment.
      	(output_v8plus_mult): Change NAME into OPCODE and adjust throughout.
      	(vector_init_bshuffle): Add head comment.
      	(vector_init_move_words): Likewise.
      	(vector_init_prepare_elts): Likewise.  Take LOCS parameter first.
      	(sparc_expand_vector_init): Likewise.  Adjust call to above function.
      	(sparc_expand_vector_init_vis2): Likewise.
      	(sparc_expand_vector_init_vis1): Likewise.
      	(sparc_expand_conditional_move): Likewise.
      	(sparc_expand_vcond): Likewise.
      	* config/sparc/sparc-protos.h (output_v8plus_shift): Adjust.
      	* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
      	output_v8plus_shift.
      	(ashrdi3_v8plus): Likewise.
      	(lshrdi3_v8plus): Likewise.
      
      From-SVN: r181211
      Eric Botcazou committed
    • Matthew Gretton-Dann <matthew.gretton-dann@arm.com> · f5024b4a
      	* config/arm/arm-cores.def: Add -mcpu=cortex-a7.
      	* config/arm/arm-tables.opt: Regenerate.
      	* config/arm/arm-tune.md: Likewise.
      	* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
      	* doc/invoke.texi: Document -mcpu=cortex-a7.
      
      From-SVN: r181210
      Matthew Gretton-Dann committed
    • PR 46686 Implement backtrace with _Unwind_Backtrace from libgcc. · 1ff101ff
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/46686
      	* configure.ac: Don't check execinfo.h, backtrace,
      	backtrace_symbols_fd. Check execve instead of execvp. Call
      	GCC_CHECK_UNWIND_GETIPINFO.
      	* runtime/backtrace.c: Don't include unused headers, include
      	limits.h and unwind.h.
      	(CAN_FORK): Check execve instead of execvp.
      	(GLIBC_BACKTRACE): Remove.
      	(bt_header): Conform to gdb backtrace format.
      	(struct bt_state): New struct.
      	(trace_function): New function.
      	(show_backtrace): Use _Unwind_Backtrace from libgcc instead of
      	glibc backtrace functions.
      	* Makefile.in: Regenerated.
      	* aclocal.m4: Regenerated.
      	* config.h.in: Regenerated.
      	* configure: Regenerated.
      
      From-SVN: r181209
      Janne Blomqvist committed
    • re PR fortran/50960 ([OOP] vtables not marked as constant) · 560bb013
      2011-11-09  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/50960
      	* gfortran.dg/typebound_call_22.f03: New test case.
      
      From-SVN: r181208
      Janus Weil committed
    • PR 50016 Slow I/O on MingW due to _commit · ed10039e
      frontend ChangeLog:
      
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/50016
      	* gfortran.texi (Data consistency and durability): New section.
      
      
      testsuite ChangeLog:
      
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/50016
      	* gfortran.dg/inquire_size.f90: Don't flush the unit.
      
      libgfortran ChangeLog:
      
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/50016
      	* io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
      	* io/unix.c (buf_flush): Don't call _commit.
      
      From-SVN: r181207
      Janne Blomqvist committed
    • revert: tree-cfg.c (verify_gimple_call): Verify that gimple_call_cannot_inline_p… · 26833b3d
      revert: tree-cfg.c (verify_gimple_call): Verify that gimple_call_cannot_inline_p is returning a conservative correct...
      
      2011-11-09  Richard Guenther  <rguenther@suse.de>
      
      	Revert
      	2011-11-09  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_gimple_call): Verify that
      	gimple_call_cannot_inline_p is returning a conservative
      	correct result according to gimple_check_call_matching_types.
      
      From-SVN: r181206
      Richard Guenther committed
    • re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at… · 03cb5f39
      re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr)
      
      2011-11-09  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/51039
      	* tree-cfg.c (verify_gimple_call): Verify that
      	gimple_call_cannot_inline_p is returning a conservative
      	correct result according to gimple_check_call_matching_types.
      	* ipa-inline-analysis.c (estimate_function_body_sizes): Remove
      	code dealing with un-inlinablility.
      	* gimple-streamer-in.c (input_gimple_stmt): Update the
      	non-inlinable flag.
      
      	* gcc.dg/pr51039.c: New testcase.
      
      From-SVN: r181205
      Richard Guenther committed
    • re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at… · c4ac6e94
      re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr)
      
      2011-11-09  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/51039
      	* gimple-low.c (gimple_check_call_args): Remove.
      	(gimple_check_call_matching_types): Always return true.
      	* tree-inline.c (setup_one_parameter): Always perform a
      	valid gimple type change.
      	(declare_return_variable): Likewise.
      
      From-SVN: r181204
      Richard Guenther committed
    • Use t-mingw-pthread on MingW · e3d871e4
      	* config.host (i[34567]86-*-cygwin*): Move i386/t-mingw-pthread ...
      	(i[34567]86-*-mingw*): ... here.
      	(x86_64-*-mingw*): ... here.
      
      From-SVN: r181203
      Rainer Orth committed
    • vector.md (vcondv4sfv4si, [...]): New patterns. · 69d3d957
      	* config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf,
      	vconduv4sfv4si): New patterns.
      	* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Handle
      	different dest_mode from comparison mode.
      
      	* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
      	Enable also for powerpc*-*-*.
      
      From-SVN: r181202
      Jakub Jelinek committed
    • re PR fortran/50540 (Internal Error: Can't convert UNKNOWN to INTEGER(4) (r178939)) · 7298eef3
      	PR fortran/50540
      	* resolve.c (resolve_forall_iterators): Transform internal errors
      	to normal errors.
      	* gfortran.dg/forall_16.f90: New test.
      
      From-SVN: r181200
      Francois-Xavier Coudert committed
    • re PR fortran/50960 ([OOP] vtables not marked as constant) · 9c63ca5a
      2011-11-09  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/50960
      	* class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.
      	* expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with
      	their value.
      	* resolve.c (resolve_values): Use-associated symbols do not need to
      	be resolved again.
      	(resolve_fl_parameter): Make sure the symbol has a value.
      
      From-SVN: r181199
      Janus Weil committed
    • re PR fortran/38718 (some simplifiers for elemental intrinsics missing; required… · 02c74373
      re PR fortran/38718 (some simplifiers for elemental intrinsics missing; required for init expressions)
      
      	PR fortran/38718
      
      	* intrinsic.c (add_functions): Add gfc_simplify_dreal.
      	* intrinsic.h (gfc_simplify_dreal): New proto.
      	* simplify.c (gfc_simplify_dreal): New function.
      
      	* gfortran.dg/initialization_29.f90: Expand test.
      
      From-SVN: r181198
      Francois-Xavier Coudert committed
    • gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable. · c5bdb340
      2011-11-09  Richard Guenther  <rguenther@suse.de>
      
      	* gimple-fold.c (canonicalize_constructor_val): Mark
      	address-taken variables addressable.
      
      From-SVN: r181197
      Richard Guenther committed
    • unordered_map: Add missing copy constructors. · 6c235090
      	* include/profile/unordered_map: Add missing copy constructors.
      	* include/profile/unordered_set: Likewise.
      
      From-SVN: r181196
      Jonathan Wakely committed
    • PR c++/51027 - accepts alias-declaration without ';' · bd0424fa
      gcc/cp/
      
      	* parser.c (cp_parser_alias_declaration): Require ';' at the end
      	of the declaration.
      
      libstdc++-v3/
      
      	* include/ext/pointer.h (rebind): Append missing ';'.
      
      gcc/testsuite
      
      	* g++.dg/cpp0x/alias-decl-12.C: New test.
      	* g++.dg/ext/alias-decl-attr4.C: Append missing ';'.
      
      From-SVN: r181195
      Dodji Seketeli committed
    • Fix entry · c2b32b0f
      From-SVN: r181194
      Eric Botcazou committed
    • PR debug/51032 - ICE in dbxout_type, at dbxout.c:2372 · acfdadb4
      gcc/cp/
      
      	* decl2.c (check_member_template): Accept alias templates and ...
      	* parser.c (cp_parser_alias_declaration): ... use it here.
      
      gcc/testsuite/
      
      	* g++.dg/cpp0x/alias-decl-debug-0.C: New test.
      
      From-SVN: r181193
      Dodji Seketeli committed
    • re PR fortran/21881 (ICE instead of error for large arrays in derived types) · f354bf1d
      	PR fortran/21881
      	* trans-types.c (gfc_get_dtype): Issue a fatal error instead of
      	an internal error.
      
      From-SVN: r181192
      Francois-Xavier Coudert committed
    • re PR tree-optimization/51015 (ice in vect_determine_vectorization_factor with -O3) · 9b858c88
      
              PR tree-optimization/51015
              * tree-vect-loop.c (vect_determine_vectorization_factor): Expect
              vectype to be set for pattern def stmts.
      
      From-SVN: r181191
      Ira Rosen committed
    • Implement vect_cmdline_needed properly on sparc. · 65c5ced3
      	* lib/target-supports.exp (check_effective_target_sparc_vis): New.
      	(check_effective_target_vect_cmdline_needed): Use it when sparc*-*-*
      
      From-SVN: r181190
      David S. Miller committed
    • stl_vector.h (vector::_Alloc_traits): Make private. · 42500675
      	* include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
      	* include/debug/vector: Add allocator-extended constructors, ensure
      	move assignment and swap have same allocator propagation semantics
      	and exceptions specification as base class.
      	* include/profile/vector: Likewise.
      	(vector::push_back(_Tp&&)): Forward argument as rvalue.
      	* testsuite/23_containers/vector/debug/alloc_prop.cc: New.
      	* doc/xml/manual/status_cxx2011.xml: Clarify status of container
      	requirements with respect to allocators.
      	(status.iso.200x): Add anchor for old ID to preserve existing links.
      
      From-SVN: r181189
      Jonathan Wakely committed
    • function.c (bb_active_p): Delete. · ffe14686
      	* function.c (bb_active_p): Delete.
      	(dup_block_and_redirect, active_insn_between): New functions.
      	(convert_jumps_to_returns, emit_return_for_exit): New functions,
      	split out from..
      	(thread_prologue_and_epilogue_insns): ..here.  Delete
      	shadowing variables.  Don't do prologue register clobber tests
      	when shrink wrapping already failed.  Delete all last_bb_active
      	code.  Instead compute tail block candidates for duplicating
      	exit path.  Remove these from antic set.  Duplicate tails when
      	reached from both blocks needing a prologue/epilogue and
      	blocks not needing such.
      	* ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and
      	HAVE_simple_return.
      	* bb-reorder.c (get_uncond_jump_length): Make global.
      	* bb-reorder.h (get_uncond_jump_length): Declare.
      	* cfgrtl.c (rtl_create_basic_block): Comment typo fix.
      	(rtl_split_edge): Likewise.  Warning fix.
      	(rtl_duplicate_bb): New function.
      	(rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block.
      	* Makefile.in (function.o): Update dependencies.
      
      From-SVN: r181188
      Alan Modra committed
    • Daily bump. · dce5eb10
      From-SVN: r181187
      GCC Administrator committed