774 B
774 B
Fix registration of DRVETs
The C++ code generated in an IOC's RecordDeviceDriver.cpp file can fail
to compile if the Makefile building the IOC defines the USE_TYPED_DRVET
macro. Compiler errors caused by this bug will look something like this:
test_registerRecordDeviceDriver.cpp:198:15: error:
typedef 'drvet' cannot be referenced with the 'struct' specifier
198 | static struct drvet *drvsl[] = {
| ^
/epics/base-7.0/include/drvSup.h:38:21: note: declared here
38 | typedef typed_drvet drvet;
| ^
1 error generated.
This PR modifies the generated C++ code to resolve that problem, and adds a driver to the example IOC template to catch regressions.