From 7cfabab41b4feba76204b102636eed6f9d042f24 Mon Sep 17 00:00:00 2001 From: David Majnemer <david.majnemer@gmail.com> Date: Wed, 20 May 2015 04:39:56 +0000 Subject: [PATCH] [clang-cl] Map /GA to -ftls-model=local-exec The /GA switch informs the compiler that it may assume that all TLS access refers to the executable's index: 0. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@237771 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Driver/CLCompatOptions.td | 3 ++- test/Driver/cl-options.c | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/clang/Driver/CLCompatOptions.td b/include/clang/Driver/CLCompatOptions.td index 4726929e3ae..959a72e5389 100644 --- a/include/clang/Driver/CLCompatOptions.td +++ b/include/clang/Driver/CLCompatOptions.td @@ -63,6 +63,8 @@ def _SLASH_fp_except_ : CLFlag<"fp:except-">, HelpText<"">, Alias<fno_trapping_m def _SLASH_fp_fast : CLFlag<"fp:fast">, HelpText<"">, Alias<ffast_math>; def _SLASH_fp_precise : CLFlag<"fp:precise">, HelpText<"">, Alias<fno_fast_math>; def _SLASH_fp_strict : CLFlag<"fp:strict">, HelpText<"">, Alias<fno_fast_math>; +def _SLASH_GA : CLFlag<"GA">, Alias<ftlsmodel_EQ>, AliasArgs<["local-exec"]>, + HelpText<"Assume thread-local variables are defined in the executable">; def _SLASH_GR : CLFlag<"GR">, HelpText<"Enable emission of RTTI data">; def _SLASH_GR_ : CLFlag<"GR-">, HelpText<"Disable emission of RTTI data">; def _SLASH_GF_ : CLFlag<"GF-">, HelpText<"Disable string pooling">, @@ -281,7 +283,6 @@ def _SLASH_FU : CLJoinedOrSeparate<"FU">; def _SLASH_Fx : CLFlag<"Fx">; def _SLASH_G1 : CLFlag<"G1">; def _SLASH_G2 : CLFlag<"G2">; -def _SLASH_GA : CLFlag<"GA">; def _SLASH_Ge : CLFlag<"Ge">; def _SLASH_Gh : CLFlag<"Gh">; def _SLASH_GH : CLFlag<"GH">; diff --git a/test/Driver/cl-options.c b/test/Driver/cl-options.c index 52c572a939a..244e6869d0d 100644 --- a/test/Driver/cl-options.c +++ b/test/Driver/cl-options.c @@ -48,6 +48,9 @@ // fpstrict-NOT: -menable-unsafe-fp-math // fpstrict-NOT: -ffast-math +// RUN: %clang_cl /GA -### -- %s 2>&1 | FileCheck -check-prefix=GA %s +// GA: -ftls-model=local-exec + // RTTI is on by default; just check that we don't error. // RUN: %clang_cl /Zs /GR -- %s 2>&1 -- GitLab