127587 Commits

Author SHA1 Message Date
Jeff Law
7e41c852e3 re PR middle-end/59743 (ICE: Segmentation fault)
PR middle-end/59743
	* ree.c (combine_reaching_defs): Ensure the defining statement
	occurs before the extension when optimizing extensions with
	different source and destination hard registers.

	PR middle-end/59743
	* gcc.c-torture/compile/pr59743.c: New test.

From-SVN: r206545
2014-01-10 15:13:18 -07:00
Jan Hubicka
b270b096a1 re PR middle-end/58585 (ICE in ipa with virtual inheritance)
PR ipa/58585
	* ipa-devirt.c (build_type_inheritance_graph): Also add types of vtables
	into the type inheritance graph.

	* g++.dg/torture/pr58585.C: New testcase.

From-SVN: r206543
2014-01-10 21:34:37 +00:00
Jakub Jelinek
0d6d7b9a20 re PR rtl-optimization/59754 ([ree.c] Incorrect merge while working with vector registers)
PR rtl-optimization/59754
	* ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
	modes in the REGNO != REGNO case.

From-SVN: r206542
2014-01-10 22:27:52 +01:00
Bill Schmidt
110132c131 rs6000-builtin.def: Fix pasto for VPKSDUS.
2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.

From-SVN: r206541
2014-01-10 21:26:25 +00:00
Jakub Jelinek
4f87d581ad re PR tree-optimization/59745 (internal compiler error: tree check: expected tree that contains 'typed' structure, have '<invalid tree code>' in operand_equal_p, at fold-const.c:2492)
PR tree-optimization/59745
	* tree-predcom.c (tree_predictive_commoning_loop): Call
	free_affine_expand_cache if giving up because components is NULL.

From-SVN: r206540
2014-01-10 21:37:52 +01:00
Jakub Jelinek
5da969605f target-globals.c (save_target_globals): Allocate < 4KB structs using GC in payload of target_globals struct instead of...
* target-globals.c (save_target_globals): Allocate < 4KB structs using
	GC in payload of target_globals struct instead of allocating them on
	the heap and the larger structs separately using GC.
	* target-globals.h (struct target_globals): Make regs, hard_regs,
	reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
	of GTY((skip)) and change type to void *.
	(reset_target_globals): Cast loads from those fields to corresponding
	types.

From-SVN: r206539
2014-01-10 21:25:05 +01:00
Hans-Peter Nilsson
322b9977d2 * gcc.dg/pr46309.c: Disable for cris*-*-*.
From-SVN: r206537
2014-01-10 19:18:34 +00:00
Steve Ellcey
1aa26aacc4 re PR plugins/59335 (Plugin doesn't build on trunk)
2014-01-10  Steve Ellcey  <sellcey@mips.com>

	PR plugins/59335
	* Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
	gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
	tree-ssanames.h, print-tree.h, varasm.h, and context.h.

From-SVN: r206535
2014-01-10 17:54:10 +00:00
Eric Botcazou
8566e0e726 * gcc.target/arm/neon-nested-apcs.c: Tweak dg directives.
From-SVN: r206532
2014-01-10 16:10:37 +00:00
Richard Earnshaw
7783a24674 re PR target/59744 (miscompilation of unsigned comparison on aarch64)
PR target/59744
Fix ChangeLog typos in previous commit (r206529).

From-SVN: r206530
2014-01-10 15:21:21 +00:00
Richard Earnshaw
1c992d1e6b re PR c++/9744 (Explicit parameterization of templated return value fails within templated function)
PR target/9744

gcc:
	* aarch64-modes.def (CC_Zmode): New flags mode.
	* aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
	represents an equality.
	(aarch64_get_condition_code0): Handle CC_Zmode.
	* aarch64.md (compare_neg<mode>): Restrict to equality operations.

gcc/testsuite:
	* gcc.target/aarch64/cmn-neg.c: Use equality comparisons.
	* gcc.target/aarch64/cmn-neg2.c: New test.

From-SVN: r206529
2014-01-10 15:12:03 +00:00
Andreas Krebbel
86464cbd91 s390.c (s390_expand_tbegin): Remove jump over CC extraction in good case.
2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
	extraction in good case.

From-SVN: r206527
2014-01-10 14:59:41 +00:00
Jonathan Wakely
48c7451eee re PR libstdc++/59699 (Effective C++ has moved)
PR libstdc++/59699
	* doc/xml/manual/support.xml (std.support.types.null): Update links.

From-SVN: r206526
2014-01-10 14:30:32 +00:00
Jonathan Wakely
b1fb52ca2e re PR libstdc++/59687 (The description of ios::noreplace is hilarious)
PR libstdc++/59687
	* doc/xml/manual/backwards_compatibility.xml
	(backwards.third.nocreate_noreplace): Correct and expand.

From-SVN: r206525
2014-01-10 14:30:27 +00:00
Jonathan Wakely
92bf138207 re PR libstdc++/59698 (The type of NULL is described elsewhere)
PR libstdc++/59698
	* doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
	and stylistic improvements.
	* doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
	and update for C++11.
	* doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.

From-SVN: r206524
2014-01-10 14:30:21 +00:00
Richard Biener
5e6667b25b re PR tree-optimization/59374 (-ftree-slp-vectorize breaks unique_ptr's move constructor)
2014-01-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59374
	* tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
	checking after SLP discovery.  Mark stmts not participating
	in any SLP instance properly.

	* gcc.dg/torture/pr59374-3.c: New testcase.

From-SVN: r206523
2014-01-10 13:07:42 +00:00
Kyrylo Tkachov
5619162cdb arm.c (arm_new_rtx_costs): Use destination mode when handling a SET rtx.
2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_new_rtx_costs): Use destination mode
	when handling a SET rtx.

From-SVN: r206521
2014-01-10 11:48:37 +00:00
Kyrylo Tkachov
2d17b99fe3 arm-cores.def (cortex-a53): Specify FL_CRC32.
2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
	(cortex-a57): Likewise.
	(cortex-a57.cortex-a53): Likewise. Remove redundant flags.

From-SVN: r206520
2014-01-10 11:47:04 +00:00
Kyrylo Tkachov
4b6af762b4 [gcc/testsuite/]
2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* lib/target-supports.exp
	(check_effective_target_arm_crypto_ok_nocache): New.
	(check_effective_target_arm_crypto_ok): Use above procedure.
	(add_options_for_arm_crypto): Use et_arm_crypto_flags.

From-SVN: r206519
2014-01-10 11:43:48 +00:00
Kyrylo Tkachov
bcca645ce1 arm.c (arm_init_iwmmxt_builtins): Skip non-iwmmxt builtins.
2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
	non-iwmmxt builtins.

From-SVN: r206518
2014-01-10 11:42:03 +00:00
Tom de Vries
91db35373a Note that pass_pre destroys PROP_no_crit_edges
2014-01-09  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-pre.c (pass_data_pre): Add comment about PROP_no_crit_edges
	in properties_required.  Add PROP_no_crit_edges to properties_destroyed.
	* tree-ssa-sink.c (pass_data_sink_code): Remove PROP_no_crit_edges
	from properties_required.

From-SVN: r206517
2014-01-10 10:37:22 +00:00
Jan Hubicka
a3788dde0e re PR c++/58252 (ice in gimple_get_virt_method_for_binfo with -O2)
PR ipa/58252
	PR ipa/59226
	* ipa-devirt.c record_target_from_binfo): Take as argument
	stack of binfos and lookup matching one for virtual inheritance.
	(possible_polymorphic_call_targets_1): Update.

	* g++.dg/ipa/devirt-20.C: New testcase.	
	* g++.dg/torture/pr58252.C: Likewise.
	* g++.dg/torture/pr59226.C: Likewise.

From-SVN: r206516
2014-01-10 09:33:24 +00:00
Max Ostapenko
6606b43e46 no-asan-stack.c: New test.
2014-01-10  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* c-c++-common/asan/no-asan-stack.c: New test.

From-SVN: r206515
2014-01-10 11:16:39 +02:00
Huacai Chen
87ed883e4a driver-native.c (host_detect_local_cpu): Handle new kernel strings for Loongson-2E/2F/3A.
gcc/
2014-01-10  Huacai Chen  <chenhc@lemote.com>

	* config/mips/driver-native.c (host_detect_local_cpu): Handle new
	kernel strings for Loongson-2E/2F/3A.

From-SVN: r206512
2014-01-10 08:51:40 +00:00
Ian Lance Taylor
6ddb62884f compiler: Use backend interface for slice info.
From-SVN: r206509
2014-01-10 06:42:08 +00:00
GCC Administrator
7f003d8337 Daily bump.
From-SVN: r206507
2014-01-10 00:16:59 +00:00
Jonathan Wakely
4bc0ec3261 re PR libstdc++/59680 (Compile error in thread.cc)
PR libstdc++/59680
	* src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.

From-SVN: r206504
2014-01-09 23:39:31 +00:00
Jakub Jelinek
cd4447e235 re PR middle-end/59670 (ICE: expected gimple_call(error_mark), have gimple_assign(plus_expr) in gimple_call_internal_p, at gimple.h:2432)
PR middle-end/59670
	* tree-vect-data-refs.c (vect_analyze_data_refs): Check
	is_gimple_call before calling gimple_call_internal_p.

	* gcc.dg/pr59670.c: New test.

From-SVN: r206503
2014-01-10 00:39:06 +01:00
Ian Lance Taylor
4bc44ceb91 compiler: Add flattening pass
From-SVN: r206502
2014-01-09 23:28:10 +00:00
Ian Lance Taylor
abd471378c runtime: fix 32-bit malloc for pointers >= 0x80000000
The spans array is allocated in runtime_mallocinit.  On a
32-bit system the number of entries in the spans array is
MaxArena32 / PageSize, which (2U << 30) / (1 << 12) == (1 << 19).
So we are allocating an array that can hold 19 bits for an
index that can hold 20 bits.  According to the comment in the
function, this is intentional: we only allocate enough spans
(and bitmaps) for a 2G arena, because allocating more would
probably be wasteful.

But since the span index is simply the upper 20 bits of the
memory address, this scheme only works if memory addresses are
limited to the low 2G of memory.  That would be OK if we were
careful to enforce it, but we're not.  What we are careful to
enforce, in functions like runtime_MHeap_SysAlloc, is that we
always return addresses between the heap's arena_start and
arena_start + MaxArena32.

We generally get away with it because we start allocating just
after the program end, so we only run into trouble with
programs that allocate a lot of memory, enough to get past
address 0x80000000.

This changes the code that computes a span index to subtract
arena_start on 32-bit systems just as we currently do on
64-bit systems.

From-SVN: r206501
2014-01-09 23:16:56 +00:00
Steve Ellcey
3fadf78ac8 Makefile.in (TREE_FLOW_H): Remove.
2014-01-09  Steve Ellcey  <sellcey@mips.com>

	* Makefile.in (TREE_FLOW_H): Remove.
	(TREE_SSA_H): Add file names from tree-flow.h.
	* doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
	* tree.h: Remove tree-flow.h reference.
	* hash-table.h: Remove tree-flow.h reference.
	* tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
	reference with tree-ssa-loop.h.

From-SVN: r206496
2014-01-09 21:02:43 +00:00
Steve Ellcey
7f216cb269 delay-slot-1.c: Restrict -mabi=64 to 64 bit processors.
2014-01-09  Steve Ellcey  <sellcey@mips.com>

	* gcc.dg/delay-slot-1.c: Restrict -mabi=64 to 64 bit processors.

From-SVN: r206495
2014-01-09 21:00:42 +00:00
Bill Schmidt
6edc217dc1 invoke.texi: Add -maltivec={be,le} options...
2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* doc/invoke.texi: Add -maltivec={be,le} options, and document
	default element-order behavior for -maltivec.
	* config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
	that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
	when targeting big endian, at least for now.
	* config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.

From-SVN: r206494
2014-01-09 20:30:50 +00:00
Jakub Jelinek
3396aba538 re PR middle-end/47735 (Unnecessary adjustments to stack pointer)
PR middle-end/47735
	* cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
	var satisfies use_register_for_decl, just take into account type
	alignment, rather than decl alignment.

	* gcc.target/i386/pr47735.c: New test.

From-SVN: r206493
2014-01-09 21:12:36 +01:00
Jakub Jelinek
a70e9985fd re PR tree-optimization/59622 (internal compiler error: verify_gimple failed)
PR tree-optimization/59622
	* gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
	__builtin_unreachable replace the OBJ_TYPE_REF call with a call to
	__builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
	Don't devirtualize for inplace at all.  For targets.length () == 1,
	if the call is noreturn and cfun isn't in SSA form yet, clear lhs.

	* g++.dg/opt/pr59622-2.C: New test.
	* g++.dg/opt/pr59622-3.C: New test.
	* g++.dg/opt/pr59622-4.C: New test.
	* g++.dg/opt/pr59622-5.C: New test.

From-SVN: r206492
2014-01-09 21:09:33 +01:00
Richard Sandiford
94c13a0911 Fix up ChangeLog Copyright dates.
From-SVN: r206491
2014-01-09 21:08:22 +01:00
Tobias Burnus
2a9e9a6595 cpp.c (gfc_cpp_handle_option): Add missing break.
2014-01-09  Tobias Burnus  <burnus@net-b.de>

        * cpp.c (gfc_cpp_handle_option): Add missing break.
        * trans-io.c (transfer_expr): Silence unused value warning.

From-SVN: r206487
2014-01-09 20:51:13 +01:00
H.J. Lu
46dd124249 Move libgcc ChangeLog entries to libgcc/ChangeLog
From-SVN: r206486
2014-01-09 11:41:54 -08:00
H.J. Lu
6e9cc565f2 Remove the unused btver1
* config/i386/i386.md (cpu): Remove the unused btver1.

From-SVN: r206485
2014-01-09 11:39:53 -08:00
Rong Xu
2c973ee7b3 libgcov-driver.c (this_prg): make it local to save bss space.
2014-01-09  Rong Xu  <xur@google.com>

	* libgcc/libgcov-driver.c (this_prg): make it local to save
        bss space.
	(gcov_exit_compute_summary): Ditto.
	(gcov_exit_merge_gcda): Ditto.
	(gcov_exit_merge_summary): Ditto.
	(gcov_exit_dump_gcov): Ditto.

From-SVN: r206483
2014-01-09 19:13:47 +00:00
Rong Xu
2899377bbb libgcov-driver.c (this_prg): make it local to save bss space.
2014-01-09  Rong Xu  <xur@google.com>

	* libgcc/libgcov-driver.c (this_prg): make it local to save
        bss space.
	(gcov_exit_compute_summary): Ditto.
	(gcov_exit_merge_gcda): Ditto.
	(gcov_exit_merge_summary): Ditto.
	(gcov_exit_dump_gcov): Ditto.

From-SVN: r206482
2014-01-09 19:12:58 +00:00
H.J. Lu
d1c0e4acf1 Put a breakpoint on __sanitizer::Report
* gdbasan.in: Put a breakpoint on __sanitizer::Report.

From-SVN: r206481
2014-01-09 10:40:13 -08:00
Jonathan Wakely
f0bc4aead8 re PR libstdc++/59738 (r206444 caused FAIL: 23_containers/vector/52591.cc)
PR libstdc++/59738
	* include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
	support for non-Movable types.

From-SVN: r206480
2014-01-09 18:38:52 +00:00
Jonathan Wakely
b248fef88f Rotate libstdc++-v3/ChangeLog
From-SVN: r206479
2014-01-09 18:38:40 +00:00
Jakub Jelinek
e83b8e2e24 re PR target/58115 (testcase gcc.target/i386/intrinsics_4.c failure)
PR target/58115
	* tree-core.h (struct target_globals): New forward declaration.
	(struct tree_target_option): Add globals field.
	* tree.h (TREE_TARGET_GLOBALS): Define.
	(prepare_target_option_nodes_for_pch): New prototype.
	* target-globals.h (struct target_globals): Define even if
	!SWITCHABLE_TARGET.
	* tree.c (prepare_target_option_node_for_pch,
	prepare_target_option_nodes_for_pch): New functions.
	* config/i386/i386.h (SWITCHABLE_TARGET): Define.
	* config/i386/i386.c: Include target-globals.h.
	(ix86_set_current_function): Instead of doing target_reinit
	unconditionally, use save_target_globals_default_opts and
	restore_target_globals.
c-family/
	* c-pch.c (c_common_write_pch): Call
	prepare_target_option_nodes_for_pch.

From-SVN: r206478
2014-01-09 19:25:19 +01:00
Jakub Jelinek
b5f58ba331 * sanitizer_common/sanitizer_symbolizer_libbacktrace.h
(LibbacktraceSymbolizer::Demangle): New declaration.
	* sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
	(POSIXSymbolizer::Demangle): Use libbacktrace_symbolizer_'s Demangle
	method if possible.
	* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc: Include
	"demangle.h" if SANITIZE_CP_DEMANGLE is defined.
	(struct CplusV3DemangleData): New type.
	(CplusV3DemangleCallback, CplusV3Demangle): New functions.
	(SymbolizeCodePCInfoCallback, SymbolizeCodeCallback,
	SymbolizeDataCallback): Use CplusV3Demangle.
	* sanitizer_common/Makefile.am (AM_CXXFLAGS): Add
	-DSANITIZE_CP_DEMANGLE and -I $(top_srcdir)/../include.
	* libbacktrace/backtrace-rename.h (cplus_demangle_builtin_types,
	cplus_demangle_fill_ctor, cplus_demangle_fill_dtor,
	cplus_demangle_fill_extended_operator, cplus_demangle_fill_name,
	cplus_demangle_init_info, cplus_demangle_mangled_name,
	cplus_demangle_operators, cplus_demangle_print,
	cplus_demangle_print_callback, cplus_demangle_type, cplus_demangle_v3,
	cplus_demangle_v3_callback, is_gnu_v3_mangled_ctor,
	is_gnu_v3_mangled_dtor, java_demangle_v3, java_demangle_v3_callback):
	Define.
	(__asan_internal_memcmp, __asan_internal_strncmp): New prototypes.
	(memcmp, strncmp): Redefine.
	* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES): Add
	../../libiberty/cp-demangle.c.
	* libbacktrace/bridge.cc (__asan_internal_memcmp,
	__asan_internal_strncmp): New functions.
	* sanitizer_common/Makefile.in: Regenerated.
	* libbacktrace/Makefile.in: Regenerated.
	* configure: Regenerated.
	* configure.ac: Regenerated.
	* config.h.in: Regenerated.

From-SVN: r206477
2014-01-09 19:16:40 +01:00
Jakub Jelinek
2613419a70 Makefile.am (AM_CPPFLAGS): Add -isystem $(top_srcdir)/include/system.
* sanitizer_common/Makefile.am (AM_CPPFLAGS): Add
	-isystem $(top_srcdir)/include/system.
	* sanitizer_common/Makefile.in: Regenerated.
	* include/system/linux/aio_abi.h: New header.
	* include/system/linux/mroute.h: New header.
	* include/system/linux/mroute6.h: New header.
	* include/system/linux/perf_event.h: New header.
	* include/system/linux/types.h: New header.

From-SVN: r206476
2014-01-09 19:15:41 +01:00
Jakub Jelinek
c915a58145 re PR sanitizer/59136 (llvm-symbolizer shouldn't be started always)
PR sanitizer/59136
libsanitizer/
	* sanitizer_common/Makefile.am (AM_CXXFLAGS): If
	LIBBACKTRACE_SUPPORTED add -DSANITIZER_LIBBACKTRACE
	and -I/-include flags.
	* lsan/Makefile.am (liblsan_la_LIBADD): Add
	libsanitizer_libbacktrace.la if LIBBACKTRACE_SUPPORTED.
	* tsan/Makefile.am (libtsan_la_LIBADD): Likewise.
	* ubsan/Makefile.am (libubsan_la_LIBADD): Likewise.
	* asan/Makefile.am (libasan_la_LIBADD): Likewise.
	* Makefile.am (SUBDIRS): If LIBBACKTRACE_SUPPORTED add
	libbacktrace.
	* README.gcc: Document that also lsan and ubsan are
	maintained in compiler-rt upstream.
	* libbacktrace/Makefile.am: New file.
	* libbacktrace/backtrace-rename.h: New file.
	* libbacktrace/backtrace-supported.h.in: New file.
	* libbacktrace/bridge.cc: New file.
	* configure.ac: Add tests needed for libbacktrace build
	within libsanitizer.
	* sanitizer_common/Makefile.in: Regenerated.
	* lsan/Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.
	* ubsan/Makefile.in: Regenerated.
	* libbacktrace/Makefile.in: Generated.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* interception/Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
testsuite/
	* c-c++-common/asan/strip-path-prefix-1.c: Allow also the
	filename:line instead of (modulename+offset) form with stripped
	initial / from the filename.

From-SVN: r206475
2014-01-09 19:13:39 +01:00
Ian Lance Taylor
2fbec1f28b go-test.exp (go-gc-tests): Skip nilptr tests that test the other Go compiler.
* go.test/go-test.exp (go-gc-tests): Skip nilptr tests that test
	the other Go compiler.

From-SVN: r206474
2014-01-09 17:58:14 +00:00
Paolo Carlini
554b6ea7a8 re PR c++/59730 (ICE: in type_dependent_expression_p, at cp/pt.c:19969)
2014-01-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59730
	* g++.dg/cpp0x/variadic145.C: New.

From-SVN: r206473
2014-01-09 17:45:55 +00:00