From 418d360518811121ad9352af57fdd7ba58a4f917 Mon Sep 17 00:00:00 2001 From: Chuck Rose III Date: Sat, 8 Sep 2007 04:17:08 +0000 Subject: [PATCH] Fix for VisualStudio. It is treating a 2 bit enum as a signed int for comparison purposes, causing failures. Using an extra bit fixes it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41784 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/APFloat.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/llvm/ADT/APFloat.h b/include/llvm/ADT/APFloat.h index be7b457054d..83c370eb745 100644 --- a/include/llvm/ADT/APFloat.h +++ b/include/llvm/ADT/APFloat.h @@ -276,7 +276,9 @@ namespace llvm { exponent_t exponent; /* What kind of floating point number this is. */ - fltCategory category: 2; + /* Only 2 bits are required, but VisualStudio incorrectly sign extends + it. Using the extra bit keeps it from failing under VisualStudio */ + fltCategory category: 3; /* The sign bit of this number. */ unsigned int sign: 1;