- 06 Dec, 2018 28 commits
-
-
The testsuite tests for the compatibility implementations of x86 vector intrinsics for "powerpc" had been inadvertently made to PASS without actually running the test code. This patch removes the code which kept the tests from running the actual test code. 2018-12-06 Paul A. Clarke <pc@us.ibm.com> [gcc/testsuite] PR target/88316 * gcc.target/powerpc/bmi-check.h: Remove test for __BUILTIN_CPU_SUPPORTS__, thereby enabling test code to run. * gcc.target/powerpc/bmi2-check.h: Likewise. * gcc.target/powerpc/mmx-check.h: Likewise. * gcc.target/powerpc/sse-check.h: Likewise. * gcc.target/powerpc/sse2-check.h: Likewise. * gcc.target/powerpc/sse3-check.h: Likewise. From-SVN: r266870
Paul A. Clarke committed -
Fix general endian issues found in the test cases for thecompatibility implementations of the x86 vector intrinsics. (The tests had been inadvertently made to PASS without actually running the test code. A later patch fixes this issue.) Additionally, a new <smmintrin.h> is added, as some of the APIs therein are now used by the test cases. It is _not_ a complete implementation of the SSE4 interfaces, only the few "extract" interfaces uses by the tests. 2018-12-06 Paul A. Clarke <pc@us.ibm.com> [gcc] PR target/88316 * config/rs6000/smmintrin.h: New file. * config.gcc: Add smmintrin.h to extra_headers for powerpc*-*-*. [gcc/testsuite] PR target/88316 * gcc.target/powerpc/mmx-packssdw-1.c: Fixes for big-endian. * gcc.target/powerpc/mmx-packsswb-1.c: Likewise. * gcc.target/powerpc/mmx-packuswb-1.c: Likewise. * gcc.target/powerpc/mmx-pmulhw-1.c: Likewise. * gcc.target/powerpc/sse-cvtpi32x2ps-1.c: Likewise. * gcc.target/powerpc/sse-cvtpu16ps-1.c: Likewise. * gcc.target/powerpc/sse-cvtss2si-1.c: Likewise. * gcc.target/powerpc/sse-cvtss2si-2.c: Likewise. * gcc.target/powerpc/sse2-pshufhw-1.c: Likewise. * gcc.target/powerpc/sse2-pshuflw-1.c: Likewise. From-SVN: r266869
Paul A. Clarke committed -
Fix general endian and 32-bit mode issues found in the compatibility implementations of the x86 vector intrinsics when running the associated test suite tests. (The tests had been inadvertently made to PASS without actually running the test code. A later patch fixes this issue.) 2018-12-03 Paul A. Clarke <pc@us.ibm.com> PR target/88316 * config/rs6000/mmintrin.h (_mm_unpackhi_pi8): Fix for big-endian. (_mm_unpacklo_pi8): Likewise. (_mm_mulhi_pi16): Likewise. (_mm_packs_pi16): Fix for big-endian. Use preferred API. (_mm_packs_pi32): Likewise. (_mm_packs_pu16): Likewise. * config/rs6000/xmmintrin.h (_mm_cvtss_si32): Fix for big-endian. (_mm_cvtss_si64): Likewise. (_mm_cvtpi32x2_ps): Likewise. (_mm_shuffle_ps): Likewise. (_mm_movemask_pi8): Likewise. (_mm_mulhi_pu16): Likewise. (_mm_sad_pu8): Likewise. (_mm_sad_pu8): Likewise. (_mm_cvtpu16_ps): Fix for big-endian. Use preferred API. (_mm_cvtpu8_ps): Likewise. (_mm_movemask_ps): Better #else case for big-endian (no functional change). (_mm_shuffle_pi16): Likewise. * config/rs6000/emmintrin.h (_mm_movemask_pd): Fix for big-endian. Better #else case for big-endian (no functional change). (_mm_movemask_epi8): Likewise. (_mm_shufflehi_epi16): Likewise. (_mm_shufflelo_epi16): Likewise. (_mm_shuffle_epi32): Likewise. (_mm_mul_epu32): Fix for big-endian. (_mm_bsrli_si128): Likewise. (_mm_cvtps_pd): Better #else case for big endian. (_mm_mulhi_epi16): Likewise. (_mm_mul_epu32): Likewise. (_mm_slli_si128): Likewise. (_mm_sll_epi16): Likewise. (_mm_sll_epi32): Likewise. (_mm_sra_epi16): Likewise. (_mm_sra_epi32): Likewise. (_mm_srl_epi16): Likewise. (_mm_srl_epi32): Likewise. (_mm_mulhi_epu16): Likewise. (_mm_sad_epu8): Likewise. * config/rs6000/pmmintrin.h (_mm_hadd_ps): Fix for big-endian. (_mm_sub_ps): Likewise. * config/rs6000/mmintrin.h (_mm_cmpeq_pi8): Fix for 32-bit mode. * gcc/config/rs6000/tmmintrin.h (_mm_alignr_epi8): Use ENDIAN macros consistently (no functional changes). (_mm_alignr_pi8): Likewise. From-SVN: r266868
Paul A. Clarke committed -
Deprecating the copy operations because the class has a user-provided destructor turns out to have too many false positives; this patch adjusts -Wdeprecated-copy to only deprecate if the other copy operation is user-provided. To get the earlier behavior, people can explicitly request it with -Wdeprecated-copy-dtor. gcc/c-family/ * c.opt (Wdeprecated-copy-dtor): New. (Wdeprecated-copy): Move to -Wextra. gcc/cp/ * class.c (classtype_has_depr_implicit_copy): Rename from classtype_has_user_copy_or_dtor. * method.c (lazily_declare_fn): Adjust. * decl2.c (cp_warn_deprecated_use): Refer to -Wdeprecated-copy-dtor if deprecation is due to a destructor. From-SVN: r266867
Jason Merrill committed -
This is [intentionally] broken C++ ABI, that was catering for a tool problem that existed in a very old Darwin toolchain. The issue is not present after Darwin7 (using default system tools) so confine the fix to that revision or earlier. 2018-12-06 Iain Sandoe <iain@sandoe.co.uk> PR c++/87380 * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC) Remove; use the default. * config/rs6000/darwin7.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New. From-SVN: r266866
Iain Sandoe committed -
* parser.c (cp_parser_template_name): Check tag_type for none_type. * g++.dg/cpp2a/fn-template19.C: New test. From-SVN: r266865
Marek Polacek committed -
GCC does not export construction vtable symbols from shared libraries. The symbols are marked hidden in the objects; for Darwin that makes them also external (“private_extern” is Darwin’s hidden) which means that they show up in the list of possible symbols for export from libstdc++, and there are sufficiently relaxed match conditions that they reach the exports list. When Darwin’s static linker encounters them it generates a warning that they cannot be exported. This patch prunes them from the list of symbols to be considered, thus eliminating the warnings. No functional Change inended to the library exports. 2018-12-06 Iain Sandoe <iain@sandoe.co.uk> * scripts/make_exports.pl (check names): Don’t try to export construction vtable symbols. From-SVN: r266864
Iain Sandoe committed -
Because darwin system headers use always_inline rather than __always_inline__ the libstdc++ test will fail, even if our headers only use the reserved form of the attribute. Don't test it on Darwin, and assume that testing on other targets will catch any accidental misuses in libstdc++ headers. 2018-12-06 Jonathan Wakely <jwakely@redhat.com> Iain Sandoe <iain@sandoe.co.uk> PR libstdc++/64883 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test always_inline on Darwin. * testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise. * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. * testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise. * testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise. Co-Authored-By: Iain Sandoe <iain@sandoe.co.uk> From-SVN: r266863
Jonathan Wakely committed -
2018-12-06 Vladimir Makarov <vmakarov@redhat.com> PR target/88282 * ira.c (ira_init_register_move_cost): Use info from hard_regno_mode_ok instead of contains_reg_of_mode. * ira-costs.c (contains_reg_of_mode): Don't use cost from bigger hard register class for some fixed hard registers. From-SVN: r266862
Vladimir Makarov committed -
I'd cut-&-paste vect-over-widen-23.c in an attempt to get the target reuirements right, but by doing so carried over an unwanted test for shifts. 2018-12-06 Richard Sandiford <richard.sandiford@arm.com> gcc/testsuite/ * gcc.dg/vect/vect-over-widen-23.c: Remove unwanted line. From-SVN: r266861
Richard Sandiford committed -
The Linux kernel people want a feature that makes GCC pretend some inline assembler code is tiny (while it would think it is huge), so that such code will be inlined essentially always instead of essentially never. This patch lets you say "asm inline" instead of just "asm", with the result that that inline assembler is always counted as minimum cost for inlining. It implements this for C and C++, making "inline" another asm-qualifier (supplementing "volatile" and "goto"). * doc/extend.texi (Using Assembly Language with C): Document asm inline. (Size of an asm): Fix typo. Document asm inline. * gimple-pretty-print.c (dump_gimple_asm): Handle asm inline. * gimple.h (enum gf_mask): Add GF_ASM_INLINE. (gimple_asm_set_volatile): Fix typo. (gimple_asm_inline_p): New. (gimple_asm_set_inline): New. * gimplify.c (gimplify_asm_expr): Propagate the asm inline flag from tree to gimple. * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Compare the gimple_asm_inline_p flag, too. * tree-core.h (tree_base): Document that protected_flag is ASM_INLINE_P in an ASM_EXPR. * tree-inline.c (estimate_num_insns): If gimple_asm_inline_p return a minimum size for an asm. * tree.h (ASM_INLINE_P): New. gcc/c/ * c-parser.c (c_parser_asm_statement): Detect the inline keyword after asm. Pass a flag for it to build_asm_expr. * c-tree.h (build_asm_expr): Update declaration. * c-typeck.c (build_asm_stmt): Add is_inline parameter. Use it to set ASM_INLINE_P. gcc/cp/ * cp-tree.h (finish_asm_stmt): Update declaration. * parser.c (cp_parser_asm_definition): Detect the inline keyword after asm. Pass a flag for it to finish_asm_stmt. * pt.c (tsubst_expr): Pass the ASM_INLINE_P flag to finish_asm_stmt. * semantics.c (finish_asm_stmt): Add inline_p parameter. Use it to set ASM_INLINE_P. gcc/testsuite/ * c-c++-common/torture/asm-inline.c: New testcase. * gcc.dg/asm-qual-2.c: Test asm inline, too. From-SVN: r266860
Segher Boessenkool committed -
PR55681 observes that currently only one qualifier is allowed for inline asm, so that e.g. "volatile asm" is allowed, "const asm" is also okay (with a warning), but "const volatile asm" gives an error. Also "goto" has to be last. This patch changes things so that only "asm-qualifiers" are allowed, that is "volatile" and "goto", in any combination, in any order, but without repetitions. PR inline-asm/55681 * doc/extend.texi (Basic Asm): Update grammar. (Extended Asm): Update grammar. gcc/c/ PR inline-asm/55681 * c-parser.c (c_parser_asm_statement): Update grammar. Allow any combination of volatile and goto, in any order, without repetitions. gcc/cp/ PR inline-asm/55681 * parser.c (cp_parser_asm_definition): Update grammar. Allow any combination of volatile and goto, in any order, without repetitions. gcc/testsuite/ PR inline-asm/55681 * gcc.dg/asm-qual-1.c: Test that "const" and "restrict" are refused. * gcc.dg/asm-qual-2.c: New test, test that asm-qualifiers are allowed in any order, but that duplicates are not allowed. From-SVN: r266859
Segher Boessenkool committed -
PR testsuite/86540 * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Skip the post switch conversion tests on aarch64. * gcc.dg/tree-ssa/pr77445-2.c: Similarly. From-SVN: r266857
Jeff Law committed -
This patch is based on grepping the C++ frontend for %P i.e. diagnostics that refer to a parameter number. It fixes up these diagnostics to highlight the pertinent param where appropriate (and possible), along with various other tweaks, as described in the ChangeLog. gcc/cp/ChangeLog: PR c++/85110 * call.c (conversion_null_warnings): Try to use the location of the expression for the warnings. Add notes showing the parameter of the function decl, where available. (get_fndecl_argument_location): For implicitly-declared functions, use the fndecl location rather than that of the param. (maybe_inform_about_fndecl_for_bogus_argument_init): New function. (convert_like_real): Use it in various places to avoid repetition. (complain_about_bad_argument): Likewise. * cp-tree.h (maybe_inform_about_fndecl_for_bogus_argument_init): New declaration. * decl2.c (check_default_args): Put all diagnostics for the fndecl into a diagnostic group. Use the location of the parameter when complaining about parameters with missing default arguments in preference to that of the fndecl. Attempt to record the location of the first parameter with a default argument and emit a note for the first parameter that's missing one. * typeck.c (convert_arguments): When complaining about parameters with incomplete types, attempt to use the location of the argument. Where available, add a note showing the pertinent parameter in the fndecl. (convert_for_assignment): When complaining about bad conversions at function calls, use the location of the unstripped argument. (convert_for_initialization): When checking for bogus references, add an auto_diagnostic_group, and update the note to use the location of the pertinent parameter, rather than just the callee. gcc/testsuite/ChangeLog: PR c++/85110 * g++.dg/diagnostic/missing-default-args.C: New test. * g++.dg/diagnostic/param-type-mismatch-3.C: New test. * g++.dg/diagnostic/param-type-mismatch.C: Add tests for invalid references and incomplete types. * g++.dg/warn/Wconversion-null-4.C: New test. From-SVN: r266856
David Malcolm committed -
From-SVN: r266854
Jeff Law committed -
2018-12-06 Iain Sandoe <iain@sandoe.co.uk> PR target/78444 * config/i386/darwin.h (STACK_BOUNDARY): Remove macro. * config/i386/i386.c (ix86_compute_frame_layout): Ensure at least 128b stack alignment in non-leaf functions. From-SVN: r266853
Iain Sandoe committed -
PR target/87598 * config/aarch64/aarch64.c (aarch64_print_address_internal): Don't call output_operand_lossage on VOIDmode CONST_INTs. After output_operand_lossage do return false. * gcc.target/aarch64/asm-5.c: New test. From-SVN: r266852
Jakub Jelinek committed -
2018-12-06 Richard Biener <rguenther@suse.de> * df-problems.c (df_rd_local_compute): Use bitmap_release. (df_live_free): Likewise. (df_md_local_compute): Likewise. (df_md_free): Release df_md_scratch bitmap. * loop-invariant.c (calculate_loop_reg_pressure): Use bitmap_release. * sched-deps.c (true_dependency_cache, output_dependency_cache, anti_dependency_cache, control_dependency_cache, spec_dependency_cache): Use bitmap instead of bitmap_head *. * sched-ebb.c (schedule_ebbs_init): Initialize non-GTY dont_calc_deps as bitmap allocated from obstack not GC. (schedule_ebbs_finish): Use bitmap_release. * sched-rgn.c (schedule_insns): Initialize non-GTY not_in_df as bitmap allocated from obstack not GC. Use bitmap_release. * sel-sched.c (_forced_ebb_heads): Remove premature optimization. (sel_region_init): Allocate forced_ebb_heads. (sel_region_finish): Free forced_ebb_heads. From-SVN: r266851
Richard Biener committed -
2018-12-06 Richard Biener <rguenther@suse.de> * bitmap.c (bitmap_head::crashme): Define. * bitmap.h (bitmap_head): Add constexpr default constructor poisoning the obstack member. (bitmap_head::crashme): Declare. (bitmap_release): New function clearing a bitmap and poisoning the obstack member. * gengtype.c (main): Make it recognize CONSTEXPR. * lra-constraints.c (lra_inheritance): Use bitmap_release instead of bitmap_clear. * ira.c (ira): Work around class-memaccess warning. * regrename.c (create_new_chain): Likewise. From-SVN: r266850
Richard Biener committed -
PR tree-optimization/85726 * generic-match-head.c (optimize_successive_divisions_p): New function. * gimple-match-head.c (optimize_successive_divisions_p): Likewise. * match.pd: Don't combine successive divisions if they aren't exact and optimize_successive_divisions_p is false. * gcc.dg/tree-ssa/pr85726-1.c: New test. * gcc.dg/tree-ssa/pr85726-2.c: New test. * gcc.dg/tree-ssa/pr85726-3.c: New test. * gcc.dg/tree-ssa/pr85726-4.c: New test. From-SVN: r266848
Jakub Jelinek committed -
PR fortran/88304 * tree-nested.c (convert_nonlocal_reference_stmt): Remove clobbers for non-local automatic decls. * gfortran.fortran-torture/compile/pr88304.f90: New test. From-SVN: r266847
Jakub Jelinek committed -
2018-12-06 Richard Biener <rguenther@suse.de> PR middle-end/63184 * c-c++-common/pr19807-2.c: Try link only on x86, add xfailed optimized dump scanning. * c-c++-common/pr19807-3.c: Likewise. From-SVN: r266846
Richard Biener committed -
/cp 2018-12-06 Paolo Carlini <paolo.carlini@oracle.com> * decl2.c (grokbitfield): Use DECL_SOURCE_LOCATION in error message; print the type too; fix thinko in INDIRECT_TYPE_P use. /testsuite 2018-12-06 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/parse/bitfield6b.C: New. * g++.dg/parse/bitfield3.C: Test location and type. From-SVN: r266841
Paolo Carlini committed -
2018-12-06 Iain Sandoe <iain@sandoe.co.uk> * lib/c-compat.exp (compat-use-alt-compiler): Handle -fno-diagnostics-show-line-numbers. (compat_setup_dfp): Likewise. From-SVN: r266840
Iain Sandoe committed -
re PR rtl-optimization/85770 (ICE: in lra_eliminate, at lra-eliminations.c:1439 with -march=nano-1000) PR rtl-optimization/85770 * gcc.target/i386/pr85770.c: New test. From-SVN: r266839
Jeff Law committed -
* config/rs6000/aix72.h (ASM_DEFAULT_SPEC): Match Power7 processor default. From-SVN: r266838
David Edelsohn committed -
From-SVN: r266837
GCC Administrator committed -
* dwarf2out.c (field_byte_offset): Remove #ifdef PCC_BITFIELD_TYPE_MATTERS check. From-SVN: r266834
Uros Bizjak committed
-
- 05 Dec, 2018 12 commits
-
-
PR c/87028 * calls.c (get_attr_nonstring_decl): Avoid setting *REF to SSA_NAME_VAR. * gcc/gimple-low.c (lower_stmt): Fold builtin calls here. * gimplify (maybe_fold_stmt): Avoid folding builtin calls. PR c/87028 * c-c++-common/Wstringop-truncation.c: Remove xfails. * gcc.dg/Wstringop-truncation-5.c: New test. * gcc.dg/strcmpopt_1.c: Adjust. * gcc.dg/tree-ssa/pr79697.c: Same. From-SVN: r266833
Jeff Law committed -
This CL adds support of precise stack scan using stack maps to the runtime. The stack maps are generated by the compiler (if supported). Each safepoint is associated with a (real or dummy) landing pad, and its "type info" in the exception table is a pointer to the stack map. When a stack is scanned, the stack map is found by the stack unwinding code by inspecting the exception table (LSDA). For precise stack scan we need to unwind the stack. There are three cases: - If a goroutine is scanning its own stack, it can unwind the stack and scan the frames. - If a goroutine is scanning another, stopped, goroutine, it cannot directly unwind the target stack. We handle this by switching (runtime.gogo) to the target g, letting it unwind and scan the stack, and switch back. - If we are scanning a goroutine that is blocked in a syscall, we send a signal to the target goroutine's thread, and let the signal handler unwind and scan the stack. Extra care is needed as this races with enter/exit syscall. Currently this is only implemented on linux. Reviewed-on: https://go-review.googlesource.com/c/140518 From-SVN: r266832
Ian Lance Taylor committed -
2018-12-05 Iain Sandoe <iain@sandoe.co.uk> * configure.ac (NCN_STRICT_CHECK_TOOLS): Check otool. (ACX_CHECK_INSTALLED_TARGET_TOOL): Likewise (GCC_TARGET_TOOL): Likewise. * Makefile.tpl (HOST_EXPORTS): Add OTOOL, OTOOL_FOR_TARGET. (BASE_TARGET_EXPORTS): OTOOL, export OTOOL_FOR_TARGET. OTOOL, OTOOL_FOR_TARGET: New substitutions. (EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS): Add OTOOL. * configure: Regenerate. * Makefile.in: Likewise. gcc/ * configure.ac (gcc_cv_otool): Set. * configure: Regenerate. From-SVN: r266831
Iain Sandoe committed -
* config/i386/cygming.h (PCC_BITFIELD_TYPE_MATTERS): Remove. (GROUP_BITFIELDS_BY_ALIGN): Ditto. From-SVN: r266830
Uros Bizjak committed -
As Jakub pointed out, if we narrow a plus, minus or mult operation based on the number of bits that consumers need, we have to convert a signed operation to an unsigned one in order to avoid new undefined behaviour. This patch does that and generalises vect_convert_input and vect_recog_over_widening_pattern to cope with the extra casts. (The changes to both functions are covered by existing tests.) 2018-12-03 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR tree-optimization/88064 * tree-vect-patterns.c (vect_convert_input): Convert the result of an existing cast if it has the right width but the wrong sign. Do not test the signedness of the required result when considering whether to split an existing cast; instead split to a type with the same signedness as the source of the cast, then convert it to the opposite signedness where necessary. (vect_recog_over_widening_pattern): Handle sign changes between the final PLUS_EXPR and the RSHIFT_EXPR. (vect_recog_average_pattern): Use an unsigned operation when truncating an addition, subtraction or multiplication. Cast the result back to the "real" signedness before promoting. gcc/testsuite/ PR tree-optimization/88064 * gcc.dg/vect/vect-over-widen-23.c: New test. From-SVN: r266829
Richard Sandiford committed -
When debugging a failing test, I typically invoke DejaGnu at verbosity level 2 (via RUNTESTFLAGS="-v -v dg.exp=something"), so that DejaGnu prints the command line used to invoke the compiler; specifically these two sites: target.exp "Invoking the compiler as " remote.exp "Executing on $hostname" which are both verbosity level 2. Unfortunately I run into an O(n^2) issue with logging from process-message: verbose "process-message:\n${dg-messages}" 2 where, as each message each processed, it emits the state of dg-messages, containing the new message and all messages so far, leading to exponentially-increasing output at level 2 as more test messages are added. This patch papers over the problem by moving the problematic message to verbosity level 3. gcc/testsuite/ChangeLog: * lib/gcc-dg.exp (process-message): Change verbosity level of "verbose" from 2 to 3. (dg-locus): Likewise. From-SVN: r266828
David Malcolm committed -
2018-12-05 Richard Biener <rguenther@suse.de> PR middle-end/63184 * c-c++-common/pr19807-2.c: New testcase. * c-c++-common/pr19807-3.c: Likewise. From-SVN: r266827
Richard Biener committed -
From-SVN: r266826
Paul Koning committed -
PR testsuite/88208 * gcc.target/sparc/attr-aligned.c (MAXALIGN) [__sparcv9 || __arch64__]: Define. From-SVN: r266825
Rainer Orth committed -
* gcc.target/sparc/20181129-1.c: Compile with -std=c99. * gcc.target/sparc/20181129-2.c: Likewise. From-SVN: r266824
Rainer Orth committed -
re PR tree-optimization/86637 (ICE: tree check: expected block, have <invalid tree code> in inlining_chain_to_json, at optinfo-emit-json.cc:293) 2018-12-05 Richard Biener <rguenther@suse.de> PR tree-optimization/86637 * tree-vectorizer.c (pass_slp_vectorize::execute): Reset vect_location at the end. From-SVN: r266821
Richard Biener committed -
re PR tree-optimization/87360 (ICE in remove_redundant_iv_tests at gcc/tree-ssa-loop-ivcanon.c:571 since r255467) PR tree-optimization/87360 * gimple-loop-jam.c (tree_loop_unroll_and_jam): On failure to analyze data dependencies, don't return false, just continue. Formatting fixes. (merge_loop_tree, bb_prevents_fusion_p, unroll_jam_possible_p, fuse_loops): Formatting fixes. * g++.dg/opt/pr87360.C: New test. * gfortran.dg/pr87360.f90: New test. From-SVN: r266820
Jakub Jelinek committed
-