Skip to content

Commit 9d315bc

Browse files
authored
[clang][driver][clang-cl] Fix unused argument warning for /std:c++20 for precompiled module inputs to clang-cl (#99300)
Relates to #98761: `-fmodule-file` requires `/std:c++20` or greater, but passing that option results in an unused argument warning. This resolves that.
1 parent a753c99 commit 9d315bc

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

clang/lib/Driver/Types.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,9 @@ bool types::isCXX(ID Id) {
242242
case TY_CXXHUHeader:
243243
case TY_PP_CXXHeaderUnit:
244244
case TY_ObjCXXHeader: case TY_PP_ObjCXXHeader:
245-
case TY_CXXModule: case TY_PP_CXXModule:
245+
case TY_CXXModule:
246+
case TY_PP_CXXModule:
247+
case TY_ModuleFile:
246248
case TY_PP_CLCXX:
247249
case TY_CUDA: case TY_PP_CUDA: case TY_CUDA_DEVICE:
248250
case TY_HIP:

clang/test/Driver/cl-cxx20-modules.cppm

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
// RUN: rm -rf %t
2+
// RUN: split-file %s %t
3+
14
// RUN: %clang_cl /std:c++20 --precompile -### -- %s 2>&1 | FileCheck --check-prefix=PRECOMPILE %s
25
// PRECOMPILE: -emit-module-interface
36

@@ -6,3 +9,8 @@
69

710
// RUN: %clang_cl /std:c++20 --fprebuilt-module-path=. -### -- %s 2>&1 | FileCheck --check-prefix=FPREBUILT %s
811
// FPREBUILT: -fprebuilt-module-path=.
12+
13+
// RUN: %clang_cl %t/test.pcm /std:c++20 -### 2>&1 | FileCheck --check-prefix=CPP20WARNING %t/test.pcm
14+
15+
//--- test.pcm
16+
// CPP20WARNING-NOT: clang-cl: warning: argument unused during compilation: '/std:c++20' [-Wunused-command-line-argument]

0 commit comments

Comments
 (0)