epics-base / normativetypescpp Goto Github PK
View Code? Open in Web Editor NEWnormativeTypesCPP is an EPICS V4 C++ module
Home Page: http://epics-pvdata.sourceforge.net/index.html
License: Other
normativeTypesCPP is an EPICS V4 C++ module
Home Page: http://epics-pvdata.sourceforge.net/index.html
License: Other
--------------------------------------------------------- EPICS Base - the central core of a control system toolkit --------------------------------------------------------- Copyright UChicago Argonne LLC, as Operator of Argonne National Laboratory. Copyright (c) 1991-2003 The Regents of the University of California, as Operator of Los Alamos National Laboratory. EPICS Base is distributed subject to a Software License Agreement found in the file LICENSE that is included with this distribution. --------------------------------------------------------- Installation and release information can be found in the various files in the documentation subdirectory. Additional information about EPICS including mailing list archives and subscription instructions, documentation and training materials, additional components, links to other websites etc. is available on the EPICS home page at https://epics.anl.gov/ $Format:%cD$ $Format:%H$ https://code.launchpad.net/epics-base
NTNDArrayAttributeBuilder
's tags
field is being ignored inside the reset
method. This is causing generated NTNDArrayAttribute
's to randomly contain or not the tags
field, triggering epics-base/pvAccessCPP#40 issue for me.
I cannot find an implementation for this function.
This module needs to be audited for unchecked calls to methods which can return NULL. This is especially problematic in the isCompatible()
methods which are intended to be used on suspect type definitions.
normativeTypesCPP/src/ntndarray.cpp
Line 352 in 5e151c3
From Andrew Johnson <anj_AT_aps.anl.gov>:
Module is missing LICENSE and COPYRIGHT files which are referred to in source code header comments within the module
normativeTypesCPP/include/pv/ntndarrayAttribute.h:40: warning: 'class epics::nt::detail::NTNDArrayAttributeBuilder' has virtual functions but non-virtual destructor
normativeTypesCPP/include/pv/ntattribute.h:40: warning: 'class epics::nt::detail::NTAttributeBuilder' has virtual functions but non-virtual destructor
These trigger warnings in all downstream modules every time the above headers are included.
Needs converting to use ci-scripts and config files for the other CI services adding.
Fixing isCompatible()
is proving quite tedious because of code like the following. note the field[3]
, which is asserting not just the existence of string 'display.field', but that it is the 4th of 5 fields.
This makes even the slightest change to the display
substructure a compatibly break, and would tie my hands wrt. replacing 'display.format'!
Given this, and the grief caused by returning false with no indication of which test has failed, I'm inclined to stub the is*()
methods to always return true. Code calling methods documented to return NULL really should be checking for this case (though I know this is often not done).
normativeTypesCPP/src/ntfield.cpp
Lines 130 to 134 in 2d186d4
This tag introduces ambiguities and is misleading.
I thought this was a Windows configuration mixup when the pvAccess build did not find "libnt.a".
There is also a number theory library that uses the same name.
This will start creating serious trouble when making binary packages, as the package manager will complain, and Linux distributions do not like these name clashes at all.
Given that library names can use an arbitrary number of arbitrary characters, we should be able to find something more unique.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.