xo-interpreter2 stack: mark non-trivial dtors b/c DGlobalSymtab

This commit is contained in:
Roland Conybeare 2026-02-15 14:26:33 -05:00
commit 8aec961990
5 changed files with 20 additions and 3 deletions

View file

@ -47,6 +47,9 @@ namespace xo {
obj<AAllocator> mm, obj<AAllocator> mm,
const ArenaHashMapConfig & cfg); const ArenaHashMapConfig & cfg);
/** non-trivial destructor for @ref map_ **/
~DGlobalSymtab() = default;
///@} ///@}
/** @defgroup scm-globalsymtab-access-methods access methods **/ /** @defgroup scm-globalsymtab-access-methods access methods **/
///@{ ///@{

View file

@ -81,6 +81,11 @@ namespace xo {
VirtualSchematikaMachine(const VsmConfig & config, VirtualSchematikaMachine(const VsmConfig & config,
obj<AAllocator> aux_mm); obj<AAllocator> aux_mm);
/** non-trivial dtor because of @ref reader_
* indirect dependency on DGlobalSymtab
**/
~VirtualSchematikaMachine() = default;
/** allocator for schematika data **/ /** allocator for schematika data **/
obj<AAllocator> allocator() const noexcept; obj<AAllocator> allocator() const noexcept;
/** allocator for runtime errors **/ /** allocator for runtime errors **/

View file

@ -57,6 +57,9 @@ namespace xo {
obj<AAllocator> expr_alloc, obj<AAllocator> expr_alloc,
obj<AAllocator> aux_alloc); obj<AAllocator> aux_alloc);
/** non-trivial dtor for @ref global_symtab_ **/
~ParserStateMachine() = default;
/** @defgroup scm-parserstatemachine-accessors accessor methods **/ /** @defgroup scm-parserstatemachine-accessors accessor methods **/
///@{ ///@{
@ -313,12 +316,12 @@ namespace xo {
**/ **/
DLocalSymtab * local_symtab_ = nullptr; DLocalSymtab * local_symtab_ = nullptr;
#ifdef NOT_YET
/** global symbol table. /** global symbol table.
* Toplevel definitions go here. * Toplevel definitions go here.
*
* Uses mmap -> non-trivial destructor.
**/ **/
DGlobalSymtab * global_symtab_ = nullptr; dp<DGlobalSymtab> global_symtab_;
#endif
/** current output from parser **/ /** current output from parser **/
ParserResult result_; ParserResult result_;

View file

@ -178,6 +178,9 @@ namespace xo {
obj<AAllocator> aux_alloc, obj<AAllocator> aux_alloc,
bool debug_flag); bool debug_flag);
/** non-trivial dtor because of @ref psm_ **/
~SchematikaParser() = default;
/** scm-schematikaparser-access-methods **/ /** scm-schematikaparser-access-methods **/
///@{ ///@{

View file

@ -51,6 +51,9 @@ namespace xo {
obj<AAllocator> expr_alloc, obj<AAllocator> expr_alloc,
obj<AAllocator> fixed_alloc); obj<AAllocator> fixed_alloc);
/** non-trivial dtor because of @p parser **/
~SchematikaReader() = default;
/** visit reader-owned memory pools; call visitor(info) for each. /** visit reader-owned memory pools; call visitor(info) for each.
* Specifically exclude expr_alloc, since we don't consider * Specifically exclude expr_alloc, since we don't consider
* that reader-owned * that reader-owned