With Visual Studio 2015, 2017 (vc 14.0/14.1) building B3BreakCriticalEdges.cpp with the default /O2 (or /Ox) causes an internal compiler error: c:\proj\js\webkit\source\javascriptcore\b3\b3breakcriticaledges.cpp(62) : fatal error C1001: An internal error has occurred in the compiler. (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 255) To work around this problem, try simplifying or changing the program near the locations listed above. Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information INTERNAL COMPILER ERROR in 'C:\PROGRA~2\MICROS~1\2017\PROFES~1\VC\Tools\MSVC\1410~1.250\bin\HostX86\x64\cl.exe' Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information "/Os" builds fine.
Created attachment 313630 [details] make this file build with /Os This fixes it for me, though it does rely on cmake always appending source options. I think that's safe, though.