eal: do not redefine asm keyword in C++
authorTyler Retzlaff <roretzla@linux.microsoft.com>
Wed, 24 Mar 2021 04:26:51 +0000 (21:26 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 13 Apr 2021 13:32:48 +0000 (15:32 +0200)
C++ forbids redefining a keyword as a macro.
The keyword asm is conditionally-supported and implementation defined,
but it seems our best guess.

In C, if asm does not exist, it is defined as __asm__
which is a GNU extension.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
lib/librte_eal/include/rte_common.h

index 1b630ba..d5a32c6 100644 (file)
@@ -31,9 +31,11 @@ extern "C" {
 #define typeof __typeof__
 #endif
 
+#ifndef __cplusplus
 #ifndef asm
 #define asm __asm__
 #endif
+#endif
 
 /** C extension macro for environments lacking C11 features. */
 #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L