Make generated code always use typed_rset

always cast to cover old-style supports
This commit is contained in:
Ralph Lange
2017-03-30 14:33:06 +02:00
parent 26a4e1489f
commit 0f2e26bc4c
2 changed files with 4 additions and 4 deletions

View File

@@ -18,13 +18,12 @@ extern "C" {
#endif
struct dbRecordType;
struct rset;
struct dbBase;
typedef int (*computeSizeOffset)(struct dbRecordType *pdbRecordType);
typedef struct recordTypeLocation {
struct rset *prset;
struct typed_rset *prset;
computeSizeOffset sizeOffset;
}recordTypeLocation;

View File

@@ -69,6 +69,7 @@ print $out (<< "END");
#include "iocsh.h"
#include "iocshRegisterCommon.h"
#include "registryCommon.h"
#include "recSup.h"
END
@@ -94,7 +95,7 @@ if (%rectypes) {
if (@rtypnames) {
# Declare the record support entry tables
print $out wrap('epicsShareExtern rset ', ' ',
print $out wrap('epicsShareExtern typed_rset ', ' ',
join(', ', map {"*pvar_rset_${_}RSET"} @rtypnames)), ";\n\n";
# Declare the RecordSizeOffset functions
@@ -110,7 +111,7 @@ if (%rectypes) {
# List of pointers to each RSET and RecordSizeOffset function
print $out "static const recordTypeLocation rtl[] = {\n";
print $out join(",\n", map {
" {pvar_rset_${_}RSET, pvar_func_${_}RecordSizeOffset}"
" {(struct typed_rset *)pvar_rset_${_}RSET, pvar_func_${_}RecordSizeOffset}"
} @rtypnames);
print $out "\n};\n\n";
}