]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
5 years agoDaily bump.
gccadmin [Wed, 16 Jan 2019 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267961 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agogcc/:
ian [Tue, 15 Jan 2019 23:54:37 +0000 (23:54 +0000)] 
gcc/:
        * godump.c (go_output_typedef): When outputting a typedef, refer
to the underlying type by its name and not its structure.
gcc/testsuite:
        * gcc.misc-tests/godump-1.c: Add test case for typedef before
struct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267958 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix ICE on class-template argument deduction (PR c++/88795)
dmalcolm [Tue, 15 Jan 2019 23:29:15 +0000 (23:29 +0000)] 
Fix ICE on class-template argument deduction (PR c++/88795)

PR c++/88795 reports an ICE building a function_type for a deduction guide
when the substitution into the function signature fails, due to an
error_mark_node being returned from tsubst_arg_types but not being checked
for.  This error_mark_node gets used as the TYPE_ARG_TYPES, leading to
ICEs in various places that assume this is a TREE_LIST.

This patch checks the result of tsubst_arg_types and propagates the failure
if it returns error_mark_node.  It also adds an assertion to
build_function_type, to fail faster if passed in error_mark_node.

gcc/cp/ChangeLog:
PR c++/88795
* pt.c (build_deduction_guide): Bail out if tsubst_arg_types
fails.

gcc/testsuite/ChangeLog:
PR c++/88795
* g++.dg/template/pr88795.C: New test.

gcc/ChangeLog:
PR c++/88795
* tree.c (build_function_type): Assert that arg_types is not
error_mark_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267957 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago runtime: add padding to FFI type of struct ending with zero-sized field
ian [Tue, 15 Jan 2019 23:21:24 +0000 (23:21 +0000)] 
runtime: add padding to FFI type of struct ending with zero-sized field

    CL 157557 changes the compiler to add one byte padding to
    non-empty struct ending with a zero-sized field. Add the same
    padding to the FFI type, so reflect.Call works.

    This fixes test/fixedbugs/issue26335.go in the main repo.

    Reviewed-on: https://go-review.googlesource.com/c/158018

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267956 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[D] Move building of typeof(null) values to a common function.
ibuclaw [Tue, 15 Jan 2019 23:02:43 +0000 (23:02 +0000)] 
[D] Move building of typeof(null) values to a common function.

gcc/d/ChangeLog:

* d-codegen.cc (build_typeof_null_value): New function.
* d-tree.h (build_typeof_null_value): Declare.
* d-convert.cc (convert_expr): Use build_typeof_null_value.
* expr.cc (ExprVisitor::visit(NullExp)): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267955 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 15 Jan 2019 22:20:26 +0000 (22:20 +0000)] 
2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/43136
* resolve.c (resolve_array_ref): Add equal_length argument; set it
if the length of the substring equals that of the orignal
variable.
(resolve_ref): Remove the substring if it is equal in length to
the original variable, unless it is an EXPR_SUBSTRING).

2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/43136
* gfortran.dg/actual_array_substr_3.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267954 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 15 Jan 2019 22:18:55 +0000 (22:18 +0000)] 
2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/43072
* resolve.c (resolve_array_ref): Add equal_length argument; set it
if the length of the substring equals that of the orignal
variable.
(resolve_ref): Remove the substring if it is equal in length to
the original variable, unless it is an EXPR_SUBSTRING).

2019-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/43072
* gfortran.dg/actual_array_substr_3.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267953 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago compiler, runtime: panic on uncomparable map key, even if map is empty
ian [Tue, 15 Jan 2019 20:32:39 +0000 (20:32 +0000)] 
compiler, runtime: panic on uncomparable map key, even if map is empty

    This ports https://golang.org/cl/155918 from the master repo.

        runtime: panic on uncomparable map key, even if map is empty

        Reorg map flags a bit so we don't need any extra space for the extra flag.

    This is a pre-req for updating libgo to the Go 1.12beta2 release.

    Reviewed-on: https://go-review.googlesource.com/c/157858

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267950 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Tue, 15 Jan 2019 20:17:35 +0000 (20:17 +0000)] 
2019-01-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/81849
* resolve.c (resolve_symbol): Host associated varaibles can appear
in the specification statement of a RESULT array.

2019-01-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/81849
* gfortran.dg/pr81849.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267948 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-15 Paul Thomas <pault@gcc.gnu.org>
pault [Tue, 15 Jan 2019 19:52:08 +0000 (19:52 +0000)] 
2019-01-15  Paul Thomas  <pault@gcc.gnu.org>

* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs
that are indirect references; ie. dummy arguments.

2019-01-15  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/ISO_Fortran_binding_2.c : Change reference to
ISO_Fortran_binding_2.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267946 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/88866
mpolacek [Tue, 15 Jan 2019 18:35:01 +0000 (18:35 +0000)] 
PR c++/88866
* g++.dg/cpp0x/variadic126.C: Tweak dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267944 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * g++.dg/ext/utf-cvt-char8_t.C: Pass -fsigned-char.
jason [Tue, 15 Jan 2019 18:26:00 +0000 (18:26 +0000)] 
* g++.dg/ext/utf-cvt-char8_t.C: Pass -fsigned-char.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267942 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR inline-asm/52813 revisited
rsandifo [Tue, 15 Jan 2019 16:46:54 +0000 (16:46 +0000)] 
PR inline-asm/52813 revisited

The original patch for this PR made it an error to list the stack
pointer in the clobber list of an inline asm.  However, the general
feeling seemed to be that going straight to a hard error was too harsh,
since there's quite a bit of existing code that has the clobber.

This patch implements the compromise discussed on IRC of making it
a -Wdeprecated warning instead.

2019-01-15  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
PR inline-asm/52813
* doc/extend.texi: Document that listing the stack pointer in the
clobber list of an asm is a deprecated feature.
* common.opt (Wdeprecated): Moved from c-family/c.opt.
* cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated
warning instead of an error for clobbers of the stack pointer.
Add a note explaining why.

gcc/c-family/
PR inline-asm/52813
* c.opt (Wdeprecated): Move documentation and variable to common.opt.

gcc/d/
PR inline-asm/52813
* lang.opt (Wdeprecated): Reference common.opt instead of c.opt.

gcc/testsuite/
PR inline-asm/52813
* gcc.target/i386/pr52813.c (test1): Turn the diagnostic into a
-Wdeprecated warning and expect a following note:.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267941 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-15 Richard Biener <rguenther@suse.de>
rguenth [Tue, 15 Jan 2019 16:06:42 +0000 (16:06 +0000)] 
2019-01-15  Richard Biener  <rguenther@suse.de>

PR debug/88046
* dwarf2out.c (gen_member_die): Do not generate inheritance
DIEs late.

* g++.dg/lto/pr88046_0.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267940 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-15 Richard Biener <rguenther@suse.de>
rguenth [Tue, 15 Jan 2019 15:37:29 +0000 (15:37 +0000)] 
2019-01-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/88855
* tree-if-conv.c (combine_blocks): Collect
SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.

* gcc.dg/pr88855.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267939 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoUpdate value of __cpp_lib_shared_ptr_arrays macro
redi [Tue, 15 Jan 2019 13:13:11 +0000 (13:13 +0000)] 
Update value of __cpp_lib_shared_ptr_arrays macro

* include/bits/shared_ptr_base.h (__cpp_lib_shared_ptr_arrays): Define
as 201611L, because P0497R0 changes are supported.
* include/std/version (__cpp_lib_shared_ptr_arrays): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267938 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix more missing or incorrect feature test macros
redi [Tue, 15 Jan 2019 12:58:19 +0000 (12:58 +0000)] 
Fix more missing or incorrect feature test macros

* include/bits/erase_if.h [__cplusplus > 201703L]
(__cpp_lib_erase_if): Only define for C++2a.
* include/std/iterator [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
(__cpp_lib_null_iterators): Define.
* include/std/version [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
(__cpp_lib_null_iterators): Define.
[__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267937 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix missing or incorrect feature test macros
redi [Tue, 15 Jan 2019 12:01:12 +0000 (12:01 +0000)] 
Fix missing or incorrect feature test macros

* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
status.
* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
Define.
* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
changes are supported.
* include/std/optional (__cpp_lib_optional): Likewise.
* include/std/variant (__cpp_lib_variant): Likewise.
* include/std/version [!__STRICT_ANSI__]
(__cpp_lib_uncaught_exceptions): Define as long integer.
[__cplusplus >= 201703L] (__cpp_lib_any)
(__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions)
(__cpp_lib_variant): Define for C++17.
[__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define
as long integer.
* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
integer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267936 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * doc/xml/manual/status_cxx2020.xml: Update P1123R0 status.
redi [Tue, 15 Jan 2019 10:34:18 +0000 (10:34 +0000)] 
* doc/xml/manual/status_cxx2020.xml: Update P1123R0 status.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267935 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Handle assignment to gang-level reduction variable
vries [Tue, 15 Jan 2019 10:11:16 +0000 (10:11 +0000)] 
[nvptx] Handle assignment to gang-level reduction variable

2019-01-15  Tom de Vries  <tdevries@suse.de>

PR target/80547
* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
lhs == NULL_TREE for gang-level reduction.

* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267934 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-15 Richard Biener <rguenther@suse.de>
prathamesh3492 [Tue, 15 Jan 2019 09:37:22 +0000 (09:37 +0000)] 
2019-01-15  Richard Biener  <rguenther@suse.de>
    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

PR ipa/88788
* ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
return true if SSA_NAME is already marked in visited bitmap.
(malloc_candidate_p): Pass visited to malloc_candidate_p_1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267933 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago/cp
paolo [Tue, 15 Jan 2019 09:36:43 +0000 (09:36 +0000)] 
/cp
2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (start_decl): Improve error location.
* decl2.c (grokfield): Likewise.

/testsuite
2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/diagnostic/typedef-initialized.C: New.

/cp
2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): Move further up the location_t loc
declaration and use the location when building a TYPE_DECL for
a typedef name.
* decl2.c (grokbitfield): Use DECL_SOURCE_LOCATION in the error
about an ill-formed bit-field as typedef.

/testsuite
2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/diagnostic/bitfld3.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267932 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR tree-optimization/88775
jakub [Tue, 15 Jan 2019 08:11:00 +0000 (08:11 +0000)] 
PR tree-optimization/88775
* match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize
equal == 0 equality pointer comparisons some more if compared in
integral types and either one points to an automatic var and the
other to a global, or we can prove at least one points to the middle
or both point to start or both point to end.

* gcc.dg/tree-ssa/pr88775-1.c: New test.
* gcc.dg/tree-ssa/pr88775-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267931 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoLower sampling rate for autofdo bootstrap
ak [Tue, 15 Jan 2019 03:49:45 +0000 (03:49 +0000)] 
Lower sampling rate for autofdo bootstrap

autofdo create_gcov uses a lot of memory for large sample files.
Since gcc runs quite long the sample files generated during
the bootstrap are fairly ig.

Currently I can't even build make autoprofiledbootstrap on my system at
home because create_gcov needs more than 12GB and runs out of memory.

This should probably be fixed in create_gcov, but for now
lowering the sampling rate works well enough for me. The bootstrap
run is long enough that it gets good enough data in any case.

gcc/:
2019-01-14  Andi Kleen  <ak@linux.intel.com>

* Makefile.in: Lower autofdo sampling rate by 10x.
* Makefile.tpl: Dito.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267930 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Tue, 15 Jan 2019 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267929 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/88825 - ICE with bogus function return type deduction.
mpolacek [Mon, 14 Jan 2019 22:01:24 +0000 (22:01 +0000)] 
PR c++/88825 - ICE with bogus function return type deduction.
* typeck.c (can_do_nrvo_p): Check error_mark_node.

* g++.dg/cpp1y/auto-fn55.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267926 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
jakub [Mon, 14 Jan 2019 20:12:11 +0000 (20:12 +0000)] 
* c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
and __cpp_nontype_template_parameter_auto.  Add a comment that
__cpp_template_auto is deprecated.

* g++.dg/cpp1z/feat-cxx1z.C: Add tests for
__cpp_guaranteed_copy_elision and __cpp_nontype_template_parameter_auto
feature test macros.
* g++.dg/cpp2a/feat-cxx2a.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267925 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/88830 - ICE with abstract class.
mpolacek [Mon, 14 Jan 2019 20:09:10 +0000 (20:09 +0000)] 
PR c++/88830 - ICE with abstract class.
* decl2.c (maybe_emit_vtables): Check CLASSTYPE_LAZY_DESTRUCTOR.
Fix formatting.

* g++.dg/other/abstract7.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267924 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago Implement P0482R5, char8_t: A type for UTF-8 characters and strings
jason [Mon, 14 Jan 2019 19:55:51 +0000 (19:55 +0000)] 
Implement P0482R5, char8_t: A type for UTF-8 characters and strings

gcc/cp/
* cvt.c (type_promotes_to): Handle char8_t promotion.
* decl.c (grokdeclarator): Handle invalid type specifier
combinations involving char8_t.
* lex.c (init_reswords): Add char8_t as a reserved word.
* mangle.c (write_builtin_type): Add name mangling for char8_t (Du).
* parser.c (cp_keyword_starts_decl_specifier_p)
(cp_parser_simple_type_specifier): Recognize char8_t as a simple
type specifier.
(cp_parser_string_literal): Use char8_array_type_node for the type
of CPP_UTF8STRING.
(cp_parser_set_decl_spec_type): Tolerate char8_t typedefs in system
headers.
* rtti.c (emit_support_tinfos): type_info support for char8_t.
* tree.c (char_type_p): Recognize char8_t as a character type.
* typeck.c (string_conv_p): Handle conversions of u8 string
literals of char8_t type.
(check_literal_operator_args): Handle UDLs with u8 string literals
of char8_t type.
* typeck2.c (ordinary_char_type_p): New.
(digest_init_r): Disallow initializing a char array with a u8 string
literal.
gcc/c-family/
* c-common.c (c_common_reswords): Add char8_t.
(fix_string_type): Use char8_t for the type of u8 string literals.
(c_common_get_alias_set): char8_t doesn't alias.
(c_common_nodes_and_builtins): Define char8_t as a builtin type in
C++.
(c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
(keyword_begins_type_specifier): Add RID_CHAR8.
* c-common.h (rid): Add RID_CHAR8.
(c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
Define char8_type_node and char8_array_type_node.
* c-cppbuiltin.c (cpp_atomic_builtins): Predefine
__GCC_ATOMIC_CHAR8_T_LOCK_FREE.
(c_cpp_builtins): Predefine __cpp_char8_t.
* c-lex.c (lex_string): Use char8_array_type_node as the type of
CPP_UTF8STRING.
(lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
* c-opts.c: If not otherwise specified, enable -fchar8_t when
targeting C++2a.
* c.opt: Add the -fchar8_t command line option.
libiberty/
* cp-demangle.c (cplus_demangle_builtin_types)
(cplus_demangle_type): Add name demangling for char8_t (Du).
* cp-demangle.h: Increase D_BUILTIN_TYPE_COUNT to accommodate the
new char8_t type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267923 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR target/88638 - FAIL: fsf-nsstring-format-1.s on darwin
msebor [Mon, 14 Jan 2019 18:44:00 +0000 (18:44 +0000)] 
PR target/88638 - FAIL: fsf-nsstring-format-1.s on darwin

gcc/c-family/ChangeLog:

PR target/88638
* c-attribs.c (positional_argument): Call valid_format_string_type_p
and issue errors if it fails.
* c-common.h (valid_format_string_type_p): Declare.
* c-format.c (valid_stringptr_type_p): Rename...
(valid_format_string_type_p): ...to this and make extern.
(handle_format_arg_attribute): Adjust to new name.
(check_format_string): Same.

gcc/testsuite/ChangeLog:

PR target/88638
* gcc.dg/format/attr-8.c: New test.
* gcc.dg/darwin-cfstring-format-1.c: Adjust diagnostics.
* gcc.dg/format/attr-3.c: Same.
* obj-c++.dg/fsf-nsstring-format-1.mm: Same.
* objc.dg/fsf-nsstring-format-1.m: Same.

gcc/ChangeLog:

PR target/88638
* doc/extend.texi (Darwin Format Checks): Clarify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267922 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix location of tls_wrapper_fn (PR gcov-profile/88263).
marxin [Mon, 14 Jan 2019 18:40:34 +0000 (18:40 +0000)] 
Fix location of tls_wrapper_fn (PR gcov-profile/88263).

2019-01-14  Martin Liska  <mliska@suse.cz>

PR gcov-profile/88263
* decl2.c (get_tls_wrapper_fn): Use DECL_SOURCE_LOCATION
as location of the TLS wrapper.
2019-01-14  Martin Liska  <mliska@suse.cz>

PR gcov-profile/88263
* g++.dg/gcov/pr88263-2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267921 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agogcc/ChangeLog:
msebor [Mon, 14 Jan 2019 18:26:32 +0000 (18:26 +0000)] 
gcc/ChangeLog:

* invoke.texi (-Wmemset-transposed-args): Fix typos, adjust wording.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267920 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-14 Richard Biener <rguenther@suse.de>
rguenth [Mon, 14 Jan 2019 13:11:43 +0000 (13:11 +0000)] 
2019-01-14  Richard Biener  <rguenther@suse.de>

* genmatch.c (dt_simplify::gen_1): Change dumping dependent on
whether we are in (simplify ...) or (match ...) context.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267917 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR rtl-optimization/88796
jakub [Mon, 14 Jan 2019 12:01:01 +0000 (12:01 +0000)] 
PR rtl-optimization/88796
* emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field.
* cfgexpand.c (stack_protect_prologue): Initialize
crtl->stack_protect_guard_decl.
* function.c (stack_protect_epilogue): Use it instead of calling
targetm.stack_protect_guard again.
* dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from
MEMs with MEM_EXPR equal to crtl->stack_protect_guard or
crtl->stack_protect_guard_decl.
* config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE
on the returned MEM_EXPR.

* gcc.target/i386/pr88796.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267916 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoUndo undesirable part of r267850 2019-01-11 commit.
jakub [Mon, 14 Jan 2019 10:47:09 +0000 (10:47 +0000)] 
Undo undesirable part of r267850 2019-01-11 commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267914 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[D] Merge upstream dmd cd2034cd7
ibuclaw [Mon, 14 Jan 2019 10:38:00 +0000 (10:38 +0000)] 
[D] Merge upstream dmd cd2034cd7

One fix in the asm statement parser to stop parsing if the end of the
statement has been reached, and moves all inline asm tests to gdc.dg.
These being adjusted where necessary to test the GCC style instead.

gcc/testsuite/ChangeLog:

2019-01-14  Iain Buclaw  <ibuclaw@gdcproject.org>

* gdc.dg/asm1.d: New test.
* gdc.dg/asm2.d: New test.
* gdc.dg/asm3.d: New test.
* gdc.dg/asm4.d: New test.
* lib/gdc.exp (gdc_init): Set gcc_error_prefix and gcc_warning_prefix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267913 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Mon, 14 Jan 2019 00:22:00 +0000 (00:22 +0000)] 
2019-01-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/88776
* io/open.c (newunit): Free format buffer if the unit specified is for
stdin, stdout, or stderr.

* gfortran.dg/namelist_96.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267910 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Mon, 14 Jan 2019 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267909 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-13 Dominique d'Humieres <dominiq@gcc.gnu.org>
dominiq [Sun, 13 Jan 2019 19:18:46 +0000 (19:18 +0000)] 
2019-01-13  Dominique d'Humieres  <dominiq@gcc.gnu.org>

PR fortran/88803
* gfortran.texi: Replace @xref with @ref and adjust the sentence.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267906 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 13 Jan 2019 14:57:39 +0000 (14:57 +0000)] 
2019-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/57992
* trans-array.c (gfc_conv_array_parameter):  Do not pack/unpack
functions with contiguous results.

2019-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/59345
* gfortran.dg/internal_pack_18.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267905 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoC-family: Replace "may may" with "may" in warning message
hjl [Sun, 13 Jan 2019 12:53:47 +0000 (12:53 +0000)] 
C-family: Replace "may may" with "may" in warning message

gcc/c-family/

* c-warn.c (warn_for_address_or_pointer_of_packed_member):
Replace "may may" with "may" in warning message.

gcc/testsuite/

* gcc.dg/pr51628-20.c: Updated.
* gcc.dg/pr51628-21.c: Likewise.
* gcc.dg/pr51628-25.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267904 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 13 Jan 2019 11:06:03 +0000 (11:06 +0000)] 
2019-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/59345
* trans-array.c (gfc_conv_array_parameter): Remove TODO.  Do not
pack/unpack results of functions which return an explicit-shaped
or allocatable array.

2019-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/59345
* gfortran.dg/internal_pack_17.f90: New test.
* gfortran.dg/alloc_comp_auto_array_3.f90: Adjust number of calls
to builtin_free.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267903 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-12 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 13 Jan 2019 04:02:46 +0000 (04:02 +0000)] 
2019-01-12  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/61765
* resolve.c (gfc_verify_binding_labels): Break if-elseif-elseif
structure into independent if's with a return to simplify logic.
Avoid a check for ENTRY name with bind(c).

2019-01-12  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/61765
* gfortran.dg/pr61765.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267902 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Sun, 13 Jan 2019 00:16:28 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267901 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 12 Jan 2019 23:06:47 +0000 (23:06 +0000)] 
2019-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/88776
* io/list_read.c (namelist_read): Use nml_err_ret path on read error
not based on stdin_unit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267898 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Enable setting vector length using -fopenacc-dim -- testcases
vries [Sat, 12 Jan 2019 22:19:31 +0000 (22:19 +0000)] 
[nvptx] Enable setting vector length using -fopenacc-dim -- testcases

Add some test-cases that set vector length using -fopenacc-dim.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
* testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267897 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Enable setting vector length using -fopenacc-dim
vries [Sat, 12 Jan 2019 22:19:15 +0000 (22:19 +0000)] 
[nvptx] Enable setting vector length using -fopenacc-dim

Enable setting vector length using -fopenacc-dim, f.i. -fopenacc-dim=::128.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
vector length using -fopenacc-dim.

* plugin/plugin-nvptx.c (nvptx_exec): Update error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267896 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Add vector_length 64 test-cases
vries [Sat, 12 Jan 2019 22:19:02 +0000 (22:19 +0000)] 
[nvptx] Add vector_length 64 test-cases

Add some test-cases using vector_length 64.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267895 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Force vl32 if calling vector-partitionable routines -- test-cases
vries [Sat, 12 Jan 2019 22:18:50 +0000 (22:18 +0000)] 
[nvptx] Force vl32 if calling vector-partitionable routines -- test-cases

Add test-cases for "[nvptx] Force vl32 if calling vector-partitionable
routines".

2019-01-12  Tom de Vries  <tdevries@suse.de>

PR target/85486
* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
* testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267894 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Don't emit barriers for empty loops -- test-cases
vries [Sat, 12 Jan 2019 22:18:39 +0000 (22:18 +0000)] 
[nvptx] Don't emit barriers for empty loops -- test-cases

Add test-cases for PR85381.

2019-01-12  Tom de Vries  <tdevries@suse.de>

PR target/85381
* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
* testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267893 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Enable large vectors -- reduction testcases
vries [Sat, 12 Jan 2019 22:18:27 +0000 (22:18 +0000)] 
[nvptx] Enable large vectors -- reduction testcases

Add various reduction test-cases with vector length 128.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267892 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Enable large vectors -- test-cases
vries [Sat, 12 Jan 2019 22:18:11 +0000 (22:18 +0000)] 
[nvptx] Enable large vectors -- test-cases

Add various test-cases with vector length 128.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267891 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Update insufficient launch message for variable vector_length
vries [Sat, 12 Jan 2019 22:18:00 +0000 (22:18 +0000)] 
[nvptx] Update insufficient launch message for variable vector_length

Update message in nvptx libgomp plugin about insufficient resources to launch
kernel, to accommodate for the fact the vector_length can now be variable.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
resources diagnostic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267890 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Enable large vectors
vries [Sat, 12 Jan 2019 22:17:42 +0000 (22:17 +0000)] 
[nvptx] Enable large vectors

Allow vector_length clauses to accept values larger than warp size.  Note that
this does not enable setting vector_length to values larger than warp size using
-fopenacc-dim.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
lengths into account.

* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
vector length to be 128.
* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
length 2097152 to be reduced to 1024 instead of 32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267889 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago/cp
paolo [Sat, 12 Jan 2019 21:59:50 +0000 (21:59 +0000)] 
/cp
2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (cp_finish_decl): Improve error location.
* decl2.c (grokfield): Likewise, improve two locations.

/testsuite
2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/pr62101.C: Test locations too.
* g++.dg/inherit/pure1.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267888 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago/cp
paolo [Sat, 12 Jan 2019 21:59:03 +0000 (21:59 +0000)] 
/cp
2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (cp_finish_decl): Improve error location.
* decl2.c (grokfield): Likewise, improve two locations.

/testsuite
2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/pr62101.C: Test locations too.
* g++.dg/inherit/pure1.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267887 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
ian [Sat, 12 Jan 2019 21:17:56 +0000 (21:17 +0000)] 
* config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
(TARGET_CAN_SPLIT_STACK): Define.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267886 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDocument merge process for dmd, druntime and phobos.
ibuclaw [Sat, 12 Jan 2019 19:50:41 +0000 (19:50 +0000)] 
Document merge process for dmd, druntime and phobos.

gcc/d/ChangeLog:

* README.gcc: New file.

libphobos/ChangeLog:

* README.gcc: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267885 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-12 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 12 Jan 2019 18:34:30 +0000 (18:34 +0000)] 
2019-01-12  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/ISO_Fortran_binding_2.f90 : Remove because of
reports of ICEs.
* gfortran.dg/ISO_Fortran_binding_2.c : Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267884 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * params.def (inline-unit-growth): Set to 40.
hubicka [Sat, 12 Jan 2019 18:18:23 +0000 (18:18 +0000)] 
* params.def (inline-unit-growth): Set to 40.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267883 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
jakub [Sat, 12 Jan 2019 16:55:45 +0000 (16:55 +0000)] 
* tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.

* c-typeck.c (convert_for_assignment): Fix a comment typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267882 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-12 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 12 Jan 2019 15:25:52 +0000 (15:25 +0000)] 
2019-01-12  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.texi : Add description in sections on TS 29113 and
further interoperability with C.
* trans-array.c (gfc_conv_descriptor_attribute): New function.
(gfc_get_dataptr_offset): Remove static function attribute.
* trans-array.h : Add prototypes for above functions.
* trans-decl.c : Add declarations for the library functions
cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
(gfc_conv_procedure_call): Call it for scalar and array actual
arguments, when the formal arguments are bind_c with assumed
shape or assumed rank.
* trans.h : External declarations for gfor_fndecl_cfi_to_gfc
and gfor_fndecl_gfc_to_cfi.

2019-01-12  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/ISO_Fortran_binding_1.f90 : New test.
* gfortran.dg/ISO_Fortran_binding_1.c : Auxilliary file for test.
* gfortran.dg/ISO_Fortran_binding_2.f90 : New test.
* gfortran.dg/ISO_Fortran_binding_2.c : Auxilliary file for test.
* gfortran.dg/bind_c_array_params_2.f90 : Change search string
for dump tree scan.

2019-01-12  Paul Thomas  <pault@gcc.gnu.org>

* ISO_Fortran_binding.h : New file.
* Makefile.am : Include ISO_Fortran_binding.c in the list of
files to compile.
* Makefile.in : Regenerated.
* gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
_gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
* runtime/ISO_Fortran_binding.c : New file containing the new
functions added to the map.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267881 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Apply vector-partitionable routines workaround to default vl
vries [Sat, 12 Jan 2019 10:27:34 +0000 (10:27 +0000)] 
[nvptx] Apply vector-partitionable routines workaround to default vl

Make "[nvptx] Force vl32 if calling vector-partitionable routines" work as well
if vector length is set by modifying PTX_DEFAULT_VECTOR_LENGTH.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
region calling vector-partitionable routine, set default_vector_length
to WARP_SIZE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267879 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Allow default vl to be overridden in nvptx_goacc_validate_dims_1
vries [Sat, 12 Jan 2019 10:27:23 +0000 (10:27 +0000)] 
[nvptx] Allow default vl to be overridden in nvptx_goacc_validate_dims_1

In nvptx_goacc_validate_dims_1, allow oacc_default_dims[DIM_VECTOR] to be
overridden, by assigning it to a new variable default_vector_length at the
start, and using it at the end.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
variable default_vector_length.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267878 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Verify dimension limits after applying defaults
vries [Sat, 12 Jan 2019 10:27:12 +0000 (10:27 +0000)] 
[nvptx] Verify dimension limits after applying defaults

There's a problem in oacc_validate_dims that when f.i. the worker dimension
is set using -fopenacc-dim=:32, and the vector_length is set using a
"vector_length (128)" clause, the compiler combines, accepts and emits the
values, while the combination of the two is invalid.

The reason for this is that while oacc_validate_dims validates the dimensions
using targetm.goacc.validate_dims before applying default or minimum values,
it does not do so afterwards.

Work around this in the nvptx port by applying the defaults from
oacc_default_dims at the end of nvptx_goacc_validate_dims_1, as
oacc_validate_dims would do it, and then apply the dimensions limits.

2019-01-12  Tom de Vries  <tdevries@suse.de>

PR middle-end/88703
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
from oacc_default_dims, as oacc_validate_dims would do it, and apply
dimensions limits.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267877 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[openacc] Add used parameter to TARGET_GOACC_VALIDATE_DIMS
vries [Sat, 12 Jan 2019 10:27:00 +0000 (10:27 +0000)] 
[openacc] Add used parameter to TARGET_GOACC_VALIDATE_DIMS

Add a used parameter to TARGET_GOACC_VALIDATE_DIMS, allowing a target to make
decisions in the hook implementation based on whether a dimension is used or
not.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
(nvptx_goacc_validate_dims): Add used parameter.
* doc/tm.texi: Regenerate.
* omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
argument to call to targetm.goacc.validate_dims.
(default_goacc_validate_dims): Add used
parameter.
* target.def (validate_dims): Add used parameter in DEFHOOK.
* targhooks.h (default_goacc_validate_dims): Add used parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267876 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR libfortran/88807
jakub [Sat, 12 Jan 2019 09:15:54 +0000 (09:15 +0000)] 
PR libfortran/88807
* m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
* generated/minloc0_4_i1.c: Regenerated.
* generated/minloc0_4_i2.c: Regenerated.
* generated/minloc0_4_i4.c: Regenerated.
* generated/minloc0_4_i8.c: Regenerated.
* generated/minloc0_4_i16.c: Regenerated.
* generated/minloc0_4_r4.c: Regenerated.
* generated/minloc0_4_r8.c: Regenerated.
* generated/minloc0_4_r10.c: Regenerated.
* generated/minloc0_4_r16.c: Regenerated.
* generated/minloc0_8_i1.c: Regenerated.
* generated/minloc0_8_i2.c: Regenerated.
* generated/minloc0_8_i4.c: Regenerated.
* generated/minloc0_8_i8.c: Regenerated.
* generated/minloc0_8_i16.c: Regenerated.
* generated/minloc0_8_r4.c: Regenerated.
* generated/minloc0_8_r8.c: Regenerated.
* generated/minloc0_8_r10.c: Regenerated.
* generated/minloc0_8_r16.c: Regenerated.
* generated/minloc0_16_i1.c: Regenerated.
* generated/minloc0_16_i2.c: Regenerated.
* generated/minloc0_16_i4.c: Regenerated.
* generated/minloc0_16_i8.c: Regenerated.
* generated/minloc0_16_i16.c: Regenerated.
* generated/minloc0_16_r4.c: Regenerated.
* generated/minloc0_16_r8.c: Regenerated.
* generated/minloc0_16_r10.c: Regenerated.
* generated/minloc0_16_r16.c: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267875 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoRemove svn:executable property from a couple of text files
jakub [Sat, 12 Jan 2019 00:20:04 +0000 (00:20 +0000)] 
Remove svn:executable property from a couple of text files
which shouldn't be executable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267873 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDaily bump.
gccadmin [Sat, 12 Jan 2019 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267872 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/88811 fix typo introduced in r266569
redi [Sat, 12 Jan 2019 00:12:20 +0000 (00:12 +0000)] 
PR libstdc++/88811 fix typo introduced in r266569

PR libstdc++/88811
PR libstdc++/83306
* src/filesystem/path.cc: Fix typo. If first path is empty, show []
before second path.
* testsuite/experimental/filesystem/filesystem_error/cons.cc: New
test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267868 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoDocument C++20 library status
redi [Fri, 11 Jan 2019 23:41:15 +0000 (23:41 +0000)] 
Document C++20 library status

* doc/xml/manual/intro.xml: Include new section.
* doc/xml/manual/status_cxx2017.xml: Document more
implementation-defined properties of the library.
* doc/xml/manual/status_cxx2020.xml: Document C++2a status.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267867 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoP0357R3 reference_wrapper for incomplete types
redi [Fri, 11 Jan 2019 23:41:11 +0000 (23:41 +0000)] 
P0357R3 reference_wrapper for incomplete types

This patch implements the C++2a proposal to allow incomplete types in
std::reference_wrapper, which was previously undefined.

The change cannot be implemented for earlier standards, because prior to
C++2a std::reference_wrapper has a weak result type, so must inspect the
template argument to see if it defines a nested result_type member. That
is deprecated (but still required) in C++17, and removed from C++2a.

The removal of the base class from reference_wrapper is a potential ABI
change, as it could alter the layout of a type which derives from
reference_wrapper<T> and from an empty type with _Weak_result_type<T> as
a base class.  Previously the repeated _Weak_result_type<T> base class
would have prevented the empty base-class optimization, but if
reference_wrapper<T> no longer derives from it, the empty class could be
placed at the same address as the reference_wrapper<T> base.  In
practice, the only types which derive from _Weak_result_type or from
_Reference_wrapper_base_memfun or any of its base classes are non-empty
types defined in libstdc++: std::reference_wrapper, std::function, and
std::_Bind. As they are non-empty types, they are not eligible for EBO
anyway.

* include/bits/refwrap.h [__cplusplus > 201703L]
(_Refwrap_base_arg1, _Refwrap_base_arg2, _Reference_wrapper_base)
(_Reference_wrapper_base_memfun): Do not define for C++2a.
(reference_wrapper): Do not derive from _Reference_wrapper_base_memfun
for C++2a.
(reference_wrapper::operator()): Add static assertion.
* testsuite/20_util/reference_wrapper/incomplete.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267866 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoP0972R0 <chrono> zero(), min(), and max() should be noexcept
redi [Fri, 11 Jan 2019 23:41:05 +0000 (23:41 +0000)] 
P0972R0 <chrono> zero(), min(), and max() should be noexcept

This paper has been included in the C++20 draft, but the changes to add
noexcept can be made unconditionally, to apply for C++11 too.

* include/std/chrono (duration_values::zero(), duration_values::min())
(duration_values::max()): Add noexcept.
(duration::zero(), duration::min(), duration::max()): Likewise.
(time_point::zero(), time_point::min(), time_point::max()): Likewise.
* testsuite/20_util/duration/requirements/noexcept.cc: New test.
* testsuite/20_util/time_point/requirements/noexcept.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267865 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 11 Jan 2019 23:41:04 +0000 (23:41 +0000)] 
2019-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/35031
* decl.c (gfc_match_entry): Check for F2018:C1546.  Fix nearby
mis-indentation.

2019-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/35031
* gfortran.dg/pr35031.f90: new test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267864 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix location of __cpp_lib_erase_if macro
redi [Fri, 11 Jan 2019 23:40:58 +0000 (23:40 +0000)] 
Fix location of __cpp_lib_erase_if macro

This macro should only be defined for C++2a, not C++17.

* include/std/version (__cpp_lib_erase_if): Move to C++20 group.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267863 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/88692, c++/87882 - -Wredundant-move false positive with *this.
mpolacek [Fri, 11 Jan 2019 23:21:40 +0000 (23:21 +0000)] 
PR c++/88692, c++/87882 - -Wredundant-move false positive with *this.
* typeck.c (maybe_warn_pessimizing_move): Return if ARG isn't
ADDR_EXPR.

* g++.dg/cpp0x/Wredundant-move5.C: New test.
* g++.dg/cpp0x/Wredundant-move6.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267862 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago compiler: pad structs ending with zero-sized field
ian [Fri, 11 Jan 2019 23:16:38 +0000 (23:16 +0000)] 
compiler: pad structs ending with zero-sized field

    For a struct with zero-sized last field, the address of the
    field falls out of the object boundary, which confuses the
    garbage collector. Pad an extra byte in this case.

    Reviewed-on: https://go-review.googlesource.com/c/157557

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267861 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/88312 - pack expansion of decltype.
jason [Fri, 11 Jan 2019 22:37:01 +0000 (22:37 +0000)] 
PR c++/88312 - pack expansion of decltype.

The standard doesn't really talk about an expression depending on the number
of elements of a pack, but that's definitely an important form of template
argument dependence.

* pt.c (instantiation_dependent_r): A template non-type parameter
pack is instantiation-dependent.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267860 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR c++/88613 - ICE with use of const var in lambda.
jason [Fri, 11 Jan 2019 22:36:20 +0000 (22:36 +0000)] 
PR c++/88613 - ICE with use of const var in lambda.

The issue here was that we were cp_folding a location wrapper around a
lambda capture proxy before it had been mark_rvalue_used.  I considered
adding mark_rvalue_use calls to build_new_op_1, but it seems appropriate to
have them in cp_fold_maybe_rvalue when we know we're trying to produce an
rvalue.

The change to mark_use is for a related issue: when we change the operand of
the location wrapper from VAR_DECL to INTEGER_CST, we need the TREE_CODE of
the location wrapper to change as well, from VIEW_CONVERT_EXPR to
NON_LVALUE_EXPR.

* expr.c (mark_use): Fix location wrapper handling.
* cp-gimplify.c (cp_fold_maybe_rvalue): Call mark_rvalue_use.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267859 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR middle-end/85956
jakub [Fri, 11 Jan 2019 21:03:53 +0000 (21:03 +0000)] 
PR middle-end/85956
PR lto/88733
* tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds
field.
* tree-inline.c (remap_type_1): Formatting fix.  If TYPE_MAX_VALUE of
ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with
a dummy "omp dummy var" variable if id->adjust_array_error_bounds.
* omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds.
fortran/
* trans-openmp.c: Include attribs.h.
(gfc_walk_alloc_comps, gfc_omp_clause_linear_ctor): Handle
VAR_DECL max bound with "omp dummy var" attribute like NULL or
error_mark_node - recompute number of elts independently.
testsuite/
* c-c++-common/gomp/pr85956.c: New test.
* g++.dg/gomp/pr88733.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267858 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR C++/88114 Gen destructor of an abstract class
burnus [Fri, 11 Jan 2019 19:40:13 +0000 (19:40 +0000)] 
PR C++/88114 Gen destructor of an abstract class

        PR C++/8811
        * decl2.c (maybe_emit_vtables): If needed, generate code for
        the destructor of an abstract class.
        (mark_used): Update comment for older function-name change.

        PR C++/88114
        * g++.dg/cpp0x/defaulted61.C: New.
        * g++.dg/cpp0x/defaulted62.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267855 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-11 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 11 Jan 2019 19:25:31 +0000 (19:25 +0000)] 
2019-01-11  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/87305
* lra-assigns.c
(setup_live_pseudos_and_spill_after_risky_transforms): Add code
for little endian pseudos used as paradoxical subreg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267854 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR tree-optimization/88693
jakub [Fri, 11 Jan 2019 19:04:32 +0000 (19:04 +0000)] 
PR tree-optimization/88693
* tree-ssa-strlen.c (get_min_string_length): Don't set *full_string_p
for STRING_CSTs that don't contain any NUL characters in the first
TREE_STRING_LENGTH bytes.

* gcc.c-torture/execute/pr88693.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267852 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR 88777
law [Fri, 11 Jan 2019 18:44:00 +0000 (18:44 +0000)] 
PR 88777
PR 88614
* genattrtab.c (min_fn): Don't translate values.
(min_attr_value): Return INT_MAX when the value can't be calculated.
Return minimum among any values that can be calculated.
(max_attr_value): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267851 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H).
jakub [Fri, 11 Jan 2019 17:01:25 +0000 (17:01 +0000)] 
* Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267850 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoRemove trailing whitespace from latest commit.
jakub [Fri, 11 Jan 2019 16:55:13 +0000 (16:55 +0000)] 
Remove trailing whitespace from latest commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267849 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-11 Steve Ellcey <sellcey@marvell.com>
sje [Fri, 11 Jan 2019 16:50:17 +0000 (16:50 +0000)] 
2019-01-11  Steve Ellcey  <sellcey@marvell.com>

* config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
(aarch64_hard_regno_call_part_clobbered): Add insn argument.
(aarch64_return_call_with_max_clobbers): New function.
(TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New macro.
* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Add insn
argument.
* config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Ditto.
* config/mips/mips.c (mips_hard_regno_call_part_clobbered): Ditto.
* config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered): Ditto.
* config/s390/s390.c (s390_hard_regno_call_part_clobbered): Ditto.
* cselib.c (cselib_process_insn): Add argument to
targetm.hard_regno_call_part_clobbered call.
* ira-conflicts.c (ira_build_conflicts): Ditto.
* ira-costs.c (ira_tune_allocno_costs): Ditto.
* lra-constraints.c (inherit_reload_reg): Ditto.
* lra-int.h (struct lra_reg): Add call_insn field, remove call_p field.
* lra-lives.c (check_pseudos_live_through_calls): Add call_insn
argument.  Call targetm.return_call_with_max_clobbers.
Add argument to targetm.hard_regno_call_part_clobbered call.
(calls_have_same_clobbers_p): New function.
(process_bb_lives): Add call_insn and last_call_insn variables.
Pass call_insn to check_pseudos_live_through_calls.
Modify if stmt to check targetm.return_call_with_max_clobbers.
Update setting of flush variable.
(lra_create_live_ranges_1): Set call_insn to NULL instead of call_p
to false.
* lra.c (initialize_lra_reg_info_element): Set call_insn to NULL.
* regcprop.c (copyprop_hardreg_forward_1): Add argument to
        targetm.hard_regno_call_part_clobbered call.
* reginfo.c (choose_hard_reg_mode): Ditto.
* regrename.c (check_new_reg_p): Ditto.
* reload.c (find_equiv_reg): Ditto.
* reload1.c (emit_reload_insns): Ditto.
* sched-deps.c (deps_analyze_insn): Ditto.
* sel-sched.c (init_regs_for_mode): Ditto.
(mark_unavailable_hard_regs): Ditto.
* targhooks.c (default_dwarf_frame_reg_mode): Ditto.
* target.def (hard_regno_call_part_clobbered): Add insn argument.
(return_call_with_max_clobbers): New target function.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New hook.
* hooks.c (hook_bool_uint_mode_false): Change to
hook_bool_insn_uint_mode_false.
* hooks.h (hook_bool_uint_mode_false): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267848 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago * include/std/type_traits (__cpp_lib_is_constant_evaluated): Define.
jakub [Fri, 11 Jan 2019 16:01:23 +0000 (16:01 +0000)] 
* include/std/type_traits (__cpp_lib_is_constant_evaluated): Define.
* include/std/version (__cpp_lib_is_constant_evaluated): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267847 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago2019-01-11 Steve Ellcey <sellcey@marvell.com>
sje [Fri, 11 Jan 2019 15:53:02 +0000 (15:53 +0000)] 
2019-01-11  Steve Ellcey  <sellcey@marvell.com>

* config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
(aarch64_remove_extra_call_preserved_regs): New function.
(TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro.
* doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook.
* doc/tm.texi: Regenerate.
* final.c (get_call_reg_set_usage): Call new hook.
* target.def (remove_extra_call_preserved_regs): New hook.
* targhooks.c (default_remove_extra_call_preserved_regs): New function.
* targhooks.h (default_remove_extra_call_preserved_regs): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267846 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/88802 define std::hash<nullptr_t> for C++17
redi [Fri, 11 Jan 2019 14:54:49 +0000 (14:54 +0000)] 
PR libstdc++/88802 define std::hash<nullptr_t> for C++17

PR libstdc++/88802
* include/bits/functional_hash.h (hash<nullptr_t>): Define
specialization for C++17 (P0513R0, LWG 2817).
* testsuite/20_util/hash/nullptr.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267845 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoFix arm testism regression.
tnfchris [Fri, 11 Jan 2019 14:20:58 +0000 (14:20 +0000)] 
Fix arm testism regression.

gcc/testsuite/ChangeLog:

2019-01-11  Tamar Christina  <tamar.christina@arm.com>

* gcc.target/aarch64/advsimd-intrinsics/vector-complex_f16.c: Require neon
and add options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267843 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoBetter distinguish OpenACC and OpenMP sections in libgomp.texi
jules [Fri, 11 Jan 2019 13:55:01 +0000 (13:55 +0000)] 
Better distinguish OpenACC and OpenMP sections in  libgomp.texi

2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
            James Norris  <jnorris@codesourcery.com>

* libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
Library Routines", and "Environment Variables".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267841 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoAdd a testcase (PR middle-end/88758).
marxin [Fri, 11 Jan 2019 13:20:01 +0000 (13:20 +0000)] 
Add a testcase (PR middle-end/88758).

2019-01-11  Martin Liska  <mliska@suse.cz>

PR middle-end/88758
* g++.dg/lto/pr88758_0.C: New test.
* g++.dg/lto/pr88758_1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267840 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago PR bootstrap/88714
jakub [Fri, 11 Jan 2019 12:05:54 +0000 (12:05 +0000)] 
PR bootstrap/88714
* passes.c (finish_optimization_passes): Call print_combine_total_stats
inside of pass_combine_1 dump rather than pass_profile_1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267839 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Don't allow vector_length 64 with num_workers 16
vries [Fri, 11 Jan 2019 11:46:43 +0000 (11:46 +0000)] 
[nvptx] Don't allow vector_length 64 with num_workers 16

When using a compiler build with:
...
+#define PTX_DEFAULT_VECTOR_LENGTH PTX_CTA_SIZE
...

consider a test-case:
...
int
main (void)
{
  #pragma acc parallel vector_length (64)
    #pragma acc loop worker
    for (unsigned int i = 0; i < 32; i++)
      #pragma acc loop vector
      for (unsigned int j = 0; j < 64; j++)
        ;

  return 0;
}
...

If num_workers is 16, either because:
- we add a "num_workers (16)" clause on the parallel directive, or
- we set "GOMP_OPENACC_DIM=:16:", or
- the libgomp plugin chooses 16 num_workers
we run into an illegal instruction at runtime, because a bar.sync instruction
tries to use a barrier 16.  The instruction is illegal, because ptx supports
only 16 barriers per CTA, and the valid range is 0..15.

The problem is that with a warp-multiple vector length, we use a code generation
scheme with a per-worker barrier.  And because barrier zero is reserved for
per-cta barrier, only the remaining 15 barriers can be used as per-worker
barrier, and consequently we can't use num_workers larger than 15.

This problem occurs only for vector_length 64.  For vector_length 32, we use a
different code generation scheme, and for vector_length >= 96, the maximum
num_workers is not big enough not to trigger this problem.

Also, this problem only occurs for num_workers 16.  As explained above,
num_workers 15 is safe to use, and 16 is already the maximum num_workers for
vector_length 64.

This patch fixes the problem in both the compiler (handling "num_workers (16)")
and in the libgomp nvptx plugin (with and without "GOMP_OPENACC_DIM=:16:").

2019-01-11  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (PTX_CTA_NUM_BARRIERS, PTX_PER_CTA_BARRIER)
(PTX_NUM_PER_CTA_BARRIER, PTX_FIRST_PER_WORKER_BARRIER)
(PTX_NUM_PER_WORKER_BARRIERS): Define.
(nvptx_apply_dim_limits): Prevent vector_length 64 and
num_workers 16.

* plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
num_workers 16.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267838 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx] Move PTX_CTA_SIZE up
vries [Fri, 11 Jan 2019 11:46:31 +0000 (11:46 +0000)] 
[nvptx] Move PTX_CTA_SIZE up

Move the defition of PTX_CTA_SIZE up in nvptx.c.

2019-01-11  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (PTX_CTA_SIZE): Move up.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267837 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[libgomp, testsuite, openacc] Remove -foffload=-w in reduction-[1-5].c
vries [Fri, 11 Jan 2019 11:46:06 +0000 (11:46 +0000)] 
[libgomp, testsuite, openacc] Remove -foffload=-w in reduction-[1-5].c

Before the commit "[libgomp, testsuite, openacc] Don't use const int for
dimensions", the "const int" construct was used to set launch dimensions in
reductions-[1-5].c.  In the case of -xc -O0, the const int is implemented as a
variable by the C front-end.  Consequently, the nvptx back-end generated
warnings that vector_length was overridden to be hard-coded, rather than left to
be set at runtime.  The test-cases silenced these warnings by switching off all
warnings in the accelerator compiler using "-foffload=-w".

Given that no warnings occur anymore, remove the "-foffload=-w" setting.

2019-01-11  Tom de Vries  <tdevries@suse.de>

* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
-foffload=-w.
* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267836 138bc75d-0d04-0410-961f-82ee72b054a4

5 years ago[nvptx, testsuite, openacc, libgomp] Add insufficient-resources.c
vries [Fri, 11 Jan 2019 11:45:55 +0000 (11:45 +0000)] 
[nvptx, testsuite, openacc, libgomp] Add insufficient-resources.c

Add a test-case that tests the "insufficient resources" fatal in the nvptx
libgomp plugin.

2019-01-11  Tom de Vries  <tdevries@suse.de>

* testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267835 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agoPR libstdc++/88125 remove duplicate entry in linker script
redi [Fri, 11 Jan 2019 11:39:45 +0000 (11:39 +0000)] 
PR libstdc++/88125 remove duplicate entry in linker script

PR libstdc++/88125
* config/abi/pre/gnu.ver (GLIBCXX_3.4.6): Remove unused duplicate
pattern for std::basic_stringbuf::str().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267834 138bc75d-0d04-0410-961f-82ee72b054a4

5 years agox86-64: {,V}CVT{,U}SI2Sx are ambiguous without suffix
jbeulich [Fri, 11 Jan 2019 11:20:40 +0000 (11:20 +0000)] 
x86-64: {,V}CVT{,U}SI2Sx are ambiguous without suffix

For 64-bit these should not be emitted without suffix in AT&T mode (as
being ambiguous that way); the suffixes are benign for 32-bit. For
consistency also omit the suffix in Intel mode for {,V}CVTSI2SxQ.

The omission has originally (prior to rev 260691) lead to wrong code
being generated for the 64-bit unsigned-to-float/double conversions (as
gas guesses an L suffix instead of the required Q one when the operand
is in memory). In all remaining cases (being changed here) the omission
would "just" lead to warnings with future gas versions.

As a result, arrange to check for the L suffixes in 32-bit test cases.

In order for related test cases to actually test what they're supposed
to test, add (seemingly unrelated) a few empty "asm volatile()".
Presumably there are more where constant propagation voids the intended
effect of the tests, but these are ones helping make sure the assembler
actually still assembles correctly the output after the changes here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267833 138bc75d-0d04-0410-961f-82ee72b054a4