[flang] use set_union instead of merge in added DerivedTypeCache #147024
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When merging the list of recursive reference under two components, duplicates should be removed.
If the recursive reference to parents nodes (referred by depth of the parents node) are [1, 2, 5] and [4, 5], the new list should be [1,2,4,5].
With std::merge, the order was correct but 5 was duplicated use std::set_union instead that removes duplicates.
With this patch Fujitsu tests 0394_0030.f90 and 0390_0230.f90 finally compile with -g in about 10s. Their compilation was hanging before #146543, and they were now hitting an error "LLVM ERROR: SmallVector unable to grow" which is fixed by this patch.