diff --git a/include/helper/odp_eth.h b/include/helper/odp_eth.h
index 401b915..542594b 100644
--- a/include/helper/odp_eth.h
+++ b/include/helper/odp_eth.h
@@ -39,7 +39,7 @@ typedef struct ODP_PACKED {
 } odp_ethaddr_t;
 
 /** @internal Compile time assert */
-ODP_ASSERT(sizeof(odp_ethaddr_t) == ODP_ETHADDR_LEN, ODP_ETHADDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_ethaddr_t) == ODP_ETHADDR_LEN, "ODP_ETHADDR_T__SIZE_ERROR");
 
 /**
  * Ethernet header
@@ -51,7 +51,7 @@ typedef struct ODP_PACKED {
 } odp_ethhdr_t;
 
 /** @internal Compile time assert */
-ODP_ASSERT(sizeof(odp_ethhdr_t) == ODP_ETHHDR_LEN, ODP_ETHHDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_ethhdr_t) == ODP_ETHHDR_LEN, "ODP_ETHHDR_T__SIZE_ERROR");
 
 /**
  * VLAN header
@@ -64,7 +64,7 @@ typedef struct ODP_PACKED {
 } odp_vlanhdr_t;
 
 /** @internal Compile time assert */
-ODP_ASSERT(sizeof(odp_vlanhdr_t) == ODP_VLANHDR_LEN, ODP_VLANHDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_vlanhdr_t) == ODP_VLANHDR_LEN, "ODP_VLANHDR_T__SIZE_ERROR");
 
 
 /* Ethernet header Ether Type ('type') values, a selected few */
diff --git a/include/helper/odp_icmp.h b/include/helper/odp_icmp.h
index ab8c409..5ac88b9 100644
--- a/include/helper/odp_icmp.h
+++ b/include/helper/odp_icmp.h
@@ -90,7 +90,7 @@ typedef struct ODP_PACKED {
 								exceeded*/
 
 /** @internal Compile time assert */
-ODP_ASSERT(sizeof(odp_icmphdr_t) == ODP_ICMPHDR_LEN, ODP_ICMPHDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_icmphdr_t) == ODP_ICMPHDR_LEN, "ODP_ICMPHDR_T__SIZE_ERROR");
 
 #ifdef __cplusplus
 }
diff --git a/include/helper/odp_ip.h b/include/helper/odp_ip.h
index 6f4e028..fb04e4d 100644
--- a/include/helper/odp_ip.h
+++ b/include/helper/odp_ip.h
@@ -62,7 +62,7 @@ typedef struct ODP_PACKED {
 } odp_ipv4hdr_t;
 
 /** @internal Compile time assert */
-ODP_ASSERT(sizeof(odp_ipv4hdr_t) == ODP_IPV4HDR_LEN, ODP_IPV4HDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_ipv4hdr_t) == ODP_IPV4HDR_LEN, "ODP_IPV4HDR_T__SIZE_ERROR");
 
 /**
  * Check if IPv4 checksum is valid
@@ -135,7 +135,7 @@ typedef struct ODP_PACKED {
 } odp_ipv6hdr_t;
 
 /** @internal Compile time assert */
-ODP_ASSERT(sizeof(odp_ipv6hdr_t) == ODP_IPV6HDR_LEN, ODP_IPV6HDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_ipv6hdr_t) == ODP_IPV6HDR_LEN, "ODP_IPV6HDR_T__SIZE_ERROR");
 
 /** @name
  * IP protocol values (IPv4:'proto' or IPv6:'next_hdr')
diff --git a/include/helper/odp_udp.h b/include/helper/odp_udp.h
index 0ad1541..966d7f3 100644
--- a/include/helper/odp_udp.h
+++ b/include/helper/odp_udp.h
@@ -93,7 +93,7 @@ static inline uint16_t odp_ipv4_udp_chksum(odp_packet_t pkt)
 }
 
 /** @internal Compile time assert */
-ODP_ASSERT(sizeof(odp_udphdr_t) == ODP_UDPHDR_LEN, ODP_UDPHDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_udphdr_t) == ODP_UDPHDR_LEN, "ODP_UDPHDR_T__SIZE_ERROR");
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp_buffer_internal.h b/platform/linux-generic/include/odp_buffer_internal.h
index 11024f8..bffd0dd 100644
--- a/platform/linux-generic/include/odp_buffer_internal.h
+++ b/platform/linux-generic/include/odp_buffer_internal.h
@@ -96,7 +96,7 @@ typedef struct odp_buffer_hdr_t {
 } odp_buffer_hdr_t;
 
 /* Ensure next header starts from 8 byte align */
-ODP_ASSERT((sizeof(odp_buffer_hdr_t) % 8) == 0, ODP_BUFFER_HDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT((sizeof(odp_buffer_hdr_t) % 8) == 0, "ODP_BUFFER_HDR_T__SIZE_ERROR");
 
 
 /* Raw buffer header */
diff --git a/platform/linux-generic/include/odp_packet_internal.h b/platform/linux-generic/include/odp_packet_internal.h
index 45ed412..0ab3be2 100644
--- a/platform/linux-generic/include/odp_packet_internal.h
+++ b/platform/linux-generic/include/odp_packet_internal.h
@@ -58,7 +58,7 @@ typedef union {
 	};
 } input_flags_t;
 
-ODP_ASSERT(sizeof(input_flags_t) == sizeof(uint32_t), INPUT_FLAGS_SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(input_flags_t) == sizeof(uint32_t), "INPUT_FLAGS_SIZE_ERROR");
 
 /**
  * Packet error flags
@@ -77,7 +77,7 @@ typedef union {
 	};
 } error_flags_t;
 
-ODP_ASSERT(sizeof(error_flags_t) == sizeof(uint32_t), ERROR_FLAGS_SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(error_flags_t) == sizeof(uint32_t), "ERROR_FLAGS_SIZE_ERROR");
 
 /**
  * Packet output flags
@@ -92,7 +92,7 @@ typedef union {
 	};
 } output_flags_t;
 
-ODP_ASSERT(sizeof(output_flags_t) == sizeof(uint32_t), OUTPUT_FLAGS_SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(output_flags_t) == sizeof(uint32_t), "OUTPUT_FLAGS_SIZE_ERROR");
 
 /**
  * Internal Packet header
@@ -118,10 +118,10 @@ typedef struct {
 	uint8_t  buf_data[]; /* start of buffer data area */
 } odp_packet_hdr_t;
 
-ODP_ASSERT(sizeof(odp_packet_hdr_t) == ODP_OFFSETOF(odp_packet_hdr_t, buf_data),
-	   ODP_PACKET_HDR_T__SIZE_ERR);
-ODP_ASSERT(sizeof(odp_packet_hdr_t) % sizeof(uint64_t) == 0,
-	   ODP_PACKET_HDR_T__SIZE_ERR2);
+ODP_STATIC_ASSERT(sizeof(odp_packet_hdr_t) == ODP_OFFSETOF(odp_packet_hdr_t, buf_data),
+	   "ODP_PACKET_HDR_T__SIZE_ERR");
+ODP_STATIC_ASSERT(sizeof(odp_packet_hdr_t) % sizeof(uint64_t) == 0,
+	   "ODP_PACKET_HDR_T__SIZE_ERR2");
 
 /**
  * Return the packet header
diff --git a/platform/linux-generic/include/odp_packet_io_queue.h b/platform/linux-generic/include/odp_packet_io_queue.h
index d5f9850..d323a5e 100644
--- a/platform/linux-generic/include/odp_packet_io_queue.h
+++ b/platform/linux-generic/include/odp_packet_io_queue.h
@@ -24,8 +24,8 @@ extern "C" {
 /** Max nbr of pkts to receive in one burst (keep same as QUEUE_MULTI_MAX) */
 #define ODP_PKTIN_QUEUE_MAX_BURST 16
 /* pktin_deq_multi() depends on the condition: */
-ODP_ASSERT(ODP_PKTIN_QUEUE_MAX_BURST >= QUEUE_MULTI_MAX,
-	   ODP_PKTIN_DEQ_MULTI_MAX_ERROR);
+ODP_STATIC_ASSERT(ODP_PKTIN_QUEUE_MAX_BURST >= QUEUE_MULTI_MAX,
+	   "ODP_PKTIN_DEQ_MULTI_MAX_ERROR");
 
 int pktin_enqueue(queue_entry_t *queue, odp_buffer_hdr_t *buf_hdr);
 odp_buffer_hdr_t *pktin_dequeue(queue_entry_t *queue);
diff --git a/platform/linux-generic/include/odp_packet_socket.h b/platform/linux-generic/include/odp_packet_socket.h
index f6248b2..f991806 100644
--- a/platform/linux-generic/include/odp_packet_socket.h
+++ b/platform/linux-generic/include/odp_packet_socket.h
@@ -54,8 +54,8 @@ struct ring {
 
 	struct tpacket_req req;
 };
-ODP_ASSERT(offsetof(struct ring, mm_space) <= ODP_CACHE_LINE_SIZE,
-	   ERR_STRUCT_RING);
+ODP_STATIC_ASSERT(offsetof(struct ring, mm_space) <= ODP_CACHE_LINE_SIZE,
+	   "ERR_STRUCT_RING");
 
 /** Packet socket using mmap rings for both Rx and Tx */
 typedef struct {
diff --git a/platform/linux-generic/include/odp_timer_internal.h b/platform/linux-generic/include/odp_timer_internal.h
index c6e3de6..ad28f53 100644
--- a/platform/linux-generic/include/odp_timer_internal.h
+++ b/platform/linux-generic/include/odp_timer_internal.h
@@ -53,12 +53,12 @@ typedef struct odp_timeout_hdr_t {
 
 
 
-ODP_ASSERT(sizeof(odp_timeout_hdr_t) ==
+ODP_STATIC_ASSERT(sizeof(odp_timeout_hdr_t) ==
 	   ODP_OFFSETOF(odp_timeout_hdr_t, buf_data),
-	   ODP_TIMEOUT_HDR_T__SIZE_ERR);
+	   "ODP_TIMEOUT_HDR_T__SIZE_ERR");
 
-ODP_ASSERT(sizeof(odp_timeout_hdr_t) % sizeof(uint64_t) == 0,
-	   ODP_TIMEOUT_HDR_T__SIZE_ERR2);
+ODP_STATIC_ASSERT(sizeof(odp_timeout_hdr_t) % sizeof(uint64_t) == 0,
+	   "ODP_TIMEOUT_HDR_T__SIZE_ERR2");
 
 
 /**
diff --git a/platform/linux-generic/odp_buffer_pool.c b/platform/linux-generic/odp_buffer_pool.c
index b73cbb2..a48781a 100644
--- a/platform/linux-generic/odp_buffer_pool.c
+++ b/platform/linux-generic/odp_buffer_pool.c
@@ -46,8 +46,8 @@ union buffer_type_any_u {
 	odp_timeout_hdr_t tmo;
 };
 
-ODP_ASSERT((sizeof(union buffer_type_any_u) % 8) == 0,
-	   BUFFER_TYPE_ANY_U__SIZE_ERR);
+ODP_STATIC_ASSERT((sizeof(union buffer_type_any_u) % 8) == 0,
+	   "BUFFER_TYPE_ANY_U__SIZE_ERR");
 
 /* Any buffer type header */
 typedef struct {
diff --git a/platform/linux-generic/odp_schedule.c b/platform/linux-generic/odp_schedule.c
index 12f192b..9e399f1 100644
--- a/platform/linux-generic/odp_schedule.c
+++ b/platform/linux-generic/odp_schedule.c
@@ -38,7 +38,7 @@
 /* Mask of queues per priority */
 typedef uint8_t pri_mask_t;
 
-ODP_ASSERT((8*sizeof(pri_mask_t)) >= QUEUES_PER_PRIO, pri_mask_t_is_too_small);
+ODP_STATIC_ASSERT((8*sizeof(pri_mask_t)) >= QUEUES_PER_PRIO, "pri_mask_t_is_too_small");
 
 
 typedef struct {
diff --git a/platform/linux-keystone2/include/odp_buffer_internal.h b/platform/linux-keystone2/include/odp_buffer_internal.h
index 3973b5c..d66e88d 100644
--- a/platform/linux-keystone2/include/odp_buffer_internal.h
+++ b/platform/linux-keystone2/include/odp_buffer_internal.h
@@ -67,8 +67,8 @@ typedef struct odp_buffer_hdr_t {
  * Chunk of buffers (in single pool)
  */
 
-ODP_ASSERT(sizeof(odp_buffer_hdr_t) <= ODP_CACHE_LINE_SIZE*2,
-	   ODP_BUFFER_HDR_T__SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_buffer_hdr_t) <= ODP_CACHE_LINE_SIZE*2,
+	   "ODP_BUFFER_HDR_T__SIZE_ERROR");
 
 static inline odp_buffer_hdr_t *odp_buf_to_hdr(odp_buffer_t buf)
 {
diff --git a/platform/linux-keystone2/include/odp_packet_internal.h b/platform/linux-keystone2/include/odp_packet_internal.h
index 8ccf705..a6f7de8 100644
--- a/platform/linux-keystone2/include/odp_packet_internal.h
+++ b/platform/linux-keystone2/include/odp_packet_internal.h
@@ -58,7 +58,7 @@ typedef union {
 	};
 } input_flags_t;
 
-ODP_ASSERT(sizeof(input_flags_t) == sizeof(uint32_t), INPUT_FLAGS_SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(input_flags_t) == sizeof(uint32_t), "INPUT_FLAGS_SIZE_ERROR");
 
 /**
  * Packet error flags
@@ -77,7 +77,7 @@ typedef union {
 	};
 } error_flags_t;
 
-ODP_ASSERT(sizeof(error_flags_t) == sizeof(uint32_t), ERROR_FLAGS_SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(error_flags_t) == sizeof(uint32_t), "ERROR_FLAGS_SIZE_ERROR");
 
 /**
  * Packet output flags
@@ -92,7 +92,7 @@ typedef union {
 	};
 } output_flags_t;
 
-ODP_ASSERT(sizeof(output_flags_t) == sizeof(uint32_t), OUTPUT_FLAGS_SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(output_flags_t) == sizeof(uint32_t), "OUTPUT_FLAGS_SIZE_ERROR");
 
 /**
  * Internal Packet header
@@ -114,7 +114,7 @@ typedef struct {
 
 } odp_packet_hdr_t;
 
-ODP_ASSERT(sizeof(odp_packet_hdr_t) <= 128, ODP_PACKET_HDR_T_SIZE_ERROR);
+ODP_STATIC_ASSERT(sizeof(odp_packet_hdr_t) <= 128, "ODP_PACKET_HDR_T_SIZE_ERROR");
 
 /**
  * Return the packet header
