Avoid parallel build conflicts (#198)

The Liberty, Sdf, and Verilog parsers were writing to the same files
causing random failures in parallel builds.  position.hh and stack.hh
are removed by switching to 3.0 to 3.2 in the require statement.
location.hh is renamed per-parser with api.location.file.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
This commit is contained in:
Matt Liberty 2025-01-31 03:08:36 +00:00 committed by GitHub
parent 8797ac5add
commit 41d1d1bb7b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 9 additions and 6 deletions

View File

@ -38,11 +38,12 @@
#define loc_line(loc) loc.begin.line
%}
%require "3.0"
%require "3.2"
%skeleton "lalr1.cc"
%debug
%define api.namespace {sta}
%locations
%define api.location.file "LibertyLocation.hh"
%define parse.assert
%parse-param { LibertyScanner *scanner }
%parse-param { LibertyParser *reader }

View File

@ -30,7 +30,7 @@
#include <FlexLexer.h>
#endif
#include "location.hh"
#include "LibertyLocation.hh"
#include "LibertyParse.hh"
namespace sta {

View File

@ -35,11 +35,12 @@
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
%}
%require "3.0"
%require "3.2"
%skeleton "lalr1.cc"
%debug
%define api.namespace {sta}
%locations
%define api.location.file "SdfLocation.hh"
%define parse.assert
%parse-param { SdfScanner *scanner }
%parse-param { SdfReader *reader }

View File

@ -30,7 +30,7 @@
#include <FlexLexer.h>
#endif
#include "location.hh"
#include "SdfLocation.hh"
#include "SdfParse.hh"
namespace sta {

View File

@ -48,11 +48,12 @@ sta::VerilogParse::error(const location_type &loc,
}
%}
%require "3.0"
%require "3.2"
%skeleton "lalr1.cc"
%debug
%define api.namespace {sta}
%locations
%define api.location.file "VerilogLocation.hh"
%define parse.assert
%parse-param { VerilogScanner *scanner }
%parse-param { VerilogReader *reader }

View File

@ -30,7 +30,7 @@
#include <FlexLexer.h>
#endif
#include "location.hh"
#include "VerilogLocation.hh"
#include "VerilogParse.hh"
namespace sta {