Why would polyspace report "memset is dead code"

조회 수: 4 (최근 30일)
Tommy
Tommy 2014년 8월 7일
답변: Alexandre De Barros 2014년 8월 13일
After the "Intermediate" part is done, the Full Log shows
memset is dead code
(along with other Standard C functions). I am using memset in many places and have not stubbed it myself. What can I do to make these messages go away? This is with R2013a.
I understand what dead code is and that polyspace does report any unused function of mine as dead code. But why would it report Standard C functions as dead? I'm puzzled...
  댓글 수: 2
Iain
Iain 2014년 8월 7일
Maybe there is a call to memset that cannot be reached due to a logic error in an if or while statement?
Tommy
Tommy 2014년 8월 8일
@Iain: My understanding is that this would be a case of "unreachable" code, marked as a gray UNR. Dead code usually means "This function isn't called anywhere; it can be eliminated." With several non-gray calls, memset can't be dead code.

댓글을 달려면 로그인하십시오.

채택된 답변

Alexandre De Barros
Alexandre De Barros 2014년 8월 13일
Hello!
For performance and precision reasons, Polyspace is creating inner versions of memset (and also other memory related functions) and actually calling these versions, even if you don't see it in the results. Hence, the "original" version of memset is not called. This internal information appears in the log, but should be ignored.
Alex

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by