id summary reporter owner description type status milestone component version severity resolution keywords cc 12375 Patch fixing use of boost::icl w/ MSVC CL.exe /P anonymous Joachim Faulhaber "This patch makes it possible to use this header in programs built using the FASTbuild (http://fastbuild.org) and more precisely its caching feature. Considering the following code: clmacro.cpp: {{{ int main(void) { #define funny_type(x) x funny_type(int)const a = 2; // cl.exe -P clmacro.cpp -> `intconst a` } }}} On MSVC (Visual Studio 2013) Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x86 Copyright (C) Microsoft Corporation. All rights reserved. This compiles correctly by default with `CL.exe` {{{ Cl.exe clmacro.cpp }}} However when using the `/P` compilation flag to obtain the pre-processed source, then trying to compile the resulting file this will fail because const gets stitched to the other symbol before compilation. See: {{{ cl.exe -P -Ficlmacro.i.cpp clmacro.cpp && cl.exe clmacro.i.cpp }}}" Patches new To Be Determined ICL Boost 1.61.0 Problem