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

    <tr>
        <th>Summary</th>
        <td>
            How to disable a rule on std lib?
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          tony-go
      </td>
    </tr>
</table>

<pre>
    Hi Everyone 👋🏼 

I experience this error with UBSAN:

```
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__functional/hash.h:107:40: runtime error: left shift of 7308895138221481827 by 48 places cannot be represented in type 'unsigned long'
```

So, I'd like to exclude the shift rule for this specific (as I don't have control over it).

So, as the documentation mention, I tried to pass a suppression file as `UBSAN_OPTIONS`:

```
shift-base:hash.h
shift-exponent:hash.h
```

It did not exclude the error, my first attempt was:

```
shift:hash.h
```

Then the compiler spits an error:

```
UndefinedBehaviorSanitizer: failed to parse suppressions
```

I probably should have noticed something. It's probably the path, tho.

---

Full log: 

```
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__functional/hash.h:107:40: runtime error: left shift of 7308895138221481827 by 48 places cannot be represented in type 'unsigned long'
    #0 0x104d94f5c in std::__1::__murmur2_or_cityhash<unsigned long, 64ul>::__rotate_by_at_least_1(unsigned long, int) hash.h:107
    #1 0x104d93094 in std::__1::__murmur2_or_cityhash<unsigned long, 64ul>::__hash_len_0_to_16(char const*, unsigned long) hash.h:132
    #2 0x104d91cf0 in std::__1::__murmur2_or_cityhash<unsigned long, 64ul>::operator()(void const*, unsigned long) hash.h:226
    #3 0x104d91c50 in unsigned long std::__1::__do_string_hash[abi:v15006]<char const*>(char const*, char const*) char_traits.h:920
    #4 0x104d903f0 in std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const string:4565
    #5 0x104d9ac9c in std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, void*>*> std::__1::__hash_table<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::find<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const __hash_table:2333
    #6 0x104d9aac8 in unsigned long std::__1::__hash_table<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::__count_unique<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const __hash_table:2515
    #7 0x104d9a93c in std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::count[abi:v15006](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const unordered_set:798
    #8 0x104d1973c in testing::internal::(anonymous namespace)::UnitTestFilter::MatchesName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const gtest.cc:781
    #9 0x104d6cac4 in testing::internal::UnitTestImpl::GetTestSuite(char const*, char const*, void (*)(), void (*)()) gtest.cc:5766
    #10 0x104d37dc0 in testing::internal::UnitTestImpl::AddTestInfo(void (*)(), void (*)(), testing::TestInfo*) gtest-internal-inl.h:690
    #11 0x104d37810 in testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*) gtest.cc:2771
    #12 0x104cd8e90 in __cxx_global_var_init engine_binding_test.cc:32
    #13 0x104cd9dc8 in _GLOBAL__sub_I_engine_binding_test.cc engine_binding_test.cc
    #14 0x18157c1d4  (<unknown module>)
    #15 0x1815bde90  (<unknown module>)
    #16 0x1815b11a0  (<unknown module>)
    #17 0x18155c2d4  (<unknown module>)
    #18 0x1815b01c8  (<unknown module>)
    #19 0x1815bd954  (<unknown module>)
    #20 0x181578858  (<unknown module>)
    #21 0x181578c0c  (<unknown module>)
    #22 0x18157c260  (<unknown module>)
    #23 0x181578d8c  (<unknown module>)
    #24 0x18159c980  (<unknown module>)
    #25 0x1815612cc  (<unknown module>)
    #26 0x18155fe14  (<unknown module>)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/__functional/hash.h:107:40 in
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWVFv2zgS_jX0C2FDpCxLevCD4tS7wW3axaYF9p4EihxZvNKkVqSc-H79gbLkWKmTOofiksUVMByZ5Mx8880MoyGZtXKjAZYoukLR9YS1rjLN0hm9n27MpDBiv_xV4g87aPZGA0brAKVrlBKUXPXPyRpdrTAKrlGQHb5vMDzU0EjQHLCrpMXQNKbB99JV-MvVXfYRhdmpAFoE_efwk66zulaSMyeNtoiu_-RGwIzVNaLrldEOtPPD17ADZWpoEF3_rpgrTbP147eMf7r7c1b3Q09W3l3_43ERCWfhzIqviK5b62el5qoVgOiaI3rVfdY7gug6z8tWc4-IKUTXFbPVrEJhRoIYhdk8QGGGm1Y7uYWDv35AQemwrWTpsClxHAZJkkYkTCgl84QkNMbFHs8TXCvGwWLOtDYOF4AbqBuwoB0ILDV2-xowonGru3gJrIzeIBqf56_7vjOIrvANorHASn4F7AyGh8457CroUTWtAlya5hAnWwOXpeQY0YRZfIOF0YjGDldsB5gb7RqjsNlBg6VDNJ19a5DZTrswvN2Cdl0IsX-SXtUK32DXSBAeTc2sxQzbtva-Wr-wlAq8CrQIukTJP_3--ebTxzvv24s503kzLZgFFGZ9bE4m4KE2GrR7MnmWuBuHhRTYB-KUr0NM6Qpv97iUjXWYOQfb2uF7Zi8Ad4npzxXozhg321oqaLCtpbOY6WNKvWDmixZQSg3iCiq2k6a5Y1o6-W_oUrFkUg28NxZOabcvsYHrxhSsUHtsK9MqccgFbZzkILA1W3CV1JsZvnGIxvZxufejZq7ynLnKjHJlOp2e_ly3SmFlNh7nz43hx20MGGOMaBjg4IEEc5HOy4h7KeuET6Uwy3MyPGzbZts2NDdNzqXbezdQuHqid4UX81ah8MMg1RjHHOTFPmcuV8CsywmiyTdiUvv9Ao_IOYVIBohhkM5_LES_LFeg8yB3JicLRBNescZvZ9YhmnmRJzpOgYZ0BJQOQAkvgx8J1Cchc36LSRBNEU12RooLQVK6GIEMH0FGHciR6FnIwuTWNVJvOr5QdMUKicJsR6IgWKDoGoWrMWvhh3NEPhlIu4HcNUw620FNaTCCOh-gBuFzfPb0fTtRMCt5D7vH5zF8u_AExLDOwz-3lClleBeHx4X952yU3hLVQPSiI9o_48FsNo8W0YjoaCCa8fTZTaCrlU5TLl3v6Tnm-5XaCHjryNAV9pUypKT_ft41xwr1HhC_2yQ_uxz-apnKnXmv-E6XvzXAYaMopRbvAM6726DGhZjRMAxH29TiuE0xnlz2r-tnZf-s7P9hZec5N612eavlX-2bp9zfocYjMn4ViY81nobPvIq02jQCGhC5BffWHP8s6_-Dsu6K-kzf8-6q60lpZHGajKor6auLpPGhuhxYd2gKUJhJ7aDRTB1-IZowbfR-a1qLNduCrRkH39l001-0dJ_BurVUrjtFQmF2yxyvwH5kW3h_3Gy8rzPOPS0JGdGS9rQsOOPz79Ay-H2zrfuRX6AbuGulgwv63kNPgrsuMTs0it33c-PpKfIoXozbeTIc4ISx4MGrsWdCdAO6NMOxwsXAVmNTj3qyI-jpYH8qtep6_EU67vEJOeJPyPfw37KvkGnxB2ykddCcIP8-6d8feMHwygj4zRzOFo-E_PchfdFWV1SMO9Psr5iFUzoPOUDjeJy-pD944iKBtOMwz_nDQ75RpmAq37Eml1o6DHojNeSF1ELqTf6o8ck5FgkHfak4vGjnv_z26Sr7Lc9tW-Q3-XlFz-kfqe7OdBISxZyIOe6oCVet_qrNvcZbI1r_WvDBszQSi3qxQngPLxZbDGKEsFeIxb1YxOlrQCaDtYDw5HKx9OhbGl1ujQYDk0kSXW6NkqMYD_jlYvQYN7q4nEkaHq2J5BXWhixJeZq8wtqQJQtC-SusDVkSlUAuCEB_pfXl9jb7458ozPDLlyvtMDst-mn897yswFI_uXqZiGUo0jBlE1iSOEiikERpPKmWScrLKCAkEPM0JmkE5aJgvEhSQRgVEZ_IJQ3oPKCUkEWwoOksKRjMYZEklJUlBYLmAWyZVDOldtuZaTYTaW0Ly4RGQTBRrABlu5tpSjXc424SUYqi60mz9DLTot1YNA-UtM4-anHSKVj-au6xM1hI6_sQzA53nabrNrCSBQrXk7ZRy8q5urvAo2tE1xvpqraYceMJ9xr7P9O6Mf8C7jy5Hocnv8P5nwAAAP__GYtHog">