aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/export_c_keywords.zig
blob: 53511ddef5b432542d4a488770c84feb898b5fc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
pub const Id = enum(c_int) {
    c_keyword_variable = 12,
    non_c_keyword_variable = 34,
    c_keyword_constant = 56,
    non_c_keyword_constant = 78,
    c_keyword_function = 910,
    non_c_keyword_function = 1112,
};

export var int: Id = .c_keyword_variable;

export var some_non_c_keyword_variable: Id = .non_c_keyword_variable;

export const @"if": Id = .c_keyword_constant;

export const some_non_c_keyword_constant: Id = .non_c_keyword_constant;

export fn float() Id {
    return .c_keyword_function;
}

export fn some_non_c_keyword_function() Id {
    return .non_c_keyword_function;
}

comptime {
    @export(&int, .{ .name = "long" });
    @export(&int, .{ .name = "an_alias_of_int" });

    @export(&some_non_c_keyword_variable, .{ .name = "void" });
    @export(&some_non_c_keyword_variable, .{ .name = "an_alias_of_some_non_c_keyword_variable" });

    @export(&@"if", .{ .name = "else" });
    @export(&@"if", .{ .name = "an_alias_of_if" });

    @export(&some_non_c_keyword_constant, .{ .name = "switch" });
    @export(&some_non_c_keyword_constant, .{ .name = "an_alias_of_some_non_c_keyword_constant" });

    @export(&float, .{ .name = "double" });
    @export(&float, .{ .name = "an_alias_of_float" });

    @export(&some_non_c_keyword_function, .{ .name = "break" });
    @export(&some_non_c_keyword_function, .{ .name = "an_alias_of_some_non_c_keyword_function" });
}