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

    <tr>
        <th>Summary</th>
        <td>
            Compiling libc (specifically sinf.cpp) fails
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          liam-clink
      </td>
    </tr>
</table>

<pre>
    ```
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.sinf.dir/sinf.cpp.o 
/home/liam/gcc-12.2.0/bin/g++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/liam/Documents/GitHub/llvm-project/build/projects/libc/src/math/generic -I/home/liam/Documents/GitHub/llvm-project/libc/src/math/generic -I/home/liam/Documents/GitHub/llvm-project/build/include -I/home/liam/Documents/GitHub/llvm-project/llvm/include -I/home/liam/Documents/GitHub/llvm-project/build/projects/libc/include -I/home/liam/Documents/GitHub/llvm-project/libc -I/home/liam/Documents/GitHub/llvm-project/build/projects/libc -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -O3 -fpie -ffreestanding -fno-builtin -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -mfma -msse4.2 -DLLVM_LIBC_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.sinf.dir/sinf.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.sinf.dir/sinf.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.sinf.dir/sinf.cpp.o -c /home/liam/Documents/GitHub/llvm-project/libc/src/math/generic/sinf.cpp
In file included from /home/liam/Documents/GitHub/llvm-project/libc/src/math/generic/sinf.cpp:14:
/home/liam/Documents/GitHub/llvm-project/libc/src/__support/FPUtil/except_value_utils.h:34:9: error: declaration of ‘using FPBits = struct __llvm_libc::fputil::FPBits<T>’ changes meaning of ‘FPBits’ [-fpermissive]
   34 |   using FPBits = FPBits<T>;
      |         ^~~~~~
In file included from /home/liam/Documents/GitHub/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:12,
                 from /home/liam/Documents/GitHub/llvm-project/libc/src/math/generic/sinf.cpp:10:
/home/liam/Documents/GitHub/llvm-project/libc/src/__support/FPUtil/FPBits.h:41:30: note: ‘FPBits’ declared here as ‘struct __llvm_libc::fputil::FPBits<T>’
   41 | template <typename T> struct FPBits {
      |                              ^~~~~~
/home/liam/Documents/GitHub/llvm-project/libc/src/__support/FPUtil/except_value_utils.h:35:9: error: declaration of ‘using ExceptionalValues = struct __llvm_libc::fputil::ExceptionalValues<T, N>’ changes meaning of ‘ExceptionalValues’ [-fpermissive]
   35 |   using ExceptionalValues = ExceptionalValues<T, N>;
      |         ^~~~~~~~~~~~~~~~~
/home/liam/Documents/GitHub/llvm-project/libc/src/__support/FPUtil/except_value_utils.h:19:37: note: ‘ExceptionalValues’ declared here as ‘struct __llvm_libc::fputil::ExceptionalValues<T, N>’
   19 | template <typename T, int N> struct ExceptionalValues {
      |                                     ^~~~~~~~~~~~~~~~~
```

As you can see, I am building with gcc-12.2.0 . I am on Ubuntu 22.04 LTS on x86_64.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzFV1lzozgQ_jX4RQUFwhcPfrCxnXVtnKQSZ-aRkoWwtSMkVhLJeH79tsCOk82xOSZZFwbUre7-Wn0IrVW-G3n9cH-FUy8cz8eL09nUi8eo0uovRq3x8FzwNYWH0e5eEruFx4ZJprkjpEvyg825YIepAUwM3LRgPykwXBZBzrVT4l5pVQUKtRaBtlUla2RJ6TRT6kc4wEEIgzWXjuThCVzIn2YnZ9fZ1fn1ZTpzo-xqNU2z9PzsajU-W2XLcXp5fnVkzM8vl-PH5NPFcnGkLh4hmCpal0w2vp9w-0e9djxxU_r7RXHAai5yeL5umd5r5RNUHoBzSUWds3cjg-HHtTy_ih-FB1p-MyjkFxeLFO5S-YaVRFpOfS4t05Uy3HIlgXfDDV9zwe0OWIJLZvwtz3MGvO9Ma6W9eJoTy3zLS3DuOxHCcX5aTeAJmmtZG5b7FdGkZKAbqLeag4CxmsuNgTElxvp_10S0EiU3UFQbv-BM5GAVoBDBfzENcyuWNzjbmULBNHeDIS8rwSm3fgEQ7FarerPd6yO7NQMcR015y6CCGOOX4DqlzJiWqFleS2fEL9UNa2kVcHnJfzlUR6pU7CdllfXtrnKknAlwEMjSv-Hagj9-bpVz2NSbDQMfQVRrnu_lqSpd5GAAHgtGcqeeS1hbS_arn3OykcqAwwamC6esKGpJHRti1jyNm0csuTc-j6E3nE1nk-uTdlBUnDlRzQAGkc5SG3eXGpbLdtC6s1fZhO4W4PiWrKEXtiRidpLC4kpVm6f42lqO_LIoIfqlMawbYIByevptCU1qkmYX15PTBTzG6Z_jk8UZwDM2hxSibUOMBshfTuG_-oJ27S_nn28lgFxTX-EMRb-7Id8z0O5sC4kKgIb2rSxHhVblp5qNx1EXbs9srG82lGWmriqlHWN-cW25gJc267MbImqW1UAzwRZsxs5w4j4c9m1ujHIGHUO3takK5M2wNwy9ZFi7doXmFxNuDYJkRtDaampRljkwWQMBnIjHReX0t-_tdC9OV148O6hKEN0SCb0ClYxIp_W-nb3I3VyvN4HKZrppmDfM603bhUIIxV3kDVJ4eYTtod14cicCv1Zk_96beYOH16cmwZOxmRDD6Tm42Cx6G5gIezi9j_re7ysSMvzshGwj1PjajVwmOotIKsvc89lsaLMTArJlmiFijjPfn453y9yNmuSwDHZZ2O0hk1K360nY05GTOKT8IdEGz-bVk7_nku2LS773xpKfHTZMIr45Xa-v_keSzcrjFJ29uhs8VvGqxtB70Bie9uBldG_qGf95_Q9xjlyM48GTVfXCqn6swF4X8buVjZKXCg7E4EO9ET2k2xORfGMRfjiID0_e7X1s0E7ViBKJDGMO-AKREjVHEpeAt9xu0fGEjIKWD-V2va6lrREGahedrq4c7eewn_W7QYeNon4_Docx7iadfBTnSZyQjuVWsFGqygoOLKC7OeR4eGgqRnnBKRwMduiuleMEFQRSolNrMdpaWxkXKDx3jR9A1esAPtCPB8N_JR9UVt18pPUGgyjpbEf9btQjSRgCFDzEvaQ_GNB-b7geFDiOMC06gqyZMCOoTQ9jyW5RowLeoTw7fIRDjMMkiqNe3A2HAWYDEib9pEgoLvIYe90QzilcBA5HoPSmo0cNpHW9McAU3MCecceEgw3fSMYac6Cf1HarQAKqC449XP7oNNZHDfp_AKnzdD4">