1 //===-- lib/Semantics/resolve-names.h ---------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef FORTRAN_SEMANTICS_RESOLVE_NAMES_H_ 10 #define FORTRAN_SEMANTICS_RESOLVE_NAMES_H_ 11 12 #include <iosfwd> 13 #include <string> 14 #include <vector> 15 16 namespace llvm { 17 class raw_ostream; 18 } 19 20 namespace Fortran::parser { 21 struct Program; 22 } 23 24 namespace Fortran::semantics { 25 26 class SemanticsContext; 27 class Symbol; 28 29 bool ResolveNames(SemanticsContext &, const parser::Program &); 30 void ResolveSpecificationParts(SemanticsContext &, const Symbol &); 31 void DumpSymbols(llvm::raw_ostream &); 32 33 } // namespace Fortran::semantics 34 35 #endif // FORTRAN_SEMANTICS_RESOLVE_NAMES_H_ 36