mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Moved failing test to failing test suite.
This commit is contained in:
parent
c0947332b9
commit
ccd10d94bf
2 changed files with 57 additions and 52 deletions
|
@ -110,6 +110,62 @@ public class AST2CPPSpecFailingTest extends AST2SpecBaseTest {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
[--Start Example(CPP 7.3.3-12):
|
||||||
|
struct B {
|
||||||
|
virtual void f(int);
|
||||||
|
virtual void f(char);
|
||||||
|
void g(int);
|
||||||
|
void h(int);
|
||||||
|
};
|
||||||
|
struct D : B {
|
||||||
|
using B::f;
|
||||||
|
void f(int); // OK: D::f(int) overrides B::f(int);
|
||||||
|
using B::g;
|
||||||
|
void g(char); // OK
|
||||||
|
using B::h;
|
||||||
|
void h(int); // OK: D::h(int) hides B::h(int)
|
||||||
|
};
|
||||||
|
void k(D* p)
|
||||||
|
{
|
||||||
|
p->f(1); //calls D::f(int)
|
||||||
|
p->f('a'); //calls B::f(char)
|
||||||
|
p->g(1); //calls B::g(int)
|
||||||
|
p->g('a'); //calls D::g(char)
|
||||||
|
}
|
||||||
|
--End Example]
|
||||||
|
*/
|
||||||
|
// raised bug 161562 for that
|
||||||
|
public void test7_3_3s12() throws Exception {
|
||||||
|
StringBuffer buffer = new StringBuffer();
|
||||||
|
buffer.append("struct B {\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("virtual void f(int);\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("virtual void f(char);\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("void g(int);\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("void h(int);\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("};\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("struct D : B {\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("using B::f;\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("void f(int); // OK: D::f(int) overrides B::f(int);\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("using B::g;\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("void g(char); // OK\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("using B::h;\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("void h(int); // OK: D::h(int) hides B::h(int)\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("};\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("void k(D* p)\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("{\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("p->f(1); //calls D::f(int)\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("p->f('a'); //calls B::f(char)\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("p->g(1); //calls B::g(int)\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("p->g('a'); //calls D::g(char)\n"); //$NON-NLS-1$
|
||||||
|
buffer.append("}\n"); //$NON-NLS-1$
|
||||||
|
try {
|
||||||
|
parse(buffer.toString(), ParserLanguage.CPP, true, 0);
|
||||||
|
assertTrue(false);
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
[--Start Example(CPP 8.2-4):
|
[--Start Example(CPP 8.2-4):
|
||||||
template <class T>
|
template <class T>
|
||||||
|
|
|
@ -2846,57 +2846,6 @@ public class AST2CPPSpecTest extends AST2SpecBaseTest {
|
||||||
parse(buffer.toString(), ParserLanguage.CPP, false, 0);
|
parse(buffer.toString(), ParserLanguage.CPP, false, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
[--Start Example(CPP 7.3.3-12):
|
|
||||||
struct B {
|
|
||||||
virtual void f(int);
|
|
||||||
virtual void f(char);
|
|
||||||
void g(int);
|
|
||||||
void h(int);
|
|
||||||
};
|
|
||||||
struct D : B {
|
|
||||||
using B::f;
|
|
||||||
void f(int); // OK: D::f(int) overrides B::f(int);
|
|
||||||
using B::g;
|
|
||||||
void g(char); // OK
|
|
||||||
using B::h;
|
|
||||||
void h(int); // OK: D::h(int) hides B::h(int)
|
|
||||||
};
|
|
||||||
void k(D* p)
|
|
||||||
{
|
|
||||||
p->f(1); //calls D::f(int)
|
|
||||||
p->f('a'); //calls B::f(char)
|
|
||||||
p->g(1); //calls B::g(int)
|
|
||||||
p->g('a'); //calls D::g(char)
|
|
||||||
}
|
|
||||||
--End Example]
|
|
||||||
*/
|
|
||||||
public void test7_3_3s12() throws Exception {
|
|
||||||
StringBuffer buffer = new StringBuffer();
|
|
||||||
buffer.append("struct B {\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("virtual void f(int);\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("virtual void f(char);\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("void g(int);\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("void h(int);\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("};\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("struct D : B {\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("using B::f;\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("void f(int); // OK: D::f(int) overrides B::f(int);\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("using B::g;\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("void g(char); // OK\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("using B::h;\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("void h(int); // OK: D::h(int) hides B::h(int)\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("};\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("void k(D* p)\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("{\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("p->f(1); //calls D::f(int)\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("p->f('a'); //calls B::f(char)\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("p->g(1); //calls B::g(int)\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("p->g('a'); //calls D::g(char)\n"); //$NON-NLS-1$
|
|
||||||
buffer.append("}\n"); //$NON-NLS-1$
|
|
||||||
parse(buffer.toString(), ParserLanguage.CPP, true, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
[--Start Example(CPP 7.3.3-14):
|
[--Start Example(CPP 7.3.3-14):
|
||||||
struct A { int x(); };
|
struct A { int x(); };
|
||||||
|
|
Loading…
Add table
Reference in a new issue