1. 30 Oct, 2018 3 commits
  2. 29 Oct, 2018 25 commits
    • Fix ICE in get_substring_ranges_for_loc on __FILE__ (PR c++/87721) · 3d0a5393
      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.
      
      From-SVN: r265611
      David Malcolm committed
    • C++: simplify output from suggest_alternatives_for · 7e2de6df
      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.
      
      From-SVN: r265610
      David Malcolm committed
    • Folding and check_function_arguments · b2bf438c
      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".
      
      From-SVN: r265609
      David Malcolm committed
    • decl.c (create_array_type_for_decl): Add location_t parameter and use it. · ebdb73c0
      /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.
      
      From-SVN: r265608
      Paolo Carlini committed
    • config.gcc (xstormy16-*-elf): Set tm_d_file. · 64ac3c33
      gcc/ChangeLog:
      
      2018-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* config.gcc (xstormy16-*-elf): Set tm_d_file.
      
      From-SVN: r265607
      Iain Buclaw committed
    • ux.texi: move "Quoting" and "Fix-it hints" from DiagnosticsGuidelines wiki page · 90938ef8
      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.
      
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      Co-Authored-By: Martin Sebor <msebor@redhat.com>
      
      From-SVN: r265606
      David Malcolm committed
    • re PR c++/87469 (ice in record_estimate, at tree-ssa-loop-niter.c:3271) · 5efd9f17
      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.
      
      From-SVN: r265605
      Kugan Vivekanandarajah committed
    • [rs6000] Remove inaccurate comment · 56950844
      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.
      
      From-SVN: r265603
      Paul A. Clarke committed
    • * doc/rtl.texi (CONST_WIDE_INT_ELT): Give correct macro name. · 74ec8580
      From-SVN: r265602
      Paul Koning committed
    • [rs6000] Consistently use '__vector' instead of 'vector' · 8505bf12
      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.
      
      From-SVN: r265601
      Paul A. Clarke committed
    • PR c++/87594 - constexpr rejects-valid with range-based for. · a385474c
      	* constexpr.c (potential_constant_expression_1): If the condition
      	can't be evaluated, return true.
      
      	* g++.dg/cpp1y/constexpr-loop8.C: New test.
      
      From-SVN: r265600
      Marek Polacek committed
    • compiler: pass a single flags argument to Backend::function · a4e30bef
          
          Reviewed-on: https://go-review.googlesource.com/c/145319
      
      	* go-gcc.cc (Gcc_backend::function): Change to use a single flags
      	parameter.
      
      From-SVN: r265599
      Ian Lance Taylor committed
    • compiler: add location_file · 943cc2fb
          
          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.
      
      From-SVN: r265598
      Ian Lance Taylor committed
    • re PR tree-optimization/87785 (ICE in dr_misalignment, at tree-vectorizer.h:1245… · 266ef361
      re PR tree-optimization/87785 (ICE in dr_misalignment, at tree-vectorizer.h:1245 on 454.calculix with -Ofast and -flto)
      
      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.
      
      From-SVN: r265596
      Richard Biener committed
    • Extract VXWORKS_NET_LIBS_RTP from VXWORKS_LIBS_RTP · bca81bd2
      2018-10-29  Olivier Hainque  <hainque@adacore.com>
      
      	* VXWORKS_NET_LIBS_RTP: New macro, network part of VXWORKS_LIBS_RTP.
      
      From-SVN: r265595
      Olivier Hainque committed
    • Introduce notion of VXWORKS_PERSONALITY · 3b727799
      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.
      
      From-SVN: r265594
      Olivier Hainque committed
    • re PR tree-optimization/87790 (ICE in vect_get_vec_def_for_operand_1, at tree-vect-stmts.c:1475) · 6c7e3b1f
      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.
      
      From-SVN: r265593
      Richard Biener committed
    • [OpenACC] Support C++ "this" in OpenACC directives · 87a5ccfb
      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.
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      
      From-SVN: r265591
      Joseph Myers committed
    • re PR tree-optimization/87785 (ICE in dr_misalignment, at tree-vectorizer.h:1245… · 5d8c32cb
      re PR tree-optimization/87785 (ICE in dr_misalignment, at tree-vectorizer.h:1245 on 454.calculix with -Ofast and -flto)
      
      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.
      
      From-SVN: r265588
      Richard Biener committed
    • GCOV: introduce --json-format. · c8fda30f
      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.
      
      From-SVN: r265587
      Martin Liska committed
    • Fix mingw-w64 Ada native bootstrap (PR81878). · d4eb0305
      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 ../../.
      
      From-SVN: r265583
      Tamar Christina committed
    • combine: Fix various shortcomings in make_more_copies (PR87701, PR87780) · aef7647f
      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.
      
      From-SVN: r265582
      Segher Boessenkool committed
    • Daily bump. · 6679694a
      From-SVN: r265581
      GCC Administrator committed
    • gimplefe-30.c: New test. · 64f7ea7c
      
      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.
      
      From-SVN: r265578
      Kugan Vivekanandarajah committed
  3. 28 Oct, 2018 5 commits
    • 48101_neg.cc: Remove dg-prune-output 'std' from regex pattern for versioned namespace... · 881eaae6
      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.
      
      From-SVN: r265575
      François Dumont committed
    • Add D front-end, libphobos library, and D2 testsuite. · b4c522fa
      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.
      
      From-SVN: r265573
      Iain Buclaw committed
    • re PR fortran/54613 ([F08] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=) · 01ce9e31
      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.
      
      From-SVN: r265570
      Thomas Koenig committed
    • darwin - fix powerpc-darwin stack alignments · b10fb078
      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.
      
      From-SVN: r265568
      Iain Sandoe committed
    • Daily bump. · 01497ce7
      From-SVN: r265564
      GCC Administrator committed
  4. 27 Oct, 2018 3 commits
  5. 26 Oct, 2018 4 commits
    • powerpc: Fix typos in the manual · e6c57241
      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.
      
      From-SVN: r265548
      Tulio Magno Quites Machado Filho committed
    • rs6000-string.c (expand_strncmp_gpr_sequence): Change to a shorter sequence with fewer branches. · ef4adf1f
      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.
      
      From-SVN: r265546
      Aaron Sawdey committed
    • sse-addss-1.c: Call abort under DEBUG also; formatting cleanup. · ffd0bbe1
      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.
      
      
      Co-Authored-By: Jinsong Ji <jji@us.ibm.com>
      
      From-SVN: r265545
      Bill Schmidt committed
    • [rs6000] Add tests for compatible implementations of x86 SSSE3 intrinsics · f5c2ba6d
      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.
      
      From-SVN: r265544
      Paul A. Clarke committed