Michael Davidsaver
27f78c430b
move Thread out of line
2018-07-11 16:29:50 -07:00
Michael Davidsaver
0406a2f614
Field de-duplication
...
add a global cache of Field instances to
allow O(0) comparison of types.
2018-07-06 12:01:14 -07:00
Michael Davidsaver
a1c0e432ee
fix Timer
...
use after free
2018-06-19 16:32:39 -07:00
Michael Davidsaver
57e57d9e43
de-virtualize PVValueArray<T> methods append(), remove(), and compress()
...
These were never members of a common base class,
nor overridden by a sub-class.
2018-06-07 09:53:38 -07:00
Michael Davidsaver
e4e4188eaf
some more FINAL
2018-06-07 09:53:38 -07:00
Michael Davidsaver
f1553cc90e
Move NOMINMAX to configure/CONFIG_SITE
...
The macro must be defined before MS system headers are
included.
This rev. remove #define NOMINMAX from public headers,
but no public headers use min()/max() and this was
never the correct way to use this macro as by convention
library headers are included after system headers,
which is too late to have an effect.
2018-05-28 11:24:49 -07:00
Michael Davidsaver
997e68c99a
remove usage of min()/max() from public headers
...
Avoids need for #define NOMINMAX w/ MSVC
2018-05-28 10:14:03 -07:00
Michael Davidsaver
25663d9a7b
additional EPICS_NOT_COPYABLE
...
attempt to pacify, or at least clarify, msvc
link error.
2018-05-21 21:02:32 -07:00
Michael Davidsaver
1e55266396
pvUnitTest.h avoid unintended copies
...
template argument matching doesn't always preserve
rvalue references, so force use of const ref.
2018-05-21 11:21:01 -07:00
Michael Davidsaver
810ae15991
printer.cpp avoid alloc of spaces
...
No need to allocate a std::string
just to repeat spaces.
2018-05-21 11:21:01 -07:00
Michael Davidsaver
271fec7f5e
printer.cpp: clean whitespace
2018-05-21 11:21:01 -07:00
Michael Davidsaver
c43486791e
prevent Field/PVField from being copied
...
I don't think this was ever intended to be possible,
but it was...
2018-05-21 11:19:42 -07:00
Michael Davidsaver
7eaa613d4d
try to fix dllimport error
2018-04-17 21:13:22 -07:00
Michael Davidsaver
19db72031c
shared_vector add missing void swap
...
swap() of void and const void misses vtype
2018-04-13 12:40:22 -07:00
Michael Davidsaver
671f9cca4b
anyscalar.h: move out of line
...
No reason to believe that inline was helping.
2018-04-08 15:53:21 -07:00
Michael Davidsaver
9ecdb80534
anyscalar.h: remove unnecesary vcast
...
what was I thinking...
2018-04-08 15:53:21 -07:00
Michael Davidsaver
e973422ee1
anyscalar.h: add ctor from type code and void*
...
also helper bufferUnsafe() to get storage pointer
or c_str().
2018-04-08 15:53:21 -07:00
Michael Davidsaver
8093c25b72
typeCast.h: allow cast from C string to numeric w/o copy
...
also re-enable compile test of string to int64 which
was disabled for some reason...
2018-04-08 15:53:21 -07:00
Michael Davidsaver
a7c9c620dd
Timer avoid deadlock in timerStopped()
...
No code actually uses this hook, but lets make
sure nothing bad would happen.
2018-04-08 15:53:21 -07:00
Michael Davidsaver
1e1d94ed73
rework Timer
...
I'm not sure how I broke it, but I know I don't have the patience
to fix it. So replacing intrusive list and custom sorting with
std::list and std::list::merge().
2018-04-04 21:03:11 -07:00
Michael Davidsaver
7b8ef390ce
add Timer::close()
...
An aid to orderly shutdown
2018-04-02 15:54:48 -07:00
Michael Davidsaver
87ade13234
Timer cleanup and hide run()
2018-04-02 15:54:48 -07:00
Michael Davidsaver
32abde7f19
redo Timer to avoid data race
...
run() was accessing this->head w/o locking
2018-04-02 10:54:49 -07:00
Michael Davidsaver
b4cd026fe5
byteBuffer cleanup
2018-03-23 10:05:31 -07:00
Michael Davidsaver
a51b308cc8
ByteBuffer avoid PPC alignment fault
2018-03-19 15:26:40 -07:00
Michael Davidsaver
1c09b42951
ByteBuffer change order of tests for optimized byte swap
...
Check __clang__ before __GNUC__ as clang
also identifies itself as gcc for compatibility.
2018-03-19 15:26:35 -07:00
Michael Davidsaver
e42bb46563
ByteBuffer collapse some trivial indirection
2018-03-19 15:26:35 -07:00
Michael Davidsaver
172046e78f
Add AnyScalar::clear()
2018-02-21 11:17:49 -08:00
Michael Davidsaver
7e8c49f0a0
don't use shared_ptr::get() for null test
...
unnecesarily verbose
2018-02-21 11:17:49 -08:00
Michael Davidsaver
f2ad6292f5
cleanup
2018-02-06 13:12:06 -08:00
Michael Davidsaver
337e13b72e
pvIntrospect.h mark OVERRIDE/FINAL
2018-02-06 10:12:38 -08:00
Michael Davidsaver
2ab2fc62dc
move FINAL/OVERRIDE defs to pvIntrospect.h
2018-02-06 10:12:38 -08:00
Michael Davidsaver
786575c3de
a little bit of cleanup and minor opt
2018-02-06 10:02:08 -08:00
Michael Davidsaver
4cca194000
drop *HashFunction
...
not really implemented
2018-02-06 10:02:08 -08:00
Michael Davidsaver
a239b95ca1
remove previously deprecated executor.h, queue.h and timerFunction.h
2018-01-05 11:14:59 -08:00
Michael Davidsaver
09574c0e82
sharedVector more c++11
...
support std::move() and construct
from initializer list.
2018-01-05 11:14:59 -08:00
Michael Davidsaver
0b6b01ef83
shared_vector limit MSVC workaround
...
limit 207efca15c
to MSVC <= 2010.
2018-01-05 11:14:59 -08:00
Andrew Johnson
34145e459b
Clean up compiler warnings.
2018-01-04 17:59:09 -06:00
Michael Davidsaver
207efca15c
workaround for msvc pickyness
...
The MSVC STL implementation asserts that
pointer/itertors are not null, even
when they would not be dereferenced
(eg. empty input range).
2018-01-04 11:52:19 -08:00
Michael Davidsaver
2046678caa
drop emptyStringtring
2018-01-04 11:52:19 -08:00
Michael Davidsaver
43ee4b9cb6
thread safe getFieldCreate() and getPVDataCreate()
...
Fully thread safe and ctor order safe on all targets
(not just c++11). Never destroyed to avoid global
dtor order issues.
2017-12-28 11:52:47 -06:00
Michael Davidsaver
207c24a4fd
deprecate LOCAL_STATIC_LOCK
...
This construct is fairly useless.
Doesn't prevent ctor ordering problems.
2017-12-28 11:52:47 -06:00
Michael Davidsaver
6465ab3b6d
caseUnsafeV use switch instead of jump table
...
Change from jump table to switch.
reduces code size (~1k of 30k for rtems/mvme3100).
use indexed loop to help gcc vectorizer.
Helpfully won't fail to compile w/ gcc 4.1 (vxworks 6.6/6.7)
2017-12-28 11:52:47 -06:00
Michael Davidsaver
9787dbd14f
anyscalar.h ensure that storage really is large enough
...
correct failure on cygwin x86 where apparently
sizeof(double) > sizeof(std::string)
2017-12-11 21:08:59 -06:00
Michael Davidsaver
fd9081c80e
minor
2017-12-11 21:08:59 -06:00
Michael Davidsaver
e79c49019d
quiet warning
2017-12-11 21:08:59 -06:00
Michael Davidsaver
5bc081a3af
skip unnecessary inclusion of localStaticLock.h
2017-12-11 21:08:59 -06:00
Andrew Johnson
7c1e0a51eb
Fixes needed for older VxWorks GCC
2017-11-29 16:35:22 -06:00
Michael Davidsaver
187fe67ffa
fixup debugPtr
2017-11-14 17:13:43 -06:00
Andrew Johnson
7136098c3c
Suppress unnecessary deprecation warnings
...
Disable warnings when compiling the implementations of
deprecated classes and functions.
Removes the unused USAGE_DEPRECATED and USAGE_ERROR macros
from pvData.h which aren't visible outside of it anyway.
2017-11-07 22:19:56 -06:00