Please sign in to comment.
Fix a segfault with procedure dummy arguments
Fix a fault with procedure dummy arguments and interfaces. Create a unique symbol for interfaces that are used in procedure pointer declarations because the LLVM bridge uses the interface as well as the argument ILI to generate arguments at a procedure pointer call. An interface symbol might turn into a procedure symbol in the back-end. Create a unique symbol so we can mark it with a new field called IS_PROC_PTR_IFACE. This field says that the symbol is used as an interface to a procedure pointer. When the bridge sees this field set, it knows to generate a closure pointer as the last argument at the call-site. This bug fix addresses Flang issue #577.
- Loading branch information...
Showing with 133 additions and 7 deletions.
- +14 −0 tools/flang1/flang1exe/dtypeutl.c
- +2 −0 tools/flang1/flang1exe/lower.h
- +4 −0 tools/flang1/flang1exe/lowersym.c
- +44 −1 tools/flang1/flang1exe/semant.c
- +35 −0 tools/flang1/flang1exe/symtab.c
- +1 −0 tools/flang1/utils/symtab/symtab.in.h
- +3 −0 tools/flang1/utils/symtab/symtab.n
- +21 −5 tools/flang2/flang2exe/ll_ftn.cpp
- +5 −1 tools/flang2/flang2exe/upper.cpp
- +2 −0 tools/flang2/flang2exe/upper.h
- +2 −0 tools/flang2/utils/symtab/symtab.n