Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()

From: Keith Busch
Date: Fri Mar 10 2023 - 17:15:55 EST


On Fri, Mar 10, 2023 at 07:14:13PM +0200, Andy Shevchenko wrote:
> +#define __pci_dev_for_each_resource(dev, res, __i, vartype) \
> + for (vartype __i = 0; \
> + res = &(dev)->resource[__i], __i < PCI_NUM_RESOURCES; \
> + __i++)

...

> +#define pci_dev_for_each_resource_p(dev, res) \
> + __pci_dev_for_each_resource(dev, res, i, unsigned int)

It looks dangerous to have a macro declare a variable when starting a new
scope. How do you know the name 'i' won't clash with something defined above?