mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 12:19:53 +00:00
Disallow implicit conversions from None to integer types
This fixes an error introduced in r228934 where None was converted to an int instead of the int being converted to an Optional as intended. We make that sort of mistake a compile error by changing NoneType into a scoped enum. Finally, provide a static NoneType called None to avoid forcing all users to spell it NoneType::None. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229980 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0ba76cd459
commit
a074de6ff4
@ -19,9 +19,8 @@
|
||||
namespace llvm {
|
||||
/// \brief A simple null object to allow implicit construction of Optional<T>
|
||||
/// and similar types without having to spell out the specialization's name.
|
||||
enum NoneType {
|
||||
None
|
||||
};
|
||||
enum class NoneType { None };
|
||||
static NoneType None;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -361,7 +361,9 @@ static Optional<unsigned> findMainViewFileID(StringRef SourceFile,
|
||||
IsNotExpandedFile[CR.ExpandedFileID] = false;
|
||||
IsNotExpandedFile &= FilenameEquivalence;
|
||||
int I = IsNotExpandedFile.find_first();
|
||||
return I != -1 ? I : None;
|
||||
if (I == -1)
|
||||
return None;
|
||||
return I;
|
||||
}
|
||||
|
||||
static Optional<unsigned> findMainViewFileID(const FunctionRecord &Function) {
|
||||
@ -370,7 +372,9 @@ static Optional<unsigned> findMainViewFileID(const FunctionRecord &Function) {
|
||||
if (CR.Kind == CounterMappingRegion::ExpansionRegion)
|
||||
IsNotExpandedFile[CR.ExpandedFileID] = false;
|
||||
int I = IsNotExpandedFile.find_first();
|
||||
return I != -1 ? I : None;
|
||||
if (I == -1)
|
||||
return None;
|
||||
return I;
|
||||
}
|
||||
|
||||
/// Sort a nested sequence of regions from a single file.
|
||||
|
Loading…
Reference in New Issue
Block a user