xref: /llvm-project/flang/tools/f18-parse-demo/stub-evaluate.cpp (revision 1f8790050b0e99e7b46cc69518aa84f46f50738e)
16c16aa4fSPatrick McCormick //===-- tools/f18/stub-evaluate.cpp ---------------------------------------===//
26c16aa4fSPatrick McCormick //
36c16aa4fSPatrick McCormick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
46c16aa4fSPatrick McCormick // See https://llvm.org/LICENSE.txt for license information.
56c16aa4fSPatrick McCormick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
66c16aa4fSPatrick McCormick //
76c16aa4fSPatrick McCormick //===----------------------------------------------------------------------===//
86c16aa4fSPatrick McCormick 
96c16aa4fSPatrick McCormick // The parse tree has slots in which pointers to the results of semantic
106c16aa4fSPatrick McCormick // analysis may be placed.  When using the parser without the semantics
116c16aa4fSPatrick McCormick // libraries, as here, we need to stub out the dependences on the external
126c16aa4fSPatrick McCormick // destructors, which will never actually be called.
136c16aa4fSPatrick McCormick 
146c16aa4fSPatrick McCormick #include "flang/Common/indirection.h"
156c16aa4fSPatrick McCormick 
166c16aa4fSPatrick McCormick namespace Fortran::evaluate {
176c16aa4fSPatrick McCormick struct GenericExprWrapper {
186c16aa4fSPatrick McCormick   ~GenericExprWrapper();
196c16aa4fSPatrick McCormick };
206c16aa4fSPatrick McCormick GenericExprWrapper::~GenericExprWrapper() {}
216c16aa4fSPatrick McCormick struct GenericAssignmentWrapper {
226c16aa4fSPatrick McCormick   ~GenericAssignmentWrapper();
236c16aa4fSPatrick McCormick };
246c16aa4fSPatrick McCormick GenericAssignmentWrapper::~GenericAssignmentWrapper() {}
256c16aa4fSPatrick McCormick struct ProcedureRef {
266c16aa4fSPatrick McCormick   ~ProcedureRef();
276c16aa4fSPatrick McCormick };
286c16aa4fSPatrick McCormick ProcedureRef::~ProcedureRef() {}
29*1f879005STim Keith } // namespace Fortran::evaluate
306c16aa4fSPatrick McCormick 
316c16aa4fSPatrick McCormick DEFINE_DELETER(Fortran::evaluate::GenericExprWrapper)
326c16aa4fSPatrick McCormick DEFINE_DELETER(Fortran::evaluate::GenericAssignmentWrapper)
336c16aa4fSPatrick McCormick DEFINE_DELETER(Fortran::evaluate::ProcedureRef)
34