From 3539f110dd838cd618c31318c8b373f36c1de5c6 Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Thu, 7 Jan 2010 22:21:26 +0000 Subject: [PATCH] Detailed vtable checker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92953 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/VtableTest/Makefile | 2 +- utils/VtableTest/check-zvt | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100755 utils/VtableTest/check-zvt 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