Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MS compatibility: explicit specializations can be declared in any namespace #14110

Closed
llvmbot opened this issue Aug 31, 2012 · 4 comments
Closed
Labels
bugzilla Issues migrated from bugzilla c++

Comments

@llvmbot
Copy link
Member

llvmbot commented Aug 31, 2012

Bugzilla Link 13738
Resolution FIXED
Resolved on Mar 20, 2015 03:48
Version 3.1
OS Windows NT
Blocks #14079
Reporter LLVM Bugzilla Contributor
CC @DougGregor

Extended Description

vs10 will compile the following without errors, even when language extensions are disabled.

namespace A {
    template <typename T>
    class X;
}

namespace B {
    template <>
    class A::X<int>;
}

clang correctly outputs

error: class template specialization of 'X' must originally be declared in namespace 'A'

The diagnostic should be suppressed when -fms-compatibility is in effect.

@llvmbot
Copy link
Member Author

llvmbot commented Aug 31, 2012

Patch (no tests): avakar/clang@777e004

@llvmbot
Copy link
Member Author

llvmbot commented Aug 31, 2012

Patch (no tests):
avakar/clang@777e004

sorry, wrong bug

@llvmbot
Copy link
Member Author

llvmbot commented Mar 7, 2015

patch for pr13738

@llvmbot
Copy link
Member Author

llvmbot commented Mar 20, 2015

Fixed in r232800.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 3, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla c++
Projects
None yet
Development

No branches or pull requests

1 participant