]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: Implement CWG2387 - Linkage of const-qualified variable template [PR109126]
authorJakub Jelinek <jakub@redhat.com>
Wed, 7 Aug 2024 17:08:07 +0000 (19:08 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 7 Aug 2024 17:08:07 +0000 (19:08 +0200)
commit82cd63a63eaa61a4ed5c4029a1869be7446ecb3c
treeea6bc7b14bcb893c669a7e7d704d1a5dfd22a29f
parent2c6174402ea315ecf618cfcba741e8cb18bc5282
c++: Implement CWG2387 - Linkage of const-qualified variable template [PR109126]

The following patch attempts to implement DR2387 by making variable
templates including their specialization TREE_PUBLIC when at file
scope and they don't have static storage class.

2024-08-07  Jakub Jelinek  <jakub@redhat.com>

PR c++/109126
* decl.cc (grokvardecl): Implement CWG 2387 - Linkage of
const-qualified variable template.  Set TREE_PUBLIC on variable
templates with const qualified types unless static is present.

* g++.dg/DRs/dr2387.C: New test.
* g++.dg/DRs/dr2387-aux.cc: New file.
gcc/cp/decl.cc
gcc/testsuite/g++.dg/DRs/dr2387-aux.cc [new file with mode: 0644]
gcc/testsuite/g++.dg/DRs/dr2387.C [new file with mode: 0644]