Ahh, no it doesn't work with the VxWorks 5.5 compiler, both the APS and PSI Jenkins builds for this failed:
/usr/local/vw/tornado22-ppc/host/x86-linux/bin/ccppc -DCPU=PPC604 -DvxWorks=vxWorks -include /usr/local/vw/tornado22-ppc/target/h/vxWorks.h -O2 -Wall -mcpu=604 -mstrict-align -mno-implicit-fp -mlongcall -fno-implicit-templates -fno-builtin -I. -I../O.Common -I. -I../../../src/libCom/osi/compiler/gcc -I../../../src/libCom/osi/compiler/default -I. -I../../../src/libCom/osi/os/vxWorks -I../../../src/libCom/osi/os/posix -I../../../src/libCom/osi/os/default -I.. -I../../../src/libCom/as -I../../../src/libCom/bucketLib -I../../../src/libCom/calc -I../../../src/libCom/cvtFast -I../../../src/libCom/cppStd -I../../../src/libCom/cxxTemplates -I../../../src/libCom/dbmf -I../../../src/libCom/ellLib -I../../../src/libCom/env -I../../../src/libCom/error -I../../../src/libCom/fdmgr -I../../../src/libCom/flex -I../../../src/libCom/freeList -I../../../src/libCom/gpHash -I../../../src/libCom/iocsh -I../../../src/libCom/log -I../../../src/libCom/macLib -I../../../src/libCom/misc -I../../../src/libCom/osi -I../../../src/libCom/pool -I../../../src/libCom/ring -I../../../src/libCom/taskwd -I../../../src/libCom/timer -I../../../src/libCom/yacc -I../../../src/libCom/yacc -I../../../src/libCom/yajl -I../../../include/compiler/gcc -I../../../include/os/vxWorks -I../../../include -I/usr/local/vw/tornado22-ppc/target/h -c ../../../src/libCom/iocsh/iocsh.cpp
In file included from ../../../src/libCom/iocsh/iocsh.cpp:23:
../../../src/libCom/osi/epicsStdio.h:95: `epicsGetStdin' is already declared in this scope
../../../src/libCom/osi/epicsStdio.h:96: `epicsGetStdout' is already declared in this scope
../../../src/libCom/osi/epicsStdio.h:97: `epicsGetStderr' is already declared in this scope
../../../src/libCom/osi/epicsStdio.h:98: `epicsStdoutPrintf' is already declared in this scope
../../../src/libCom/osi/epicsStdio.h:99: `epicsStdoutPuts' is already declared in this scope
../../../src/libCom/osi/epicsStdio.h:100: `epicsStdoutPutchar' is already declared in this scope
../../../configure/RULES_BUILD:239: recipe for target 'iocsh.o' failed
IIRC that compiler didn't actually support namespaces properly, it just pretended to do so.
I'm hoping Dirk will be able to take a look and propose a resolution, probably just disabling the "namespace std { using ::epics*Std*; }" code for gcc versions that old would fix it.
Ahh, no it doesn't work with the VxWorks 5.5 compiler, both the APS and PSI Jenkins builds for this failed:
/usr/local/ vw/tornado22- ppc/host/ x86-linux/ bin/ccppc -DCPU=PPC604 -DvxWorks=vxWorks -include /usr/local/ vw/tornado22- ppc/target/ h/vxWorks. h -O2 -Wall -mcpu=604 -mstrict-align -mno-implicit-fp -mlongcall -fno-implicit- templates -fno-builtin -I. -I../O.Common -I. -I../.. /../src/ libCom/ osi/compiler/ gcc -I../.. /../src/ libCom/ osi/compiler/ default -I. -I../.. /../src/ libCom/ osi/os/ vxWorks -I../.. /../src/ libCom/ osi/os/ posix -I../.. /../src/ libCom/ osi/os/ default -I.. -I../.. /../src/ libCom/ as -I../.. /../src/ libCom/ bucketLib -I../.. /../src/ libCom/ calc -I../.. /../src/ libCom/ cvtFast -I../.. /../src/ libCom/ cppStd -I../.. /../src/ libCom/ cxxTemplates -I../.. /../src/ libCom/ dbmf -I../.. /../src/ libCom/ ellLib -I../.. /../src/ libCom/ env -I../.. /../src/ libCom/ error -I../.. /../src/ libCom/ fdmgr -I../.. /../src/ libCom/ flex -I../.. /../src/ libCom/ freeList -I../.. /../src/ libCom/ gpHash -I../.. /../src/ libCom/ iocsh -I../.. /../src/ libCom/ log -I../.. /../src/ libCom/ macLib -I../.. /../src/ libCom/ misc -I../.. /../src/ libCom/ osi -I../.. /../src/ libCom/ pool -I../.. /../src/ libCom/ ring -I../.. /../src/ libCom/ taskwd -I../.. /../src/ libCom/ timer -I../.. /../src/ libCom/ yacc -I../.. /../src/ libCom/ yacc -I../.. /../src/ libCom/ yajl -I../.. /../include/ compiler/ gcc -I../.. /../include/ os/vxWorks -I../../../include -I/usr/ local/vw/ tornado22- ppc/target/ h -c ../../. ./src/libCom/ iocsh/iocsh. cpp ./src/libCom/ iocsh/iocsh. cpp:23: ./src/libCom/ osi/epicsStdio. h:95: `epicsGetStdin' is already declared in this scope ./src/libCom/ osi/epicsStdio. h:96: `epicsGetStdout' is already declared in this scope ./src/libCom/ osi/epicsStdio. h:97: `epicsGetStderr' is already declared in this scope ./src/libCom/ osi/epicsStdio. h:98: `epicsStdoutPrintf' is already declared in this scope ./src/libCom/ osi/epicsStdio. h:99: `epicsStdoutPuts' is already declared in this scope ./src/libCom/ osi/epicsStdio. h:100: `epicsStdoutPut char' is already declared in this scope ./configure/ RULES_BUILD: 239: recipe for target 'iocsh.o' failed
In file included from ../../.
../../.
../../.
../../.
../../.
../../.
../../.
../../.
IIRC that compiler didn't actually support namespaces properly, it just pretended to do so.
I'm hoping Dirk will be able to take a look and propose a resolution, probably just disabling the "namespace std { using ::epics*Std*; }" code for gcc versions that old would fix it.