diff --git a/src/bin/maple b/src/bin/maple index 1af0a5fab1f910352713c650a7e1dd2a6befca63..1c10b3d9097104742289a160a14777c11b9080d9 100755 Binary files a/src/bin/maple and b/src/bin/maple differ diff --git a/src/bin/mplcg b/src/bin/mplcg index 037f6eb3e1bfe63978ec8e0fe8fcbb8f32aaa50c..c6b17dbc602a4a00d46197b2b5e0bd1563cfd2fe 100755 Binary files a/src/bin/mplcg and b/src/bin/mplcg differ diff --git a/src/mpl2mpl/src/reflection_analysis.cpp b/src/mpl2mpl/src/reflection_analysis.cpp index a0e39560aa027ca722c207dc110e9c524cfd1366..103b8c48cabe6700adb467c40938ba2934db7083 100644 --- a/src/mpl2mpl/src/reflection_analysis.cpp +++ b/src/mpl2mpl/src/reflection_analysis.cpp @@ -155,8 +155,9 @@ int8_t ReflectionAnalysis::GetAnnoFlag(const std::string &annotationString) { constexpr int8_t kMemberPosValidOffset = 2; constexpr int8_t kIsMemberClassOffset = 1; constexpr int8_t kNewMeta = 1; - int8_t isMemberClass = IsMemberClass(annotationString); - int8_t value = (kMemberPosValid << kMemberPosValidOffset) + (isMemberClass << kIsMemberClassOffset) + kNewMeta; + bool isMemberClass = IsMemberClass(annotationString); + int8_t value = (kMemberPosValid << kMemberPosValidOffset) + + (static_cast(isMemberClass) << kIsMemberClassOffset) + kNewMeta; return value; } @@ -1821,6 +1822,7 @@ void ReflectionAnalysis::Run() { AnalysisResult *DoReflectionAnalysis::Run(MIRModule *module, ModuleResultMgr *moduleResultMgr) { MemPool *memPool = memPoolCtrler.NewMemPool("ReflectionAnalysis mempool"); auto *kh = static_cast(moduleResultMgr->GetAnalysisResult(MoPhase_CHA, module)); + ASSERT_NOT_NULL(kh); maple::MIRBuilder mirBuilder(module); ReflectionAnalysis *rv = memPool->New(module, memPool, kh, mirBuilder); if (rv == nullptr) {