@PeterSommerlad It does.
In this particular case, MSVC rejects one version of invalid code and incorrectly accepts the other. And I even totally understand why: the Modules TS had a different grammar.
Both Clang and gcc are even worse: they accept *both* ill-formed variants. And they don't have the "legacy" excuse.
This week I've done some #GodotEngine work on #Windows, which I use very rarely.
Got frustrated with the Windows dev experience for a number of good (and bad) reasons, but I channeled this frustration into solving some outstanding pain points for compiling Godot with #MSVC.
A short 🧵
What's the MSVC equivalent of GCC's `-fsyntax-only` flag?
I like to run MSVC on C++ code and have it check syntax and produce diagnostics but nothing else: no object or executable output.
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
EDIT: Answered 👇
#cpp #cplusplus #msvc #visualstudio
I’m going to have to read up on linking an #msvc built library against rust. The MS linker craps out as it sees > 64K symbols; the rust linker can’t match the library function names against mangled ones. Will look into alternative ways to build portaudio tomorrow.
Just found out that #msvc does not follow Annex B of C++ standard and gives error C2026 at a quarter of the size for long strings.
*It actually does follow it, as compilers are not bound to it, though still I'm disappointed.
Since I have my #MSVC 2005 #docker image ready, I can compare binary output sizes between older and newer compilers for #Windows.
It looks like that executable sizes are increasing by ~10% on newer MS compilers, maybe due to security stuff.
Comparing #GCC v5 and v11 on #Linux, I see decreasing sizes by ~10%. I guess that's related to link-time-optimization #LTO which is not enabled on older compilers.
So in the flow of time:
Windows gets bigger,
Linux gets better,
... and I get older. 😄
#msvc #docker #windows #gcc #linux #lto
#vcperf looks very cool for #MSVC build profiling, but I’m not having much luck with it on a locked-down work PC. Can’t even start a session. Paging @TartanLlama
With the latest greatest dev-build of #CMake, we already have #MSVC ARM-64 #assembler integrated, which is planned to be released with CMake 3.26 in Feb 2023.
Now I can use the "ASM_MARMASM" language in CMakeLists.txt to enable native #ARM64 assembler support in Visual Studio 2022 projects.
https://cmake.org/cmake/help/git-stage/release/dev/marmasm-language.html
I was waiting for that feature since last summer, now I can test it on the #apcsilmic Dot 1 Mini PC
https://www.apcsilmic.com/
#cmake #msvc #assembler #arm64 #apcsilmic
#Qt im #VisualStudio erscheint mir nach ersten Tests deutlich flüssiger als im eigenen #QtCreator. Die Umstellung von #MinGW zu #MSVC war auch kein Hexenwerk… Vielleicht sollte man doch mal an der Performance-Schraube drehen beim eigenen Creator, wenn ihn sogar das fremde VS, wahrlich auch kein Performancemonster, outperformt?
#msvc #mingw #qtcreator #visualstudio #qt
Why precompiled headers do (not) improve C++ compile times
http://llunak.blogspot.com/2019/05/why-precompiled-headers-do-not-improve.html
#libreoffice #pch #msvc #clang