<div dir="ltr">That looks like a bug in VC++ (even the latest version on <a href="http://webcompiler.cloudapp.net/" target="_blank">http://webcompiler.cloudapp.net/</a>), I think.<div><br></div><div><div><font face="monospace, monospace">template<typename T></font></div><div><font face="monospace, monospace">class Tmpl {</font></div><div><font face="monospace, monospace">protected:</font></div><div><font face="monospace, monospace">  T foo() { return 0; }</font></div><div><font face="monospace, monospace">};</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">class Test : private Tmpl<int> {</font></div><div><font face="monospace, monospace">public:</font></div><div><font face="monospace, monospace">// The next line reports: error C2876: 'Tmpl<int>': not all overloads are accessible</font></div><div><font face="monospace, monospace"> using Tmpl::foo;</font></div><div><font face="monospace, monospace">// But, it WORKS if you instead do this, which I think should be equivalent:</font></div><div><font face="monospace, monospace">// using Tmpl<int>::foo;</font></div><div><font face="monospace, monospace">};</font></div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 6, 2015 at 4:31 AM, Yaron Keren <span dir="ltr"><<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="rtl"><div dir="ltr">Visual C++ 2013 update 5 did not like this either, fixed in r244199.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5"><div dir="ltr">2015-08-06 10:04 GMT+03:00 İsmail Dönmez <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span>:</div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">Hi,<br>
<span><br>
On Thu, Aug 6, 2015 at 1:57 AM, James Y Knight <<a href="mailto:jyknight@google.com" target="_blank">jyknight@google.com</a>> wrote:<br>
> Author: jyknight<br>
> Date: Wed Aug  5 17:57:34 2015<br>
> New Revision: 244164<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=244164&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=244164&view=rev</a><br>
> Log:<br>
> Add a TrailingObjects template class.<br>
><br>
> This is intended to help support the idiom of a class that has some<br>
> other objects (or multiple arrays of different types of objects)<br>
> appended on the end, which is used quite heavily in clang.<br>
><br>
> Differential Revision: <a href="http://reviews.llvm.org/D11272" rel="noreferrer" target="_blank">http://reviews.llvm.org/D11272</a><br>
><br>
> Added:<br>
>     llvm/trunk/include/llvm/Support/TrailingObjects.h<br>
>     llvm/trunk/unittests/Support/TrailingObjectsTest.cpp<br>
<br>
<br>
</span>Looks like VS2015 doesn't like this (on x64) :<br>
<br>
FAILED: C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.exe   /nologo /TP<br>
/DWIN32 /D_WINDOWS   -wd4146 -wd4180 -wd4244 -wd4258 -wd4267 -wd4291<br>
-wd4345 -wd4351 -wd4355 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503<br>
-wd4624 -wd4722 -wd4800 -wd4100 -wd4127 -wd4512 -w<br>
d4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703<br>
-wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd432<br>
4 -w14062 -we4238 /W4 /Zc:sizedDealloc- /MT /O2 /Ob2<br>
-Iunittests\Support -I..\unittests\Support -Iinclude -I..\include<br>
-I..\<br>
utils\unittest\googletest\include    -UNDEBUG /EHs-c- /GR-<br>
/showIncludes -DGTEST_HAS_RTTI=0 -D_CRT_NONSTDC_NO_DEPRECATE -D_C<br>
RT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE<br>
-D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0<br>
-D_SCL_SECURE_NO_DEPRECATE -<br>
D_SCL_SECURE_NO_WARNINGS -D__STDC_CONSTANT_MACROS<br>
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS<br>
/Founittests\Support\CMakeFil<br>
es\SupportTests.dir\TrailingObjectsTest.cpp.obj<br>
/Fdunittests\Support\CMakeFiles\SupportTests.dir\ /FS -c<br>
..\unittests\Suppor<br>
t\TrailingObjectsTest.cpp<br>
..\unittests\Support\TrailingObjectsTest.cpp(43): error C2876:<br>
'llvm::TrailingObjects<`anonymous-namespace'::Class1,short,ll<br>
vm::NoTrailingTypeArg>': not all overloads are accessible<br>
..\unittests\Support\TrailingObjectsTest.cpp(44): error C2876:<br>
'llvm::TrailingObjects<`anonymous-namespace'::Class1,short,ll<br>
vm::NoTrailingTypeArg>': not all overloads are accessible<br>
..\unittests\Support\TrailingObjectsTest.cpp(45): error C2876:<br>
'llvm::TrailingObjects<`anonymous-namespace'::Class1,short,ll<br>
vm::NoTrailingTypeArg>': not all overloads are accessible<br>
..\unittests\Support\TrailingObjectsTest.cpp(94): error C2876:<br>
'llvm::TrailingObjects<`anonymous-namespace'::Class2,double,s<br>
hort>': not all overloads are accessible<br>
..\unittests\Support\TrailingObjectsTest.cpp(95): error C2876:<br>
'llvm::TrailingObjects<`anonymous-namespace'::Class2,double,s<br>
hort>': not all overloads are accessible<br>
..\unittests\Support\TrailingObjectsTest.cpp(96): error C2876:<br>
'llvm::TrailingObjects<`anonymous-namespace'::Class2,double,s<br>
hort>': not all overloads are accessible<br>
..\unittests\Support\TrailingObjectsTest.cpp(103): error C2248:<br>
'llvm::TrailingObjects<`anonymous-namespace'::Class1,short,llvm::NoTrailingTypeArg>::additionalSizeToAlloc':<br>
cannot access protected member declared in class<br>
'llvm::TrailingObjects<`anonymous-namespace'::Class1,short,llvm::NoTrailingTypeArg>'<br>
..\include\llvm/Support/TrailingObjects.h(219): note: see declaration<br>
of 'llvm::TrailingObjects<`anonymous-namespace'::Class<br>
1,short,llvm::NoTrailingTypeArg>::additionalSizeToAlloc> Modified:<br>
[...]<br>
</div></div><span class=""><div><div>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</div></div></span></blockquote></div><br></div>
</blockquote></div><br></div>