[llvm-bugs] [Bug 46207] New: tgmath.h broken when compiling C with clang-cl

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jun 4 12:56:20 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=46207

            Bug ID: 46207
           Summary: tgmath.h broken when compiling C with clang-cl
           Product: Runtime Libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: libc
          Assignee: unassignedbugs at nondot.org
          Reporter: stwish at microsoft.com
                CC: llvm-bugs at lists.llvm.org

The Universal CRT does not have a conforming complex.h. The tgmath.h header in
Clang
(https://github.com/llvm/llvm-project/blob/4cf5743b7784b2c2bff8be82e1a5cc37f8c68a36/clang/lib/Headers/tgmath.h)
assumes a conforming complex.h and therefore cannot be compiled by clang-cl
when building as C.

Repro:

**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.7.0-pre.3.0
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************

C:\Users\stwish\source>set "PATH=C:\Program Files (x86)\Microsoft Visual
Studio\2019\Preview\VC\Tools\Llvm\bin;%PATH%"

C:\Users\stwish\source>type tgmath_repro.c
#include <tgmath.h>

int main()
{
    return 0;
}

C:\Users\stwish\source>clang-cl tgmath_repro.c -ferror-limit=1
In file included from tgmath_repro.c:1:
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Preview\VC\Tools\Llvm\lib\clang\10.0.0\include\tgmath.h(72,50):
error: passing
      '_Complex float' to parameter of incompatible type '_Fcomplex' (aka
'struct _C_float_complex')
    __tg_acos(float _Complex __x) {return cacosf(__x);}
                                                 ^~~
C:\Program Files (x86)\Windows
Kits\10\include\10.0.19620.0\ucrt\complex.h(98,50): note: passing argument to
parameter '_Z' here
_ACRTIMP _Fcomplex __cdecl cacosf(_In_ _Fcomplex _Z);
                                                 ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 errors generated.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200604/fd819cab/attachment.html>


More information about the llvm-bugs mailing list