summaryrefslogtreecommitdiffstats
path: root/clang/utils/ABITest/ABITestGen.py
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-09-27 20:13:24 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-09-27 20:13:24 +0000
commit32f1b54b69dd1840eb72ec2e27a1489ee66b8d6e (patch)
tree2d43499b09b71c95070075e500c1f58c8735f22d /clang/utils/ABITest/ABITestGen.py
parent1998651529615f24147d417b7fb61e9496b96545 (diff)
downloadbcm5719-llvm-32f1b54b69dd1840eb72ec2e27a1489ee66b8d6e.tar.gz
bcm5719-llvm-32f1b54b69dd1840eb72ec2e27a1489ee66b8d6e.zip
utils/ABITest: Factor out type naming code slightly.
llvm-svn: 114867
Diffstat (limited to 'clang/utils/ABITest/ABITestGen.py')
-rwxr-xr-xclang/utils/ABITest/ABITestGen.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/clang/utils/ABITest/ABITestGen.py b/clang/utils/ABITest/ABITestGen.py
index e3f6476c48f..62925e7adea 100755
--- a/clang/utils/ABITest/ABITestGen.py
+++ b/clang/utils/ABITest/ABITestGen.py
@@ -23,6 +23,7 @@ class TypePrinter:
self.testValues = {}
self.testReturnValues = {}
self.layoutTests = []
+ self.declarations = set()
if info:
for f in (self.output,self.outputHeader,self.outputTests,self.outputDriver):
@@ -64,21 +65,25 @@ class TypePrinter:
print >>self.outputDriver, ' return 0;'
print >>self.outputDriver, '}'
+ def addDeclaration(self, decl):
+ if decl in self.declarations:
+ return False
+
+ self.declarations.add(decl)
+ if self.outputHeader:
+ print >>self.outputHeader, decl
+ else:
+ print >>self.output, decl
+ if self.outputTests:
+ print >>self.outputTests, decl
+ return True
+
def getTypeName(self, T):
- if isinstance(T,BuiltinType):
- return T.name
name = self.types.get(T)
if name is None:
- name = 'T%d'%(len(self.types),)
# Reserve slot
self.types[T] = None
- if self.outputHeader:
- print >>self.outputHeader,T.getTypedefDef(name, self)
- else:
- print >>self.output,T.getTypedefDef(name, self)
- if self.outputTests:
- print >>self.outputTests,T.getTypedefDef(name, self)
- self.types[T] = name
+ self.types[T] = name = T.getTypeName(self)
return name
def writeLayoutTest(self, i, ty):
OpenPOWER on IntegriCloud