Why do I get a compilation error for a standard function stubbed by PolySpace?
7 views (last 30 days)
Show older comments
MathWorks Support Team
on 21 May 2010
Edited: MathWorks Support Team
on 18 Nov 2022
I am using a custom implementation of memcpy. So I included my own header file string.h to the analysis. However, when I try to start the analysis I get the following compilation error:
ERROR: Stubbing standard library functions ...
C-STUBS/__polyspace__stdstubs.c:2870: missing parameter 4 type
C-STUBS/__polyspace__stdstubs.c:2870: syntax error; found `n' expecting `)'
C-STUBS/__polyspace__stdstubs.c:2870: skipping `n'
C-STUBS/__polyspace__stdstubs.c:2871: conflicting redeclaration of `memcpy' previously declared at /cygdrive/c/PolySpace/work/string.h:1
C-STUBS/__polyspace__stdstubs.c:2880: undeclared identifier `n'
Accepted Answer
MathWorks Support Team
on 18 Nov 2022
Edited: MathWorks Support Team
on 18 Nov 2022
Polyspace provides stubs for all standard library function like memcpy. If your implementation differs from that standard implementation then you might receive an error message like the one mentioned above.
In that case you can switch off the standard library stubbing for this particular function by adding the define
-D __polyspace_no_memcpy
to the analysis options. So Polyspace would either use your implementation of memcpy or it would stub the function based on the prototype you mention in the header file.
For details see page 7-53 (Linking: Conflict with Standard Library Function Stubs) in the Polyspace Code Prover User's Guide, which can be found online at
https://www.mathworks.com/help/pdf_doc/codeprover/codeprover_ug.pdf
0 Comments
More Answers (0)
See Also
Categories
Find more on Run Settings in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!