[llvm-commits] [llvm] r156483 - in /llvm/trunk: include/llvm/ADT/Triple.h lib/Support/Triple.cpp
Eli Friedman
eli.friedman at gmail.com
Wed May 9 10:35:44 PDT 2012
On Wed, May 9, 2012 at 10:23 AM, Chad Rosier <mcrosier at apple.com> wrote:
> Author: mcrosier
> Date: Wed May 9 12:23:48 2012
> New Revision: 156483
>
> URL: http://llvm.org/viewvc/llvm-project?rev=156483&view=rev
> Log:
> Add Triple::getiOSVersion.
>
> This new function provides a way to get the iOS version number from ios triples.
> Part of rdar://11409204
>
> Modified:
> llvm/trunk/include/llvm/ADT/Triple.h
> llvm/trunk/lib/Support/Triple.cpp
>
> Modified: llvm/trunk/include/llvm/ADT/Triple.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Triple.h?rev=156483&r1=156482&r2=156483&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/Triple.h (original)
> +++ llvm/trunk/include/llvm/ADT/Triple.h Wed May 9 12:23:48 2012
> @@ -196,6 +196,11 @@
> bool getMacOSXVersion(unsigned &Major, unsigned &Minor,
> unsigned &Micro) const;
>
> + /// getiOSVersion - Parse the version number as with getOSVersion. This should
> + /// only be called with IOS triples.
> + void getiOSVersion(unsigned &Major, unsigned &Minor,
> + unsigned &Micro) const;
> +
> /// @}
> /// @name Direct Component Access
> /// @{
>
> Modified: llvm/trunk/lib/Support/Triple.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Triple.cpp?rev=156483&r1=156482&r2=156483&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/Triple.cpp (original)
> +++ llvm/trunk/lib/Support/Triple.cpp Wed May 9 12:23:48 2012
> @@ -596,6 +596,27 @@
> return true;
> }
>
> +void Triple::getiOSVersion(unsigned &Major, unsigned &Minor,
> + unsigned &Micro) const {
> + switch (getOS()) {
> + default: llvm_unreachable("unexpected OS for Darwin triple");
> + case Darwin:
> + case MacOSX:
> + // Ignore the version from the triple. This is only handled because the
> + // the clang driver combines OS X and IOS support into a common Darwin
> + // toolchain that wants to know the iOS version number even when targeting
> + // OS X.
> + Major = 0;
> + Minor = 0;
> + Micro = 0;
> + return true;
Does this return statement actually compile?
-Eli
More information about the llvm-commits
mailing list