zig cc: Treat cu files as C++ source files

First step towards #10634.

Treating stub files as C++ allows to use zig c++ as a host
compiler for nvcc.

Treating cu files as C++ allow using zig c++ as a host compiler in
CMake. CMake calls the host compiler with -E on a cu file to identify
the compiler.

Using zig c++ to directly compile CUDA code is untested.
This commit is contained in:
Daniel Saier 2022-01-27 08:40:06 +01:00 committed by Veikka Tuominen
parent 35423b0054
commit 2f41bd3be4

View File

@ -4198,7 +4198,10 @@ pub fn hasCppExt(filename: []const u8) bool {
return mem.endsWith(u8, filename, ".C") or
mem.endsWith(u8, filename, ".cc") or
mem.endsWith(u8, filename, ".cpp") or
mem.endsWith(u8, filename, ".cxx");
mem.endsWith(u8, filename, ".cxx") or
mem.endsWith(u8, filename, ".cu") or
// .stub files are compiled by nvcc when using `zig c++` as the host compiler. They contain C++ code.
mem.endsWith(u8, filename, ".stub");
}
pub fn hasObjCExt(filename: []const u8) bool {