diff options
author | John Thompson <John.Thompson.JTSoftware@gmail.com> | 2009-10-13 05:45:19 +0000 |
---|---|---|
committer | John Thompson <John.Thompson.JTSoftware@gmail.com> | 2009-10-13 05:45:19 +0000 |
commit | 59cbea9df80273de959261401d30758ded025255 (patch) | |
tree | fa7b6dda418497dd6c581906d223261700197d5f /test/Parser/cxx-using-declaration.cpp | |
parent | 7909fee36cb2c4737e5c74bf683913bf5ab09815 (diff) |
test commit
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83945 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Parser/cxx-using-declaration.cpp')
-rw-r--r-- | test/Parser/cxx-using-declaration.cpp | 95 |
1 files changed, 47 insertions, 48 deletions
diff --git a/test/Parser/cxx-using-declaration.cpp b/test/Parser/cxx-using-declaration.cpp index 56bfb2f327..212a7d89f8 100644 --- a/test/Parser/cxx-using-declaration.cpp +++ b/test/Parser/cxx-using-declaration.cpp @@ -1,48 +1,47 @@ -// FIXME: Disabled, appears to have undefined behavior, and needs to be updated to match new warnings.
-// RUN: true
-
-// RUNX: clang-cc -fsyntax-only -verify %s
-
-namespace A {
- int VA;
- void FA() {}
- struct SA { int V; };
-}
-
-using A::VA;
-using A::FA;
-using typename A::SA;
-
-void main()
-{
- VA = 1;
- FA();
- SA x; //Still needs handling.
-}
-
-struct B {
- void f(char){};
- void g(char){};
-};
-struct D : B {
- using B::f;
- void f(int);
- void g(int);
-};
-void D::f(int) { f('c'); } // calls B::f(char)
-void D::g(int) { g('c'); } // recursively calls D::g(int)
-
-namespace E {
- template <typename TYPE> int funcE(TYPE arg) { return(arg); }
-}
-
-using E::funcE<int>; // expected-error{{use of template specialization in using directive not allowed}}
-
-namespace F {
- struct X;
-}
-
-using F::X;
-// Should have some errors here. Waiting for implementation.
-void X(int);
-struct X *x;
+// FIXME: Disabled, appears to have undefined behavior, and needs to be updated to match new warnings. +// RUN: true +// RUNX: clang-cc -fsyntax-only -verify %s + +namespace A { + int VA; + void FA() {} + struct SA { int V; }; +} + +using A::VA; +using A::FA; +using typename A::SA; + +void main() +{ + VA = 1; + FA(); + SA x; //Still needs handling. +} + +struct B { + void f(char){}; + void g(char){}; +}; +struct D : B { + using B::f; + void f(int); + void g(int); +}; +void D::f(int) { f('c'); } // calls B::f(char) +void D::g(int) { g('c'); } // recursively calls D::g(int) + +namespace E { + template <typename TYPE> int funcE(TYPE arg) { return(arg); } +} + +using E::funcE<int>; // expected-error{{use of template specialization in using directive not allowed}} + +namespace F { + struct X; +} + +using F::X; +// Should have some errors here. Waiting for implementation. +void X(int); +struct X *x; |