diff --git a/src/main/java/ghidra/app/plugin/prototype/GccRttiAnalyzer.java b/src/main/java/ghidra/app/plugin/prototype/GccRttiAnalyzer.java index 5105bf6..558818d 100644 --- a/src/main/java/ghidra/app/plugin/prototype/GccRttiAnalyzer.java +++ b/src/main/java/ghidra/app/plugin/prototype/GccRttiAnalyzer.java @@ -216,11 +216,15 @@ private void findAndCreatePureVirtualFunction() throws Exception { if (pureVirtual == null) { return; } - String cc = GenericCallingConvention.stdcall.getDeclarationName(); pureVirtual.setName(PURE_VIRTUAL_FUNCTION_NAME, SourceType.IMPORTED); pureVirtual.setNoReturn(true); pureVirtual.setReturnType(VoidDataType.dataType, SourceType.IMPORTED); - pureVirtual.setCallingConvention(cc); + try { + String cc = GenericCallingConvention.stdcall.getDeclarationName(); + pureVirtual.setCallingConvention(cc); + } catch (Exception e) { + // compiler spec doesn't have __stdcall + } } private void createVtable(GnuVtable vtable) throws Exception {