1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-01 11:49:58 +00:00

Resolves a GCC-troubling circular declaration issue vs. atomic.h.

This commit is contained in:
Thomas Harte 2019-01-25 19:30:39 -05:00 committed by Thomas Harte
parent 312f38906b
commit 6a43fc5df0

View File

@ -75,6 +75,10 @@ class ScanTarget: public Outputs::Display::ScanTarget {
}; };
struct PointerSet { struct PointerSet {
// This constructor is here to appease GCC's interpretation of
// an ambiguity in the C++ standard; cf. https://stackoverflow.com/questions/17430377
PointerSet() {}
// The sizes below might be less hassle as something more natural like ints, // The sizes below might be less hassle as something more natural like ints,
// but squeezing this struct into 64 bits makes the std::atomics more likely // but squeezing this struct into 64 bits makes the std::atomics more likely
// to be lock free; they are under LLVM x86-64. // to be lock free; they are under LLVM x86-64.