[llvm-dev] Why does clang -E - of a header file may have different exit status?

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Thu Apr 29 21:11:41 PDT 2021


I mean, looks like clang exits non-zero when trying to preprocess your
bfd.h? Does clang print any errors? Maybe try reducing down the
contents of bfd.h to see what's critical about the contents of that
file that causes the non-zero exit?

On Thu, Apr 29, 2021 at 8:04 PM Peng Yu via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> I see different exit status of clang. Does anybody know why? Should
> clang be consistent on this aspect no matter what the header file is?
>
> $ clang -E - <<< '#include <bfd.h>' | head -n 1
> # 1 "<stdin>"
> $ declare -p PIPESTATUS
> declare -a PIPESTATUS=([0]="141" [1]="0")
> $ clang -E - <<< '#include <stdio.h>' | head -n 1
> # 1 "<stdin>"
> $ declare -p PIPESTATUS
> declare -a PIPESTATUS=([0]="0" [1]="0")
> $ clang --version
> Debian clang version 11.0.1-2
> Target: x86_64-pc-linux-gnu
> Thread model: posix
> InstalledDir: /usr/bin
>
> gcc's exit status is consistent in this case.
>
> $ gcc -E - <<< '#include <stdio.h>' | head -n 1
> # 1 "<stdin>"
> $ declare -p PIPESTATUS
> declare -a PIPESTATUS=([0]="2" [1]="0")
> $ gcc -E - <<< '#include <bfd.h>' | head -n 1
> # 1 "<stdin>"
> $ declare -p PIPESTATUS
> declare -a PIPESTATUS=([0]="2" [1]="0")
> $ gcc --version
> gcc (Debian 10.2.1-6) 10.2.1 20210110
> Copyright (C) 2020 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> --
> Regards,
> Peng
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list