diff --git a/tests/manual/binding/binding.pro b/tests/manual/binding/binding.pro
deleted file mode 100644
index 6c73e184d13a8ec3711ba7eba9811a720211d408..0000000000000000000000000000000000000000
--- a/tests/manual/binding/binding.pro
+++ /dev/null
@@ -1,22 +0,0 @@
-QT =
-
-macx:CONFIG -= app_bundle
-
-TARGET = cplusplus0
-
-*-g++*:QMAKE_CXXFLAGS += -fno-rtti \
-    -fno-exceptions
-
-include(../../../src/shared/cplusplus/cplusplus.pri)
-
-unix {
-    debug:OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared
-    release:OBJECTS_DIR = $${OUT_PWD}/.obj/release-shared
-    debug:MOC_DIR = $${OUT_PWD}/.moc/debug-shared
-    release:MOC_DIR = $${OUT_PWD}/.moc/release-shared
-    RCC_DIR = $${OUT_PWD}/.rcc/
-    UI_DIR = $${OUT_PWD}/.uic/
-}
-
-# Input
-SOURCES += main.cpp
diff --git a/tests/manual/binding/c++ b/tests/manual/binding/c++
deleted file mode 100755
index 79ec597fcb1907501c7d659f47323f3c08388609..0000000000000000000000000000000000000000
--- a/tests/manual/binding/c++
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-me=$(dirname $0)
-t=$(mktemp -t c++)
-echo "Generating $t"
-${CPP-gcc} -xc++ -E -include $me/conf.c++ $* > $t
-echo "Parsing $t"
-$me/cplusplus0 $t
diff --git a/tests/manual/binding/conf.c++ b/tests/manual/binding/conf.c++
deleted file mode 100644
index c966da060a82c23e444fa200aed9ec68c2d079a3..0000000000000000000000000000000000000000
--- a/tests/manual/binding/conf.c++
+++ /dev/null
@@ -1,11 +0,0 @@
-#define __extension__
-#define __context__
-#define __range__
-#define __asm(a...)
-#define __asm__(a...)
-#define   restrict
-#define __restrict
-#define __weak
-#define __complex__
-#define __imag__
-#define __real__
diff --git a/tests/manual/binding/main.cpp b/tests/manual/binding/main.cpp
deleted file mode 100644
index 5675820d44c09b2bd8763a78133faeb390e2bd4f..0000000000000000000000000000000000000000
--- a/tests/manual/binding/main.cpp
+++ /dev/null
@@ -1,554 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** Commercial Usage
-**
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** GNU Lesser General Public License Usage
-**
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://qt.nokia.com/contact.
-**
-**************************************************************************/
-
-#include <AST.h>
-#include <ASTVisitor.h>
-#include <Control.h>
-#include <Scope.h>
-#include <Semantic.h>
-#include <TranslationUnit.h>
-#include <PrettyPrinter.h>
-#include <Symbolvisitor.h>
-#include <Names.h>
-#include <Symbols.h>
-#include <Literals.h>
-
-#include <vector>
-
-#include <cstdio>
-#include <cstdlib>
-#include <cassert>
-#include <iostream>
-#include <fstream>
-#include <sstream>
-
-
-////////////////////////////////////////////////////////////////////////////////
-// NamespaceBinding
-////////////////////////////////////////////////////////////////////////////////
-
-class Location
-{
-public:
-    Location()
-        : _fileId(0),
-          _sourceLocation(0)
-    { }
-
-    Location(Symbol *symbol)
-        : _fileId(symbol->fileId()),
-          _sourceLocation(symbol->sourceLocation())
-    { }
-
-    Location(StringLiteral *fileId, unsigned sourceLocation)
-        : _fileId(fileId), _sourceLocation(sourceLocation)
-    { }
-
-    inline bool isValid() const
-    { return _fileId != 0; }
-
-    inline operator bool() const
-    { return _fileId != 0; }
-
-    inline StringLiteral *fileId() const
-    { return _fileId; }
-
-    inline unsigned sourceLocation() const
-    { return _sourceLocation; }
-
-private:
-    StringLiteral *_fileId;
-    unsigned _sourceLocation;
-};
-
-class NamespaceBinding
-{
-public:
-    /// Constructs a binding with the given parent.
-    NamespaceBinding(NamespaceBinding *parent = 0);
-
-    /// Destroys the binding.
-    ~NamespaceBinding();
-
-    /// Returns this binding's name.
-    NameId *name() const;
-
-    /// Returns this binding's identifier.
-    Identifier *identifier() const;
-
-    /// Returns the binding for the global namespace (aka ::).
-    NamespaceBinding *globalNamespaceBinding();
-
-    /// Returns the binding for the given namespace symbol.
-    NamespaceBinding *findNamespaceBinding(Name *name);
-
-    /// Returns the binding associated with the given symbol.
-    NamespaceBinding *findOrCreateNamespaceBinding(Namespace *symbol);
-
-    NamespaceBinding *resolveNamespace(const Location &loc,
-                                       Name *name,
-                                       bool lookAtParent = true);
-
-    /// Helpers.
-    std::string qualifiedId() const;
-    void dump();
-
-private:
-    NamespaceBinding *findNamespaceBindingForNameId(NameId *name);
-
-public: // attributes
-    /// This binding's parent.
-    NamespaceBinding *parent;
-
-    /// Binding for anonymous namespace symbols.
-    NamespaceBinding *anonymousNamespaceBinding;
-
-    /// This binding's connections.
-    Array<NamespaceBinding *> children;
-
-    /// This binding's list of using namespaces.
-    Array<NamespaceBinding *> usings;
-
-    /// This binding's namespace symbols.
-    Array<Namespace *> symbols;
-};
-
-NamespaceBinding::NamespaceBinding(NamespaceBinding *parent)
-    : parent(parent),
-      anonymousNamespaceBinding(0)
-{
-    if (parent)
-        parent->children.push_back(this);
-}
-
-NamespaceBinding::~NamespaceBinding()
-{
-    for (unsigned i = 0; i < children.size(); ++i) {
-        NamespaceBinding *binding = children.at(i);
-
-        delete binding;
-    }
-}
-
-NameId *NamespaceBinding::name() const
-{
-    if (symbols.size()) {
-        if (Name *name = symbols.at(0)->name()) {
-            NameId *nameId = name->asNameId();
-            assert(nameId != 0);
-
-            return nameId;
-        }
-    }
-
-    return 0;
-}
-
-Identifier *NamespaceBinding::identifier() const
-{
-    if (NameId *nameId = name())
-        return nameId->identifier();
-
-    return 0;
-}
-
-NamespaceBinding *NamespaceBinding::globalNamespaceBinding()
-{
-    NamespaceBinding *it = this;
-
-    for (; it; it = it->parent) {
-        if (! it->parent)
-            break;
-    }
-
-    return it;
-}
-
-NamespaceBinding *NamespaceBinding::findNamespaceBinding(Name *name)
-{
-    if (! name)
-        return anonymousNamespaceBinding;
-
-    else if (NameId *nameId = name->asNameId())
-        return findNamespaceBindingForNameId(nameId);
-
-    // invalid binding
-    return 0;
-}
-
-NamespaceBinding *NamespaceBinding::findNamespaceBindingForNameId(NameId *name)
-{
-    for (unsigned i = 0; i < children.size(); ++i) {
-        NamespaceBinding *binding = children.at(i);
-        Name *bindingName = binding->name();
-
-        if (! bindingName)
-            continue;
-
-        if (NameId *bindingNameId = bindingName->asNameId()) {
-            if (name->isEqualTo(bindingNameId))
-                return binding;
-        }
-    }
-
-    return 0;
-}
-
-NamespaceBinding *NamespaceBinding::findOrCreateNamespaceBinding(Namespace *symbol)
-{
-    if (NamespaceBinding *binding = findNamespaceBinding(symbol->name())) {
-        unsigned index = 0;
-
-        for (; index < binding->symbols.size(); ++index) {
-            Namespace *ns = binding->symbols.at(index);
-
-            if (ns == symbol)
-                break;
-        }
-
-        if (index == binding->symbols.size())
-            binding->symbols.push_back(symbol);
-
-        return binding;
-    }
-
-    NamespaceBinding *binding = new NamespaceBinding(this);
-    binding->symbols.push_back(symbol);
-
-    if (! symbol->name()) {
-        assert(! anonymousNamespaceBinding);
-
-        anonymousNamespaceBinding = binding;
-    }
-
-    return binding;
-}
-
-static void closure(const Location &loc,
-                    NamespaceBinding *binding, Name *name,
-                    Array<NamespaceBinding *> *bindings)
-{
-    for (unsigned i = 0; i < bindings->size(); ++i) {
-        NamespaceBinding *b = bindings->at(i);
-
-        if (b == binding)
-            return;
-    }
-
-    bindings->push_back(binding);
-
-    assert(name->isNameId());
-
-    Identifier *id = name->asNameId()->identifier();
-    bool ignoreUsingDirectives = false;
-
-    for (unsigned i = 0; i < binding->symbols.size(); ++i) {
-        Namespace *symbol = binding->symbols.at(i);
-        Scope *scope = symbol->members();
-
-        for (Symbol *symbol = scope->lookat(id); symbol; symbol = symbol->next()) {
-            if (symbol->name() != name || ! symbol->isNamespace())
-                continue;
-
-            const Location l(symbol);
-
-            if (l.fileId() == loc.fileId() && l.sourceLocation() < loc.sourceLocation()) {
-                ignoreUsingDirectives = true;
-                break;
-            }
-        }
-    }
-
-    if (ignoreUsingDirectives)
-        return;
-
-    for (unsigned i = 0; i < binding->usings.size(); ++i) {
-        NamespaceBinding *u = binding->usings.at(i);
-
-        closure(loc, u, name, bindings);
-    }
-}
-
-
-NamespaceBinding *NamespaceBinding::resolveNamespace(const Location &loc,
-                                                     Name *name,
-                                                     bool lookAtParent)
-{
-    if (! name)
-        return 0;
-
-    else if (NameId *nameId = name->asNameId()) {
-        Array<NamespaceBinding *> bindings;
-        closure(loc, this, nameId, &bindings);
-
-        Array<NamespaceBinding *> results;
-
-        for (unsigned i = 0; i < bindings.size(); ++i) {
-            NamespaceBinding *binding = bindings.at(i);
-
-            if (NamespaceBinding *b = binding->findNamespaceBinding(nameId))
-                results.push_back(b);
-        }
-
-        if (results.size() == 1)
-            return results.at(0);
-
-        else if (results.size() > 1) {
-            // ### FIXME: return 0;
-            return results.at(0);
-        }
-
-        else if (parent && lookAtParent)
-            return parent->resolveNamespace(loc, name);
-
-    } else if (QualifiedNameId *q = name->asQualifiedNameId()) {
-        if (q->nameCount() == 1) {
-            assert(q->isGlobal());
-
-            return globalNamespaceBinding()->resolveNamespace(loc, q->nameAt(0));
-        }
-
-        NamespaceBinding *current = this;
-        if (q->isGlobal())
-            current = globalNamespaceBinding();
-
-        current = current->resolveNamespace(loc, q->nameAt(0));
-        for (unsigned i = 1; current && i < q->nameCount(); ++i)
-            current = current->resolveNamespace(loc, q->nameAt(i), false);
-
-        return current;
-    }
-
-    return 0;
-}
-
-// ### rewrite me
-std::string NamespaceBinding::qualifiedId() const
-{
-    if (! parent)
-        return "<root>";
-
-    std::string s;
-
-    s.append(parent->qualifiedId());
-    s.append("::");
-
-    if (Identifier *id = identifier())
-        s.append(id->chars(), id->size());
-
-    else
-        s.append("<anonymous>");
-
-    return s;
-}
-
-void NamespaceBinding::dump()
-{
-    static int depth;
-
-    std::cout << std::string(depth, ' ') << qualifiedId()
-              << " # " << symbols.size() << std::endl;
-    ++depth;
-
-    for (unsigned i = 0; i < children.size(); ++i)
-        children.at(i)->dump();
-
-    --depth;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// Binder
-////////////////////////////////////////////////////////////////////////////////
-
-class Binder: protected SymbolVisitor
-{
-public:
-    Binder();
-    virtual ~Binder();
-
-    NamespaceBinding *operator()(TranslationUnit *u, Namespace *globals)
-    {
-        TranslationUnit *previousUnit = unit;
-        unit = u;
-        NamespaceBinding *binding = bind(globals, 0);
-        unit = previousUnit;
-        return binding;
-    }
-
-protected:
-    NamespaceBinding *bind(Symbol *symbol, NamespaceBinding *binding);
-    NamespaceBinding *findOrCreateNamespaceBinding(Namespace *symbol);
-    NamespaceBinding *resolveNamespace(const Location &loc, Name *name);
-
-    NamespaceBinding *switchNamespaceBinding(NamespaceBinding *binding);
-
-    using SymbolVisitor::visit;
-
-    virtual bool visit(Namespace *);
-    virtual bool visit(UsingNamespaceDirective *);
-    virtual bool visit(Class *);
-    virtual bool visit(Function *);
-    virtual bool visit(Block *);
-
-private:
-    NamespaceBinding *namespaceBinding;
-    TranslationUnit *unit;
-};
-
-Binder::Binder()
-    : namespaceBinding(0),
-      unit(0)
-{ }
-
-Binder::~Binder()
-{ }
-
-NamespaceBinding *Binder::bind(Symbol *symbol, NamespaceBinding *binding)
-{
-    NamespaceBinding *previousBinding = switchNamespaceBinding(binding);
-    accept(symbol);
-    return switchNamespaceBinding(previousBinding);
-}
-
-NamespaceBinding *Binder::findOrCreateNamespaceBinding(Namespace *symbol)
-{
-    if (namespaceBinding)
-        return namespaceBinding->findOrCreateNamespaceBinding(symbol);
-
-    namespaceBinding = new NamespaceBinding;
-    namespaceBinding->symbols.push_back(symbol);
-    return namespaceBinding;
-}
-
-NamespaceBinding *Binder::resolveNamespace(const Location &loc, Name *name)
-{
-    if (! namespaceBinding)
-        return 0;
-
-    return namespaceBinding->resolveNamespace(loc, name);
-}
-
-
-NamespaceBinding *Binder::switchNamespaceBinding(NamespaceBinding *binding)
-{
-    NamespaceBinding *previousBinding = namespaceBinding;
-    namespaceBinding = binding;
-    return previousBinding;
-}
-
-bool Binder::visit(Namespace *symbol)
-{
-    NamespaceBinding *binding = findOrCreateNamespaceBinding(symbol);
-
-    for (unsigned i = 0; i < symbol->memberCount(); ++i) {
-        Symbol *member = symbol->memberAt(i);
-
-        bind(member, binding);
-    }
-
-    return false;
-}
-
-bool Binder::visit(UsingNamespaceDirective *u)
-{
-    NamespaceBinding *resolved = resolveNamespace(Location(u), u->name());
-
-    if (! resolved) {
-        unit->error(u->sourceLocation(), "expected namespace-name");
-        return false;
-    }
-
-    namespaceBinding->usings.push_back(resolved);
-
-    return false;
-}
-
-bool Binder::visit(Class *)
-{ return false; }
-
-bool Binder::visit(Function *)
-{ return false; }
-
-bool Binder::visit(Block *)
-{ return false; }
-
-////////////////////////////////////////////////////////////////////////////////
-// Entry point
-////////////////////////////////////////////////////////////////////////////////
-
-static int usage()
-{
-    std::cerr << "cplusplus0: no input files" << std::endl;
-    return EXIT_FAILURE;
-}
-
-int main(int argc, char *argv[])
-{
-    if (argc == 1)
-        return usage();
-
-    std::fstream in(argv[1]);
-
-    if (! in)
-        return usage();
-
-    in.seekg(0, std::ios::end);
-    const size_t size = in.tellg();
-    in.seekp(0, std::ios::beg);
-
-    std::vector<char> source(size + 1);
-    in.read(&source[0], size);
-    source[size] = '\0';
-
-    Control control;
-    StringLiteral *fileId = control.findOrInsertFileName(argv[1]);
-    TranslationUnit unit(&control, fileId);
-    unit.setObjCEnabled(true);
-    unit.setSource(&source[0], source.size());
-    unit.parse();
-    if (! unit.ast())
-        return EXIT_FAILURE;
-
-    TranslationUnitAST *ast = unit.ast()->asTranslationUnit();
-    assert(ast != 0);
-
-    Namespace *globalNamespace = control.newNamespace(0, 0); // namespace symbol for `::'
-    Semantic sem(&control);
-    for (DeclarationAST *decl = ast->declarations; decl; decl = decl->next) {
-        sem.check(decl, globalNamespace->members());
-    }
-
-    // bind
-    Binder bind;
-    NamespaceBinding *binding = bind(&unit, globalNamespace);
-    binding->dump();
-    delete binding;
-
-    return EXIT_SUCCESS;
-}