gcc.git
9 years agore PR lto/64684 (wrong code by LTO on x86_64-linux-gnu)
Richard Biener [Tue, 20 Jan 2015 13:26:19 +0000 (13:26 +0000)]
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

9 years agostatus_cxx2011.xml: Remove stray dbhtml tags.
Jonathan Wakely [Tue, 20 Jan 2015 12:31:22 +0000 (12:31 +0000)]
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

9 years agore PR c++/62241 (C++14 generalized lambda capture doesn't work with uniform initializ...
Paolo Carlini [Tue, 20 Jan 2015 11:58:43 +0000 (11:58 +0000)]
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

9 years agore PR libstdc++/64650 (std::experimental::bad_optional_access is not default construc...
Jonathan Wakely [Tue, 20 Jan 2015 11:51:03 +0000 (11:51 +0000)]
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

9 years agoImplement N3657: heterogeneous lookup in associative containers.
Jonathan Wakely [Tue, 20 Jan 2015 11:50:58 +0000 (11:50 +0000)]
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

9 years agoAdd C++11 std::string constructors for locales and facets.
Jonathan Wakely [Tue, 20 Jan 2015 11:50:51 +0000 (11:50 +0000)]
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

9 years agore PR libstdc++/64658 (std::atomic_init() undefined)
Jonathan Wakely [Tue, 20 Jan 2015 11:50:43 +0000 (11:50 +0000)]
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

9 years agore PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers)
Richard Biener [Tue, 20 Jan 2015 11:06:13 +0000 (11:06 +0000)]
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

9 years ago[ARM] PR 64149: Remove -mlra/-mno-lra option for ARM.
Matthew Wahab [Tue, 20 Jan 2015 10:26:18 +0000 (10:26 +0000)]
[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

9 years ago* config/visium/visium.h (LIB_SPEC): Adjust in default case.
Eric Botcazou [Tue, 20 Jan 2015 09:32:07 +0000 (09:32 +0000)]
* config/visium/visium.h (LIB_SPEC): Adjust in default case.

From-SVN: r219883

9 years agoLink with -lrt on Solaris 10
Rainer Orth [Tue, 20 Jan 2015 09:26:50 +0000 (09:26 +0000)]
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

9 years agomul-tables.c: Move symtab.h include after coretypes.h include.
Prathamesh Kulkarni [Tue, 20 Jan 2015 09:02:56 +0000 (09:02 +0000)]
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

9 years agore PR bootstrap/64676 (SEGV in tree-ssa-structalias.c solve_constraint)
Igor Zamyatin [Tue, 20 Jan 2015 08:29:09 +0000 (08:29 +0000)]
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

9 years agore PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
Jan Hubicka [Tue, 20 Jan 2015 04:39:45 +0000 (05:39 +0100)]
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

9 years agoruntime: No special case for 386 complex in FFI support.
Ian Lance Taylor [Tue, 20 Jan 2015 04:18:12 +0000 (04:18 +0000)]
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

9 years agoNew jit API entrypoint: gcc_jit_context_compile_to_file
David Malcolm [Tue, 20 Jan 2015 01:32:48 +0000 (01:32 +0000)]
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

9 years agoDaily bump.
GCC Administrator [Tue, 20 Jan 2015 00:16:59 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219874

9 years agore PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
Jan Hubicka [Mon, 19 Jan 2015 23:58:19 +0000 (00:58 +0100)]
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

9 years agore PR target/64652 ([SH] ICE when using -mdiv=call-fp)
Oleg Endo [Mon, 19 Jan 2015 23:25:03 +0000 (23:25 +0000)]
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

9 years agoMIPS: Only pass floating-point options to the assembler when necessary
Matthew Fortune [Mon, 19 Jan 2015 23:05:41 +0000 (23:05 +0000)]
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

9 years agore PR libstdc++/64649 (regex_traits::lookup_classname() only works with random access...
Tim Shen [Mon, 19 Jan 2015 23:00:13 +0000 (23:00 +0000)]
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

9 years agore PR libstdc++/64584 (basic_regex::assign breaks *this if it throws regex_error)
Tim Shen [Mon, 19 Jan 2015 22:56:04 +0000 (22:56 +0000)]
re PR libstdc++/64584 (basic_regex::assign breaks *this if it throws regex_error)

PR libstdc++/64584
PR libstdc++/64585
* include/bits/regex.h (basic_regex<>::basic_regex,
basic_regex<>::assign, basic_regex<>::imbue,
basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
imbuing basic_regex; Make assign() transactional against exception.
* include/bits/regex_compiler.h (__compile_nfa<>): Add back
__compile_nfa SFINAE.
* include/std/regex: Adjust include order to avoid __compile_nfa
forward declaration.
* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.

From-SVN: r219865

9 years agore PR target/53988 ([SH] tst Rm,Rn not used for QI/HImode)
Oleg Endo [Mon, 19 Jan 2015 22:35:53 +0000 (22:35 +0000)]
re PR target/53988 ([SH] tst Rm,Rn not used for QI/HImode)

gcc/
PR target/53988
* config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
nullptr for insn when reaching the first insn.
* config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
(sh_insn_operands_modified_between_p): Add nullptr check.
(sh_find_extending_set_of_reg): Fix log message.  Don't accept
sign extending mem load if the insn contains any UNSPEC or
UNSPEC_VOLATILE.

From-SVN: r219864

9 years agoparams.def (inline-unit-growth): Drop to 15%.
Jan Hubicka [Mon, 19 Jan 2015 22:11:03 +0000 (23:11 +0100)]
params.def (inline-unit-growth): Drop to 15%.

* params.def (inline-unit-growth): Drop to 15%.
* invoke.texi (inline-unit-growth): Document change.

From-SVN: r219863

9 years agoAdd attribute unused to dummy arguments in ffi stub
Richard Henderson [Mon, 19 Jan 2015 22:10:59 +0000 (14:10 -0800)]
Add attribute unused to dummy arguments in ffi stub

From-SVN: r219862

9 years agore PR ipa/64668 (internal compiler error: in compare_ssa_name, at ipa-icf-gimple...
Martin Liska [Mon, 19 Jan 2015 22:02:04 +0000 (23:02 +0100)]
re PR ipa/64668 (internal compiler error: in compare_ssa_name, at ipa-icf-gimple.c:120)

Fix PR64668.

* objc/compile/pr64668.m: New test.
PR ipa/64668
* ipa-icf-gimple.c (func_checker::compare_operand): Call proper
function for second argument of OBJ_TYPE_REF.

From-SVN: r219861

9 years agoMerge with upstream libffi 3ac1610aa33c887ea9b14935208943925714a33e
Richard Henderson [Mon, 19 Jan 2015 21:14:59 +0000 (13:14 -0800)]
Merge ... upstream libffi 3ac1610aa33c887ea9b14935208943925714a33e

Includes build fixes for Solaris and Cygwin.

From-SVN: r219860

9 years agore PR ipa/64218 (ICE: Segmentation fault (symtab_node::get_alias_target()) running...
Jan Hubicka [Mon, 19 Jan 2015 20:46:15 +0000 (21:46 +0100)]
re PR ipa/64218 (ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite)

PR ipa/64218
* ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
whether function is an alias.

From-SVN: r219859

9 years agoipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless cases.
Jan Hubicka [Mon, 19 Jan 2015 20:35:55 +0000 (21:35 +0100)]
ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless cases.

* ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
cases.

From-SVN: r219858

9 years agore PR rtl-optimization/64671 (s390-linux profiledbootstrap failure)
Vladimir Makarov [Mon, 19 Jan 2015 20:13:35 +0000 (20:13 +0000)]
re PR rtl-optimization/64671 (s390-linux profiledbootstrap failure)

2015-01-19  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/64671
* lra-remat.c (operand_to_remat): Don't consider jump and call
insns.

From-SVN: r219857

9 years agoFix int vs bool issue in jit.dg/test-arith-overflow.c
David Malcolm [Mon, 19 Jan 2015 19:15:10 +0000 (19:15 +0000)]
Fix int vs bool issue in jit.dg/test-arith-overflow.c

gcc/testsuite/ChangeLog:
* jit.dg/test-arith-overflow.c: Include stdbool.h.
(create_overflow_fn): Update comment to clarify that
the third param of the created function is a bool *, not
an int *.
(verify_int_overflow_fn): Convert param "expected_ovf" from
int to bool.  Update third param of "overflow_fn_type" from int *
to bool *.  Update local "actual_ovf" from int to bool.
(verify_uint_overflow_fn): Likewise.

From-SVN: r219856

9 years agore PR ada/64640 (Ada build failure on cygwin-32)
Bernd Edlinger [Mon, 19 Jan 2015 19:00:18 +0000 (19:00 +0000)]
re PR ada/64640 (Ada build failure on cygwin-32)

2015-01-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ada/64640
        * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
        * mingw32.h: Don't include <tchar.h> under cygwin.
        (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.

From-SVN: r219855

9 years agodefault64.h: Include rs6000-cpus.def.
David Edelsohn [Mon, 19 Jan 2015 18:33:24 +0000 (18:33 +0000)]
default64.h: Include rs6000-cpus.def.

        * config/rs6000/default64.h: Include rs6000-cpus.def.
        (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
        (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
        * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
        and POWER8.
        * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
        POWER8.
        * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
        pseudo-op to specify assembler dialect.

From-SVN: r219854

9 years agore PR ipa/64664 (ICE: tree check: expected function_decl, have <invalid tree code...
Martin Liska [Mon, 19 Jan 2015 18:07:08 +0000 (19:07 +0100)]
re PR ipa/64664 (ICE: tree check: expected function_decl, have <invalid tree code> in opts_for_fn, at tree.h:4706)

Fix PR64664.

        PR ipa/64664
* ipa-icf.c (sem_item_optimizer::filter_removed_items):
Handle safe potentially removed nodes during filtering.

From-SVN: r219853

9 years agore PR libffi/64607 (Multilib test stops working in libffi)
Richard Henderson [Mon, 19 Jan 2015 17:58:06 +0000 (09:58 -0800)]
re PR libffi/64607 (Multilib test stops working in libffi)

PR libffi/64607

 * testsuite/lib/libffi.exp (libffi-init): Append -L for the
 just built libstdc++.

From-SVN: r219852

9 years agojit: fix crash in memento_of_new_string_literal::make_debug_string
David Malcolm [Mon, 19 Jan 2015 17:16:37 +0000 (17:16 +0000)]
jit: fix crash in memento_of_new_string_literal::make_debug_string

gcc/jit/ChangeLog:
* jit-recording.c
(gcc::jit::recording::memento_of_new_string_literal::make_debug_string):
Add missing format string.

From-SVN: r219851

9 years agostrerror.c: Do not declare sys_nerr or sys_errlist if already macros
Eli Zaretskii [Mon, 19 Jan 2015 15:28:56 +0000 (15:28 +0000)]
strerror.c: Do not declare sys_nerr or sys_errlist if already macros

This fixes a MinGW warning in libiberty/strerror.c

2015-01-19  Eli Zaretskii  <eliz@gnu.org>

        * strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
        macros.

From-SVN: r219849

9 years agoIPA ICF: add no_icf attribute.
Martin Liska [Mon, 19 Jan 2015 15:20:16 +0000 (16:20 +0100)]
IPA ICF: add no_icf attribute.

* c-common.c (handle_noicf_attribute): New function.
* doc/extend.texi (no_icf): Add new attribute description.
* ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
where the pass attempts to merge a function with no_icf attribute.
* gcc.dg/ipa/ipa-icf-33.c: New test.

From-SVN: r219848

9 years agoImprove documentation of register constraints.
Ramana Radhakrishnan [Mon, 19 Jan 2015 14:55:28 +0000 (14:55 +0000)]
Improve documentation of register constraints.

While looking at PR target/64532- I realized we haven't documented all
the register constraints. I'm not documenting the other immediate
constraints as it is not clear to me how much of that is actually
useful yet and I don't have the time this afternoon to clean this up.

Built documentation and looked at it.

Applied.

Ramana

From-SVN: r219847

9 years agorange_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR on overloads for arrays.
Ville Voutilainen [Mon, 19 Jan 2015 14:37:03 +0000 (16:37 +0200)]
range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR on overloads for arrays.

2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
    Jonathan Wakely  <jwakely@redhat.com>

* include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
on overloads for arrays.
(cbegin, cend, rbegin, rend, crbegin, crend): New.
* testsuite/24_iterators/range_access_cpp14.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r219846

9 years ago* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
Fei Yang [Mon, 19 Jan 2015 14:21:45 +0000 (14:21 +0000)]
* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
       (buffer_float64x2, buffer_pad_float64x2): New helper variables.
       * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (hfloat64_t,
       result_float64x2, expected_hfloat64x2): New helper type, variable and
       declaration.
       (buffer_float64x2, buffer_pad_float64x2): New helper variables.
       * gcc.target/aarch64/advsimd-intrinsics/vfma.c: Don't run on target
       without the FMA feature and exclude test for vfmaq_f64 on arm*-*-*.
       * gcc.target/aarch64/advsimd-intrinsics/vfms.c: Don't run on target
       without the FMA feature and exclude test for vfmsq_f64 on arm*-*-*.
       * gcc.target/aarch64/advsimd-intrinsics/vfma_n.c: Don't run on arm*-*-*
       and target without the FMA feature.

From-SVN: r219845

9 years ago[AArch64] Remove ashift pattern for QI/HI
Jiong Wang [Mon, 19 Jan 2015 14:13:33 +0000 (14:13 +0000)]
[AArch64] Remove ashift pattern for QI/HI

2015-01-19  Jiong Wang  <jiong.wang@arm.com>
    Andrew Pinski  <apinski@cavium.com>

  gcc/
    PR target/64304
    * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
    (ashl<mode>3): Don't expand if operands[2] is not constant.

  gcc/testsuite/
    * gcc.target/aarch64/pr64304.c: New testcase.

Co-Authored-By: Andrew Pinski <apinski@cavium.com>
From-SVN: r219844

9 years ago[AArch64] PR 64448: Combine ((x ^ y) & m) ^ x into bsl/bif instruction
Kyrylo Tkachov [Mon, 19 Jan 2015 14:03:23 +0000 (14:03 +0000)]
[AArch64] PR 64448: Combine ((x ^ y) & m) ^ x into bsl/bif instruction

PR target/64448
* config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
Match xor-and-xor RTL pattern.

From-SVN: r219843

9 years agore PR rtl-optimization/64081 (r217828 prevents RTL loop unroll)
Igor Zamyatin [Mon, 19 Jan 2015 13:58:54 +0000 (13:58 +0000)]
re PR rtl-optimization/64081 (r217828 prevents RTL loop unroll)

gcc/

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 rtl-optimization/64081
* gcc.dg/pr64081.c: New test.

From-SVN: r219842

9 years ago* common.opt (fgraphite): Fix a typo.
Jakub Jelinek [Mon, 19 Jan 2015 13:41:44 +0000 (14:41 +0100)]
* common.opt (fgraphite): Fix a typo.

From-SVN: r219841

9 years agoaarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New pattern.
Felix Yang [Mon, 19 Jan 2015 13:22:41 +0000 (13:22 +0000)]
aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New pattern.

        * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
        pattern.
        * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
        uminp, smax_nanp, smin_nanp): New builtins.
        * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
        vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
        vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
        vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
        vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
        vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
        vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
        vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
        vpminnms_f32): Rewrite using builtin functions.

From-SVN: r219840

9 years agoRemove 2014 entries somebody mistakenly readded.
Jakub Jelinek [Mon, 19 Jan 2015 13:11:54 +0000 (14:11 +0100)]
Remove 2014 entries somebody mistakenly readded.

From-SVN: r219839

9 years agore PR testsuite/63971 (Some of gcc.target/aarch64/test_frame_*.c tests fail now)
Tejas Belagod [Mon, 19 Jan 2015 12:57:48 +0000 (12:57 +0000)]
re PR testsuite/63971 (Some of  gcc.target/aarch64/test_frame_*.c tests fail now)

2015-01-19  Tejas Belagod  <tejas.belagod@arm.com>

PR target/63971
* gcc.target/aarch64/test_frame_1.c: Expect only two loads of x30 (in
the epilogue).
* gcc.target/aarch64/test_frame_6.c: Likewise.
* gcc.target/aarch64/test_frame_2.c: Expect only one pair load of x30
and x19 (in the epilogue).
* gcc.target/aarch64/test_frame_4.c: Likewise.
* gcc.target/aarch64/test_frame_7.c: Likewise.

From-SVN: r219838

9 years ago[PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.
Thomas Schwinge [Mon, 19 Jan 2015 12:05:43 +0000 (13:05 +0100)]
[PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.

gcc/
* omp-low.c (offload_symbol_decl): Remove variable.
(get_offload_symbol_decl): Remove function.
(expand_omp_target): For BUILT_IN_GOMP_TARGET,
BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
BUILT_IN_GOACC_UPDATE don't pass it at all.
libgomp/
* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
(GOACC_parallel, GOACC_update): Remove const_void *offload_table
formal parameter.  Update all users.
* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
Document unused formal parameter.

From-SVN: r219837

9 years ago[PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.
Thomas Schwinge [Mon, 19 Jan 2015 12:03:35 +0000 (13:03 +0100)]
[PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.

gcc/
* omp-low.c (offload_symbol_decl): Remove variable.
(get_offload_symbol_decl): Remove function.
(expand_omp_target): For BUILT_IN_GOMP_TARGET,
BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
BUILT_IN_GOACC_UPDATE don't pass it at all.
libgomp/
* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
(GOACC_parallel, GOACC_update): Remove const_void *offload_table
formal parameter.  Update all users.
* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
Document unused formal parameter.

From-SVN: r219836

9 years agotree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk callers.
Ilya Enkovich [Mon, 19 Jan 2015 10:28:34 +0000 (10:28 +0000)]
tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk callers.

* tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
callers.

From-SVN: r219835

9 years agoipa-chkp.c (chkp_produce_thunks): Add early param to split thunks production into...
Ilya Enkovich [Mon, 19 Jan 2015 10:26:52 +0000 (10:26 +0000)]
ipa-chkp.c (chkp_produce_thunks): Add early param to split thunks production into two passes.

gcc/

* ipa-chkp.c (chkp_produce_thunks): Add early param
to split thunks production into two passes.  Keep
'always_inline' function bodies after the first pass.
(pass_data_ipa_chkp_early_produce_thunks): New.
(pass_ipa_chkp_early_produce_thunks): New.
(pass_ipa_chkp_produce_thunks::execute): Adjust to new
chkp_produce_thunks signature.
(make_pass_ipa_chkp_early_produce_thunks): New.
* passes.def (pass_ipa_chkp_early_produce_thunks): New.
(pass_ipa_chkp_produce_thunks): Move after local optimizations.
* tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.

gcc/testsuite/

* gcc.target/i386/chkp-always_inline.c: New.

From-SVN: r219834

9 years agore PR sanitizer/64435 (Bootstrap failure in libsanitizer on AArch64 with Linux kernel...
Jakub Jelinek [Mon, 19 Jan 2015 08:39:27 +0000 (09:39 +0100)]
re PR sanitizer/64435 (Bootstrap failure in libsanitizer on AArch64 with Linux kernel <= 3.15)

PR sanitizer/64435
* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
upstream r223925.

From-SVN: r219833

9 years agoabitest.S (LABEL_TEST_FUNC_RETURN): Load testfunc_ptr as 32bit for ILP32 and 64bit...
Andrew Pinski [Mon, 19 Jan 2015 04:46:27 +0000 (04:46 +0000)]
abitest.S (LABEL_TEST_FUNC_RETURN): Load testfunc_ptr as 32bit for ILP32 and 64bit for LP64.

* gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load
testfunc_ptr as 32bit for ILP32 and 64bit for LP64.

Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
From-SVN: r219832

9 years agoreflect: Fix build for systems that do not define ffi_go_closure.
Ian Lance Taylor [Mon, 19 Jan 2015 02:56:28 +0000 (02:56 +0000)]
reflect: Fix build for systems that do not define ffi_go_closure.

From-SVN: r219831

9 years agoDaily bump.
GCC Administrator [Mon, 19 Jan 2015 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r219830

9 years ago[multiple changes]
Paul Thomas [Sun, 18 Jan 2015 22:01:29 +0000 (22:01 +0000)]
[multiple changes]

2015-01-18  Andre Vehreschild  <vehre@gmx.de>
    Janus Weil <janus@gcc.gnu.org>

PR fortran/60255
* class.c (gfc_get_len_component): New.
(gfc_build_class_symbol): Add _len component to unlimited
polymorphic entities.
(find_intrinsic_vtab): Removed emitting of error message.
* gfortran.h: Added prototype for gfc_get_len_component.
* simplify.c (gfc_simplify_len): Use _len component where
available.
* trans-expr.c (gfc_class_len_get): New.
(gfc_conv_intrinsic_to_class): Add handling for deferred
character arrays.
(gfc_conv_structure): Treat _len component correctly.
(gfc_conv_expr): Prevent bind_c handling when not required.
(gfc_trans_pointer_assignment): Propagate _len component.
* trans-stmt.c (class_has_len_component): New.
(trans_associate_var): _len component treatment for associate
context.
(gfc_trans_allocate): Same as for trans_associate_var()
* trans.h: Added prototype for gfc_class_len_get.

2015-01-18  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60255
* gfortran.dg/unlimited_polymorphic_2.f03: Removed error.
* gfortran.dg/unlimited_polymorphic_20.f03: New test.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* gfortran.dg/unlimited_polymorphic_21.f90: New test

From-SVN: r219827

9 years agolto.c (compare_tree_sccs_1): Add comparsion of DECL_FUNCTION_SPECIFIC_TARGET
Jan Hubicka [Sun, 18 Jan 2015 19:33:32 +0000 (20:33 +0100)]
lto.c (compare_tree_sccs_1): Add comparsion of DECL_FUNCTION_SPECIFIC_TARGET

* lto.c (compare_tree_sccs_1): Add comparsion of
DECL_FUNCTION_SPECIFIC_TARGET

From-SVN: r219826

9 years ago* cgraph.c (cgraph_node::dump): Dump profile flags.
Jan Hubicka [Sun, 18 Jan 2015 19:31:58 +0000 (19:31 +0000)]
* cgraph.c (cgraph_node::dump): Dump profile flags.

From-SVN: r219825

9 years agore PR target/64652 ([SH] ICE when using -mdiv=call-fp)
Oleg Endo [Sun, 18 Jan 2015 18:12:53 +0000 (18:12 +0000)]
re PR target/64652 ([SH] ICE when using -mdiv=call-fp)

gcc/
PR target/64652
* config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
reg appear first in the parallel.

gcc/testsuite/
PR target/64652
* gcc.target/sh/torture/pr64652.c: New.

From-SVN: r219824

9 years agoipa-icf-32.c: Update template.
Jan Hubicka [Sun, 18 Jan 2015 17:42:11 +0000 (18:42 +0100)]
ipa-icf-32.c: Update template.

* gcc.dg/ipa/ipa-icf-32.c: Update template.
* c-c++-common/asan/instrument-with-calls-3.c: Likewise.
* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
* c-c++-common/asan/instrument-with-calls-1.c: Likewise.
* c-c++-common/asan/kasan-recover-1.c: Likewise.
* c-c++-common/asan/kasan-recover-2.c: Likewise.

* ipa-reference.c (set_reference_optimization_summary,
ipa_reference_get_not_written_global): Do nothing if ipa-reference is disabled.
(ignore_module_statics): New static var.
(propagate_bits): If ipa-reference is disabled, do not look into local properties.
(analyze_function): Disable analysis when ipa_reference is disabled.
(generate_summary): Do not dump when reference is disabled;
collect vars accessed from functions with ipa-reference disabled.
(get_read_write_all_from_node): When ipa-reference is disabled, use the
node flags.
(gate): Enable for LTO.
(ignore_edge_p): New function.
(propagate): Skip functions w/o ipa-reference analysis.
* optc-save-gen.awk: Handle optimize_debug correctly.
* opth-gen.awk: Likewise.
* common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
fira-share-save-slots, fira-share-spill-slots,
fmodulo-sched-allow-regmoves, fpartial-inlining,
sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
ftracer, ftree-parallelize-loops, fassociative-math,
freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
Optimization
(fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
        ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
        Optimization.
* ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
Fix for IPA.

From-SVN: r219823

9 years agore PR ipa/64378 (ICE: in inline_call, at ipa-inline-transform.c:347 with -O3 -fno...
Jan Hubicka [Sun, 18 Jan 2015 17:31:35 +0000 (18:31 +0100)]
re PR ipa/64378 (ICE: in inline_call, at ipa-inline-transform.c:347 with -O3 -fno-ipa-cp)

PR ipa/64378
* ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
flag correctly.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
* g++.dg/torture/pr64378.C: New testcase.

From-SVN: r219822

9 years agore PR libstdc++/64646 (New overloads of std::is_permutation dereference past-the...
Jonathan Wakely [Sun, 18 Jan 2015 16:31:06 +0000 (16:31 +0000)]
re PR libstdc++/64646 (New overloads of std::is_permutation dereference past-the-end iterator)

PR libstdc++/64646
* include/bits/stl_algo.h (__is_permutation): Also test for reaching
end of the second range.
* testsuite/25_algorithms/is_permutation/64646.cc: New.

From-SVN: r219821

9 years agocorrect PR numbers on previous commit
Paul Thomas [Sun, 18 Jan 2015 16:02:43 +0000 (16:02 +0000)]
correct PR numbers on previous commit

From-SVN: r219819

9 years agore PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer...
Paul Thomas [Sun, 18 Jan 2015 15:52:49 +0000 (15:52 +0000)]
re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function)

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
for allocatable components, where the source is a variable.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* gfortran.dg/block_13.f08: New test

From-SVN: r219818

9 years agostatus_cxx2011.xml: Remove note about offsetof.
Jonathan Wakely [Sun, 18 Jan 2015 15:47:18 +0000 (15:47 +0000)]
status_cxx2011.xml: Remove note about offsetof.

* doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
* doc/html/manual/status.html: Regenerate.

From-SVN: r219817

9 years ago* src/c++11/futex.cc: Fix order of includes and preprocessor condition.
Jonathan Wakely [Sun, 18 Jan 2015 14:38:53 +0000 (14:38 +0000)]
* src/c++11/futex.cc: Fix order of includes and preprocessor condition.

From-SVN: r219816

9 years agoatomic_futex.h: Use mutex and condition_variable when atomic int is not lock-free.
Jonathan Wakely [Sun, 18 Jan 2015 14:25:22 +0000 (14:25 +0000)]
atomic_futex.h: Use mutex and condition_variable when atomic int is not lock-free.

* include/bits/atomic_futex.h: Use mutex and condition_variable when
atomic int is not lock-free. Make member variables private.
* src/c++11/futex.cc: Likewise.

From-SVN: r219815

9 years agore PR fortran/55901 ([OOP] type is (character(len=*)) misinterpreted as array)
Paul Thomas [Sun, 18 Jan 2015 12:21:38 +0000 (12:21 +0000)]
re PR fortran/55901 ([OOP] type is (character(len=*)) misinterpreted as array)

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55901
* primary.c (gfc_match_varspec): Exclude dangling associate-
names with dimension 0 from being counted as arrays.
* resolve.c (resolve_assoc_var): Sub-strings are permissible
for associate-names, so exclude characters from the test for
misuse as arrays.
* trans-decl.c (gfc_get_symbol_decl): Associate-names can use
the hidden string length variable of their associated target.
Signal this by setting 'length' to a constant, if the decl for
the string length is a variable.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55901
* gfortran.dg/associate_1.f03: Allow test for character with
automatic length.

From-SVN: r219814

9 years agoinvoke.texi ([-funroll-loops], [...]): Remove duplicate option listings.
Sandra Loosemore [Sun, 18 Jan 2015 03:19:58 +0000 (22:19 -0500)]
invoke.texi ([-funroll-loops], [...]): Remove duplicate option listings.

2015-01-18  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
Remove duplicate option listings.

From-SVN: r219813

9 years agoauto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
Felix Yang [Sun, 18 Jan 2015 02:25:42 +0000 (02:25 +0000)]
auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.

        * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
        (autofdo_source_profile::get_callsite_total_count,
        function_instance::get_function_instance_by_decl,
        string_table::get_index, string_table::get_index_by_decl,
        afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
        Fix comment typos. Reformatting and minor code rearrangement.

From-SVN: r219812

9 years agoDaily bump.
GCC Administrator [Sun, 18 Jan 2015 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r219811

9 years agoppc-fpconv-4.c: Skip for -mpowerpc64.
Segher Boessenkool [Sat, 17 Jan 2015 21:12:24 +0000 (22:12 +0100)]
ppc-fpconv-4.c: Skip for -mpowerpc64.

* gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64.
* gcc.target/powerpc/ppc-fpconv-8.c: Ditto.

From-SVN: r219808

9 years ago* gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64.
Segher Boessenkool [Sat, 17 Jan 2015 21:10:30 +0000 (22:10 +0100)]
* gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64.

From-SVN: r219807

9 years agors6000.md (probe_stack): Delete.
Segher Boessenkool [Sat, 17 Jan 2015 21:08:39 +0000 (22:08 +0100)]
rs6000.md (probe_stack): Delete.

* config/rs6000/rs6000.md (probe_stack): Delete.
(probe_stack_address): New.

From-SVN: r219806

9 years agors6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT to test for 32-bit ABIs, not...
Segher Boessenkool [Sat, 17 Jan 2015 21:04:23 +0000 (22:04 +0100)]
rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT to test for 32-bit ABIs, not !TARGET_POWERPC64.

* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
to test for 32-bit ABIs, not !TARGET_POWERPC64.

From-SVN: r219805

9 years agors6000.c (rs6000_parallel_return): New function.
Segher Boessenkool [Sat, 17 Jan 2015 20:58:12 +0000 (21:58 +0100)]
rs6000.c (rs6000_parallel_return): New function.

* config/rs6000/rs6000.c (rs6000_parallel_return): New function.
(rs6000_function_value): Use it.  Handle SCmode and TCmode as well,
for TARGET_32BIT && TARGET_POWERPC64.  Fix another BITS_PER_WORD
snafu.
(rs6000_libcall_value): Use the new function.

From-SVN: r219804

9 years agoinvoke.texi ([-ftracer]): Remove duplicate option listing.
Sandra Loosemore [Sat, 17 Jan 2015 20:51:24 +0000 (15:51 -0500)]
invoke.texi ([-ftracer]): Remove duplicate option listing.

2015-01-17  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi ([-ftracer]): Remove duplicate option listing.

From-SVN: r219803

9 years agore PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer...
Paul Thomas [Sat, 17 Jan 2015 20:44:07 +0000 (20:44 +0000)]
re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function)

2015-01-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* trans-expr.c (gfc_trans_pointer_assignment): Make sure that
before reinitializing rse, to add the rse.pre to block before
creating 'ptrtemp'.
* trans-intrinsic.c (gfc_conv_associated): Deal with the class
data being a descriptor.

2015-01-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* gfortran.dg/unlimited_polymorphic_21.f90: New test

From-SVN: r219802

9 years agore PR fortran/60357 ([F08] structure constructor with unspecified values for allocata...
Andre Vehreschild [Sat, 17 Jan 2015 18:08:38 +0000 (19:08 +0100)]
re PR fortran/60357 ([F08] structure constructor with unspecified values for allocatable components)

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60357
* primary.c (build_actual_constructor): Prevent warning.
* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
assignment): New function encapsulates treatment of allocatable
components.
(gfc_trans_subcomponent_assign): Needed to distinguish between
regular assignment and initilization.
(gfc_trans_structure_assign): Same.
(gfc_conv_structure): Same.

PR fortran/61275
* gfortran.h: deferred_parameter is not needed, because
it artificial does the trick completely.
* primary.c (build_actual_constructor): Same.
(gfc_convert_to_structure_constructor): Same.
* resolve.c (resolve_fl_derived0): Same.
* trans-expr.c (gfc_conv_component_ref): Prevent treating
allocatable deferred length char arrays here.
(gfc_trans_subcomponent_assign): Same as above.
* trans-types.c (gfc_sym_type): This is done in
gfc_get_derived_type already.

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60357
* gfortran.dg/alloc_comp_assign_13.f08: New test.

PR fortran/61275
* gfortran.dg/alloc_comp_assign_14.f08: New test.

PR fortran/55932
* gfortran.dg/alloc_comp_initializer_4.f03: New test.

From-SVN: r219801

9 years agoreorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid...
Eric Botcazou [Sat, 17 Jan 2015 14:00:57 +0000 (14:00 +0000)]
reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid...

* reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
implement a more precise life analysis for it during backward scan.

From-SVN: r219800

9 years agore PR libstdc++/64638 (Build failure with recent futex changes in libstdc++, likely...
Jonathan Wakely [Sat, 17 Jan 2015 13:48:48 +0000 (13:48 +0000)]
re PR libstdc++/64638 (Build failure with recent futex changes in libstdc++, likely all non-gthreads targets)

PR libstdc++/64638
* include/bits/atomic_futex.h: Use appropriate config macros for
availability of std::mutex, std::condition and std::chrono.

From-SVN: r219799

9 years agore PR fortran/60334 (Segmentation fault on character pointer assignments)
Andre Vehreschild [Sat, 17 Jan 2015 11:07:57 +0000 (11:07 +0000)]
re PR fortran/60334 (Segmentation fault on character pointer assignments)

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60334
* trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
length when the symbol is declared to be a result.
* trans-expr.c (gfc_conv_procedure_call): Strip deref on the
string length when functions are nested and the string length
is a reference already.

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60334
* gfortran.dg/deferred_type_param_6.f90: Add tests for this PR.

From-SVN: r219798

9 years agodwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
Jan Kratochvil [Sat, 17 Jan 2015 08:00:13 +0000 (08:00 +0000)]
dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.

2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>

* dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.

From-SVN: r219797

9 years agore PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c...
Bernd Schmidt [Sat, 17 Jan 2015 07:35:40 +0000 (07:35 +0000)]
re PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c:577)

PR rtl-optimization/52773
* calls.c (emit_library_call_value): When pushing arguments use
stack_pointer_rtx rather than virtual_outgoing_args_rtx in
CALL_INSN_FUNCTION_USAGE.  Only emit one of use of the magic
stack pointer reference into CALL_INSN_FUNCTION_USAGE.

PR rtl-optimization/52773
* gcc.c-torture/compile/pr52773.c: New test.

From-SVN: r219796

9 years agore PR rtl-optimization/32790 (REG_N_SETS holds wrong value)
Jeff Law [Sat, 17 Jan 2015 07:24:24 +0000 (00:24 -0700)]
re PR rtl-optimization/32790 (REG_N_SETS holds wrong value)

PR rtl-optimization/32790
        * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
        not ZERO_EXTEND in SET_DESTs.

From-SVN: r219795

9 years agostatus_cxx2011.xml: Update C++11 status.
Ville Voutilainen [Sat, 17 Jan 2015 03:23:52 +0000 (05:23 +0200)]
status_cxx2011.xml: Update C++11 status.

2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
    Jonathan Wakely  <jwakely@redhat.com>

* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
* doc/html/*: Regenerate.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r219794

9 years agoDR 488 PR libstdc++/58357
Jonathan Wakely [Sat, 17 Jan 2015 03:15:52 +0000 (03:15 +0000)]
DR 488 PR libstdc++/58357

DR 488
PR libstdc++/58357
* include/bits/algorithmfwd.h (rotate): Return an iterator.
* include/bits/stl_algo.h (rotate, __rotate): Likewise.
* testsuite/25_algorithms/rotate/dr488.cc: New.
* testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2.cc: Likewise.
* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
pod.cc: Likewise.

From-SVN: r219793

9 years agoRevert last change
Alan Modra [Sat, 17 Jan 2015 03:04:55 +0000 (13:34 +1030)]
Revert last change

From-SVN: r219792

9 years agorl78-real.md (addqi3_real): Allow volatiles.
DJ Delorie [Sat, 17 Jan 2015 02:57:53 +0000 (21:57 -0500)]
rl78-real.md (addqi3_real): Allow volatiles.

* config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
(addhi3_real): Likewise.  Fix [HL+0] syntax.
(subqi3_real): Likewise.
(subhi3_real): Likewise.
(cbranchqi4_real): Likewise.  Allow saddr,#imm.
(cbranchhi4_real): Likewise.
(cbranchhi4_real_inverted): Likewise.
(cbranchsi4_real_lt): Likewise.
(cbranchsi4_real_ge): Likewise.
(cbranchsi4_real_ge): Likewise.
* config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
(sub<mode>3_virt): Likewise.
(cbranchqi4_virt): Likewise.
(cbranchhi4_virt): Likewise.
* config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
always use '[reg+imm]' even when imm is zero.
* config/rl78/predicates.md (rl78_volatile_memory_operand): New.
(rl78_general_operand): New.
(rl78_nonimmediate_operand): New.
(rl78_nonfar_operand): Use them.
(rl78_nonfar_nonimm_operand): Likewise.
(rl78_stack_based_mem): Fix.
* config/rl78/constraints.md (Ibqi): New.
(IBqi): New.
(Wsa): New.
(Wsf): New.
(Cs1): Fix.
* config/rl78/rl78-expand.md (andqi3): Accept volatiles.
(iorqi3): Likewise.
(xorqi3): Likewise.
* config/rl78/rl78-protos.h (rl78_sfr_p): New.

        * config/rl78/constrains (Qs8): New constraint.
        * config/rl78/rl78.c (rl78_flags_already_set): New function.
        * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
        * config/rl78/rl78-real.md (update_Z): New attribute.
        Update patterns to set it.
        (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
        shorter compare and branch sequence can be used.
        (cbranchhi4_real): Likewise.
        (cbranchhi4_real_inverted): Likewise.

* config/rl78/predicates.md (uword_operand): Allow symbol_refs.
* config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
address space.
* config/rl78/rl78.c (rl78_get_name_encoding): New.
(rl78_option_override): Allow -mes0 only if C.
(characterize_address): Support subregs of symbol_refs.
(rl78_addr_space_address_mode): Move.  Add __near.
(rl78_far_p): Likewise.
(rl78_addr_space_pointer_mode): Likewise.
(rl78_as_legitimate_address): Likewise.
(rl78_addr_space_subset_p): Likewise.
(rl78_addr_space_convert): Likewise.
(rl78_print_operand_1): Support 16-bit addressing of 32-bit
symbols with -mes0.
(transcode_memory_rtx): Don't copy ES if -mes0.  Allow symbol[BC]
addressing.
(rl78_alloc_physical_registers_op1): Change logic to prefer
symbol[BC] addressing.
(frodata_section): New.
(rl78_asm_init_sections): Initialize it.
(rl78_select_section): Put __far readonly symbols in .frodata.
(rl78_make_type_far): New.
(rl78_insert_attributes): Force all readonly symbols to be __far when -mes0.
(rl78_asm_out_integer): New.
* config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
* config/rl78/rl78.opt (-mes0): New.

* config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
* config/rl78/rl78-protos.h (rl78_output_labelref): New.
(rl78_saddr_p): New.
(rl78_output_aligned_common): New.
* config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
(rl78_handle_saddr_attribute): New.
(rl78_handle_naked_attribute): New.
(rl78_attribute_table): Add saddr.
(rl78_print_operand_1): Don't print '!' on saddr operands.
(rl78_print_operand_1): Strip encodings.
(rl78_sfr_p): New.
(rl78_strip_name_encoding): New.
(rl78_attrlist_to_encoding): New.
(rl78_encode_section_info): New.
(rl78_asm_init_sections): New.
(rl78_select_section): New.
(rl78_output_labelref): New.
(rl78_output_aligned_common): New.
(rl78_asm_out_integer): New.
(rl78_asm_ctor_dtor): New.
(rl78_asm_constructor): New.
(rl78_asm_destructor): New.

* config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
* config/rl78/rl78.c (rl78_expand_epilogue): Update.
(transcode_memory_rtx): Update.
(rl78_expand_epilogue): Use A_REG instead of 0.

Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r219791

9 years agore PR libstdc++/60940 (general operations on atomic types do not work with atomic...
Jonathan Wakely [Sat, 17 Jan 2015 01:23:28 +0000 (01:23 +0000)]
re PR libstdc++/60940 (general operations on atomic types do not work with atomic integral typedefs)

PR libstdc++/60940
* include/bits/atomic_base.h: Remove atomic integral typedefs as
synonyms for __atomic_base<int> etc.
* include/std/atomic: Make atomic_int a synonym for atomic<int> and
likewise for all atomic integral types.
* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.

From-SVN: r219790

9 years agoModel cache auto-prefetcher in scheduler
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:43 +0000 (01:06 +0000)]
Model cache auto-prefetcher in scheduler

* config/arm/arm-protos.h (struct tune_params): New field
sched_autopref_queue_depth.
* config/arm/arm.c (sched-int.h): Include header.
(arm_first_cycle_multipass_dfa_lookahead_guard,)
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
(arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
(arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
(arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
(arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
(arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
Specify sched_autopref_queue_depth value.  Enabled for A15 and A57.
* config/arm/t-arm (arm.o): Update.
* haifa-sched.c (update_insn_after_change): Update.
(rank_for_schedule): Use auto-prefetcher model, if requested.
(autopref_multipass_init): New static function.
(autopref_rank_for_schedule): New rank_for_schedule heuristic.
(autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
variable for debug dumps.
(autopref_multipass_dfa_lookahead_guard_1): New static helper function.
(autopref_multipass_dfa_lookahead_guard): New global function that
implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
(init_h_i_d): Update.
* params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
* sched-int.h (enum autopref_multipass_data_status): New const enum.
(autopref_multipass_data_): Structure for auto-prefetcher data.
(autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
(struct _haifa_insn_data:autopref_multipass_data): New field.
(INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
(autopref_multipass_dfa_lookahead_guard): Declare.

From-SVN: r219789

9 years agoHandle SCRATCH in decompose_address
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:29 +0000 (01:06 +0000)]
Handle SCRATCH in decompose_address

* rtlanal.c (get_base_term): Handle SCRATCH.

From-SVN: r219788

9 years agoEnable max_issue for AArch32 and AArch64
Maxim Kuvyrkov [Sat, 17 Jan 2015 01:06:17 +0000 (01:06 +0000)]
Enable max_issue for AArch32 and AArch64

Enable max_issue for AArch32 and AArch64
* config/aarch64/aarch64.c
(aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
* config/arm/arm.c
(arm_first_cycle_multipass_dfa_lookahead): Implement hook.
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.

From-SVN: r219787

9 years agocprop.c (do_local_cprop): Disallow replacement of fixed hard registers.
Alan Modra [Sat, 17 Jan 2015 00:41:52 +0000 (11:11 +1030)]
cprop.c (do_local_cprop): Disallow replacement of fixed hard registers.

* cprop.c (do_local_cprop): Disallow replacement of fixed
hard registers.

From-SVN: r219786

9 years agore PR libstdc++/56785 (std::tuple of two elements does not apply empty base class...
Jonathan Wakely [Sat, 17 Jan 2015 00:21:41 +0000 (00:21 +0000)]
re PR libstdc++/56785 (std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements)

PR libstdc++/56785
* include/std/tuple (_Tuple_impl): Remove zero-element specialization
and define one-element specialization.
* testsuite/20_util/tuple/56785.cc: New.

From-SVN: r219785

9 years agoDaily bump.
GCC Administrator [Sat, 17 Jan 2015 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219784

9 years ago1.cc: Remove unused header.
Jonathan Wakely [Sat, 17 Jan 2015 00:12:50 +0000 (00:12 +0000)]
1.cc: Remove unused header.

* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
Remove unused header.
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
Likewise.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
Likewise.

From-SVN: r219781

9 years agolocale_conv.h (wstring_convert, [...]): New.
Jonathan Wakely [Fri, 16 Jan 2015 23:38:48 +0000 (23:38 +0000)]
locale_conv.h (wstring_convert, [...]): New.

* include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
* include/std/locale: Include new header.
* include/Makefile.am: Add it.
* include/Makefile.in: Regenerate.
* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
* testsuite/22_locale/conversions/string/1.cc: New.
* testsuite/22_locale/conversions/string/2.cc: New.
* testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
New.

From-SVN: r219780

9 years agoImplement C++11 <codecvt> header.
Jonathan Wakely [Fri, 16 Jan 2015 23:38:35 +0000 (23:38 +0000)]
Implement C++11 <codecvt> header.

* config/abi/pre/gnu.ver: Export new symbols.
* include/Makefile.am: Add codecvt.
* include/Makefile.in: Regenerate.
* include/std/codecvt: New header.
* src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
__codecvt_utf8_utf16_base): Define specializations.
* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
New.

From-SVN: r219779