It looks like a false positive, ExprIntrp is seen as a special function because it contains
'print' characters ;-)
Here is a patch. After applying this patch, run these commands:
cd ros/src/ExprIntrp
bison -d -p ExprIntrp -o ExprIntrp.tab.c ExprIntrp.yacc
flex -L -8 -Cf -Cr -P ExprIntrp -o lex.ExprIntrp.c ExprIntrp.lex
mv ExprIntrp.tab.h ../../inc/
cp ExprIntrp.tab.c lex.ExprIntrp.c ../../drv/ExprIntrp/
I tried to reproduce the same options originally used, maybe there are better ways.
--- opencascade.orig/ros/src/ExprIntrp/ExprIntrp.yacc
+++ opencascade/ros/src/ExprIntrp/ExprIntrp.yacc
@@ -42,6 +42,10 @@
extern void ExprIntrp_VariableIdentifier();
extern void ExprIntrp_Productor();
extern void ExprIntrp_EndOfEqual();
+
+int yylex(void);
+void yyerror(char const *s);
+
%}
%token SUMOP MINUSOP DIVIDEOP EXPOP MULTOP PARENTHESIS BRACKET ENDPARENTHESIS ENDBRACKET VALUE IDENTIFIER COMMA DIFFERENTIAL DERIVATE DERIVKEY ASSIGNOP DEASSIGNKEY EQUALOP RELSEPARATOR CONSTKEY SUMKEY PRODKEY
Other implicit declarations are fixed by the following patch:
Index: opencascade/ros/src/OpenGl/OpenGl_tXfm.c
===================================================================
--- opencascade.orig/ros/src/OpenGl/OpenGl_tXfm.c
+++ opencascade/ros/src/OpenGl/OpenGl_tXfm.c
@@ -64,6 +64,7 @@
#include
#include
+#include
#include
#include
@@ -79,6 +80,7 @@
#include
#include
#include
+#include
/*----------------------------------------------------------------------*/
/*
* Constantes
Index: opencascade/ros/src/OpenGl/OpenGl_telem_util.h
===================================================================
--- opencascade.orig/ros/src/OpenGl/OpenGl_telem_util.h
+++ opencascade/ros/src/OpenGl/OpenGl_telem_util.h
@@ -155,6 +155,9 @@
Tfloat *xr, Tfloat *yr);
extern TStatus TelUnProjectionRaster( Tint ws, Tint xr, Tint yr,
Tfloat *x, Tfloat *y, Tfloat *z);
+extern TStatus TelUnProjectionRasterWithRay( Tint ws, Tint xr, Tint yr,
+ Tfloat *x, Tfloat *y, Tfloat *z,
+ Tfloat *dx, Tfloat *dy, Tfloat *dz)
extern Tint TelBackBufferRestored(void);
extern void TelSetBackBufferRestored( Tint );
extern void TelEnable( Tint );