diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-09-27 20:13:24 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-09-27 20:13:24 +0000 |
commit | 32f1b54b69dd1840eb72ec2e27a1489ee66b8d6e (patch) | |
tree | 2d43499b09b71c95070075e500c1f58c8735f22d /clang/utils/ABITest/ABITestGen.py | |
parent | 1998651529615f24147d417b7fb61e9496b96545 (diff) | |
download | bcm5719-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-x | clang/utils/ABITest/ABITestGen.py | 25 |
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): |