diff --git a/common/libeval_compiler/libeval_compiler.cpp b/common/libeval_compiler/libeval_compiler.cpp
index 6af4167141..50ec98f0e2 100644
--- a/common/libeval_compiler/libeval_compiler.cpp
+++ b/common/libeval_compiler/libeval_compiler.cpp
@@ -60,7 +60,7 @@ namespace LIBEVAL
TREE_NODE* newNode( LIBEVAL::COMPILER* compiler, int op, const T_TOKEN_VALUE& value )
{
- auto t2 = new TREE_NODE();
+ TREE_NODE* t2 = new TREE_NODE();
t2->valid = true;
t2->value.str = value.str ? new wxString( *value.str ) : nullptr;
@@ -183,10 +183,8 @@ wxString UOP::Format() const
UCODE::~UCODE()
{
- for ( auto op : m_ucode )
- {
+ for( UOP* op : m_ucode )
delete op;
- }
}
@@ -194,7 +192,7 @@ wxString UCODE::Dump() const
{
wxString rv;
- for( auto op : m_ucode )
+ for( UOP* op : m_ucode )
{
rv += op->Format();
rv += "\n";
@@ -295,10 +293,10 @@ void COMPILER::Clear()
m_tree = nullptr;
- for( auto tok : m_gcItems )
+ for( TREE_NODE* tok : m_gcItems )
delete tok;
- for( auto tok: m_gcStrings )
+ for( wxString* tok: m_gcStrings )
delete tok;
m_gcItems.clear();
@@ -839,8 +837,7 @@ bool COMPILER::generateUCode( UCODE* aCode, CONTEXT* aPreflightContext )
{
TREE_NODE* node = stack.back();
- libeval_dbg( 4, "process node %p [op %d] [stack %lu]\n",
- node, node->op, (unsigned long)stack.size() );
+ libeval_dbg( 4, "process node %p [op %d] [stack %lu]\n", node, node->op, (unsigned long)stack.size() );
// process terminal nodes first
switch( node->op )
@@ -848,10 +845,7 @@ bool COMPILER::generateUCode( UCODE* aCode, CONTEXT* aPreflightContext )
case TR_OP_FUNC_CALL:
// Function call's uop was generated inside TR_STRUCT_REF
if( !node->uop )
- {
- reportError( CST_CODEGEN, _( "Unknown parent of function parameters" ),
- node->srcPos );
- }
+ reportError( CST_CODEGEN, _( "Unknown parent of function parameters" ), node->srcPos );
node->isTerminal = true;
break;
@@ -892,14 +886,12 @@ bool COMPILER::generateUCode( UCODE* aCode, CONTEXT* aPreflightContext )
if( !vref )
{
msg.Printf( _( "Unrecognized item '%s'" ), itemName );
- reportError( CST_CODEGEN, msg,
- node->leaf[0]->srcPos - (int) itemName.length() );
+ reportError( CST_CODEGEN, msg, node->leaf[0]->srcPos - (int) itemName.length() );
}
else if( vref->GetType() == VT_PARSE_ERROR )
{
msg.Printf( _( "Unrecognized property '%s'" ), propName );
- reportError( CST_CODEGEN, msg,
- node->leaf[1]->srcPos - (int) propName.length() );
+ reportError( CST_CODEGEN, msg, node->leaf[1]->srcPos - (int) propName.length() );
}
node->leaf[0]->isVisited = true;
@@ -922,8 +914,7 @@ bool COMPILER::generateUCode( UCODE* aCode, CONTEXT* aPreflightContext )
if( !vref )
{
msg.Printf( _( "Unrecognized item '%s'" ), itemName );
- reportError( CST_CODEGEN, msg,
- node->leaf[0]->srcPos - (int) itemName.length() );
+ reportError( CST_CODEGEN, msg, node->leaf[0]->srcPos - (int) itemName.length() );
}
wxString functionName = formatNode( node->leaf[1]->leaf[0] );
@@ -996,8 +987,7 @@ bool COMPILER::generateUCode( UCODE* aCode, CONTEXT* aPreflightContext )
if( !vref )
{
msg.Printf( _( "Unrecognized item '%s'" ), itemName );
- reportError( CST_CODEGEN, msg,
- node->leaf[0]->srcPos - (int) itemName.length() );
+ reportError( CST_CODEGEN, msg, node->leaf[0]->srcPos - (int) itemName.length() );
}
msg.Printf( _( "Unrecognized property '%s'" ), propName );
@@ -1251,7 +1241,7 @@ void UOP::Exec( CONTEXT* ctx )
break;
}
- auto rp = ctx->AllocValue();
+ VALUE* rp = ctx->AllocValue();
rp->Set( result );
rp->SetUnits( resultUnits );
ctx->Push( rp );
@@ -1274,7 +1264,7 @@ void UOP::Exec( CONTEXT* ctx )
break;
}
- auto rp = ctx->AllocValue();
+ VALUE* rp = ctx->AllocValue();
rp->Set( result );
rp->SetUnits( resultUnits );
ctx->Push( rp );
diff --git a/include/libeval_compiler/libeval_compiler.h b/include/libeval_compiler/libeval_compiler.h
index cbe1723521..ce06551c5d 100644
--- a/include/libeval_compiler/libeval_compiler.h
+++ b/include/libeval_compiler/libeval_compiler.h
@@ -196,16 +196,32 @@ class KICOMMON_API VALUE
{
public:
VALUE() :
- m_type( VT_UNDEFINED ), m_valueDbl( 0 ), m_stringIsWildcard( false ), m_isDeferredDbl( false ),
- m_isDeferredStr( false ), m_units( EDA_UNITS::UNSCALED ) {};
+ m_type( VT_UNDEFINED ),
+ m_valueDbl( 0 ),
+ m_stringIsWildcard( false ),
+ m_isDeferredDbl( false ),
+ m_isDeferredStr( false ),
+ m_units( EDA_UNITS::UNSCALED )
+ {};
VALUE( const wxString& aStr, bool aIsWildcard = false ) :
- m_type( VT_STRING ), m_valueDbl( 0 ), m_valueStr( aStr ), m_stringIsWildcard( aIsWildcard ),
- m_isDeferredDbl( false ), m_isDeferredStr( false ), m_units( EDA_UNITS::UNSCALED ) {};
+ m_type( VT_STRING ),
+ m_valueDbl( 0 ),
+ m_valueStr( aStr ),
+ m_stringIsWildcard( aIsWildcard ),
+ m_isDeferredDbl( false ),
+ m_isDeferredStr( false ),
+ m_units( EDA_UNITS::UNSCALED )
+ {};
VALUE( const double aVal ) :
- m_type( VT_NUMERIC ), m_valueDbl( aVal ), m_stringIsWildcard( false ), m_isDeferredDbl( false ),
- m_isDeferredStr( false ), m_units( EDA_UNITS::UNSCALED ) {};
+ m_type( VT_NUMERIC ),
+ m_valueDbl( aVal ),
+ m_stringIsWildcard( false ),
+ m_isDeferredDbl( false ),
+ m_isDeferredStr( false ),
+ m_units( EDA_UNITS::UNSCALED )
+ {};
static VALUE* MakeNullValue()
{
diff --git a/pcbnew/drc/drc_rule_parser.cpp b/pcbnew/drc/drc_rule_parser.cpp
index ad0af695e6..418d5ed2b9 100644
--- a/pcbnew/drc/drc_rule_parser.cpp
+++ b/pcbnew/drc/drc_rule_parser.cpp
@@ -427,34 +427,35 @@ void DRC_RULES_PARSER::parseConstraint( DRC_RULE* aRule )
auto validateAndSetValueWithUnits =
[this, &allowsTimeDomain, &unitsType, &c]( int aValue, const EDA_UNITS aUnits, auto aSetter )
- {
- const EDA_DATA_TYPE unitsTypeTmp = UNITS_PROVIDER::GetTypeFromUnits( aUnits );
-
- if( !allowsTimeDomain && unitsTypeTmp == EDA_DATA_TYPE::TIME )
- reportError( _( "Time based units not allowed for constraint type." ) );
-
- if( ( c.m_Value.HasMin() || c.m_Value.HasMax() || c.m_Value.HasOpt() ) && unitsType != unitsTypeTmp )
- {
- reportError( _( "Mixed units for constraint values." ) );
- }
-
- unitsType = unitsTypeTmp;
- aSetter( aValue );
-
- if( allowsTimeDomain )
- {
- if( unitsType == EDA_DATA_TYPE::TIME )
{
- c.SetOption( DRC_CONSTRAINT::OPTIONS::TIME_DOMAIN );
- c.ClearOption( DRC_CONSTRAINT::OPTIONS::SPACE_DOMAIN );
- }
- else
- {
- c.SetOption( DRC_CONSTRAINT::OPTIONS::SPACE_DOMAIN );
- c.ClearOption( DRC_CONSTRAINT::OPTIONS::TIME_DOMAIN );
- }
- }
- };
+ const EDA_DATA_TYPE unitsTypeTmp = UNITS_PROVIDER::GetTypeFromUnits( aUnits );
+
+ if( !allowsTimeDomain && unitsTypeTmp == EDA_DATA_TYPE::TIME )
+ reportError( _( "Time based units not allowed for constraint type." ) );
+
+ if( ( c.m_Value.HasMin() || c.m_Value.HasMax() || c.m_Value.HasOpt() )
+ && unitsType != unitsTypeTmp )
+ {
+ reportError( _( "Mixed units for constraint values." ) );
+ }
+
+ unitsType = unitsTypeTmp;
+ aSetter( aValue );
+
+ if( allowsTimeDomain )
+ {
+ if( unitsType == EDA_DATA_TYPE::TIME )
+ {
+ c.SetOption( DRC_CONSTRAINT::OPTIONS::TIME_DOMAIN );
+ c.ClearOption( DRC_CONSTRAINT::OPTIONS::SPACE_DOMAIN );
+ }
+ else
+ {
+ c.SetOption( DRC_CONSTRAINT::OPTIONS::SPACE_DOMAIN );
+ c.ClearOption( DRC_CONSTRAINT::OPTIONS::TIME_DOMAIN );
+ }
+ }
+ };
T token = NextTok();
@@ -790,26 +791,27 @@ void DRC_RULES_PARSER::parseValueWithUnits( const wxString& aExpr, int& aResult,
aResult = 0.0;
aUnits = EDA_UNITS::UNSCALED;
- auto errorHandler = [&]( const wxString& aMessage, int aOffset )
- {
- wxString rest;
- wxString first = aMessage.BeforeFirst( '|', &rest );
+ auto errorHandler =
+ [&]( const wxString& aMessage, int aOffset )
+ {
+ wxString rest;
+ wxString first = aMessage.BeforeFirst( '|', &rest );
- if( m_reporter )
- {
- wxString msg = wxString::Format( _( "ERROR: %s%s" ),
- CurLineNumber(), CurOffset() + aOffset, first, rest );
+ if( m_reporter )
+ {
+ wxString msg = wxString::Format( _( "ERROR: %s%s" ),
+ CurLineNumber(), CurOffset() + aOffset, first, rest );
- m_reporter->Report( msg, RPT_SEVERITY_ERROR );
- }
- else
- {
- wxString msg = wxString::Format( _( "ERROR: %s%s" ), first, rest );
+ m_reporter->Report( msg, RPT_SEVERITY_ERROR );
+ }
+ else
+ {
+ wxString msg = wxString::Format( _( "ERROR: %s%s" ), first, rest );
- THROW_PARSE_ERROR( msg, CurSource(), CurLine(), CurLineNumber(),
- CurOffset() + aOffset );
- }
- };
+ THROW_PARSE_ERROR( msg, CurSource(), CurLine(), CurLineNumber(),
+ CurOffset() + aOffset );
+ }
+ };
PCBEXPR_EVALUATOR evaluator( aUnitless ? (LIBEVAL::UNIT_RESOLVER*) new PCBEXPR_UNITLESS_RESOLVER()
: (LIBEVAL::UNIT_RESOLVER*) new PCBEXPR_UNIT_RESOLVER() );
diff --git a/pcbnew/pcbexpr_evaluator.cpp b/pcbnew/pcbexpr_evaluator.cpp
index 686e75e14b..f0d73905e4 100644
--- a/pcbnew/pcbexpr_evaluator.cpp
+++ b/pcbnew/pcbexpr_evaluator.cpp
@@ -168,7 +168,7 @@ public:
{
// Test constituent net class names. The effective net class name (e.g. CLASS1,CLASS2,OTHER_CLASS) is
// tested in the fallthrough condition.
- for( const auto nc : m_item->GetEffectiveNetClass()->GetConstituentNetclasses() )
+ for( const NETCLASS* nc : m_item->GetEffectiveNetClass()->GetConstituentNetclasses() )
{
const wxString& ncName = nc->GetName();
@@ -198,7 +198,7 @@ public:
// Test constituent net class names
bool isInConstituents = false;
- for( const auto nc : m_item->GetEffectiveNetClass()->GetConstituentNetclasses() )
+ for( const NETCLASS* nc : m_item->GetEffectiveNetClass()->GetConstituentNetclasses() )
{
const wxString& ncName = nc->GetName();
@@ -270,7 +270,7 @@ public:
{
// Test constituent component class names. The effective component class name
// (e.g. CLASS1,CLASS2,OTHER_CLASS) is tested in the fallthrough condition.
- for( const auto cc : m_item->GetComponentClass()->GetConstituentClasses() )
+ for( const COMPONENT_CLASS* cc : m_item->GetComponentClass()->GetConstituentClasses() )
{
const wxString& ccName = cc->GetName();
@@ -308,7 +308,7 @@ public:
// Test constituent component class names
bool isInConstituents = false;
- for( const auto cc : m_item->GetComponentClass()->GetConstituentClasses() )
+ for( const COMPONENT_CLASS* cc : m_item->GetComponentClass()->GetConstituentClasses() )
{
const wxString& ccName = cc->GetName();
@@ -410,7 +410,7 @@ LIBEVAL::VALUE* PCBEXPR_VAR_REF::GetValue( LIBEVAL::CONTEXT* aCtx )
{
if( m_isOptional )
{
- auto val = item->Get>( it->second );
+ std::optional val = item->Get>( it->second );
if( val.has_value() )
return new LIBEVAL::VALUE( static_cast( val.value() ) );
@@ -424,7 +424,7 @@ LIBEVAL::VALUE* PCBEXPR_VAR_REF::GetValue( LIBEVAL::CONTEXT* aCtx )
{
if( m_isOptional )
{
- auto val = item->Get>( it->second );
+ std::optional val = item->Get>( it->second );
if( val.has_value() )
return new LIBEVAL::VALUE( val.value() );