Skip to content

Commit 28f7d52

Browse files
committed
kram-profile - update BuildEvents
1 parent deafe97 commit 28f7d52

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

kram-profile/CBA/BuildEvents.cpp

+19-10
Original file line numberDiff line numberDiff line change
@@ -387,10 +387,28 @@ struct BuildEventsParser
387387
// do various cleanups/nice-ifications of the detail name:
388388
// make paths shorter (i.e. relative to project) where possible
389389
detailString = utils::GetNicePath(detailPtr);
390+
391+
// switch json to .o or .obj (or .cpp)
392+
if (utils::EndsWith(detailString, ".json"))
393+
{
394+
detailString = std::string(detailString.substr(0, detailString.length()-4)) + "o";
395+
}
390396
}
391397
else
398+
{
392399
detailString = detailPtr;
393-
400+
401+
// Use the kram demangle
402+
// clang needs to fix this, since Win clang symbols don't demangle using macOS demangle
403+
if (event.type == BuildEventType::kOptFunction)
404+
{
405+
const char* demangledName = demangleSymbolName(detailString.c_str());
406+
if (demangledName != nullptr)
407+
detailString = demangledName;
408+
}
409+
}
410+
411+
394412
/* don't do this
395413
// don't report the clang trace .json file, instead get the object file at the same location if it's there
396414
if (utils::EndsWith(detailString, ".json"))
@@ -414,15 +432,6 @@ struct BuildEventsParser
414432
detailString = llvm::demangle(detailString);
415433
*/
416434

417-
// Use the built in call
418-
// clang needs to fix this, since Win clang symbols don't demangle using macOS demangle
419-
if (event.type == BuildEventType::kOptFunction)
420-
{
421-
const char* demangledName = demangleSymbolName(detailString.c_str());
422-
if (demangledName != nullptr)
423-
detailString = demangledName;
424-
}
425-
426435
event.detailIndex = NameToIndex(detailString.c_str(), nameToIndexLocal);
427436
}
428437

0 commit comments

Comments
 (0)