1. 20 Jan, 2015 13 commits
    • Implement N3657: heterogeneous lookup in associative containers. · 91c78ea5
      	* 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
      Jonathan Wakely committed
    • Add C++11 std::string constructors for locales and facets. · 71a16cd8
      	* 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
      Jonathan Wakely committed
    • re PR libstdc++/64658 (std::atomic_init() undefined) · 0e4974d6
      	PR libstdc++/64658
      	* include/std/atomic (atomic_init): Define.
      	* testsuite/29_atomics/atomic/64658.cc: New.
      
      From-SVN: r219886
      Jonathan Wakely committed
    • re PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers) · f1691f6c
      2015-01-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/64410
      	* g++.dg/vect/pr64410.cc: Require vect_double.
      
      From-SVN: r219885
      Richard Biener committed
    • [ARM] PR 64149: Remove -mlra/-mno-lra option for ARM. · c896d4b4
      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
      Matthew Wahab committed
    • * config/visium/visium.h (LIB_SPEC): Adjust in default case. · a76ffff1
      From-SVN: r219883
      Eric Botcazou committed
    • Link with -lrt on Solaris 10 · 5bd8d5c1
      	* 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
      Rainer Orth committed
    • mul-tables.c: Move symtab.h include after coretypes.h include. · 42df23a6
      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
      Prathamesh Kulkarni committed
    • re PR bootstrap/64676 (SEGV in tree-ssa-structalias.c solve_constraint) · 7002f3bd
      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
      Igor Zamyatin committed
    • re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO) · a5fcfb6d
      
      	PR lto/45375
      	* i386.c (ix86_option_override_internal): Use ix86_tune_cost
      	to set branch cost.
      
      From-SVN: r219878
      Jan Hubicka committed
    • runtime: No special case for 386 complex in FFI support. · cea526b8
      All supported libgo 386 targets now have complex support in
      libffi.
      
      From Uros Bizjak.
      
      From-SVN: r219877
      Ian Lance Taylor committed
    • New jit API entrypoint: gcc_jit_context_compile_to_file · fdce7209
      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
      David Malcolm committed
    • Daily bump. · cb22ab41
      From-SVN: r219874
      GCC Administrator committed
  2. 19 Jan, 2015 27 commits