-
Notifications
You must be signed in to change notification settings - Fork 12.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tgmath.h
broken when compiling C with clang-cl
#45552
Comments
I'm not sure what the best way forward is here. If we make Clang's And if the UCRT Is there anything blocking the UCRT's |
I do not think this is related to the libc project. |
tgmath.h
broken when compiling C with clang-cl
The blocker is lack of implementation of Looks like that |
@llvm/issue-subscribers-c Author: None (llvmbot)
| | |
| --- | --- |
| Bugzilla Link | [46207](https://llvm.org/bz46207) |
| Version | trunk |
| OS | Windows NT |
| Reporter | LLVM Bugzilla Contributor |
| CC | @CaseyCarter,@zmodem |
Extended DescriptionThe Universal CRT does not have a conforming 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. |
Extended Description
The Universal CRT does not have a conforming
complex.h
. Thetgmath.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:
The text was updated successfully, but these errors were encountered: