[flashrom] [PATCH] Work around shadowing warnings in libpci headers

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Mon Jun 14 15:07:18 CEST 2010


Work around shadowing warnings in libpci headers. This is needed for
warning-free compilation on older gcc versions (3.x and probably older).
Such a gcc version is the default on OpenBSD.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Index: flashrom-libpci_header_shadow_warning/hwaccess.h
===================================================================
--- flashrom-libpci_header_shadow_warning/hwaccess.h	(Revision 1045)
+++ flashrom-libpci_header_shadow_warning/hwaccess.h	(Arbeitskopie)
@@ -31,7 +31,14 @@
 #endif
 
 #if NEED_PCI == 1
+/*
+ * libpci headers use the variable name "index" which triggers shadowing
+ * warnings on systems which have the index() function in a default #include
+ * or as builtin.
+ */
+#define index shadow_workaround_index
 #include <pci/pci.h>
+#undef index
 #endif
 
 #if defined (__i386__) || defined (__x86_64__)
Index: flashrom-libpci_header_shadow_warning/Makefile
===================================================================
--- flashrom-libpci_header_shadow_warning/Makefile	(Revision 1045)
+++ flashrom-libpci_header_shadow_warning/Makefile	(Arbeitskopie)
@@ -289,7 +289,9 @@
 ifeq ($(CHECK_LIBPCI), yes)
 pciutils: compiler
 	@printf "Checking for libpci headers... "
-	@$(shell ( echo "#include <pci/pci.h>";		   \
+	@# Avoid a failing test due to libpci header symbol shadowing breakage
+	@$(shell ( echo "#define index shadow_workaround_index" \
+		   echo "#include <pci/pci.h>";		   \
 		   echo "struct pci_access *pacc;";	   \
 		   echo "int main(int argc, char **argv)"; \
 		   echo "{ pacc = pci_alloc(); return 0; }"; ) > .test.c )


-- 
http://www.hailfinger.org/





More information about the flashrom mailing list