|
7 | 7 | //===----------------------------------------------------------------------===//
|
8 | 8 |
|
9 | 9 | #include "llvm/Support/TypeSize.h"
|
10 |
| -#include "llvm/Support/CommandLine.h" |
11 |
| -#include "llvm/Support/ManagedStatic.h" |
12 |
| -#include "llvm/Support/WithColor.h" |
13 |
| - |
14 |
| -#include "DebugOptions.h" |
| 10 | +#include "llvm/Support/Error.h" |
15 | 11 |
|
16 | 12 | using namespace llvm;
|
17 | 13 |
|
18 |
| -#ifndef STRICT_FIXED_SIZE_VECTORS |
19 |
| -namespace { |
20 |
| -struct CreateScalableErrorAsWarning { |
21 |
| - /// The ScalableErrorAsWarning is a temporary measure to suppress errors from |
22 |
| - /// using the wrong interface on a scalable vector. |
23 |
| - static void *call() { |
24 |
| - return new cl::opt<bool>( |
25 |
| - "treat-scalable-fixed-error-as-warning", cl::Hidden, |
26 |
| - cl::desc( |
27 |
| - "Treat issues where a fixed-width property is requested from a " |
28 |
| - "scalable type as a warning, instead of an error")); |
29 |
| - } |
30 |
| -}; |
31 |
| -} // namespace |
32 |
| -static ManagedStatic<cl::opt<bool>, CreateScalableErrorAsWarning> |
33 |
| - ScalableErrorAsWarning; |
34 |
| -void llvm::initTypeSizeOptions() { *ScalableErrorAsWarning; } |
35 |
| -#else |
36 |
| -void llvm::initTypeSizeOptions() {} |
37 |
| -#endif |
38 |
| - |
39 |
| -void llvm::reportInvalidSizeRequest(const char *Msg) { |
40 |
| -#ifndef STRICT_FIXED_SIZE_VECTORS |
41 |
| - if (*ScalableErrorAsWarning) { |
42 |
| - WithColor::warning() << "Invalid size request on a scalable vector; " << Msg |
43 |
| - << "\n"; |
44 |
| - return; |
45 |
| - } |
46 |
| -#endif |
47 |
| - report_fatal_error("Invalid size request on a scalable vector."); |
48 |
| -} |
49 |
| - |
50 | 14 | TypeSize::operator TypeSize::ScalarTy() const {
|
51 | 15 | if (isScalable()) {
|
52 |
| - reportInvalidSizeRequest( |
| 16 | + reportFatalInternalError( |
53 | 17 | "Cannot implicitly convert a scalable size to a fixed-width size in "
|
54 | 18 | "`TypeSize::operator ScalarTy()`");
|
55 | 19 | return getKnownMinValue();
|
|
0 commit comments