[ARM] Improve diagnostics message when Neon is unsupported
authorVictor Campos <victor.campos@arm.com>
Mon, 15 Jun 2020 14:54:15 +0000 (15:54 +0100)
committerVictor Campos <victor.campos@arm.com>
Wed, 24 Jun 2020 09:20:26 +0000 (10:20 +0100)
commit1b090db0df47f3ebf6acab0316180267e6b96f43
treec28e45721ec8c98b45ed8993c37bda845284610e
parent4bfa43809fe6780159a4980cf601c504cbec6f32
[ARM] Improve diagnostics message when Neon is unsupported

Summary:
Whenever Neon is not supported, a generic message is printed:

  error: "NEON support not enabled"

Followed by a series of other error messages that are not useful once
the first one is printed.

This patch gives a more precise message in the case where Neon is
unsupported because an invalid float ABI was specified: the soft float
ABI.

  error: "NEON intrinsics not available with the soft-float ABI. Please
  use -mfloat-abi=softfp or -mfloat-abi=hard"

This message is the same one that GCC gives, so it is also making their
diagnostics more compatible with each other.

Also, by rearranging preprocessor directives, these "unsupported" error
messages are now the only ones printed out, which is also GCC's
behaviour.

Differential Revision: https://reviews.llvm.org/D81847
clang/utils/TableGen/NeonEmitter.cpp