/// standard libm functions. The location that they may be interested in is
/// an abstract location that represents errno for the current target. In
/// this case, a location for errno is anything such that the predicate
- /// returns true. On Mac OS/X, this predicate would return true if the
+ /// returns true. On Mac OS X, this predicate would return true if the
/// pointer is the result of a call to "__error()".
///
/// Locations can also be defined in a constant-sensitive way. For example,
mutable const LibCallLocationInfo *Locations;
mutable unsigned NumLocations;
public:
- LibCallInfo() : Impl(0), Locations(0), NumLocations(0) {}
+ LibCallInfo() : Impl(nullptr), Locations(nullptr), NumLocations(0) {}
virtual ~LibCallInfo();
//===------------------------------------------------------------------===//
virtual const LibCallFunctionInfo *getFunctionInfoArray() const = 0;
};
+ enum class EHPersonality {
+ Unknown,
+ GNU_Ada,
+ GNU_C,
+ GNU_CXX,
+ GNU_ObjC,
+ MSVC_Win64SEH,
+ MSVC_CXX,
+ };
+
+ /// ClassifyEHPersonality - See if the given exception handling personality
+ /// function is one that we understand. If so, return a description of it;
+ /// otherwise return Unknown_Personality.
+ EHPersonality ClassifyEHPersonality(Value *Pers);
+
} // end namespace llvm
#endif