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