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

    <tr>
        <th>Summary</th>
        <td>
            ASAN and/or UBSAN missing cases depending on optimization level
        </td>
    </tr>

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

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

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

<pre>
    https://cppcoach.godbolt.org/z/34TPh8vPh

```
#include <vector>

char example(const std::vector<char> v)
{
    return v[2];
}

int main()
{
    std::vector<char> values;
 values.resize(10);
    values.resize(1);
 example(values);
}
```

observations: 

- gcc14 catches this case with `-fsanitize=address,undefined` at all levels  (just as an aside)
- gcc14 misses this case with just `-fsanitize=address` at all levels above -O0 (just as an aside)
 
 - clang18 catches this case with `-fsanitize=address` at -O0
 - clang18 misses this case with `-fsanitize=address` at -O1 or higher, and adding `-fsanitize=address,undefined` makes no difference.
 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVN1yszYQfRpxs2OPkLCNL7jwT7hsMtP2AYS0BqVC8mgFafP0HWySuHGa7_tmGMHO7p5z9iBJEdnWI1ZstWerY6aG1IVYPSv_Yl2vPGVNMP9UXUpnYnLHRM1Erc9nHZTulm0wTXBpGWLLRP3KRC2LP566cnzqGD8yvpvXNZ-fayik9doNBoHJw4g6hcjkw22H7lQE_Fv1Z4dMlDp4SkDJTBLk7q3lMJUx-QAjE9u5fbO_fgAARExD9DCy1V6w1ZHJ_VvR8ZbM-gS9sp6J8mucb4iVG5Deged4GZHs6yQ85xOivMG6q_hPwcfIM_JN8kP1Jzsva2gI46iSDX76UXCbW0CrdV6AVkl3SJA6S6AVIbzY1AFb88WJlLdpkiSPypiIREwcBm_wZD0atuagEijnwOGIjgCYKJ8HSqAIlAdF1uC7e2-EvSW657u0_R_pHZFqwoiweOTfMs7zwgK0U77Ny18d9sq7eOR3QF8P8SOcHEKEzrYdRiYOoLwBZYz17c_a3au_kMAHMPZ0wohe43LWlplKmq3cqgyrfCNyzrnIZdZVpxVKrramNCdRrsR6zRuVl3wj8i1uuSgyWwkuCr7JCyHleiWXelNqbuS6wdzkp7xhBcdeWbd0buync51ZogGrbVkWMnOqQUeXu0IIjy9wSTIxna4sVlPPohlaYgV3lhJ9oCSbHFa733e_TVYwUYcIf-6ncLJ3smWylsDgGf3FpuAhnJPt7etlU1-3QzZE9-kyam3qhmapQ89EPfHNr8U5hmfUiYn6opKYqK9TjJX4NwAA__8wHoQ2">