diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp --- a/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp @@ -1391,6 +1391,7 @@ // sys::path::append skips empty strings. sys::path::append(FilePath, Style, IncludeDir, FileName); + sys::path::remove_dots(FilePath, /*remove_dot_dot=*/true, Style); Result = std::string(FilePath.str()); return true; } diff --git a/llvm/test/tools/llvm-symbolizer/frame-fortran.s b/llvm/test/tools/llvm-symbolizer/frame-fortran.s --- a/llvm/test/tools/llvm-symbolizer/frame-fortran.s +++ b/llvm/test/tools/llvm-symbolizer/frame-fortran.s @@ -13,7 +13,7 @@ // CHECK: foo // CHECK-NEXT: array -// CHECK-NEXT: /home/ubuntu{{/|\\}}.{{/|\\}}example.cpp:1 +// CHECK-NEXT: /home/ubuntu{{/|\\}}example.cpp:1 // CHECK-NEXT: -24 8 ?? .file "example.cpp"