[all-commits] [llvm/llvm-project] 0d8331: [flang] Refine symbol sorting
Peter Klausler via All-commits
all-commits at lists.llvm.org
Thu Mar 18 11:18:42 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0d8331c06be6981da5341bdcbbc6dd867002da08
https://github.com/llvm/llvm-project/commit/0d8331c06be6981da5341bdcbbc6dd867002da08
Author: peter klausler <pklausler at nvidia.com>
Date: 2021-03-18 (Thu, 18 Mar 2021)
Changed paths:
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/constant.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Parser/provenance.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/scope.cpp
M flang/test/Semantics/resolve102.f90
Log Message:
-----------
[flang] Refine symbol sorting
Replace semantics::SymbolSet with alternatives that clarify
whether the set should order its contents by source position
or not. This matters because positionally-ordered sets must
not be used for Symbols that might be subjected to name
replacement during name resolution, and address-ordered
sets must not be used (without sorting) in circumstances
where the order of their contents affects the output of the
compiler.
All set<> and map<> instances in the compiler that are keyed
by Symbols now have explicit Compare types in their template
instantiations. Symbol::operator< is no more.
Differential Revision: https://reviews.llvm.org/D98878
More information about the All-commits
mailing list