forked from OSchip/llvm-project
parent
799dd8538e
commit
9f2a365fe2
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue