Skip to content

Commit 2110e4b

Browse files
committed
/clr and /std:c++20
1 parent f288248 commit 2110e4b

3 files changed

Lines changed: 11 additions & 9 deletions

File tree

.github/workflows/msvc_cli.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,22 @@ jobs:
1414
matrix:
1515
include:
1616

17-
# Visual Studio 2026
18-
- win_ver: '2025-vs2026'
17+
# Visual Studio 2022
18+
- toolset: '14.4'
1919
build_type: 'Release'
2020
test_libcxx20: 'Off'
2121
flags: '/std:c++20 /WX'
22+
win_ver: '2025'
2223

2324
runs-on: windows-${{ matrix.win_ver }}
2425

2526
steps:
2627
- name: Checkout
2728
uses: actions/checkout@v6
29+
- name: Setup MSVC
30+
uses: ilammy/msvc-dev-cmd@v1
31+
with:
32+
toolset: ${{ matrix.toolset }}
2833
- name: Build
2934
env:
3035
CXXFLAGS: ${{ matrix.flags }}

include/momo/MemPool.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class MemPoolConst
3434

3535
public:
3636
static constexpr size_t GetBlockAlignment(size_t blockSize,
37-
size_t maxAlignment = momo::internal::UIntConst::maxAlignment) noexcept // c++/cli
37+
size_t maxAlignment = internal::UIntConst::maxAlignment) noexcept
3838
{
3939
return (maxAlignment > blockSize && maxAlignment > 1)
4040
? GetBlockAlignment(blockSize, maxAlignment / 2) : maxAlignment;

test/CMakeLists.txt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ if(MOMO_TEST_NO_EXCEPTIONS_RTTI)
5252
target_compile_definitions(momo_test PRIVATE MOMO_TEST_NO_EXCEPTIONS_RTTI)
5353
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
5454
string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
55-
string(REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # CMP0117, 3.20+
55+
string(REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # CMP0117, 3.20+
5656
if(MSVC_VERSION LESS 1910)
5757
target_compile_options(momo_test PRIVATE /wd4577)
5858
endif()
@@ -77,13 +77,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
7777
target_compile_definitions(momo_test PRIVATE _SCL_SECURE_NO_WARNINGS)
7878
endif()
7979
if(MSVC_VERSION GREATER_EQUAL 1910)
80-
target_compile_options(momo_test PRIVATE /Zc:__cplusplus)
81-
if(NOT MOMO_TEST_MSVC_CLI)
82-
target_compile_options(momo_test PRIVATE /permissive-)
83-
endif()
80+
target_compile_options(momo_test PRIVATE /Zc:__cplusplus /permissive-)
8481
endif()
8582
if(MOMO_TEST_MSVC_CLI)
86-
set_target_properties(momo_test PROPERTIES COMMON_LANGUAGE_RUNTIME "")
83+
set_target_properties(momo_test PROPERTIES COMMON_LANGUAGE_RUNTIME "") # .NET Framework
8784
set_target_properties(momo_test PROPERTIES CXX_SCAN_FOR_MODULES OFF)
8885
endif()
8986
elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU"

0 commit comments

Comments
 (0)