HAWQ-1190. Fix "-Wtypedef-redefinition, -Wconstant-logical-operand, -Wmemsize-comparison, -Wnull-dereference, -Wpointer-sign, -Wint-conversion" warning types.
diff --git a/src/backend/cdb/cdbpersistentdatabase.c b/src/backend/cdb/cdbpersistentdatabase.c
index a78ca21..f5d8451 100644
--- a/src/backend/cdb/cdbpersistentdatabase.c
+++ b/src/backend/cdb/cdbpersistentdatabase.c
@@ -612,7 +612,7 @@
 	 */
 #ifdef MASTER_MIRROR_SYNC
 	mmxlog_log_create_database(dbDirNode->tablespace, dbDirNode->database,
-			persistentTid, persistentSerialNum);
+			persistentTid, *persistentSerialNum);
 #endif
 
 
@@ -1291,7 +1291,7 @@
 #ifdef MASTER_MIRROR_SYNC
 	mmxlog_log_create_database(dbDirNode->tablespace,
 							   dbDirNode->database,
-							   persistentTid, persistentSerialNum);
+							   persistentTid, *persistentSerialNum);
 #endif
 	
 	WRITE_PERSISTENT_STATE_ORDERED_UNLOCK;
diff --git a/src/backend/cdb/cdbpersistentfilespace.c b/src/backend/cdb/cdbpersistentfilespace.c
index 58418ef..2d009cf 100644
--- a/src/backend/cdb/cdbpersistentfilespace.c
+++ b/src/backend/cdb/cdbpersistentfilespace.c
@@ -612,7 +612,7 @@
 	 * This XLOG must be generated under the persistent write-lock.
 	 */
 #ifdef MASTER_MIRROR_SYNC
-	mmxlog_log_create_filespace(filespaceOid,persistentTid, persistentSerialNum);
+	mmxlog_log_create_filespace(filespaceOid,persistentTid, *persistentSerialNum);
 #endif
 
 
diff --git a/src/backend/cdb/cdbpersistentrelfile.c b/src/backend/cdb/cdbpersistentrelfile.c
index fa4e023..c6214dd 100644
--- a/src/backend/cdb/cdbpersistentrelfile.c
+++ b/src/backend/cdb/cdbpersistentrelfile.c
@@ -246,7 +246,7 @@
 						relFileNode->dbNode,
 						relFileNode->relNode,
 						segmentFileNum,
-						persistentTid, serialNum);
+						persistentTid, *serialNum);
 #endif
 
 	#ifdef FAULT_INJECTOR
diff --git a/src/backend/cdb/cdbpersistenttablespace.c b/src/backend/cdb/cdbpersistenttablespace.c
index e7ddc33..73991c6 100644
--- a/src/backend/cdb/cdbpersistenttablespace.c
+++ b/src/backend/cdb/cdbpersistenttablespace.c
@@ -712,7 +712,7 @@
 	mmxlog_log_create_tablespace(
 						filespaceOid,
 						tablespaceOid,
-						persistentTid, persistentSerialNum);
+						persistentTid, *persistentSerialNum);
 #endif
 
 	#ifdef FAULT_INJECTOR
diff --git a/src/backend/resourcemanager/resourcemanager.c b/src/backend/resourcemanager/resourcemanager.c
index 96cf9ff..7303382 100644
--- a/src/backend/resourcemanager/resourcemanager.c
+++ b/src/backend/resourcemanager/resourcemanager.c
@@ -1032,7 +1032,7 @@
 
 	setSimpleStringRefNoLen(&segmem, rm_seg_memory_use);
 	int res = SimpleStringToStorageSizeMB(&segmem,
-										  &(DRMGlobalInstance->SegmentMemoryMB));
+										  (uint32_t *) &(DRMGlobalInstance->SegmentMemoryMB));
 	if ( res != FUNC_RETURN_OK)
 	{
 		elog(WARNING, "Can not understand the value '%s' of property %s.",
diff --git a/src/backend/resourcemanager/resqueuemanager.c b/src/backend/resourcemanager/resqueuemanager.c
index d98c11c..b288ba2 100644
--- a/src/backend/resourcemanager/resqueuemanager.c
+++ b/src/backend/resourcemanager/resqueuemanager.c
@@ -486,7 +486,7 @@
 			{
 				memlimit_value = true;
 				res = SimpleStringToStorageSizeMB(attrvalue,
-												  &(queue->ClusterMemoryMB));
+												  (uint32_t *) &(queue->ClusterMemoryMB));
 			}
 			break;
 
@@ -517,7 +517,7 @@
 								   attrvalue->Len-sizeof(RESOURCE_QUEUE_SEG_RES_QUOTA_MEM)+1);
 
 				res = SimpleStringToStorageSizeMB(&valuestr,
-												  &(queue->SegResourceQuotaMemoryMB));
+												  (uint32_t *) &(queue->SegResourceQuotaMemoryMB));
 
 				/*
 				 *--------------------------------------------------------------
@@ -846,7 +846,7 @@
 
 				res = SimpleStringToStorageSizeMB(
 						&valuestr,
-						&(shadowqueinfo->SegResourceQuotaMemoryMB));
+						(uint32_t *) &(shadowqueinfo->SegResourceQuotaMemoryMB));
 				if ( res == FUNC_RETURN_OK )
 				{
 					shadowqueinfo->SegResourceQuotaVCore = -1;
diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c
index 072b3f6..5b4461d 100644
--- a/src/backend/utils/adt/datetime.c
+++ b/src/backend/utils/adt/datetime.c
@@ -3202,7 +3202,7 @@
 						break;
 
 					case RESERV:
-						tmask = (DTK_DATE_M || DTK_TIME_M);
+						tmask = (DTK_DATE_M | DTK_TIME_M);
 						*dtype = val;
 						break;
 
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c
index 76c4e24..f13cf88 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -461,7 +461,7 @@
 			/* A zeroed client addr means we don't know */
 			memset(&zero_clientaddr, 0, sizeof(zero_clientaddr));
 			if (memcmp(&(beentry->st_clientaddr), &zero_clientaddr,
-					   sizeof(zero_clientaddr) == 0))
+					   (size_t) (sizeof(zero_clientaddr) == 0)))
 			{
 				nulls[9] = true;
 				nulls[10] = true;
@@ -719,7 +719,7 @@
 	/* A zeroed client addr means we don't know */
 	memset(&zero_clientaddr, 0, sizeof(zero_clientaddr));
 	if (memcmp(&(beentry->st_clientaddr), &zero_clientaddr,
-			   sizeof(zero_clientaddr) == 0))
+			   (size_t) (sizeof(zero_clientaddr) == 0)))
 		PG_RETURN_NULL();
 
 	switch (beentry->st_clientaddr.addr.ss_family)
@@ -765,7 +765,7 @@
 	/* A zeroed client addr means we don't know */
 	memset(&zero_clientaddr, 0, sizeof(zero_clientaddr));
 	if (memcmp(&(beentry->st_clientaddr), &zero_clientaddr,
-			   sizeof(zero_clientaddr) == 0))
+			   (size_t) (sizeof(zero_clientaddr) == 0)))
 		PG_RETURN_NULL();
 
 	switch (beentry->st_clientaddr.addr.ss_family)
diff --git a/src/backend/utils/gp/segadmin.c b/src/backend/utils/gp/segadmin.c
index 775cadb..ea815a9 100644
--- a/src/backend/utils/gp/segadmin.c
+++ b/src/backend/utils/gp/segadmin.c
@@ -109,7 +109,7 @@
 		/* TODO: Add new check */
 	}
 
-	if ((flags && STANDBY_ONLY) == STANDBY_ONLY)
+	if ((flags & STANDBY_ONLY) == STANDBY_ONLY)
 	{
 		/* TODO: Add new check */
 	}
diff --git a/src/backend/utils/misc/faultinjector.c b/src/backend/utils/misc/faultinjector.c
index b1dea54..5c47c35 100644
--- a/src/backend/utils/misc/faultinjector.c
+++ b/src/backend/utils/misc/faultinjector.c
@@ -785,7 +785,7 @@
 
 		case FaultInjectorTypeSegv:
 		{
-			*(int *) 0 = 1234;
+			*(volatile int *) 0 = 1234;
 			break;
 		}
 		
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 03b6d88..dae1543 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -13683,7 +13683,7 @@
 {
 	if (doit)
 	{
-		int32_t newvalmb = 0;
+		uint32_t newvalmb = 0;
 		int parseres = FUNC_RETURN_OK;
 		SimpString valuestr;
 		setSimpleStringRef(&valuestr, newval, strlen(newval));
diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index 445e3ca..607d3c9 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -459,7 +459,7 @@
 		 *
 		 * XXX What is the right way of doing this?
 		 */
-		*(int *) NULL = errorcode;
+		((void(*)()) NULL)();
 	}
 
 	if(errorcode != ERRCODE_OUT_OF_MEMORY)
diff --git a/src/backend/utils/mmgr/memprot.c b/src/backend/utils/mmgr/memprot.c
index c61e8b2..868bb72 100644
--- a/src/backend/utils/mmgr/memprot.c
+++ b/src/backend/utils/mmgr/memprot.c
@@ -299,7 +299,7 @@
 		/*
 		 * Generate a core dump by writing to NULL pointer
 		 */
-		*(int *) NULL = ec;
+		*(volatile int *) NULL = ec;
 	}
 
 	if (ec == MemoryFailure_VmemExhausted)
diff --git a/src/include/access/fileam.h b/src/include/access/fileam.h
index 5a5f532..1e926d5 100644
--- a/src/include/access/fileam.h
+++ b/src/include/access/fileam.h
@@ -72,8 +72,6 @@
 	ProjectionInfo *projInfo;
 } ExternalSelectDescData;
 
-typedef ExternalSelectDescData *ExternalSelectDesc;
-
 typedef enum DataLineStatus
 {
 	LINE_OK,
diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c
index af2a077..471051d 100644
--- a/src/interfaces/ecpg/pgtypeslib/interval.c
+++ b/src/interfaces/ecpg/pgtypeslib/interval.c
@@ -606,7 +606,7 @@
 						break;
 
 					case RESERV:
-						tmask = (DTK_DATE_M || DTK_TIME_M);
+						tmask = (DTK_DATE_M | DTK_TIME_M);
 						*dtype = val;
 						break;