9#ifndef FORTRAN_LOWER_HOSTASSOCIATIONS_H
10#define FORTRAN_LOWER_HOSTASSOCIATIONS_H
12#include "mlir/IR/Types.h"
13#include "llvm/ADT/SetVector.h"
31 bool empty()
const {
return tupleSymbols.empty() && globalSymbols.empty(); }
40 const llvm::SetVector<const Fortran::semantics::Symbol *> &symbols,
56 return tupleSymbols.contains(&symbol) || globalSymbols.contains(&symbol);
61 llvm::SetVector<const Fortran::semantics::Symbol *> tupleSymbols;
64 llvm::SetVector<const Fortran::semantics::Symbol *> globalSymbols;
Definition AbstractConverter.h:87
Definition HostAssociations.h:28
void internalProcedureBindings(AbstractConverter &converter, SymMap &symMap)
Definition HostAssociations.cpp:587
bool isAssociated(const Fortran::semantics::Symbol &symbol) const
Is symbol host associated ?
Definition HostAssociations.h:55
mlir::Type getArgumentType(AbstractConverter &convert)
Return the type of the extra argument to add to each internal procedure.
Definition HostAssociations.cpp:643
void addSymbolsToBind(const llvm::SetVector< const Fortran::semantics::Symbol * > &symbols, const Fortran::semantics::Scope &hostScope)
Definition HostAssociations.cpp:541
bool empty() const
Returns true iff there are no host associations.
Definition HostAssociations.h:31
void hostProcedureBindings(AbstractConverter &converter, SymMap &symMap)
Definition HostAssociations.cpp:560
bool hasTupleAssociations() const
Definition HostAssociations.h:35
Definition SymbolMap.h:181
Definition ParserActions.h:24
Definition bit-population-count.h:20