Files
epics-base/documentation/new-notes/PR-902.md
T

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.