How do I make Polyspace understand a dereferenced pointer function parameter?

5 vues (au cours des 30 derniers jours)
The project I'm analyzing has functions that have dereferenced pointers as the parameters:
extern void func( Custom_Type &func_param );
where "Custom_Type" is a typedef-ed struct object. Lines like this give me a
extern void func( Custom_Type &func_param );
^ Expected a ")"
error in Polyspace (Bug Finder) in front of where the ampersand (&) is located. I was able to fix this error by changing the
&func_param --> * func_param
in place with the processing script option, but then that just leads to numerous errors complaining about types not matching (which makes perfect sense since the parameter type was changed).
Is there a way to inform Polyspace that the parenthesis it's expecting is at the end of the line and that the dereferenced pointer is valid?
  1 commentaire
Chinmayi Lanka
Chinmayi Lanka le 20 Jan 2017
The issue might be with the Custom_Type. Is the Custom_Type known to Polyspace?

Connectez-vous pour commenter.

Réponse acceptée

Alexandre De Barros
Alexandre De Barros le 24 Jan 2017
Modifié(e) : Alexandre De Barros le 25 Jan 2017
Hello,
In C, this syntax
extern void func( Custom_Type &func_param );
is not valid.
I guess that you should use the C++ mode of Polyspace, because the & character in a declaration represents a reference in C++.
Best regards,
Alexandre

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by