From febfb752d2775bb1e875634e45058e27a36dd714 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Mon, 21 Jul 2014 21:32:03 +0200 Subject: Update LLVM to address an issue with range metadata in hoisted loads Fixes #15793. --- src/test/run-pass/issue-15793.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/test/run-pass/issue-15793.rs (limited to 'src/test') diff --git a/src/test/run-pass/issue-15793.rs b/src/test/run-pass/issue-15793.rs new file mode 100644 index 00000000000..a28cb87cfe2 --- /dev/null +++ b/src/test/run-pass/issue-15793.rs @@ -0,0 +1,34 @@ +// Copyright 2014 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. + +enum NestedEnum { + First, + Second, + Third +} +enum Enum { + Variant1(bool), + Variant2(NestedEnum) +} + +#[inline(never)] +fn foo(x: Enum) -> int { + match x { + Variant1(true) => 1, + Variant1(false) => 2, + Variant2(Second) => 3, + Variant2(Third) => 4, + Variant2(First) => 5 + } +} + +fn main() { + assert_eq!(foo(Variant2(Third)), 4); +} -- cgit 1.4.1-3-g733a5