39 lines
		
	
	
		
			521 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			521 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify %s
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| struct mystruct {
 | |
|   int  member;
 | |
| };
 | |
| 
 | |
| template <int i>
 | |
| int foo() {
 | |
|   mystruct s[1];
 | |
|   return s->member;
 | |
| }
 | |
| 
 | |
| int main() {
 | |
|   foo<1>();
 | |
| }
 | |
| 
 | |
| // PR7405
 | |
| struct hb_sanitize_context_t {
 | |
|   int start;
 | |
| };
 | |
| template <typename Type> static bool sanitize() {
 | |
|   hb_sanitize_context_t c[1];
 | |
|   return !c->start;
 | |
| }
 | |
| bool closure = sanitize<int>();
 | |
| 
 | |
| // PR16206
 | |
| typedef struct {
 | |
| 	char x[4];
 | |
| } chars;
 | |
| 
 | |
| chars getChars();
 | |
| void use(char *);
 | |
| 
 | |
| void test() {
 | |
| 	use(getChars().x);
 | |
| }
 | 
