[dpdk-dev] eal/bsdapp: fix compilation on FreeBSD

Message ID 1430830054-28791-1-git-send-email-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Bruce Richardson May 5, 2015, 12:47 p.m. UTC
  Fixes: 6065355a "pci: make device id tables const"

Following the above commit, compilation on FreeBSD with clang was broken,
giving the error message:

.../lib/librte_eal/bsdapp/eal/eal_pci.c:438:16: fatal error: assigning to
      'struct rte_pci_id *' from 'const struct rte_pci_id *' discards qualifiers
      [-Wincompatible-pointer-types-discards-qualifiers]
        for (id_table = dr->id_table ; id_table->vendor_id != 0; id_table++) {
                      ^ ~~~~~~~~~~~~

This patch fixes the issue by adding "const" to the type of id_table.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_eal/bsdapp/eal/eal_pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon May 11, 2015, 1:45 p.m. UTC | #1
> Fixes: 6065355a "pci: make device id tables const"
> 
> Following the above commit, compilation on FreeBSD with clang was broken,
> giving the error message:
> 
> .../lib/librte_eal/bsdapp/eal/eal_pci.c:438:16: fatal error: assigning to
>       'struct rte_pci_id *' from 'const struct rte_pci_id *' discards qualifiers
>       [-Wincompatible-pointer-types-discards-qualifiers]
>         for (id_table = dr->id_table ; id_table->vendor_id != 0; id_table++) {
>                       ^ ~~~~~~~~~~~~
> 
> This patch fixes the issue by adding "const" to the type of id_table.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c
index 30f0232..61e8921 100644
--- a/lib/librte_eal/bsdapp/eal/eal_pci.c
+++ b/lib/librte_eal/bsdapp/eal/eal_pci.c
@@ -432,7 +432,7 @@  error:
 int
 rte_eal_pci_probe_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *dev)
 {
-	struct rte_pci_id *id_table;
+	const struct rte_pci_id *id_table;
 	int ret;
 
 	for (id_table = dr->id_table ; id_table->vendor_id != 0; id_table++) {