[dpdk-dev] [PATCH 1/3] eal/arm64: remove the braces {} for dmb(), dsb()
Bruce Richardson
bruce.richardson at intel.com
Wed Nov 8 11:28:14 CET 2017
On Wed, Nov 08, 2017 at 06:17:10AM +0000, Jia He wrote:
> for the code as follows:
> if (condition)
> rte_smp_rmb();
> else
> rte_smp_wmb();
> Without this patch, compiler will report this error:
> error: 'else' without a previous 'if'
>
> Signed-off-by: Jia He <hejianet at gmail.com>
> Signed-off-by: jia.he at hxt-semitech.com
> ---
> lib/librte_eal/common/include/arch/arm/rte_atomic_64.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
> index 0b70d62..38c3393 100644
> --- a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
> +++ b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
> @@ -43,8 +43,8 @@ extern "C" {
>
> #include "generic/rte_atomic.h"
>
> -#define dsb(opt) { asm volatile("dsb " #opt : : : "memory"); }
> -#define dmb(opt) { asm volatile("dmb " #opt : : : "memory"); }
> +#define dsb(opt) asm volatile("dsb " #opt : : : "memory");
> +#define dmb(opt) asm volatile("dmb " #opt : : : "memory");
>
Need to remove the trailing ";" I too I think.
Alternatively, to keep the braces, the standard practice is to use
do { ... } while(0)
Regards,
/Bruce
More information about the dev
mailing list