Commit Graph

137851 Commits

Author SHA1 Message Date
Uros Bizjak 6d158d9a6b devirt-28a.C: Require LTO effective target.
* g++.dg/ipa/devirt-28a.C: Require LTO effective target.
	* g++.dg/ext/sync-4.C (dg-additional-options): Use -march=pentium
	for 32bit x86 targets.
	* gcc.dg/pr36504.c (dg-additional-options): Use -march=i686 -msse
	for 32bit x86 targets.
	* gcc.dg/pr39455.c (dg-additional-options): Ditto.
	* gcc.dg/pr45352-1.c (dg-additional-options): Ditto.
	* gcc.dg/pr63914.c (dg-additional-options): Use -msse
	for 32bit x86 targets.

From-SVN: r222656
2015-04-30 22:22:51 +02:00
Caroline Tice 81ccb75226 tm.texi: Regenerate.
* doc/tm.texi: Regenerate.

From-SVN: r222655
2015-04-30 21:35:34 +02:00
Jonathan Wakely 0ca7ba9aa6 Implement N4100 File System TS
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
	(GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Enable filesystem TS and check its dependencies.
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
	__str_codecvt_out): Move code conversion logic from wstring_convert
	into new global functions.
	(wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
	functions.
	(wstring_convert::_M_conv): Remove.
	* include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
	* include/experimental/filesystem: New.
	* include/experimental/fs_dir.h: New.
	* include/experimental/fs_fwd.h: New.
	* include/experimental/fs_ops.h: New.
	* include/experimental/fs_path.h: New.
	* include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
	* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
	* src/Makefile.am (SUBDIRS): Add filesystem.
	* src/Makefile.in: Regenerate.
	* src/filesystem/Makefile.am: New.
	* src/filesystem/Makefile.in: New.
	* src/filesystem/dir.cc: New.
	* src/filesystem/ops.cc: New.
	* src/filesystem/path.cc: New.
	* testsuite/experimental/filesystem/operations/absolute.cc: New.
	* testsuite/experimental/filesystem/operations/copy.cc: New.
	* testsuite/experimental/filesystem/operations/current_path.cc: New.
	* testsuite/experimental/filesystem/path/append/path.cc: New.
	* testsuite/experimental/filesystem/path/assign/assign.cc: New.
	* testsuite/experimental/filesystem/path/assign/copy.cc: New.
	* testsuite/experimental/filesystem/path/compare/compare.cc: New.
	* testsuite/experimental/filesystem/path/compare/path.cc: New.
	* testsuite/experimental/filesystem/path/compare/strings.cc: New.
	* testsuite/experimental/filesystem/path/concat/path.cc: New.
	* testsuite/experimental/filesystem/path/concat/strings.cc: New.
	* testsuite/experimental/filesystem/path/construct/copy.cc: New.
	* testsuite/experimental/filesystem/path/construct/default.cc: New.
	* testsuite/experimental/filesystem/path/construct/locale.cc: New.
	* testsuite/experimental/filesystem/path/construct/range.cc: New.
	* testsuite/experimental/filesystem/path/decompose/extension.cc: New.
	* testsuite/experimental/filesystem/path/decompose/filename.cc: New.
	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
	New.
	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
	New.
	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
	New.
	* testsuite/experimental/filesystem/path/decompose/root_name.cc:
	New.
	* testsuite/experimental/filesystem/path/decompose/root_path.cc:
	New.
	* testsuite/experimental/filesystem/path/decompose/stem.cc: New.
	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
	New.
	* testsuite/experimental/filesystem/path/itr/traversal.cc: New.
	* testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
	New.
	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
	New.
	* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
	New.
	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
	New.
	* testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
	* testsuite/experimental/filesystem/path/query/empty.cc: New.
	* testsuite/experimental/filesystem/path/query/has_extension.cc: New.
	* testsuite/experimental/filesystem/path/query/has_filename.cc: New.
	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
	New.
	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
	New.
	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
	New.
	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
	New.
	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
	New.
	* testsuite/experimental/filesystem/path/query/has_stem.cc: New.
	* testsuite/experimental/filesystem/path/query/is_relative.cc: New.
	* testsuite/util/testsuite_fs.h: New.

From-SVN: r222654
2015-04-30 20:11:52 +01:00
Marek Polacek 59c1f38402 re PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)
PR tree-optimization/63551
    	* g++.dg/ipa/pr63551.C: New test.

From-SVN: r222650
2015-04-30 18:01:07 +00:00
Joseph Myers be4e69a962 Correct ChangeLog entry date.
From-SVN: r222648
2015-04-30 18:55:31 +01:00
Joseph Myers 21a331b334 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
	id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
	vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r222646
2015-04-30 18:54:41 +01:00
Joseph Myers d576fd3168 be.po, [...]: Update.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
	zh_TW.po: Update.

From-SVN: r222644
2015-04-30 18:52:24 +01:00
Caroline Tice 11c3d0711a Define & use special macros to record the name & size of cold partitions.
Define & use special macros to record the name & size of cold
partitions.  (Fix PR 65929).

gcc/ChangeLog

PR 65929
* config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
(ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
* doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
(ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
* final.c (final_scan_insn):  Use ASM_DECLARE_COLD_FUNCTION_NAME
instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
* varasm.c (assemble_end_function):  Use ASM_DECLARE_COLD_FUNCTION_SIZE
instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.

gcc/testsuite/ChangeLog:

PR  65929
* gcc.dg/tree-prof/cold_partition_label.c:  Only check for cold
partition size on certain targets.

From-SVN: r222643
2015-04-30 10:49:02 -07:00
Ian Lance Taylor ae9af49bd4 escape: Analyze function values and conversions.
The analysis for variables defined as function literals did not
properly analyze the underlying function literal when it was converted
to a function type.  Also, when analyzing composite literals with
function literals as arguments, the connection between the composite
literal and the function literal was ignored.

From-SVN: r222642
2015-04-30 17:44:10 +00:00
Marek Polacek 1c3289cd61 * varasm.c (handle_cache_entry): Fix logic.
From-SVN: r222641
2015-04-30 17:25:55 +00:00
Ian Lance Taylor 66286a53d5 compiler: Mark non-escaping variables that aren't addressed.
When optimizing allocations, only variables that had their address
taken somewhere in the program were marked as non-escaping.
There are several cases where non-addressed variables might cause
extra allocations.

From-SVN: r222640
2015-04-30 17:21:29 +00:00
Kyrylo Tkachov fb0cb7fa67 [AArch64] Add alternative 'extr' pattern, calculate rtx cost properly
* config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
	(*extrsi5_insn_uxtw_alt): Likewise.
	* config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
	(aarch64_rtx_costs, IOR case): Use above to properly cost extr
	operations.

From-SVN: r222639
2015-04-30 17:03:26 +00:00
Kyrylo Tkachov 19261b995b [AArch64] Properly cost FABD pattern
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
	fabd in ABS case.

From-SVN: r222638
2015-04-30 17:01:34 +00:00
Kyrylo Tkachov 6365da9ed0 [AArch64] Properly handle mvn-register and add EON+shift pattern and cost appropriately
* config/aarch64/aarch64.md
	(*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
	(*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
	* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
	appropriately.  Handle alternative EON form.

From-SVN: r222637
2015-04-30 16:59:50 +00:00
Renlin Li 9c004c58b3 [PATCH][AARCH64]Define vec_shr as an unspec, use shl for big-endian.
gcc/

2015-04-30  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
	* config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.

gcc/testsuite/

2015-04-30  Renlin Li  <renlin.li@arm.com>
	    Alan Lawrence  <alan.lawrence@arm.com>

	* gcc.target/aarch64/vect-reduc-or_1.c: New.

From-SVN: r222635
2015-04-30 15:52:24 +00:00
Jan Hubicka e2165bd7d5 re PR ipa/65873 (Failure to inline always_inline memcpy)
PR ipa/65873
	* ipa-inline.c (can_inline_edge_p): It is safe to inline across
	-fstrict-aliasing boundaries.

From-SVN: r222634
2015-04-30 15:09:19 +00:00
Rainer Orth ccdbdfe43c Add missing PR middle-end/64729 reference.
From-SVN: r222631
2015-04-30 14:50:26 +00:00
Edward Smith-Rowland c0b12dad93 Add fundamentals TR container erasure.
2015-04-30  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Add fundamentals TR container erasure.
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Add new headers.
	* include/experimental/array: New.
	* include/experimental/deque: New.
	* include/experimental/erase_if.tcc: New.
	* include/experimental/forward_list: New.
	* include/experimental/list: New.
	* include/experimental/map: New.
	* include/experimental/set: New.
	* include/experimental/string: New.
	* include/experimental/unordered_map: New.
	* include/experimental/unordered_set: New.
	* include/experimental/vector: New.
	* testsuite/experimental/deque/erasure.cc: New.
	* testsuite/experimental/forward_list/erasure.cc: New.
	* testsuite/experimental/list/erasure.cc: New.
	* testsuite/experimental/map/erasure.cc: New.
	* testsuite/experimental/set/erasure.cc: New.
	* testsuite/experimental/string/erasure.cc: New.
	* testsuite/experimental/unordered_map/erasure.cc: New.
	* testsuite/experimental/unordered_set/erasure.cc: New.
	* testsuite/experimental/vector/erasure.cc: New.

From-SVN: r222630
2015-04-30 14:43:19 +00:00
Kyrylo Tkachov d2ac256bc7 [AArch64] Properly cost MNEG/[SU]MNEGL patterns
* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
	and [SU]MNEGL patterns.

From-SVN: r222627
2015-04-30 13:36:22 +00:00
Marek Polacek ec3fba5172 c-typeck.c (c_build_va_arg): Clarify the error message.
* c-typeck.c (c_build_va_arg): Clarify the error message.

	* gcc.dg/pr65901.c (foo): Adjust dg-error.
	* gcc.c-torture/compile/pr48767.c (foo): Likewise.

From-SVN: r222626
2015-04-30 13:35:44 +00:00
Kyrylo Tkachov 4d1919ed6b Fix up new line in previous commit
From-SVN: r222625
2015-04-30 13:34:54 +00:00
Kyrylo Tkachov 0a78ebe4c7 [AArch64] Properly handle SHIFT ops and EXTEND in aarch64_rtx_mult_cost
* config/aarch64/aarch64.c (aarch64_shift_p): New function.
	(aarch64_rtx_mult_cost): Update comment to reflect that it also handles
	combined arithmetic-shift ops.  Properly handle all shift and extend
	operations that can occur in combination with PLUS/MINUS.
	Rename maybe_fma to compound_p.
	(aarch64_rtx_costs): Use aarch64_shift_p when costing compound
	arithmetic and shift operations.

From-SVN: r222624
2015-04-30 13:34:05 +00:00
Kyrylo Tkachov 2533c820b3 [AArch64] Use extend_arith rtx cost appropriately
* config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
	rather than arith_shift cost when costing ADD/MINUS of an
	extended value.

From-SVN: r222623
2015-04-30 13:30:49 +00:00
Marek Polacek 577cd07084 c-common.c (maybe_warn_bool_compare): When comparing with 0/1, require that the non-constant be of a boolean type.
* c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
	require that the non-constant be of a boolean type.

	* c-c++-common/Wbool-compare-3.c: New test.

From-SVN: r222622
2015-04-30 13:20:03 +00:00
Jan Hubicka bb83a43d6b re PR tree-optimization/65948 (FAIL: g++.dg/lto/20101010-4 cp_lto_20101010-4_0.o-cp_lto_20101010-4_0.o link)
PR lto/65948
	* ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
	to itself.

From-SVN: r222621
2015-04-30 13:18:22 +00:00
James Norris 1309f1d25b [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
PR testsuite/65205
	libgomp/
	* testsuite/lib/libgomp.exp
	(check_effective_target_openacc_host_selected)
	(check_effective_target_openacc_host_nonshm_selected): New
	procedures.
	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
	dg-shouldfail.
	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.

From-SVN: r222620
2015-04-30 14:44:39 +02:00
Richard Sandiford cebe850dfa genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests are for the same position.
gcc/
	* genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
	are for the same position.

From-SVN: r222618
2015-04-30 11:53:31 +00:00
François Dumont e1c444fef0 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
* include/bits/cpp_type_traits.h
	(__gnu_cxx::__is_normal_iterator): Delete.
	* include/bits/stl_algobase.h (std::__niter_base): Adapt.
	* include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
	(std::__niter_base): Overloads for std::reverse_iterator,
	__gnu_cxx::__normal_iterator and std::move_iterator.

From-SVN: r222617
2015-04-30 11:36:52 +00:00
Paolo Carlini d2db6b291e re PR c++/57610 (Reference initialized with temporary instead of sub-object of conversion result)
2015-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57610
	* g++.dg/init/ref22.C: New.

From-SVN: r222615
2015-04-30 09:43:39 +00:00
Marek Polacek ac9f18db1b c-typeck.c (c_incomplete_type_error): Refactor to use %qT.
* c-typeck.c (c_incomplete_type_error): Refactor to use %qT.  Print
	the type of a decl.

	* gcc.dg/incomplete-typedef-1.c: New test.

From-SVN: r222614
2015-04-30 09:35:05 +00:00
Marek Polacek 9babc35248 c-typeck.c (set_init_label): Call error_at instead of error and pass LOC to it.
* c-typeck.c (set_init_label): Call error_at instead of error and
	pass LOC to it.

	* gcc.dg/init-bad-8.c: New test.

From-SVN: r222613
2015-04-30 09:28:48 +00:00
Paolo Carlini c064f154a6 re PR c++/59955 (Segmentation fault on (re?)defining a struct template as function template, when inside a struct tempate)
2015-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59955
	* g++.dg/template/crash121.C: New.

From-SVN: r222612
2015-04-30 09:04:04 +00:00
François Dumont 2f132d1d2c hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): Delete.
2015-04-30  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
	Delete.
	* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
	Remove usage of latter and compute size of the prime numbers array
	locally.

From-SVN: r222611
2015-04-30 07:13:37 +00:00
Aditya Kumar 2fc3c9a59b tree-vectorizer.c (set_uid_loop_bbs): New.
2015-04-29  Aditya Kumar  <hiraditya@hotmail.com>

        * tree-vectorizer.c (set_uid_loop_bbs): New.  Factored out of
        vectorize_loops.
        (vectorize_loops): Use it.

From-SVN: r222610
2015-04-29 23:42:54 -06:00
Jan Hubicka 32496fdde1 ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only for aggregate types.
* ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
	for aggregate types.
	(register_odr_type): Be ready for MAIN_VARIANT of ODR type
	type to be non_ODR.
	* tree.c (need_assembler_name_p): Compute mangled name for
	non-fundamental types and integer types.

From-SVN: r222609
2015-04-30 04:43:32 +00:00
Mikhail Maltsev 00c1cf38e1 dojump.c (do_compare_rtx_and_jump): Use std::swap instead of manual swaps.
2015-04-29  Mikhail Maltsev  <maltsevm@gmail.com>

        * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
        manual swaps.
        * expr.c (expand_expr_real_2): Likewise.

From-SVN: r222608
2015-04-29 21:47:40 -06:00
Jan Hubicka fd2bbdfd97 tree.c (build_common_builtin_nodes): Do not build __builtin_alloca_with_align as equivalent of library alloca.
* tree.c (build_common_builtin_nodes): Do not build
	__builtin_alloca_with_align as equivalent of library alloca.

From-SVN: r222607
2015-04-30 02:58:43 +00:00
Jan Hubicka b0845a1e51 dwarf2out.c (gen_type_die_with_usage): Call verify_type.
* dwarf2out.c (gen_type_die_with_usage): Call verify_type.
	* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
	bugus variants.
	* tree.c: Include print-tree.h and ipa-utils.h
	(free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
	(free_lang_data_in_cgraph): Call verify_type.
	(verify_type_variant): New function.
	(verify_type): New function.
	* tree.h (verify_type): Declare.

	* lto.c (lto_fixup_state): Call verify_type.

From-SVN: r222606
2015-04-30 02:45:54 +00:00
Trevor Saunders e022edafa0 fixup libobjc's usage of PCC_BITFIELD_TYPE_MATTERS
libobjc/ChangeLog:

	* encoding.c (objc_layout_structure_next_member): check value of
	PCC_BITFIELD_TYPE_MATTERS instead of if it is defined.

From-SVN: r222605
2015-04-30 02:08:05 +00:00
GCC Administrator 631dc4f85e Daily bump.
From-SVN: r222603
2015-04-30 00:16:16 +00:00
Doug Evans 8996b63b09 re PR libstdc++/65839 (xmethods need updating once gdb decides how to fix 18285)
PR libstdc++/65839
	* python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
	Replace all lookups of "bool" with this.
	(get_std_size_type): New function.  Replace all lookups of std::size_t
	with this.
	(*Worker): New method get_result_type.
	(DequeWorkerBase.__init__): New arg val_type.  All callers updated.
	(ListWorkerBase.__init__): New arg val_type.  All callers updated.
	(UniquePtrGetWorker.__init__): New arg elem_type.  All callers updated.
	Delete setting of name, enabled.
	(UniquePtrDerefWorker.__init__): New arg elem_type.  All callers
	updated.  Delete setting of name.
	(UniquePtrMethodsMatcher): Rewrite for consistency with all other
	libstdc++ xmethod matchers.
	* testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
	* testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
	* testsuite/libstdc++-xmethods/deque.cc: Ditto.
	* testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
	* testsuite/libstdc++-xmethods/list.cc: Ditto.
	* testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
	* testsuite/libstdc++-xmethods/vector.cc: Ditto.

From-SVN: r222599
2015-04-29 22:50:31 +00:00
Ian Lance Taylor 1dea42c94b compiler: Consider multi-result calls in escape analysis.
When building connection graphs between objects, the analysis
only handled calls of the form `call(...)` or `var := call(...)`.
Functions with multiple results being used e.g. `var, _ = call(...)`
were not analyzed, causing some escaping variables to be marked as
non-escaping.

From-SVN: r222598
2015-04-29 22:40:07 +00:00
Ian Lance Taylor 67b68b8139 compiler: Propagate escape info from closures to enclosed variables.
If a closure escapes, the enclosed variables must escape via the
closure.  Reachability analysis had a bug where the enclosed
variables were not considered as reachable from the closure.

From-SVN: r222597
2015-04-29 22:14:34 +00:00
Doug Evans b693b8792e Use consistent naming for value type attributes.
* python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
	to _val_type.
	(ArraySizeWorker, ArrayEmptyWorker): Ditto.
	(ArrayFrontWorker, ArrayBackWorker): Ditto.
	(ArrayAtWorker, ArraySubscriptWorker): Ditto.
	(DequeWorkerBase): Rename elemtype to val_type.
	(ForwardListWorkerBase): Rename _elem_type to _val_type.
	(ForwardListFrontWorker): Ditto.  And rename elem_address to
	val_address.
	(ForwardListMethodsMatcher): Rename elem_type to val_type.
	(VectorWorkerBase): Rename _elemtype to _val_type.

From-SVN: r222596
2015-04-29 21:57:04 +00:00
Ian Lance Taylor 081564faed runtime: Support -buildmode=c-shared.
These changes permit using the go tool from the upcoming Go
1.5 release with -buildmode=c-archive to build gccgo code into
an archive file that can be linked with a C program.

From-SVN: r222594
2015-04-29 21:31:53 +00:00
Steve Ellcey 2f79da78f3 mips-cpus.def: (mips4): Change default processor from PROCESSOR_R8000 to PROCESSOR_R10000.
2015-04-29  Steve Ellcey  <sellcey@imgtec.com>

	* config/mips/mips-cpus.def: (mips4): Change default processor
	from PROCESSOR_R8000 to PROCESSOR_R10000.

From-SVN: r222593
2015-04-29 21:09:10 +00:00
Uros Bizjak ec4c68c8d0 re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)
PR target/65871
        * config/i386/i386.md (*bmi_bextr_<mode>_cczonly): New pattern.
        (*bmi2_bzhi_<mode>3_1_cczonly): Ditto.
        (setcc+movzbl peephole2): Check also clobbered reg.
        (setcc+andl peephole2): Ditto.

From-SVN: r222592
2015-04-29 22:58:25 +02:00
Jason Merrill 9f7fb685d9 re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
	* tree.c (apply_identity_attributes): Fix handling of classes.

From-SVN: r222591
2015-04-29 16:51:05 -04:00
Josh Triplett 0373796b4d c-common.c (handle_section_attribute): Refactor to reduce nesting and distinguish between error cases.
* c-common.c (handle_section_attribute): Refactor to reduce
        nesting and distinguish between error cases.

From-SVN: r222590
2015-04-29 14:32:41 -06:00
Petar Jovanovic 8d92d2743c mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use la/jalr instead of jal.
gcc/ChangeLog:

2015-04-21  Petar Jovanovic  <petar.jovanovic@rt-rk.com>

	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
	la/jalr instead of jal.

gcc/testsuite/ChangeLog:

2015-04-21  Petar Jovanovic  <petar.jovanovic@rt-rk.com>

	* gcc.target/mips/call-from-init.c: New test.
	* gcc.target/mips/mips.exp: Add section_start to mips_option_groups.

From-SVN: r222589
2015-04-29 16:28:52 -04:00