llvm-project/flang/lib/Semantics
Tim Keith 824d198e31 [flang] Create symbols for args of separate-module-subprogram
A separate-module-subprogram is declared as `module procedure ...`
and gets its characteristics from the declaration of that name as
a separate module procedure. When we encounter one, we need to create
symbols in the new subprogram scope for the dummy arguments and
function return (if any).

The failure to create these symbols led to the bug in issue flang-compiler/f18#1054:
when a dummy argument was referenced, the compiler interpreted it as
an implicit declaration because there was no symbol for the argument.

Fixes flang-compiler/f18#1054.

Original-commit: flang-compiler/f18@4d3c4bac84
Reviewed-on: https://github.com/flang-compiler/f18/pull/1080
Tree-same-pre-rewrite: false
2020-03-17 16:01:59 -07:00
..
CMakeLists.txt [flang] Add semantic checks C8104, C8105. Add tests for C8103, C8104, C8105 2020-02-27 15:55:46 -08:00
assignment.cpp [flang] Allow for vector subscript on LHS of assignment 2020-03-10 16:32:58 -07:00
assignment.h [flang] Change CheckDefinabilityInPureScope to return bool 2020-03-09 17:25:12 -07:00
attr.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
canonicalize-do.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
canonicalize-do.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
canonicalize-omp.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
canonicalize-omp.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-allocate.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-allocate.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-arithmeticif.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-arithmeticif.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-call.cpp [flang] Use hash table for UnitMap, avoid C++ STL binary dependence 2020-03-11 13:23:39 -07:00
check-call.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-coarray.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-coarray.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-data.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-data.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-deallocate.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-deallocate.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-declarations.cpp [flang] Perform definability checks on LHS of assignment 2020-03-09 17:25:12 -07:00
check-declarations.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-do-forall.cpp [flang] Remove use of std::set::merge 2020-02-26 16:10:11 -08:00
check-do-forall.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-if-stmt.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-if-stmt.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-io.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-io.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-namelist.cpp [flang] Add semantic checks C8104, C8105. Add tests for C8103, C8104, C8105 2020-02-27 15:55:46 -08:00
check-namelist.h [flang] Add semantic checks C8104, C8105. Add tests for C8103, C8104, C8105 2020-02-27 15:55:46 -08:00
check-nullify.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-nullify.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-omp-structure.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-omp-structure.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-purity.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-purity.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-return.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-return.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-stop.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
check-stop.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
expression.cpp [flang] Perform definability checks on LHS of assignment 2020-03-09 17:25:12 -07:00
mod-file.cpp [flang] Use a file descriptor in Temp struct (flang-compiler/f18#1036) 2020-03-05 07:09:29 -08:00
mod-file.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
pointer-assignment.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
pointer-assignment.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
program-tree.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
program-tree.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
resolve-labels.cpp [flang] Changes to get a clean build of f18 with latest clang 2020-03-10 13:12:52 -07:00
resolve-labels.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
resolve-names-utils.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
resolve-names-utils.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
resolve-names.cpp [flang] Create symbols for args of separate-module-subprogram 2020-03-17 16:01:59 -07:00
resolve-names.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
rewrite-parse-tree.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
rewrite-parse-tree.h [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
scope.cpp [flang] Create symbols for args of separate-module-subprogram 2020-03-17 16:01:59 -07:00
semantics.cpp [flang] Add semantic checks C8104, C8105. Add tests for C8103, C8104, C8105 2020-02-27 15:55:46 -08:00
symbol.cpp [flang] Improve checking of structure constructor arguments 2020-03-03 13:24:09 -08:00
tools.cpp [flang] Fix scope accessibility check 2020-03-10 15:31:02 -07:00
type.cpp [flang] Perform definability checks on LHS of assignment 2020-03-09 17:25:12 -07:00
unparse-with-symbols.cpp [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00