-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Problem with multiple template function instantiations on linux & mac #871
Comments
Thanks for the bug report. We're able to repro it with just
It looks like a bug with the clang mode of our compiler (it doesn't repro if the intelliSenseMode is set to msvc-x64 on Linux, and starts to repro on Windows if clang-x64 mode is used). |
Hi, just to note I am experiencing this problem as well on Mac (High Sierra). |
Another team was assigned this bug way back in July but they still haven't gotten around to fixing it. I'll try to ping them to see if they can increase the priority since we've been getting more complaints. |
Good news. Looks like we plan to get a fix by March or April. |
Anyone know if there's a way to disable/suppress this clang error/warning (maybe on a per-line or per-file basis, or even globally...) while we wait for a proper fix? (Either way, thanks for addressing this problem!) |
@DABH You could try hiding the code from our IntelliSense compiler via surrounding the code by |
The fix is in https://github.com/Microsoft/vscode-cpptools/releases/tag/v0.16.0-insiders2 if you want to try it out. |
Excellent! Now I have to read up how to get Insider builds. |
@spinicist "Download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.". |
Looks like it is fixed. Thanks! |
I'm working on a codebase where I have a template member function of a class that is explicitly instantiated twice. Template definition is at https://searchfox.org/mozilla-central/rev/5e1e8d2f244bd8c210a578ff1f65c3b720efe34e/netwerk/protocol/http/Http2Session.cpp#676 with explicit instantiations a few lines down at https://searchfox.org/mozilla-central/rev/5e1e8d2f244bd8c210a578ff1f65c3b720efe34e/netwerk/protocol/http/Http2Session.cpp#707 and https://searchfox.org/mozilla-central/rev/5e1e8d2f244bd8c210a578ff1f65c3b720efe34e/netwerk/protocol/http/Http2Session.cpp#712
On both my mac and linux machines, I get the error
function mozilla::net::Http2Session::CreateFrameHeader(charType dest, uint16_t frameLength, uint8_t frameType, uint8_t frameFlags, uint32_t streamID) [with charType=char *]" explicitly instantiated more than once
twice (once for each instantiation, with the appropriatewith charType
bit for each line). This doesn't happen on my win10 machine using the same versions of everything. This is valid code that compiles on all 3 platforms without errors or warnings.The text was updated successfully, but these errors were encountered: