// RUN: %clang_cc1 -fsyntax-only -verify %s | |
int &f(); | |
struct A { | |
void f(); | |
}; | |
typedef int I; | |
void g() { | |
__builtin_call_with_static_chain(f(), f) = 42; | |
__builtin_call_with_static_chain(A().f(), f); // expected-error {{first argument to __builtin_call_with_static_chain must be a non-member call expression}} | |
__builtin_call_with_static_chain((42).~I(), f); // expected-error {{first argument to __builtin_call_with_static_chain must not be a pseudo-destructor call}} | |
} |