From 29d0754df633b50bc456922ff68d3e6c020f1d81 Mon Sep 17 00:00:00 2001 From: Anton Matosov Date: Mon, 5 Jan 2015 23:22:43 +0200 Subject: [PATCH] std::underlying_type is not supported by the g++ 4.6 used by CI server --- src/modules/systemlib/mixer/mixer.h | 3 ++- src/modules/systemlib/mixer/mixer_multirotor.cpp | 6 ++---- src/modules/systemlib/mixer/multi_tables | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/modules/systemlib/mixer/mixer.h b/src/modules/systemlib/mixer/mixer.h index 55c4ce6afd..6494a314e7 100644 --- a/src/modules/systemlib/mixer/mixer.h +++ b/src/modules/systemlib/mixer/mixer.h @@ -447,7 +447,8 @@ private: * * Values are generated by the multi_tables script and placed to mixer_multirotor.generated.h */ -enum class MultirotorGeometry : unsigned int; +using MultirotorGeometryUnderlyingType = unsigned int; +enum class MultirotorGeometry : MultirotorGeometryUnderlyingType; /** * Multi-rotor mixer for pre-defined vehicle geometries. diff --git a/src/modules/systemlib/mixer/mixer_multirotor.cpp b/src/modules/systemlib/mixer/mixer_multirotor.cpp index d4bceaa274..bee9d0edca 100644 --- a/src/modules/systemlib/mixer/mixer_multirotor.cpp +++ b/src/modules/systemlib/mixer/mixer_multirotor.cpp @@ -78,8 +78,6 @@ float constrain(float val, float min, float max) } } -using GeometryType = typename std::underlying_type::type; - MultirotorMixer::MultirotorMixer(ControlCallback control_cb, uintptr_t cb_handle, MultirotorGeometry geometry, @@ -92,8 +90,8 @@ MultirotorMixer::MultirotorMixer(ControlCallback control_cb, _pitch_scale(pitch_scale), _yaw_scale(yaw_scale), _idle_speed(-1.0f + idle_speed * 2.0f), /* shift to output range here to avoid runtime calculation */ - _rotor_count(_config_rotor_count[(GeometryType)geometry]), - _rotors(_config_index[(GeometryType)geometry]) + _rotor_count(_config_rotor_count[(MultirotorGeometryUnderlyingType)geometry]), + _rotors(_config_index[(MultirotorGeometryUnderlyingType)geometry]) { } diff --git a/src/modules/systemlib/mixer/multi_tables b/src/modules/systemlib/mixer/multi_tables index 5d746fcfaf..01ff1b719e 100755 --- a/src/modules/systemlib/mixer/multi_tables +++ b/src/modules/systemlib/mixer/multi_tables @@ -151,7 +151,7 @@ tables = [quad_x, quad_plus, quad_v, quad_wide, hex_x, hex_plus, hex_cox, octa_x def printEnum(): - print "enum class MultirotorGeometry : unsigned int {" + print "enum class MultirotorGeometry : MultirotorGeometryUnderlyingType {" for table in tables: print "\t{},".format(variableName(table).upper())