[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