cgen: support `$if test { ... }`
							parent
							
								
									99c70cf9c6
								
							
						
					
					
						commit
						6a0a2da05c
					
				|  | @ -267,6 +267,9 @@ pub fn (mut g Gen) init() { | ||||||
| 	if g.pref.is_debug || 'debug' in g.pref.compile_defines { | 	if g.pref.is_debug || 'debug' in g.pref.compile_defines { | ||||||
| 		g.comptime_defines.writeln('#define _VDEBUG (1)') | 		g.comptime_defines.writeln('#define _VDEBUG (1)') | ||||||
| 	} | 	} | ||||||
|  | 	if g.pref.is_test || 'test' in g.pref.compile_defines { | ||||||
|  | 		g.comptime_defines.writeln('#define _VTEST (1)') | ||||||
|  | 	} | ||||||
| 	if g.pref.is_livemain || g.pref.is_liveshared { | 	if g.pref.is_livemain || g.pref.is_liveshared { | ||||||
| 		g.generate_hotcode_reloading_declarations() | 		g.generate_hotcode_reloading_declarations() | ||||||
| 	} | 	} | ||||||
|  | @ -3451,6 +3454,9 @@ fn (mut g Gen) comp_if_to_ifdef(name string, is_comptime_optional bool) string { | ||||||
| 		'debug' { | 		'debug' { | ||||||
| 			return '_VDEBUG' | 			return '_VDEBUG' | ||||||
| 		} | 		} | ||||||
|  | 		'test' { | ||||||
|  | 			return '_VTEST' | ||||||
|  | 		} | ||||||
| 		'glibc' { | 		'glibc' { | ||||||
| 			return '__GLIBC__' | 			return '__GLIBC__' | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|  | @ -0,0 +1,10 @@ | ||||||
|  | fn test_comptime_if_test() { | ||||||
|  | 	mut i := 0 | ||||||
|  | 	$if test { | ||||||
|  | 		i++ | ||||||
|  | 	} | ||||||
|  | 	$if !test { | ||||||
|  | 		i-- | ||||||
|  | 	} | ||||||
|  | 	assert i == 1 | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue