Check for bus no-connects in ERC

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13285


(cherry picked from commit ce846f5c22)
This commit is contained in:
Jon Evans 2024-04-07 08:50:28 -04:00
parent 55b7852a65
commit 30df673ffa
1 changed files with 27 additions and 0 deletions

View File

@ -3647,6 +3647,33 @@ bool CONNECTION_GRAPH::ercCheckLabels( const CONNECTION_SUBGRAPH* aSubgraph )
if( label_map.empty() )
return true;
// No-connects on net neighbors will be noticed before, but to notice them on bus parents we
// need to walk the graph
for( auto pair : aSubgraph->m_bus_parents )
{
for( CONNECTION_SUBGRAPH* busParent : pair.second )
{
if( busParent->m_no_connect )
{
has_nc = true;
break;
}
CONNECTION_SUBGRAPH* hp = busParent->m_hier_parent;
while( hp )
{
if( hp->m_no_connect )
{
has_nc = true;
break;
}
hp = hp->m_hier_parent;
}
}
}
wxString netName = GetResolvedSubgraphName( aSubgraph );
wxCHECK_MSG( m_schematic, true, wxS( "Null m_schematic in CONNECTION_GRAPH::ercCheckLabels" ) );