mirror of
https://github.com/intel/llvm.git
synced 2026-02-02 10:08:59 +08:00
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