diff options
Diffstat (limited to 'llvm/unittests/Support/ErrorTest.cpp')
-rw-r--r-- | llvm/unittests/Support/ErrorTest.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/unittests/Support/ErrorTest.cpp b/llvm/unittests/Support/ErrorTest.cpp index cf1c6e63e4d..893bd6825bf 100644 --- a/llvm/unittests/Support/ErrorTest.cpp +++ b/llvm/unittests/Support/ErrorTest.cpp @@ -35,6 +35,9 @@ public: llvm_unreachable("CustomError doesn't support ECError conversion"); } + // Used by ErrorInfo::classID. + static char ID; + protected: // This error is subclassed below, but we can't use inheriting constructors // yet, so we can't propagate the constructors through ErrorInfo. Instead @@ -45,6 +48,8 @@ protected: int Info; }; +char CustomError::ID = 0; + // Custom error class with a custom base class and some additional random // 'info'. class CustomSubError : public ErrorInfo<CustomSubError, CustomError> { @@ -66,10 +71,15 @@ public: llvm_unreachable("CustomSubError doesn't support ECError conversion"); } + // Used by ErrorInfo::classID. + static char ID; + protected: int ExtraInfo; }; +char CustomSubError::ID = 0; + static Error handleCustomError(const CustomError &CE) { return Error(); } static void handleCustomErrorVoid(const CustomError &CE) {} @@ -453,6 +463,3 @@ TEST(Error, ErrorCodeConversions) { } } // end anon namespace - -template <> char ErrorInfo<CustomError>::ID = 0; -template <> char ErrorInfo<CustomSubError, CustomError>::ID = 0; |