83e5247ed4
workaround for non-standard vxWorks 5.5.2 gnu compiler
Jeff Hill2011-09-08 17:57:14 -06:00
303bc702b2
documentation/README: We now require vxWorks 5.5 or later
Andrew Johnson2011-09-07 12:16:50 -05:00
26757f5317
libCom/osi: Clean up compiler warnings on vxWorks
Andrew Johnson2011-09-07 10:59:11 -05:00
8e028f0f3d
libCom/test: errlog test needs -lsocket on Solaris
Andrew Johnson2011-09-07 10:05:42 -05:00
57953e6e24
fixed sunos compiler issue (I dont have sunos 5.10 here)
Jeff Hill2011-09-06 18:51:04 -06:00
841978e8c8
Remove epicsAtomicLocked.{h,cpp} from Makefile too.
Andrew Johnson2011-09-06 10:33:56 -05:00
fd10e77518
o hopefully fixed missing functions with sunos 5.10 or higher o removed unused trash files which somehow reappeared after rebase
Jeff Hill2011-09-02 18:18:46 -06:00
189dfc6188
configure: Hide rm command in new YACC rules.
Andrew Johnson2011-09-02 16:24:09 -05:00
1ff2408ba4
o hoping that atomic_inc_ptr_nv and atomic_dec_ptr_nv interface definitions will be available if we use sys/atomic.h instead of atomic.h o fixed issue introduced by last revision where definition of lock functions and lock key were not present if its sunos 5.10 or greater (its time consuming to develop code if you can only run the (SUNPRO) compiler indirectly)
Jeff HillandAndrew Johnson2011-09-02 09:59:03 -06:00
f5c374c556
o improved comments o dont include epicsAtomicOSD.h from any of the implementations of epicsAtomicCD.h unless the compiler has support for an inline keyword o removed superfluous ifdef on EPICS_ATOMIC_INLINE all versions of epicsAtomicDefault.h and epicsAtomicOSD.h o In the implementations of epicsAtomicOSD.cpp if EPICS_ATOMIC_INLINE isnt defined define it to be empty and then include epicsAtomicOSD.h o fixing some compile time issues for solaris version of epicsAtomicOSD.h (so that Janet can run another compile on that os)
Jeff HillandAndrew Johnson2011-09-01 11:25:53 -06:00
f0afcef02e
o changed to more generic implementation to reduce the code size o changed name, OSD_ATOMIC_INLINE to EPICS_ATOMIC_INLINE o changed supported data types, unsigned removed and int added (per reveiw at codeathon) o added add/subtract functions (per reveiw at codeathon) o now presuming that __sync_synchronize available all gcc 4 mingw does not provide windows mem barrier) o consolodated on one implemention for Microsoft invarient of cmplr intrinisic or win32 by using macros to config a shared header file o improved doc in epicsAtomic.h o added overloaded c++ interface in namespace epics :: atomic to epicsAtomic.h o added epicsAtomicReadMemoryBarrier and epicsAtomicWriteMemoryBarrier interface to epicsAtomic.h o changed the implementation so that each of the functions can be individually specified for a particular compiler, os, or in the generic implementation (this is accomplished with macros) o modified the functional and performance test so that they are based on templates so we can easily support new data types o modified performance tests to repeat function calls and measure performance using a template
unknownandAndrew Johnson2011-08-29 19:02:41 -06:00
05ae89d306
fixed issues in posix and vxWorks specific epicsAtomic found during testing
Jeff HillandAndrew Johnson2011-08-19 14:41:00 -06:00
eaa26363ad
Andrew Johnson 2011-08-17 [merge] Merge 3.14 changes from 2011-06-06 to 2011-08-17
Jeff Hill2011-08-19 14:35:04 -06:00
e8154577db
fixed issues in posix and vxWorks specific epicsAtomic found during testing
Jeff HillandAndrew Johnson2011-08-19 14:17:59 -06:00
4d8045ab5a
o merged in changes from the "compiler specific build" branch o changed implementation of default mutex locked version to be POSIX specific so we can use a static pthread mutex which is more efficent
Jeff Hill2011-08-19 13:48:03 -06:00
8a8ba04405
o merged in changes from the "compiler specific build" branch o changed implementation of default mutex locked version to be POSIX specific so we can use a static pthread mutex which is more efficent
Jeff HillandAndrew Johnson2011-08-19 13:48:03 -06:00
159ca986a3
o cosmetic change CONFIG_COMMON o removed setting of default i586 arch from mingw and cygwin CONFIG_SITE
Jeff Hill2011-08-16 18:32:41 -06:00
b5f1a94fc9
o cosmetic change CONFIG_COMMON o removed setting of default i586 arch from mingw and cygwin CONFIG_SITE
Jeff HillandAndrew Johnson2011-08-16 18:32:41 -06:00
baaaa3a313
fixed missing missing locked func and broken func proto
Jeff Hill2011-08-15 17:59:43 -06:00
b9900b8682
o no longer need to define OSD_ATOMIC_GCC o removed function epicsAtomicTestAndSetUIntT o added new functions epicsAtomicSetPtrT epicsAtomicGetPtrT epicsAtomicCmpAndSwapUIntT epicsAtomicCmpAndSwapPtrT o changed msvc intrinsics to define memory fence o fixed mutex synchronized version so that its slow, but correct if the c++ compiler doesnt synchronized local scope static initialization o changed most of the set/get methods to use memory barriers instead of some other primitive o added additional tests
Jeff Hill2011-08-15 17:00:01 -06:00
bd1b1479f4
o no longer need to define OSD_ATOMIC_GCC o removed function epicsAtomicTestAndSetUIntT o added new functions epicsAtomicSetPtrT epicsAtomicGetPtrT epicsAtomicCmpAndSwapUIntT epicsAtomicCmpAndSwapPtrT o changed msvc intrinsics to define memory fence o fixed mutex synchronized version so that its slow, but correct if the c++ compiler doesnt synchronized local scope static initialization o changed most of the set/get methods to use memory barriers instead of some other primitive o added additional tests
Jeff HillandAndrew Johnson2011-08-15 17:00:01 -06:00
a50482a0c9
added epicsAtomicGetUIntT for completeness
Jeff Hill2011-08-12 10:06:09 -06:00
049e070b3a
o removed "-march=i586" from configure/os/CONFIG.Common.cygwin-x86 configure/os/CONFIG.Common.linux-x86 configure/os/CONFIG.Common.win32-x86-cygwin configure/os/CONFIG.Common.win32-x86-mingw
Jeff Hill2011-08-11 09:49:09 -06:00
1f7f09e818
o removed "-march=i586" from configure/os/CONFIG.Common.cygwin-x86 configure/os/CONFIG.Common.linux-x86 configure/os/CONFIG.Common.win32-x86-cygwin configure/os/CONFIG.Common.win32-x86-mingw
Jeff HillandAndrew Johnson2011-08-11 09:49:09 -06:00
bd2bccf982
fixed test for earlier gcc supporting intel instrinsic atomic operations
Jeff Hill2011-08-10 13:15:51 -06:00
275df0471d
fixed test for earlier gcc supporting intel instrinsic atomic operations
Jeff HillandAndrew Johnson2011-08-10 13:15:51 -06:00
ca78732dac
fixed solaris 64 compiler error (I dont have that version of solaris here)
Jeff Hill2011-08-09 12:26:40 -06:00
6f7ac559be
fixed solaris 64 compiler error (I dont have that version of solaris here)
Jeff HillandAndrew Johnson2011-08-09 12:26:40 -06:00
04c30aee0e
redo change reversed by merge
Jeff Hill2011-08-08 18:38:39 -06:00
e8bcfbe2c1
o fixed compile errors in epicsAtomicOSD.h (I didnt have the proper version of solaris to test) o fixed darwin compile errors (I dont have access to darwin)
Jeff Hill2011-08-08 17:54:43 -06:00
092e161485
o fixed compile errors in epicsAtomicOSD.h (I didnt have the proper version of solaris to test) o fixed darwin compile errors (I dont have access to darwin)
Jeff HillandAndrew Johnson2011-08-08 17:54:43 -06:00
eefc3b34e0
o moved -march=i586 from CONFIG.arch.arch to CONFIG.Common.arch {cygwin-x86,win32-x86-cygwin,win32-x86-mingw o removed -march=i586 from CONFIG.linux-x86.linux-x86 o fixed compile errors in epicsAtomicOSD.h (I didnt have the proper version of solaris for initial testing here)
Jeff Hill2011-08-08 17:33:19 -06:00
76b8265dfd
o moved -march=i586 from CONFIG.arch.arch to CONFIG.Common.arch {cygwin-x86,win32-x86-cygwin,win32-x86-mingw o removed -march=i586 from CONFIG.linux-x86.linux-x86 o fixed compile errors in epicsAtomicOSD.h (I didnt have the proper version of solaris for initial testing here)
Jeff HillandAndrew Johnson2011-08-08 17:33:19 -06:00
921df1dd5c
fixed epicsAtomicTestAndSetUIntT for solaris
Jeff Hill2011-08-05 17:32:06 -06:00
a05a836295
enable gcc atomic intrinsics on certain older gcc that does not advertize its atomics when targeting intel
Jeff Hill2011-08-05 10:50:25 -06:00
e1e3ec6c22
enable gcc atomic intrinsics on certain older gcc that does not advertize its atomics when targeting intel
Jeff HillandAndrew Johnson2011-08-05 10:50:25 -06:00
100c79b88b
o added epicsAtomic implementation including compiler and os specific files o added functionality and performance testing
Jeff Hill2011-08-05 09:13:38 -06:00
747a59fd7f
o added epicsAtomic implementation including compiler and os specific files o added functionality and performance testing
Jeff HillandAndrew Johnson2011-08-05 09:13:38 -06:00
ee2e367dad
o added CMPL_CLASD definition to CONFIG.gnuCommon, CONFIG.solarisCommon.solarisCommon, configure/os/CONFIG.win32-x86.win32-x86 o added CMPLR_SRC_DIRS to ALL_SRC_DIRS, and added compiler/$CMPLR_CLASS) to INSTALL_INCLUDES in CONFIG_COMMON o added additional compiler specific rule deciding where things are installed to in CONFIG_COMMON o added compiler specific include install to RULES_BUILD o changed configure/os/CONFIG.linux-x86.linux-x86 to specify minimum arch is 586 (pentium circa 1995) o changed configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin to specify minimum arch is 586 (pentium circa 1995) o added epicsAtoimic facility to libCom/Makefile o added testing and performance measurement to libCom/test/Makefile
Jeff Hill2011-08-05 08:57:15 -06:00
fa55316272
o added CMPL_CLASD definition to CONFIG.gnuCommon, CONFIG.solarisCommon.solarisCommon, configure/os/CONFIG.win32-x86.win32-x86 o added CMPLR_SRC_DIRS to ALL_SRC_DIRS, and added compiler/$CMPLR_CLASS) to INSTALL_INCLUDES in CONFIG_COMMON o added additional compiler specific rule deciding where things are installed to in CONFIG_COMMON o added compiler specific include install to RULES_BUILD o changed configure/os/CONFIG.linux-x86.linux-x86 to specify minimum arch is 586 (pentium circa 1995) o changed configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin to specify minimum arch is 586 (pentium circa 1995) o added epicsAtoimic facility to libCom/Makefile o added testing and performance measurement to libCom/test/Makefile
Jeff HillandAndrew Johnson2011-08-05 08:57:15 -06:00
dbaa045afc
Merged compiler-specific include files branch.
Andrew Johnson2011-09-01 11:42:37 -05:00
2def6a3d80
Move default macros to compilerDependencies.h Added check in gcc-specific header to error if __clang__ defined Some versions of clang don't support __has_attribute()
Andrew Johnson2011-08-31 17:35:18 -05:00
1862b33328
configure: Adjust instructions for switching to clang
Andrew Johnson2011-08-31 17:32:32 -05:00
5a0364b74a
iocLogPrefix does not let you change the prefix if the prefix has already been set. Display the prefix as part of iocLogShow.
Murali Shankar2011-08-23 11:51:19 -07:00
be1c21fc51
o changed the build system so that we can implement functionality which is compiler specific in a separate file for each compiler. This will avoid accumulating MxN ifdef's where M is the number of OS and N is the number of comilers (worst case). This will make it easier to find code that is compiler specific centralizing all of it under libCom/osi/compiler. That should make it mush easier to port EPICS to run on a new compiler. o refactored compilerDependencies.h into code that is compiler specific (one libCom/osi/compiler/xxx/compilerDependent.h for each comiler) and code that isnt libCom/osi/compilerDependencies.h (this is a new location and is no longer in libCom/misc).
Jeff Hill2011-08-17 13:57:46 -06:00