From 07afeea65fd9a663d5b45db7aaf74716a0689142 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 14 May 2024 09:28:52 +0200 Subject: Add /Zc:preprocessor in experimental cxx.std mode from MSVC 17.9 (19.39) For background, see: https://developercommunity.visualstudio.com/t/Please-clarify-ifwhen-Zc:preprocessor/10537317 --- libbuild2/cxx/init.cxx | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libbuild2/cxx/init.cxx') diff --git a/libbuild2/cxx/init.cxx b/libbuild2/cxx/init.cxx index 0c29d41..2d897ca 100644 --- a/libbuild2/cxx/init.cxx +++ b/libbuild2/cxx/init.cxx @@ -481,6 +481,12 @@ namespace build2 { case compiler_type::msvc: { + // Let's enable the new preprocessor in this mode. For background, + // see MSVC issue 10537317. + // + if (mj > 19 || (mj == 19 && mi >= 39)) + prepend ("/Zc:preprocessor"); + // Starting with 15.5 (19.12) Visual Studio-created projects // default to the strict mode. However, this flag currently tends // to trigger too many compiler bugs. So for now we leave it to -- cgit v1.1