File tree Expand file tree Collapse file tree 2 files changed +9
-8
lines changed
llvm/include/llvm/Support Expand file tree Collapse file tree 2 files changed +9
-8
lines changed Original file line number Diff line number Diff line change @@ -679,22 +679,22 @@ template <class T> class [[nodiscard]] Expected {
679
679
680
680
storage_type *getStorage () {
681
681
assert (!HasError && " Cannot get value when an error exists!" );
682
- return reinterpret_cast <storage_type *>( &TStorage) ;
682
+ return &TStorage;
683
683
}
684
684
685
685
const storage_type *getStorage () const {
686
686
assert (!HasError && " Cannot get value when an error exists!" );
687
- return reinterpret_cast < const storage_type *>( &TStorage) ;
687
+ return &TStorage;
688
688
}
689
689
690
690
error_type *getErrorStorage () {
691
691
assert (HasError && " Cannot get error when a value exists!" );
692
- return reinterpret_cast <error_type *>( &ErrorStorage) ;
692
+ return &ErrorStorage;
693
693
}
694
694
695
695
const error_type *getErrorStorage () const {
696
696
assert (HasError && " Cannot get error when a value exists!" );
697
- return reinterpret_cast < const error_type *>( &ErrorStorage) ;
697
+ return &ErrorStorage;
698
698
}
699
699
700
700
// Used by ExpectedAsOutParameter to reset the checked flag.
Original file line number Diff line number Diff line change @@ -233,21 +233,22 @@ class ErrorOr {
233
233
234
234
storage_type *getStorage () {
235
235
assert (!HasError && " Cannot get value when an error exists!" );
236
- return reinterpret_cast <storage_type *>( &TStorage) ;
236
+ return &TStorage;
237
237
}
238
238
239
239
const storage_type *getStorage () const {
240
240
assert (!HasError && " Cannot get value when an error exists!" );
241
- return reinterpret_cast < const storage_type *>( &TStorage) ;
241
+ return &TStorage;
242
242
}
243
243
244
244
std::error_code *getErrorStorage () {
245
245
assert (HasError && " Cannot get error when a value exists!" );
246
- return reinterpret_cast <std::error_code *>( &ErrorStorage) ;
246
+ return &ErrorStorage;
247
247
}
248
248
249
249
const std::error_code *getErrorStorage () const {
250
- return const_cast <ErrorOr<T> *>(this )->getErrorStorage ();
250
+ assert (HasError && " Cannot get error when a value exists!" );
251
+ return &ErrorStorage;
251
252
}
252
253
253
254
union {
You can’t perform that action at this time.
0 commit comments