On Mon, Dec 07, 2020 at 06:19:12PM -0800, Andrii Nakryiko wrote: > On Mon, Dec 7, 2020 at 3:00 AM Brendan Jackman <jackmanb@xxxxxxxxxx> wrote: > > > > On Fri, Dec 04, 2020 at 11:00:24AM -0800, Andrii Nakryiko wrote: > > > On Fri, Dec 4, 2020 at 1:41 AM Brendan Jackman <jackmanb@xxxxxxxxxx> wrote: > > > > > > > > On Thu, Dec 03, 2020 at 01:01:27PM -0800, Andrii Nakryiko wrote: > > > > > On Thu, Dec 3, 2020 at 8:07 AM Brendan Jackman <jackmanb@xxxxxxxxxx> wrote: > > > > > > [...] > > > > Ah right gotcha. Then yeah I think we can do this: > > > > BPF_ATOMICS_SUPPORTED = $(shell \ > > echo "int x = 0; int foo(void) { return __sync_val_compare_and_swap(&x, 1, 2); }" \ > > | $(CLANG) -x cpp-output -S -target bpf -mcpu=v3 - -o /dev/null && echo 1 || echo 0) > > Looks like it would work, yes. / > Curious what "-x cpp-output" does? That's just to tell Clang what language to expect, since it can't infer it from a file extension: $ echo foo | clang -S - clang-10: error: -E or -x required when input is from standard input Yonghong pointed out that we can actually just use `-x c`.