forked from OSchip/llvm-project
46ade6d0ef
In parser::AllCookedSources, implement a map from CharBlocks to the CookedSource instances that they cover. This permits a fast Find() operation based on std::map::equal_range to map a CharBlock to its enclosing CookedSource instance. Add a creation order number to each CookedSource. This allows AllCookedSources to provide a Precedes(x,y) predicate that is a true source stream ordering between two CharBlocks -- x is less than y if it is in an earlier CookedSource, or in the same CookedSource at an earlier position. Add a reference to the singleton SemanticsContext to each Scope. All of this allows operator< to be implemented on Symbols by means of a true source ordering. From a Symbol, we get to its Scope, then to the SemanticsContext, and then use its AllCookedSources reference to call Precedes(). Differential Revision: https://reviews.llvm.org/D98743 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
ISO-Fortran-binding.cpp | ||
bit-population-count.cpp | ||
expression.cpp | ||
folding.cpp | ||
fp-testing.cpp | ||
fp-testing.h | ||
integer.cpp | ||
intrinsics.cpp | ||
leading-zero-bit-count.cpp | ||
logical.cpp | ||
real.cpp | ||
reshape.cpp | ||
testing.cpp | ||
testing.h | ||
uint128.cpp |