aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2018-05-07 19:50:16 -0400
committerJason Merrill <jason@gcc.gnu.org>2018-05-07 19:50:16 -0400
commit6b83a3c6e3b408a00a0fb326828571770706ec24 (patch)
tree5abd16b134266c0d742ad5afcdeb2cfbfcc27a82 /gcc/testsuite/g++.dg
parentee336e846de46aa5523a96f712d247c31a07c6e1 (diff)
downloadgcc-6b83a3c6e3b408a00a0fb326828571770706ec24.zip
gcc-6b83a3c6e3b408a00a0fb326828571770706ec24.tar.gz
gcc-6b83a3c6e3b408a00a0fb326828571770706ec24.tar.bz2
PR c++/85646 - lambda visibility.
* decl2.c (determine_visibility): Don't mess with template arguments from the containing scope. (vague_linkage_p): Check DECL_ABSTRACT_P before looking at a 'tor thunk. From-SVN: r260017
Diffstat (limited to 'gcc/testsuite/g++.dg')
-rw-r--r--gcc/testsuite/g++.dg/ext/visibility/lambda1.C14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/visibility/lambda1.C b/gcc/testsuite/g++.dg/ext/visibility/lambda1.C
new file mode 100644
index 0000000..359f8e4
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/visibility/lambda1.C
@@ -0,0 +1,14 @@
+// PR c++/85646
+// { dg-do compile { target c++11 } }
+// { dg-additional-options -fvisibility=hidden }
+
+template<typename T>
+void foo() {
+ struct inner {
+ inner() {
+ (void)([this] { });
+ }
+ };
+}
+
+int main() { foo<int>(); }