Fix python compatibility with old gdb versions

Message ID CAGHpTBLpHpuQNhzc031L+Zy4-tExP5S3bSJfra3iH6E=GYfmAQ@mail.gmail.com
State New, archived
Headers

Commit Message

Orgad Shaneh March 8, 2017, 7:23 a.m. UTC
  Type.name was introduced in GDB 7.9.
---
 gdb/python/lib/gdb/printing.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Orgad Shaneh June 11, 2017, 1:55 p.m. UTC | #1
On Wed, Mar 8, 2017 at 10:23 AM, Orgad Shaneh <orgads@gmail.com> wrote:
>
> Type.name was introduced in GDB 7.9.
> ---
>  gdb/python/lib/gdb/printing.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gdb/python/lib/gdb/printing.py b/gdb/python/lib/gdb/printing.py
> index 181701c719..106da4ac8b 100644
> --- a/gdb/python/lib/gdb/printing.py
> +++ b/gdb/python/lib/gdb/printing.py
> @@ -205,7 +205,7 @@ class RegexpCollectionPrettyPrinter(PrettyPrinter):
>
>          # Get the type name.
>          typename = gdb.types.get_basic_type(val.type).tag
> -        if not typename:
> +        if not typename and hasattr(val.type, "name"):
>              typename = val.type.name
>          if not typename:
>              return None
> --
> 2.12.0.windows.1

ping?

- Orgad
  
Simon Marchi June 11, 2017, 5:27 p.m. UTC | #2
On 2017-06-11 15:55, Orgad Shaneh wrote:
> On Wed, Mar 8, 2017 at 10:23 AM, Orgad Shaneh <orgads@gmail.com> wrote:
>> 
>> Type.name was introduced in GDB 7.9.
>> ---
>>  gdb/python/lib/gdb/printing.py | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/gdb/python/lib/gdb/printing.py 
>> b/gdb/python/lib/gdb/printing.py
>> index 181701c719..106da4ac8b 100644
>> --- a/gdb/python/lib/gdb/printing.py
>> +++ b/gdb/python/lib/gdb/printing.py
>> @@ -205,7 +205,7 @@ class 
>> RegexpCollectionPrettyPrinter(PrettyPrinter):
>> 
>>          # Get the type name.
>>          typename = gdb.types.get_basic_type(val.type).tag
>> -        if not typename:
>> +        if not typename and hasattr(val.type, "name"):
>>              typename = val.type.name
>>          if not typename:
>>              return None
>> --
>> 2.12.0.windows.1
> 
> ping?
> 
> - Orgad

Hi Orgad,

Thanks for submitting this, and sorry for the wait.  Could you provide a 
little bit of context to help others understand what's wrong?  Can you 
give some details on how to reproduce the problem?  Make sure to add it 
to the commit message.

Also, please include a ChangeLog entry in your commit message, more 
details here:

https://sourceware.org/gdb/wiki/ContributionChecklist#Properly_Formatted_GNU_ChangeLog

If anything is not clear, please ask.

Thanks,

Simon
  

Patch

diff --git a/gdb/python/lib/gdb/printing.py b/gdb/python/lib/gdb/printing.py
index 181701c719..106da4ac8b 100644
--- a/gdb/python/lib/gdb/printing.py
+++ b/gdb/python/lib/gdb/printing.py
@@ -205,7 +205,7 @@  class RegexpCollectionPrettyPrinter(PrettyPrinter):

         # Get the type name.
         typename = gdb.types.get_basic_type(val.type).tag
-        if not typename:
+        if not typename and hasattr(val.type, "name"):
             typename = val.type.name
         if not typename:
             return None