forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			30 lines
		
	
	
		
			589 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			589 B
		
	
	
	
		
			C
		
	
	
	
// RUN: %clang_cc1 -verify %s
 | 
						|
 | 
						|
void f1() {
 | 
						|
  int a = 1;
 | 
						|
  int b = __imag a;
 | 
						|
  int *c = &__real a;
 | 
						|
  int *d = &__imag a; // expected-error {{cannot take the address of an rvalue of type 'int'}}
 | 
						|
}
 | 
						|
 | 
						|
void f2() {
 | 
						|
  _Complex int a = 1;
 | 
						|
  int b = __imag a;
 | 
						|
  int *c = &__real a;
 | 
						|
  int *d = &__imag a;
 | 
						|
}
 | 
						|
 | 
						|
void f3() {
 | 
						|
  double a = 1;
 | 
						|
  double b = __imag a;
 | 
						|
  double *c = &__real a;
 | 
						|
  double *d = &__imag a; // expected-error {{cannot take the address of an rvalue of type 'double'}}
 | 
						|
}
 | 
						|
 | 
						|
void f4() {
 | 
						|
  _Complex double a = 1;
 | 
						|
  double b = __imag a;
 | 
						|
  double *c = &__real a;
 | 
						|
  double *d = &__imag a;
 | 
						|
}
 |