[gdb/testsuite] Fix wrong return type in tests
Commit Message
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
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
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
>
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
@@ -28,7 +28,7 @@ public:
return 1; // conditional breakpoint in method
}
- int bar ()
+ void bar ()
{
for (int i = 0; i < 1; ++i)
{
@@ -16,7 +16,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
template <typename T>
-long
+void
func ()
{
}
@@ -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>\\(\\)"
@@ -36,6 +36,7 @@ public:
}
}
}
+ return 0;
}
};