Issue 98019
Summary clang crashed on windows10 with -mno-sse2 flag
Labels clang
Assignees
Reporter m-strzalkowski
    On a x86-64 windows10 machine I downloaded `clang+llvm-18.1.8-x86_64-pc-windows-msvc.tar.xz` from download page (https://github.com/llvm/llvm-project/releases), unpacked, added to PATH and started using clang. Crash happened on a very simple input:

```
#include<stdio.h>
extern float ftest();
void main()
{
    printf("ftest:%f", ftest());
}
```
 compiled with basic command, but with a flag added: `clang -c binarka.c -mno-sse2` (without the flag it works)
The whole command output:
```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: D:\\clang+llvm-18.1.8-x86_64-pc-windows-msvc\\bin\\clang.exe -c binarka.c -mno-sse2
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'binarka.c'.
4.      Running pass 'X86 FP Stackifier' on function '@main'
Exception Code: 0xC0000005
 #0 0x00007ff76127afb7 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x28fafb7)
 #1 0x00007ff75fd2d93a (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x13ad93a)
 #2 0x00007ff760a2472e (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x20a472e)
 #3 0x00007ff760a45533 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x20c5533)
 #4 0x00007ff75ecc6111 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x346111)
 #5 0x00007ff75ecc5bdd (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x345bdd)
 #6 0x00007ff75ecbfa69 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x33fa69)
 #7 0x00007ff760a40365 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x20c0365)
 #8 0x00007ff760dff1a8 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x247f1a8)
 #9 0x00007ff75ef317e1 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x5b17e1)
#10 0x00007ff75ef31282 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x5b1282)
#11 0x00007ff75ef2dfb4 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x5adfb4)
#12 0x00007ff75ef2bb30 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x5abb30)
#13 0x00007ff75ef2a4fe (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x5aa4fe)
#14 0x00007ff75fd3e4cd (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x13be4cd)
#15 0x00007ff75f0bbc05 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x73bc05)
#16 0x00007ff75f0bba08 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x73ba08)
#17 0x00007ff75ed6f6e8 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x3ef6e8)
#18 0x00007ff75ed6f09e (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x3ef09e)
#19 0x00007ff75ed6ebb7 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x3eebb7)
#20 0x00007ff75ed68a47 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x3e8a47)
#21 0x00007ff75ed660c3 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x3e60c3)
#22 0x00007ff760e84b70 (D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin\clang.exe+0x2504b70)
#23 0x00007ffc7e357344 (C:\Windows\System32\KERNEL32.DLL+0x17344)
#24 0x00007ffc7ee7cc91 (C:\Windows\SYSTEM32\ntdll.dll+0x4cc91)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 18.1.8
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: D:\clang+llvm-18.1.8-x86_64-pc-windows-msvc\bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: C:\Users\mastr\AppData\Local\Temp\binarka-70f5b5.c
clang: note: diagnostic msg: C:\Users\mastr\AppData\Local\Temp\binarka-70f5b5.sh
clang: note: diagnostic msg:

********************
```
__Note__
Without `mno-sse2` flag everything works.
Crash occurs also when the extern function return type is changed to double / long double (and printf format accordingly).
I don't mind if anyone just deletes this issue, it is windows afterall, and I was using flag `-mno-sse2` just on a whim, to see what instructions are generated. I posted it only because 1) program itself asked to post it :) 2) It happened on so short and basic input and might indicate something actually relevant.

I apologise in advance for any misdemeanor regarding formatting and tagging rules (it's my first issue on Github).

__Attachements as requested in a crash message__
[clang_crash_08_07_2024.zip](https://github.com/user-attachments/files/16128600/clang_crash_08_07_2024.zip)

_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to