summaryrefslogtreecommitdiff
path: root/utils/VtableTest
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2010-01-07 22:21:26 +0000
committerMike Stump <mrs@apple.com>2010-01-07 22:21:26 +0000
commit3539f110dd838cd618c31318c8b373f36c1de5c6 (patch)
tree8aeaa92f1ffe09b88a53ba813a3b4cda515b8b28 /utils/VtableTest
parentd83658d45484df6e209d207e750a28b6424f9c56 (diff)
downloadclang-3539f110dd838cd618c31318c8b373f36c1de5c6.tar.gz
Detailed vtable checker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92953 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/VtableTest')
-rw-r--r--utils/VtableTest/Makefile2
-rwxr-xr-xutils/VtableTest/check-zvt18
2 files changed, 19 insertions, 1 deletions
diff --git a/utils/VtableTest/Makefile b/utils/VtableTest/Makefile
index 4798e82886..0e06026790 100644
--- a/utils/VtableTest/Makefile
+++ b/utils/VtableTest/Makefile
@@ -1,4 +1,4 @@
-GXX := g++
+GXX := llvm-g++-4.2
CLANGXX := clang++
all: one
diff --git a/utils/VtableTest/check-zvt b/utils/VtableTest/check-zvt
new file mode 100755
index 0000000000..d95cc5bf06
--- /dev/null
+++ b/utils/VtableTest/check-zvt
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+N_STRUCTS=300
+
+# Utility routine to "hand" check vtables.
+
+let i=0;
+while [ $i != $N_STRUCTS ]; do
+ sed -n "/^__ZTV.*s$i:/,/\.[sg][el]/p" test-clang.s | grep -v '\.[sg][el]' >test-clang-ztv
+ sed -n "/^__ZTV.*s$i:/,/\.[sg][el]/p" test-gcc.s | grep -v '\.[sg][el]' >test-gcc-ztv
+ diff -U3 test-gcc-ztv test-clang-ztv
+ if [ $? != 0 ]; then
+ echo "FAIL: s$i vtable"
+ else
+ echo "PASS: s$i vtable"
+ fi
+ let i=i+1
+done