<div dir="ltr">Let them know about it.<div><br></div><div>-- Gaby</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 28, 2015 at 2:17 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Looks likely to be an MSVC miscompile, hopefully r236034 should fix it.<div><br></div><div>[The bug is, given:</div><div><br></div><div> struct A { A(); };</div><div> struct B { void *p; A a; };</div><div><br></div><div>MSVC appears not to zero-initialize B::p in the expression B().]<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 28, 2015 at 7:33 AM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Btw, to be clear, I am on r235990, so I also have your memory leak fix.<br>
<span><font color="#888888"><br>
~Aaron<br>
</font></span><div><div><br>
On Tue, Apr 28, 2015 at 10:32 AM, Aaron Ballman <<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>> wrote:<br>
> This commit still has some problems. On Windows with MSVC 2013 debug<br>
> build, I am getting failures like:<br>
><br>
>>lit E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp<br>
> -- Testing: 1 tests, 1 threads --<br>
> FAIL: Clang :: Modules/macro-hiding.cpp (1 of 1)<br>
> ******************** TEST 'Clang :: Modules/macro-hiding.cpp' FAILED<br>
> ********************<br>
> Script:<br>
> --<br>
> rm -rf E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB2 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB2 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB2 -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB1 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB1 -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB1 -DB2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB1 -DB2 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB1 -DB2 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DB1 -DB2 -DC1<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB2 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB2 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB2 -DC1<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB1 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB1 -DC1<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB1 -DB2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB1 -DB2<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB1 -DB2<br>
> -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA2 -DB1 -DB2<br>
> -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB2 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB2 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB2 -DC1<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB1 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB1 -DC1<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB1 -DB2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB1 -DB2<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB1 -DB2<br>
> -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DB1 -DB2<br>
> -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DC1<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB2<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB2<br>
> -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB2<br>
> -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB1<br>
> -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB1<br>
> -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB1<br>
> -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB1<br>
> -DB2<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB1<br>
> -DB2 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB1<br>
> -DB2 -DC1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DA1 -DA2 -DB1<br>
> -DB2 -DC1 -DD1<br>
> E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem<br>
> E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include -nostdsysteminc<br>
> -fmodules -fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp<br>
> -IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding<br>
> E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp -DE1<br>
> --<br>
> Exit Code: -1073741819<br>
><br>
> Command Output (stdout):<br>
> --<br>
> Command 0: "rm" "-rf"<br>
> "E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> Command 0 Result: 0<br>
> Command 0 Output:<br>
><br>
><br>
> Command 0 Stderr:<br>
><br>
><br>
> Command 1: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DD1"<br>
> Command 1 Result: 0<br>
> Command 1 Output:<br>
><br>
><br>
> Command 1 Stderr:<br>
><br>
><br>
> Command 2: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DC1"<br>
> Command 2 Result: 0<br>
> Command 2 Output:<br>
><br>
><br>
> Command 2 Stderr:<br>
><br>
><br>
> Command 3: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DC1" "-DD1"<br>
> Command 3 Result: 0<br>
> Command 3 Output:<br>
><br>
><br>
> Command 3 Stderr:<br>
><br>
><br>
> Command 4: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB2"<br>
> Command 4 Result: 0<br>
> Command 4 Output:<br>
><br>
><br>
> Command 4 Stderr:<br>
><br>
><br>
> Command 5: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB2" "-DD1"<br>
> Command 5 Result: 0<br>
> Command 5 Output:<br>
><br>
><br>
> Command 5 Stderr:<br>
><br>
><br>
> Command 6: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB2" "-DC1"<br>
> Command 6 Result: 0<br>
> Command 6 Output:<br>
><br>
><br>
> Command 6 Stderr:<br>
><br>
><br>
> Command 7: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB2" "-DC1"<br>
> "-DD1"<br>
> Command 7 Result: 0<br>
> Command 7 Output:<br>
><br>
><br>
> Command 7 Stderr:<br>
><br>
><br>
> Command 8: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB1"<br>
> Command 8 Result: 0<br>
> Command 8 Output:<br>
><br>
><br>
> Command 8 Stderr:<br>
><br>
><br>
> Command 9: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB1" "-DD1"<br>
> Command 9 Result: 0<br>
> Command 9 Output:<br>
><br>
><br>
> Command 9 Stderr:<br>
><br>
><br>
> Command 10: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB1" "-DC1"<br>
> Command 10 Result: 0<br>
> Command 10 Output:<br>
><br>
><br>
> Command 10 Stderr:<br>
><br>
><br>
> Command 11: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB1" "-DC1"<br>
> "-DD1"<br>
> Command 11 Result: 0<br>
> Command 11 Output:<br>
><br>
><br>
> Command 11 Stderr:<br>
><br>
><br>
> Command 12: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB1" "-DB2"<br>
> Command 12 Result: 0<br>
> Command 12 Output:<br>
><br>
><br>
> Command 12 Stderr:<br>
><br>
><br>
> Command 13: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB1" "-DB2"<br>
> "-DD1"<br>
> Command 13 Result: 0<br>
> Command 13 Output:<br>
><br>
><br>
> Command 13 Stderr:<br>
><br>
><br>
> Command 14: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB1" "-DB2"<br>
> "-DC1"<br>
> Command 14 Result: 0<br>
> Command 14 Output:<br>
><br>
><br>
> Command 14 Stderr:<br>
><br>
><br>
> Command 15: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DB1" "-DB2"<br>
> "-DC1" "-DD1"<br>
> Command 15 Result: 0<br>
> Command 15 Output:<br>
><br>
><br>
> Command 15 Stderr:<br>
><br>
><br>
> Command 16: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2"<br>
> Command 16 Result: 0<br>
> Command 16 Output:<br>
><br>
><br>
> Command 16 Stderr:<br>
><br>
><br>
> Command 17: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DD1"<br>
> Command 17 Result: 0<br>
> Command 17 Output:<br>
><br>
><br>
> Command 17 Stderr:<br>
><br>
><br>
> Command 18: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DC1"<br>
> Command 18 Result: 0<br>
> Command 18 Output:<br>
><br>
><br>
> Command 18 Stderr:<br>
><br>
><br>
> Command 19: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DC1"<br>
> "-DD1"<br>
> Command 19 Result: 0<br>
> Command 19 Output:<br>
><br>
><br>
> Command 19 Stderr:<br>
><br>
><br>
> Command 20: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB2"<br>
> Command 20 Result: 0<br>
> Command 20 Output:<br>
><br>
><br>
> Command 20 Stderr:<br>
><br>
><br>
> Command 21: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB2"<br>
> "-DD1"<br>
> Command 21 Result: 0<br>
> Command 21 Output:<br>
><br>
><br>
> Command 21 Stderr:<br>
><br>
><br>
> Command 22: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB2"<br>
> "-DC1"<br>
> Command 22 Result: 0<br>
> Command 22 Output:<br>
><br>
><br>
> Command 22 Stderr:<br>
><br>
><br>
> Command 23: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB2"<br>
> "-DC1" "-DD1"<br>
> Command 23 Result: 0<br>
> Command 23 Output:<br>
><br>
><br>
> Command 23 Stderr:<br>
><br>
><br>
> Command 24: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB1"<br>
> Command 24 Result: 0<br>
> Command 24 Output:<br>
><br>
><br>
> Command 24 Stderr:<br>
><br>
><br>
> Command 25: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB1"<br>
> "-DD1"<br>
> Command 25 Result: 0<br>
> Command 25 Output:<br>
><br>
><br>
> Command 25 Stderr:<br>
><br>
><br>
> Command 26: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB1"<br>
> "-DC1"<br>
> Command 26 Result: 0<br>
> Command 26 Output:<br>
><br>
><br>
> Command 26 Stderr:<br>
><br>
><br>
> Command 27: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB1"<br>
> "-DC1" "-DD1"<br>
> Command 27 Result: 0<br>
> Command 27 Output:<br>
><br>
><br>
> Command 27 Stderr:<br>
><br>
><br>
> Command 28: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB1"<br>
> "-DB2"<br>
> Command 28 Result: 0<br>
> Command 28 Output:<br>
><br>
><br>
> Command 28 Stderr:<br>
><br>
><br>
> Command 29: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB1"<br>
> "-DB2" "-DD1"<br>
> Command 29 Result: 0<br>
> Command 29 Output:<br>
><br>
><br>
> Command 29 Stderr:<br>
><br>
><br>
> Command 30: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB1"<br>
> "-DB2" "-DC1"<br>
> Command 30 Result: 0<br>
> Command 30 Output:<br>
><br>
><br>
> Command 30 Stderr:<br>
><br>
><br>
> Command 31: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA2" "-DB1"<br>
> "-DB2" "-DC1" "-DD1"<br>
> Command 31 Result: 0<br>
> Command 31 Output:<br>
><br>
><br>
> Command 31 Stderr:<br>
><br>
><br>
> Command 32: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1"<br>
> Command 32 Result: 0<br>
> Command 32 Output:<br>
><br>
><br>
> Command 32 Stderr:<br>
><br>
><br>
> Command 33: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DD1"<br>
> Command 33 Result: 0<br>
> Command 33 Output:<br>
><br>
><br>
> Command 33 Stderr:<br>
><br>
><br>
> Command 34: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DC1"<br>
> Command 34 Result: 0<br>
> Command 34 Output:<br>
><br>
><br>
> Command 34 Stderr:<br>
><br>
><br>
> Command 35: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DC1"<br>
> "-DD1"<br>
> Command 35 Result: 0<br>
> Command 35 Output:<br>
><br>
><br>
> Command 35 Stderr:<br>
><br>
><br>
> Command 36: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB2"<br>
> Command 36 Result: 0<br>
> Command 36 Output:<br>
><br>
><br>
> Command 36 Stderr:<br>
><br>
><br>
> Command 37: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB2"<br>
> "-DD1"<br>
> Command 37 Result: 0<br>
> Command 37 Output:<br>
><br>
><br>
> Command 37 Stderr:<br>
><br>
><br>
> Command 38: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB2"<br>
> "-DC1"<br>
> Command 38 Result: 0<br>
> Command 38 Output:<br>
><br>
><br>
> Command 38 Stderr:<br>
><br>
><br>
> Command 39: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB2"<br>
> "-DC1" "-DD1"<br>
> Command 39 Result: 0<br>
> Command 39 Output:<br>
><br>
><br>
> Command 39 Stderr:<br>
><br>
><br>
> Command 40: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB1"<br>
> Command 40 Result: 0<br>
> Command 40 Output:<br>
><br>
><br>
> Command 40 Stderr:<br>
><br>
><br>
> Command 41: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB1"<br>
> "-DD1"<br>
> Command 41 Result: 0<br>
> Command 41 Output:<br>
><br>
><br>
> Command 41 Stderr:<br>
><br>
><br>
> Command 42: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB1"<br>
> "-DC1"<br>
> Command 42 Result: 0<br>
> Command 42 Output:<br>
><br>
><br>
> Command 42 Stderr:<br>
><br>
><br>
> Command 43: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB1"<br>
> "-DC1" "-DD1"<br>
> Command 43 Result: 0<br>
> Command 43 Output:<br>
><br>
><br>
> Command 43 Stderr:<br>
><br>
><br>
> Command 44: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB1"<br>
> "-DB2"<br>
> Command 44 Result: 0<br>
> Command 44 Output:<br>
><br>
><br>
> Command 44 Stderr:<br>
><br>
><br>
> Command 45: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB1"<br>
> "-DB2" "-DD1"<br>
> Command 45 Result: 0<br>
> Command 45 Output:<br>
><br>
><br>
> Command 45 Stderr:<br>
><br>
><br>
> Command 46: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB1"<br>
> "-DB2" "-DC1"<br>
> Command 46 Result: 0<br>
> Command 46 Output:<br>
><br>
><br>
> Command 46 Stderr:<br>
><br>
><br>
> Command 47: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DB1"<br>
> "-DB2" "-DC1" "-DD1"<br>
> Command 47 Result: 0<br>
> Command 47 Output:<br>
><br>
><br>
> Command 47 Stderr:<br>
><br>
><br>
> Command 48: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> Command 48 Result: 0<br>
> Command 48 Output:<br>
><br>
><br>
> Command 48 Stderr:<br>
><br>
><br>
> Command 49: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DD1"<br>
> Command 49 Result: 0<br>
> Command 49 Output:<br>
><br>
><br>
> Command 49 Stderr:<br>
><br>
><br>
> Command 50: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DC1"<br>
> Command 50 Result: 0<br>
> Command 50 Output:<br>
><br>
><br>
> Command 50 Stderr:<br>
><br>
><br>
> Command 51: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DC1" "-DD1"<br>
> Command 51 Result: 0<br>
> Command 51 Output:<br>
><br>
><br>
> Command 51 Stderr:<br>
><br>
><br>
> Command 52: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB2"<br>
> Command 52 Result: 0<br>
> Command 52 Output:<br>
><br>
><br>
> Command 52 Stderr:<br>
><br>
><br>
> Command 53: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB2" "-DD1"<br>
> Command 53 Result: 0<br>
> Command 53 Output:<br>
><br>
><br>
> Command 53 Stderr:<br>
><br>
><br>
> Command 54: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB2" "-DC1"<br>
> Command 54 Result: 0<br>
> Command 54 Output:<br>
><br>
><br>
> Command 54 Stderr:<br>
><br>
><br>
> Command 55: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB2" "-DC1" "-DD1"<br>
> Command 55 Result: 0<br>
> Command 55 Output:<br>
><br>
><br>
> Command 55 Stderr:<br>
><br>
><br>
> Command 56: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB1"<br>
> Command 56 Result: 0<br>
> Command 56 Output:<br>
><br>
><br>
> Command 56 Stderr:<br>
><br>
><br>
> Command 57: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB1" "-DD1"<br>
> Command 57 Result: 0<br>
> Command 57 Output:<br>
><br>
><br>
> Command 57 Stderr:<br>
><br>
><br>
> Command 58: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB1" "-DC1"<br>
> Command 58 Result: 0<br>
> Command 58 Output:<br>
><br>
><br>
> Command 58 Stderr:<br>
><br>
><br>
> Command 59: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB1" "-DC1" "-DD1"<br>
> Command 59 Result: 0<br>
> Command 59 Output:<br>
><br>
><br>
> Command 59 Stderr:<br>
><br>
><br>
> Command 60: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB1" "-DB2"<br>
> Command 60 Result: 0<br>
> Command 60 Output:<br>
><br>
><br>
> Command 60 Stderr:<br>
><br>
><br>
> Command 61: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB1" "-DB2" "-DD1"<br>
> Command 61 Result: 0<br>
> Command 61 Output:<br>
><br>
><br>
> Command 61 Stderr:<br>
><br>
><br>
> Command 62: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB1" "-DB2" "-DC1"<br>
> Command 62 Result: 0<br>
> Command 62 Output:<br>
><br>
><br>
> Command 62 Stderr:<br>
><br>
><br>
> Command 63: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DA1" "-DA2"<br>
> "-DB1" "-DB2" "-DC1" "-DD1"<br>
> Command 63 Result: 0<br>
> Command 63 Output:<br>
><br>
><br>
> Command 63 Stderr:<br>
><br>
><br>
> Command 64: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"<br>
> "-internal-isystem"<br>
> "E:\llvm\2013\Debug\bin\..\lib\clang\3.7.0\include" "-nostdsysteminc"<br>
> "-fmodules" "-fmodules-cache-path=E:\llvm\2013\tools\clang\test\Modules\Output\macro-hiding.cpp.tmp"<br>
> "-IE:\llvm\llvm\tools\clang\test\Modules/Inputs/macro-hiding"<br>
> "E:\llvm\llvm\tools\clang\test\Modules\macro-hiding.cpp" "-DE1"<br>
> Command 64 Result: -1073741819<br>
> Command 64 Output:<br>
><br>
><br>
> Command 64 Stderr:<br>
> 0x02A746D1 (0x0900E37C 0x0900E6FC 0x00000000 0x00000000),<br>
> clang::MacroDirective::getLocation() + 0x11 bytes(s),<br>
> e:\llvm\llvm\tools\clang\include\clang\lex\macroinfo.h, line 373 +<br>
> 0x11 byte(s)<br>
><br>
> 0x04775A88 (0x0900E784 0x0900E8B0 0xCCCCCCCC 0x00000001),<br>
> clang::Preprocessor::LeaveSubmodule() + 0xE8 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\lex\pplexerchange.cpp, line 642 + 0xF<br>
> byte(s)<br>
><br>
> 0x04774DE2 (0x085358D0 0x00000000 0x0900E858 0xCCCCCCCC),<br>
> clang::Preprocessor::HandleEndOfFile() + 0x6E2 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\lex\pplexerchange.cpp, line 409<br>
><br>
> 0x0473170C (0x085358D0 0x00ED936B 0x0900EBAC 0x0900E8B0),<br>
> clang::Lexer::LexEndOfFile() + 0x22C bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\lex\lexer.cpp, line 2537<br>
><br>
> 0x0472DABF (0x085358D0 0x00000001 0x0900E8B0 0x0000CCCC),<br>
> clang::Lexer::LexTokenInternal() + 0x11F bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\lex\lexer.cpp, line 2937 + 0x13 byte(s)<br>
><br>
> 0x0472B028 (0x085358D0 0x00000000 0xCC00CCCC 0x00F7FFA8),<br>
> clang::Lexer::Lex() + 0xB8 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\lex\lexer.cpp, line 2888 + 0x11 byte(s)<br>
><br>
> 0x04736A8B (0x085358D0 0x0900E8B0 0x000028BB 0x085358C8),<br>
> clang::Preprocessor::Lex() + 0x5B bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\lex\preprocessor.cpp, line 696 + 0x19<br>
> byte(s)<br>
><br>
> 0x0382C8CE (0x0900E8B4 0x0900F908 0xCCCCCCCC 0x0900EB44),<br>
> clang::Parser::ConsumeBrace() + 0xBE bytes(s),<br>
> e:\llvm\llvm\tools\clang\include\clang\parse\parser.h, line 402<br>
><br>
> 0x0382E279 (0x0900EC18 0xCCCCCCCC 0xCCCCCCCC 0xCCCCCCCC),<br>
> clang::BalancedDelimiterTracker::consumeClose() + 0x49 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\raiiobjectsforparser.h, line 424 +<br>
> 0x14 byte(s)<br>
><br>
> 0x03888E6D (0x0900EBE0 0x00000000 0x0900EDE8 0x0900F908),<br>
> clang::Parser::ParseCompoundStatementBody() + 0x51D bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parsestmt.cpp, line 1006 + 0x8<br>
> byte(s)<br>
><br>
> 0x0388D11F (0x00F5C410 0x0900ECD4 0x0900F528 0x0900F908),<br>
> clang::Parser::ParseFunctionStatementBody() + 0xDF bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parsestmt.cpp, line 1876<br>
><br>
> 0x038280D7 (0x0900F098 0x0900EE84 0x0900F078 0x0900F5A8),<br>
> clang::Parser::ParseFunctionDefinition() + 0x9A7 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parser.cpp, line 1104 + 0x16<br>
> byte(s)<br>
><br>
> 0x03845A6B (0x0900F8AC 0x0900F5E0 0x00000000 0x00000000),<br>
> clang::Parser::ParseDeclGroup() + 0x3FB bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parsedecl.cpp, line 1729 + 0x22<br>
> byte(s)<br>
><br>
> 0x038276C5 (0x0900F8AC 0x0900F8D4 0x0900F5E0 0x00000003),<br>
> clang::Parser::ParseDeclOrFunctionDefInternal() + 0x2D5 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parser.cpp, line 893 + 0x16 byte(s)<br>
><br>
> 0x03827379 (0x0900F8AC 0x0900F8D4 0x00000000 0x00000003),<br>
> clang::Parser::ParseDeclarationOrFunctionDefinition() + 0x89 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parser.cpp, line 909 + 0x1B byte(s)<br>
><br>
> 0x03826DBC (0x0900F8AC 0x0900F8D4 0x00000000 0x0900F98C),<br>
> clang::Parser::ParseExternalDeclaration() + 0x90C bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parser.cpp, line 767 + 0x16 byte(s)<br>
><br>
> 0x03823905 (0x0900F944 0x0900FA34 0x0900F99C 0x085358C8),<br>
> clang::Parser::ParseTopLevelDecl() + 0x205 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parser.cpp, line 569 + 0x12 byte(s)<br>
><br>
> 0x03821BD8 (0x08502358 0x00000000 0x00000000 0x0900F9B8),<br>
> clang::ParseAST() + 0x1B8 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\parse\parseast.cpp, line 144 + 0xC<br>
> byte(s)<br>
><br>
> 0x02AA3011 (0x0900F9E0 0xCCCCCCCC 0xCCCCCCCC 0xCCCCCCCC),<br>
> clang::ASTFrontendAction::ExecuteAction() + 0x101 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\frontend\frontendaction.cpp, line 538 +<br>
> 0x30 byte(s)<br>
><br>
> 0x02AA2BFE (0x00000000 0x0900FA58 0xCCCCCCCC 0xCCCCCCCC),<br>
> clang::FrontendAction::Execute() + 0x7E bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\frontend\frontendaction.cpp, line 439 +<br>
> 0xF byte(s)<br>
><br>
> 0x02A5D561 (0x00BEC750 0x00BEC690 0x0900FA4C 0x02A6771B),<br>
> clang::CompilerInstance::ExecuteAction() + 0x2A1 bytes(s),<br>
> e:\llvm\llvm\tools\clang\lib\frontend\compilerinstance.cpp, line 815<br>
><br>
> 0x02A634DF (0x0900FA60 0x0487E47F 0x00BEC690 0x0900FA9C),<br>
> <lambda_79bb565d560a4752dfd21c67f7bf3bfd>::operator()() + 0x1F<br>
> bytes(s), e:\llvm\llvm\tools\clang\lib\frontend\compilerinstance.cpp,<br>
> line 978 + 0x1F byte(s)<br>
><br>
> 0x02A6771B (0x00BEC690 0x0900FA9C 0x0900FA84 0x0900FA7C),<br>
> llvm::function_ref<void<br>
> __cdecl(void)>::callback_fn<<lambda_79bb565d560a4752dfd21c67f7bf3bfd><br>
>>() + 0xB bytes(s), e:\llvm\llvm\include\llvm\adt\stlextras.h, line 76<br>
><br>
> 0x0487E47F (0x0900FA9C 0xCCCCCCCC 0xCCCCCCCC 0xCCCCCCCC),<br>
> llvm::function_ref<void __cdecl(void)>::operator()() + 0x1F bytes(s),<br>
> e:\llvm\llvm\include\llvm\adt\stlextras.h, line 87 + 0x10 byte(s)<br>
><br>
> 0x0487DE36 (0x02A67710 0x00BEC690 0x00BEC62C 0x0900FAA4),<br>
> llvm::CrashRecoveryContext::RunSafely() + 0xB6 bytes(s),<br>
> e:\llvm\llvm\lib\support\crashrecoverycontext.cpp, line 317<br>
><br>
> 0x0487E0E6 (0x00BEC62C 0x00000000 0x00BEC604 0x0900FAE0),<br>
> RunSafelyOnThread_Dispatch() + 0x36 bytes(s),<br>
> e:\llvm\llvm\lib\support\crashrecoverycontext.cpp, line 364 + 0x15<br>
> byte(s)<br>
><br>
> 0x028324F2 (0x00BEC604 0x2C68CD18 0x00000000 0x00000000),<br>
> ThreadCallback() + 0x22 bytes(s),<br>
> e:\llvm\llvm\lib\support\threading.cpp, line 81 + 0x10 byte(s)<br>
><br>
> 0x01013651 (0x00F7DEC8 0x0900FAF8 0x778D336A 0x00F7DEC8),<br>
> _beginthreadex() + 0x1A1 bytes(s)<br>
><br>
> 0x01013861 (0x00F7DEC8 0x0900FB38 0x77E992B2 0x00F7DAE0),<br>
> _endthreadex() + 0x181 bytes(s)<br>
><br>
> 0x778D336A (0x00F7DAE0 0x5DF45C7C 0x00000000 0x00000000),<br>
> BaseThreadInitThunk() + 0x12 bytes(s)<br>
><br>
> 0x77E992B2 (0x010137B0 0x00F7DAE0 0x00000000 0x00000000),<br>
> RtlInitializeExceptionChain() + 0x63 bytes(s)<br>
><br>
> 0x77E99285 (0x010137B0 0x00F7DAE0 0x00000000 0x00000000),<br>
> RtlInitializeExceptionChain() + 0x36 bytes(s)<br>
><br>
><br>
><br>
><br>
> --<br>
><br>
> ********************<br>
> Testing Time: 42.97s<br>
> ********************<br>
> Failing Tests (1):<br>
> Clang :: Modules/macro-hiding.cpp<br>
><br>
> Unexpected Failures: 1<br>
><br>
> There are other tests failing from this as well with identical call stacks.<br>
><br>
> ~Aaron<br>
><br>
> On Mon, Apr 27, 2015 at 10:59 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>> wrote:<br>
>> Thanks, fixed.<br>
>><br>
>> On Mon, Apr 27, 2015 at 5:23 PM, Alexey Samsonov <<a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a>> wrote:<br>
>>><br>
>>> Hi Richard,<br>
>>><br>
>>> Looks like this broke down ASan bootstrap:<br>
>>> <a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/3434/steps/check-clang%20asan/logs/stdio" target="_blank">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/3434/steps/check-clang%20asan/logs/stdio</a><br>
>>><br>
>>> On Mon, Apr 27, 2015 at 4:21 PM, Richard Smith<br>
>>> <<a href="mailto:richard-llvm@metafoo.co.uk" target="_blank">richard-llvm@metafoo.co.uk</a>> wrote:<br>
>>>><br>
>>>> Author: rsmith<br>
>>>> Date: Mon Apr 27 18:21:38 2015<br>
>>>> New Revision: 235941<br>
>>>><br>
>>>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=235941&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=235941&view=rev</a><br>
>>>> Log:<br>
>>>> [modules] Incrementally compute the list of overridden module macros<br>
>>>> based on<br>
>>>> the active module macros at the point of definition, rather than<br>
>>>> reconstructing<br>
>>>> it from the macro history. No functionality change intended.<br>
>>>><br>
>>>> Modified:<br>
>>>> cfe/trunk/include/clang/Lex/Preprocessor.h<br>
>>>> cfe/trunk/lib/Lex/PPDirectives.cpp<br>
>>>> cfe/trunk/lib/Lex/PPLexerChange.cpp<br>
>>>> cfe/trunk/lib/Lex/PPMacroExpansion.cpp<br>
>>>> cfe/trunk/lib/Lex/Preprocessor.cpp<br>
>>>><br>
>>>> Modified: cfe/trunk/include/clang/Lex/Preprocessor.h<br>
>>>> URL:<br>
>>>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Preprocessor.h?rev=235941&r1=235940&r2=235941&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Preprocessor.h?rev=235941&r1=235940&r2=235941&view=diff</a><br>
>>>><br>
>>>> ==============================================================================<br>
>>>> --- cfe/trunk/include/clang/Lex/Preprocessor.h (original)<br>
>>>> +++ cfe/trunk/include/clang/Lex/Preprocessor.h Mon Apr 27 18:21:38 2015<br>
>>>> @@ -364,57 +364,104 @@ class Preprocessor : public RefCountedBa<br>
>>>> };<br>
>>>> SmallVector<MacroExpandsInfo, 2> DelayedMacroExpandsCallbacks;<br>
>>>><br>
>>>> + /// Information about a name that has been used to define a module<br>
>>>> macro.<br>
>>>> + struct ModuleMacroInfo {<br>
>>>> + ModuleMacroInfo(MacroDirective *MD)<br>
>>>> + : MD(MD), ActiveModuleMacrosGeneration(0) {}<br>
>>>> +<br>
>>>> + /// The most recent macro directive for this identifier.<br>
>>>> + MacroDirective *MD;<br>
>>>> + /// The active module macros for this identifier.<br>
>>>> + llvm::TinyPtrVector<ModuleMacro*> ActiveModuleMacros;<br>
>>>> + /// The generation number at which we last updated<br>
>>>> ActiveModuleMacros.<br>
>>>> + /// \see Preprocessor::MacroVisibilityGeneration.<br>
>>>> + unsigned ActiveModuleMacrosGeneration;<br>
>>>> + /// Whether this macro name is ambiguous.<br>
>>>> + bool IsAmbiguous;<br>
>>>> + /// The module macros that are overridden by this macro.<br>
>>>> + llvm::TinyPtrVector<ModuleMacro*> OverriddenMacros;<br>
>>>> + };<br>
>>>> +<br>
>>>> /// The state of a macro for an identifier.<br>
>>>> class MacroState {<br>
>>>> - struct ExtInfo {<br>
>>>> - ExtInfo(MacroDirective *MD) : MD(MD) {}<br>
>>>> -<br>
>>>> - // The most recent macro directive for this identifier.<br>
>>>> - MacroDirective *MD;<br>
>>>> - // The module macros that are overridden by this macro.<br>
>>>> - SmallVector<ModuleMacro*, 4> OverriddenMacros;<br>
>>>> - };<br>
>>>> + mutable llvm::PointerUnion<MacroDirective *, ModuleMacroInfo *><br>
>>>> State;<br>
>>>><br>
>>>> - llvm::PointerUnion<MacroDirective *, ExtInfo *> State;<br>
>>>> -<br>
>>>> - ExtInfo &getExtInfo(Preprocessor &PP) {<br>
>>>> - auto *Ext = State.dyn_cast<ExtInfo*>();<br>
>>>> - if (!Ext) {<br>
>>>> - Ext = new (PP.getPreprocessorAllocator())<br>
>>>> - ExtInfo(State.get<MacroDirective *>());<br>
>>>> - State = Ext;<br>
>>>> + ModuleMacroInfo *getModuleInfo(Preprocessor &PP, IdentifierInfo *II)<br>
>>>> const {<br>
>>>> + // FIXME: Find a spare bit on IdentifierInfo and store a<br>
>>>> + // HasModuleMacros flag.<br>
>>>> + if (!II->hasMacroDefinition() || !PP.getLangOpts().Modules ||<br>
>>>> + !PP.MacroVisibilityGeneration)<br>
>>>> + return nullptr;<br>
>>>> +<br>
>>>> + auto *Info = State.dyn_cast<ModuleMacroInfo*>();<br>
>>>> + if (!Info) {<br>
>>>> + Info = new (PP.getPreprocessorAllocator())<br>
>>>> + ModuleMacroInfo(State.get<MacroDirective *>());<br>
>>>> + State = Info;<br>
>>>> }<br>
>>>> - return *Ext;<br>
>>>> +<br>
>>>> + if (PP.MacroVisibilityGeneration !=<br>
>>>> Info->ActiveModuleMacrosGeneration)<br>
>>>> + PP.updateModuleMacroInfo(II, *Info);<br>
>>>> + return Info;<br>
>>>> }<br>
>>>><br>
>>>> public:<br>
>>>> MacroState() : MacroState(nullptr) {}<br>
>>>> MacroState(MacroDirective *MD) : State(MD) {}<br>
>>>> MacroDirective *getLatest() const {<br>
>>>> - if (auto *Ext = State.dyn_cast<ExtInfo*>())<br>
>>>> - return Ext->MD;<br>
>>>> + if (auto *Info = State.dyn_cast<ModuleMacroInfo*>())<br>
>>>> + return Info->MD;<br>
>>>> return State.get<MacroDirective*>();<br>
>>>> }<br>
>>>> void setLatest(MacroDirective *MD) {<br>
>>>> - if (auto *Ext = State.dyn_cast<ExtInfo*>())<br>
>>>> - Ext->MD = MD;<br>
>>>> + if (auto *Info = State.dyn_cast<ModuleMacroInfo*>())<br>
>>>> + Info->MD = MD;<br>
>>>> else<br>
>>>> State = MD;<br>
>>>> }<br>
>>>><br>
>>>> + bool isAmbiguous(Preprocessor &PP, IdentifierInfo *II) const {<br>
>>>> + auto *Info = getModuleInfo(PP, II);<br>
>>>> + return Info ? Info->IsAmbiguous : false;<br>
>>>> + }<br>
>>>> + ArrayRef<ModuleMacro *> getActiveModuleMacros(Preprocessor &PP,<br>
>>>> + IdentifierInfo *II)<br>
>>>> const {<br>
>>>> + if (auto *Info = getModuleInfo(PP, II))<br>
>>>> + return Info->ActiveModuleMacros;<br>
>>>> + return None;<br>
>>>> + }<br>
>>>> +<br>
>>>> MacroDirective::DefInfo findDirectiveAtLoc(SourceLocation Loc,<br>
>>>> SourceManager &SourceMgr)<br>
>>>> const {<br>
>>>> + // FIXME: Incorporate module macros into the result of this.<br>
>>>> return getLatest()->findDirectiveAtLoc(Loc, SourceMgr);<br>
>>>> }<br>
>>>><br>
>>>> - void addOverriddenMacro(Preprocessor &PP, ModuleMacro *MM) {<br>
>>>> - getExtInfo(PP).OverriddenMacros.push_back(MM);<br>
>>>> + void overrideActiveModuleMacros(Preprocessor &PP, IdentifierInfo<br>
>>>> *II) {<br>
>>>> + if (auto *Info = getModuleInfo(PP, II)) {<br>
>>>> + for (auto *Active : Info->ActiveModuleMacros)<br>
>>>> + Info->OverriddenMacros.push_back(Active);<br>
>>>> + Info->ActiveModuleMacros.clear();<br>
>>>> + Info->IsAmbiguous = false;<br>
>>>> + }<br>
>>>> }<br>
>>>> ArrayRef<ModuleMacro*> getOverriddenMacros() const {<br>
>>>> - if (auto *Ext = State.dyn_cast<ExtInfo*>())<br>
>>>> - return Ext->OverriddenMacros;<br>
>>>> + if (auto *Info = State.dyn_cast<ModuleMacroInfo*>())<br>
>>>> + return Info->OverriddenMacros;<br>
>>>> return None;<br>
>>>> }<br>
>>>> + void setOverriddenMacros(ArrayRef<ModuleMacro*> Overrides) {<br>
>>>> + auto *Info = State.dyn_cast<ModuleMacroInfo*>();<br>
>>>> + if (!Info) {<br>
>>>> + assert(Overrides.empty() &&<br>
>>>> + "have overrides but never had module macro");<br>
>>>> + return;<br>
>>>> + }<br>
>>>> + Info->OverriddenMacros.clear();<br>
>>>> + Info->OverriddenMacros.insert(Info->OverriddenMacros.end(),<br>
>>>> + Overrides.begin(), Overrides.end());<br>
>>>> + Info->ActiveModuleMacrosGeneration = 0;<br>
>>>> + }<br>
>>>> };<br>
>>>><br>
>>>> typedef llvm::DenseMap<const IdentifierInfo *, MacroState> MacroMap;<br>
>>>> @@ -435,8 +482,13 @@ class Preprocessor : public RefCountedBa<br>
>>>> Module *M;<br>
>>>> /// The location at which the module was included.<br>
>>>> SourceLocation ImportLoc;<br>
>>>> +<br>
>>>> + struct SavedMacroInfo {<br>
>>>> + MacroDirective *Latest;<br>
>>>> + llvm::TinyPtrVector<ModuleMacro*> Overridden;<br>
>>>> + };<br>
>>>> /// The macros that were visible before we entered the module.<br>
>>>> - MacroMap Macros;<br>
>>>> + llvm::DenseMap<const IdentifierInfo*, SavedMacroInfo> Macros;<br>
>>>><br>
>>>> // FIXME: VisibleModules?<br>
>>>> // FIXME: CounterValue?<br>
>>>> @@ -447,6 +499,10 @@ class Preprocessor : public RefCountedBa<br>
>>>> void EnterSubmodule(Module *M, SourceLocation ImportLoc);<br>
>>>> void LeaveSubmodule();<br>
>>>><br>
>>>> + /// Update the set of active module macros and ambiguity flag for a<br>
>>>> module<br>
>>>> + /// macro name.<br>
>>>> + void updateModuleMacroInfo(IdentifierInfo *II, ModuleMacroInfo &Info);<br>
>>>> +<br>
>>>> /// The set of known macros exported from modules.<br>
>>>> llvm::FoldingSet<ModuleMacro> ModuleMacros;<br>
>>>><br>
>>>> @@ -455,6 +511,10 @@ class Preprocessor : public RefCountedBa<br>
>>>> llvm::DenseMap<const IdentifierInfo *,<br>
>>>> llvm::TinyPtrVector<ModuleMacro*>><br>
>>>> LeafModuleMacros;<br>
>>>><br>
>>>> + /// The generation number for module macros. Incremented each time the<br>
>>>> set<br>
>>>> + /// of modules with visible macros changes.<br>
>>>> + unsigned MacroVisibilityGeneration;<br>
>>>> +<br>
>>>> /// \brief Macros that we want to warn because they are not used at<br>
>>>> the end<br>
>>>> /// of the translation unit.<br>
>>>> ///<br>
>>>><br>
>>>> Modified: cfe/trunk/lib/Lex/PPDirectives.cpp<br>
>>>> URL:<br>
>>>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPDirectives.cpp?rev=235941&r1=235940&r2=235941&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPDirectives.cpp?rev=235941&r1=235940&r2=235941&view=diff</a><br>
>>>><br>
>>>> ==============================================================================<br>
>>>> --- cfe/trunk/lib/Lex/PPDirectives.cpp (original)<br>
>>>> +++ cfe/trunk/lib/Lex/PPDirectives.cpp Mon Apr 27 18:21:38 2015<br>
>>>> @@ -1693,6 +1693,7 @@ void Preprocessor::HandleIncludeDirectiv<br>
>>>> ModuleLoadResult Imported<br>
>>>> = TheModuleLoader.loadModule(IncludeTok.getLocation(), Path,<br>
>>>> Visibility,<br>
>>>> /*IsIncludeDirective=*/true);<br>
>>>> + ++MacroVisibilityGeneration;<br>
>>>> assert((Imported == nullptr || Imported ==<br>
>>>> SuggestedModule.getModule()) &&<br>
>>>> "the imported module is different than the suggested one");<br>
>>>><br>
>>>><br>
>>>> Modified: cfe/trunk/lib/Lex/PPLexerChange.cpp<br>
>>>> URL:<br>
>>>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPLexerChange.cpp?rev=235941&r1=235940&r2=235941&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPLexerChange.cpp?rev=235941&r1=235940&r2=235941&view=diff</a><br>
>>>><br>
>>>> ==============================================================================<br>
>>>> --- cfe/trunk/lib/Lex/PPLexerChange.cpp (original)<br>
>>>> +++ cfe/trunk/lib/Lex/PPLexerChange.cpp Mon Apr 27 18:21:38 2015<br>
>>>> @@ -616,7 +616,13 @@ void Preprocessor::EnterSubmodule(Module<br>
>>>> auto &Info = BuildingSubmoduleStack.back();<br>
>>>> // Copy across our macros and start the submodule with the current<br>
>>>> state.<br>
>>>> // FIXME: We should start each submodule with just the predefined<br>
>>>> macros.<br>
>>>> - Info.Macros = Macros;<br>
>>>> + for (auto &M : Macros) {<br>
>>>> + BuildingSubmoduleInfo::SavedMacroInfo SMI;<br>
>>>> + SMI.Latest = M.second.getLatest();<br>
>>>> + auto O = M.second.getOverriddenMacros();<br>
>>>> + SMI.Overridden.insert(SMI.Overridden.end(), O.begin(), O.end());<br>
>>>> + Info.Macros.insert(std::make_pair(M.first, SMI));<br>
>>>> + }<br>
>>>> }<br>
>>>><br>
>>>> void Preprocessor::LeaveSubmodule() {<br>
>>>> @@ -625,12 +631,12 @@ void Preprocessor::LeaveSubmodule() {<br>
>>>> // Create ModuleMacros for any macros defined in this submodule.<br>
>>>> for (auto &Macro : Macros) {<br>
>>>> auto *II = const_cast<IdentifierInfo*>(Macro.first);<br>
>>>> - MacroState State = Info.Macros.lookup(II);<br>
>>>> + auto SavedInfo = Info.Macros.lookup(II);<br>
>>>><br>
>>>> // This module may have exported a new macro. If so, create a<br>
>>>> ModuleMacro<br>
>>>> // representing that fact.<br>
>>>> bool ExplicitlyPublic = false;<br>
>>>> - for (auto *MD = Macro.second.getLatest(); MD != State.getLatest();<br>
>>>> + for (auto *MD = Macro.second.getLatest(); MD != SavedInfo.Latest;<br>
>>>> MD = MD->getPrevious()) {<br>
>>>> // Skip macros defined in other submodules we #included along the<br>
>>>> way.<br>
>>>> Module *Mod = getModuleContainingLocation(MD->getLocation());<br>
>>>> @@ -659,11 +665,15 @@ void Preprocessor::LeaveSubmodule() {<br>
>>>> }<br>
>>>> }<br>
>>>><br>
>>>> - // Update the macro to refer to the latest directive in the chain.<br>
>>>> - State.setLatest(Macro.second.getLatest());<br>
>>>> + // Restore the macro's overrides list.<br>
>>>> + Macro.second.setOverriddenMacros(SavedInfo.Overridden);<br>
>>>> + }<br>
>>>><br>
>>>> - // Restore the old macro state.<br>
>>>> - Macro.second = State;<br>
>>>> + if (Info.M->NameVisibility < Module::MacrosVisible) {<br>
>>>> + Info.M->NameVisibility = Module::MacrosVisible;<br>
>>>> + Info.M->MacroVisibilityLoc = Info.ImportLoc;<br>
>>>> + ++MacroVisibilityGeneration;<br>
>>>> + // FIXME: Also mark any exported macros as visible, and check for<br>
>>>> conflicts.<br>
>>>> }<br>
>>>><br>
>>>> BuildingSubmoduleStack.pop_back();<br>
>>>><br>
>>>> Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp<br>
>>>> URL:<br>
>>>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=235941&r1=235940&r2=235941&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=235941&r1=235940&r2=235941&view=diff</a><br>
>>>><br>
>>>> ==============================================================================<br>
>>>> --- cfe/trunk/lib/Lex/PPMacroExpansion.cpp (original)<br>
>>>> +++ cfe/trunk/lib/Lex/PPMacroExpansion.cpp Mon Apr 27 18:21:38 2015<br>
>>>> @@ -50,6 +50,7 @@ void Preprocessor::appendMacroDirective(<br>
>>>> auto *OldMD = StoredMD.getLatest();<br>
>>>> MD->setPrevious(OldMD);<br>
>>>> StoredMD.setLatest(MD);<br>
>>>> + StoredMD.overrideActiveModuleMacros(*this, II);<br>
>>>><br>
>>>> // Set up the identifier as having associated macro history.<br>
>>>> II->setHasMacroDefinition(true);<br>
>>>> @@ -57,43 +58,6 @@ void Preprocessor::appendMacroDirective(<br>
>>>> II->setHasMacroDefinition(false);<br>
>>>> if (II->isFromAST() && !MD->isImported())<br>
>>>> II->setChangedSinceDeserialization();<br>
>>>> -<br>
>>>> - // Accumulate any overridden imported macros.<br>
>>>> - if (!MD->isImported() && getCurrentModule()) {<br>
>>>> - Module *OwningMod = getModuleContainingLocation(MD->getLocation());<br>
>>>> - if (!OwningMod)<br>
>>>> - return;<br>
>>>> -<br>
>>>> - for (auto *PrevMD = OldMD; PrevMD; PrevMD = PrevMD->getPrevious()) {<br>
>>>> - Module *DirectiveMod =<br>
>>>> getModuleContainingLocation(PrevMD->getLocation());<br>
>>>> - if (ModuleMacro *PrevMM = PrevMD->getOwningModuleMacro())<br>
>>>> - StoredMD.addOverriddenMacro(*this, PrevMM);<br>
>>>> - else if (ModuleMacro *PrevMM = getModuleMacro(DirectiveMod, II))<br>
>>>> - // The previous macro was from another submodule that we<br>
>>>> #included.<br>
>>>> - // FIXME: Create an import directive when importing a macro from<br>
>>>> a local<br>
>>>> - // submodule.<br>
>>>> - StoredMD.addOverriddenMacro(*this, PrevMM);<br>
>>>> - else<br>
>>>> - // We're still within the module defining the previous macro. We<br>
>>>> don't<br>
>>>> - // override it.<br>
>>>> - break;<br>
>>>> -<br>
>>>> - // Stop once we leave the original macro's submodule.<br>
>>>> - //<br>
>>>> - // Either this submodule #included another submodule of the same<br>
>>>> - // module or it just happened to be built after the other module.<br>
>>>> - // In the former case, we override the submodule's macro.<br>
>>>> - //<br>
>>>> - // FIXME: In the latter case, we shouldn't do so, but we can't<br>
>>>> tell<br>
>>>> - // these cases apart.<br>
>>>> - //<br>
>>>> - // FIXME: We can leave this submodule and re-enter it if it<br>
>>>> #includes a<br>
>>>> - // header within a different submodule of the same module. In such<br>
>>>> cases<br>
>>>> - // the overrides list will be incomplete.<br>
>>>> - if (DirectiveMod != OwningMod || !PrevMD->isImported())<br>
>>>> - break;<br>
>>>> - }<br>
>>>> - }<br>
>>>> }<br>
>>>><br>
>>>> void Preprocessor::setLoadedMacroDirective(IdentifierInfo *II,<br>
>>>> @@ -157,6 +121,71 @@ ModuleMacro *Preprocessor::getModuleMacr<br>
>>>> return ModuleMacros.FindNodeOrInsertPos(ID, InsertPos);<br>
>>>> }<br>
>>>><br>
>>>> +void Preprocessor::updateModuleMacroInfo(IdentifierInfo *II,<br>
>>>> + ModuleMacroInfo &Info) {<br>
>>>> + assert(Info.ActiveModuleMacrosGeneration != MacroVisibilityGeneration<br>
>>>> &&<br>
>>>> + "don't need to update this macro name info");<br>
>>>> + Info.ActiveModuleMacrosGeneration = MacroVisibilityGeneration;<br>
>>>> +<br>
>>>> + auto Leaf = LeafModuleMacros.find(II);<br>
>>>> + if (Leaf == LeafModuleMacros.end()) {<br>
>>>> + // No imported macros at all: nothing to do.<br>
>>>> + return;<br>
>>>> + }<br>
>>>> +<br>
>>>> + Info.ActiveModuleMacros.clear();<br>
>>>> +<br>
>>>> + // Every macro that's locally overridden is overridden by a visible<br>
>>>> macro.<br>
>>>> + llvm::DenseMap<ModuleMacro *, int> NumHiddenOverrides;<br>
>>>> + for (auto *O : Info.OverriddenMacros)<br>
>>>> + NumHiddenOverrides[O] = -1;<br>
>>>> +<br>
>>>> + // Collect all macros that are not overridden by a visible macro.<br>
>>>> + llvm::SmallVector<ModuleMacro *, 16> Worklist(Leaf->second.begin(),<br>
>>>> + Leaf->second.end());<br>
>>>> + while (!Worklist.empty()) {<br>
>>>> + auto *MM = Worklist.pop_back_val();<br>
>>>> + if (MM->getOwningModule()->NameVisibility >= Module::MacrosVisible)<br>
>>>> {<br>
>>>> + // We only care about collecting definitions; undefinitions only<br>
>>>> act<br>
>>>> + // to override other definitions.<br>
>>>> + if (MM->getMacroInfo())<br>
>>>> + Info.ActiveModuleMacros.push_back(MM);<br>
>>>> + } else {<br>
>>>> + for (auto *O : MM->overrides())<br>
>>>> + if ((unsigned)++NumHiddenOverrides[O] ==<br>
>>>> O->getNumOverridingMacros())<br>
>>>> + Worklist.push_back(O);<br>
>>>> + }<br>
>>>> + }<br>
>>>> +<br>
>>>> + // Determine whether the macro name is ambiguous.<br>
>>>> + Info.IsAmbiguous = false;<br>
>>>> + MacroInfo *MI = nullptr;<br>
>>>> + bool IsSystemMacro = false;<br>
>>>> + if (auto *DMD = dyn_cast<DefMacroDirective>(Info.MD)) {<br>
>>>> + MI = DMD->getInfo();<br>
>>>> + IsSystemMacro = SourceMgr.isInSystemHeader(DMD->getLocation());<br>
>>>> + }<br>
>>>> + for (auto *Active : Info.ActiveModuleMacros) {<br>
>>>> + auto *NewMI = Active->getMacroInfo();<br>
>>>> +<br>
>>>> + // Before marking the macro as ambiguous, check if this is a case<br>
>>>> where<br>
>>>> + // both macros are in system headers. If so, we trust that the<br>
>>>> system<br>
>>>> + // did not get it wrong. This also handles cases where Clang's own<br>
>>>> + // headers have a different spelling of certain system macros:<br>
>>>> + // #define LONG_MAX __LONG_MAX__ (clang's limits.h)<br>
>>>> + // #define LONG_MAX 0x7fffffffffffffffL (system's limits.h)<br>
>>>> + //<br>
>>>> + // FIXME: Remove the defined-in-system-headers check. clang's<br>
>>>> limits.h<br>
>>>> + // overrides the system limits.h's macros, so there's no conflict<br>
>>>> here.<br>
>>>> + IsSystemMacro &= Active->getOwningModule()->IsSystem;<br>
>>>> + if (MI && NewMI != MI && !IsSystemMacro &&<br>
>>>> + !MI->isIdenticalTo(*NewMI, *this, /*Syntactically=*/true)) {<br>
>>>> + Info.IsAmbiguous = true;<br>
>>>> + break;<br>
>>>> + }<br>
>>>> + }<br>
>>>> +}<br>
>>>> +<br>
>>>> /// RegisterBuiltinMacro - Register the specified identifier in the<br>
>>>> identifier<br>
>>>> /// table and mark it as a builtin macro to be expanded.<br>
>>>> static IdentifierInfo *RegisterBuiltinMacro(Preprocessor &PP, const char<br>
>>>> *Name){<br>
>>>><br>
>>>> Modified: cfe/trunk/lib/Lex/Preprocessor.cpp<br>
>>>> URL:<br>
>>>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/Preprocessor.cpp?rev=235941&r1=235940&r2=235941&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/Preprocessor.cpp?rev=235941&r1=235940&r2=235941&view=diff</a><br>
>>>><br>
>>>> ==============================================================================<br>
>>>> --- cfe/trunk/lib/Lex/Preprocessor.cpp (original)<br>
>>>> +++ cfe/trunk/lib/Lex/Preprocessor.cpp Mon Apr 27 18:21:38 2015<br>
>>>> @@ -73,7 +73,8 @@ Preprocessor::Preprocessor(IntrusiveRefC<br>
>>>> ModuleImportExpectsIdentifier(false), CodeCompletionReached(0),<br>
>>>> MainFileDir(nullptr), SkipMainFilePreamble(0, true),<br>
>>>> CurPPLexer(nullptr),<br>
>>>> CurDirLookup(nullptr), CurLexerKind(CLK_Lexer),<br>
>>>> CurSubmodule(nullptr),<br>
>>>> - Callbacks(nullptr), MacroArgCache(nullptr), Record(nullptr),<br>
>>>> + Callbacks(nullptr), MacroVisibilityGeneration(0),<br>
>>>> + MacroArgCache(nullptr), Record(nullptr),<br>
>>>> MIChainHead(nullptr), DeserialMIChainHead(nullptr) {<br>
>>>> OwnsHeaderSearch = OwnsHeaders;<br>
>>>><br>
>>>> @@ -748,11 +749,13 @@ void Preprocessor::LexAfterModuleImport(<br>
>>>> // If we have a non-empty module path, load the named module.<br>
>>>> if (!ModuleImportPath.empty()) {<br>
>>>> Module *Imported = nullptr;<br>
>>>> - if (getLangOpts().Modules)<br>
>>>> + if (getLangOpts().Modules) {<br>
>>>> Imported = TheModuleLoader.loadModule(ModuleImportLoc,<br>
>>>> ModuleImportPath,<br>
>>>> Module::MacrosVisible,<br>
>>>><br>
>>>> /*IsIncludeDirective=*/false);<br>
>>>> + ++MacroVisibilityGeneration;<br>
>>>> + }<br>
>>>> if (Callbacks && (getLangOpts().Modules ||<br>
>>>> getLangOpts().DebuggerSupport))<br>
>>>> Callbacks->moduleImport(ModuleImportLoc, ModuleImportPath,<br>
>>>> Imported);<br>
>>>> }<br>
>>>><br>
>>>><br>
>>>> _______________________________________________<br>
>>>> cfe-commits mailing list<br>
>>>> <a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
>>>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Alexey Samsonov<br>
>>> <a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a><br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> cfe-commits mailing list<br>
>> <a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
>><br>
</div></div></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div><br></div>