summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/classlibnative/bcltype/decimal.cpp14
-rw-r--r--src/classlibnative/bcltype/decimal.h8
-rw-r--r--src/classlibnative/bcltype/number.cpp2
-rw-r--r--src/classlibnative/bcltype/number.h2
-rw-r--r--src/vm/fcall.h2
5 files changed, 11 insertions, 17 deletions
diff --git a/src/classlibnative/bcltype/decimal.cpp b/src/classlibnative/bcltype/decimal.cpp
index 51df05dfc7..c3fbc31251 100644
--- a/src/classlibnative/bcltype/decimal.cpp
+++ b/src/classlibnative/bcltype/decimal.cpp
@@ -210,7 +210,7 @@ FCIMPL2_IV(void, COMDecimal::DoToCurrency, CY * result, DECIMAL d)
}
FCIMPLEND
-FCIMPL1(double, COMDecimal::ToDouble, DECIMAL d)
+FCIMPL1(double, COMDecimal::ToDouble, FC_DECIMAL d)
{
FCALL_CONTRACT;
@@ -223,12 +223,7 @@ FCIMPL1(double, COMDecimal::ToDouble, DECIMAL d)
}
FCIMPLEND
-#ifdef _MSC_VER
-// C4702: unreachable code on IA64 retail
-#pragma warning(push)
-#pragma warning(disable:4702)
-#endif
-FCIMPL1(INT32, COMDecimal::ToInt32, DECIMAL d)
+FCIMPL1(INT32, COMDecimal::ToInt32, FC_DECIMAL d)
{
FCALL_CONTRACT;
@@ -259,11 +254,8 @@ FCIMPL1(INT32, COMDecimal::ToInt32, DECIMAL d)
FCThrowRes(kOverflowException, W("Overflow_Int32"));
}
FCIMPLEND
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-FCIMPL1(float, COMDecimal::ToSingle, DECIMAL d)
+FCIMPL1(float, COMDecimal::ToSingle, FC_DECIMAL d)
{
FCALL_CONTRACT;
diff --git a/src/classlibnative/bcltype/decimal.h b/src/classlibnative/bcltype/decimal.h
index e6e5d4a82f..e0d19b5fb4 100644
--- a/src/classlibnative/bcltype/decimal.h
+++ b/src/classlibnative/bcltype/decimal.h
@@ -39,10 +39,10 @@ public:
static FCDECL1(void, DoTruncate, DECIMAL * d);
static FCDECL1(void, DoFloor, DECIMAL * d);
- static FCDECL1(double, ToDouble, DECIMAL d);
- static FCDECL1(float, ToSingle, DECIMAL d);
- static FCDECL1(INT32, ToInt32, DECIMAL d);
- static FCDECL1(Object*, ToString, DECIMAL d);
+ static FCDECL1(double, ToDouble, FC_DECIMAL d);
+ static FCDECL1(float, ToSingle, FC_DECIMAL d);
+ static FCDECL1(INT32, ToInt32, FC_DECIMAL d);
+ static FCDECL1(Object*, ToString, FC_DECIMAL d);
static void DecimalToNumber(DECIMAL* value, NUMBER* number);
static int NumberToDecimal(NUMBER* number, DECIMAL* value);
diff --git a/src/classlibnative/bcltype/number.cpp b/src/classlibnative/bcltype/number.cpp
index 75094f166e..89bb49372e 100644
--- a/src/classlibnative/bcltype/number.cpp
+++ b/src/classlibnative/bcltype/number.cpp
@@ -2416,7 +2416,7 @@ ParseSection:
#pragma warning(pop)
#endif
-FCIMPL3_VII(Object*, COMNumber::FormatDecimal, DECIMAL value, StringObject* formatUNSAFE, NumberFormatInfo* numfmtUNSAFE)
+FCIMPL3_VII(Object*, COMNumber::FormatDecimal, FC_DECIMAL value, StringObject* formatUNSAFE, NumberFormatInfo* numfmtUNSAFE)
{
FCALL_CONTRACT;
diff --git a/src/classlibnative/bcltype/number.h b/src/classlibnative/bcltype/number.h
index ba0b3cb49d..c06b9e532e 100644
--- a/src/classlibnative/bcltype/number.h
+++ b/src/classlibnative/bcltype/number.h
@@ -41,7 +41,7 @@ struct NUMBER {
class COMNumber
{
public:
- static FCDECL3_VII(Object*, FormatDecimal, DECIMAL value, StringObject* formatUNSAFE, NumberFormatInfo* numfmtUNSAFE);
+ static FCDECL3_VII(Object*, FormatDecimal, FC_DECIMAL value, StringObject* formatUNSAFE, NumberFormatInfo* numfmtUNSAFE);
static FCDECL3_VII(Object*, FormatDouble, double value, StringObject* formatUNSAFE, NumberFormatInfo* numfmtUNSAFE);
static FCDECL3_VII(Object*, FormatSingle, float value, StringObject* formatUNSAFE, NumberFormatInfo* numfmtUNSAFE);
static FCDECL3(Object*, FormatInt32, INT32 value, StringObject* formatUNSAFE, NumberFormatInfo* numfmtUNSAFE);
diff --git a/src/vm/fcall.h b/src/vm/fcall.h
index 22829e82ae..1e015a34b2 100644
--- a/src/vm/fcall.h
+++ b/src/vm/fcall.h
@@ -1320,8 +1320,10 @@ typedef UINT16 FC_UINT16_RET;
// Explicitly pass the TypedReferences by reference
// UNIXTODO: Remove once the proper managed calling convention for struct is in place
#define FC_TypedByRef TypedByRef&
+#define FC_DECIMAL DECIMAL&
#else
#define FC_TypedByRef TypedByRef
+#define FC_DECIMAL DECIMAL
#endif