28 lines
		
	
	
		
			740 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			740 B
		
	
	
	
		
			C
		
	
	
	
// RUN: %clang_cc1 -verify -Wswitch -triple x86_64-apple-macosx10.12 %s
 | 
						|
 | 
						|
enum SwitchOne {
 | 
						|
  Unavail __attribute__((availability(macos, unavailable))),
 | 
						|
};
 | 
						|
 | 
						|
void testSwitchOne(enum SwitchOne so) {
 | 
						|
  switch (so) {} // no warning
 | 
						|
}
 | 
						|
 | 
						|
enum SwitchTwo {
 | 
						|
  Ed __attribute__((availability(macos, deprecated=10.12))),
 | 
						|
  Vim __attribute__((availability(macos, deprecated=10.13))),
 | 
						|
  Emacs,
 | 
						|
};
 | 
						|
 | 
						|
void testSwitchTwo(enum SwitchTwo st) {
 | 
						|
  switch (st) {} // expected-warning{{enumeration values 'Vim' and 'Emacs' not handled in switch}}
 | 
						|
}
 | 
						|
 | 
						|
enum SwitchThree {
 | 
						|
  New __attribute__((availability(macos, introduced=1000))),
 | 
						|
};
 | 
						|
 | 
						|
void testSwitchThree(enum SwitchThree st) {
 | 
						|
  switch (st) {} // expected-warning{{enumeration value 'New' not handled in switch}}
 | 
						|
}
 |