[llvm-commits] CVS: llvm/test/Regression/DebugInfo/2006-11-06-StackTrace.cpp dg.exp

Reid Spencer reid at x10sys.com
Mon Nov 6 23:31:58 PST 2006



Changes in directory llvm/test/Regression/DebugInfo:

2006-11-06-StackTrace.cpp added (r1.1)
dg.exp added (r1.1)
---
Log message:

Add a test case for making sure gdb can get a stack trace with our debug
information.


---
Diffs of the changes:  (+32 -0)

 2006-11-06-StackTrace.cpp |   29 +++++++++++++++++++++++++++++
 dg.exp                    |    3 +++
 2 files changed, 32 insertions(+)


Index: llvm/test/Regression/DebugInfo/2006-11-06-StackTrace.cpp
diff -c /dev/null llvm/test/Regression/DebugInfo/2006-11-06-StackTrace.cpp:1.1
*** /dev/null	Tue Nov  7 01:31:48 2006
--- llvm/test/Regression/DebugInfo/2006-11-06-StackTrace.cpp	Tue Nov  7 01:31:37 2006
***************
*** 0 ****
--- 1,29 ----
+ // This is a regression test on debug info to make sure that we can get a
+ // meaningful stack trace from a C++ program.
+ // RUN: %llvmgcc -S -O0 -g %s -o Output/%s.ll
+ // RUN: llvm-as < Output/%s.ll | llc -o Output/%s.s
+ // RUN: gcc -g Output/%s.s -o Output/%s.exe
+ // RUN: ( echo "break DeepStack::deepest"; echo "run 17" ; echo "where" ) | gdb Output/%s.exe | grep '#0  DeepStack::deepest (this=.*,x=33)'
+ 
+ #include <stdlib.h>
+ 
+ class DeepStack {
+   int seedVal;
+ public:
+   DeepStack(int seed) : seedVal(seed) {}
+ 
+   int shallowest( int x ) { return shallower(x + 1); }
+   int shallower ( int x ) { return shallow(x + 2); }
+   int shallow   ( int x ) { return deep(x + 3); }
+   int deep      ( int x ) { return deeper(x + 4); }
+   int deeper    ( int x ) { return deepest(x + 6); }
+   int deepest   ( int x ) { return x + 7; }
+ 
+   int runit() { return shallowest(seedVal); }
+ };
+ 
+ int main ( int argc, char** argv) {
+ 
+   DeepStack DS9( (argc > 1 ? atoi(argv[1]) : 0) );
+   return DS9.runit();
+ }


Index: llvm/test/Regression/DebugInfo/dg.exp
diff -c /dev/null llvm/test/Regression/DebugInfo/dg.exp:1.1
*** /dev/null	Tue Nov  7 01:31:58 2006
--- llvm/test/Regression/DebugInfo/dg.exp	Tue Nov  7 01:31:37 2006
***************
*** 0 ****
--- 1,3 ----
+ load_lib llvm-dg.exp
+ 
+ llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version






More information about the llvm-commits mailing list