From 433cb315d3adfd80f7b8ea737e51a5deef53c56e Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Tue, 7 Apr 2015 01:03:35 +0000 Subject: [PATCH] Report an error when -m-version-min= does not specify a version. Currently if you use -mmacosx-version-min or -mios-version-min without specifying a version number, clang silently sets the minimum version to "0.0.0". This is almost certainly not what was intended, so it is better to report it as an error. rdar://problem/20433945 llvm-svn: 234270 --- clang/lib/Driver/Driver.cpp | 2 +- clang/test/Driver/darwin-version.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 5b01b1c5a3ef..07a5e42cb139 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -2152,7 +2152,7 @@ bool Driver::GetReleaseVersion(const char *Str, unsigned &Major, Major = Minor = Micro = 0; if (*Str == '\0') - return true; + return false; char *End; Major = (unsigned) strtol(Str, &End, 10); diff --git a/clang/test/Driver/darwin-version.c b/clang/test/Driver/darwin-version.c index 8e909278a5df..3e7496b6bc39 100644 --- a/clang/test/Driver/darwin-version.c +++ b/clang/test/Driver/darwin-version.c @@ -30,6 +30,9 @@ // RUN: %clang -target x86_64-apple-macosx -mmacosx-version-min=10.10 -c %s -### 2>&1 | \ // RUN: FileCheck --check-prefix=CHECK-VERSION-OSX10 %s // CHECK-VERSION-OSX10: "x86_64-apple-macosx10.10.0" +// RUN: %clang -target x86_64-apple-macosx -mmacosx-version-min= -c %s -### 2>&1 | \ +// RUN: FileCheck --check-prefix=CHECK-VERSION-MISSING %s +// CHECK-VERSION-MISSING: invalid version number // Check environment variable gets interpreted correctly // RUN: env MACOSX_DEPLOYMENT_TARGET=10.5 \