Page MenuHomePhabricator

MITK clang compatibility
Closed, ResolvedPublic

Description

MITK should be compatible to the clang c++ compiler, since it is used on Mac OS natively and also offers some improvements over gcc.

Event Timeline

Pushed first fix for Poco compilation to topic branch.

More fixes added to branch, built ExtApp successfully

ExtApp also built successfully on Mac OS X Lion. Although there is still the problem with the visibility: ExtApp crashes on startup due to failed BlueBerry cast. Inserting the line:

fwProps.insert(ctkPluginConstants::FRAMEWORK_PLUGIN_LOAD_HINTS, QVariant::fromValue<QLibrary::LoadHints>(QLibrary::ExportExternalSymbolsHint));

into berryInternalPlatform solves the problem but this is not a proper solution.

ITK crashes when threads are involved. See http://llvm.org/bugs/show_bug.cgi?id=9395 . Seems to be solved in ITK commit 2661fea39b77e3764d74991f4fba4fc828f91c91

Core mod + , since the Core change is only a small warning fix and the merge was quite difficult.

[897be2]: Merge branch 'bug-11046-clang-compatibility'

Merged commits:

2012-05-02 16:24:24 Marco Nolden [4b11f2]
Patch for ITK clang compatibility


2012-05-02 16:07:27 Sascha Zelzer [630196]
On MacOS, use CMake >= 2.8.8.


2012-05-02 15:45:50 Sascha Zelzer [c6c789]
Reuse the MITK DCMTK for CTK.


2012-05-02 15:45:19 Sascha Zelzer [a98a6d]
Use a CTK version which compiles against DCMTK 3.6.1 snapshot (22/02/12).


2012-05-02 15:44:10 Sascha Zelzer [44bccf]
Use DCMTK 3.6.1 snapshot (22/02/12).

  • Clang support
  • Static initialization fixes
  • Modality patch (OT -> DOC)

2012-04-29 10:58:54 Sascha Zelzer [8afdcd]
Merge remote-tracking branch 'origin/bug-11075-cppmicroservices-integration' into bug-11046-clang-compatibility

  • origin/bug-11075-cppmicroservices-integration: Fixes for Clang support. Set compiler flags only if not in embedded mode. Small Doxygen improvements Fixed input directories. Cleaned up exclude dirs. Removed uServices code snippets.

2012-04-28 16:10:56 Sascha Zelzer [43989a]
Merge branch 'bug-11044-use-tarballs-for-external-projects' into bug-11046-clang-compatibility

  • bug-11044-use-tarballs-for-external-projects: (57 commits) Use tarballs for external CTK and MITK-Data projects. COMP: APPEND_STRING is not available in CMake < 2.8.6. Add compiler flags to module and plug-in macros COMP: Added uServices vars to MITKConfig.cmake COMP: Fix non-atomic arithmetic COMP: Include missing header for Apple macros COMP: Tweak windows defines for including windows.h Pass doxygen CMake variables to external projects. Use new generalized CppMicroServices implementation. Improved documentation. Use the appropriate vtkInteractorStyleTrackballCamera for the 3D renderwindow. Fixed ordering of plug-ins. Removed irrelevant version_name_hash info and bumped PLUGIN_SYSTEM version to 2. Check if function mitkFunctionCheckMitkCompatibility is available. Added minimum required hash info. Support MITK compatibility checks based on rolling internal version numbers. Removed legacy CMake code. Added method documentation. Removed CoreUI directory and merged CoreUI/Bundles and Modules/Bundles. Updated PluginGenerator changelog and version number. ...

2012-02-28 13:09:35 Marco Nolden [c02d38]
Added missing include

This was previously fulfilled indirectly.


2012-02-28 13:08:58 Marco Nolden [c2426c]
Removed obsolete include


2012-02-28 13:06:06 Marco Nolden [045b2e]
Use stringstream instead of deprecated strstream


2012-02-22 18:30:50 Marco Nolden [1894ab]
Force VTK 5.8 if using clang


2012-02-22 18:21:47 Marco Nolden [8258a2]
Only warn if tcpd.h is missing

If DCMTK is build in superbuild with CMake it usually
does not enable TCP wrapping anyway.
ArchLinux has dropped TCP wrappers so we get problems there if
we force to have tcpd.h


2012-02-22 16:56:57 Marco Nolden [7f5b6b]
Added missing "this" pointer in template class


2012-02-22 16:56:18 Marco Nolden [97c768]
Added missing include for memcpy


2012-02-22 15:15:45 Marco Nolden [5a821f]
Reorder declarations to fix clang compilation

[e75e00]: Merge branch 'bug-11046-more-clang-fixes'

Merged commits:

2012-05-04 10:26:27 Marco Nolden [5dc56e]
Fixed some warnings and clang errors

[22d4bb]: Merge branch 'bug-11046-more-clang-fixes'

Merged commits:

2012-05-08 17:49:42 Marco Nolden [d46092]
Do not use libiconv in DCMTK

Most of it is done I think but to declare this fixed I have to set up a clang dartclient on linux

A mac clang dartclient is running too.

[76d13c]: Merge branch 'bug-11046-even-more-clang-fixes'

Merged commits:

2012-09-26 12:54:04 Marco Nolden [a2c42e]
Proper construction of suffixes

[5ca1dd]: Merge branch 'bug-11046-more-clang-fixes'

Merged commits:

2013-02-19 19:21:38 Marco Nolden [af0c7c]
Fixed re-definitions of default parameters

Clang complained about them

[596c25]: Merge branch 'bug-11046-more-clang-fixes'

Merged commits:

2013-02-22 14:24:22 Marco Nolden [736f61]
Use link flags for C as well


2013-02-21 19:23:11 Marco Nolden [fc6750]
Enabled more warnings on clang


2013-02-21 19:11:09 Marco Nolden [73e0cb]
Excluded some warnings to be errors

They are currently non-fixable since they origin from external headers
that are not maintained anymore (ITK 3)

[39dedc]: Merge branch 'bug-11046-more-clang-fixes'

Merged commits:

2013-03-01 10:57:52 Marco Nolden [4e56b8]
Make DEPRECATED macro compatible with clang

[3685bc]: Merge branch 'bug-11046-more-clang-fixes'

Merged commits:

2013-03-01 16:01:22 Marco Nolden [d27311]
Do not warn about unknown warnings


2013-03-01 15:56:25 Marco Nolden [eac22b]
Fixed usage of DEPRECATED macro in mapper classes

[8aa2d9]: Merge branch 'bug-11046-more-clang-fixes'

Merged commits:

2013-03-07 11:18:04 Jonas Cordes [f9efba]
remove unused vraible m_InformerService in mitkBindDispatcherInteractor

  • declaration in mitkBindDispatcherInteractor.h
  • initialization in mitkBindDispatcherInteractor.cpp
  • include and forward-declaration

2013-03-07 11:11:47 Jonas Cordes [fd6141]
remove unused vraible m_NewRenderer in mitkVtkPropRenderer

  • declaration in mitkVtkPropRenderer.h
  • initialization in mitkVtkPropRenderer.cpp

[bce82c]: Merge branch 'bug-11046-fix-clang-deprecated-macro-usage'

Merged commits:

2013-03-31 12:55:24 Sascha Zelzer [4456c5]
Fixed DEPRECATED macros usage for Clang again.

The fix was overridden by a previous merge commit.

Dart client is running successfully for some time now.