mirror of
https://github.com/ziglang/zig.git
synced 2026-01-11 18:05:11 +00:00
Merge remote-tracking branch 'origin/master' into llvm12
This commit is contained in:
commit
755c558026
@ -1169,7 +1169,7 @@ pub const Order = enum {
|
||||
return switch (self) {
|
||||
.lt => .gt,
|
||||
.eq => .eq,
|
||||
.gt => .gt,
|
||||
.gt => .lt,
|
||||
};
|
||||
}
|
||||
|
||||
@ -1266,6 +1266,29 @@ test "compare between signed and unsigned" {
|
||||
testing.expect(compare(@as(u8, 1), .eq, @as(u8, 1)));
|
||||
}
|
||||
|
||||
test "order" {
|
||||
testing.expect(order(0, 0) == .eq);
|
||||
testing.expect(order(1, 0) == .gt);
|
||||
testing.expect(order(-1, 0) == .lt);
|
||||
}
|
||||
|
||||
test "order.invert" {
|
||||
testing.expect(Order.invert(order(0, 0)) == .eq);
|
||||
testing.expect(Order.invert(order(1, 0)) == .lt);
|
||||
testing.expect(Order.invert(order(-1, 0)) == .gt);
|
||||
}
|
||||
|
||||
test "order.compare" {
|
||||
testing.expect(order(-1, 0).compare(.lt));
|
||||
testing.expect(order(-1, 0).compare(.lte));
|
||||
testing.expect(order(0, 0).compare(.lte));
|
||||
testing.expect(order(0, 0).compare(.eq));
|
||||
testing.expect(order(0, 0).compare(.gte));
|
||||
testing.expect(order(1, 0).compare(.gte));
|
||||
testing.expect(order(1, 0).compare(.gt));
|
||||
testing.expect(order(1, 0).compare(.neq));
|
||||
}
|
||||
|
||||
test "math.comptime" {
|
||||
comptime const v = sin(@as(f32, 1)) + ln(@as(f32, 5));
|
||||
testing.expect(v == sin(@as(f32, 1)) + ln(@as(f32, 5)));
|
||||
|
||||
@ -1797,6 +1797,10 @@ fn exprIsStringLiteral(expr: *const clang.Expr) bool {
|
||||
const op_expr = @ptrCast(*const clang.UnaryOperator, expr).getSubExpr();
|
||||
return exprIsStringLiteral(op_expr);
|
||||
},
|
||||
.ParenExprClass => {
|
||||
const op_expr = @ptrCast(*const clang.ParenExpr, expr).getSubExpr();
|
||||
return exprIsStringLiteral(op_expr);
|
||||
},
|
||||
else => return false,
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,13 @@ const tests = @import("tests.zig");
|
||||
const nl = std.cstr.line_sep;
|
||||
|
||||
pub fn addCases(cases: *tests.RunTranslatedCContext) void {
|
||||
cases.add("parenthesized string literal",
|
||||
\\void foo(const char *s) {}
|
||||
\\int main(void) {
|
||||
\\ foo(("bar"));
|
||||
\\}
|
||||
, "");
|
||||
|
||||
cases.add("variable shadowing type type",
|
||||
\\#include <stdlib.h>
|
||||
\\int main() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user