<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/55147>55147</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            A/F: idx < (size) with opaque-pointers enabled.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          sks75220
      </td>
    </tr>
</table>

<pre>
    We are seeing a new crash since commit [702d5de43](https://github.sie.sony.com/SIE-Private/cpu-toolchain-ppr/commit/702d5de43), as listed below.

As suggested in the commit message, the crash indeed goes away with "-Xclang -no-opaque-pointers".

That recent commit simply enabled opaque-pointers by default. The bug has existed all the way back since [90ec6dff860](https://github.sie.sony.com/SIE-Private/cpu-toolchain-ppr/commit/90ec6dff860f4ec), but it needed "-mllvm -opaque-pointers" at that point.
```
$ cat af.c
__attribute__((constructor)) void art(int args) {}

$ clang -c -O2 af.c
clang: /home/sunil/CLANG-GIT/llvm-project/llvm/include/llvm/ADT/SmallVector.h:277: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::Constant*; <template-parameter-1-2> = void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = llvm::Constant* const&; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /home/sunil/CLANG-GIT/llvm-project/build/bin/clang -c -O2 af.c
1.      <eof> parser at end of file
2.      Optimizer
#0 0x000056370bc0fe84 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x000056370bc0dc0c llvm::sys::CleanupOnSignal(unsigned long) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x3c3ac0c)
#2 0x000056370bb3d678 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007fc5e2f233c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x143c0)
#4 0x00007fc5e29c003b raise /build/glibc-sMfBJT/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#5 0x00007fc5e299f859 abort /build/glibc-sMfBJT/glibc-2.31/stdlib/abort.c:81:7
#6 0x00007fc5e299f729 get_sysdep_segment_value /build/glibc-sMfBJT/glibc-2.31/intl/loadmsgcat.c:509:8
#7 0x00007fc5e299f729 _nl_load_domain /build/glibc-sMfBJT/glibc-2.31/intl/loadmsgcat.c:970:34
#8 0x00007fc5e29b1006 (/lib/x86_64-linux-gnu/libc.so.6+0x34006)
#9 0x000056370bc959ff llvm::Evaluator::EvaluateFunction(llvm::Function*, llvm::Constant*&, llvm::SmallVectorImpl<llvm::Constant*> const&) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x3cc29ff)
#10 0x000056370b3c8f4d EvaluateStaticConstructor(llvm::Function*, llvm::DataLayout const&, llvm::TargetLibraryInfo*) GlobalOpt.cpp:0:0
#11 0x000056370bc7ea61 llvm::optimizeGlobalCtorsList(llvm::Module&, llvm::function_ref<bool (llvm::Function*)>) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x3caba61)
#12 0x000056370b3d06cf optimizeGlobalsInModule(llvm::Module&, llvm::DataLayout const&, llvm::function_ref<llvm::TargetLibraryInfo& (llvm::Function&)>, llvm::function_ref<llvm::TargetTransformInfo& (llvm::Function&)>, llvm::function_ref<llvm::BlockFrequencyInfo& (llvm::Function&)>, llvm::function_ref<llvm::DominatorTree& (llvm::Function&)>) GlobalOpt.cpp:0:0
#13 0x000056370b3d1f3a llvm::GlobalOptPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x33fef3a)
#14 0x000056370ceb3946 llvm::detail::PassModel<llvm::Module, llvm::GlobalOptPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x4ee0946)
#15 0x000056370b28832f llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x32b532f)
#16 0x000056370bf9d99f (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile> >&) (.constprop.0) BackendUtil.cpp:0:0
#17 0x000056370bfa03e2 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x3fcd3e2)
#18 0x000056370ce48df3 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x4e75df3)
#19 0x000056370dc13bf9 clang::ParseAST(clang::Sema&, bool, bool) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x5c40bf9)
#20 0x000056370ce47798 clang::CodeGenAction::ExecuteAction() (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x4e74798)
#21 0x000056370c7159b9 clang::FrontendAction::Execute() (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x47429b9)
#22 0x000056370c6a122e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x46ce22e)
#23 0x000056370c7f45e3 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x48215e3)
#24 0x0000563709220a81 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x124da81)
#25 0x000056370921ce58 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#26 0x000056370c518539 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#27 0x000056370bb3d7fc llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x3b6a7fc)
#28 0x000056370c518c4f clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (.part.0) Job.cpp:0:0
#29 0x000056370c4e726b clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x451426b)
#30 0x000056370c4e7d79 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x4514d79)
#31 0x000056370c4f1c49 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x451ec49)
#32 0x000056370917225a main (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x119f25a)
#33 0x00007fc5e29a10b3 __libc_start_main /build/glibc-sMfBJT/glibc-2.31/csu/../csu/libc-start.c:342:3
#34 0x000056370921c9ce _start (/home/sunil/CLANG-GIT/llvm-project/build/bin/clang+0x12499ce)
clang-15: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 15.0.0 (https://github.com/llvm/llvm-project.git 702d5de4380b1e1554e5b90863093c3a57f76f70)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/sunil/CLANG-GIT/llvm-project/build/bin
clang-15: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-15: note: diagnostic msg: /tmp/af-ad9102.c
clang-15: note: diagnostic msg: /tmp/af-ad9102.sh
-----------------------------------------------------------------------------------------------------------------------------------------
```
Files attached for reference.
[af-ad9102.zip](https://github.com/llvm/llvm-project/files/8574656/af-ad9102.zip)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzlWllz2zgS_jXyC0oq3seDH-Qr8ZRn7IqVnX1jgSAoccNrAdKW5tdvN0BJhCLFTqLZSu26ZB0AiO7--sSRNtnm8k9OqOBEcl7US0JJzV8JE1SuiCxqxglrqqroyMS_Ci0n8zPuuRP_ZuJEq65r5cSdT5w7eC2LbtWnM1nwmWzqzQweg9bn-9vpkyheaMfhF2v7adc0JVvRop62rcA2NT182c_uxBPnmlBJykJ2PCMpL5vX2cS6mVhz_T6XRPbLJVfdRU261Y7PiktJlxxnUK1KkqLOOIxcNlwS-ko35BW4JRPHmf6TlRTEntbNtGnpv3s-bZui7riQ0GvQXKxoRwRnvO62tGRRteWG8JqmJUx_MAFJNyTjOe3LbkYWwEvaL8kKxOJrLRctS8UjMpRS9mUAHJCOLc6CLM-jwPpbsB7Nn3ucDYinfUdAqhqgAu4QnaosXypyBBkCWHQIiGrb4gTc6pf-6XiEwRCaz5huSRLadaIAOjxJQCp4saaWnehZ1wjFRUxemgKgEcBmBFPDt6XE5kl4NQlvxgpR82vtMTJ9dEaEVDPABULcrZoK8ZB9XZTwef0w_-PD9MP9Ar6jdNNWNP_irBt-wgcooewzvm-Y3-Dg5wr09Q-OnM5WMLcThkhBCUBgQEDUcNCROx-NXXCwEVDJNWDf1BP3eoFQw2c3dExbKmjFAdipPXUm7i103uppmpYLisj4V9oMzk5BFn_xpNu0HCHWogAx5R0LGHUzkukae2kNQMGvq7fmv1F6xIFn51mxmQiec8GVv5xiUwsEmvlb2NhBpxlowA77WhbLWoWkDhUG5jGXkouuaGoCflFka5yc4KPK_MHgQ5LTAqLH4ENPD7fz51uIbikGGKpihuBtI8DfGnI0DGjvH2z1wKQLKXsO_nNHaI1sKcseBUYMO52gTMXLFgiJhkEABRFk0wvdjE9SKRtWUIxaoq-JZKJot27_3GHsyvqqRc5UkzUj6u9JNEvAD524ryBwyu_2ybQvygw_ixoD2HF3twdygC1vctQSqA1wxyjFgfsmJzlgrAc7w-DHtisqUITYRhPXItbagj8_cEMrZVbOIw9EAGUqEReI0zMomJYfAZMSnnQiZeXgEeA-ukvOWItAWOp_O7V9MHXGLDYySbmRg_WWnNZ9-1jryYDAzqbQwlQgRMP5OQQnzpW1dplLgQs0wi2XjsFl6mZBGJFrNJRPnDUvXGwOxUdDB56MMeCBHV93R3FwBwphznzu5NDALJKAM0vwRp6AlWvxyiKF93UUJIE3LYu6X0-Xda872m4lOM0g9c0sJYntwSxjOTyDSswsy02JoIXkZATIEuZiU_l7fvXbYvfTmbk24jrAfzeb4a-NzHiLbgRwr3XDi2IGGINPNTUYozv3bXizd4z4JiNxHvkxoWmj5HwfI12msVBPKRoR0gh3NIJDGiEoZMm7RHOdSL5E10teaNm_W37QK0pfNjSr5BKyuJbOipH-jnR4jHRSlwk-l2RNBaXHz1GMQ7Qf19uRjEySqW1ZwTtshqG1BNruPXhkbC2x6ZuxH-f5yDdvETiVhcc_OZgCw7huZOV94xwj5_HkCfnI6Bvlo3vIOhDETiTd231CO2scYA5IPEbENiOhy6Lcy8hWcgiGXcGux4XbeyC4oR19oJum70ZijAcsIEvw7qFIBRWb-zpvhrj6oWxSWkK4Ph5ZD0JryGlgj2ZthjCvZ7kGduVDgdRHPP_eZD2kh0OG8kEUrDVAKylU0-S0rDFWBmfVC01BFEMvZoB2MytgOTEllPf1Vpy3JXxTJwcQfFNZwSlwgi043zEzJNta5o2ozjr3VdmwL3eCw2qmZudl-6apihrDxEJw_p5Z3zRs90DZdu7SESe7p5-gONNNUJq9R-tzSG0bWcjfaQ0rZWGIMTyCDJ43yrg5B_4Na_bGAjKeurE3XkRlvIPKWH9HGYE1Xh5j1hDOhMXoeoIyg4sXnmkAuPwBWPb1_y8Mtse5BVgaYPuGNTlR5DrjLKcAPs3i_yhQrpP6gIMBVGAAlccZ1DVIkNZNvamaXpIaVoSyVYumeCgKYLGGK70qLTcfednyoVj41NfDMoOi9z8VLYfCBEPzdocCgxKsLWCVMh8CBCwPu0z3gGAQqZK2M9EQ9DVpX0XR8QRSMKeV8dCw5ZSAs8C69Y0HBz1pXbxFdwEJ8LHv2r67K7RNvIfowVMjikqPM5V4QFUtVvMxGdD43BXl8bAYmvqhlssdMoITdTFMosmaaN8UdFk3EioYeVsvlTKU8KMhH2F1wcUzp4KtUH3AoJEeR0OvISZ94PUbo3RKe2PQA3w7NmRUKHawFl1-gsRjNG_9aX4w4a9gV2d01ZxloGnDVSMzgXhRlrtHEMBSta-2PqkXr6q-KJVXfq6LAxuZPy-GRezZA3PoA4-GEMbyI2O2CzFnLMQTbmUARyaLz7yig4FgXbr_PB-zPvMw_hkbBNYB4mEYR0f8YbA57Y9rzvqOb80wOjOeHnBgsGisB1ho-3Fq4HknULU7vxjzeG7uQg9WqCaARgXPAmo7DjcBrFoIk-JerfsgxRzF8LQ4Z7bXgHFg0JDANfHNPZ8bTjfwuhfkpWH0a76_ElQv9s7GeeTYwJjBuVFvxo5j0cgmjNkJ7lMYJcpcCLr5pCp8tqJiG4_nw3LAbIOG0S7guQSwHS8D_gwBfFMAm3E_Ilu8r-2FCgDHDwmGnYWvpVH2konihYuj-dYx6iHm25HvDoc0J1dFqnfY4N7t2gMruNuc5LjPPjIETXswimsbt-IhQh_65VHd7Bt14qTm8mCfL7fpaJTOkoSt17atf6RUFgxzV4FcKZSMwdiQdIIWuIOtuw-mA-nQzHGXaNuvSc73oXm-O2TRz0ycsKRVmkEgD_dogazDTu9vTXpcJeHhPm2Yj3eTj-3G7urRZ5rzcmMg-m3tnTOHpwEFVg2bjg7Ni3k5-T83D1UXt1R0uiQ-aQdG6cAgGTpBehI7FW_pVzlvC6gRnA8exAGnytZvDJ0P0WUn03kiu297IOfYiMyTGwQiC-PvBQJQlqdRgF7cNjxVmX8VaHeab2mBSlcHJe8HzlglnR8_gMfAz6yZvNxm3kn8bkbfjVx_JMmfwv2_i98ZkeMAjIGcUc_Fdug4PiXDuceZCgE7zmFSg6p5jBZT20pdkiR40AFhCgJH8j1HL0ziKYk66dJf9VicRx3CuJ6D73vy3mEdEjNONOFz1j9xzPalp-qZ2j5wQrgQ6jhmuP6RDyWwupaDZqBP1PUlH74u0GszTmzgGw9UJSfTFzxNl5yTYlSejikRsC2Jx_a2P7NmFjl1B-fk4fsMBpDdnabISm1u-77H_TS2osC1Yjx_9cM8DPJwf3ipdwpQtOEcq6-_1M1rPTrPGi4j4REoqfSW6Jy0jSzWuksV1CXIf1MojH5YG1_BXje47p-TbLeFQiqpvHGwjJ94je71DFcg5ovF_PojWXy8JXePDw-Pf97_8YHc3T_cPpPFo2q--vyBfLp9evy02PHwdOwKQ6QuEJ28xrAbIDhRWRqvZnW7Kd-FAKLcVS2803xKs9i2HOMu0o88L1d6gumv8nf0lhdu6knAq6NsBcDljSC7qznbe2H-1V6qv4r2G1favnWXBa9w4Bl85Ide4AcGVjjrLkCq94vs0s1iN6YXXdGV_BLp3CHS20s4qHZ1DyfWgeLw9t5wq2920Yvy8scv3viQbsOL1WVq05AGeeq5mWM71Eo5DX0aWHEehyxl_KKkKS_lJd71chy8hKmmgO8A10Vx6ViwYPWc0A58z3JnjOZRnIZW4FmZz6No4lkcYn45Qz5mjVheiEvFUtovJXTiVUq57wRHwFsl_FJfLbugfbdqxKX8IkMf6Fwo2peK9_8AoS3F6g">