Commit Graph

136087 Commits

Author SHA1 Message Date
Christophe Lyon
d9355320f1 [ARM/AArch64][testsuite] Add vsli_n and vsri_n tests.
2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: New file.

From-SVN: r219934
2015-01-21 11:23:42 +01:00
Matthias Klose
c18b73e1d0 libtool-version: Bump soversion.
2015-01-21  Matthias Klose  <doko@ubuntu.com>

        * libtool-version: Bump soversion.

From-SVN: r219933
2015-01-21 10:17:59 +00:00
Christophe Lyon
dc60142a88 [ARM/AArch64][testsuite] Add vqdmlal_n and vqdmlsl_n tests.
2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: New file.

From-SVN: r219932
2015-01-21 11:15:13 +01:00
Christophe Lyon
e6ad0b153e [ARM/AArch64][testsuite] Add vqdmlal_lane and vqdmlsl_lane tests.
2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c: New file.

From-SVN: r219931
2015-01-21 11:13:47 +01:00
Christophe Lyon
7378039064 [ARM/AArch64][testsuite] Add vqdmlal and vqdmlsl tests.
2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: New file.

From-SVN: r219930
2015-01-21 11:11:44 +01:00
Nick Clifton
cf836bd3d6 rl78.c (rl78_calculate_death_notes): Look inside PARALLELs.
* config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
	PARALLELs.

From-SVN: r219929
2015-01-21 09:34:38 +00:00
Richard Biener
cbf5d0e70c re PR middle-end/64313 (gcc.dg/torture/builtin-explog-1.c fails on bare-metal targets)
2015-01-21  Richard Biener  <rguenther@suse.de>

	PR middle-end/64313
	* tree-core.h (builtin_info, builtin_info_type): Turn from
	an object with two arrays into an array of an object with
	decl and two flags, implicit_p and declared_p.
	* tree.h (builtin_decl_explicit, builtin_decl_implicit,
	set_builtin_decl, set_builtin_decl_implicit_p,
	builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
	(set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
	* builtins.c (builtin_info): Adjust.
	* gimplify.c (gimplify_addr_expr): References to builtins
	that have been declared by the user makes them eligible for
	use by the compiler.  Call set_builtin_decl_implicit_p on them.

	c/
	* c-decl.c (merge_decls): Call set_builtin_decl_declared_p
	for builtins the user declared correctly.

	cp/
	* decl.c (duplicate_decls): Call set_builtin_decl_declared_p
	for builtins the user declared correctly.

From-SVN: r219928
2015-01-21 09:04:53 +00:00
Jeff Law
1f36fbf4a8 re PR target/59946 (-mpcrel -O2 produces illegal asm code)
2015-01-20  Jeff Law  <law@redhat.com>

	PR target/59946
	* config/m68k/m68k.md (Comparison expanders and patterns): Do not
	allow pc-relative addresses in operand predicates or constraints.

	PR target/59946
	* gcc.target/m68k/pr59946.c: New test.

From-SVN: r219927
2015-01-20 23:17:50 -07:00
Bin Cheng
18092bec58 arm.c (arm_cortex_a53_tune, [...]): Prefer neon on aarch32 processors for stringops.
* config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
	neon on aarch32 processors for stringops.

From-SVN: r219926
2015-01-21 05:57:05 +00:00
GCC Administrator
b7d2b8da5d Daily bump.
From-SVN: r219925
2015-01-21 00:16:57 +00:00
Christophe Lyon
07cdd01e28 [ARM/AArch64][testsuite] Add vmlal_n and vmlsl_n tests.
2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vmlXl_n.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmlal_n.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmlsl_n.c: New file.

From-SVN: r219922
2015-01-21 00:25:37 +01:00
Christophe Lyon
e20a3d0f5c [ARM/AArch64][testsuite] Add vmlal_lane and vmlsl_lane tests.
2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vmlXl_lane.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmlal_lane.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmlsl_lane.c: New file.

From-SVN: r219921
2015-01-21 00:23:44 +01:00
Christophe Lyon
8e4a8e54ae [ARM/AArch64][testsuite] Add vmlal and vmlsl tests.
2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vmlXl.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmlal.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmlsl.c: New file.

From-SVN: r219920
2015-01-21 00:21:35 +01:00
Christophe Lyon
8df0f8aad2 [ARM/AArch64][testsuite] Add vtrn tests. Refactor vzup and vzip tests.
2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vtrn.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Use code from
	vshuffle.inc.
	* gcc.target/aarch64/advsimd-intrinsics/vzip.c: Use code from
	vshuffle.inc.

From-SVN: r219919
2015-01-21 00:19:12 +01:00
Christophe Lyon
1a1345f4e8 [ARM/AArch64][testsuite] Add vmla_lane and vmls_lane tests.
2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vmlX_lane.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmla_lane.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmls_lane.c: New file.

From-SVN: r219918
2015-01-20 23:21:56 +01:00
Christophe Lyon
84c8a10b6f [ARM/AArch64][testsuite] Add vmla and vmls tests.
2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vmlX.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmla.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmls.c: New file.

From-SVN: r219917
2015-01-20 22:44:51 +01:00
Ian Lance Taylor
2d8536f614 compiler: Do not mark unused variables as used inside closures.
Fixes golang/go#6415.

From-SVN: r219916
2015-01-20 21:29:28 +00:00
Richard Henderson
039ad4c2f4 re PR libffi/64581 (libffi/testsuite/libffi.special/special.exp doesn't use newly built GCC)
PR libffi/64581

 * testsuite/lib/libffi.exp (libffi_target_compile): Don't switch
 to C++ mode when compiling C++ source code.

From-SVN: r219915
2015-01-20 13:26:04 -08:00
Christophe Lyon
a5504e99e1 [ARM/AArch64][testsuite] Add vldX_dup test.
* gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: New file.

From-SVN: r219914
2015-01-20 22:03:49 +01:00
Jakub Jelinek
d302f41d4e * gcc.dg/guality/pr49888.c (v): Add __attribute__((used)).
From-SVN: r219913
2015-01-20 21:41:04 +01:00
Jakub Jelinek
3ea3641880 re PR sanitizer/64632 (runtime error: member call on address 0x0000004318a8 which does not point to an object of type 'ios_base')
PR sanitizer/64632
	* ubsan/ubsan_type_hash.cc: Cherry pick upstream r224972.

	* g++.dg/ubsan/pr64632.C: New test.

From-SVN: r219912
2015-01-20 21:39:52 +01:00
Jan Hubicka
befb1f36a7 re PR ipa/63576 (ICE : in ipa_merge_profiles, at ipa-utils.c:540 during Firefox LTO/PGO build)
PR ipa/63576
	* ipa-utils.c (ipa_merge_profiles): Merge speculative edges.

From-SVN: r219910
2015-01-20 20:03:23 +00:00
Jan Hubicka
bb1e543c64 re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
PR lto/45375
	* ipa-inline.c: Include lto-streamer.h
	(report_inline_failed_reason): Output source file differences and
	flags on optimization/target node mismatch.
	(can_inline_edge_p): Consider caller to be the outer inline function;
	be less restrictive about matching opimize and optimize_size attributes.
	(inline_account_function_p): Break out from ...
	(inline_small_functions): ... here.
	* ipa-inline-transform.c (clone_inlined_nodes): Use
	inline_account_function_p.
	(inline_call): Use optimize attribution; use inline_account_function_p.
	(inline_transform): Use opt_for_fn.
	* ipa-inline.h (inline_account_function_p): Declare.

From-SVN: r219909
2015-01-20 19:48:59 +00:00
Jakub Jelinek
17cb42833c re PR debug/64663 (ICE at -O1 and above with -g enabled on x86_64-linux-gnu)
PR debug/64663
	* dwarf2out.c (decl_piece_node): Don't put bitsize into
	mode if bitsize <= 0.
	(decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
	dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
	sizes and positions.

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

From-SVN: r219906
2015-01-20 19:29:58 +01:00
Ian Lance Taylor
73cb399d51 re PR go/64683 (FAIL: runtime/pprof -- testing.go:278: The entry did not match)
PR go/64683
runtime/pprof: Let memory profiler test pass if value not collected.

Since gccgo's GC is not precise, the transient value may not
be collected.  Let the regexp match that case as well.

From-SVN: r219900
2015-01-20 16:11:36 +00:00
Chung-Lin Tang
a9ce4e4a70 nios2.c (nios2_asm_file_end): Implement TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when needed.
2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* config/nios2/nios2.c (nios2_asm_file_end): Implement
	TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
	needed.
	(TARGET_ASM_FILE_END): Define.

	libgcc/
	* config/nios2/linux-unwind.h (nios2_fallback_frame_state):
	Update rt_sigframe format and address for current Nios II
	Linux conventions.

From-SVN: r219898
2015-01-20 14:49:51 +00:00
Paolo Carlini
3b6444f0aa re PR c++/64383 (missed warning for unused variable.)
2015-01-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64383
	* g++.dg/warn/Wunused-var-23.C: New.

From-SVN: r219896
2015-01-20 14:19:32 +00:00
Paolo Carlini
67ee3e618e re PR c++/59937 ([constexpr] bogus diagnostic "used in its own initializer")
2015-01-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59937
	* g++.dg/cpp0x/constexpr-59937-1.C: New.
	* g++.dg/cpp0x/constexpr-59937-2.C: Likewise.

From-SVN: r219894
2015-01-20 13:39:10 +00:00
Maxim Kuvyrkov
237c70c352 Use enum for sched_autopref tune settings
* config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
	(struct tune_params): Use the enum.
	* arm.c (arm_*_tune): Update.
	(arm_option_override): Update.

From-SVN: r219893
2015-01-20 13:37:02 +00:00
Richard Biener
2fd2ae3458 re PR lto/64684 (wrong code by LTO on x86_64-linux-gnu)
2015-01-20  Richard Biener  <rguenther@suse.de>

	PR ipa/64684
	* ipa-reference.c (add_static_var): Inline ...
	(analyze_function): ... here after splitting out from ...
	(is_proper_for_analysis): ... this.

	* gcc.dg/lto/pr64684_0.c: New testcase.
	* gcc.dg/lto/pr64684_1.c: Likewise.
	* gcc.dg/lto/pr64684_2.c: Likewise.
	* gcc.dg/lto/pr64685_0.c: Likewise.
	* gcc.dg/lto/pr64685_1.c: Likewise.

From-SVN: r219892
2015-01-20 13:26:19 +00:00
Jonathan Wakely
7d56e747e2 status_cxx2011.xml: Remove stray dbhtml tags.
* doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
	* doc/xml/manual/status_cxx2014.xml: Update status.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r219891
2015-01-20 12:31:22 +00:00
Paolo Carlini
efb6a9ced0 re PR c++/62241 (C++14 generalized lambda capture doesn't work with uniform initialization syntax.)
2015-01-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/62241
	* g++.dg/cpp1y/lambda-init12.C: New.

From-SVN: r219890
2015-01-20 11:58:43 +00:00
Jonathan Wakely
4159cf0d22 re PR libstdc++/64650 (std::experimental::bad_optional_access is not default constructible)
PR libstdc++/64650
	* include/experimental/optional (bad_optional_access): Add default
	constructor.
	* testsuite/experimental/optional/requirements.cc: Test for default
	constructor.

From-SVN: r219889
2015-01-20 11:51:03 +00:00
Jonathan Wakely
91c78ea5b6 Implement N3657: heterogeneous lookup in associative containers.
* include/bits/stl_map.h (map::find<>, map::count<>,
	map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
	member function templates to perform heterogeneous lookup.
	* include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
	multimap::lower_bound<>, multimap::upper_bound<>,
	multimap::equal_range<>): Likewise.
	* include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
	multiset::lower_bound<>, multiset::upper_bound<>,
	multiset::equal_range<>): Likewise.
	* include/bits/stl_set.h (set::find<>, set::count<>,
	set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
	* include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
	_Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
	_Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
	_Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
	* testsuite/23_containers/map/operations/2.cc: New.
	* testsuite/23_containers/multimap/operations/2.cc: New.
	* testsuite/23_containers/multiset/operations/2.cc: New.
	* testsuite/23_containers/set/operations/2.cc: New.

From-SVN: r219888
2015-01-20 11:50:58 +00:00
Jonathan Wakely
71a16cd8bc Add C++11 std::string constructors for locales and facets.
* config/abi/pre/gnu.ver: Export new constructors.
	* include/bits/codecvt.h (codecvt_byname): Add string constructor.
	(codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
	specializations and declare explicit instantiations.
	* include/bits/locale_classes.h (locale, collate_byname): Add string
	constructors.
	* include/bits/locale_facets.h (ctype_byname, numpunct_byname):
	Likewise.
	* include/bits/locale_facets_nonio.h (time_get_byname,
	time_put_byname, moneypunct_byname, messages_byname): Likewise.
	* src/c++11/codecvt.cc (codecvt_byname<char16_t>,
	codecvt_byname<char32_t>): Define explicit instantiations.
	* src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
	Instantiate string constructors.
	(ctype_byname): Define string constructor.
	* testsuite/22_locale/codecvt_byname/1.cc: New.
	* testsuite/22_locale/collate_byname/1.cc: New.
	* testsuite/22_locale/ctype_byname/2.cc: New.
	* testsuite/22_locale/messages_byname/1.cc: New.
	* testsuite/22_locale/moneypunct_byname/1.cc: New.
	* testsuite/22_locale/numpunct_byname/1.cc: New.

From-SVN: r219887
2015-01-20 11:50:51 +00:00
Jonathan Wakely
0e4974d62e re PR libstdc++/64658 (std::atomic_init() undefined)
PR libstdc++/64658
	* include/std/atomic (atomic_init): Define.
	* testsuite/29_atomics/atomic/64658.cc: New.

From-SVN: r219886
2015-01-20 11:50:43 +00:00
Richard Biener
f1691f6c78 re PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers)
2015-01-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64410
	* g++.dg/vect/pr64410.cc: Require vect_double.

From-SVN: r219885
2015-01-20 11:06:13 +00:00
Matthew Wahab
c896d4b449 [ARM] PR 64149: Remove -mlra/-mno-lra option for ARM.
gcc/
2015-01-20  Matthew Wahab  <matthew.wahab@arm.com>

	PR target/64149
	* config/arm/arm.option: Remove lra option and arm_lra_flag variable.
	* config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flag,
	replace the conditional with it's true branch.
	* config/arm/arm.c (TARGET_LRA_P): Set to hook_bool_void_true.
	(arm_lra_p): Remove.

gcc/testsuite/
2015-01-20  matthewhew Wahab  <matthew.wahab@arm.com>

	PR target/64149
	* gcc.target/arm/armthumb1-far-jump-3.c: Remove.

From-SVN: r219884
2015-01-20 10:26:18 +00:00
Eric Botcazou
a76ffff1bd * config/visium/visium.h (LIB_SPEC): Adjust in default case.
From-SVN: r219883
2015-01-20 09:32:07 +00:00
Rainer Orth
5bd8d5c12c Link with -lrt on Solaris 10
* configure.ac: Check if sched_yield and/or nanosleep need -lrt.
	* configure: Regenerate.
	* Makefile.am (go$(EXEEXT), gofmt$(EXEEXT), cgo$(EXEEXT)): Link
	with $(LIBS).
	* Makefile.in: Regenerate.

From-SVN: r219882
2015-01-20 09:26:50 +00:00
Prathamesh Kulkarni
42df23a65e mul-tables.c: Move symtab.h include after coretypes.h include.
2015-01-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* config/tilegx/mul-tables.c: Move symtab.h include after coretypes.h include.
	* config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, vec.h,
	machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
	double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
	insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.

From-SVN: r219881
2015-01-20 09:02:56 +00:00
Igor Zamyatin
7002f3bd9c re PR bootstrap/64676 (SEGV in tree-ssa-structalias.c solve_constraint)
gcc/

	PR bootstrap/64676
	Revert:
	2015-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>

	PR rtl-optimization/64081
	* loop-iv.c (def_pred_latch_p): New function.
	(latch_dominating_def): Allow specific cases with non-single
	definitions.
	(iv_get_reaching_def): Likewise.
	(check_complex_exit_p): New function.
	(check_simple_exit): Use check_complex_exit_p to allow certain cases
	with exits not executing on any iteration.

gcc/testsuite/

	PR bootstrap/64676
	Revert:
	2014-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>

	PR rtl-optimization/64081
	* gcc.dg/pr64081.c: New test.

From-SVN: r219880
2015-01-20 08:29:09 +00:00
Jan Hubicka
a5fcfb6df9 re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
PR lto/45375
	* i386.c (ix86_option_override_internal): Use ix86_tune_cost
	to set branch cost.

From-SVN: r219878
2015-01-20 04:39:45 +00:00
Ian Lance Taylor
cea526b81c runtime: No special case for 386 complex in FFI support.
All supported libgo 386 targets now have complex support in
libffi.

From Uros Bizjak.

From-SVN: r219877
2015-01-20 04:18:12 +00:00
David Malcolm
fdce7209c2 New jit API entrypoint: gcc_jit_context_compile_to_file
gcc/jit/ChangeLog:
	* docs/cp/topics/results.rst: Rename to...
	* docs/cp/topics/compilation.rst: ...this, and add section on
	ahead-of-time compilation.
	* docs/cp/topics/index.rst: Update for renaming of results.rst
	to compilation.rst.
	* docs/examples/emit-alphabet.bf: New file, a sample "brainf"
	script.
	* docs/examples/tut05-bf.c: New file, implementing a compiler
	for "brainf".
	* docs/internals/test-hello-world.exe.log.txt: Update to reflect
	changes to logger output.
	* docs/intro/index.rst: Add tutorial05.rst
	* docs/intro/tutorial05.rst: New file.
	* docs/topics/results.rst: Rename to...
	* docs/topics/compilation.rst: ...this, and add section on
	ahead-of-time compilation.
	* docs/topics/index.rst: Update for renaming of results.rst to
	compilation.rst.
	* jit-playback.c (gcc::jit::playback::context::compile): Convert
	return type from result * to void.  Move the code to convert to
	dso and dlopen the result to a new pure virtual "postprocess"
	method.
	(gcc::jit::playback::compile_to_memory::compile_to_memory): New
	function.
	(gcc::jit::playback::compile_to_memory::postprocess): New
	function, based on playback::context::compile.
	(gcc::jit::playback::compile_to_file::compile_to_file): New
	function.
	(gcc::jit::playback::compile_to_file::postprocess): New function.
	(gcc::jit::playback::compile_to_file::copy_file): New function.
	(gcc::jit::playback::context::convert_to_dso): Move internals
	to...
	(gcc::jit::playback::context::invoke_driver): New method.  Add
	"-shared" and "-c" options to driver's argv as needed.
	* jit-playback.h: Include "timevar.h".
	(gcc::jit::playback::context::compile): Convert return type from
	result * to void.
	(gcc::jit::playback::context::postprocess): New pure virtual
	function, making this an abstract base class.
	(gcc::jit::playback::context::get_tempdir): New accessor.
	(gcc::jit::playback::context::invoke_driver): New function.
	(class gcc::jit::playback::compile_to_memory): New subclass of
	playback::context.
	(class gcc::jit::playback::compile_to_file): Likewise.
	* jit-recording.c (gcc::jit::recording::context::compile): Use a
	playback::compile_to_memory, and extract its result.
	(gcc::jit::recording::context::compile_to_file): New function.
	* jit-recording.h (gcc::jit::recording::context::compile_to_file):
	New function.
	* libgccjit++.h (gccjit::context::compile_to_file): New method.
	* libgccjit.c (gcc_jit_context_compile): Update log message to
	clarify that this is an in-memory compile.
	(gcc_jit_context_compile_to_file): New function.
	* libgccjit.h (gcc_jit_context): Clarify that you can compile
	a context more than once, and that you can compile to a file
	as well as to memory.
	(gcc_jit_result): Clarify that this is the result of an
	in-memory compilation.
	(gcc_jit_context_compile): Clarify that you can compile, and that
	this is an in-memory compilation.
	(enum gcc_jit_output_kind): New enum.
	(gcc_jit_context_compile_to_file): New function.
	(gcc_jit_context_enable_dump): Clarify comment to cover both forms
	of compilation.
	* libgccjit.map (gcc_jit_context_compile_to_file): New API
	entrypoint.
	* notes.txt: Update to show the playback::context::postprocess
	virtual function.

gcc/testsuite/ChangeLog:
	* jit.dg/harness.h: Include <unistd.h>.
	(CHECK_NO_ERRORS): New.
	(verify_code): Wrap prototype in #ifndef TEST_COMPILING_TO_FILE.
	(test_jit): Support new macro TEST_COMPILING_TO_FILE for exercising
	gcc_jit_context_compile_to_file.
	* jit.dg/jit.exp (fixed_host_execute): Fix the code for passing on
	args to the spawned executable.
	(jit-expand-vars): New function.
	(jit-exe-params): New variable.
	(dg-jit-set-exe-params): New function.
	(jit-dg-test): Detect testcases that use
	jit-verify-compile-to-file and call jit-setup-compile-to-file.
	Set arguments of spawned process to jit-exe-params.
	(jit-get-output-filename): New function.
	(jit-setup-compile-to-file): New function.
	(jit-verify-compile-to-file): New function.
	(jit-run-executable): New function.
	(jit-verify-executable): New function.
	* jit.dg/test-compile-to-assembler.c: New testcase.
	* jit.dg/test-compile-to-dynamic-library.c: New testcase.
	* jit.dg/test-compile-to-executable.c: New testcase.
	* jit.dg/test-compile-to-object.c: New testcase.

From-SVN: r219876
2015-01-20 01:32:48 +00:00
GCC Administrator
cb22ab4164 Daily bump.
From-SVN: r219874
2015-01-20 00:16:59 +00:00
Jan Hubicka
a1aff58fb9 re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
PR lto/45375
	* i386.c (gate): Check flag_expensive_optimizations and
	optimize_size.
	(ix86_option_override_internal): Drop optimize_size condition
	on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
	MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
	MASK_PREFER_AVX128.
	(ix86_avx256_split_vector_move_misalign,
	ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
	* sse.md (all uses of TARGET_PREFER_AVX128): Add
	optimize_insn_for_speed_p check.

From-SVN: r219871
2015-01-19 23:58:19 +00:00
Oleg Endo
0c84d521a9 re PR target/64652 ([SH] ICE when using -mdiv=call-fp)
gcc/testsuite/
	PR target/64652
	* gcc.target/sh/torture/pr64652.c (test): Rename to test_0.
	(test_1): New.

From-SVN: r219870
2015-01-19 23:25:03 +00:00
Matthew Fortune
aa0c464a8a MIPS: Only pass floating-point options to the assembler when necessary
gcc/
	* config/mips/mips.h (FP_ASM_SPEC): New define.
	(ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
	instead.

From-SVN: r219867
2015-01-19 23:05:41 +00:00
Tim Shen
e5f3553320 re PR libstdc++/64649 (regex_traits::lookup_classname() only works with random access iterators)
PR libstdc++/64649
	* include/bits/regex.tcc (regex_traits<>::lookup_collatename,
	regex_traits<>::lookup_classname): Support forward iterators.
	* testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
	* testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.

From-SVN: r219866
2015-01-19 23:00:13 +00:00