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

    <tr>
        <th>Summary</th>
        <td>
            libc with LLVM_LIBC_INCLUDE_SCUDO=ON fails to build due to missing format constants
        </td>
    </tr>

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

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

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

<pre>
    Hi! When building LLVM libc in fullbuild mode with scudo it compiles `compiler-rt/lib/scudo/standalone/timing.cpp` using `inttypes.h` from LLVM libc, which currently does not have the format constant `PRId64`.

```
[64/1409] Building CXX object projects/compiler-rt...akeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.
FAILED: projects/compiler-rt/lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o 
/usr/lib/llvm/16/bin/clang++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D_LIBCPP_ENABLE_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/cat/c/llvm-project/build-nossp/projects/compiler-rt/lib/scudo/standalone -I/home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone -I/home/cat/c/llvm-project/build-nossp/include -I/home/cat/c/llvm-project/llvm/include -I/home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone/../.. -I/home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone/include -I/home/cat/c/llvm-project/build-nossp/projects/compiler-rt/../libc/include -fno-stack-protector -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -Wall -Wno-unused-parameter -g -std=c++17 -m64 -Werror=conversion -Wall -Wextra -pedantic -g -nostdinc++ -fvisibility=hidden -fno-exceptions -Wno-pedantic -fno-lto -O3 -Werror=thread-safety -ffreestanding -MD -MT projects/compiler-rt/lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o -MF projects/compiler-rt/lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o.d -o projects/compiler-rt/lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o -c /home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone/timing.cpp
In file included from /home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone/timing.cpp:9:
/home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone/timing.h:182:22: error: expected ')'
    Str.append("%14" PRId64 ".%" PRId64 "(ns) %-11s", Integral, Fraction, " ");
 ^
/home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone/timing.h:182:15: note: to match this '('
    Str.append("%14" PRId64 ".%" PRId64 "(ns) %-11s", Integral, Fraction, " ");
 ^
/home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone/timing.h:186:24: error: expected ')'
    Str.append("%s (%" PRId64 ")\n", Timers[HandleId].Name, Occurrence);
 ^
/home/cat/c/llvm-project/compiler-rt/lib/scudo/standalone/timing.h:186:15: note: to match this '('
    Str.append("%s (%" PRId64 ")\n", Timers[HandleId].Name, Occurrence);
              ^
2 errors generated.
ninja: build stopped: subcommand failed.

```
This commit introduced the issue: https://github.com/llvm/llvm-project/commit/1e36156ab1dc70f9f9b94a8d9820c819da4187be#diff-7156dbc48a2b7dddb36c3427227ab749d38ddcf10f13f7813db521c2b271734d
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkV0tz2zgS_jXQBQUWCVKkeNBBD2tGVbaVsuxVbioQaJKYAQEuANrx_votkIofM9mtZCfJHsblAqEG0N3f141HM-dkowGWaL5G8-2MDb41dslUbUHUZlYZ8bz8VSKa4FMLGleDVELqBl9f_-MGK1lxLDWuB6XGEdwZAfhJ-hY7PgiDpcfcdL1U4DDK40vfEusR3SlZIbobJ4avZ1owZTQguvOyk7qJeN-jPMaDCyZRHkvt_XMPLmqDuLame3UE0Q1-aiVvMR-sBe3VMxYGHNbG45Y9AvYt4NrYjgWndLDng9IPd3uRZyiPIxRvUby6tHl8-Z9-ztd5huguyeISzbd4_ZmIzceP2FS_Afe4tyZ8HaK7N0CjKGK_wy5QgOju7v4Y8B5fwEafFvk5zyIh7TvcF2d2q_311Ralq_-g_b_TuLn5n0wbfAFNd4OzLyaUeuwCBTmiu0rq4IhiukF0jegak-15e7V--CV0frnerzcfP55Xx-PV3f3-cHscpbcP5-Ph4W5zFX6FKR8-nK9uV-vrqz_MPB_vt5vz5nB7vF_d3p9vVpu7w5uB3eHuZvVn8fX-Zv8q3SO6a00XaOAs8MQvEMiFyYAiRJFo41yP6O6bGf46I99T13uHpeZqEF-59BK9b1rz1YkWRWPznbV-k69fGcvR0-m8eNVfa0OcZ_z3oM8D98ZiUn_Yby5D0DHtJSdSe7C9cdJLozGpH6WTlVTSPxOpldTgSCuFAI3JCaw1FqVbwTwQLzt4Ixt0MzArQBD2yKRiFx0anjA5MaXC1E_eMkxO2pBBDw4E6ZllHXiwmJyerPRAnLdSNw6TE2fOk38OLKzspAvnJaklKEGkll4yJf8F1mHSgxiRTIqV0c3YBA3TNi4XJPDFPBkdCNAlJifZ9Upy6UnNlPKtNUPThkXmESwI4p6k5y0RULNB-Um5NvCJQ-9JOLFHkSaP0vqBKSJGgk8CFHggXxhxQ9OA8yTotzKE6DSBJdzoR7Bu5D9AVcDCOUykFqA9mwJz4p4J0rHnCsig3dD3xnoQmNRCskYb5yV3hBs1GpsI_yLRDSbOC5RuL_QkBSZdnr0J5Tt_3oXulesGh7z0Qmr--bB8kzoo3X5OmpBsE2vSaDc59aomjCpvMDmkbxzwrQUmiGM1-GdM6toCjLso3E7kZovJzf3PvTzIze6nGowEJuYnQ-T4ex50b54748W717iWCvDlgBLTU-cHWUxXJUpXLzf-9zbRonSVLChKVzQ0-JK3KwyfeuBhVyJaIFqGdvQBY4yP3kas70ELRBeIUkTnSYYoxdNjDSNKI0Tn7yWILrRDtMSIzkmSuFG0wXvtobFMhf7OMh72VuiHxeOUEqXri2k0v_oJRCTzgF8bD-HrDe6Y5y32rXQTGYu_CRl5yIrsr2RFIGzxBfAlmm_0BfO97MA6NF__yrRQsBdovo1uWQC0wQc-lQsc_g_Y_3oi_Cj87_5eyKBTnBxuQINlHsSlTNFS_8YChqkMdN70PYggcEPFTdcxLXDNpHpZ8cUq6z4AD9Olx1J7a8TAQYyFm3RuGFlqve9dOLDoDtFdI307VBE33esT98_h6WToJJDmyTxnVSJ4EddlXVZlxhaiXNCYL5JSsCxZFBUgmgpZ16RI5rmoeLZgtCqEEFWa8zSjBaUFq4qsFOlCCF4ncZ2kdbFIUlHNacJpRYukSDMxE8tUlGnJZrBM8kVeFHFRZLN2WdbAYlrUcc6gEBkIyEpIBatjJkRRlTO5pDFN4zzJkpLmSRbRrAbGBOd8wYHWNcpi6JhUUcAaGdvMRn6WeZomxUyxCpQba3pKw6NyIo_SUOLb5chPNTQOZbGSzrtXLV56Bcuxrh-r-FBdj5XaeX-7uX7YXp2Pm4ftAaXbw-0YTxeydgq6GGBM4en5-cdK280Gq5bfHLzR83A7j8j-HQAA__-DLVqI">