LLVM Bug: x86-64 inline assembly fails with "symbol is already defined" for local labels under optimization (-O1+)

When compiling x86-64 inline assembly that contains explicitly named local labels (e.g., `.Lcoro_resume_task_ret_addr`), Clang throws a "symbol is already defined" error if optimizations (-O1, -O2, -O3) are enabled. The exact same code compiles successfully at -O0 in Clang, and works perfectly across all optimization levels in GCC.

https://github.com/llvm/llvm-project/issues/181310

#llvm #x86_64 #x86

Bug: x86-64 inline assembly fails with "symbol is already defined" for local labels under optimization (-O1+) · Issue #181310 · llvm/llvm-project

Ammar Faizi - 2026-02-13 Summary When compiling x86-64 inline assembly that contains explicitly named local labels (e.g., .Lcoro_resume_task_ret_addr), Clang throws a "symbol is already defined" er...

GitHub