diff --git a/lib/eal/common/eal_common_proc.c b/lib/eal/common/eal_common_proc.c
index 02d4599..c4981f2 100644
--- a/lib/eal/common/eal_common_proc.c
+++ b/lib/eal/common/eal_common_proc.c
@@ -80,7 +80,6 @@ struct pending_request {
 	struct rte_mp_msg *request;
 	struct rte_mp_msg *reply;
 	int reply_received;
-	RTE_STD_C11
 	union {
 		struct {
 			struct async_request_param *param;
diff --git a/lib/eal/common/eal_interrupts.h b/lib/eal/common/eal_interrupts.h
index 482781b..c9d6744 100644
--- a/lib/eal/common/eal_interrupts.h
+++ b/lib/eal/common/eal_interrupts.h
@@ -6,7 +6,6 @@
 #define EAL_INTERRUPTS_H
 
 struct rte_intr_handle {
-	RTE_STD_C11
 	union {
 		struct {
 			int dev_fd; /**< VFIO/UIO cfg device file descriptor */
diff --git a/lib/eal/common/malloc_mp.h b/lib/eal/common/malloc_mp.h
index 8d14868..43dc2a8 100644
--- a/lib/eal/common/malloc_mp.h
+++ b/lib/eal/common/malloc_mp.h
@@ -39,7 +39,6 @@ struct malloc_req_alloc {
 };
 
 struct malloc_req_free {
-	RTE_STD_C11
 	union {
 		void *addr;
 		uint64_t addr_64;
@@ -49,7 +48,6 @@ struct malloc_req_free {
 
 struct malloc_mp_req {
 	enum malloc_req_type t;
-	RTE_STD_C11
 	union {
 		struct malloc_req_alloc alloc_req;
 		struct malloc_req_free free_req;
diff --git a/lib/eal/include/generic/rte_atomic.h b/lib/eal/include/generic/rte_atomic.h
index aef44e2..82b9bfc 100644
--- a/lib/eal/include/generic/rte_atomic.h
+++ b/lib/eal/include/generic/rte_atomic.h
@@ -1069,9 +1069,7 @@ static inline void rte_atomic64_clear(rte_atomic64_t *v)
 /**
  * 128-bit integer structure.
  */
-RTE_STD_C11
 typedef struct {
-	RTE_STD_C11
 	union {
 		uint64_t val[2];
 #ifdef RTE_ARCH_64
diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h
index 15765b4..77f937e 100644
--- a/lib/eal/include/rte_common.h
+++ b/lib/eal/include/rte_common.h
@@ -34,13 +34,6 @@
 #endif
 #endif
 
-/** C extension macro for environments lacking C11 features. */
-#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L
-#define RTE_STD_C11 __extension__
-#else
-#define RTE_STD_C11
-#endif
-
 /*
  * RTE_TOOLCHAIN_GCC is defined if the target is built with GCC,
  * while a host application (like pmdinfogen) may have another compiler.
diff --git a/lib/eal/include/rte_devargs.h b/lib/eal/include/rte_devargs.h
index 38dee2f..9126798 100644
--- a/lib/eal/include/rte_devargs.h
+++ b/lib/eal/include/rte_devargs.h
@@ -78,7 +78,6 @@ struct rte_devargs {
 	enum rte_dev_policy policy;
 	/** Name of the device. */
 	char name[RTE_DEV_NAME_MAX_LEN];
-	RTE_STD_C11
 	union {
 		const char *args; /**< legacy name. */
 		const char *drv_str; /**< driver-related part of device string. */
diff --git a/lib/eal/include/rte_memory.h b/lib/eal/include/rte_memory.h
index 99a1139..3a1c607 100644
--- a/lib/eal/include/rte_memory.h
+++ b/lib/eal/include/rte_memory.h
@@ -47,7 +47,6 @@
  */
 struct rte_memseg {
 	rte_iova_t iova;            /**< Start IO address. */
-	RTE_STD_C11
 	union {
 		void *addr;         /**< Start virtual address. */
 		uint64_t addr_64;   /**< Makes sure addr is always 64 bits */
@@ -65,7 +64,6 @@ struct rte_memseg {
  * together with the array itself.
  */
 struct rte_memseg_list {
-	RTE_STD_C11
 	union {
 		void *base_va;
 		/**< Base virtual address for this memseg list. */
diff --git a/lib/eal/include/rte_memzone.h b/lib/eal/include/rte_memzone.h
index ebcdae9..931497f 100644
--- a/lib/eal/include/rte_memzone.h
+++ b/lib/eal/include/rte_memzone.h
@@ -51,7 +51,6 @@ struct rte_memzone {
 	char name[RTE_MEMZONE_NAMESIZE];  /**< Name of the memory zone. */
 
 	rte_iova_t iova;                  /**< Start IO address. */
-	RTE_STD_C11
 	union {
 		void *addr;                   /**< Start virtual address. */
 		uint64_t addr_64;             /**< Makes sure addr is always 64-bits */
diff --git a/lib/eal/linux/eal_vfio.h b/lib/eal/linux/eal_vfio.h
index dc8ef32..23a787a 100644
--- a/lib/eal/linux/eal_vfio.h
+++ b/lib/eal/linux/eal_vfio.h
@@ -148,7 +148,6 @@ struct vfio_iommu_type {
 struct vfio_mp_param {
 	int req;
 	int result;
-	RTE_STD_C11
 	union {
 		int group_num;
 		int iommu_type_id;
diff --git a/lib/eal/x86/include/rte_atomic_32.h b/lib/eal/x86/include/rte_atomic_32.h
index c885a66..0f25863 100644
--- a/lib/eal/x86/include/rte_atomic_32.h
+++ b/lib/eal/x86/include/rte_atomic_32.h
@@ -25,7 +25,6 @@
 rte_atomic64_cmpset(volatile uint64_t *dst, uint64_t exp, uint64_t src)
 {
 	uint8_t res;
-	RTE_STD_C11
 	union {
 		struct {
 			uint32_t l32;
diff --git a/lib/eal/x86/include/rte_cycles.h b/lib/eal/x86/include/rte_cycles.h
index a461a4d..23d664b 100644
--- a/lib/eal/x86/include/rte_cycles.h
+++ b/lib/eal/x86/include/rte_cycles.h
@@ -25,7 +25,6 @@
 {
 	union {
 		uint64_t tsc_64;
-		RTE_STD_C11
 		struct {
 			uint32_t lo_32;
 			uint32_t hi_32;
