kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #41596
[PATCH] Work around a bug in gcc 6.3 capturing constexpr by reference
This causes an error
lvalue required as unary '&' operand
when compiling with ancient gcc. Declaring it static in addition to
constexpr works around the problem.
---
eeschema/tools/sch_editor_control.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eeschema/tools/sch_editor_control.cpp b/eeschema/tools/sch_editor_control.cpp
index c6eb4e0fc..cfea237eb 100644
--- a/eeschema/tools/sch_editor_control.cpp
+++ b/eeschema/tools/sch_editor_control.cpp
@@ -439,7 +439,7 @@ void SCH_EDITOR_CONTROL::doCrossProbeSchToPcb( const TOOL_EVENT& aEvent, bool aF
#ifdef KICAD_SPICE
int SCH_EDITOR_CONTROL::SimProbe( const TOOL_EVENT& aEvent )
{
- constexpr KICAD_T wiresAndComponents[] = { SCH_LINE_T, SCH_COMPONENT_T, SCH_SHEET_PIN_T, EOT };
+ constexpr static KICAD_T wiresAndComponents[] = { SCH_LINE_T, SCH_COMPONENT_T, SCH_SHEET_PIN_T, EOT };
SIM_PLOT_FRAME* simFrame = (SIM_PLOT_FRAME*) m_frame->Kiway().Player( FRAME_SIMULATOR, false );
std::string tool = aEvent.GetCommandStr().get();
@@ -481,7 +481,7 @@ int SCH_EDITOR_CONTROL::SimProbe( const TOOL_EVENT& aEvent )
int SCH_EDITOR_CONTROL::SimTune( const TOOL_EVENT& aEvent )
{
- constexpr KICAD_T fieldsAndComponents[] = { SCH_COMPONENT_T, SCH_FIELD_T, EOT };
+ constexpr static KICAD_T fieldsAndComponents[] = { SCH_COMPONENT_T, SCH_FIELD_T, EOT };
std::string tool = aEvent.GetCommandStr().get();
SIM_PLOT_FRAME* simFrame = (SIM_PLOT_FRAME*) m_frame->Kiway().Player( FRAME_SIMULATOR, false );