From 33a7101281c6d5c3905b311ed690024ca6a673c6 Mon Sep 17 00:00:00 2001
From: Andrew Dunstan <andrew@dunslane.net>
Date: Sun, 7 Oct 2012 17:31:10 -0400
Subject: [PATCH] Quiet a few MSC compiler warnings.

---
 src/backend/catalog/objectaddress.c    | 2 ++
 src/backend/optimizer/path/costsize.c  | 3 +++
 src/backend/utils/adt/array_selfuncs.c | 2 +-
 src/interfaces/ecpg/ecpglib/typename.c | 1 +
 4 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c
index b3b2bc688e..d7a726c2c4 100644
--- a/src/backend/catalog/objectaddress.c
+++ b/src/backend/catalog/objectaddress.c
@@ -1360,4 +1360,6 @@ get_object_property_data(Oid class_id)
 
 	ereport(ERROR,
 			(errmsg_internal("unrecognized class id: %u", class_id)));
+
+	return NULL; /* keep MSC compiler happy */
 }
diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c
index 3e99b230f5..544b63f149 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -68,6 +68,9 @@
 
 #include "postgres.h"
 
+#ifdef _MSCVER
+#include <float.h> /* for _isnan */
+#endif
 #include <math.h>
 
 #include "access/htup_details.h"
diff --git a/src/backend/utils/adt/array_selfuncs.c b/src/backend/utils/adt/array_selfuncs.c
index 622d6d13ce..03f703c2de 100644
--- a/src/backend/utils/adt/array_selfuncs.c
+++ b/src/backend/utils/adt/array_selfuncs.c
@@ -571,7 +571,7 @@ mcelem_array_contain_overlap_selec(Datum *mcelem, int nmcelem,
 	else
 	{
 		/* Without statistics make some default assumptions */
-		minfreq = 2 * DEFAULT_CONTAIN_SEL;
+		minfreq = 2 * (float4) DEFAULT_CONTAIN_SEL;
 	}
 
 	/* Decide whether it is faster to use binary search or not. */
diff --git a/src/interfaces/ecpg/ecpglib/typename.c b/src/interfaces/ecpg/ecpglib/typename.c
index 98b81894f3..d0081812f3 100644
--- a/src/interfaces/ecpg/ecpglib/typename.c
+++ b/src/interfaces/ecpg/ecpglib/typename.c
@@ -65,6 +65,7 @@ ecpg_type_name(enum ECPGttype typ)
 		default:
 			abort();
 	}
+	return ""; /* keep MSC compiler happy */
 }
 
 int
-- 
2.40.0