[all-commits] [llvm/llvm-project] eb4ad0: [flang] Save binding labels as strings
Tim Keith via All-commits
all-commits at lists.llvm.org
Wed Mar 24 08:53:03 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: eb4ad0e3e3635194c21dccdd1c52027e632d2996
https://github.com/llvm/llvm-project/commit/eb4ad0e3e3635194c21dccdd1c52027e632d2996
Author: Tim Keith <tkeith at nvidia.com>
Date: 2021-03-24 (Wed, 24 Mar 2021)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Semantics/modfile04.f90
M flang/test/Semantics/modfile21.f90
M flang/test/Semantics/separate-mp02.f90
Log Message:
-----------
[flang] Save binding labels as strings
Binding labels start as expressions but they have to evaluate to
constant character of default kind, so they can be represented as an
std::string. Leading and trailing blanks have to be removed, so the
folded expression isn't exactly right anyway.
So all BIND(C) symbols now have a string binding label, either the
default or user-supplied one. This is recorded in the .mod file.
Add WithBindName mix-in for details classes that can have a binding
label so that they are all consistent. Add GetBindName() and
SetBindName() member functions to Symbol.
Add tests that verifies that leading and trailing blanks are ignored
in binding labels and that the default label is folded to lower case.
Differential Revision: https://reviews.llvm.org/D99208
More information about the All-commits
mailing list