// 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}} }