You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			25 lines
		
	
	
		
			644 B
		
	
	
	
		
			TableGen
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			644 B
		
	
	
	
		
			TableGen
		
	
	
	
	
	
| // RUN: llvm-tblgen %s | FileCheck %s
 | |
| 
 | |
| // CHECK: class Y<string Y:S = ?> {
 | |
| // CHECK:   string T = !strconcat(Y:S, "foo");
 | |
| // CHECK:   string T2 = !strconcat(Y:S, !strconcat("foo", !strconcat(Y:S, "bar")));
 | |
| // CHECK:   string S = "foobar";
 | |
| // CHECK: }
 | |
| 
 | |
| // CHECK: def Z {
 | |
| // CHECK:   string T = "fufoo";
 | |
| // CHECK:   string T2 = "fufoofubar";
 | |
| // CHECK:   string S = "foobar";
 | |
| // CHECK: }
 | |
| 
 | |
| class Y<string S> {
 | |
|   string T = !strconcat(S, "foo");
 | |
|   // More than two arguments is equivalent to nested calls
 | |
|   string T2 = !strconcat(S, "foo", S, "bar");
 | |
| 
 | |
|   // String values concatenate lexically, as in C.
 | |
|   string S = "foo" "bar";
 | |
| }
 | |
| 
 | |
| def Z : Y<"fu">;
 |