<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/82944>82944</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Abnormal termination of compilation without the error message for wrong initialization for pointer components of derived types
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
yus3710-fj
</td>
</tr>
</table>
<pre>
This is an issue from Fujitsu testsuite.
Flang-new terminates abnormally when compiling pointer components initialized with an array pointer.
According to Fortran 2018 Standard, the component which has POINTER attribute can't be initialized with a pointer.
> C766 A designator that is an initial-data-target shall designate a nonallocatable, noncoindexed variable that has the TARGET and SAVE attributes and does not have a vector subscript. Every subscript, section subscript, substring starting point, and substring ending point in designator shall be a constant expression.
The following are the test program and the compilation results of flang-new and gfortran.
(I believe this program is incorrect, but gfortran-13.2 seems to accept it.)
```fortran
! test.f90
type ty1
integer::tar
integer,pointer::ta(:)
end type
type(ty1),target::obj
type ty
integer,pointer::ptr3(:)=>obj%ta(2:4)
integer,pointer::ptr4=>obj%ta(2)
end type ty
allocate(obj%ta(5))
obj%ta = [1,2,3,4,5]
end
```
```console
$ flang-new -v test.f90
flang-new version 19.0.0git (https://github.com/llvm/llvm-project.git db8b76dbb07d4053a4e44baf1518c9ea0d84c844)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /path/to/install/bin
Found candidate GCC installation: /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12
Selected GCC installation: /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
"/path/to/install/bin/flang-new" -fc1 -triple aarch64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu generic -target-feature +outline-atomics -target-feature +v8a -target-feature +fp-armv8 -target-feature +neon -mframe-pointer=non-leaf -o /tmp/test-2173b0.o -x f95-cpp-input test.f90
flang-new: /path/to/llvm-project/llvm/include/llvm/Support/Casting.h:662: decltype(auto) llvm::dyn_cast(From*) [with To = mlir::omp::OutlineableOpenMPOpInterface; From = mlir::Operation]: Assertion `detail::isPresent(Val) && "dyn_cast on a non-existent value"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /path/to/install/bin/flang-new -fc1 -triple aarch64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu generic -target-feature +outline-atomics -target-feature +v8a -target-feature +fp-armv8 -target-feature +neon -mframe-pointer=non-leaf -o /tmp/test-38fefe.o -x f95-cpp-input test.f90
#0 0x0000ffffa8076dc8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/path/to/install/lib/libLLVMSupport.so.19git+0x1a6dc8)
#1 0x0000ffffa8074cf8 llvm::sys::RunSignalHandlers() (/path/to/install/lib/libLLVMSupport.so.19git+0x1a4cf8)
#2 0x0000ffffa8074e7c SignalHandler(int) Signals.cpp:0:0
#3 0x0000ffffaaa407a0 (linux-vdso.so.1+0x7a0)
#4 0x0000ffffa7ac6274 raise (/lib64/libc.so.6+0x36274)
#5 0x0000ffffa7ab0a2c abort (/lib64/libc.so.6+0x20a2c)
#6 0x0000ffffa7abfba0 __assert_fail_base (/lib64/libc.so.6+0x2fba0)
#7 0x0000ffffa7abfc18 __assert_perror_fail (/lib64/libc.so.6+0x2fc18)
#8 0x0000ffff9ef1eb78 (anonymous namespace)::FIROpConversion<fir::cg::XEmboxOp>::getBlockForAllocaInsert(mlir::Operation*) CodeGen.cpp:0:0
#9 0x0000ffff9ef1eb24 (anonymous namespace)::FIROpConversion<fir::cg::XEmboxOp>::getBlockForAllocaInsert(mlir::Operation*) CodeGen.cpp:0:0
#10 0x0000ffff9ef1eb24 (anonymous namespace)::FIROpConversion<fir::cg::XEmboxOp>::getBlockForAllocaInsert(mlir::Operation*) CodeGen.cpp:0:0
#11 0x0000ffff9ef2da94 LoadOpConversion::matchAndRewrite(fir::LoadOp, fir::LoadOpAdaptor, mlir::ConversionPatternRewriter&) const crtstuff.c:0:0
#12 0x0000ffff9ef238d4 mlir::ConvertOpToLLVMPattern<fir::LoadOp>::matchAndRewrite(mlir::Operation*, llvm::ArrayRef<mlir::Value>, mlir::ConversionPatternRewriter&) const crtstuff.c:0:0
#13 0x0000ffff98c35018 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const (/path/to/install/lib/libMLIRTransformUtils.so.19git+0x35018)
#14 0x0000ffff98b99b28 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>) (/path/to/install/lib/libMLIRRewrite.so.19git+0x9b28)
#15 0x0000ffff98c405b0 (anonymous namespace)::OperationLegalizer::legalize(mlir::Operation*, mlir::ConversionPatternRewriter&) DialectConversion.cpp:0:0
#16 0x0000ffff98c42158 (anonymous namespace)::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>, llvm::function_ref<void (mlir::Diagnostic&)>) DialectConversion.cpp:0:0
#17 0x0000ffff98c437a4 mlir::applyFullConversion(mlir::Operation*, mlir::ConversionTarget const&, mlir::FrozenRewritePatternSet const&) (/path/to/install/lib/libMLIRTransformUtils.so.19git+0x437a4)
#18 0x0000ffff9ef1ad14 (anonymous namespace)::FIRToLLVMLowering::runOnOperation() CodeGen.cpp:0:0
#19 0x0000ffffa4b9b5b0 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/path/to/install/lib/libMLIRPass.so.19git+0x1b5b0)
#20 0x0000ffffa4b9b7d8 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/path/to/install/lib/libMLIRPass.so.19git+0x1b7d8)
#21 0x0000ffffa4b9bdc8 mlir::PassManager::run(mlir::Operation*) (/path/to/install/lib/libMLIRPass.so.19git+0x1bdc8)
#22 0x0000ffffa8fb0718 Fortran::frontend::CodeGenAction::generateLLVMIR() (/path/to/install/lib/libflangFrontend.so.19git+0x250718)
#23 0x0000ffffa8fb2d58 Fortran::frontend::CodeGenAction::executeAction() (/path/to/install/lib/libflangFrontend.so.19git+0x252d58)
#24 0x0000ffffa8ef2614 Fortran::frontend::FrontendAction::execute() (/path/to/install/lib/libflangFrontend.so.19git+0x192614)
#25 0x0000ffffa8ee6464 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/path/to/install/lib/libflangFrontend.so.19git+0x186464)
#26 0x0000ffffa9465020 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/path/to/install/lib/libflangFrontendTool.so.19git+0x5020)
#27 0x0000000000405eb8 fc1_main(llvm::ArrayRef<char const*>, char const*) (/path/to/install/bin/flang-new+0x405eb8)
#28 0x0000000000404ae0 main (/path/to/install/bin/flang-new+0x404ae0)
#29 0x0000ffffa7ab4384 __libc_start_main (/lib64/libc.so.6+0x24384)
#30 0x0000000000404d28 _start (/path/to/install/bin/flang-new+0x404d28)
flang-new: error: unable to execute command: Aborted (core dumped)
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 19.0.0git (https://github.com/llvm/llvm-project.git db8b76dbb07d4053a4e44baf1518c9ea0d84c844)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /path/to/install/bin
flang-new: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang-new: note: diagnostic msg: /tmp/test-7d7ab4
flang-new: note: diagnostic msg: /tmp/test-7d7ab4.sh
flang-new: note: diagnostic msg:
********************
```
```console
$ gfortran-13.2 test.f90
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWltv2zoS_jXKCyFDomRLfsiD48Q9AdKTIPHp7ltAUSObrUQKJOUk59cvhpJsybm3xWIXu0Wa2LzMfHPnjRkjNhLg1JueedPzE9bYrdKnT42JkjDwi-8nmcqfTtdbYYgwhEkijGmAFFpVZNV8F9Y0xIKxphEWJl5w7gWL9veqZHLjS3ggFnQlJLNgCMuk0hUryyfysAVJuKpqUQq5IbUS0oJ2LUqCtIYIKaxgpfgbcvIg7BbZM63ZUz-447fgXOkciVhFVkpbzSShQZiSO8tkznTu0SWxWzgQJw9bwbdkywy5ub78c31xS5i1WmSNBcKZ9GhiSQYvQDji3f2OLsgymc3IguSAGmVWaWK3zPZaa-n4ObPMt0xvwBKzZWW5Hw-EEakkK0vFmWVZCQhaKsmVkDk8Qk52TAvsaAkjdpRpvbj9crEmTObkbvHt4iCHcW25AkOkwvE75LEDjthMkxmuRW0n5GIH-unQgGwNcCuUPGpsMmM1qtlYpu3eaNiHnA79IPN9LxFyqJNW6AyRcCWNZdISeKw1GCOUHCl1vQVSqLJUD0iMaXDiorORWquNZpVj29tVlMxh1mCa0hqiClLsXRAHborWNXomNL0kGZQCdkhZmD1V9HXJldbAnXBZY_eT_TCaUGIAKoPexjiH2hJhJx6djzxiFrQ_3byeZ-gEmBTzoG2xTzUQ-xS239CzNqC9aOFFC8v0uJUuO9_r-z2a4seeM6A2nmo4UPZoirTp3KPL1uvaqSr7PmLffiGvMKqtjg6sonMvukACdOoQUC9axB6dk3eJxC_MPca-B9MFAoowmDB1snRz-nbiRefEm56FHl1Sjy4jjy5jjy6n3vR8T_3ILEdf0RdVCb2V4oHr-Lsjkx26dqDRa0k4nwSTYCMs8Wi6tbY2Tlcrj642wm6bbMJV5dFVWe76P36t1XfgdoKz8izNklmeZUGSx8E0YjHEccaKcBqmfA4syNOYp3G8l3zd25Iwpvl2FvuN_CHVg_RLIZtHfyObPoY0sJxUKocSh9fKiMe26xKjrywhPxdoIuLRVc3s1qMrqzy6Em23R1eZ6Lx3pRqZY3bMRY4J68tySbphLvQ6KgrTxUojpQ3nvlWqNGD9kGKrUtjZGI16EFk7xqOrXg4N-ZbZVgyPrkLasr6DEriF_N_Jc7kXtGpKK3BmtCATLzrz4qCaxUfI3hpEPErf1C9d7b3Ko5T4BQ-Jb7WoS3jdxMSHSlhfZd9xgiqV9nPBNlIZK7ghfqXBxZBQ0nceQGrBiV8L7pewg5LQ9oswfi2AdHXJ53VDNiBB4-CurQBmGw3Eo2eqsaWQ4DOrKsfm-ZBdyl5qLmqf6WqXvtQnQUniV4VmFfj7xHEulfRLYAXxFZrZVjX-BmN9GiZRFkwU8R9JMZ_6vK59IevGvhatL_j4MBAP4SkkL5scDg13TV0rjSOWzGDdm2y9aDGbYeYjOfCyS7WsQapz4qa5pJc_yXvOjPVoutKYAhYuUU7P3FpirVzmqkrR5UhV1e2H61bHWOyva5Bfb67rS9RIwTh40RlBYkdzr2vQbURMzxHXwhjQriB6syAHy0TZDhTmRoMBrNvpN1Y6QHTm0Rk6aQ-YKNmuR3x4FMbiimnHygacHyekYKKEvCukN1cXi7sLLP-VsISRrNkQDagxrJCfS4eoflxgGo-uXNHujNFWec3MlmSM_7Ca8X61eWcZ_0HyptWdawomxP276ZcJetNUuKR8N88N4vD_Qfh-EEZpAQW8H4TEo1FAgscgCIKiKAqWBsks5-kgVMyTaT_caCGtM-oarezR9DBIs4d7ZawGVjmfxVpgWw9OX7Vrm_JLkV1dffvaxfLEqEk43wjr0bPgMWQIZl9dEW14hDbmxYtobxt5h2vb8g8m8xK0cUh-HRDyGwGix4Ag4WTE2qNpp4222Ux4jTERuP97QtGQEGNxkLAA4bYevcuNclgcjoQFIxDxcG7C-IwmMdFMGOgELkU2i9u_HMnMHJkIx40ITceEsoBRTliGOeMtQhTHjQjNjggVGQvI_T1z2e8e89R9xt6BR3HSiGpyTJWH6YFqDVor7Yi_Q5eHYyOmA7pzKELIkhRJMKnkU6UaQySrwNTO7-eth60ub6_rpZLdYtOLlkWf8_mm_fvPiypTj9e1F120DRuwZ6XiP1ZKL9w6-lIico-mLxWMtiotVQ5fQL7sNPNnwGn8Hw8cwzj4bwUejoHTnM1jcqVYPoaGdCtm-XYh81t40MLtmPZ42wmYKI-aFjmrrcJd2mANcSB8w6wFLTuK2iXbebtjJ1xbY5uimPDnqOkR6ijN42cM7HW9Vpj7Oi5DBXeAe7U-F-01dS4H2XmhNXu6hcKLlofh39z6Jbr43SIP8-k85dE0CNO3GHxesEPPWxg_VHG-Xl3erjWTplC6-suK0owLj0N_OMqgURiPxMvm84ymzxEt6roUnKFH_WbxhnYtGunOpe61s22mlEvAzwi0Gmm101n8VSI7JfJfJnKYfKU2grPy1h1CfYzuBxcLaLpOM2OboUVGJpuOPTIOplnwXs7bG-UKNu68swNddl8_aMH3wulcMNwuH4a9nPxmRxLQcPpundyD6pJMLwHvc07XbUYryhdTxUi-T_vP-X75PzLyB0VPjkSPEjbMoKyuy6dVU5aDIvBZ07SnRwM_HA5bafU39GbrjHg3Gv0Jf30r1TjJRn57vDpiefiRWt3Wkiv1AFrIrj7rRl7LgS7Sd-vtcIXD4myeYdAc1DLcQWP5uq5vmDF9Fe15HsW7Mc-s8Lp9FpKVT0aYr0yy9vyUYILDv410tzT5p3Y7qH-EcLSzQLmGWqfBseBJnn5a8BtRA25Ij3wRh-7lmf12TYxrhzGX0ljtdvq4snlWXIYD-sND7Oiw3zAN0l7KQvXOvvhlZSf5KDXT8FjZuAkeY-ylftGnjpeQvwRuuOdFcOMtZpEFSZj292ld7tNKWpB5n1FcPC34QZfuyIJZwIi8vP3MXtidu6w6-mOkdIpIRlCjI6g0n34WKjwCbyx0Tb8LKQIZIR1tmVMo6CyM30LaE34B6m8CGc4RwwjkdAwSZvHsTZBLd98G2t0hSA4va_TjUn6irLwlWIq4R4KNjgfm8Wwa0OAtwToRDvLturO7t8V5po9PROdIoLVS5VgoRDwSqV8gtP_iYApZSgoe3ldMyNfWNnzL9CGrtUuacds7cJ9dUmAFd7xH4NIjcDGDgCCwnyCOc0fE50enMnGUxuT-vhQZv3dX0vcDTq8cyeCcIdH9seQecU5T0pL7Gcz5YC0-unpwZ0b4oZHtHb4inbMRrqqKOVcii0xpC25ByZUGd6wN-TsUXSvpPbIn1x3Sk7xxzNwNvNsuNQbcpaYiBoCIgYsfc_lfu-AcqVcqC-6CZ7-cJ5XZOEKd8_zCz-ClQHd9slivF8s_yPqPC7K6vrq6_sfln1_I6vLq4o6sr13z2V9fyO3FzfXten_RcaOh1oqDMZAToxrtzssNBjN6ADNGccHQoXQjSf-UoxuggbRX7Dlhdk_yozoY3QMkOYbjLxOYmO3PGOJ3meOjbwPGb0HGNx0ejY-mn-SnUT6P5uwETsMkSOdBEkfTk-1pEuazhAbTZF7MQzqLkjgNWTGd8jhgEEF8Ik5pQOOA0lkQREE0nSRJkgXzkLEk4MksmHpxABUT5QQDbqL05sRdnp2mdB7HJyXLoDTuZRelTqPDukWpNz0_0acuVrNmY7w4KIWx5kDMClu6l2HuKZc3PSeL7vnW_kkXJgdVjN7fPAi7VY11N3YuRZEKjGEbIIXS5EEruTk8q2qnYMcL779UQXLQYgft0xBz0ujy9OfvE51W_hUAAP__ffcvIQ">