[clang] [clang] do not abort on u8 string in inline asm (PR #177096)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 21 21:02:10 PST 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 85889 tests passed
* 1212 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### Clang
<details>
<summary>Clang.Sema/asm-no-crash-non-ordinary-string.cpp</summary>

```
Exit Code: -6

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fsyntax-only -verify /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Sema/asm-no-crash-non-ordinary-string.cpp
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fsyntax-only -verify /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Sema/asm-no-crash-non-ordinary-string.cpp
# .---command stderr------------
# | clang: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/Basic/Diagnostic.h:1596: DiagnosticsEngine::ArgumentKind clang::Diagnostic::getArgKind(unsigned int) const: Assertion `Idx < getNumArgs() && "Argument index out of range!"' failed.
# | 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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fsyntax-only -verify /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Sema/asm-no-crash-non-ordinary-string.cpp
# | 1.	/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Sema/asm-no-crash-non-ordinary-string.cpp:4:19: current parser token '}'
# | 2.	/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Sema/asm-no-crash-non-ordinary-string.cpp:3:12: parsing function body 'foo'
# | 3.	/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/Sema/asm-no-crash-non-ordinary-string.cpp:3:12: in compound statement ('{}')
# |  #0 0x0000000008dd50e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:842:13
# |  #1 0x0000000008dd2815 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x0000000008dd5eb1 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:429:38
# |  #3 0x00007f70cb641330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x00007f70cb69ab2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x00007f70cb64127e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x00007f70cb6248ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x00007f70cb62481b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# |  #8 0x00007f70cb637517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# |  #9 0x0000000008fb8332 clang::Diagnostic::FormatDiagnostic(char const*, char const*, llvm::SmallVectorImpl<char>&) const /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Basic/Diagnostic.cpp:0:0
# | #10 0x0000000009bae93c clang::TextDiagnosticBuffer::HandleDiagnostic(clang::DiagnosticsEngine::Level, clang::Diagnostic const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Frontend/TextDiagnosticBuffer.cpp:30:3
# | #11 0x0000000009bb726f clang::VerifyDiagnosticConsumer::HandleDiagnostic(clang::DiagnosticsEngine::Level, clang::Diagnostic const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp:776:1
# | #12 0x0000000008fb613e Report /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Basic/Diagnostic.cpp:625:7
# | #13 0x0000000008fb613e clang::DiagnosticsEngine::ProcessDiag(clang::DiagnosticBuilder const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Basic/Diagnostic.cpp:704:3
# | #14 0x000000000b1b22cc clang::Sema::EmitDiagnostic(unsigned int, clang::DiagnosticBuilder const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema/Sema.cpp:1769:7
# | #15 0x000000000b1ff127 clang::SemaBase::ImmediateDiagBuilder::~ImmediateDiagBuilder() /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema/SemaBase.cpp:31:1
# | #16 0x000000000b1b2e9f clang::SemaBase::SemaDiagnosticBuilder::~SemaDiagnosticBuilder() /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema/Sema.cpp:2091:9
# | #17 0x000000000b82f47b clang::Sema::ActOnGCCAsmStmtString(clang::Expr*, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema/SemaStmtAsm.cpp:0:7
# | #18 0x000000000b059c3e clang::Parser::ParseAsmStringLiteral(bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/Parser.cpp:1579:18
# | #19 0x000000000b1116c7 isInvalid /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/Sema/Ownership.h:200:41
# | #20 0x000000000b1116c7 clang::Parser::ParseAsmStatement(bool&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/ParseStmtAsm.cpp:766:21
# | #21 0x000000000b1029c1 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::LabelDecl*) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/ParseStmt.cpp:331:11
# | #22 0x000000000b101574 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::LabelDecl*) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/ParseStmt.cpp:78:20
# | #23 0x000000000b10b981 clang::Parser::ParseCompoundStatementBody(bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/ParseStmt.cpp:1165:11
# | #24 0x000000000b10c955 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/ParseStmt.cpp:2455:21
# | #25 0x000000000b057f10 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/Parser.cpp:0:0
# | #26 0x000000000b0c4b57 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/ParseDecl.cpp:0:0
# | #27 0x000000000b056e2f clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/Parser.cpp:0:10
# | #28 0x000000000b056736 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/Parser.cpp:1167:12
# | #29 0x000000000b055673 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/Parser.cpp:0:14
# | #30 0x000000000b053a10 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/Parser.cpp:706:10
# | #31 0x000000000b053521 clang::Parser::ParseFirstTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/Parser.cpp:602:23
# | #32 0x000000000b047f6a clang::ParseAST(clang::Sema&, bool, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Parse/ParseAST.cpp:169:5
# | #33 0x0000000009acc286 clang::FrontendAction::Execute() /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1317:10
# | #34 0x0000000009a327dd getPtr /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Error.h:278:42
# | #35 0x0000000009a327dd operator bool /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Error.h:241:16
# | #36 0x0000000009a327dd clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1007:23
# | #37 0x0000000009bbf6ac clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:310:25
# | #38 0x000000000608e259 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/driver/cc1_main.cpp:304:15
# | #39 0x000000000608a025 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/driver/driver.cpp:226:12
# | #40 0x000000000608908d clang_main(int, char**, llvm::ToolContext const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/driver/driver.cpp:274:12
# | #41 0x000000000609a1c7 main /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/driver/clang-driver.cpp:17:10
# | #42 0x00007f70cb6261ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #43 0x00007f70cb62628b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #44 0x0000000006087a65 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang+0x6087a65)
# `-----------------------------
# error: command failed with exit status: -6

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/177096


More information about the cfe-commits mailing list