Don't allow record field names to be C/C++ keywords
Bug #541187 reported by
Andrew Johnson
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Fix Released
|
Wishlist
|
Andrew Johnson |
Bug Description
dbRecordtypeToH should reject field names that match C and C++ keywords including C++ alternative tokens.
Additional information:
C++ spec p. 14 lists keywords and alterntive tokens.
Original Mantis Bug: mantis-122
http://
Related branches
lp:~anj/epics-base/compiled-dbd
- Andrew Johnson: Approve
-
Diff: 4157 lines (+3010/-686) (has conflicts)43 files modifiedconfigure/CONFIG_BASE (+4/-4)
configure/RULES.Db (+45/-5)
src/Makefile (+3/-0)
src/ioc/db/RULES (+8/-0)
src/ioc/db/dbCommon.dbd (+10/-10)
src/ioc/dbStatic/Makefile (+1/-17)
src/ioc/dbStatic/dbReadTest.c (+0/-90)
src/ioc/dbStatic/dbToMenuH.c (+0/-124)
src/ioc/dbStatic/dbToRecordtypeH.c (+0/-267)
src/ioc/registry/registerRecordDeviceDriver.pl (+167/-168)
src/tools/DBD.pm (+81/-0)
src/tools/DBD/Base.pm (+127/-0)
src/tools/DBD/Breaktable.pm (+32/-0)
src/tools/DBD/Device.pm (+45/-0)
src/tools/DBD/Driver.pm (+9/-0)
src/tools/DBD/Function.pm (+10/-0)
src/tools/DBD/Menu.pm (+66/-0)
src/tools/DBD/Output.pm (+98/-0)
src/tools/DBD/Parser.pm (+197/-0)
src/tools/DBD/Recfield.pm (+436/-0)
src/tools/DBD/Recordtype.pm (+100/-0)
src/tools/DBD/Registrar.pm (+11/-0)
src/tools/DBD/Variable.pm (+36/-0)
src/tools/EPICS/Readfile.pm (+101/-0)
src/tools/EPICS/macLib.pm (+251/-0)
src/tools/Makefile (+22/-1)
src/tools/dbdExpand.pl (+53/-0)
src/tools/dbdReport.pl (+64/-0)
src/tools/dbdToHtml.pl (+252/-0)
src/tools/dbdToMenuH.pl (+80/-0)
src/tools/dbdToRecordtypeH.pl (+231/-0)
src/tools/test/Breaktable.plt (+22/-0)
src/tools/test/DBD.plt (+60/-0)
src/tools/test/Device.plt (+33/-0)
src/tools/test/Driver.plt (+13/-0)
src/tools/test/Function.plt (+13/-0)
src/tools/test/Makefile (+26/-0)
src/tools/test/Menu.plt (+32/-0)
src/tools/test/Recfield.plt (+114/-0)
src/tools/test/Recordtype.plt (+57/-0)
src/tools/test/Registrar.plt (+13/-0)
src/tools/test/Variable.plt (+15/-0)
src/tools/test/macLib.plt (+72/-0)
Changed in epics-base: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Fixed in my compiled-dbd branch.
The list of reserved words is combined from C++ and the DB/DBD file parser. This also requires a small change in the rules for generating the C name from the DBD field name, since the aSub record has a field NOT; now if we find the lower-case version is reserved, we use the original instead. Since the aSubRecord.c file doesn't name prec->not this is backwards- compatible.