]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
5 years ago[5/6] Preprocessor include
nathan [Wed, 31 Oct 2018 15:03:04 +0000 (15:03 +0000)] 
[5/6] Preprocessor include

https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02041.html
* directives.c (do_include_common): Commonize cleanup path.
(_cpp_pop_buffer): Fix leak.

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

5 years ago[4/7] Preprocessor location-kind predicates
nathan [Wed, 31 Oct 2018 14:57:13 +0000 (14:57 +0000)] 
[4/7] Preprocessor location-kind predicates

https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02040.html
* include/line-map.h (IS_ORDINARY_LOC, IS_MACRO_LOC): New
predicates.
(IS_ADHOC_LOC): Move earlier.
(MAP_ORDINARY_P): Use IS_ORDINARY_LOC.
* line-map.c (linemap_location_from_macro_expansion_p): Use
IS_MACRO_LOC.

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

5 years ago[3/7] Preprocessor macro loc
nathan [Wed, 31 Oct 2018 14:51:54 +0000 (14:51 +0000)] 
[3/7] Preprocessor macro loc

https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02039.html
* include/cpplib.h (cpp_macro_definition_location): Make inline.
* macro.c (warn_of_redefinition): Fix comments, examine macro
type, use C++ for.
(cpp_macro_definition_location): Don't define here.

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

5 years ago[2/7] Preprocessor node access
nathan [Wed, 31 Oct 2018 14:46:39 +0000 (14:46 +0000)] 
[2/7] Preprocessor node access

https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02038.html
* include/cpplib.h (HT_NODE): Don't cast NODE.
(NODE_LEN, NODE_NAME): Use HT_NODE.

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

5 years agoProvide extension hint for aarch64 target (PR driver/83193).
marxin [Wed, 31 Oct 2018 14:46:17 +0000 (14:46 +0000)] 
Provide extension hint for aarch64 target (PR driver/83193).

2018-10-31  Martin Liska  <mliska@suse.cz>

PR driver/83193
* common/config/aarch64/aarch64-common.c (aarch64_parse_extension):
Add new argument invalid_extension.
(aarch64_get_all_extension_candidates): New function.
(aarch64_rewrite_selected_cpu): Add NULL to function call.
* config/aarch64/aarch64-protos.h (aarch64_parse_extension): Add
new argument.
(aarch64_get_all_extension_candidates): New function.
* config/aarch64/aarch64.c (aarch64_parse_arch): Add new
argument invalid_extension.
(aarch64_parse_cpu): Likewise.
(aarch64_print_hint_for_extensions): New function.
(aarch64_validate_mcpu): Provide hint about invalid extension.
(aarch64_validate_march): Likewise.
(aarch64_handle_attr_arch): Pass new argument.
(aarch64_handle_attr_cpu): Provide hint about invalid extension.
(aarch64_handle_attr_isa_flags): Likewise.
2018-10-31  Martin Liska  <mliska@suse.cz>

PR driver/83193
* gcc.target/aarch64/spellcheck_7.c: New test.
* gcc.target/aarch64/spellcheck_8.c: New test.
* gcc.target/aarch64/spellcheck_9.c: New test.

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

5 years ago[1/7] Preprocessor cleanup
nathan [Wed, 31 Oct 2018 14:41:35 +0000 (14:41 +0000)] 
[1/7] Preprocessor cleanup

https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02037.html
* directives.c (DIRECTIVE_TABLE): Drop historical frequency
comments.
* files.c (_cpp_stack_file): Fix indentation.

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

5 years agoMore testing for std::pair layout change
redi [Wed, 31 Oct 2018 12:58:45 +0000 (12:58 +0000)] 
More testing for std::pair layout change

* testsuite/20_util/pair/87822.cc: Test deeper nesting.

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

5 years ago[C++ PATCH] Simplify overloads
nathan [Wed, 31 Oct 2018 12:42:35 +0000 (12:42 +0000)] 
[C++ PATCH] Simplify overloads

https://gcc.gnu.org/ml/gcc-patches/2018-10/msg02026.html
gcc/cp/
* cp-tree.h (OVL_DEDUP_P): New.
* name-lookup.c (name_lookup::add_overload): Check OVL_DEDUP_P.
(get_class_binding_direct): Likwise.
* tree.c (ovl_make): Propagate OVL_DEDUP_P.
(ovl_copy): Copy it.
(ovl_insert): Do not keep using-decls ordered.
(lookup_maybe_add): Adjust comment.

gcc/testsuite/
* g++.dg/lookup/using60.C: New.

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

5 years agoPR libstdc++/87822 fix layout change for nested std::pair
redi [Wed, 31 Oct 2018 12:29:02 +0000 (12:29 +0000)] 
PR libstdc++/87822 fix layout change for nested std::pair

The introduction of the empty __pair_base base class for PR 86751
changed the layout of std::pair<std::pair<...>, ...>. The outer pair and
its first member both have a base class of the same type, which cannot
exist at the same address. This causes the first member to be at a
non-zero offset.

The solution is to make the base class depend on the template
parameters, so that each pair type has a different base class type,
which allows the base classes of the outer pair and its first member to
have the same address.

PR libstdc++/87822
* include/bits/stl_pair.h (__pair_base): Change to class template.
(pair): Make base class type depend on template parameters.
* testsuite/20_util/pair/87822.cc: New test.

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

5 years ago2018-10-31 Richard Biener <rguenther@suse.de>
rguenth [Wed, 31 Oct 2018 11:57:33 +0000 (11:57 +0000)] 
2018-10-31  Richard Biener  <rguenther@suse.de>

PR middle-end/70359
PR middle-end/86270
* tree-outof-ssa.c (insert_backedge_copies): Restrict
copy generation to useful cases.  Place the copy before
the definition of the backedge value when possible.

* gcc.target/i386/pr70359.c: New testcase.
* gcc.target/i386/pr86270.c: Likewise.

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

5 years ago[ARC] Handle store cacheline hazard.
claziss [Wed, 31 Oct 2018 11:27:46 +0000 (11:27 +0000)] 
[ARC] Handle store cacheline hazard.

Handle store cacheline hazard for A700 cpus by inserting two NOP_S
between ST ST LD or their logical equivalent (like ST ST NOP_S NOP_S
J_L.D LD)

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc-arch.h (ARC_TUNE_ARC7XX): New tune value.
        * config/arc/arc.c (arc_active_insn): New function.
        (check_store_cacheline_hazard): Likewise.
        (workaround_arc_anomaly): Use check_store_cacheline_hazard.
        (arc_override_options): Disable delay slot scheduler for older
        A7.
        (arc_store_addr_hazard_p): New implementation, old one renamed to
        ...
        (arc_store_addr_hazard_internal_p): Renamed.
        (arc_reorg): Don't combine into brcc instructions which are part
        of hardware hazard solution.
        * config/arc/arc.md (attr tune): Consider new arc7xx tune value.
        (tune_arc700): Likewise.
        * config/arc/arc.opt (arc7xx): New tune value.
        * config/arc/arc700.md: Improve A7 scheduler.

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

5 years ago[ARC] Add BI/BIH instruction support.
claziss [Wed, 31 Oct 2018 11:27:35 +0000 (11:27 +0000)] 
[ARC] Add BI/BIH instruction support.

Use BI/BIH instruction to implement casesi pattern. Only ARC V2.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc.c (arc_override_options): Remove
        TARGET_COMPACT_CASESI.
        * config/arc/arc.h (ASM_OUTPUT_ADDR_DIFF_ELT): Update.
        (CASE_VECTOR_MODE): Likewise.
        (CASE_VECTOR_PC_RELATIVE): Likewise.
        (CASE_VECTOR_SHORTEN_MODE): Likewise.
        (CASE_VECTOR_SHORTEN_MODE1): Delete.
        (ADDR_VEC_ALIGN): Update.
        (ASM_OUTPUT_CASE_LABEL): Undefine.
        (ASM_OUTPUT_BEFORE_CASE_LABEL): Undefine.
        (TARGET_BI_BIH): Define.
        (DEFAULT_BRANCH_INDEX): Likewise.
        * config/arc/arc.md (casesi): Rework to accept BI/BIH
        instructions, remove compact_casesi use case.
        (casesi_compact_jump): Remove.
        (casesi_dispatch): New pattern.
        * config/arc/arc.opt: Add mbranch-index option. Deprecate
        compact_casesi option.
        * doc/invoke.texi: Document mbranch-index option.

gcc/testsuite
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

        * gcc.target/arc/jumptable.c: New test.

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

5 years ago[ARC] Cleanup TLS implementation and add a number of tests.
claziss [Wed, 31 Oct 2018 11:27:19 +0000 (11:27 +0000)] 
[ARC] Cleanup TLS implementation and add a number of tests.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_get_tp): Remove function.
(arc_emit_call_tls_get_addr): Likewise.
(arc_call_tls_get_addr): New function.
(arc_legitimize_tls_address): Make use of arc_call_tls_get_addr.
* config/arc/arc.md (tls_load_tp_soft): Remove.
(tls_gd_get_addr): Likewise.

testsuite/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* gcc.target/arc/tls-gd.c: New file.
* gcc.target/arc/tls-ie.c: Likewise.
* gcc.target/arc/tls-ld.c: Likewise.
* gcc.target/arc/tls-le.c: Likewise.
* gcc.target/arc/tls-1.c: Update test.

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

5 years agoUpdate LOCAL_PATCHES after libsanitizer merge.
marxin [Wed, 31 Oct 2018 11:27:16 +0000 (11:27 +0000)] 
Update LOCAL_PATCHES after libsanitizer merge.

2018-10-31  Martin Liska  <mliska@suse.cz>

* LOCAL_PATCHES: Update to installed revisions.

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

5 years ago[ARC] Remove non standard funcions calls.
claziss [Wed, 31 Oct 2018 11:27:07 +0000 (11:27 +0000)] 
[ARC] Remove non standard funcions calls.

Replace all custom "library" calls with compiler known patterns.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (mulsi3): Remove call to mulsi_600_lib.
(mulsi3_600_lib): Remove pattern.
(umulsi3_highpart_600_lib_le): Likewise.
(umulsi3_highpart): Remove call to umulsi3_highpart_600_lib_le.
(umulsidi3): Remove call to umulsidi3_600_lib.
(umulsidi3_600_lib): Remove pattern.
(peephole2): Remove peephole using the above deprecated patterns.

testsuite/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* gcc.target/arc/mulsi3_highpart-2.c: Update test.

libgcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/lib1funcs.S (_muldi3): New function.
* config/arc/t-arc (LIB1ASMFUNCS): Add _muldi3.

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

5 years agoUpdate test-suite expected output after rewording in libsanitizer.
marxin [Wed, 31 Oct 2018 11:17:30 +0000 (11:17 +0000)] 
Update test-suite expected output after rewording in libsanitizer.

2018-10-31  Martin Liska  <mliska@suse.cz>

* c-c++-common/ubsan/pr63839.c: Update to new sanitizer message.
* c-c++-common/ubsan/unreachable-1.c (main): Likewise.
* c-c++-common/ubsan/unreachable-2.c: Likewise.
* c-c++-common/ubsan/unreachable-4.c (main): Likewise.

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

5 years agoNew local GCC patch for CAN_SANITIZE_UB ifdef.
marxin [Wed, 31 Oct 2018 11:17:10 +0000 (11:17 +0000)] 
New local GCC patch for CAN_SANITIZE_UB ifdef.

2018-10-31  Martin Liska  <mliska@suse.cz>

* ubsan/ubsan_platform.h: Add ifndef as we define it with
-DCAN_SANITIZE_UB CFLAGS.

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

5 years agoRevert https://reviews.llvm.org/D40908 which changes asan offset to 1<<44.
marxin [Wed, 31 Oct 2018 11:16:41 +0000 (11:16 +0000)] 
Revert https://reviews.llvm.org/D40908 which changes asan offset to 1<<44.

2018-10-31  Martin Liska  <mliska@suse.cz>

* asan/asan_mapping.h: Revert shadow memory offset to 1 << 41.

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

5 years agoApply LOCAL_PATCHES and remove not used ones.
marxin [Wed, 31 Oct 2018 11:16:17 +0000 (11:16 +0000)] 
Apply LOCAL_PATCHES and remove not used ones.

2018-10-31  Martin Liska  <mliska@suse.cz>

* LOCAL_PATCHES: Update patch list.
* asan/asan_globals.cc (CheckODRViolationViaIndicator): Apply
patches from GCC's trunk.
(CheckODRViolationViaPoisoning): Likewise.
(RegisterGlobal): Likewise.
* sanitizer_common/sanitizer_mac.cc (defined): Likewise.
* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Likewise.
* ubsan/ubsan_handlers.cc (__ubsan::__ubsan_handle_cfi_bad_icall): Likewise.
(__ubsan::__ubsan_handle_cfi_bad_icall_abort): Likewise.
* ubsan/ubsan_handlers.h (struct CFIBadIcallData): Likewise.
(struct CFICheckFailData): Likewise.
(RECOVERABLE): Likewise.

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

5 years agoUpdate build system: include new files and run autoheader, autoconf, automake
marxin [Wed, 31 Oct 2018 11:15:57 +0000 (11:15 +0000)] 
Update build system: include new files and run autoheader, autoconf, automake

2018-10-31  Martin Liska  <mliska@suse.cz>

* config.h.in: Regenerate.
* configure: Likewise.
* sanitizer_common/Makefile.am: Include new files, remove old
files.
* sanitizer_common/Makefile.in: Regenerate.
* ubsan/Makefile.am: Include new files, remove old
files.
* ubsan/Makefile.in: Likewise.
* asan/Makefile.am: Include new files.
* asan/Makefile.in: Regenerate.

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

5 years agoMerge from upstream 345033.
marxin [Wed, 31 Oct 2018 11:14:23 +0000 (11:14 +0000)] 
Merge from upstream 345033.

2018-10-31  Martin Liska  <mliska@suse.cz>

* All source files: Merge from upstream 345033.

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

5 years agoUpdate merge script and HOWTO_MERGE documentation.
marxin [Wed, 31 Oct 2018 11:09:26 +0000 (11:09 +0000)] 
Update merge script and HOWTO_MERGE documentation.

2018-10-31  Martin Liska  <mliska@suse.cz>

* HOWTO_MERGE: Enhance documentation.
* merge.sh: Add support for git as well.

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

5 years agoFix hash-table violation in trans-decl.c.
marxin [Wed, 31 Oct 2018 10:59:34 +0000 (10:59 +0000)] 
Fix hash-table violation in trans-decl.c.

2018-10-31  Martin Liska  <mliska@suse.cz>

* trans-decl.c (struct module_hasher): Call htab_hash_string
for s->name and not for s.

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

5 years agoFix PR87374: ICE with -mslow-flash-data and -mword-relocations
thopre01 [Wed, 31 Oct 2018 10:05:54 +0000 (10:05 +0000)] 
Fix PR87374: ICE with -mslow-flash-data and -mword-relocations

GCC ICEs under -mslow-flash-data and -mword-relocations because there
is no way to load an address, both literal pools and MOVW/MOVT being
forbidden. This patch gives an error message when both options are
specified by the user and adds the according dg-skip-if directives for
tests that use either of these options. It also explicitely set the
option when in PIC mode as per documentation rather than always check
for target_word_relocation together with flag_pic.

2018-10-31  Thomas Preud'homme  <thomas.preudhomme@linaro.org>

    gcc/
    PR target/87374
    * config/arm/arm.c (arm_option_check_internal): Disable the combined
    use of -mslow-flash-data and -mword-relocations.
    (arm_option_override): Enable -mword-relocations if -fpic or -fPIC.
    * config/arm/arm.md (SYMBOL_REF MOVT splitter): Stop checking for
    flag_pic.
    * doc/invoke.texi (-mword-relocations): Mention conflict with
    -mslow-flash-data.
    (-mslow-flash-data): Reciprocally.

    gcc/testsuite/
    PR target/87374
    * gcc.target/arm/movdi_movt.c: Skip if both -mslow-flash-data and
    -mword-relocations would be passed when compiling the test.
    * gcc.target/arm/movsi_movt.c: Likewise.
    * gcc.target/arm/pr81863.c: Likewise.
    * gcc.target/arm/thumb2-slow-flash-data-1.c: Likewise.
    * gcc.target/arm/thumb2-slow-flash-data-2.c: Likewise.
    * gcc.target/arm/thumb2-slow-flash-data-3.c: Likewise.
    * gcc.target/arm/thumb2-slow-flash-data-4.c: Likewise.
    * gcc.target/arm/thumb2-slow-flash-data-5.c: Likewise.
    * gcc.target/arm/tls-disable-literal-pool.c: Likewise.

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

5 years agoaarch64: Force TImode values into even registers
rth [Wed, 31 Oct 2018 10:00:45 +0000 (10:00 +0000)] 
aarch64: Force TImode values into even registers

The LSE CASP instruction requires values to be placed in even
register pairs.  A solution involving two additional register
classes was rejected in favor of the much simpler solution of
simply requiring all TImode values to be aligned.

* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Force
16-byte modes held in GP registers to use an even regno.

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

5 years agoaarch64: Improve atomic-op lse generation
rth [Wed, 31 Oct 2018 09:58:48 +0000 (09:58 +0000)] 
aarch64: Improve atomic-op lse generation

Fix constraints; avoid unnecessary split.  Drop the use of the atomic_op
iterator in favor of the ATOMIC_LDOP iterator; this is simplier and more
logical for ldclr aka bic.

* config/aarch64/aarch64.c (aarch64_emit_bic): Remove.
(aarch64_atomic_ldop_supported_p): Remove.
(aarch64_gen_atomic_ldop): Remove.
* config/aarch64/atomic.md (atomic_<atomic_optab><ALLI>):
Fully expand LSE operations here.
(atomic_fetch_<atomic_optab><ALLI>): Likewise.
(atomic_<atomic_optab>_fetch<ALLI>): Likewise.
(aarch64_atomic_<ATOMIC_LDOP><ALLI>_lse): Drop atomic_op iterator
and use ATOMIC_LDOP instead; use register_operand for the input;
drop the split and emit insns directly.
(aarch64_atomic_fetch_<ATOMIC_LDOP><ALLI>_lse): Likewise.
(aarch64_atomic_<atomic_op>_fetch<ALLI>_lse): Remove.
(@aarch64_atomic_load<ATOMIC_LDOP><ALLI>): Remove.

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

5 years agoaarch64: Improve swp generation
rth [Wed, 31 Oct 2018 09:47:21 +0000 (09:47 +0000)] 
aarch64: Improve swp generation

Allow zero as an input; fix constraints; avoid unnecessary split.

* config/aarch64/aarch64.c (aarch64_emit_atomic_swap): Remove.
(aarch64_gen_atomic_ldop): Don't call it.
* config/aarch64/atomics.md (atomic_exchange<ALLI>):
Use aarch64_reg_or_zero.
(aarch64_atomic_exchange<ALLI>): Likewise.
(aarch64_atomic_exchange<ALLI>_lse): Remove split; remove & from
operand 0; use aarch64_reg_or_zero for input; merge ...
(@aarch64_atomic_swp<ALLI>): ... this and remove.

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

5 years agoChangeLog:
ibuclaw [Wed, 31 Oct 2018 09:44:31 +0000 (09:44 +0000)] 
ChangeLog:

2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>

PR bootstrap/87788
PR d/87799
* configure: Rebuild.
* configure.ac: Disable D on systems where it is known not to work.

libphobos/ChangeLog:

2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>

PR bootstrap/87789
PR d/87818
PR d/87819
* configure.tgt: New file.

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

5 years agoaarch64: Improve cas generation
rth [Wed, 31 Oct 2018 09:42:39 +0000 (09:42 +0000)] 
aarch64: Improve cas generation

Do not zero-extend the input to the cas for subword operations;
instead, use the appropriate zero-extending compare insns.
Correct the predicates and constraints for immediate expected operand.

* config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): New.
(aarch64_split_compare_and_swap): Use it.
(aarch64_expand_compare_and_swap): Likewise.  Remove convert_modes;
test oldval against the proper predicate.
* config/aarch64/atomics.md (@atomic_compare_and_swap<ALLI>):
Use nonmemory_operand for expected.
(cas_short_expected_pred): New.
(@aarch64_compare_and_swap<SHORT>): Use it; use "rn" not "rI" to match.
(@aarch64_compare_and_swap<GPI>): Use "rn" not "rI" for expected.
* config/aarch64/predicates.md (aarch64_plushi_immediate): New.
(aarch64_plushi_operand): New.

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

5 years agoaarch64: Simplify LSE cas generation
rth [Wed, 31 Oct 2018 09:29:29 +0000 (09:29 +0000)] 
aarch64: Simplify LSE cas generation

The cas insn is a single insn, and if expanded properly need not
be split after reload.  Use the proper inputs for the insn.

* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
Force oldval into the rval register for TARGET_LSE; emit the compare
during initial expansion so that it may be deleted if unused.
(aarch64_gen_atomic_cas): Remove.
* config/aarch64/atomics.md (@aarch64_compare_and_swap<SHORT>_lse):
Change =&r to +r for operand 0; use match_dup for operand 2;
remove is_weak and mod_f operands as unused.  Drop the split
and merge with...
(@aarch64_atomic_cas<SHORT>): ... this pattern's output; remove.
(@aarch64_compare_and_swap<GPI>_lse): Similarly.
(@aarch64_atomic_cas<GPI>): Similarly.

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

5 years ago2018-10-31 Richard Biener <rguenther@suse.de>
rguenth [Wed, 31 Oct 2018 08:48:59 +0000 (08:48 +0000)] 
2018-10-31  Richard Biener  <rguenther@suse.de>

PR testsuite/87802
* g++.dg/vect/slp-pr87105.cc: XFAIL for strict alignment targets.

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

5 years ago2018-10-31 Richard Biener <rguenther@suse.de>
rguenth [Wed, 31 Oct 2018 08:10:58 +0000 (08:10 +0000)] 
2018-10-31  Richard Biener  <rguenther@suse.de>

* tree-eh.c (replace_trapping_overflow): Simplify ABS_EXPR case
using ABSU_EXPR.

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

5 years agoAdd pipeline description for Qualcomm Saphira core.
sameerad [Wed, 31 Oct 2018 07:32:53 +0000 (07:32 +0000)] 
Add pipeline description for Qualcomm Saphira core.

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

5 years agoDaily bump.
gccadmin [Wed, 31 Oct 2018 00:17:19 +0000 (00:17 +0000)] 
Daily bump.

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

5 years ago2018-10-30 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 30 Oct 2018 23:04:10 +0000 (23:04 +0000)] 
2018-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85896
* simplify.c (simplify_min_max): Do not convert the type of the
return expression.

2018-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/85896
* gfortran.dg/min_max_type.f90: New test.

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

5 years agoPR middle-end/87041 - -Wformat reading through null pointer on unreachable code
msebor [Tue, 30 Oct 2018 21:58:35 +0000 (21:58 +0000)] 
PR middle-end/87041 - -Wformat reading through null pointer on unreachable code

gcc/ChangeLog:

PR middle-end/87041
* gimple-ssa-sprintf.c (format_directive): Use %G to include
inlining context.
(sprintf_dom_walker::compute_format_length):
Avoid setting POSUNDER4K here.
(get_destination_size): Handle null argument values.
(get_user_idx_format): New function.
(sprintf_dom_walker::handle_gimple_call): Handle all printf-like
functions, including user-defined with attribute format printf.
Use %G to include inlining context.
Set POSUNDER4K here.

gcc/c-family/ChangeLog:

PR middle-end/87041
* c-format.c (check_format_types): Avoid diagnosing null pointer
arguments to printf-family of functions.

gcc/testsuite/ChangeLog:

PR middle-end/87041
* gcc.c-torture/execute/fprintf-2.c: New test.
* gcc.c-torture/execute/printf-2.c: Same.
* gcc.c-torture/execute/user-printf.c: Same.
* gcc.dg/tree-ssa/builtin-fprintf-warn-1.c: Same.
* gcc.dg/tree-ssa/builtin-printf-2.c: Same.
* gcc.dg/tree-ssa/builtin-printf-warn-1.c: Same.
* gcc.dg/tree-ssa/user-printf-warn-1.c: Same.

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

5 years ago * params.def (lto-partitions): Bump from 32 to 128.
hubicka [Tue, 30 Oct 2018 21:47:19 +0000 (21:47 +0000)] 
* params.def (lto-partitions): Bump from 32 to 128.

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

5 years ago Implement P0892R2, explicit(bool).
mpolacek [Tue, 30 Oct 2018 19:59:41 +0000 (19:59 +0000)] 
Implement P0892R2, explicit(bool).
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.

* call.c (add_template_candidate_real): Return if the declaration is
explicit and we're only looking for non-converting constructor.
* cp-tree.h (lang_decl_fn): Add has_dependent_explicit_spec_p bit.
(DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P): New macro.
(cp_decl_specifier_seq): Add explicit_specifier field.
(build_explicit_specifier, store_explicit_specifier): Declare.
* decl.c (grokdeclarator): Call store_explicit_specifier.
(build_explicit_specifier): New function.
* parser.c (cp_parser_function_specifier_opt) <case RID_EXPLICIT>:
Parse C++20 explicit(bool).
* pt.c (store_explicit_specifier, lookup_explicit_specifier): New.
(tsubst_function_decl): Handle explicit(dependent-expr).

* g++.dg/cpp2a/explicit1.C: New test.
* g++.dg/cpp2a/explicit10.C: New test.
* g++.dg/cpp2a/explicit11.C: New test.
* g++.dg/cpp2a/explicit12.C: New test.
* g++.dg/cpp2a/explicit13.C: New test.
* g++.dg/cpp2a/explicit2.C: New test.
* g++.dg/cpp2a/explicit3.C: New test.
* g++.dg/cpp2a/explicit4.C: New test.
* g++.dg/cpp2a/explicit5.C: New test.
* g++.dg/cpp2a/explicit6.C: New test.
* g++.dg/cpp2a/explicit7.C: New test.
* g++.dg/cpp2a/explicit8.C: New test.
* g++.dg/cpp2a/explicit9.C: New test.

* testsuite/20_util/any/cons/explicit.cc: Adjust dg-error.
* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.

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

5 years agoxfail ira-shrink-wrap-prep tests (PR87708)
segher [Tue, 30 Oct 2018 19:49:36 +0000 (19:49 +0000)] 
xfail ira-shrink-wrap-prep tests (PR87708)

After r265398, the ira-shrinkwrap-prep-[12].c tests fail on all
targets, because the IRA feature tested can only move hard registers
down, and we no longer have hard registers for the function parameters
at this stage.

gcc/testsuite/
PR rtl-optimization/87708
gcc.dg/ira-shrinkwrap-prep-1.c: xfail test.
gcc.dg/ira-shrinkwrap-prep-2.c: xfail test.

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

5 years ago * tree.c
hubicka [Tue, 30 Oct 2018 19:13:47 +0000 (19:13 +0000)] 
* tree.c
(free_lang_data_d, add_tree_to_fld_list, fld_worklist_push): Move
head in file.
(free_lang_data_in_type): Forward declare.
(fld_type_variant_equal_p): New function.
(fld_type_variant): New function
(fld_incomplete_types): New hash.
(fld_incomplete_type_of): New function
(fld_simplfied-type): New function.
(free_lang_data_in_decl): Add fld parameter; simplify type of FIELD_DECL
(free_lang_data): Allocate and free fld_incomplete_type; update call
of free_lang_data_in_decl.

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

5 years ago/cp
paolo [Tue, 30 Oct 2018 18:29:49 +0000 (18:29 +0000)] 
/cp
2018-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): Use declarator->id_loc in diagnostic
about flexible array members.

/testsuite
2018-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1z/has-unique-obj-representations1.C: Test location too.
* g++.dg/ext/flexarray-mangle-2.C: Likewise.
* g++.dg/ext/flexarray-mangle.C: Likewise.
* g++.dg/ext/flexarray-subst.C: Likewise.
* g++.dg/ext/flexary10.C: Likewise.
* g++.dg/ext/flexary11.C: Likewise.
* g++.dg/ext/flexary14.C: Likewise.
* g++.dg/ext/flexary16.C: Likewise.
* g++.dg/ext/flexary26.C: Likewise.
* g++.dg/ext/flexary27.C: Likewise.
* g++.dg/ext/flexary7.C: Likewise.
* g++.dg/ext/pr71290.C: Likewise.

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

5 years ago * gcov.c (output_lines): Remove duplicate line.
ebotcazou [Tue, 30 Oct 2018 18:01:41 +0000 (18:01 +0000)] 
* gcov.c (output_lines): Remove duplicate line.

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

5 years ago2018-10-30 Aaron Sawdey <acsawdey@linux.ibm.com>
acsawdey [Tue, 30 Oct 2018 17:05:37 +0000 (17:05 +0000)] 
2018-10-30  Aaron Sawdey  <acsawdey@linux.ibm.com>

* config/rs6000/rs6000.md (bswapdi2): Force address into register
if not in indexed or indirect form.
(bswapdi2_load): Change predicate to indexed_or_indirect_operand.
(bswapdi2_store): Ditto.
* config/rs6000/rs6000.c (rs6000_force_indexed_or_indirect_mem): New
helper function.
* config/rs6000/rs6000-protos.h (rs6000_force_indexed_or_indirect_mem):
Prototype for helper function.

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

5 years agogcc/ChangeLog:
msebor [Tue, 30 Oct 2018 15:46:07 +0000 (15:46 +0000)] 
gcc/ChangeLog:

* doc/extend.texi (optimize): Clarify/expand attribute documentation.
(target, pragma GCC optimize, pragma GCC target): Ditto.

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

5 years agoAdd PR marker
law [Tue, 30 Oct 2018 15:14:39 +0000 (15:14 +0000)] 
Add PR marker

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

5 years ago * method-serial.cc: Mark varible as potentially unused
law [Tue, 30 Oct 2018 15:13:26 +0000 (15:13 +0000)] 
   * method-serial.cc: Mark varible as potentially unused
        to silence warning.

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

5 years agoPR libstdc++/87809 avoid invalid expressions in exception specifications
redi [Tue, 30 Oct 2018 14:49:43 +0000 (14:49 +0000)] 
PR libstdc++/87809 avoid invalid expressions in exception specifications

If the allocator isn't default constructible then checking if the
default constructor throws in an exception specification makes the
declaration invalid. Use the type trait instead.

PR libstdc++/87809
* include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
trait in exception-specification instead of possibly invalid
expression.
* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
Likewise.
* include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
* include/bits/stl_vector.h (_Vector_impl::_Vector_impl()): Likewise.
* testsuite/23_containers/forward_list/cons/87809.cc: New test.
* testsuite/23_containers/list/cons/87809.cc: New test.
* testsuite/23_containers/vector/bool/cons/87809.cc: New test.
* testsuite/23_containers/vector/cons/87809.cc: New test.

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

5 years agoPR libstdc++/87784 fix dynamic_bitset::push_back
redi [Tue, 30 Oct 2018 14:49:32 +0000 (14:49 +0000)] 
PR libstdc++/87784 fix dynamic_bitset::push_back

Previously the _M_Nb member was incremented before calling
_M_unchecked_set which meant that the bit being set was out of bounds.
It either set the wrong bit in an allocated word, or accessed beyond the
end of the allocated memory in the _M_w vector. The fix for the bug is
to update the _M_Nb member after using it as an index.

As an optimisation, when a new block needs to be appended the call to
_M_unchecked_set can be avoided by appending a block with the least
significant bit already set to the desired value.

PR libstdc++/87784
* include/tr2/dynamic_bitset (dynamic_bitset::push_back): When there
are no unused bits in the last block, append a new block with the
right value so the bit doesn't need to be set. Only increment size
after setting the new bit, not before.
* testsuite/tr2/dynamic_bitset/pr87784.cc: New test.

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

5 years ago * gcc.dg/tree-ssa/attr-alias.c: Skip if no weak support.
pkoning [Tue, 30 Oct 2018 14:47:32 +0000 (14:47 +0000)] 
* gcc.dg/tree-ssa/attr-alias.c: Skip if no weak support.

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

5 years agoFix __builtin_expect_with_probability documentation
redi [Tue, 30 Oct 2018 12:17:27 +0000 (12:17 +0000)] 
Fix __builtin_expect_with_probability documentation

* doc/extend.texi: Fix prototype and description of
__builtin_expect_with_probability.

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

5 years agoAvoid unnecessarily numbering cloned symbols.
marxin [Tue, 30 Oct 2018 11:39:29 +0000 (11:39 +0000)] 
Avoid unnecessarily numbering cloned symbols.

2018-10-30  Michael Ploujnikov  <michael.ploujnikov@oracle.com>

* cgraph.h (clone_function_name_1): Replaced by new
  clone_function_name_numbered that takes name as string; for
  privatize_symbol_name_1 use only.
  (clone_function_name): Renamed to
  clone_function_name_numbered to be explicit about numbering.
  (clone_function_name): New two-argument function that does
  not number its output.
  (clone_function_name): New three-argument function that
  takes a number to append to its output.
* cgraphclones.c (duplicate_thunk_for_node):
  (clone_function_name_1): Renamed.
  (clone_function_name_numbered): Two new functions.
  (clone_function_name): Improved documentation.
  (cgraph_node::create_virtual_clone): Use clone_function_name_numbered.
* config/rs6000/rs6000.c (make_resolver_func): Ditto.
* final.c (final_scan_insn_1): Use the new clone_function_name
  without numbering.
* multiple_target.c (create_dispatcher_calls): Ditto.
  (create_target_clone): Ditto.
* omp-expand.c (grid_expand_target_grid_body): Ditto.
* omp-low.c (create_omp_child_function_name): Ditto.
* omp-simd-clone.c (simd_clone_create): Ditto.
* symtab.c (simd_symtab_node::noninterposable_alias): Use the
  new clone_function_name without numbering.
2018-10-30  Michael Ploujnikov  <michael.ploujnikov@oracle.com>

* lto-partition.c (privatize_symbol_name_1): Use
  clone_function_name_numbered.
2018-10-30  Michael Ploujnikov  <michael.ploujnikov@oracle.com>

* gcc.dg/tree-prof/cold_partition_label.c: Update for cold
  section names without numbers.
* gcc.dg/tree-prof/section-attr-1.c: Ditto.
* gcc.dg/tree-prof/section-attr-2.c: Ditto.
* gcc.dg/tree-prof/section-attr-3.c: Ditto.

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

5 years agoDon't allow the pool allocator to be configured to allocate zero-sized objects
rearnsha [Tue, 30 Oct 2018 11:33:24 +0000 (11:33 +0000)] 
Don't allow the pool allocator to be configured to allocate zero-sized objects

PR bootstrap/87747 would have been significantly easier to track down if
the pool allocator had faulted an attempt to configure it to allocate
zero-sized objects.  Instead, this slipped through and we later hit
memory corruption when the assumed size turned out to be different to
the configured size.

While, theoretically, there might be a use case for this, it seems
unlikely to me that GCC would have such a use.  So this patch adds a
checking assert that the object size is not zero.

* alloc-pool.h (base_pool_allocator <TBlockAllocator>::initialize):
Assert that the allocation size is not zero.

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

5 years ago2018-10-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Oct 2018 11:27:32 +0000 (11:27 +0000)] 
2018-10-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/87800
* tree-vect-slp.c (vect_build_slp_tree_2): Reject any
non-induction or reduction PHIs.

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

5 years agoFixes bug 87330 by invoking df_note_add_problem to recompute REG_DEAD and REG_UNUSED...
sameerad [Tue, 30 Oct 2018 10:59:37 +0000 (10:59 +0000)] 
Fixes bug 87330 by invoking  df_note_add_problem to recompute REG_DEAD and REG_UNUSED notes before analysis.

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

5 years agolibgcc: properly destroy mutexes on VxWorks
villemoes [Tue, 30 Oct 2018 08:33:04 +0000 (08:33 +0000)] 
libgcc: properly destroy mutexes on VxWorks

Just as one needs run-time initialization of mutexes, one needs to
destroy them properly to allow the OS to release resources associated
with the semaphore.

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

5 years agoFix typo in documentation of __builtin_expect_with_probability.
marxin [Tue, 30 Oct 2018 08:28:48 +0000 (08:28 +0000)] 
Fix typo in documentation of __builtin_expect_with_probability.

2018-10-30  Martin Liska  <mliska@suse.cz>

* doc/extend.texi: Fix typo in documentation
of __builtin_expect_with_probability.

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

5 years agoDaily bump.
gccadmin [Tue, 30 Oct 2018 00:16:43 +0000 (00:16 +0000)] 
Daily bump.

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

5 years agoFix ICE in get_substring_ranges_for_loc on __FILE__ (PR c++/87721)
dmalcolm [Mon, 29 Oct 2018 23:58:34 +0000 (23:58 +0000)] 
Fix ICE in get_substring_ranges_for_loc on __FILE__ (PR c++/87721)

PR c++/87721 reports a crash in get_substring_ranges_for_loc introduced
by r265271, my fix for PR 87562.

The new issue occurs when attempting to get a location with a string
literal inside a macro in which the first token is __FILE__ (formed via
concatenation).  Attempting to get the spelling location of __FILE__
fails, leading to NULL for start_ord_map and final_ord_map, and thus
a NULL pointer dereference.

Given that our "on-demand" substring locations approach reparses the
string literals, there isn't a good way to access the locations inside
such string literals: attempting to reparse __FILE__ fails with a
"missing open quote".

This patch applies the easy fix by gracefully rejecting the case where
the spelling locations for the start or finish give us NULL maps.

gcc/ChangeLog:
PR c++/87721
* input.c (get_substring_ranges_for_loc): Detect if
linemap_resolve_location gives us a NULL map, and reject
this case.

gcc/testsuite/ChangeLog:
PR c++/87721
* c-c++-common/substring-location-PR-87721.c: New test.
* gcc.dg/plugin/diagnostic-test-string-literals-1.c: Add test for
PR 87721.
* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c
(test_string_literals): Fold the index arguments before checking
for INTEGER_CST.

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

5 years agoC++: simplify output from suggest_alternatives_for
dmalcolm [Mon, 29 Oct 2018 23:53:50 +0000 (23:53 +0000)] 
C++: simplify output from suggest_alternatives_for

In the C++ FE, after emitting various errors about unrecognized names,
the parser can call
  suggest_alternatives_for
and/or
  suggest_alternative_in_explicit_scope.
These can issue zero or more suggestions for the unrecognized name,
or various other "note" diagnostics suggesting how to fix the problem.

For example, currently g++ emits:

t.cc:12:3: error: 'gtk_widget_showall' was not declared in this scope
12 |   gtk_widget_showall (w);
   |   ^~~~~~~~~~~~~~~~~~
t.cc:12:3: note: suggested alternative: 'gtk_widget_show_all'
12 |   gtk_widget_showall (w);
   |   ^~~~~~~~~~~~~~~~~~
   |   gtk_widget_show_all

This patch consolidates the common case when there is a single
candidate, so that the error can issue a fix-it hint directly.

This simplifies the above to:

t.cc:12:3: error: 'gtk_widget_showall' was not declared in this scope;
 did you mean 'gtk_widget_show_all'?
12 |   gtk_widget_showall (w);
   |   ^~~~~~~~~~~~~~~~~~
   |   gtk_widget_show_all

omitting the second "note" diagnostic.

Doing so requires changing the above "suggest_" functions so that
rather than being called after "error" and emitting a note directly,
they are called before the "error", and return a name_hint, which
can contain a suggestion and/or a deferred diagnostic.  The "single
candidate" case is handled via a suggestion, and the "multiple
candidates" case via a new subclass of deferred_diagnostic.

There was some complication due to the fact that we don't always have
enough location information to issue a fix-it hint.  Specifically,
for the case in qualified_name_lookup_error, the location is that of
the name, but the location of the qualifier prefix isn't reliably
available.  For some hints, e.g. spell-corrections, the replacement
is of the name, and for others, e.g. parent namespaces, it's for the
qualified name.  The patch addresses this by splitting this case out
into a new "suggest_alternatives_in_other_namespaces" function, for
which fix-it hints aren't issued.

Another complication is that of emitting a note when
  --param cxx-max-namespaces-for-diagnostic-help
is reached.  The patch emulates the existing behavior by emitting
the note from a deferred_diagnostic.  This potentially needs to
co-exist with another deferred_diagnostic, so it works as a decorator
around any other such deferred_diagnostic.  Doing so requires slightly
extending class name_hint.

On adding test coverage for the various cases, I discovered that
after emitting a "FOO is not a namespace-name" error, we also emit
a "expected namespace-name before" error.  The patch removes this
second error for the case where it's redundant, simplifying this case
from e.g.:

spellcheck-ns.C:10:24: error: 'inner_ms' is not a namespace-name
10 | using namespace outer::inner_ms;
   |                        ^~~~~~~~
spellcheck-ns.C:10:24: note: suggested alternative: 'inner_ns'
10 | using namespace outer::inner_ms;
   |                        ^~~~~~~~
   |                        inner_ns
spellcheck-ns.C:10:32: error: expected namespace-name before ';' token
10 | using namespace outer::inner_ms;
   |                                ^

to:

spellcheck-ns.C:10:24: error: 'inner_ms' is not a namespace-name;
 did you mean 'inner_ns'?
10 | using namespace outer::inner_ms;
   |                        ^~~~~~~~
   |                        inner_ns

include/ChangeLog:
* unique-ptr.h (gnu::move): Generalize so it applies to all
lvalue references, rather than just to unique_ptr values.

gcc/c-family/ChangeLog:
* name-hint.h (name_hint::take_deferred): New member function.

gcc/c/ChangeLog:
* c-decl.c (implicit_decl_warning): Update "is there a suggestion"
logic for change to name_hint::operator bool.
(undeclared_variable): Likewise.
* c-parser.c (c_parser_declaration_or_fndef): Likewise.
(c_parser_parameter_declaration): Likewise.

gcc/cp/ChangeLog:
* cp-name-hint.h: New file.
* cp-tree.h (expr_to_string): New decl.
(suggest_alternatives_for): Move to cp-name-hint.h, changing
return type from bool to name_hint.
(suggest_alternative_in_explicit_scope): Likewise.
* error.c: Define INCLUDE_UNIQUE_PTR.  Include "cp-name-hint.h".
(expr_to_string): Make non-static.
(qualified_name_lookup_error): For the non-"::" case, take
responsibity for issuing any suggestion from
suggest_alternative_in_explicit_scope, as it changes from
returning a bool to returning a name_hint.  Replace fallback call
to suggest_alternatives_for to a call to
suggest_alternatives_in_other_namespaces, capturing the fact that
we don't have enough location information to issue a fix-it hint
for this case.  Update the error to support emitting a fix-it hint
where appropriate.  For the "::" case, take responsibility for
issuing any suggestion from suggest_alternatives_for, supporting
emitting a fix-it hint.
* lex.c: Define INCLUDE_UNIQUE_PTR.  Include "gcc-rich-location.h"
and "cp-name-hint.h".
(unqualified_name_lookup_error): Take responsibility for issuing
any suggestion from suggest_alternatives_for, supporting emitting
a fix-it hint.
* name-lookup.c (class namespace_limit_reached): New subclass of
deferred_diagnostic.
(class show_candidate_location): Likewise.
(class suggest_alternatives): Likewise.
(class namespace_hints): New class.
(suggest_alternatives_for): Convert return type from bool to
name_hint, replacing all direct diagnostic emission by setting
suggestions on the return value, or creating deferred diagnostics.
Specifically, split out initial traversal of namespaces into
namespace_hints' ctor, and maybe_decorate_with_limit, and move the
rest of the implementation to
namespace_hints::convert_candidates_to_name_hint and
suggest_alternatives_for_1.
(namespace_hints::namespace_hints): New ctor, adapted from
suggest_alternatives_for's initial namespace traversal, storing
location and name, and converting locals "candidates", "limited"
and "limit" into members.
(namespace_hints::convert_candidates_to_name_hint): New member
function.
(namespace_hints::maybe_decorate_with_limit): New member function.
(suggest_alternatives_for_1): New function, based on second half
of old implementation of suggest_alternatives_for, converting from
immediate emission of suggestions to using name_hint.
(suggest_alternatives_in_other_namespaces): New function.
(maybe_suggest_missing_std_header): Convert from immediate
emission of suggestions to using name_hint, moving emission
implementation to...
(class missing_std_header): New subclass of deferred_diagnostic.
(maybe_suggest_missing_header): Convert return type from bool to
name_hint.
(suggest_alternative_in_explicit_scope): Convert from immediate
emission of suggestions to using name_hint.
* parser.c: Replace include of "c-family/name-hint.h" with
"cp-name-hint.h".
(cp_parser_diagnose_invalid_type_name): Update
"is there a suggestion" logic for change to
name_hint::operator bool.  Take responsibility for emitting
fix-it hints from suggest_alternative_in_explicit_scope.
(cp_parser_namespace_name): Take responsibility for emitting
fix-it hints from suggest_alternative_in_explicit_scope.  Don't
emit the "expected namespace-name" error if we've already emitted
an "is not a namespace-name" error.

gcc/testsuite/ChangeLog:
* c-c++-common/spellcheck-reserved.c: Update expected output for
C++ for merger of "did you mean" suggestions into the error
message.
* g++.dg/ext/builtin3.C: Update expected output for merger of "did
you mean" suggestion into the error.
* g++.dg/lookup/error1.C: Likewise.
* g++.dg/lookup/pr77549.C: Likewise.
* g++.dg/lookup/pr80913.C: Likewise.
* g++.dg/lookup/suggestions1.C: Likewise.
* g++.dg/lookup/suggestions2.C: New test.
* g++.dg/overload/koenig1.C: Update expected output as above.
* g++.dg/spellcheck-identifiers-2.C: Likewise.
* g++.dg/spellcheck-identifiers.C: Likewise.
* g++.dg/spellcheck-ns.C: New test.
* g++.dg/spellcheck-pr77829.C: Update expected output as above.
* g++.dg/spellcheck-pr78656.C: Likewise.
* g++.dg/spellcheck-pr79298.C: Likewise, adding
-fdiagnostics-show-caret to options.
* g++.dg/spellcheck-pr80177.C: Likewise.
* g++.dg/spellcheck-single-vs-multiple.C: New test.
* g++.dg/spellcheck-typenames.C: Update expected output as above.
* g++.dg/template/static10.C: Likewise.
* g++.old-deja/g++.mike/ns5.C: Likewise.
* g++.old-deja/g++.mike/ns7.C: Likewise.
* g++.old-deja/g++.ns/koenig5.C: Likewise.
* g++.old-deja/g++.other/lineno5.C: Likewise.

libstdc++-v3/ChangeLog:
* testsuite/17_intro/using_namespace_std_exp_neg.cc: Remove
"expected namespace-name before" error.
* testsuite/17_intro/using_namespace_std_tr1_neg.cc: Likewise.

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

5 years agoFolding and check_function_arguments
dmalcolm [Mon, 29 Oct 2018 23:44:10 +0000 (23:44 +0000)] 
Folding and check_function_arguments

This patch eliminates the arglocs array I introduced to build_over_call
in r264887, and eliminates the call to maybe_constant_value when building
"fargs" (thus retaining location wrapper nodes).

Instead, this patch requires that any checks within
check_function_arguments that need folded arguments do their own folding.

Of the various checks:
(a) check_function_nonnull already calls fold_for_warn,
(b) check_function_format doesn't need folding
(c) check_function_sentinel needs fold_for_warn in one place, which the
patch adds, and
(d) check_function_restrict needs per-argument folding, which the patch
adds.  Given that it scans before and after resetting TREE_VISITED on
each argument, it seemed best to make a copy of the array, folding each
argument from the outset, rather than repeatedly calling fold_for_warn;

gcc/c-family/ChangeLog:
PR c++/56856
* c-common.c (check_function_sentinel): Call fold_for_warn on the
argument.
(check_function_restrict): Rename param "argarray" to
"unfolded_argarray", and make a copy named "argarray", calling
fold_for_warn on each argument.
(check_function_arguments): Add note about responsibility for
folding the arguments.

gcc/cp/ChangeLog:
PR c++/56856
* call.c (build_over_call): Eliminate the "arglocs" array, and the
call to maybe_constant_value when building "fargs".

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

5 years ago/cp
paolo [Mon, 29 Oct 2018 22:57:39 +0000 (22:57 +0000)] 
/cp
2018-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (create_array_type_for_decl): Add location_t parameter
and use it.
(grokdeclarator): Adjust call.

/testsuite
2018-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/auto24.C: Test location too.
* g++.dg/cpp0x/auto3.C: Likewise.
* g++.dg/cpp0x/auto42.C: Likewise.
* g++.dg/cpp0x/initlist57.C: Likewise.
* g++.dg/cpp0x/initlist75.C: Likewise.
* g++.dg/cpp0x/initlist80.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-ice13.C: Likewise.
* g++.old-deja/g++.brendan/array-refs.C: Likewise.
* g++.old-deja/g++.bugs/900322_01.C: Likewise.
* g++.old-deja/g++.bugs/900519_07.C: Likewise.
* g++.old-deja/g++.other/typeck1.C: Likewise.

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

5 years agogcc/ChangeLog:
ibuclaw [Mon, 29 Oct 2018 22:56:52 +0000 (22:56 +0000)] 
gcc/ChangeLog:

2018-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>

* config.gcc (xstormy16-*-elf): Set tm_d_file.

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

5 years agoux.texi: move "Quoting" and "Fix-it hints" from DiagnosticsGuidelines wiki page
dmalcolm [Mon, 29 Oct 2018 22:25:29 +0000 (22:25 +0000)] 
ux.texi: move "Quoting" and "Fix-it hints" from DiagnosticsGuidelines wiki page

gcc/ChangeLog:
* doc/ux.texi (Quoting): New subsection, adapted from material at
https://gcc.gnu.org/wiki/DiagnosticsGuidelines written by
MartinSebor and ManuelLopezIbanez.
(Fix-it hints): Note that fix-it hints shouldn't be marked for
translation.

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

5 years agogcc/testsuite/ChangeLog:
kugan [Mon, 29 Oct 2018 22:02:45 +0000 (22:02 +0000)] 
gcc/testsuite/ChangeLog:

2018-10-29  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/87469
* g++.dg/pr87469.C: New test.

gcc/ChangeLog:

2018-10-29  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/87469
* tree-ssa-loop-niter.c (number_of_iterations_popcount): Fix niter
max value.

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

5 years agoAdd ChangeLog entry for hunk introduced together with another one
hainque [Mon, 29 Oct 2018 20:52:29 +0000 (20:52 +0000)] 
Add ChangeLog entry for hunk introduced together with another one

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

5 years ago[rs6000] Remove inaccurate comment
pc [Mon, 29 Oct 2018 20:14:12 +0000 (20:14 +0000)] 
[rs6000] Remove inaccurate comment

DEBUG doesn't actually "replace abort with printf on error",
it just enables debugging output.  Just remove the comment.

[gcc/testsuite]

2018-10-29  Paul A. Clarke  <pc@us.ibm.com>

* gcc.target/powerpc/ssse3-check.h: Remove inaccurate comment.

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

5 years ago * doc/rtl.texi (CONST_WIDE_INT_ELT): Give correct macro name.
pkoning [Mon, 29 Oct 2018 20:07:16 +0000 (20:07 +0000)] 
* doc/rtl.texi (CONST_WIDE_INT_ELT): Give correct macro name.

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

5 years ago[rs6000] Consistently use '__vector' instead of 'vector'
pc [Mon, 29 Oct 2018 19:44:57 +0000 (19:44 +0000)] 
[rs6000] Consistently use '__vector' instead of 'vector'

Revision r265535 committed changes that used 'vector' instead of the
preferred '__vector'.  There is a reason that '__vector' is preferred,
because it ensures no conflicts with C++ namespace.  Indeed,
gcc/config/rs6000/xmmintrin.h undefines it, leading to errors:

  gcc/include/xmmintrin.h:999:20: error: 'vector' undeclared (first use in this function); did you mean 'vec_or'?
  gcc/include/xmmintrin.h:999:20: note: each undeclared identifier is reported only once for each function it appears in
  gcc/include/xmmintrin.h:999:26: error: expected ')' before 'long'
  gcc/include/xmmintrin.h:999:37: error: expected ')' before 'result'

Also fixed a few whitespace issues.

[gcc]

2018-10-29  Paul A. Clarke  <pc@us.ibm.com>

* gcc/config/rs6000/mmintrin.h (_mm_packs_pi16, _mm_packs_pi32,
_mm_packs_pu16, _mm_unpackhi_pi8, _mm_unpacklo_pi8, _mm_add_pi8,
_mm_add_pi16, _mm_add_pi32, _mm_sub_pi8, _mm_sub_pi16, _mm_sub_pi32,
_mm_cmpgt_pi8, _mm_cmpeq_pi16, _mm_cmpgt_pi16, _mm_cmpeq_pi32,
_mm_cmpgt_pi32, _mm_adds_pi8, _mm_adds_pi16, _mm_adds_pu8,
_mm_adds_pu16, _mm_subs_pi8, _mm_subs_pi16, _mm_subs_pu8,
_mm_subs_pu16, _mm_madd_pi16, _mm_mulhi_pi16, _mm_mullo_pi16,
_mm_sll_pi16, _mm_sra_pi16, _mm_srl_pi16, _mm_set1_pi16, _mm_set1_pi8):
Change 'vector' to '__vector'.
* gcc/config/rs6000/xmmintrin.h (_mm_cvtps_pi32, _mm_cvttps_pi32,
_mm_cvtps_pi16, _mm_cvtps_pi8, _mm_max_pi16, _mm_max_pu8, _mm_min_pi16,
_mm_min_pu8, _mm_mulhi_pu16, _mm_shuffle_pi16, _mm_avg_pu8,
_mm_avg_pu16): Likewise.  And, whitespace corrections.

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

5 years ago PR c++/87594 - constexpr rejects-valid with range-based for.
mpolacek [Mon, 29 Oct 2018 19:40:18 +0000 (19:40 +0000)] 
PR c++/87594 - constexpr rejects-valid with range-based for.
* constexpr.c (potential_constant_expression_1): If the condition
can't be evaluated, return true.

* g++.dg/cpp1y/constexpr-loop8.C: New test.

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

5 years ago compiler: pass a single flags argument to Backend::function
ian [Mon, 29 Oct 2018 19:25:57 +0000 (19:25 +0000)] 
compiler: pass a single flags argument to Backend::function

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

* go-gcc.cc (Gcc_backend::function): Change to use a single flags
parameter.

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

5 years ago compiler: add location_file
ian [Mon, 29 Oct 2018 18:44:39 +0000 (18:44 +0000)] 
compiler: add location_file

    Add support for getting the file name from a Location value.  This
    will be used by later work.

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

* go-linemap.cc (Gcc_linemap::location_file): New method.

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

5 years ago2018-10-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Oct 2018 15:43:08 +0000 (15:43 +0000)] 
2018-10-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/87785
* tree-vect-slp.c (vect_gather_slp_loads): Only gather
internal defs.

* gcc.dg/torture/20181029-1.c: New testcase.
* gcc.dg/torture/20181029-2.c: Likewise.

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

5 years agoExtract VXWORKS_NET_LIBS_RTP from VXWORKS_LIBS_RTP
hainque [Mon, 29 Oct 2018 15:07:47 +0000 (15:07 +0000)] 
Extract VXWORKS_NET_LIBS_RTP from VXWORKS_LIBS_RTP

2018-10-29  Olivier Hainque  <hainque@adacore.com>

* VXWORKS_NET_LIBS_RTP: New macro, network part of VXWORKS_LIBS_RTP.

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

5 years agoIntroduce notion of VXWORKS_PERSONALITY
hainque [Mon, 29 Oct 2018 15:07:33 +0000 (15:07 +0000)] 
Introduce notion of VXWORKS_PERSONALITY

2018-10-29  Olivier Hainque  <hainque@adacore.com>

* config/vxworks.h (VXWORKS_PERSONALITY): New VxWorks
ports configuration macro, defaults to "gnu".
(VXWORKS_OS_CPP_BUILTINS): Use it. Feed TOOL and
TOOL_FAMILY instead of _VX_TOOL/_VXTOOL_FAMILY.

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

5 years ago2018-10-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Oct 2018 14:57:52 +0000 (14:57 +0000)] 
2018-10-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/87790
* tree-vect-slp.c (vect_mark_slp_stmts): Simplify.
(vect_make_slp_decision): Adjust.
(vect_slp_analyze_bb_1): Likewise.
(vect_detect_hybrid_slp_stmts): Properly union SLP type over
edges.

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

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

5 years ago[OpenACC] Support C++ "this" in OpenACC directives
jules [Mon, 29 Oct 2018 14:31:20 +0000 (14:31 +0000)] 
[OpenACC] Support C++ "this" in OpenACC directives

2018-10-29  Joseph Myers  <joseph@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>

* semantics.c (handle_omp_array_sections_1): Allow array sections with
"this" pointer for OpenACC.

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

5 years ago2018-10-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Oct 2018 13:31:28 +0000 (13:31 +0000)] 
2018-10-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/87785
* tree-vect-slp.c (vect_build_slp_tree_2): Remove loads argument
and processing.
(vect_build_slp_tree): Likewise.
(vect_gather_slp_loads): New function.
(vect_analyze_slp_instance): Gather loads separately from the
SLP tree build.

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

5 years agoGCOV: introduce --json-format.
marxin [Mon, 29 Oct 2018 12:00:54 +0000 (12:00 +0000)] 
GCOV: introduce --json-format.

2018-10-29  Martin Liska  <mliska@suse.cz>

* Makefile.in: Make dependency to json.o.
* doc/gcov.texi: Document new JSON format, remove
old intermediate format documentation.
* gcov.c (struct function_info): Come up with m_name and
m_demangled_name.
(function_info::function_info): Initialize it.
(function_info::~function_info): Release it.
(main): Rename flag_intermediate_format to flag_json_format.
(print_usage): Describe --json-format.
(process_args): Set flag_json_format.
(output_intermediate_line): Remove.
(output_intermediate_json_line): Likewise.
(get_gcov_intermediate_filename): Return new extension
".gcov.json.gz".
(output_intermediate_file): Implement JSON emission.
(output_json_intermediate_file): Implement JSON emission.
(generate_results): Use ::get_name for function name.
Handle JSON output file.
(read_graph_file): Use ::get_name instead of cplus_demangle.
(read_count_file): Likewise.
(solve_flow_graph): Likewise.
(add_line_counts): Likewise.
(accumulate_line_counts): Use new flag_json_format.
(output_function_details): Use ::get_name instead of cplus_demangle.
(output_lines): Likewise.
* json.cc (test_writing_literals): Add new tests.
* json.h (class literal): Add new boolean constructor.
2018-10-29  Martin Liska  <mliska@suse.cz>

* g++.dg/gcov/gcov-8.C: Do not check intermediate format.
* lib/gcov.exp: Remove legacy verify-intermediate.

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

5 years agoFix mingw-w64 Ada native bootstrap (PR81878).
tnfchris [Mon, 29 Oct 2018 09:45:50 +0000 (09:45 +0000)] 
Fix mingw-w64 Ada native bootstrap (PR81878).

Due to the changes in PR81878 builds of GCC8 and trunk are impossible
with Ada enabled[1][2].

The reason the patch breaks the bootstrap is due to how gnatlink receives it's
arguments.

gnatlink is usually invoked as

        $(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \
          --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)

so it passes $(CC) and $(GCC_LINK) as quoted arguments to the program.
Because of this quotation the msys2 shell does not translate any paths in
$(CC) and $(GCC_LINK) from their Unix version to their Windows version.

Furthermore because there are multiple paths in the values separated by space
and because the paths often contain a prefix like -L (e.g. -L/f/foo) we can't
use `fix_srcfile_path` to fix this.

An alternative solution would have been to create a stub program that echos the
commandline options it receives back, and calling this program with $(CC) and $(GCC_LINK)
unquoted to get them translated.  However this was a bit more invasive.

So instead for native compilations we add -B../../ such that it picks up the lto plugin
from the previous built compiler.  Since it's native there shouldn't be a mismatch here.

[1] https://github.com/Alexpux/MINGW-packages/pull/3877#issuecomment-408651809
[2] https://gcc.gnu.org/ml/gcc/2018-07/msg00410.html

gnattools/ChangeLog:

PR ada/81878
* Makefile.in (TOOLS_FLAGS_TO_PASS_NATIVE): Add -B ../../.

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

5 years agocombine: Fix various shortcomings in make_more_copies (PR87701, PR87780)
segher [Mon, 29 Oct 2018 07:36:45 +0000 (07:36 +0000)] 
combine: Fix various shortcomings in make_more_copies (PR87701, PR87780)

This rewrites most of make_more_copies, in the process fixing a few PRs
and some other bugs, and working around a few target problems.  Certain
notes turn out to actually change the meaning of the RTL, so we cannot
drop them; and i386 takes subregs of hard regs.

PR rtl-optimization/87701
PR rtl-optimization/87780
* combine.c (make_more_copies): Rewrite.

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

5 years agoDaily bump.
gccadmin [Mon, 29 Oct 2018 00:16:52 +0000 (00:16 +0000)] 
Daily bump.

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

5 years agogcc/testsuite/ChangeLog:
kugan [Mon, 29 Oct 2018 00:03:20 +0000 (00:03 +0000)] 
gcc/testsuite/ChangeLog:

2018-10-28  Kugan Vivekanandarajah  <kuganv@linaro.org>

* gcc.dg/gimplefe-30.c: New test.
* gcc.dg/gimplefe-31.c: New test.
* gcc.dg/gimplefe-32.c: New test.
* gcc.dg/gimplefe-33.c: New test.

gcc/ChangeLog:

2018-10-28  Kugan Vivekanandarajah  <kuganv@linaro.org>

* doc/generic.texi (ABSU_EXPR): Document.
        * match.pd (absu(x)*absu(x) -> x*x): Handle.
        (absu(absu(X)) -> absu(X)): Likewise.
        (absu(-X) -> absu(X)): Likewise.
        (absu(X)  where X is nonnegative -> X): Likewise.

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

5 years ago2018-10-28 François Dumont <fdumont@gcc.gnu.org>
fdumont [Sun, 28 Oct 2018 20:57:04 +0000 (20:57 +0000)] 
2018-10-28  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/23_containers/deque/48101_neg.cc: Remove dg-prune-output
'std' from regex pattern for versioned namespace compatibility.
* testsuite/23_containers/vector/48101_neg.cc: Likewise.
* testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise.

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

5 years agoAdd D front-end, libphobos library, and D2 testsuite.
ibuclaw [Sun, 28 Oct 2018 19:51:47 +0000 (19:51 +0000)] 
Add D front-end, libphobos library, and D2 testsuite.

ChangeLog:

* Makefile.def (target_modules): Add libphobos.
(flags_to_pass): Add GDC, GDCFLAGS, GDC_FOR_TARGET and
GDCFLAGS_FOR_TARGET.
(dependencies): Make libphobos depend on libatomic, libbacktrace
configure, and zlib configure.
(language): Add language d.
* Makefile.in: Rebuild.
* Makefile.tpl (BUILD_EXPORTS): Add GDC and GDCFLAGS.
(HOST_EXPORTS): Add GDC.
(POSTSTAGE1_HOST_EXPORTS): Add GDC and GDC_FOR_BUILD.
(BASE_TARGET_EXPORTS): Add GDC.
(GDC_FOR_BUILD, GDC, GDCFLAGS): New variables.
(GDC_FOR_TARGET, GDC_FLAGS_FOR_TARGET): New variables.
(EXTRA_HOST_FLAGS): Add GDC.
(STAGE1_FLAGS_TO_PASS): Add GDC.
(EXTRA_TARGET_FLAGS): Add GDC and GDCFLAGS.
* config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag
environment variables.
* configure: Rebuild.
* configure.ac: Add target-libphobos to target_libraries.  Set and
substitute GDC_FOR_BUILD and GDC_FOR_TARGET.

config/ChangeLog:

* multi.m4: Set GDC.

gcc/ChangeLog:

* Makefile.in (tm_d_file_list, tm_d_include_list): New variables.
(TM_D_H, D_TARGET_DEF, D_TARGET_H, D_TARGET_OBJS): New variables.
(tm_d.h, cs-tm_d.h, default-d.o): New rules.
(d/d-target-hooks-def.h, s-d-target-hooks-def-h): New rules.
(s-tm-texi): Also check timestamp on d-target.def.
(generated_files): Add TM_D_H and d-target-hooks-def.h.
(build/genhooks.o): Also depend on D_TARGET_DEF.
* config.gcc (tm_d_file, d_target_objs, target_has_targetdm): New
variables.
* config/aarch64/aarch64-d.c: New file.
* config/aarch64/aarch64-linux.h (GNU_USER_TARGET_D_CRITSEC_SIZE):
Define.
* config/aarch64/aarch64-protos.h (aarch64_d_target_versions): New
prototype.
* config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Define.
* config/aarch64/t-aarch64 (aarch64-d.o): New rule.
* config/arm/arm-d.c: New file.
* config/arm/arm-protos.h (arm_d_target_versions): New prototype.
* config/arm/arm.h (TARGET_D_CPU_VERSIONS): Define.
* config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
* config/arm/t-arm (arm-d.o): New rule.
* config/default-d.c: New file.
* config/glibc-d.c: New file.
* config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
* config/i386/i386-d.c: New file.
* config/i386/i386-protos.h (ix86_d_target_versions): New prototype.
* config/i386/i386.h (TARGET_D_CPU_VERSIONS): Define.
* config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
(GNU_USER_TARGET_D_CRITSEC_SIZE): Define.
* config/i386/t-i386 (i386-d.o): New rule.
* config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
* config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
* config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Define.
* config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
* config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
* config/mips/mips-d.c: New file.
* config/mips/mips-protos.h (mips_d_target_versions): New prototype.
* config/mips/mips.h (TARGET_D_CPU_VERSIONS): Define.
* config/mips/t-mips (mips-d.o): New rule.
* config/powerpcspe/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
* config/powerpcspe/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
* config/powerpcspe/powerpcspe-d.c: New file.
* config/powerpcspe/powerpcspe-protos.h (rs6000_d_target_versions):
New prototype.
* config/powerpcspe/powerpcspe.c (rs6000_output_function_epilogue):
Support GNU D by using 0 as the language type.
* config/powerpcspe/powerpcspe.h (TARGET_D_CPU_VERSIONS): Define.
* config/powerpcspe/t-powerpcspe (powerpcspe-d.o): New rule.
* config/riscv/riscv-d.c: New file.
* config/riscv/riscv-protos.h (riscv_d_target_versions): New
prototype.
* config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Define.
* config/riscv/t-riscv (riscv-d.o): New rule.
* config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
* config/rs6000/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
* config/rs6000/rs6000-d.c: New file.
* config/rs6000/rs6000-protos.h (rs6000_d_target_versions): New
prototype.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
Support GNU D by using 0 as the language type.
* config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS): Define.
* config/rs6000/t-rs6000 (rs6000-d.o): New rule.
* config/s390/s390-d.c: New file.
* config/s390/s390-protos.h (s390_d_target_versions): New prototype.
* config/s390/s390.h (TARGET_D_CPU_VERSIONS): Define.
* config/s390/t-s390 (s390-d.o): New rule.
* config/sparc/sparc-d.c: New file.
* config/sparc/sparc-protos.h (sparc_d_target_versions): New
prototype.
* config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Define.
* config/sparc/t-sparc (sparc-d.o): New rule.
* config/t-glibc (glibc-d.o): New rule.
* configure: Regenerated.
* configure.ac (tm_d_file): New variable.
(tm_d_file_list, tm_d_include_list, d_target_objs): Add substitutes.
* doc/contrib.texi (Contributors): Add self for the D frontend.
* doc/frontends.texi (G++ and GCC): Mention D as a supported language.
* doc/install.texi (Configuration): Mention libphobos as an option for
--enable-shared.  Mention d as an option for --enable-languages.
(Testing): Mention check-d as a target.
* doc/invoke.texi (Overall Options): Mention .d, .dd, and .di as file
name suffixes.  Mention d as a -x option.
* doc/sourcebuild.texi (Top Level): Mention libphobos.
* doc/standards.texi (Standards): Add section on D language.
* doc/tm.texi: Regenerated.
* doc/tm.texi.in: Add @node for D language and ABI, and @hook for
TARGET_CPU_VERSIONS, TARGET_D_OS_VERSIONS, and TARGET_D_CRITSEC_SIZE.
* dwarf2out.c (is_dlang): New function.
(gen_compile_unit_die): Use DW_LANG_D for D.
(declare_in_namespace): Return module die for D, instead of adding
extra declarations into the namespace.
(gen_namespace_die): Generate DW_TAG_module for D.
(gen_decl_die): Handle CONST_DECLSs for D.
(dwarf2out_decl): Likewise.
(prune_unused_types_walk_local_classes): Handle DW_tag_interface_type.
(prune_unused_types_walk): Handle DW_tag_interface_type same as other
kinds of aggregates.
* gcc.c (default_compilers): Add entries for .d, .dd and .di.
* genhooks.c: Include d/d-target.def.

gcc/po/ChangeLog:

* EXCLUDES: Add sources from d/dmd.

gcc/testsuite/ChangeLog:

* gcc.misc-tests/help.exp: Add D to option descriptions check.
* gdc.dg/asan/asan.exp: New file.
* gdc.dg/asan/gdc272.d: New test.
* gdc.dg/compilable.d: New test.
* gdc.dg/dg.exp: New file.
* gdc.dg/gdc254.d: New test.
* gdc.dg/gdc260.d: New test.
* gdc.dg/gdc270a.d: New test.
* gdc.dg/gdc270b.d: New test.
* gdc.dg/gdc282.d: New test.
* gdc.dg/gdc283.d: New test.
* gdc.dg/imports/gdc170.d: New test.
* gdc.dg/imports/gdc231.d: New test.
* gdc.dg/imports/gdc239.d: New test.
* gdc.dg/imports/gdc241a.d: New test.
* gdc.dg/imports/gdc241b.d: New test.
* gdc.dg/imports/gdc251a.d: New test.
* gdc.dg/imports/gdc251b.d: New test.
* gdc.dg/imports/gdc253.d: New test.
* gdc.dg/imports/gdc254a.d: New test.
* gdc.dg/imports/gdc256.d: New test.
* gdc.dg/imports/gdc27.d: New test.
* gdc.dg/imports/gdcpkg256/package.d: New test.
* gdc.dg/imports/runnable.d: New test.
* gdc.dg/link.d: New test.
* gdc.dg/lto/lto.exp: New file.
* gdc.dg/lto/ltotests_0.d: New test.
* gdc.dg/lto/ltotests_1.d: New test.
* gdc.dg/runnable.d: New test.
* gdc.dg/simd.d: New test.
* gdc.test/gdc-test.exp: New file.
* lib/gdc-dg.exp: New file.
* lib/gdc.exp: New file.

libphobos/ChangeLog:

* Makefile.am: New file.
* Makefile.in: New file.
* acinclude.m4: New file.
* aclocal.m4: New file.
* config.h.in: New file.
* configure: New file.
* configure.ac: New file.
* d_rules.am: New file.
* libdruntime/Makefile.am: New file.
* libdruntime/Makefile.in: New file.
* libdruntime/__entrypoint.di: New file.
* libdruntime/__main.di: New file.
* libdruntime/gcc/attribute.d: New file.
* libdruntime/gcc/backtrace.d: New file.
* libdruntime/gcc/builtins.d: New file.
* libdruntime/gcc/config.d.in: New file.
* libdruntime/gcc/deh.d: New file.
* libdruntime/gcc/libbacktrace.d.in: New file.
* libdruntime/gcc/unwind/arm.d: New file.
* libdruntime/gcc/unwind/arm_common.d: New file.
* libdruntime/gcc/unwind/c6x.d: New file.
* libdruntime/gcc/unwind/generic.d: New file.
* libdruntime/gcc/unwind/package.d: New file.
* libdruntime/gcc/unwind/pe.d: New file.
* m4/autoconf.m4: New file.
* m4/druntime.m4: New file.
* m4/druntime/cpu.m4: New file.
* m4/druntime/libraries.m4: New file.
* m4/druntime/os.m4: New file.
* m4/gcc_support.m4: New file.
* m4/gdc.m4: New file.
* m4/libtool.m4: New file.
* src/Makefile.am: New file.
* src/Makefile.in: New file.
* src/libgphobos.spec.in: New file.
* testsuite/Makefile.am: New file.
* testsuite/Makefile.in: New file.
* testsuite/config/default.exp: New file.
* testsuite/lib/libphobos-dg.exp: New file.
* testsuite/lib/libphobos.exp: New file.
* testsuite/testsuite_flags.in: New file.

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

5 years ago2017-10-28 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 28 Oct 2018 11:05:05 +0000 (11:05 +0000)] 
2017-10-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/54613
* gfortran.h (gfc_isym_id): Add GFC_ISYM_FINDLOC.
(gfc_check_f): Add f6fl field.
(gfc_simplify_f): Add f6 field.
(gfc_resolve_f): Likewise.
(gfc_type_letter): Add optional logical_equas_int flag.
* check.c (intrinsic_type_check): New function.
(gfc_check_findloc): New function.
* intrinsics.c (gfc_type_letter): If logical_equals_int is
set, act accordingly.
(add_sym_5ml):  Reformat comment.
(add_sym_6fl): New function.
(add_functions): Add findloc.
(check_arglist): Add sixth argument, handle it.
(resolve_intrinsic): Likewise.
(check_specific): Handle findloc.
* intrinsic.h (gfc_check_findloc): Add prototype.
(gfc_simplify_findloc): Likewise.
(gfc_resolve_findloc): Likewise.
(MAX_INTRINSIC_ARGS): Adjust.
* iresolve.c (gfc_resolve_findloc): New function.
* simplify.c (gfc_simplify_minmaxloc): Make static.
(simplify_findloc_to_scalar): New function.
(simplify_findloc_nodim): New function.
(simplify_findloc_to_array): New function.
(gfc_simplify_findloc): New function.
(gfc_conv_intrinsic_findloc): New function.
(gfc_conv_intrinsic_function): Handle GFC_ISYM_FINDLOC.
(gfc_is_intrinsic_libcall): Likewise.

2017-10-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/54613
* Makefile.am: Add files for findloc.
* Makefile.in: Regenerated.
* libgfortran.h (gfc_array_index_type): Add.
(gfc_array_s1): Add using GFC_UINTEGER_1.
(gfc_array_s4): Likewise.
Replace unnecessary comment.
(HAVE_GFC_UINTEGER_1): Define.
(HAVE_GFC_UINTEGER_4): Define.
* m4/findloc0.m4: New file.
* m4/findloc0s.m4: New file.
* m4/findloc1.m4: New file.
* m4/findloc1s.m4: New file.
* m4/findloc2s.m4: New file.
* m4/ifindloc0.m4: New file.
* m4/ifindloc1.m4: New file.
* m4/ifindloc2.m4: New file.
* m4/iparm.m4: Use unsigned integer for characters.
        * generated/findloc0_c16.c: New file.
        * generated/findloc0_c4.c: New file.
        * generated/findloc0_c8.c: New file.
        * generated/findloc0_i1.c: New file.
        * generated/findloc0_i16.c: New file.
        * generated/findloc0_i2.c: New file.
        * generated/findloc0_i4.c: New file.
        * generated/findloc0_i8.c: New file.
        * generated/findloc0_r16.c: New file.
        * generated/findloc0_r4.c: New file.
        * generated/findloc0_r8.c: New file.
        * generated/findloc0_s1.c: New file.
        * generated/findloc0_s4.c: New file.
        * generated/findloc1_c16.c: New file.
        * generated/findloc1_c4.c: New file.
        * generated/findloc1_c8.c: New file.
        * generated/findloc1_i1.c: New file.
        * generated/findloc1_i16.c: New file.
        * generated/findloc1_i2.c: New file.
        * generated/findloc1_i4.c: New file.
        * generated/findloc1_i8.c: New file.
        * generated/findloc1_r16.c: New file.
        * generated/findloc1_r4.c: New file.
        * generated/findloc1_r8.c: New file.
        * generated/findloc1_s1.c: New file.
        * generated/findloc1_s4.c: New file.
        * generated/findloc2_s1.c: New file.
        * generated/findloc2_s4.c: New file.
        * generated/maxloc0_16_s1.c: Regenerated.
        * generated/maxloc0_16_s4.c: Regenerated.
        * generated/maxloc0_4_s1.c: Regenerated.
        * generated/maxloc0_4_s4.c: Regenerated.
        * generated/maxloc0_8_s1.c: Regenerated.
        * generated/maxloc0_8_s4.c: Regenerated.
        * generated/maxloc1_16_s1.c: Regenerated.
        * generated/maxloc1_16_s4.c: Regenerated.
        * generated/maxloc1_4_s1.c: Regenerated.
        * generated/maxloc1_4_s4.c: Regenerated.
        * generated/maxloc1_8_s1.c: Regenerated.
        * generated/maxloc1_8_s4.c: Regenerated.
        * generated/maxloc2_16_s1.c: Regenerated.
        * generated/maxloc2_16_s4.c: Regenerated.
        * generated/maxloc2_4_s1.c: Regenerated.
        * generated/maxloc2_4_s4.c: Regenerated.
        * generated/maxloc2_8_s1.c: Regenerated.
        * generated/maxloc2_8_s4.c: Regenerated.
        * generated/maxval0_s1.c: Regenerated.
        * generated/maxval0_s4.c: Regenerated.
        * generated/maxval1_s1.c: Regenerated.
        * generated/maxval1_s4.c: Regenerated.
        * generated/minloc0_16_s1.c: Regenerated.
        * generated/minloc0_16_s4.c: Regenerated.
        * generated/minloc0_4_s1.c: Regenerated.
        * generated/minloc0_4_s4.c: Regenerated.
        * generated/minloc0_8_s1.c: Regenerated.
        * generated/minloc0_8_s4.c: Regenerated.
        * generated/minloc1_16_s1.c: Regenerated.
        * generated/minloc1_16_s4.c: Regenerated.
        * generated/minloc1_4_s1.c: Regenerated.
        * generated/minloc1_4_s4.c: Regenerated.
        * generated/minloc1_8_s1.c: Regenerated.
        * generated/minloc1_8_s4.c: Regenerated.
        * generated/minloc2_16_s1.c: Regenerated.
        * generated/minloc2_16_s4.c: Regenerated.
        * generated/minloc2_4_s1.c: Regenerated.
        * generated/minloc2_4_s4.c: Regenerated.
        * generated/minloc2_8_s1.c: Regenerated.
        * generated/minloc2_8_s4.c: Regenerated.
        * generated/minval0_s1.c: Regenerated.
        * generated/minval0_s4.c: Regenerated.
        * generated/minval1_s1.c: Regenerated.
        * generated/minval1_s4.c: Regenerated.

2017-10-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/54613
* gfortran.dg/findloc_1.f90: New test.
* gfortran.dg/findloc_2.f90: New test.
* gfortran.dg/findloc_3.f90: New test.
* gfortran.dg/findloc_4.f90: New test.
* gfortran.dg/findloc_5.f90: New test.
* gfortran.dg/findloc_6.f90: New test.

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

5 years agodarwin - fix powerpc-darwin stack alignments
iains [Sun, 28 Oct 2018 09:25:43 +0000 (09:25 +0000)] 
darwin - fix powerpc-darwin stack alignments

2018-10-28  Iain Sandoe  <iain@sandoe.co.uk>

PR target/85669
* config/rs6000/darwin.h (STACK_BOUNDARY): New.
(RS6000_STARTING_FRAME_OFFSET): Adjust to preserve 16byte alignment.
(STACK_DYNAMIC_OFFSET): Likewise.

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

5 years agoDaily bump.
gccadmin [Sun, 28 Oct 2018 00:16:44 +0000 (00:16 +0000)] 
Daily bump.

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

5 years ago2018-10-27 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sat, 27 Oct 2018 21:34:43 +0000 (21:34 +0000)] 
2018-10-27  Sandra Loosemore  <sandra@codesourcery.com>

PR target/80024

gcc/
* config/nios2/nios2.c (nios2_valid_target_attribute_rec): Fix
error message.

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

5 years ago2018-10-27 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sat, 27 Oct 2018 10:26:23 +0000 (10:26 +0000)] 
2018-10-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/86907
* frontend-passes.c (check_locus_code): Add information that
warning about missing location information points to an
inconsisten internal state.
(check_locus_expr): Likewise.

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

5 years agoDaily bump.
gccadmin [Sat, 27 Oct 2018 00:16:42 +0000 (00:16 +0000)] 
Daily bump.

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

5 years agopowerpc: Fix typos in the manual
segher [Fri, 26 Oct 2018 21:32:15 +0000 (21:32 +0000)] 
powerpc: Fix typos in the manual

2018-10-26  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>

* doc/extend.texi (PowerPC builtins): Fix __builtin_unpack_ibm128
return type and other typos.

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

5 years ago2018-10-26 Aaron Sawdey <acsawdey@linux.ibm.com>
acsawdey [Fri, 26 Oct 2018 19:33:31 +0000 (19:33 +0000)] 
2018-10-26  Aaron Sawdey  <acsawdey@linux.ibm.com>

* config/rs6000/rs6000-string.c (expand_strncmp_gpr_sequence): Change to
a shorter sequence with fewer branches.
(emit_final_str_compare_gpr): Ditto.

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

5 years ago2018-10-26 Bill Schmidt <wschmidt@linux.ibm.com>
wschmidt [Fri, 26 Oct 2018 19:21:21 +0000 (19:21 +0000)] 
2018-10-26  Bill Schmidt  <wschmidt@linux.ibm.com>
    Jinsong Ji  <jji@us.ibm.com>

* gcc.target/powerpc/sse-addss-1.c: Call abort under DEBUG also;
formatting cleanup.
* gcc.target/powerpc/sse-pavgw-1.c: Likewise.
* gcc.target/powerpc/sse2-addsd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise.
* gcc.target/powerpc/sse2-divpd-1.c: Likewise.
* gcc.target/powerpc/sse2-divsd-1.c: Likewise.
* gcc.target/powerpc/sse2-maxsd-1.c: Likewise.
* gcc.target/powerpc/sse2-minsd-1.c: Likewise.
* gcc.target/powerpc/sse2-movmskpd-1.c: Likewise.
* gcc.target/powerpc/sse2-movq-1.c: Likewise.
* gcc.target/powerpc/sse2-movsd-3.c: Likewise.
* gcc.target/powerpc/sse2-mulpd-1.c: Likewise.
* gcc.target/powerpc/sse2-mulsd-1.c: Likewise.
* gcc.target/powerpc/sse2-packssdw-1.c: Likewise.
* gcc.target/powerpc/sse2-packsswb-1.c: Likewise.
* gcc.target/powerpc/sse2-packuswb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddsb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddsw-1.c: Likewise.
* gcc.target/powerpc/sse2-paddusb-1.c: Likewise.
* gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise.
* gcc.target/powerpc/sse2-pmulhw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmuludq1.c: Likewise.
* gcc.target/powerpc/sse2-psadbw-1.c: Likewise.
* gcc.target/powerpc/sse2-pshufd-1.c: Likewise.
* gcc.target/powerpc/sse2-pshufhw-1.c: Likewise.
* gcc.target/powerpc/sse2-pshuflw-1.c: Likewise.
* gcc.target/powerpc/sse2-pslld-2.c: Likewise.
* gcc.target/powerpc/sse2-pslldq-1.c: Likewise.
* gcc.target/powerpc/sse2-psrld-1.c: Likewise.
* gcc.target/powerpc/sse2-psrld-2.c: Likewise.
* gcc.target/powerpc/sse2-psrldq-1.c: Likewise.
* gcc.target/powerpc/sse2-psubusb-1.c: Likewise.
* gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise.
* gcc.target/powerpc/sse2-subsd-1.c: Likewise.

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

5 years ago[rs6000] Add tests for compatible implementations of x86 SSSE3 intrinsics
pc [Fri, 26 Oct 2018 19:02:23 +0000 (19:02 +0000)] 
[rs6000] Add tests for compatible implementations of x86 SSSE3 intrinsics

This is part 2/2 for contributing PPC64LE support for X86 SSSE3 instrisics.
This patch includes testsuite/gcc.target tests, copied from gcc.target/i386,
for the intrinsics defined in tmmintrin.h.

[gcc/testsuite]

2018-10-26  Paul A. Clarke  <pc@us.ibm.com>

* gcc.target/powerpc/ssse3-check.h: New file.
* gcc.target/powerpc/ssse3-vals.h: New file.
* gcc.target/powerpc/ssse3-pabsb.c: New file.
* gcc.target/powerpc/ssse3-pabsd.c: New file.
* gcc.target/powerpc/ssse3-pabsw.c: New file.
* gcc.target/powerpc/ssse3-palignr.c: New file.
* gcc.target/powerpc/ssse3-phaddd.c: New file.
* gcc.target/powerpc/ssse3-phaddsw.c: New file.
* gcc.target/powerpc/ssse3-phaddw.c: New file.
* gcc.target/powerpc/ssse3-phsubd.c: New file.
* gcc.target/powerpc/ssse3-phsubsw.c: New file.
* gcc.target/powerpc/ssse3-phsubw.c: New file.
* gcc.target/powerpc/ssse3-pmaddubsw.c: New file.
* gcc.target/powerpc/ssse3-pmulhrsw.c: New file.
* gcc.target/powerpc/ssse3-pshufb.c: New file.
* gcc.target/powerpc/ssse3-psignb.c: New file.
* gcc.target/powerpc/ssse3-psignd.c: New file.
* gcc.target/powerpc/ssse3-psignw.c: New file.

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

5 years ago[rs6000] Add compatible implementations of x86 SSSE3 intrinsics
pc [Fri, 26 Oct 2018 18:38:25 +0000 (18:38 +0000)] 
[rs6000] Add compatible implementations of x86 SSSE3 intrinsics

This is a follow-on to earlier commits for adding compatibility
implementations of x86 intrinsics for PPC64LE.  This is the first of
two patches.  This patch adds the 32 x86 intrinsics from
<tmmintrin.h> ("SSSE3").  (Patch 2/2 adds tests for these intrinsics,
and briefly describes the tests performed.)

gcc/ChangeLog:

2018-10-26  Paul A. Clarke  <pc@us.ibm.com>

* config/rs6000/tmmintrin.h: New file.
* config.gcc (powerpc*-*-*): Add tmmintrin.h to extra_headers.

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

5 years ago libgo: simplify gotest script to avoid sed substitution to \n
ian [Fri, 26 Oct 2018 18:36:44 +0000 (18:36 +0000)] 
libgo: simplify gotest script to avoid sed substitution to \n

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

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

5 years ago[rs6000] Enable 32bit support for tests of x86-compatibile intrinsics
pc [Fri, 26 Oct 2018 17:33:24 +0000 (17:33 +0000)] 
[rs6000] Enable 32bit support for tests of x86-compatibile intrinsics

Also, bugfix for mmx-packuswb-1.c, which had ommitted the required
"-mpower8-vector" from dg-options.

2018-10-26  Paul A. Clarke  <pc@us.ibm.com>

gcc/testsuite/ChangeLog:

* gcc.target/powerpc/mmx-packs.c: Enable 32 bit execution.
* gcc.target/powerpc/mmx-packssdw-1.c: Likewise.
* gcc.target/powerpc/mmx-packsswb-1.c: Likewise.
* gcc.target/powerpc/mmx-packs.c: Likewise.
* gcc.target/powerpc/mmx-packssdw-1.c: Likewise.
* gcc.target/powerpc/mmx-packsswb-1.c: Likewise.
* gcc.target/powerpc/mmx-paddb-1.c: Likewise.
* gcc.target/powerpc/mmx-paddd-1.c: Likewise.
* gcc.target/powerpc/mmx-paddsb-1.c: Likewise.
* gcc.target/powerpc/mmx-paddsw-1.c: Likewise.
* gcc.target/powerpc/mmx-paddusb-1.c: Likewise.
* gcc.target/powerpc/mmx-paddusw-1.c: Likewise.
* gcc.target/powerpc/mmx-paddw-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpeqb-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpeqd-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpeqw-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpgtb-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpgtd-1.c: Likewise.
* gcc.target/powerpc/mmx-pcmpgtw-1.c: Likewise.
* gcc.target/powerpc/mmx-pmaddwd-1.c: Likewise.
* gcc.target/powerpc/mmx-pmulhw-1.c: Likewise.
* gcc.target/powerpc/mmx-pmullw-1.c: Likewise.
* gcc.target/powerpc/mmx-pslld-1.c: Likewise.
* gcc.target/powerpc/mmx-psllw-1.c: Likewise.
* gcc.target/powerpc/mmx-psrad-1.c: Likewise.
* gcc.target/powerpc/mmx-psraw-1.c: Likewise.
* gcc.target/powerpc/mmx-psrld-1.c: Likewise.
* gcc.target/powerpc/mmx-psrlw-1.c: Likewise.
* gcc.target/powerpc/mmx-psubb-2.c: Likewise.
* gcc.target/powerpc/mmx-psubd-2.c: Likewise.
* gcc.target/powerpc/mmx-psubsb-1.c: Likewise.
* gcc.target/powerpc/mmx-psubsw-1.c: Likewise.
* gcc.target/powerpc/mmx-psubusb-1.c: Likewise.
* gcc.target/powerpc/mmx-psubusw-1.c: Likewise.
* gcc.target/powerpc/mmx-psubw-2.c: Likewise.
* gcc.target/powerpc/mmx-punpckhbw-1.c: Likewise.
* gcc.target/powerpc/mmx-punpckhdq-1.c: Likewise.
* gcc.target/powerpc/mmx-punpckhwd-1.c: Likewise.
* gcc.target/powerpc/mmx-punpcklbw-1.c: Likewise.
* gcc.target/powerpc/mmx-punpckldq-1.c: Likewise.
* gcc.target/powerpc/mmx-punpcklwd-1.c: Likewise.
* gcc.target/powerpc/pr37191.c: Likewise.
* gcc.target/powerpc/sse-addps-1.c: Likewise.
* gcc.target/powerpc/sse-addss-1.c: Likewise.
* gcc.target/powerpc/sse-andnps-1.c: Likewise.
* gcc.target/powerpc/sse-andps-1.c: Likewise.
* gcc.target/powerpc/sse-cmpss-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpi16ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpi32ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpi32x2ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpi8ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpspi16-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpspi8-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpu16ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtpu8ps-1.c: Likewise.
* gcc.target/powerpc/sse-cvtsi2ss-1.c: Likewise.
* gcc.target/powerpc/sse-cvtsi2ss-2.c: Likewise.
* gcc.target/powerpc/sse-cvtss2si-1.c: Likewise.
* gcc.target/powerpc/sse-cvtss2si-2.c: Likewise.
* gcc.target/powerpc/sse-cvttss2si-1.c: Likewise.
* gcc.target/powerpc/sse-cvttss2si-2.c: Likewise.
* gcc.target/powerpc/sse-divps-1.c: Likewise.
* gcc.target/powerpc/sse-divss-1.c: Likewise.
* gcc.target/powerpc/sse-maxps-1.c: Likewise.
* gcc.target/powerpc/sse-maxps-2.c: Likewise.
* gcc.target/powerpc/sse-maxss-1.c: Likewise.
* gcc.target/powerpc/sse-minps-1.c: Likewise.
* gcc.target/powerpc/sse-minps-2.c: Likewise.
* gcc.target/powerpc/sse-minss-1.c: Likewise.
* gcc.target/powerpc/sse-movaps-1.c: Likewise.
* gcc.target/powerpc/sse-movaps-2.c: Likewise.
* gcc.target/powerpc/sse-movhlps-1.c: Likewise.
* gcc.target/powerpc/sse-movhps-1.c: Likewise.
* gcc.target/powerpc/sse-movhps-2.c: Likewise.
* gcc.target/powerpc/sse-movlhps-1.c: Likewise.
* gcc.target/powerpc/sse-movlps-1.c: Likewise.
* gcc.target/powerpc/sse-movlps-2.c: Likewise.
* gcc.target/powerpc/sse-movmskb-1.c: Likewise.
* gcc.target/powerpc/sse-movmskps-1.c: Likewise.
* gcc.target/powerpc/sse-movss-1.c: Likewise.
* gcc.target/powerpc/sse-movss-2.c: Likewise.
* gcc.target/powerpc/sse-movss-3.c: Likewise.
* gcc.target/powerpc/sse-mulps-1.c: Likewise.
* gcc.target/powerpc/sse-mulss-1.c: Likewise.
* gcc.target/powerpc/sse-orps-1.c: Likewise.
* gcc.target/powerpc/sse-pavgw-1.c: Likewise.
* gcc.target/powerpc/sse-pmaxsw-1.c: Likewise.
* gcc.target/powerpc/sse-pmaxub-1.c: Likewise.
* gcc.target/powerpc/sse-pminsw-1.c: Likewise.
* gcc.target/powerpc/sse-pminub-1.c: Likewise.
* gcc.target/powerpc/sse-pmulhuw-1.c: Likewise.
* gcc.target/powerpc/sse-psadbw-1.c: Likewise.
* gcc.target/powerpc/sse-rcpps-1.c: Likewise.
* gcc.target/powerpc/sse-rsqrtps-1.c: Likewise.
* gcc.target/powerpc/sse-shufps-1.c: Likewise.
* gcc.target/powerpc/sse-sqrtps-1.c: Likewise.
* gcc.target/powerpc/sse-subps-1.c: Likewise.
* gcc.target/powerpc/sse-subss-1.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-1.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-2.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-3.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-4.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-5.c: Likewise.
* gcc.target/powerpc/sse-ucomiss-6.c: Likewise.
* gcc.target/powerpc/sse-unpckhps-1.c: Likewise.
* gcc.target/powerpc/sse-unpcklps-1.c: Likewise.
* gcc.target/powerpc/sse-xorps-1.c: Likewise.
* gcc.target/powerpc/sse2-addpd-1.c: Likewise.
* gcc.target/powerpc/sse2-addsd-1.c: Likewise.
* gcc.target/powerpc/sse2-andnpd-1.c: Likewise.
* gcc.target/powerpc/sse2-andpd-1.c: Likewise.
* gcc.target/powerpc/sse2-cmppd-1.c: Likewise.
* gcc.target/powerpc/sse2-cmpsd-1.c: Likewise.
* gcc.target/powerpc/sse2-comisd-1.c: Likewise.
* gcc.target/powerpc/sse2-comisd-2.c: Likewise.
* gcc.target/powerpc/sse2-comisd-3.c: Likewise.
* gcc.target/powerpc/sse2-comisd-4.c: Likewise.
* gcc.target/powerpc/sse2-comisd-5.c: Likewise.
* gcc.target/powerpc/sse2-comisd-6.c: Likewise.
* gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtdq2ps-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise.
* gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsi2sd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvtsi2sd-2.c: Likewise.
* gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttps2dq-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise.
* gcc.target/powerpc/sse2-cvttsd2si-2.c: Likewise.
* gcc.target/powerpc/sse2-divpd-1.c: Likewise.
* gcc.target/powerpc/sse2-divsd-1.c: Likewise.
* gcc.target/powerpc/sse2-maxpd-1.c: Likewise.
* gcc.target/powerpc/sse2-maxsd-1.c: Likewise.
* gcc.target/powerpc/sse2-minpd-1.c: Likewise.
* gcc.target/powerpc/sse2-minsd-1.c: Likewise.
* gcc.target/powerpc/sse2-mmx.c: Likewise.
* gcc.target/powerpc/sse2-movhpd-1.c: Likewise.
* gcc.target/powerpc/sse2-movhpd-2.c: Likewise.
* gcc.target/powerpc/sse2-movlpd-1.c: Likewise.
* gcc.target/powerpc/sse2-movlpd-2.c: Likewise.
* gcc.target/powerpc/sse2-movmskpd-1.c: Likewise.
* gcc.target/powerpc/sse2-movq-1.c: Likewise.
* gcc.target/powerpc/sse2-movq-2.c: Likewise.
* gcc.target/powerpc/sse2-movq-3.c: Likewise.
* gcc.target/powerpc/sse2-movsd-1.c: Likewise.
* gcc.target/powerpc/sse2-movsd-2.c: Likewise.
* gcc.target/powerpc/sse2-movsd-3.c: Likewise.
* gcc.target/powerpc/sse2-mulpd-1.c: Likewise.
* gcc.target/powerpc/sse2-mulsd-1.c: Likewise.
* gcc.target/powerpc/sse2-orpd-1.c: Likewise.
* gcc.target/powerpc/sse2-packssdw-1.c: Likewise.
* gcc.target/powerpc/sse2-packsswb-1.c: Likewise.
* gcc.target/powerpc/sse2-packuswb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddd-1.c: Likewise.
* gcc.target/powerpc/sse2-paddq-1.c: Likewise.
* gcc.target/powerpc/sse2-paddsb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddsw-1.c: Likewise.
* gcc.target/powerpc/sse2-paddusb-1.c: Likewise.
* gcc.target/powerpc/sse2-paddusw-1.c: Likewise.
* gcc.target/powerpc/sse2-paddw-1.c: Likewise.
* gcc.target/powerpc/sse2-pand-1.c: Likewise.
* gcc.target/powerpc/sse2-pandn-1.c: Likewise.
* gcc.target/powerpc/sse2-pavgb-1.c: Likewise.
* gcc.target/powerpc/sse2-pavgw-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpeqb-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpeqd-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpeqw-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpgtb-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpgtd-1.c: Likewise.
* gcc.target/powerpc/sse2-pcmpgtw-1.c: Likewise.
* gcc.target/powerpc/sse2-pextrw.c: Likewise.
* gcc.target/powerpc/sse2-pinsrw.c: Likewise.
* gcc.target/powerpc/sse2-pmaddwd-1.c: Likewise.
* gcc.target/powerpc/sse2-pmaxsw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmaxub-1.c: Likewise.
* gcc.target/powerpc/sse2-pminsw-1.c: Likewise.
* gcc.target/powerpc/sse2-pminub-1.c: Likewise.
* gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise.
* gcc.target/powerpc/sse2-pmulhuw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmulhw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmullw-1.c: Likewise.
* gcc.target/powerpc/sse2-pmuludq-1.c: Likewise.
* gcc.target/powerpc/sse2-por-1.c: Likewise.
* gcc.target/powerpc/sse2-psadbw-1.c: Likewise.
* gcc.target/powerpc/sse2-pshufd-1.c: Likewise.
* gcc.target/powerpc/sse2-pshufhw-1.c: Likewise.
* gcc.target/powerpc/sse2-pshuflw-1.c: Likewise.
* gcc.target/powerpc/sse2-pslld-1.c: Likewise.
* gcc.target/powerpc/sse2-pslld-2.c: Likewise.
* gcc.target/powerpc/sse2-pslldq-1.c: Likewise.
* gcc.target/powerpc/sse2-psllq-1.c: Likewise.
* gcc.target/powerpc/sse2-psllq-2.c: Likewise.
* gcc.target/powerpc/sse2-psllw-1.c: Likewise.
* gcc.target/powerpc/sse2-psllw-2.c: Likewise.
* gcc.target/powerpc/sse2-psrad-1.c: Likewise.
* gcc.target/powerpc/sse2-psrad-2.c: Likewise.
* gcc.target/powerpc/sse2-psraw-1.c: Likewise.
* gcc.target/powerpc/sse2-psraw-2.c: Likewise.
* gcc.target/powerpc/sse2-psrld-1.c: Likewise.
* gcc.target/powerpc/sse2-psrld-2.c: Likewise.
* gcc.target/powerpc/sse2-psrldq-1.c: Likewise.
* gcc.target/powerpc/sse2-psrlq-1.c: Likewise.
* gcc.target/powerpc/sse2-psrlq-2.c: Likewise.
* gcc.target/powerpc/sse2-psrlw-1.c: Likewise.
* gcc.target/powerpc/sse2-psrlw-2.c: Likewise.
* gcc.target/powerpc/sse2-psubb-1.c: Likewise.
* gcc.target/powerpc/sse2-psubd-1.c: Likewise.
* gcc.target/powerpc/sse2-psubq-1.c: Likewise.
* gcc.target/powerpc/sse2-psubsb-1.c: Likewise.
* gcc.target/powerpc/sse2-psubsw-1.c: Likewise.
* gcc.target/powerpc/sse2-psubusb-1.c: Likewise.
* gcc.target/powerpc/sse2-psubusw-1.c: Likewise.
* gcc.target/powerpc/sse2-psubw-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckhbw-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckhdq-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckhqdq-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckhwd-1.c: Likewise.
* gcc.target/powerpc/sse2-punpcklbw-1.c: Likewise.
* gcc.target/powerpc/sse2-punpckldq-1.c: Likewise.
* gcc.target/powerpc/sse2-punpcklqdq-1.c: Likewise.
* gcc.target/powerpc/sse2-punpcklwd-1.c: Likewise.
* gcc.target/powerpc/sse2-pxor-1.c: Likewise.
* gcc.target/powerpc/sse2-shufpd-1.c: Likewise.
* gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise.
* gcc.target/powerpc/sse2-subpd-1.c: Likewise.
* gcc.target/powerpc/sse2-subsd-1.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-1.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-2.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-3.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-4.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-5.c: Likewise.
* gcc.target/powerpc/sse2-ucomisd-6.c: Likewise.
* gcc.target/powerpc/sse2-unpckhpd-1.c: Likewise.
* gcc.target/powerpc/sse2-unpcklpd-1.c: Likewise.
* gcc.target/powerpc/sse2-xorpd-1.c: Likewise.
* gcc.target/powerpc/sse3-addsubpd.c: Likewise.
* gcc.target/powerpc/sse3-addsubps.c: Likewise.
* gcc.target/powerpc/sse3-haddpd.c: Likewise.
* gcc.target/powerpc/sse3-haddps.c: Likewise.
* gcc.target/powerpc/sse3-hsubpd.c: Likewise.
* gcc.target/powerpc/sse3-hsubps.c: Likewise.
* gcc.target/powerpc/sse3-lddqu.c: Likewise.
* gcc.target/powerpc/sse3-movddup.c: Likewise.
* gcc.target/powerpc/sse3-movshdup.c: Likewise.
* gcc.target/powerpc/sse3-movsldup.c: Likewise.
* gcc.target/powerpc/mmx-packuswb-1.c: Likewise. Also, add
ommitted "-mpower8-vector" to dg-options.

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

5 years ago[rs6000] x86 vector intrinsics compatibility: clean-ups for 32bit support
pc [Fri, 26 Oct 2018 17:23:46 +0000 (17:23 +0000)] 
[rs6000] x86 vector intrinsics compatibility: clean-ups for 32bit support

Implement various corrections in the compatibility implementations of the
x86 vector intrinsics found after enabling 32bit mode for the associated
test cases.  (Actual enablement coming in a subsequent patch.)

2018-10-26  Paul A. Clarke  <pc@us.ibm.com>

gcc/ChangeLog:

* config/rs6000/mmintrin.h: Enable 32bit compilation.
* config/rs6000/xmmintrin.h: Likewise.

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

5 years ago libgo: avoid use of 'local' directive in shell script
ian [Fri, 26 Oct 2018 16:58:13 +0000 (16:58 +0000)] 
libgo: avoid use of 'local' directive in shell script

    Avoid declaring shell variables with 'local' (not supported
    on all systems of interest).

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

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

5 years ago libgo: fix improperly mangled linker symbol directive
ian [Fri, 26 Oct 2018 16:53:24 +0000 (16:53 +0000)] 
libgo: fix improperly mangled linker symbol directive

    Fix asm name directive for the C version of log/syslog.syslog_c,
    which didn't get included in the recent name mangling change.

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

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