There's a trivial coding mistake in vs2008's and vs2010's "DIA SDK\Samples\DIA2Dump\dia2dump.cpp", line 909, function DumpAllTypes().bool DumpAllTypes(IDiaSymbol *pGlobal){ wprintf(L"\n\n*** TYPES\n"); return DumpAllUDTs(pGlobal) || DumpAllEnums(pGlobal) || DumpAllTypedefs(pGlobal);}The way it is coded, when DumpAllUDTs() succeeds and returns true, the whole boolean expression short-circuits. This then prevents the other two Dump actions from executing. The result is that the --types output is completely missing global enum and typedef info.My quick workaround:- return DumpAllUDTs(pGlobal) || DumpAllEnums(pGlobal) || DumpAllTypedefs(pGlobal);+ bool result = false;+ if( DumpAllUDTs(pGlobal) )+ result = true;+ if( DumpAllEnums(pGlobal) )+ result = true;+ if( DumpAllTypedefs(pGlobal) )+ result = true;+ return result;
Visual Studio/Silverlight/Tooling version
What category (if any) best represents this feedback?
Steps to reproduce
Product Language
Operating System
Operating System Language
Actual results
Expected results
Please wait...