[rtems-libbsd commit] userspace-header-gen: Don' t generate first array size.

Sebastian Huber sebh at rtems.org
Mon Jan 30 08:44:55 UTC 2017


Module:    rtems-libbsd
Branch:    master
Commit:    46d0378cc6444efab01c7d1696de5eb1889a0506
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=46d0378cc6444efab01c7d1696de5eb1889a0506

Author:    Christian Mauderer <Christian.Mauderer at embedded-brains.de>
Date:      Tue Jan 17 12:00:55 2017 +0100

userspace-header-gen: Don't generate first array size.

---

 userspace-header-gen.py | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/userspace-header-gen.py b/userspace-header-gen.py
index d062275..0d4dbda 100755
--- a/userspace-header-gen.py
+++ b/userspace-header-gen.py
@@ -111,7 +111,7 @@ class HeaderGenCU:
     def _die_is_function(self, die):
         return (die.tag == "DW_TAG_subprogram")
 
-    def _get_type(self, die):
+    def _get_type(self, die, first_array = True):
         """Get the type of a variable DIE.
         Returns two strings: one prefix and one postfix for the variable name"""
         typepre = ""
@@ -139,11 +139,15 @@ class HeaderGenCU:
         elif (typedie.tag == "DW_TAG_array_type"):
             for child in typedie.iter_children():
                 if child.tag == "DW_TAG_subrange_type":
-                    try:
-                        upper_bound = child.attributes["DW_AT_upper_bound"].value
-                        arraysize = "%d" % (upper_bound + 1)
-                    except KeyError:
+                    if first_array == True:
                         arraysize = ""
+                        first_array = False
+                    else:
+                        try:
+                            upper_bound = child.attributes["DW_AT_upper_bound"].value
+                            arraysize = "%d" % (upper_bound + 1)
+                        except KeyError:
+                            arraysize = ""
                     typepost += "[%s]" % arraysize
 
         elif (typedie.tag == "DW_TAG_volatile_type"):
@@ -200,7 +204,7 @@ class HeaderGenCU:
                     raise TypenameNotFoundError(message)
 
         if last == False:
-            addpre, addpost = self._get_type(typedie)
+            addpre, addpost = self._get_type(typedie, first_array)
             typepre = addpre + typepre
             typepost = typepost + addpost
 



More information about the vc mailing list