diff --git a/Components/DiskII/DiskII.cpp b/Components/DiskII/DiskII.cpp index 0bf38a548..772cc2380 100644 --- a/Components/DiskII/DiskII.cpp +++ b/Components/DiskII/DiskII.cpp @@ -22,7 +22,10 @@ namespace { DiskII::DiskII(int clock_rate) : clock_rate_(clock_rate), inputs_(input_command), - drives_{Storage::Disk::Drive{clock_rate, 300, 1}, Storage::Disk::Drive{clock_rate, 300, 1}} + drives_{ + Storage::Disk::Drive{clock_rate, 300, 1}, + Storage::Disk::Drive{clock_rate, 300, 1} + } { drives_[0].set_clocking_hint_observer(this); drives_[1].set_clocking_hint_observer(this); diff --git a/Storage/Disk/Drive.hpp b/Storage/Disk/Drive.hpp index c0b81a4a5..d49541f41 100644 --- a/Storage/Disk/Drive.hpp +++ b/Storage/Disk/Drive.hpp @@ -37,8 +37,14 @@ class Drive: public ClockingHint::Source, public TimedEventLoop { Drive(int input_clock_rate, int number_of_heads, ReadyType rdy_type = ReadyType::ShugartRDY); virtual ~Drive(); - // Disallow copying. - Drive(const Drive &) = delete; + // TODO: Disallow copying. + // + // GCC has an issue with the way the DiskII constructs its drive array if these are both + // deleted, despite not using the copy constructor. Unless I'm deficient in my interpretation. + // Clang has no such issue though, so possibly I'm not. + // + // Change withdrawn until I can figure out what's afoot. +// Drive(const Drive &) = delete; void operator=(const Drive &) = delete; /*!