[PATCH] D52956: Support `-fno-visibility-inlines-hidden`

2019-02-25 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai added a comment.

I tried committing this for you, but it doesn't apply to master. Could you 
rebase?


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52956/new/

https://reviews.llvm.org/D52956



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D52956: Support `-fno-visibility-inlines-hidden`

2019-02-21 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai added a comment.

You should ask the reviewers to commit it in your behalf. You can request 
commit access after you've had a few patches accepted and committed.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52956/new/

https://reviews.llvm.org/D52956



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D52956: Support `-fno-visibility-inlines-hidden`

2019-02-21 Thread Andrew Gallagher via Phabricator via cfe-commits
andrewjcg added a comment.
Herald added a project: clang.

Sorry for the delay here, but this should be ready to go.

As this is my first accepted diff to LLVM, should I follow 
https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access to get 
commit access, or is there some other process for first-time committers?


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52956/new/

https://reviews.llvm.org/D52956



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D52956: Support `-fno-visibility-inlines-hidden`

2018-12-06 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment.

Is this change blocked on something?


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52956/new/

https://reviews.llvm.org/D52956



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D52956: Support `-fno-visibility-inlines-hidden`

2018-10-08 Thread Steve O'Brien via Phabricator via cfe-commits
elsteveogrande accepted this revision.
elsteveogrande added a comment.
This revision is now accepted and ready to land.

lgtm!


Repository:
  rC Clang

https://reviews.llvm.org/D52956



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D52956: Support `-fno-visibility-inlines-hidden`

2018-10-05 Thread Andrew Gallagher via Phabricator via cfe-commits
andrewjcg created this revision.
Herald added subscribers: cfe-commits, eraman.

Undoes `-fvisibility-inlines-hidden`.

Test Plan: added test


Repository:
  rC Clang

https://reviews.llvm.org/D52956

Files:
  include/clang/Driver/Options.td
  lib/Driver/ToolChains/Clang.cpp
  lib/Frontend/CompilerInvocation.cpp
  test/Driver/visibility-inlines-hidden.cpp


Index: test/Driver/visibility-inlines-hidden.cpp
===
--- /dev/null
+++ test/Driver/visibility-inlines-hidden.cpp
@@ -0,0 +1,19 @@
+// RUN: %clang -### -S -fvisibility-inlines-hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-1 %s < %t.log
+// CHECK-1: "-fvisibility-inlines-hidden"
+// CHECK-1-NOT: "-fno-visibility-inlines-hidden"
+
+// RUN: %clang -### -S -fno-visibility-inlines-hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-2 %s < %t.log
+// CHECK-2: "-fno-visibility-inlines-hidden"
+// CHECK-2-NOT: "-fvisibility-inlines-hidden"
+
+// RUN: %clang -### -S -fvisibility-inlines-hidden 
-fno-visibility-inlines-hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-3 %s < %t.log
+// CHECK-3: "-fno-visibility-inlines-hidden"
+// CHECK-3-NOT: "-fvisibility-inlines-hidden"
+
+// RUN: %clang -### -S -fno-visibility-inlines-hidden 
-fvisibility-inlines-hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-4 %s < %t.log
+// CHECK-4: "-fvisibility-inlines-hidden"
+// CHECK-4-NOT: "-fno-visibility-inlines-hidden"
Index: lib/Frontend/CompilerInvocation.cpp
===
--- lib/Frontend/CompilerInvocation.cpp
+++ lib/Frontend/CompilerInvocation.cpp
@@ -2310,8 +2310,11 @@
 Opts.setTypeVisibilityMode(Opts.getValueVisibilityMode());
   }
 
-  if (Args.hasArg(OPT_fvisibility_inlines_hidden))
+  if (Args.hasFlag(OPT_fvisibility_inlines_hidden,
+   OPT_fno_visibility_inlines_hidden,
+   false)) {
 Opts.InlineVisibilityHidden = 1;
+  }
 
   if (Args.hasArg(OPT_ftrapv)) {
 Opts.setSignedOverflowBehavior(LangOptions::SOB_Trapping);
Index: lib/Driver/ToolChains/Clang.cpp
===
--- lib/Driver/ToolChains/Clang.cpp
+++ lib/Driver/ToolChains/Clang.cpp
@@ -4167,7 +4167,8 @@
 }
   }
 
-  Args.AddLastArg(CmdArgs, options::OPT_fvisibility_inlines_hidden);
+  Args.AddLastArg(CmdArgs, options::OPT_fvisibility_inlines_hidden,
+  options::OPT_fno_visibility_inlines_hidden);
 
   Args.AddLastArg(CmdArgs, options::OPT_ftlsmodel_EQ);
 
Index: include/clang/Driver/Options.td
===
--- include/clang/Driver/Options.td
+++ include/clang/Driver/Options.td
@@ -1714,6 +1714,9 @@
 def fvisibility_inlines_hidden : Flag<["-"], "fvisibility-inlines-hidden">, 
Group,
   HelpText<"Give inline C++ member functions hidden visibility by default">,
   Flags<[CC1Option]>;
+def fno_visibility_inlines_hidden : Flag<["-"], 
"fno-visibility-inlines-hidden">, Group,
+  HelpText<"Do not give inline C++ member functions hidden visibility by 
default">,
+  Flags<[CC1Option]>;
 def fvisibility_ms_compat : Flag<["-"], "fvisibility-ms-compat">, 
Group,
   HelpText<"Give global types 'default' visibility and global functions and "
"variables 'hidden' visibility by default">;


Index: test/Driver/visibility-inlines-hidden.cpp
===
--- /dev/null
+++ test/Driver/visibility-inlines-hidden.cpp
@@ -0,0 +1,19 @@
+// RUN: %clang -### -S -fvisibility-inlines-hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-1 %s < %t.log
+// CHECK-1: "-fvisibility-inlines-hidden"
+// CHECK-1-NOT: "-fno-visibility-inlines-hidden"
+
+// RUN: %clang -### -S -fno-visibility-inlines-hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-2 %s < %t.log
+// CHECK-2: "-fno-visibility-inlines-hidden"
+// CHECK-2-NOT: "-fvisibility-inlines-hidden"
+
+// RUN: %clang -### -S -fvisibility-inlines-hidden -fno-visibility-inlines-hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-3 %s < %t.log
+// CHECK-3: "-fno-visibility-inlines-hidden"
+// CHECK-3-NOT: "-fvisibility-inlines-hidden"
+
+// RUN: %clang -### -S -fno-visibility-inlines-hidden -fvisibility-inlines-hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-4 %s < %t.log
+// CHECK-4: "-fvisibility-inlines-hidden"
+// CHECK-4-NOT: "-fno-visibility-inlines-hidden"
Index: lib/Frontend/CompilerInvocation.cpp
===
--- lib/Frontend/CompilerInvocation.cpp
+++ lib/Frontend/CompilerInvocation.cpp
@@ -2310,8 +2310,11 @@
 Opts.setTypeVisibilityMode(Opts.getValueVisibilityMode());
   }
 
-  if (Args.hasArg(OPT_fvisibility_inlines_hidden))
+  if (Args.hasFlag(OPT_fvisibility_inlines_hidden,
+   OPT_fno_visibility_inlines_hidden,
+   false)) {
 Opts.InlineVisibilityHidden = 1;
+  }