[clang] [clang][Tooling] Fix assertion failure when processing CUDA files (PR #173762)

Joseph Huber via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 12 06:19:17 PST 2026


https://github.com/jhuber6 commented:

I'm not actually sure why this assertion is here, it contradicts my understanding of the OffloadAction. It's mainly used to combine actions so the driver can traverse the tree and propagate information. In the device-only case it will have dependencies for each architecture you passed, which if one if you only passed on.
```
            +- 0: input, "/dev/null", cuda, (device-cuda, sm_89)
         +- 1: preprocessor, {0}, cuda-cpp-output, (device-cuda, sm_89)
      +- 2: compiler, {1}, ir, (device-cuda, sm_89)
   +- 3: backend, {2}, assembler, (device-cuda, sm_89)
+- 4: assembler, {3}, object, (device-cuda, sm_89)
5: offload, "device-cuda (nvptx64-nvidia-cuda:sm_89)" {4}, none
```

>From that it feels like this assertion is too strict, but I've never really worked with the tooling before so I don't know exactly what they were trying to test.

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


More information about the cfe-commits mailing list