Commit Graph

153869 Commits

Author SHA1 Message Date
Richard Biener
f408a6350f re PR tree-optimization/80844 (OpenMP SIMD doesn't know how to efficiently zero a vector (its stores zeros and reloads))
2017-05-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80844
	* tree-vectorizer.c (adjust_simduid_builtins): Propagate
	results.

From-SVN: r248481
2017-05-26 07:14:52 +00:00
GCC Administrator
1f06dc9561 Daily bump.
From-SVN: r248479
2017-05-26 00:16:18 +00:00
Eric Gallager
aa1b69e789 MAINTAINERS: Add self to Write After Approval
2017-05-25  Eric Gallager  <egall@gwmail.gwu.edu>

	* MAINTAINERS: Add self to Write After Approval

From-SVN: r248475
2017-05-25 23:38:05 +00:00
Paolo Carlini
c81ec254f9 re PR c++/79652 (ICE on invalid c++ code in warn_extern_redeclared_static in cp/decl.c:1231)
2017-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79652
	* g++.dg/cpp0x/pr79652.C: New.

From-SVN: r248474
2017-05-25 22:29:40 +00:00
Paolo Carlini
aee21066ff re PR c++/71451 (ICE on invalid C++11 code on x86_64-linux-gnu: in dependent_type_p, at cp/pt.c:22599)
2017-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71451
	* g++.dg/cpp0x/variadic170.C: New.

From-SVN: r248473
2017-05-25 22:28:54 +00:00
Thomas Koenig
1d5cf7fcf2 re PR libfortran/78379 (Processor-specific versions for matmul)
2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/78379
	* Makefile.am: Add generated/matmulavx128_*.c files.
	Handle them for compiling and setting the right flags.
	* acinclude.m4: Add tests for FMA3, FMA4 and AVX128.
	* configure.ac: Call them.
	* Makefile.in: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* m4/matmul.m4:  Handle AMD chips by calling 128-bit AVX
	versions which use FMA3 or FMA4.
	* m4/matmulavx128.m4: New file.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.
        * generated/matmulavx128_c10.c: New file.
        * generated/matmulavx128_c16.c: New file.
        * generated/matmulavx128_c4.c: New file.
        * generated/matmulavx128_c8.c: New file.
        * generated/matmulavx128_i1.c: New file.
        * generated/matmulavx128_i16.c: New file.
        * generated/matmulavx128_i2.c: New file.
        * generated/matmulavx128_i4.c: New file.
        * generated/matmulavx128_i8.c: New file.
        * generated/matmulavx128_r10.c: New file.
        * generated/matmulavx128_r16.c: New file.
        * generated/matmulavx128_r4.c: New file.
        * generated/matmulavx128_r8.c: New file.

From-SVN: r248472
2017-05-25 21:51:27 +00:00
Jason Merrill
87e1e6036e * g++.dg/cpp1z/nontype-auto11.C: Move from pr79583.C.
From-SVN: r248471
2017-05-25 17:24:48 -04:00
Jason Merrill
0fa367aa6b PR c++/80605 - __is_standard_layout and zero-length array
* class.c (check_bases): Use DECL_FIELD_IS_BASE.

From-SVN: r248470
2017-05-25 17:24:36 -04:00
Nathan Sidwell
87c976aead Kill OVL_CURRENT, OVL_NEXT.
* cp-tree.h (OVL_CURRENT, OVL_NEXT): Delete.
	* name-lookup.c (set_decl_namespace): Use ovl_iterator.
	(consider_binding_level): Use OVL_FIRST.
	(cp_emit_debug_info_for_using): Use lkp_iterator.
	* pt.c (check_explicit_specialization): Use ovl_iterator.

From-SVN: r248469
2017-05-25 20:55:07 +00:00
Sebastian Peryt
de3fb1a646 md.texi (Machine Constraints): Update x86 family machine constraints section to match 'config/i386/constraints.md'.
* doc/md.texi (Machine Constraints): Update x86 family
	machine constraints section to match 'config/i386/constraints.md'.

From-SVN: r248468
2017-05-25 21:41:29 +02:00
Nathan Sidwell
44e00a7a1b Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
gcc/cp/
	Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
	* cp-tree.h (lang_decl_ns): Remove ns_users field.
	(DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS): Delete.
	(TREE_INDIRECT_USING): Delete.
	* name-lookup.h (is_associated_namespace): Delete.
	* name-lookup.c (name_lookup::search_usings
	name_lookup::do_queue_usings): Usings are always direct.
	(is_associated_namespace): Delete.
	(handle_namespace_attrs): Use DECL_NAMESPACE_INLINE_P.
	(namespace_ancestor_1, namespace_ancestor): Delete.
	(push_using_directive_1, push_using_directive): Delete.
	(add_using_namespace_1): Delete.
	(add_using_namespace): Reimplement.
	(emit_debug_info_using_namespace): New.
	(finish_namespace_using_directive, finish_local_using_directive
	push_namespace): Adjust.
	* tree.c (cp_free_lang_data): Remove DECL_NAMESPACE_USERS
	handling.

	libcc1/
	* libcp1plugin.cc (plugin_make_namespace_inline): Check and set
	DECL_NAMESPACE_INLINE_P.

	gcc/testsuite/
	* g++.dg/lookup/using56.C: New.
	* g++.dg/lookup/using57.C: New.
	* g++.dg/lookup/using58.C: New.
	* g++.dg/lookup/using59.C: New.

From-SVN: r248467
2017-05-25 18:52:47 +00:00
Volker Reichelt
63dbcd13e9 invoke.texi (-Wcatch-value=): Document new warning option.
* doc/invoke.texi (-Wcatch-value=): Document new warning option.

        * c.opt (Wcatch-value=): New C++ warning flag.

        * semantics.c (finish_handler_parms): Warn about non-reference
        * type
        catch handlers.

        * g++.dg/warn/Wcatch-value-1.C: New test.
        * g++.dg/warn/Wcatch-value-2.C: New test.
        * g++.dg/warn/Wcatch-value-3.C: New test.

From-SVN: r248466
2017-05-25 17:05:07 +00:00
Nathan Sidwell
932f48ac85 Reimplement unqualified namespace lookup.
gcc/cp/
	Reimplement unqualified namespace lookup.
	* name-lookup.c (name_lookup::using_pair)
	name_lookup::using_queue): New typedefs.
	(name_lookup::queue_namespace, name_lookup::do_queue_usings,
	name_lookup::queue_usings): New.
	(name_lookup::search_unqualified): New.
	(merge_functions, same_entity_p, ambiguous_decl)
	unqualified_namespace_lookup_1, unqualified_namespace_lookup,
	lookup_using_namespace): Delete.
	(lookup_name_real_1): Adjust.

	gcc/testsuite/
	* g++.dg/lookup/using17.C: Adjust diagnostics.

From-SVN: r248465
2017-05-25 16:55:43 +00:00
Martin Sebor
a10f9a2eaa overflow-warn-9.c: Adjust expected warnings to avoid false positives on ILP32.
gcc/testsuite/ChangeLog:
	* gcc.dg/overflow-warn-9.c: Adjust expected warnings to avoid false
	positives on ILP32.
	* gcc.dg/pr59963-2.c: Replace tabs with spaces, adjust expected
	column numbers.
	* gcc.dg/pr60114.c: Same.

From-SVN: r248464
2017-05-25 10:51:24 -06:00
Nathan Sidwell
9dda0acea2 Reimplement qualified namespace lookup.
* name-lookup.c (name_lookup::flags): New member.  Adjust ctor.
	(name_lookup::ambiguous, name_lookup::add_value)
	name_lookup::add_type, name_lookup::process_binding): New.
	(name_lookup::search_namespace_only)
	name_lookup::search_namespace, name_lookup::search_usings): New.
	(name_lookup::search_qualified): New.
	(do_nonmember_using_decl, suggest_alternatives_for)
	lookup_qualified_name): Adjust.
	(tree_vec_contains): Delete.
	(qualified_lookup_using_namespace): Rename to ...
	(qualified_namespace_lookup): ... here.  Reimplement.
(((--This line, and those below, will be ignored--

M    cp/name-lookup.c
M    cp/ChangeLog

From-SVN: r248462
2017-05-25 15:12:38 +00:00
Jan Hubicka
47c05e71d7 * gfortran.dg/pr48636.f90: Fix template better.
From-SVN: r248460
2017-05-25 14:49:43 +00:00
Jonathan Wakely
bb5faf73a8 Fix bootstrap failure in Ada FE due to -Werror=ignored-qualifiers
* gcc-interface/utils2.c (compare_elmt_bitpos): Remove redundant
	const qualifiers that cause -Wignored-qualifiers warnings.

From-SVN: r248458
2017-05-25 14:24:46 +01:00
Nathan Sidwell
f35a733d37 cp-tree.h (LOOKUP_SEEN_P, [...]): New.
gcc/cp/
	* cp-tree.h (LOOKUP_SEEN_P, LOOKUP_FOUND_P): New.
	* name-lookup.h (lookup_arg_dependent): Return plain tree.
	* name-lookup.c (arg_lookup, arg_assoc, arg_assoc_args)
	arg_assoc_args_vec, arg_assoc_type, add_function,
	arg_assoc_namespace, arg_assoc_class_only, arg_assoc_bases,
	arg_assoc_class, arg_assoc_template_arg, arg_assoc,
	lookup_arg_dependent_1): Delete.
	(name_lookup): New lookup object.
	(name_lookup::preserve_state, name_lookup::restore_state)
	name_lookup::mark_seen, name_lookup::find_and_mark,
	name_lookup::add_fns, name_lookup::adl_namespace_only,
	name_lookup::adl_namespace, name_lookup::adl_class_only,
	name_lookup::adl_bases, name_lookup::adl_class,
	name_lookup::adl_expr, name_lookup::adl_type,
	name_lookup::adl_template_arg, name_lookup::search_adl): New.
	(lookup_arg_dependent): Return a plain tree.  Adjust.
	(is_associated_namespace): Move later.
	gcc/cp/
	* g++.dg/lookup/koenig14.C: New.

From-SVN: r248457
2017-05-25 12:51:30 +00:00
Thomas Koenig
8442a5fbf0 dump-parse-tree.c (show_expr): Also replace with dumpfile for showing values for forgotten case.
2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump-parse-tree.c (show_expr):  Also replace
	with dumpfile for showing values for forgotten
	case.

From-SVN: r248456
2017-05-25 12:21:22 +00:00
Nathan Sidwell
cdfee50a5b configure.ac: Add --enable-languages=default to mean default and make --enable-languages=all...
* configure.ac: Add --enable-languages=default to mean default and
	make --enable-languages=all mean all supported languages.
	* configure: Regenerated.
	gcc/
	* doc/invoke.texi (--enable-languages): Update documentation.

From-SVN: r248454
2017-05-25 11:05:38 +00:00
Martin Liska
56af751e21 Add -fdump*-folding suboption.
2017-05-25  Martin Liska  <mliska@suse.cz>

	* dumpfile.c: Add TDF_FOLDING.
	* dumpfile.h (enum dump_kind): Likewise.
	* genmatch.c (dt_simplify::gen_1): Use it.

From-SVN: r248452
2017-05-25 10:08:02 +00:00
Paolo Carlini
18c1e9e024 re PR c++/79583 (ICE (internal compiler error) upon instantiation of class template with auto template parameter containing inner class template)
2017-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79583
	* g++.dg/cpp0x/pr79583.C: New.

From-SVN: r248451
2017-05-25 09:32:46 +00:00
Paolo Carlini
2673d1925b re PR c++/68578 (ICE on invalid template declaration and instantiation)
2017-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68578
	* g++.dg/cpp1y/pr68578.C: New.

From-SVN: r248450
2017-05-25 09:32:06 +00:00
Marc Glisse
bce8ef718d Relax VIEW_CONVERT_EXPR - CONVERT_EXPR combination
2017-05-25  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd (view_convert (convert@0 @1)): Handle zero-extension.

gcc/testsuite/
	* gcc.dg/tree-ssa/vce-1.c: New file.

From-SVN: r248449
2017-05-25 08:50:54 +00:00
Marc Glisse
11d6b45d43 Allow some NOP conversions in (X+CST1)+CST2 in match.pd
2017-05-25  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd ((A +- CST1) +- CST2): Allow some conversions.
	* tree.c (drop_tree_overflow): Handle COMPLEX_CST and VECTOR_CST.

gcc/testsuite/
	* gcc.dg/tree-ssa/addadd.c: New file.

From-SVN: r248448
2017-05-25 08:45:48 +00:00
Marc Glisse
10bc8017a3 Move "(A & C) == D is false when D & ~C != 0" to match.pd
2017-05-25  Marc Glisse  <marc.glisse@inria.fr>

	* fold-const.c (fold_binary_loc) [(A & C) == D]: Remove transformation.
	* match.pd (X == C): Rewrite it here.
	(with_possible_nonzero_bits, with_possible_nonzero_bits2,
	with_certain_nonzero_bits2): New predicates.
	* tree-ssanames.c (get_nonzero_bits): Handle INTEGER_CST.

From-SVN: r248447
2017-05-25 08:39:37 +00:00
Nathan Sidwell
d112b94ac4 lto-streamer-in.c (lto_input_data_block): Adjust T const cast to avoid warning.
* lto-streamer-in.c (lto_input_data_block): Adjust T const cast to
	avoid warning.

From-SVN: r248445
2017-05-25 01:21:01 +00:00
Nathan Sidwell
d65adabb0d auto-profile.c (afdo_propagate): Adjust T const cast to avoid warning.
* auto-profile.c (afdo_propagate): Adjust T const cast to avoid
	warning.

From-SVN: r248444
2017-05-25 01:12:29 +00:00
Nathan Sidwell
be136b5c88 c=common.c (field_decl_cmp, [...]): Adjust T const casts to avoid warning.
* c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
	const casts to avoid warning.

From-SVN: r248443
2017-05-25 00:55:10 +00:00
Nathan Sidwell
2efc367f25 * libiberty.h (ASTRDUP): Adjust cast to avoid warning.
From-SVN: r248442
2017-05-25 00:33:48 +00:00
GCC Administrator
d0a2c9a28b Daily bump.
From-SVN: r248441
2017-05-25 00:16:20 +00:00
Nathan Sidwell
5ad4f1c811 friend.c (do_friend): Remove check for existing decl.
cp/
	* friend.c (do_friend): Remove check for existing decl.
	* name-lookup.h (lookup_name_innermost_nonclass_level): Delete.
	* name-lookup.c (push_local_binding): Directly look for binding.
	(lookup_name_innermost_nonclass_level_1): Delete.
	(lookup_name_innermost_nonclass_level): Delete.

	testsuite/
	* g++.dg/lookup/friend12.C: Adjust diagnostics.
	* g++.dg/lookup/friend19.C: New.
	* g++.dg/lookup/friend20.C: New.

From-SVN: r248435
2017-05-24 23:18:58 +00:00
Nathan Sidwell
6cdb26f2ad * Make-lang.in (CXX_AND_OBJCXX_OBJS): Alphabetize.
From-SVN: r248434
2017-05-24 23:13:01 +00:00
Nathan Sidwell
d48b9bbeb3 cp-tree.h (cp_free_lang_data): Add extern.
* cp-tree.h (cp_free_lang_data): Add extern.
	(ovl_skip_hidden, is_overloaded_fn, really_overloaded_fn): Add
	ATTRIBUTE_PURE.
	(type_unknown_p): Return bool, make inline, lose TREE_LIST check.
	* typeck.c (type_unknown_p): Delete.
	* tree.c (is_overloaded_fn): Use MAYBE_BASELINE_FUNCTIONS, adjust
	overload management.
	(dependent_name): Likewise.
	(decl_anon_ns_mem_p): Simplify.

From-SVN: r248433
2017-05-24 23:08:17 +00:00
Jonathan Wakely
d4a760d8c4 PR c++/80544 strip cv-quals from cast results
gcc/cp:

	PR c++/80544
	* tree.c (reshape_init): Use unqualified type for direct enum init.
	* typeck.c (maybe_warn_about_cast_ignoring_quals): New.
	(build_static_cast_1, build_reinterpret_cast_1): Strip cv-quals from
	non-class destination types.
	(build_const_cast_1): Strip cv-quals from destination types.
	(build_static_cast, build_reinterpret_cast, build_const_cast)
	(cp_build_c_cast): Add calls to maybe_warn_about_cast_ignoring_quals.

gcc/testsuite:

	PR c++/80544
	* g++.dg/expr/cast11.C: New test.

From-SVN: r248432
2017-05-24 23:16:59 +01:00
Martin Sebor
3cd211af99 PR c/80731 - poor -Woverflow warnings
gcc/c-family/ChangeLog:

	PR c/80731
	* c-common.h (unsafe_conversion_p): Add a function argument.
	* c-common.c (unsafe_conversion_p): Same.
	Add type names and values to diagnostics.
	(scalar_to_vector): Adjust.
	* c-warn.c (constant_expression_error): Add a function argument.
	Add type names and values to diagnostics.
	(conversion_warning): Add a function argument.
	Add type names and values to diagnostics.
	(warnings_for_convert_and_check): Same.

gcc/c/ChangeLog:

	PR c/80731
	* c-fold.c (c_fully_fold_internal): Adjust.
	* c-typeck.c (parser_build_unary_op): Adjust.

gcc/cp/ChangeLog:

	PR c/80731
	* call.c (fully_fold_internal): Adjust.

gcc/testsuite/ChangeLog:

	PR c/80731
	* c-c++-common/Wfloat-conversion.c: Adjust.
	* c-c++-common/dfp/convert-int-saturate.c: Same.
	* c-c++-common/pr68657-1.c: Same.
	* g++.dg/ext/utf-cvt.C: Same.
	* g++.dg/ext/utf16-4.C: Same.
	* g++.dg/warn/Wconversion-real-integer-3.C: Same.
	* g++.dg/warn/Wconversion-real-integer2.C: Same.
	* g++.dg/warn/Wconversion3.C: Same.
	* g++.dg/warn/Wconversion4.C: Same.
	* g++.dg/warn/Wsign-conversion.C: Same.
	* g++.dg/warn/overflow-warn-1.C: Same.
	* g++.dg/warn/overflow-warn-3.C: Same.
	* g++.dg/warn/overflow-warn-4.C: Same.
	* g++.dg/warn/pr35635.C: Same.
	* g++.old-deja/g++.mike/enum1.C: Same.
	* gcc.dg/Wconversion-3.c: Same.
	* gcc.dg/Wconversion-5.c: Same.
	* gcc.dg/Wconversion-complex-c99.c: Same.
	* gcc.dg/Wconversion-complex-gnu.c: Same.
	* gcc.dg/Wconversion-integer.c: Same.
	* gcc.dg/Wsign-conversion.c: Same.
	* gcc.dg/bitfld-2.c: Same.
	* gcc.dg/c90-const-expr-11.c: Same.
	* gcc.dg/c90-const-expr-7.c: Same.
	* gcc.dg/c99-const-expr-7.c: Same.
	* gcc.dg/overflow-warn-1.c: Same.
	* gcc.dg/overflow-warn-2.c: Same.
	* gcc.dg/overflow-warn-3.c: Same.
	* gcc.dg/overflow-warn-4.c: Same.
	* gcc.dg/overflow-warn-5.c: Same.
	* gcc.dg/overflow-warn-8.c: Same.
	* gcc.dg/overflow-warn-9.c: New test.
	* gcc.dg/pr35635.c: Adjust.
	* gcc.dg/pr59940.c: Same.
	* gcc.dg/pr59963-2.c: Same.
	* gcc.dg/pr60114.c: Same.
	* gcc.dg/switch-warn-2.c: Same.
	* gcc.dg/utf-cvt.c: Same.
	* gcc.dg/utf16-4.c: Same.

From-SVN: r248431
2017-05-24 16:07:21 -06:00
Eli Zaretskii
1ab4db9379 waitpid.c (wait): Define as a macro that calls _cwait, so that this function works on MinGW.
2017-05-24  Eli Zaretskii  <eliz@gnu.org>
* libiberty/waitpid.c (wait) [__MINGW32__]: Define as a macro
that calls _cwait, so that this function works on MinGW.

From-SVN: r248430
2017-05-24 17:35:59 -04:00
Segher Boessenkool
8334904615 Split off powerpcspe from rs6000 port
* config/powerpcspe: New port.  Files are copied from the rs6000
	port, with "rs6000" in filenames replaced by "powerpcspe".

	* config.gcc (powerpc*-*-*spe*): New.
	(powerpc-*-eabispe*): Use ${cpu_type} instead of hardcoded pathnames.
	(powerpc-*-rtems*spe*): New.
	(powerpc*-*-linux*spe*): New.
	(powerpc-wrs-vxworksspe): New.
	(powerpc*-*-*, rs6000-*-*): Use ${cpu_type}.
	(misc flags) [powerpc*-*-*, rs6000-*-*): Use ${cpu_type}.
	* config.host (powerpc*-*-*spe*): New.

From-SVN: r248429
2017-05-24 21:35:49 +02:00
Jonathan Wakely
b678436176 Use CHAR_BIT instead of assuming 8 bits
* src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__
	instead of fixed number of bits.

From-SVN: r248428
2017-05-24 20:27:28 +01:00
Jakub Jelinek
216bfadc5d integer-pack2.C: Require int32 effective target.
* g++.dg/ext/integer-pack2.C: Require int32 effective target.
	Don't include limits.h.
	(w): Conditionalize on long long wider than int.  Use
	1LL << (__SIZEOF_INT__ * __CHAR_BIT__) instead of
	-9223372036854775808.
	(x): Use __INT_MAX__ instead of INT_MAX.

From-SVN: r248427
2017-05-24 21:11:01 +02:00
Thomas Koenig
a79b947460 dump-parse-tree.c (show_expr): Replace stdout with dumpfile for showing values.
2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump-parse-tree.c (show_expr):  Replace stdout
	with dumpfile for showing values.

From-SVN: r248426
2017-05-24 19:00:47 +00:00
Thomas Koenig
610abc0212 re PR fortran/66094 (Handle transpose(A) in inline matmul)
2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66094
	* frontend-passes.c (matrix_case):  Add A2TB2.
	(inline_limit_check):  Handle MATMUL(TRANSPOSE(A),B)
	(inline_matmul_assign):  Likewise.

2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66094
	* gfortran.dg/inline_matmul_16.f90:  New test.

From-SVN: r248425
2017-05-24 18:44:35 +00:00
Wilco Dijkstra
1a2fa2f821 When lra-remat rematerializes an instruction with a clobber, it checks that the clobber does not kill live registers.
When lra-remat rematerializes an instruction with a clobber, it checks
that the clobber does not kill live registers.  However it fails to check
that the clobber also doesn't overlap with the destination register of the
final rematerialized instruction.  As a result it is possible to generate
illegal instructions with the same hard register as the destination and a
clobber.  Fix this by also checking for overlaps with the destination
register.

    gcc/
	PR rtl-optimization/80754
	* lra-remat.c (do_remat): Add overlap checks for dst_regno.

From-SVN: r248424
2017-05-24 17:06:55 +00:00
Nathan Sidwell
c0edbb32c1 cp-tree.h (ovl_skip_hidden): Declare.
* cp-tree.h (ovl_skip_hidden): Declare.
	* tree.c (ovl_skip_hidden): New.
	* name-lookup.c (arg_assoc_namespace): Call ovl_skip_hidden.
	(lookup_arg_dependent_1): Likewise.
	(ambiguous_decl): Use DECL_HIDDEN_P, ovl_skip_hidden.
	(hidden_name_p, remove_hidden_names): Delete.
	(lookup_name_real_1): Do not strip hidden names.
	* name-lookup.h (hidden_name_p, remove_hidden_names): Delete.

From-SVN: r248423
2017-05-24 15:56:06 +00:00
Sheldon Lobo
657e5f8326 Fix a SPARC -mcbcond compare-and-branch out of range failure.
* config/sparc/sparc.md (length): Return the correct value for -mflat
	sibcalls to match output_sibcall.

From-SVN: r248422
2017-05-24 14:46:05 +00:00
Segher Boessenkool
6938e7f1d8 rs6000: Fix for separate shrink-wrapping for fp (PR80860, PR80843)
After my r248256, rs6000_components_for_bb allocates an sbitmap of size
only 32 while it can use up to 64.  This patch fixes it.  It moves the
n_components variable into the machine_function struct so that other
hooks can use it.


	PR bootstrap/80860
	PR bootstrap/80843
	* config/rs6000/rs6000.c (struct machine_function): Add new field
	n_components.
	(rs6000_get_separate_components): Init that field, use it.
	(rs6000_components_for_bb): Use the field.

From-SVN: r248421
2017-05-24 16:33:11 +02:00
Andreas Schwab
e1b6749586 baseline_symbols.txt: Update.
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r248420
2017-05-24 14:33:07 +00:00
Thomas Preud'homme
5bd5d23644 [ARM] Fix typo in comment in arm_expand_prologue
2017-05-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.c (arm_expand_prologue): Fix typo in comment.

From-SVN: r248419
2017-05-24 14:12:00 +00:00
Tom de Vries
8d0c9b36dd Reinstate absolute line number in gcc.dg/cpp/19940712-1.c
2017-05-24  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/cpp/19940712-1.c: Reinstate absolute line number.

From-SVN: r248418
2017-05-24 14:08:37 +00:00
Thomas Schwinge
7ce6440371 OpenACC 1.0 compatibility: acc_async_wait, acc_async_wait_all
libgomp/
	* openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
	* libgomp.map (OACC_2.0.1): Add these.
	* oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
	for "acc_wait", and "acc_wait_all", respectively.
	* openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
	for "acc_wait", and "acc_wait_all", respectively.
	* openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
	* libgomp.texi (acc_wait, acc_wait_all): Update.
	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.

From-SVN: r248413
2017-05-24 15:25:01 +02:00