From e3afd016014dbdc12f8ab7a7c40497a7b1abd933 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Fri, 30 Oct 2015 19:49:49 +0100 Subject: [PATCH] sl/symproc.cc: minor code refactoring --- sl/symproc.cc | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/sl/symproc.cc b/sl/symproc.cc index 2434e2323..7056a23ee 100644 --- a/sl/symproc.cc +++ b/sl/symproc.cc @@ -635,7 +635,7 @@ enum EPointerKind { TValId ptrObjectEncoderCore( SymProc &proc, const FldHandle &dst, - const TValId val, + TValId val, const EPointerKind code) { SymHeap &sh = proc.sh(); @@ -653,16 +653,17 @@ TValId ptrObjectEncoderCore( break; } + const struct cl_loc *loc = proc.lw(); const TSizeOf dstSize = dst.type()->size; - if (ptrSize <= dstSize) - return val; + if (dstSize < ptrSize) { + CL_ERROR_MSG(loc, "not enough space to store value of a pointer"); + CL_NOTE_MSG(loc, "dstSize: " << dstSize << " B"); + CL_NOTE_MSG(loc, "ptrSize: " << ptrSize << " B"); + proc.printBackTrace(ML_ERROR); + return sh.valCreate(VT_UNKNOWN, VO_REINTERPRET); + } - const struct cl_loc *loc = proc.lw(); - CL_ERROR_MSG(loc, "not enough space to store value of a pointer"); - CL_NOTE_MSG(loc, "dstSize: " << dstSize << " B"); - CL_NOTE_MSG(loc, "ptrSize: " << ptrSize << " B"); - proc.printBackTrace(ML_ERROR); - return sh.valCreate(VT_UNKNOWN, VO_REINTERPRET); + return val; } TValId ptrObjectEncoder(SymProc &proc, const FldHandle &dst, TValId val)