Files
llvm/flang/lib
jeanPerier 274e798a98 [flang] use set_union instead of merge in added DerivedTypeCache (#147024)
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 [1] and 0390_0230.f90 [2]()
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.

[1]: 0d02267bb9/Fortran/0394/0394_0030.f90
[2]: 0d02267bb9/Fortran/0390/0390_0230.f90
2025-07-04 14:42:42 +02:00
..