Project

General

Profile

Actions

Bug #1107

closed

Remove compatibility code for pre-CXX98 compilers

Added by Marco Eichelberg over 1 year ago. Updated 8 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
2024-02-19
Due date:
% Done:

100%

Estimated time:
Module:
Operating System:
Compiler:

Description

DCMTK requires a compiler that is compliant with the CXX98 standard. However, the library still contains compatibility code for pre-CXX98 compilers.
This is now largely dead code and should be removed. Compatibility macros should be directly set to the CXX98 implementation.
This affects, for example:

  • Configure tests and configure macros:
    DCMTK_LOG4CPLUS_HAVE_ERRNO_H
    HAVE_CLASS_TEMPLATE
    HAVE_CLIMITS
    HAVE_CMATH
    HAVE_CSTDARG
    HAVE_CSTDIO
    HAVE_DYNAMIC_CAST
    HAVE_ERRNO_H
    HAVE_FLOAT_H
    HAVE_ITERATOR_HEADER
    HAVE_NOTHROW_DELETE
    HAVE_PROTOTYPE_STD__FINITE
    HAVE_PROTOTYPE_STD__VFPRINTF
    HAVE_REINTERPRET_CAST
    HAVE_SETJMP_H
    HAVE_SSTREAM
    HAVE_SSTREAM_H
    HAVE_STATIC_CAST
    HAVE_STDARG_H
    HAVE_STDDEF_H
    HAVE_STDIO_H
    HAVE_STDLIB_H
    HAVE_STD_NAMESPACE
    HAVE_STD__NOTHROW
    HAVE_STRING_H
    HAVE_STRSTREAM
    HAVE_VPRINTF
    SIZEOF_CHAR
    
  • class OFStringStream and "family"
  • Other obsolete macros:
    STD_NAMESPACE
    USING_STD_NAMESPACE
    INCLUDE_... macros in ofstdinc.h
    
  • The following macros need to be checked. Most of them actually activate/deactivate a separate implementation in DCMTK:
    HAVE_STL_ALGORITHM
    HAVE_STL_LIMITS
    HAVE_STL_LIST
    HAVE_STL_MAP
    HAVE_STL_MEMORY
    HAVE_STL_STACK
    HAVE_STL_STRING
    HAVE_STL_VECTOR
    
Actions #1

Updated by Marco Eichelberg over 1 year ago

  • % Done changed from 0 to 30
Actions #2

Updated by Marco Eichelberg 8 months ago

  • Status changed from New to Closed
  • Target version changed from 3.7.1+ to 3.7.0
  • % Done changed from 30 to 100
Actions

Also available in: Atom PDF