As of https://reviews.llvm.org/D79708, clang-tblgen generates arm_neon.h,
arm_sve.h and arm_bf16.h, and all those generated files will contain a
typedef of bfloat16_t. However, arm_neon.h and arm_sve.h include
arm_bf16.h immediately before their own typedef:
#include <arm_bf16.h> typedef __bf16 bfloat16_t;
With a recent version of clang (I used 16.0.1) this results in warnings:
/usr/lib/clang/16/include/arm_neon.h:38:16: error: redefinition of typedef 'bfloat16_t' is a C11 feature [-Werror,-Wtypedef-redefinition]
Since arm_bf16.h is very likely supposed to be the one true place where
bfloat16_t is defined, I propose to delete the duplicate typedefs from the
generated arm_neon.h and arm_sve.h.