mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-10 21:31:37 -07:00
Using implicit selector expressions in the core library
This commit is contained in:
@@ -2679,7 +2679,7 @@ parse_simple_stmt :: proc(p: ^Parser, flags: Stmt_Allow_Flags) -> ^ast.Stmt {
|
||||
return stmt;
|
||||
|
||||
case op.kind == token.In:
|
||||
if Stmt_Allow_Flag.In in flags {
|
||||
if .In in flags {
|
||||
allow_token(p, token.In);
|
||||
prev_allow_range := p.allow_range;
|
||||
p.allow_range = true;
|
||||
@@ -2697,7 +2697,7 @@ parse_simple_stmt :: proc(p: ^Parser, flags: Stmt_Allow_Flags) -> ^ast.Stmt {
|
||||
}
|
||||
case op.kind == token.Colon:
|
||||
expect_token_after(p, token.Colon, "identifier list");
|
||||
if Stmt_Allow_Flag.Label in flags && len(lhs) == 1 {
|
||||
if .Label in flags && len(lhs) == 1 {
|
||||
switch p.curr_tok.kind {
|
||||
case token.Open_Brace, token.If, token.For, token.Switch:
|
||||
label := lhs[0];
|
||||
|
||||
+4
-6
@@ -123,20 +123,18 @@ read_ptr :: proc(fd: Handle, data: rawptr, len: int) -> (int, Errno) {
|
||||
heap_allocator_proc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode,
|
||||
size, alignment: int,
|
||||
old_memory: rawptr, old_size: int, flags: u64 = 0, loc := #caller_location) -> rawptr {
|
||||
using mem.Allocator_Mode;
|
||||
|
||||
switch mode {
|
||||
case Alloc:
|
||||
case .Alloc:
|
||||
return heap_alloc(size);
|
||||
|
||||
case Free:
|
||||
case .Free:
|
||||
heap_free(old_memory);
|
||||
return nil;
|
||||
|
||||
case Free_All:
|
||||
case .Free_All:
|
||||
// NOTE(bill): Does nothing
|
||||
|
||||
case Resize:
|
||||
case .Resize:
|
||||
if old_memory == nil {
|
||||
return heap_alloc(size);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user