[ECOS] Building with function tracing....

Richard Panton rpanton@3glab.com
Thu Jun 14 06:31:00 GMT 2001


Fails around the fileio package:

/opt/ecos/packages/io/fileio/current/src/file.cxx: In function `int
	open(const char *, int, ...)':
/opt/ecos/packages/io/fileio/current/src/file.cxx:195:
	`cyg_tracefunction_report_' undeclared (first use this function)
/opt/ecos/packages/io/fileio/current/src/file.cxx:195: (Each undeclared
	identifier is reported only once
/opt/ecos/packages/io/fileio/current/src/file.cxx:195: for each function
	it appears in.)

This appears to be due to the definition (in io/fileio/current/src/fio.h)
of  FILEIO_ENTRY():

#define FILEIO_ENTRY()                          \
CYG_MACRO_START                                 \
    CYG_REPORT_FUNCTYPE( "returning %d" );      \
    CYG_FILEIO_FUNCTION_START();		\
CYG_MACRO_END

As CYG_REPORT_FUNCTYPE() declares an object (cyg_tracefunction_report_)
which must be available to CYG_REPORT_RETVAL(), it seems to me that the
CYG_MACRO_START/CYG_MACRO_END pair should be removed in this macro to
allow the object to have function-wide scope.

[And indeed, this change makes it work ;-]

Richard Panton
3G Lab Ltd.





More information about the Ecos-discuss mailing list