From 12c330c4bf53af24d7c10a8e2270e34f3d0b8efb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= Date: Tue, 29 May 2018 16:00:01 +0200 Subject: [PATCH] Add test for intrinsics::bswap --- src/test/run-pass/ctfe/bswap-const.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/test/run-pass/ctfe/bswap-const.rs diff --git a/src/test/run-pass/ctfe/bswap-const.rs b/src/test/run-pass/ctfe/bswap-const.rs new file mode 100644 index 00000000000..b951a9b72b1 --- /dev/null +++ b/src/test/run-pass/ctfe/bswap-const.rs @@ -0,0 +1,23 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![feature(core_intrinsics)] + +use std::intrinsics; + +const SWAPPED_U8: u8 = unsafe { intrinsics::bswap(0x12_u8) }; +const SWAPPED_U16: u16 = unsafe { intrinsics::bswap(0x12_34_u16) }; +const SWAPPED_I32: i32 = unsafe { intrinsics::bswap(0x12_34_56_78_i32) }; + +fn main() { + assert_eq!(SWAPPED_U8, 0x12); + assert_eq!(SWAPPED_U16, 0x34_12); + assert_eq!(SWAPPED_I32, 0x78_56_34_12); +}