Fix test step-and-next-inline.cc
authorCarl Love <cel@us.ibm.com>
Wed, 13 Oct 2021 22:32:06 +0000 (22:32 +0000)
committerCarl Love <cel@us.ibm.com>
Thu, 21 Oct 2021 15:16:52 +0000 (10:16 -0500)
The test expect the runto_main to stop at the first line of the function.
Depending on the optimization level, gdb may stop in the prolog or after
the prolog at the first line.  To ensure the test stops at the first line
of main, have it explicitly stop at a break point on the first line of the
function.

On PowerPC, the test passes when compiled with no optimization but fails
with all levels of optimization due to gdb stopping in the prolog.

gdb/testsuite/gdb.cp/step-and-next-inline.cc
gdb/testsuite/gdb.cp/step-and-next-inline.exp

index 26b29d0177798eeda3c8485a88767b42a45651a3..71b93e844f494e711f19de6faa14cc9d08f69097 100644 (file)
@@ -61,6 +61,6 @@ tree xx;
 int
 main()
 {
-  get_alias_set (&xx);
+  get_alias_set (&xx);  /* Beginning of main */
   return 0;
 } // main
index 4997abb9b1b646a6d50a4d3ff641b1ad0c694cde..9f30f537bd3c309f59ea9b448f973b4888a7e9f1 100644 (file)
@@ -58,7 +58,9 @@ proc do_test { use_header } {
 
     with_test_prefix $prefix {
 
-    if ![runto_main] {
+    set main_location [gdb_get_line_number "Beginning of main" $srcfile]
+
+    if ![runto $main_location qualified] {
        return
     }