Why would polyspace report "memset is dead code"

7 次查看(过去 30 天)
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
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