[PATCH] devtools: forbid use of compiler pragmas

David Marchand david.marchand at redhat.com
Thu Jan 30 09:37:40 CET 2025


Using pragma must be prevented to avoid breaking builds with other
compilers.
Let EAL use them (like for abstraction macros).

Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 devtools/checkpatches.sh | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh
index 003bb49e04..c6920747f7 100755
--- a/devtools/checkpatches.sh
+++ b/devtools/checkpatches.sh
@@ -210,6 +210,15 @@ check_forbidden_additions() { # <patch>
 		-f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
 		"$1" || res=1
 
+	# forbid use of #pragma
+	awk -v FOLDERS='lib drivers app examples' \
+		-v SKIP_FILES='lib/eal/include/rte_common.h' \
+		-v EXPRESSIONS='(#pragma|_Pragma)' \
+		-v RET_ON_FAIL=1 \
+		-v MESSAGE='Using compilers pragma is not allowed' \
+		-f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
+		"$1" || res=1
+
 	# forbid use of experimental build flag except in examples
 	awk -v FOLDERS='lib drivers app' \
 		-v EXPRESSIONS='-DALLOW_EXPERIMENTAL_API allow_experimental_apis' \
-- 
2.48.1



More information about the dev mailing list