[cfe-commits] r161124 - in /cfe/trunk: lib/Basic/Targets.cpp test/Sema/tls.c
Jordan Rose
jordan_rose at apple.com
Wed Aug 1 14:45:54 PDT 2012
Using -verify / no -verify to distinguish support / no support really confused me. Can we just use %clang_cc1 / not %clang_cc1?
On Aug 1, 2012, at 11:53 , Hans Wennborg <hans at hanshq.net> wrote:
> Author: hans
> Date: Wed Aug 1 13:53:19 2012
> New Revision: 161124
>
> URL: http://llvm.org/viewvc/llvm-project?rev=161124&view=rev
> Log:
> TLS is not supported on OpenBSD
>
> This fixes PR13502 and adds a test to keep track of which
> targets support TLS and which do not.
>
> Added:
> cfe/trunk/test/Sema/tls.c
> Modified:
> cfe/trunk/lib/Basic/Targets.cpp
>
> Modified: cfe/trunk/lib/Basic/Targets.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=161124&r1=161123&r2=161124&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Basic/Targets.cpp (original)
> +++ cfe/trunk/lib/Basic/Targets.cpp Wed Aug 1 13:53:19 2012
> @@ -373,6 +373,7 @@
> OpenBSDTargetInfo(const std::string &triple)
> : OSTargetInfo<Target>(triple) {
> this->UserLabelPrefix = "";
> + this->TLSSupported = false;
>
> llvm::Triple Triple(triple);
> switch (Triple.getArch()) {
>
> Added: cfe/trunk/test/Sema/tls.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/tls.c?rev=161124&view=auto
> ==============================================================================
> --- cfe/trunk/test/Sema/tls.c (added)
> +++ cfe/trunk/test/Sema/tls.c Wed Aug 1 13:53:19 2012
> @@ -0,0 +1,20 @@
> +// Test that TLS is correctly considered supported or unsupported for the
> +// different targets.
> +
> +// Linux supports TLS.
> +// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu %s
> +// RUN: %clang_cc1 -triple i386-pc-linux-gnu %s
> +
> +// Darwin supports TLS since 10.7.
> +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 %s
> +// RUN: %clang_cc1 -triple x86_64-apple-macos10.7.0 %s
> +
> +// FIXME: I thought it was supported actually?
> +// RUN: %clang_cc1 -verify -triple x86_64-pc-win32 %s
> +// RUN: %clang_cc1 -verify -triple i386-pc-win32 %s
> +
> +// OpenBSD does not suppport TLS.
> +// RUN: %clang_cc1 -verify -triple x86_64-pc-openbsd %s
> +// RUN: %clang_cc1 -verify -triple i386-pc-openbsd %s
> +
> +__thread int x; // expected-error {{thread-local storage is unsupported for the current target}}
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list