"DefineStd(Builder, "bpf", Opts)" generates the following three macros:
bpf __bpf __bpf__
and the macro "bpf" is due to the fact that the target language
is C which allows GNU extensions.
The name "bpf" could be easily used as variable name or type
field name. For example, in current linux kernel, there are
four places where bpf is used as a field name. If the corresponding
types are included in bpf program, the compilation error will
occur.
This patch removed predefined macro "bpf" as well as "__bpf" which
is rarely used if used at all.
I don't think anyone is using this one.
May be we can keep __bpf__ and __BPF__ only?