[clang] [Sparc][clang] implement `va_arg` in the clang frontend (PR #214981)

via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 26 02:43:19 PDT 2026


github-actions[bot] wrote:

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

* 91089 tests passed
* 1842 tests skipped
* 1 test failed

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

### Clang
<details>
<summary>Clang.CodeGen/Sparc/variadic-aggregate.c</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/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/24/include -nostdsysteminc -triple sparc -emit-llvm -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c    | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c --check-prefixes=SPARC
# 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/24/include -nostdsysteminc -triple sparc -emit-llvm -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c --check-prefixes=SPARC
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:68:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:26:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:26:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:26:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:27:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:133:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:60:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:60:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:60:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:61:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:168:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:80:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:80:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:80:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:81:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:233:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:111:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:111:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:111:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:112:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:268:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:128:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:128:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:128:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:129:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:332:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:159:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:159:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:159:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:160:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:365:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:176:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:176:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:176:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:177:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:432:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:207:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:207:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:207:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:208:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:468:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:224:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:224:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:224:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:225:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:534:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:255:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:255:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:255:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:256:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:571:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:272:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:272:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:272:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:273:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:637:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:303:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:303:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:303:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:304:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:673:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:320:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:320:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:320:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:321:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:739:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg ptr [[TMP0]], ptr
# |                ^
# | <stdin>:351:38: note: scanning from here
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:351:38: note: with "TMP0" equal to "%0"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:351:38: note: pattern attempts to capture variables: "TMP1"
# |  %0 = load ptr, ptr %ap.addr, align 4
# |                                      ^
# | <stdin>:352:3: note: possible intended match here
# |  %argp.cur = load ptr, ptr %0, align 4
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/Sparc/variadic-aggregate.c:775:16: error: SPARC-NEXT: expected string not found in input
# | // SPARC-NEXT: [[TMP1:%.*]] = va_arg
# | ...
# `---data was truncated (10240/45271) (change limit with -D output_limit=N)
# error: command failed with exit status: 1

--

```
</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/214981


More information about the cfe-commits mailing list