Feature #679
Updated by Jörg Riesmeier over 9 years ago
Basically, the current git version of the DCMTK does compile with the latest Intel compiler. The only issue is with the "oftuple.h" file that is currently only used by the test source file "ttuple.cc". Here's the compiler output:
<pre>
/home/joergr/Source/dcmtk/ofstd/include/dcmtk/ofstd/oftuple.h(192): error: incorrect use of va_start
: tail_type( ( va_start( args.args, args ), &args.args ) )
^
detected during instantiation of "OFtuple<T0, T1, T2, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil,
OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil>::OFtuple(OFtuple_param<T0>::type, OFtuple_param<T1>::type, OFtuple_param<T2>::type) [with T0=int, T1=bool, T2=OFString]" at line 20 of "/home/joergr/Source/dcmtk/ofstd/tests/ttuple.cc"
/home/joergr/Source/dcmtk/ofstd/include/dcmtk/ofstd/oftuple.h(193): error: incorrect use of va_arg
, head( *va_arg( args.args, typename OFadd_pointer<Head>::type ) ) { va_end( args.args ); }
^
detected during instantiation of "OFtuple<T0, T1, T2, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil,
OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil>::OFtuple(OFtuple_param<T0>::type, OFtuple_param<T1>::type, OFtuple_param<T2>::type) [with T0=int, T1=bool, T2=OFString]" at line 20 of "/home/joergr/Source/dcmtk/ofstd/tests/ttuple.cc"
/home/joergr/Source/dcmtk/ofstd/include/dcmtk/ofstd/oftuple.h(193): error: incorrect use of va_end
, head( *va_arg( args.args, typename OFadd_pointer<Head>::type ) ) { va_end( args.args ); }
^
detected during instantiation of "OFtuple<T0, T1, T2, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil,
OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil, OFtuple_nil>::OFtuple(OFtuple_param<T0>::type, OFtuple_param<T1>::type, OFtuple_param<T2>::type) [with T0=int, T1=bool, T2=OFString]" at line 20 of "/home/joergr/Source/dcmtk/ofstd/tests/ttuple.cc"
compilation aborted for /home/joergr/Source/dcmtk/ofstd/tests/ttuple.cc (code 2)
make[2]: *** [ofstd/tests/CMakeFiles/ofstd_tests.dir/ttuple.cc.o] Error 2
make[1]: *** [ofstd/tests/CMakeFiles/ofstd_tests.dir/all] Error 2
make: *** [all] Error 2
</pre>
Since previous releases of the DCMTK did support the Intel compiler (version 11.1 at that time), this issue should be fixed for the next DCMTK release.
For some reason, the "ttuple.cc" file is also missing the standard copyright header...