Skip to content

Commit 34589f1

Browse files
committed
Use /Zc:preprocessor instead of MSVC workarounds
Signed-off-by: Gregory Shimansky <[email protected]>
1 parent ae77f77 commit 34589f1

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ if(NOT MSVC)
4141
set(CMAKE_CXX_FLAGS_TRITONBUILDWITHO1 "-O1")
4242
else()
4343
set(CMAKE_CXX_STANDARD 20)
44-
set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /Ob0 /Od /RTC1 /bigobj")
45-
set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /Ob0 /Od /RTC1 /bigobj ")
44+
set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /Ob0 /Od /RTC1 /bigobj /Zc:preprocessor")
45+
set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /Ob0 /Od /RTC1 /bigobj /Zc:preprocessor")
4646
set(CMAKE_EXE_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL")
4747
set(CMAKE_MODULE_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL")
4848
set(CMAKE_SHARED_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL")

python/src/main.cc

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,21 @@
44

55
namespace py = pybind11;
66

7-
#define EXPAND(x) x
87
#define FOR_EACH_1(MACRO, X) MACRO(X)
9-
#define FOR_EACH_2(MACRO, X, ...) \
10-
MACRO(X) EXPAND(FOR_EACH_1(MACRO, __VA_ARGS__))
11-
#define FOR_EACH_3(MACRO, X, ...) \
12-
MACRO(X) EXPAND(FOR_EACH_2(MACRO, __VA_ARGS__))
13-
#define FOR_EACH_4(MACRO, X, ...) \
14-
MACRO(X) EXPAND(FOR_EACH_3(MACRO, __VA_ARGS__))
8+
#define FOR_EACH_2(MACRO, X, ...) MACRO(X) FOR_EACH_1(MACRO, __VA_ARGS__)
9+
#define FOR_EACH_3(MACRO, X, ...) MACRO(X) FOR_EACH_2(MACRO, __VA_ARGS__)
10+
#define FOR_EACH_4(MACRO, X, ...) MACRO(X) FOR_EACH_3(MACRO, __VA_ARGS__)
1511

1612
#define FOR_EACH_NARG(...) FOR_EACH_NARG_(__VA_ARGS__, FOR_EACH_RSEQ_N())
17-
#define FOR_EACH_NARG_(...) EXPAND(FOR_EACH_ARG_N(__VA_ARGS__))
13+
#define FOR_EACH_NARG_(...) FOR_EACH_ARG_N(__VA_ARGS__)
1814
#define FOR_EACH_ARG_N(_1, _2, _3, _4, N, ...) N
1915
#define FOR_EACH_RSEQ_N() 4, 3, 2, 1, 0
2016

2117
#define CONCATENATE(x, y) CONCATENATE1(x, y)
2218
#define CONCATENATE1(x, y) x##y
2319

2420
#define FOR_EACH(MACRO, ...) \
25-
EXPAND(CONCATENATE(FOR_EACH_, \
26-
FOR_EACH_NARG_HELPER(__VA_ARGS__))(MACRO, __VA_ARGS__))
21+
CONCATENATE(FOR_EACH_, FOR_EACH_NARG_HELPER(__VA_ARGS__))(MACRO, __VA_ARGS__)
2722
#define FOR_EACH_NARG_HELPER(...) FOR_EACH_NARG(__VA_ARGS__)
2823

2924
// New macro to remove parentheses

0 commit comments

Comments
 (0)