187aa9c9eSJonas Devlieghere // clang-format off
2*eb50b643SPavel Labath // REQUIRES: lld, x86
387aa9c9eSJonas Devlieghere 
487aa9c9eSJonas Devlieghere // Test that we can set display source of functions.
5*eb50b643SPavel Labath // RUN: %clang_cl --target=x86_64-windows-msvc -Od -Z7 -c /Fo%t.obj -- %s
6*eb50b643SPavel Labath // RUN: lld-link -debug:full -nodefaultlib -entry:main %t.obj -out:%t.exe -pdb:%t.pdb
787aa9c9eSJonas Devlieghere // RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
887aa9c9eSJonas Devlieghere // RUN:     %p/Inputs/source-list.lldbinit | FileCheck %s
987aa9c9eSJonas Devlieghere 
1087aa9c9eSJonas Devlieghere 
1187aa9c9eSJonas Devlieghere // Some context lines before
1287aa9c9eSJonas Devlieghere // the function.
1387aa9c9eSJonas Devlieghere 
1487aa9c9eSJonas Devlieghere 
main(int argc,char ** argv)1587aa9c9eSJonas Devlieghere int main(int argc, char **argv) {
1687aa9c9eSJonas Devlieghere   // Here are some comments.
1787aa9c9eSJonas Devlieghere   // That we should print when listing source.
1887aa9c9eSJonas Devlieghere   return 0;
1987aa9c9eSJonas Devlieghere }
2087aa9c9eSJonas Devlieghere 
2187aa9c9eSJonas Devlieghere // Some context lines after
2287aa9c9eSJonas Devlieghere // the function.
2387aa9c9eSJonas Devlieghere 
2487aa9c9eSJonas Devlieghere // check lines go at the end so that line numbers stay stable when
2587aa9c9eSJonas Devlieghere // changing this file.
2687aa9c9eSJonas Devlieghere 
2787aa9c9eSJonas Devlieghere // CHECK: (lldb) source list -n main
2887aa9c9eSJonas Devlieghere // CHECK: File: {{.*}}source-list.cpp
2987aa9c9eSJonas Devlieghere // CHECK:    10
3087aa9c9eSJonas Devlieghere // CHECK:    11    // Some context lines before
3187aa9c9eSJonas Devlieghere // CHECK:    12   // the function.
3287aa9c9eSJonas Devlieghere // CHECK:    13
3387aa9c9eSJonas Devlieghere // CHECK:    14
3487aa9c9eSJonas Devlieghere // CHECK:    15   int main(int argc, char **argv) {
3587aa9c9eSJonas Devlieghere // CHECK:    16     // Here are some comments.
3687aa9c9eSJonas Devlieghere // CHECK:    17     // That we should print when listing source.
3787aa9c9eSJonas Devlieghere // CHECK:    18     return 0;
3887aa9c9eSJonas Devlieghere // CHECK:    19   }
3987aa9c9eSJonas Devlieghere // CHECK:    20
4087aa9c9eSJonas Devlieghere // CHECK:    21   // Some context lines after
4187aa9c9eSJonas Devlieghere // CHECK:    22   // the function.
4287aa9c9eSJonas Devlieghere // CHECK:    23
43