Skip to content

Commit 0ba875e

Browse files
committed
Jolt: Fix multiple definition LTO linking issue with mingw-gcc
1 parent 19e003b commit 0ba875e

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

modules/jolt_physics/spaces/jolt_layers.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,10 @@ JoltLayers::JoltLayers() {
191191
_allocate_object_layer(0);
192192
}
193193

194+
// MinGW GCC using LTO will emit errors during linking if this is defined in the header file, implicitly or otherwise.
195+
// Likely caused by this GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94156
196+
JoltLayers::~JoltLayers() = default;
197+
194198
JPH::ObjectLayer JoltLayers::to_object_layer(JPH::BroadPhaseLayer p_broad_phase_layer, uint32_t p_collision_layer, uint32_t p_collision_mask) {
195199
const uint64_t collision = encode_collision(p_collision_layer, p_collision_mask);
196200

modules/jolt_physics/spaces/jolt_layers.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class JoltLayers final
6363

6464
public:
6565
JoltLayers();
66+
virtual ~JoltLayers();
6667

6768
JPH::ObjectLayer to_object_layer(JPH::BroadPhaseLayer p_broad_phase_layer, uint32_t p_collision_layer, uint32_t p_collision_mask);
6869
void from_object_layer(JPH::ObjectLayer p_encoded_layer, JPH::BroadPhaseLayer &r_broad_phase_layer, uint32_t &r_collision_layer, uint32_t &r_collision_mask) const;

0 commit comments

Comments
 (0)