Compiz can't build with clang
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
Medium
|
Daniel van Vugt | ||
Compiz Core |
Triaged
|
Medium
|
Unassigned | ||
compiz (Ubuntu) |
Fix Released
|
Medium
|
Daniel van Vugt |
Bug Description
Install clang and then:
env CC=clang CXX=clang++ cmake ..
and then it can't build because of (at least):
In file included from /home/dan/
/home/dan/
redefinition of typedef 'GWDSettingsWri
[
typedef struct _GWDSettingsWri
/home/dan/
previous definition is here
typedef struct _GWDSettingsWri
In file included from /home/dan/
/home/dan/
redefinition of typedef 'GWDSettingsSto
[
typedef struct _GWDSettingsStorage GWDSettingsStorage;
/home/dan/
previous definition is here
typedef struct _GWDSettingsStorage GWDSettingsStorage;
In file included from /home/dan/
/home/dan/
redefinition of typedef 'GSettings' is invalid in C
[
typedef struct _GSettings GSettings;
/usr/include/
typedef struct _GSettings GSettings;
Clang also rejects lp:compiz-core/0.9.7 for different reasons.
Related branches
- Daniel van Vugt: Approve
- jenkins: Pending (continuous-integration) requested
- Sam Spilsbury: Pending requested
-
Diff: 1639 lines (+234/-493)55 files modifiedcmake/CompizCommon.cmake (+6/-1)
compizconfig/gsettings/gsettings_backend_shared/CMakeLists.txt (+1/-0)
compizconfig/gsettings/gsettings_backend_shared/ccs_gsettings_backend.h (+1/-3)
compizconfig/gsettings/gsettings_backend_shared/ccs_gsettings_backend_fwd.h (+13/-0)
compizconfig/gsettings/gsettings_backend_shared/ccs_gsettings_backend_interface.h (+2/-6)
compizconfig/gsettings/gsettings_backend_shared/ccs_gsettings_interface.h (+3/-2)
compizconfig/gsettings/gsettings_backend_shared/ccs_gsettings_interface_wrapper.c (+2/-0)
compizconfig/gsettings/gsettings_backend_shared/ccs_gsettings_interface_wrapper.h (+2/-2)
compizconfig/gsettings/gsettings_backend_shared/gsettings_util.h (+1/-6)
compizconfig/gsettings/tests/test_gsettings_conformance.cpp (+2/-2)
compizconfig/gsettings/tests/test_gsettings_tests.cpp (+0/-15)
compizconfig/gsettings/tests/test_gsettings_wrapper.cpp (+5/-1)
compizconfig/integration/gnome/gconf/include/ccs_gnome_integration_gconf_integrated_setting.h (+3/-6)
compizconfig/integration/gnome/gconf/include/ccs_gnome_integration_gconf_integrated_setting_factory.h (+3/-4)
compizconfig/integration/gnome/gsettings/include/ccs_gnome_gsettings_fwd.h (+12/-0)
compizconfig/integration/gnome/gsettings/include/ccs_gnome_integration_gsettings_integrated_setting.h (+3/-5)
compizconfig/integration/gnome/gsettings/include/ccs_gnome_integration_gsettings_integrated_setting_factory.h (+5/-8)
compizconfig/integration/gnome/include/ccs_gnome_fwd.h (+13/-0)
compizconfig/integration/gnome/include/ccs_gnome_integrated_setting.h (+2/-4)
compizconfig/integration/gnome/include/ccs_gnome_integration.h (+4/-2)
compizconfig/integration/gnome/include/ccs_gnome_integration_types.h (+0/-9)
compizconfig/integration/gnome/src/ccs_gnome_integration_constants.c (+1/-1)
compizconfig/integration/gnome/tests/compizconfig_ccs_mock_gnome_integrated_setting_composition.h (+4/-5)
compizconfig/integration/gnome/tests/compizconfig_test_ccs_gnome_integration.cpp (+3/-15)
compizconfig/libcompizconfig/include/CMakeLists.txt (+1/-0)
compizconfig/libcompizconfig/include/ccs-backend.h (+6/-22)
compizconfig/libcompizconfig/include/ccs-fwd.h (+48/-0)
compizconfig/libcompizconfig/include/ccs-object.h (+3/-3)
compizconfig/libcompizconfig/include/ccs.h (+0/-7)
compizconfig/libcompizconfig/src/ccs_settings_upgrade_internal.h (+2/-3)
compizconfig/libcompizconfig/src/ccs_text_file.h (+2/-3)
compizconfig/libcompizconfig/tests/compizconfig_test_ccs_mock_backend_conformance.cpp (+2/-2)
compizconfig/libcompizconfig/tests/compizconfig_test_ccs_settings_upgrade_internal.cpp (+0/-12)
compizconfig/tests/compizconfig_backend_concept_test.h (+19/-303)
compizconfig/tests/compizconfig_backend_concept_test_environment_interface.h (+2/-2)
gtk/window-decorator/CMakeLists.txt (+1/-0)
gtk/window-decorator/blurprops.c (+1/-0)
gtk/window-decorator/events.c (+2/-1)
gtk/window-decorator/gtk-window-decorator.c (+1/-0)
gtk/window-decorator/gtk-window-decorator.h (+1/-4)
gtk/window-decorator/gwd-cairo-window-decoration-util.h (+1/-2)
gtk/window-decorator/gwd-fwd.h (+35/-0)
gtk/window-decorator/gwd-metacity-window-decoration-util.h (+1/-1)
gtk/window-decorator/gwd-settings-interface.h (+1/-1)
gtk/window-decorator/gwd-settings-notified-interface.h (+1/-1)
gtk/window-decorator/gwd-settings-notified.h (+2/-3)
gtk/window-decorator/gwd-settings-storage-gconf.h (+1/-3)
gtk/window-decorator/gwd-settings-storage-gsettings.h (+1/-4)
gtk/window-decorator/gwd-settings-storage-interface.h (+1/-1)
gtk/window-decorator/gwd-settings-writable-interface.h (+1/-1)
gtk/window-decorator/gwd-settings-xproperty-interface.h (+1/-1)
gtk/window-decorator/gwd-settings-xproperty-storage.h (+1/-2)
gtk/window-decorator/gwd-settings.h (+1/-3)
gtk/window-decorator/tests/test_gwd_settings.cpp (+0/-5)
plugins/opengl/src/paint.cpp (+4/-6)
Changed in compiz-core: | |
status: | New → Triaged |
importance: | Undecided → Medium |
milestone: | none → 0.9.7.12 |
Changed in compiz: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
description: | updated |
Changed in compiz (Ubuntu): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
importance: | Undecided → Medium |
status: | New → Fix Committed |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
no longer affects: | compiz/0.9.8 |
Changed in compiz (Ubuntu): | |
status: | Fix Committed → Fix Released |
Raised importance to High, because clang is proving itself to be an invaluable tool for code analysis. I'd like to use it as part of the code review process in future.