1*67e74705SXin Li // RUN: %clang_cc1 -verify %s 2*67e74705SXin Li f1()3*67e74705SXin Livoid f1() { 4*67e74705SXin Li int a = 1; 5*67e74705SXin Li int b = __imag a; 6*67e74705SXin Li int *c = &__real a; 7*67e74705SXin Li int *d = &__imag a; // expected-error {{cannot take the address of an rvalue of type 'int'}} 8*67e74705SXin Li } 9*67e74705SXin Li f2()10*67e74705SXin Livoid f2() { 11*67e74705SXin Li _Complex int a = 1; 12*67e74705SXin Li int b = __imag a; 13*67e74705SXin Li int *c = &__real a; 14*67e74705SXin Li int *d = &__imag a; 15*67e74705SXin Li } 16*67e74705SXin Li f3()17*67e74705SXin Livoid f3() { 18*67e74705SXin Li double a = 1; 19*67e74705SXin Li double b = __imag a; 20*67e74705SXin Li double *c = &__real a; 21*67e74705SXin Li double *d = &__imag a; // expected-error {{cannot take the address of an rvalue of type 'double'}} 22*67e74705SXin Li } 23*67e74705SXin Li f4()24*67e74705SXin Livoid f4() { 25*67e74705SXin Li _Complex double a = 1; 26*67e74705SXin Li double b = __imag a; 27*67e74705SXin Li double *c = &__real a; 28*67e74705SXin Li double *d = &__imag a; 29*67e74705SXin Li } 30