- const std::string& TT = M.getTargetTriple();
- if (TT.length() > 5) {
- IsDarwin = TT.find("-darwin") != std::string::npos;
- } else if (TT.empty()) {
-#if defined(__APPLE__)
- IsDarwin = true;
-#endif
+ if (TT.length() > 7) {
+ // Determine which version of darwin this is.
+ size_t DarwinPos = TT.find("-darwin");
+ if (DarwinPos != std::string::npos) {
+ if (isdigit(TT[DarwinPos+7]))
+ DarwinVers = atoi(&TT[DarwinPos+7]);
+ else
+ DarwinVers = 8; // Minimum supported darwin is Tiger.
+ }