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,,,