cgen: remove tos3() call: part 1
							parent
							
								
									dd1ee39271
								
							
						
					
					
						commit
						fde929ee30
					
				|  | @ -1127,6 +1127,12 @@ fn (mut g Gen) expr(node ast.Expr) { | |||
| 				// `C.printf("hi")` => `printf("hi");`
 | ||||
| 				g.write('"$escaped_val"') | ||||
| 			} else { | ||||
| 				// TODO calculate the literal's length in V, it's a bit tricky with all the
 | ||||
| 				// escape characters.
 | ||||
| 				// Clang and GCC optimize `strlen("lorem ipsum")` to `11`
 | ||||
| 				// g.write('tos4("$escaped_val", strlen("$escaped_val"))')
 | ||||
| 				// g.write('tos4("$escaped_val", $it.val.len)')
 | ||||
| 				// g.write('_SLIT("$escaped_val")')
 | ||||
| 				g.write('tos3("$escaped_val")') | ||||
| 			} | ||||
| 		} | ||||
|  | @ -2727,7 +2733,7 @@ fn (g Gen) type_default(typ table.Type) string { | |||
| 	} | ||||
| 	*/ | ||||
| 	match sym.name { | ||||
| 		'string' { return 'tos3("")' } | ||||
| 		'string' { return '(string){.str=""}' } | ||||
| 		'rune' { return '0' } | ||||
| 		else {} | ||||
| 	} | ||||
|  |  | |||
|  | @ -173,6 +173,8 @@ extern wchar_t **_wenviron; | |||
| 
 | ||||
| 
 | ||||
| //============================== HELPER C MACROS =============================*/
 | ||||
| //#define tos4(s, slen) ((string){.str=(s), .len=(slen)})
 | ||||
| #define _SLIT(s) ((string){.str=(s), .len=(strlen(s))}) | ||||
| #define _PUSH_MANY(arr, val, tmp, tmp_typ) {tmp_typ tmp = (val); array_push_many(arr, tmp.data, tmp.len);} | ||||
| #define _IN(typ, val, arr) array_##typ##_contains(arr, val) | ||||
| #define _IN_MAP(val, m) map_exists(m, val) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue