[gdb/testsuite] Fix wrong return type in tests

Message ID e998867a-08b5-cbf2-004b-b9ce3d73c588@foss.arm.com
State New, archived
Headers

Commit Message

Thomas Preud'homme Nov. 29, 2017, 10:48 a.m. UTC
  Hi,

The following tests are marked untested with latest GCC due to a warning
being emitted for a mismatch between their return type and what the lack
of return statement:

* gdb.cp/breakpoint.exp
* gdb.cp/psymtab-parameter.exp
* gdb.cp/shadow.exp

This patch fix the return type to match the function definitions.

ChangeLog entries is as follows:

*** gdb/testsuite/ChangeLog ***

2017-11-29  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* gdb.cp/breakpoint.cc (bar): Set return type to void.
	* gdb.cp/psymtab-parameter.cc (func): Likewise.
	* gdb.cp/psymtab-parameter.exp: Update comment regarding prototype of
	func ().
	* gdb.cp/shadow.cc (B.func): Return 0.

Testing: Tests PASS on arm-none-eabi with this fix but are marked
UNTESTED without.

Committed as obvious.

Best regards,

Thomas
  

Comments

Pedro Alves Nov. 29, 2017, 11:04 a.m. UTC | #1
On 11/29/2017 10:48 AM, Thomas Preudhomme wrote:
> index 0990430c128413ecc21bcf65ebf58a1899f535fa..9f63fefcaeb800f7444fe74225514d3330036e5b 100644
> --- a/gdb/testsuite/gdb.cp/psymtab-parameter.cc
> +++ b/gdb/testsuite/gdb.cp/psymtab-parameter.cc
> @@ -16,7 +16,7 @@
>     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>  
>  template <typename T>
> -long
> +void
>  func ()
>  {
>  }
> diff --git a/gdb/testsuite/gdb.cp/psymtab-parameter.exp b/gdb/testsuite/gdb.cp/psymtab-parameter.exp
> index 3d78de91f4b3752d754bd776ae3532700a308a40..5c4b6ac71927fe9030bd9ce66111761425ab433b 100644
> --- a/gdb/testsuite/gdb.cp/psymtab-parameter.exp
> +++ b/gdb/testsuite/gdb.cp/psymtab-parameter.exp
> @@ -31,6 +31,6 @@ gdb_test_no_output "set language c++"
>  # XFAIL than FAIL here.  For example -readnow breaks it.
>  gdb_test_no_output "maintenance info symtabs"
>  
> -# GDB has shown only the `long func<short>()' ELF symbol before, not the DWARF
> +# GDB has shown only the `void func<short>()' ELF symbol before, not the DWARF
>  # symbol
>  gdb_test "complete p 'func<short>(" "p 'func<short>\\(\\)"

I think the return type may have been significant for this test.
See comments around DMGL_RET_DROP in commit 900e11f9ec1e.

Thanks,
Pedro Alves
  
Thomas Preud'homme Nov. 29, 2017, 11:59 a.m. UTC | #2
My apologize, I thought it couldn't be significant since it was not returning 
anything. I didn't think about the impact on the prototype itself. How about 
making it return 0 instead then?

Best regards,

Thomas

On 29/11/17 11:04, Pedro Alves wrote:
> On 11/29/2017 10:48 AM, Thomas Preudhomme wrote:
>> index 0990430c128413ecc21bcf65ebf58a1899f535fa..9f63fefcaeb800f7444fe74225514d3330036e5b 100644
>> --- a/gdb/testsuite/gdb.cp/psymtab-parameter.cc
>> +++ b/gdb/testsuite/gdb.cp/psymtab-parameter.cc
>> @@ -16,7 +16,7 @@
>>      along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>>   
>>   template <typename T>
>> -long
>> +void
>>   func ()
>>   {
>>   }
>> diff --git a/gdb/testsuite/gdb.cp/psymtab-parameter.exp b/gdb/testsuite/gdb.cp/psymtab-parameter.exp
>> index 3d78de91f4b3752d754bd776ae3532700a308a40..5c4b6ac71927fe9030bd9ce66111761425ab433b 100644
>> --- a/gdb/testsuite/gdb.cp/psymtab-parameter.exp
>> +++ b/gdb/testsuite/gdb.cp/psymtab-parameter.exp
>> @@ -31,6 +31,6 @@ gdb_test_no_output "set language c++"
>>   # XFAIL than FAIL here.  For example -readnow breaks it.
>>   gdb_test_no_output "maintenance info symtabs"
>>   
>> -# GDB has shown only the `long func<short>()' ELF symbol before, not the DWARF
>> +# GDB has shown only the `void func<short>()' ELF symbol before, not the DWARF
>>   # symbol
>>   gdb_test "complete p 'func<short>(" "p 'func<short>\\(\\)"
> 
> I think the return type may have been significant for this test.
> See comments around DMGL_RET_DROP in commit 900e11f9ec1e.
> 
> Thanks,
> Pedro Alves
>
  
Pedro Alves Nov. 29, 2017, 12:06 p.m. UTC | #3
On 11/29/2017 11:59 AM, Thomas Preudhomme wrote:
> My apologize, I thought it couldn't be significant since it was not
> returning anything.  I didn't think about the impact on the prototype
> itself. 

No worries.  It was easy to miss.

How about making it return 0 instead then?

Yes please, go ahead and push such a fix in.

Thanks,
Pedro Alves
  

Patch

diff --git a/gdb/testsuite/gdb.cp/breakpoint.cc b/gdb/testsuite/gdb.cp/breakpoint.cc
index fc9b9d9f3e55813ac549ec06d4bdb393e1a93809..1feff44cd38cdc385abd2c4ea3c9dcf8b57c4861 100644
--- a/gdb/testsuite/gdb.cp/breakpoint.cc
+++ b/gdb/testsuite/gdb.cp/breakpoint.cc
@@ -28,7 +28,7 @@  public:
     return 1; // conditional breakpoint in method
   }
 
-  int bar ()
+  void bar ()
   {
     for (int i = 0; i < 1; ++i)
       {
diff --git a/gdb/testsuite/gdb.cp/psymtab-parameter.cc b/gdb/testsuite/gdb.cp/psymtab-parameter.cc
index 0990430c128413ecc21bcf65ebf58a1899f535fa..9f63fefcaeb800f7444fe74225514d3330036e5b 100644
--- a/gdb/testsuite/gdb.cp/psymtab-parameter.cc
+++ b/gdb/testsuite/gdb.cp/psymtab-parameter.cc
@@ -16,7 +16,7 @@ 
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 template <typename T>
-long
+void
 func ()
 {
 }
diff --git a/gdb/testsuite/gdb.cp/psymtab-parameter.exp b/gdb/testsuite/gdb.cp/psymtab-parameter.exp
index 3d78de91f4b3752d754bd776ae3532700a308a40..5c4b6ac71927fe9030bd9ce66111761425ab433b 100644
--- a/gdb/testsuite/gdb.cp/psymtab-parameter.exp
+++ b/gdb/testsuite/gdb.cp/psymtab-parameter.exp
@@ -31,6 +31,6 @@  gdb_test_no_output "set language c++"
 # XFAIL than FAIL here.  For example -readnow breaks it.
 gdb_test_no_output "maintenance info symtabs"
 
-# GDB has shown only the `long func<short>()' ELF symbol before, not the DWARF
+# GDB has shown only the `void func<short>()' ELF symbol before, not the DWARF
 # symbol
 gdb_test "complete p 'func<short>(" "p 'func<short>\\(\\)"
diff --git a/gdb/testsuite/gdb.cp/shadow.cc b/gdb/testsuite/gdb.cp/shadow.cc
index 0520b2aeb8b6afecd7091cac3e295bec99c485b1..4c9fb12a7bbe95a89c3b7df2cb2782fabeec462a 100644
--- a/gdb/testsuite/gdb.cp/shadow.cc
+++ b/gdb/testsuite/gdb.cp/shadow.cc
@@ -36,6 +36,7 @@  public:
               }
           }
       }
+    return 0;
   }
 };