Fix/matterhorn compilation on clang (#1584)
Build on RHEL9 docker image / build (push) Successful in 3m57s
Build and Deploy on local RHEL9 / build (push) Successful in 2m4s
Build on RHEL8 docker image / build (push) Successful in 5m10s
Build and Deploy on local RHEL8 / build (push) Successful in 5m39s
Run Simulator Tests on local RHEL9 / build (push) Successful in 20m38s
Run Simulator Tests on local RHEL8 / build (push) Successful in 25m22s

* dont use this

* moved explicit instantiation after definiting templated functions
This commit is contained in:
2026-10-01 12:15:50 +02:00
committed by GitHub
parent 68628d975c
commit 5322b3ebb4
2 changed files with 8 additions and 4 deletions
@@ -21,6 +21,8 @@ class BaseMatterhornServerImpl
: public DetectorServerImpl<
is_stop_server<DerivedMatterhornServerImpl>::value> {
public:
using BaseServerImpl =
DetectorServerImpl<is_stop_server<DerivedMatterhornServerImpl>::value>;
BaseMatterhornServerImpl();
~BaseMatterhornServerImpl() = default;
@@ -93,7 +95,7 @@ void BaseMatterhornServerImpl<DerivedMatterhornServerImpl>::setupDetector() {
// TODO: extend
try {
// stop server does not talk to the board
if constexpr (!this->stop_server) {
if constexpr (!BaseServerImpl::stop_server) {
set_num_frames(1);
set_num_triggers(1);
set_counter_mask(0xF); // enable counter all counters by default
@@ -5,9 +5,6 @@
namespace sls {
template class DetectorServerImpl<true>; // forward declare
template class DetectorServerImpl<false>; // forward declare
template <bool isStopServer>
DetectorServerImpl<isStopServer>::DetectorServerImpl() {
udpDetails[0].srcport = DEFAULT_UDP_SRC_PORTNO;
@@ -114,4 +111,9 @@ DetectorServerImpl<isStopServer>::get_detector_setup_status() const {
return detectorSetupStatus;
}
template class DetectorServerImpl<true>; // explicit instantiation for stop
// server
template class DetectorServerImpl<false>; // explicit instantiation for control
// server
} // namespace sls