summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2012-05-16 15:43:29 +0200
committerFrancisco Jerez <currojerez@riseup.net>2012-05-16 18:51:35 +0200
commit03e3bc4ba56f1021899a5f773b6ec21893619e3a (patch)
treeefd449367808e97d23cd77d5c35b459ac12d4527
parent88a2e2388bfeee66cb6d873558431b0e0af7e316 (diff)
gallium/auxiliary/pipe-loader: Fix usage of anonymous union.
Anonymous unions aren't part of the C99 standard. Fixes build on GCC versions older than 4.6. https://bugs.freedesktop.org/show_bug.cgi?id=50001 Reported-by: Michael Lange <michaell@gmx.org>
-rw-r--r--src/gallium/auxiliary/pipe-loader/pipe_loader.h2
-rw-r--r--src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c12
-rw-r--r--src/gallium/state_trackers/clover/core/device.cpp2
3 files changed, 8 insertions, 8 deletions
diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader.h b/src/gallium/auxiliary/pipe-loader/pipe_loader.h
index e41969458dd..21a609fce7e 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader.h
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader.h
@@ -58,7 +58,7 @@ struct pipe_loader_device {
int vendor_id;
int chip_id;
} pci;
- }; /**< Discriminated by \a type */
+ } u; /**< Discriminated by \a type */
const char *driver_name;
const struct pipe_loader_ops *ops;
diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
index 7a7e9942f3b..518f3da3107 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
@@ -78,8 +78,8 @@ find_drm_pci_id(struct pipe_loader_drm_device *ddev)
pci_id = udev_device_get_property_value(parent, "PCI_ID");
if (!pci_id ||
- sscanf(pci_id, "%x:%x", &ddev->base.pci.vendor_id,
- &ddev->base.pci.chip_id) != 2)
+ sscanf(pci_id, "%x:%x", &ddev->base.u.pci.vendor_id,
+ &ddev->base.u.pci.chip_id) != 2)
goto fail;
return TRUE;
@@ -101,7 +101,7 @@ find_drm_driver_name(struct pipe_loader_drm_device *ddev)
int i, j;
for (i = 0; driver_map[i].driver; i++) {
- if (dev->pci.vendor_id != driver_map[i].vendor_id)
+ if (dev->u.pci.vendor_id != driver_map[i].vendor_id)
continue;
if (driver_map[i].num_chips_ids == -1) {
@@ -110,7 +110,7 @@ find_drm_driver_name(struct pipe_loader_drm_device *ddev)
}
for (j = 0; j < driver_map[i].num_chips_ids; j++) {
- if (dev->pci.chip_id == driver_map[i].chip_ids[j]) {
+ if (dev->u.pci.chip_id == driver_map[i].chip_ids[j]) {
dev->driver_name = driver_map[i].driver;
goto found;
}
@@ -120,8 +120,8 @@ find_drm_driver_name(struct pipe_loader_drm_device *ddev)
return FALSE;
found:
- debug_printf("driver for %04x:%04x: %s\n", dev->pci.vendor_id,
- dev->pci.chip_id, dev->driver_name);
+ debug_printf("driver for %04x:%04x: %s\n", dev->u.pci.vendor_id,
+ dev->u.pci.chip_id, dev->driver_name);
return TRUE;
}
diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp
index 1f40010b019..69b1b4a6ac0 100644
--- a/src/gallium/state_trackers/clover/core/device.cpp
+++ b/src/gallium/state_trackers/clover/core/device.cpp
@@ -75,7 +75,7 @@ _cl_device_id::vendor_id() const {
case PIPE_LOADER_DEVICE_SOFTWARE:
return 0;
case PIPE_LOADER_DEVICE_PCI:
- return ldev->pci.vendor_id;
+ return ldev->u.pci.vendor_id;
default:
assert(0);
return 0;