forked from OSchip/llvm-project
35 lines
594 B
C++
35 lines
594 B
C++
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
|
|
void choice(int);
|
|
int choice(bool);
|
|
|
|
void test() {
|
|
// Result of ! must be type bool.
|
|
int i = choice(!1);
|
|
}
|
|
|
|
// rdar://8018252
|
|
void f0() {
|
|
extern void f0_1(int*);
|
|
register int x;
|
|
f0_1(&x);
|
|
}
|
|
|
|
namespace test1 {
|
|
template <class T> void bar(T &x) { T::fail(); }
|
|
template <class T> void bar(volatile T &x) {}
|
|
|
|
void test_ints() {
|
|
volatile int x;
|
|
bar(x = 5);
|
|
bar(x += 5);
|
|
}
|
|
|
|
enum E { E_zero };
|
|
void test_enums() {
|
|
volatile E x;
|
|
bar(x = E_zero);
|
|
bar(x += E_zero); // expected-error {{incompatible type}}
|
|
}
|
|
}
|