<div dir="ltr">>  <span style="font-size:12.8px">Eric, Marshall, what do you think about using only /*...*/-style comments in these headers, to handle the case where libc++ is somehow in the include path for a C89 compilation?</span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I'm NOT OK with this in general. These are C++ standard library headers that are written in C++. These headers should *tolerate* being compiled as C *system-headers*, but thats it. </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">If your passing "-std=c89 -pedantic" then your asking the compiler to diagnose incompatibilities in *non-system-header* code. The assumption is that code that compiles cleanly should  </span><span style="font-size:12.8px">be portable to systems/compilers that only provide C89 compilation. </span><span style="font-size:12.8px">However libc++'s C headers can never compile as pedantic C89 because they use "include_next". </span><span style="font-size:12.8px">The reason you haven't seen a -Wgnu-include-next diagnostic is because libc++ headers manually turn on #pragma system_header near the top of the file. Unfortunately since the license header comments appear before the pragma they emit the "-Wcomment" diagnostics. </span></div><div><br></div><div>Installed libc++ headers are only included during C++ compilation so C conformance is only an issue for projects that manually include a custom libc++.These projects can include these headers as either "user-headers" or "system-headers" by using "-I <path>" or "-isystem <path>" respectively (ignoring -cxx-isystem for now). "user-headers" should compile with the warning flags provided by the project, "system-headers" should not. Including libc++ as "user-code" while compiling pedantic C89 that's a bug because your project cannot actually compile with a C89 compiler.  Emitting warnings/errors in this case seems correct and desired behavior. If the choice to treat lib++ as "user-code" was not a conscious one then it's even more important to diagnose it.</div><div><br></div><div>If I had my way we would turn off "#pragma system_header" all together during C compilation and force the user to use -isystem.<br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">/Eric</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span><div><div class="" style="font-size:12.8px"><div id=":n1" class="" tabindex="0"><img class="" src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 26, 2016 at 12:14 PM, Hans Wennborg via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Eric, Marshall: has there been any progress here?<br>
<div class="HOEnZb"><div class="h5"><br>
On Wed, Jan 20, 2016 at 10:29 AM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br>
> /sub<br>
><br>
> On Wed, Jan 20, 2016 at 4:45 AM, Nico Weber via cfe-commits<br>
> <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br>
>> Eric, Marshall: another ping. This should be fixed on the 3.8 branch, so it<br>
>> needs to be resolved soon.<br>
>><br>
>> On Jan 5, 2016 5:25 PM, "Nico Weber" <<a href="mailto:thakis@chromium.org">thakis@chromium.org</a>> wrote:<br>
>>><br>
>>> On Wed, Dec 30, 2015 at 8:28 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>><br>
>>> wrote:<br>
>>>><br>
>>>> On Wed, Dec 30, 2015 at 1:17 PM, Nico Weber <<a href="mailto:thakis@chromium.org">thakis@chromium.org</a>> wrote:<br>
>>>>><br>
>>>>> One problem with this patch: stdio.h can be used in .c files, and when<br>
>>>>> building .c files with -gnu99 -pedantic,<br>
>>>><br>
>>>><br>
>>>> Do you mean -std=gnu89?<br>
>>>><br>
>>>>><br>
>>>>> clang will complain about // comments. Not only does this stdio.h have<br>
>>>>> // comments, it also pulls in some libc++ headers (__config) that have //<br>
>>>>> comments as well. I suppose all the comments in header files pulled in by C<br>
>>>>> headers need to become /* */ comments?<br>
>>>><br>
>>>><br>
>>>> I suppose so too. Your configuration is probably somewhat broken if<br>
>>>> libc++'s headers are in your include path while building C code, but it<br>
>>>> doesn't seem unreasonable to properly support that mode, and my changes were<br>
>>>> already trying to do so.<br>
>>>><br>
>>>> Eric, Marshall, what do you think about using only /*...*/-style comments<br>
>>>> in these headers, to handle the case where libc++ is somehow in the include<br>
>>>> path for a C89 compilation?<br>
>>><br>
>>><br>
>>> Eric, Marshall: Ping ^<br>
>>><br>
>>>><br>
>>>><br>
>>>>><br>
>>>>> On Tue, Oct 13, 2015 at 7:34 PM, Richard Smith via cfe-commits<br>
>>>>> <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br>
>>>>>><br>
>>>>>> On Tue, Oct 13, 2015 at 3:26 PM, Eric Fiselier <<a href="mailto:eric@efcs.ca">eric@efcs.ca</a>> wrote:<br>
>>>>>>><br>
>>>>>>> This change LGTM. Let's hold off on the using "_Static_assert" until<br>
>>>>>>> we understand how that would work with "-pedantic" when the macro is<br>
>>>>>>> expanded in user code.<br>
>>>>>><br>
>>>>>><br>
>>>>>> Committed as r250247, thanks.<br>
>>>>>><br>
>>>>>>><br>
>>>>>>> /Eric<br>
>>>>>>><br>
>>>>>>> On Tue, Oct 13, 2015 at 4:19 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>><br>
>>>>>>> wrote:<br>
>>>>>>>><br>
>>>>>>>> On Tue, Oct 13, 2015 at 2:12 PM, Eric Fiselier via cfe-commits<br>
>>>>>>>> <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br>
>>>>>>>>><br>
>>>>>>>>> I would rather not do this if possible but I understand why we need<br>
>>>>>>>>> to do it.<br>
>>>>>>>>><br>
>>>>>>>>> Richard is there a cost associated with the 'extern "C++"'<br>
>>>>>>>>> construct? or by forcing the compiler to switch modes in general?<br>
>>>>>>>><br>
>>>>>>>><br>
>>>>>>>> Not a significant one compared to the cost of the code wrapped in the<br>
>>>>>>>> 'extern "C++"' here. (Also, this is wrapped in an #ifdef that only applies<br>
>>>>>>>> in C++98; we could further reduce the set of cases when this happens by<br>
>>>>>>>> using _Static_assert when available instead of this static_assert<br>
>>>>>>>> emulation.)<br>
>>>>>>>><br>
>>>>>>>>><br>
>>>>>>>>> On Mon, Oct 12, 2015 at 12:27 PM, Richard Smith<br>
>>>>>>>>> <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br>
>>>>>>>>>><br>
>>>>>>>>>> On Mon, Oct 12, 2015 at 9:41 AM, Steven Wu via cfe-commits<br>
>>>>>>>>>> <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br>
>>>>>>>>>>><br>
>>>>>>>>>>> Hi Richard<br>
>>>>>>>>>>><br>
>>>>>>>>>>> Your splitting seems causing problem when using extern "C". Here<br>
>>>>>>>>>>> is a test case:<br>
>>>>>>>>>>><br>
>>>>>>>>>>> $ cat test.cpp<br>
>>>>>>>>>>> #ifdef __cplusplus<br>
>>>>>>>>>>> extern "C" {<br>
>>>>>>>>>>> #endif<br>
>>>>>>>>>>> #include <stdio.h><br>
>>>>>>>>>>> #ifdef __cplusplus<br>
>>>>>>>>>>> }<br>
>>>>>>>>>>> #endif<br>
>>>>>>>>>>><br>
>>>>>>>>>>> Error:<br>
>>>>>>>>>>> clang -fsyntax-only test.cpp<br>
>>>>>>>>>>> In file included from test.cpp:4:<br>
>>>>>>>>>>> In file included from /usr/bin/../include/c++/v1/stdio.h:102:<br>
>>>>>>>>>>> /usr/bin/../include/c++/v1/__config:593:1: error:<br>
>>>>>>>>>>>       templates must have C++ linkage<br>
>>>>>>>>>>> template <bool> struct __static_assert_test;<br>
>>>>>>>>>>> ^~~~~~~~~~~~~~~<br>
>>>>>>>>>>> /usr/bin/../include/c++/v1/__config:594:20: error:<br>
>>>>>>>>>>>       explicit specialization of non-template struct<br>
>>>>>>>>>>> '__static_assert_test'<br>
>>>>>>>>>>> template <> struct __static_assert_test<true> {};<br>
>>>>>>>>>>>                    ^                   ~~~~~~<br>
>>>>>>>>>>> /usr/bin/../include/c++/v1/__config:595:1: error:<br>
>>>>>>>>>>>       templates must have C++ linkage<br>
>>>>>>>>>>> template <unsigned> struct __static_assert_check {};<br>
>>>>>>>>>>> ^~~~~~~~~~~~~~~~~~~<br>
>>>>>>>>>>> 3 errors generated.<br>
>>>>>>>>>>><br>
>>>>>>>>>>> Because the code is actually compiled in C++, the guard in the<br>
>>>>>>>>>>> header failed to exclude the templates. In the meantime, I don't know if<br>
>>>>>>>>>>> there are ways to detect the header is in extern "C".<br>
>>>>>>>>>><br>
>>>>>>>>>><br>
>>>>>>>>>> This was supposed to work, but apparently I only tested it when<br>
>>>>>>>>>> compiling as C++11; the static_assert emulation in C++98 mode needs some<br>
>>>>>>>>>> massaging to cope with this.<br>
>>>>>>>>>><br>
>>>>>>>>>> Eric, Marshall: Are you OK with the attached patch? The idea is to<br>
>>>>>>>>>> make <__config> be fine to include in extern "C" or extern "C++" modes (and<br>
>>>>>>>>>> likewise for the <foo.h> headers). This is something that comes up pretty<br>
>>>>>>>>>> often in practice (people wrap an include of a C header in 'extern "C"', and<br>
>>>>>>>>>> that C header includes a <foo.h> file that libc++ provides).<br>
>>>>>>>>>><br>
>>>>>>>>>>><br>
>>>>>>>>>>> Steven<br>
>>>>>>>>>>><br>
>>>>>>>>>>><br>
>>>>>>>>>>> > On Oct 8, 2015, at 6:29 PM, Richard Smith via cfe-commits<br>
>>>>>>>>>>> > <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > Author: rsmith<br>
>>>>>>>>>>> > Date: Thu Oct  8 20:29:09 2015<br>
>>>>>>>>>>> > New Revision: 249798<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=249798&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=249798&view=rev</a><br>
>>>>>>>>>>> > Log:<br>
>>>>>>>>>>> > Split <stdio.h> out of <cstdio>.<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > As with <stddef.h>, skip our custom header if __need_FILE or<br>
>>>>>>>>>>> > __need___FILE is defined.<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > Added:<br>
>>>>>>>>>>> >    libcxx/trunk/include/stdio.h<br>
>>>>>>>>>>> >      - copied, changed from r249736, libcxx/trunk/include/cstdio<br>
>>>>>>>>>>> > Modified:<br>
>>>>>>>>>>> >    libcxx/trunk/include/cstdio<br>
>>>>>>>>>>> >    libcxx/trunk/test/std/depr/depr.c.headers/stdio_h.pass.cpp<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > Modified: libcxx/trunk/include/cstdio<br>
>>>>>>>>>>> > URL:<br>
>>>>>>>>>>> > <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstdio?rev=249798&r1=249797&r2=249798&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstdio?rev=249798&r1=249797&r2=249798&view=diff</a><br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > ==============================================================================<br>
>>>>>>>>>>> > --- libcxx/trunk/include/cstdio (original)<br>
>>>>>>>>>>> > +++ libcxx/trunk/include/cstdio Thu Oct  8 20:29:09 2015<br>
>>>>>>>>>>> > @@ -103,16 +103,6 @@ void perror(const char* s);<br>
>>>>>>>>>>> > #pragma GCC system_header<br>
>>>>>>>>>>> > #endif<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > -// snprintf<br>
>>>>>>>>>>> > -#if defined(_LIBCPP_MSVCRT)<br>
>>>>>>>>>>> > -#include "support/win32/support.h"<br>
>>>>>>>>>>> > -#endif<br>
>>>>>>>>>>> > -<br>
>>>>>>>>>>> > -#undef getc<br>
>>>>>>>>>>> > -#undef putc<br>
>>>>>>>>>>> > -#undef clearerr<br>
>>>>>>>>>>> > -#undef feof<br>
>>>>>>>>>>> > -#undef ferror<br>
>>>>>>>>>>> > _LIBCPP_BEGIN_NAMESPACE_STD<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > using ::FILE;<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > Copied: libcxx/trunk/include/stdio.h (from r249736,<br>
>>>>>>>>>>> > libcxx/trunk/include/cstdio)<br>
>>>>>>>>>>> > URL:<br>
>>>>>>>>>>> > <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/stdio.h?p2=libcxx/trunk/include/stdio.h&p1=libcxx/trunk/include/cstdio&r1=249736&r2=249798&rev=249798&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/stdio.h?p2=libcxx/trunk/include/stdio.h&p1=libcxx/trunk/include/cstdio&r1=249736&r2=249798&rev=249798&view=diff</a><br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > ==============================================================================<br>
>>>>>>>>>>> > --- libcxx/trunk/include/cstdio (original)<br>
>>>>>>>>>>> > +++ libcxx/trunk/include/stdio.h Thu Oct  8 20:29:09 2015<br>
>>>>>>>>>>> > @@ -1,5 +1,5 @@<br>
>>>>>>>>>>> > // -*- C++ -*-<br>
>>>>>>>>>>> > -//===---------------------------- cstdio<br>
>>>>>>>>>>> > ----------------------------------===//<br>
>>>>>>>>>>> > +//===---------------------------- stdio.h<br>
>>>>>>>>>>> > ---------------------------------===//<br>
>>>>>>>>>>> > //<br>
>>>>>>>>>>> > //                     The LLVM Compiler Infrastructure<br>
>>>>>>>>>>> > //<br>
>>>>>>>>>>> > @@ -8,11 +8,19 @@<br>
>>>>>>>>>>> > //<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > //===----------------------------------------------------------------------===//<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > -#ifndef _LIBCPP_CSTDIO<br>
>>>>>>>>>>> > -#define _LIBCPP_CSTDIO<br>
>>>>>>>>>>> > +#if defined(__need_FILE) || defined(__need___FILE)<br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)<br>
>>>>>>>>>>> > +#pragma GCC system_header<br>
>>>>>>>>>>> > +#endif<br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > +#include_next <stdio.h><br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > +#elif !defined(_LIBCPP_STDIO_H)<br>
>>>>>>>>>>> > +#define _LIBCPP_STDIO_H<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > /*<br>
>>>>>>>>>>> > -    cstdio synopsis<br>
>>>>>>>>>>> > +    stdio.h synopsis<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > Macros:<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > @@ -33,9 +41,6 @@ Macros:<br>
>>>>>>>>>>> >     stdin<br>
>>>>>>>>>>> >     stdout<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > -namespace std<br>
>>>>>>>>>>> > -{<br>
>>>>>>>>>>> > -<br>
>>>>>>>>>>> > Types:<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > FILE<br>
>>>>>>>>>>> > @@ -92,20 +97,23 @@ void clearerr(FILE* stream);<br>
>>>>>>>>>>> > int feof(FILE* stream);<br>
>>>>>>>>>>> > int ferror(FILE* stream);<br>
>>>>>>>>>>> > void perror(const char* s);<br>
>>>>>>>>>>> > -<br>
>>>>>>>>>>> > -}  // std<br>
>>>>>>>>>>> > */<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > #include <__config><br>
>>>>>>>>>>> > -#include <stdio.h><br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)<br>
>>>>>>>>>>> > #pragma GCC system_header<br>
>>>>>>>>>>> > #endif<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > +#include_next <stdio.h><br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > +#ifdef __cplusplus<br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > // snprintf<br>
>>>>>>>>>>> > #if defined(_LIBCPP_MSVCRT)<br>
>>>>>>>>>>> > +extern "C++" {<br>
>>>>>>>>>>> > #include "support/win32/support.h"<br>
>>>>>>>>>>> > +}<br>
>>>>>>>>>>> > #endif<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > #undef getc<br>
>>>>>>>>>>> > @@ -113,72 +121,7 @@ void perror(const char* s);<br>
>>>>>>>>>>> > #undef clearerr<br>
>>>>>>>>>>> > #undef feof<br>
>>>>>>>>>>> > #undef ferror<br>
>>>>>>>>>>> > -_LIBCPP_BEGIN_NAMESPACE_STD<br>
>>>>>>>>>>> > -<br>
>>>>>>>>>>> > -using ::FILE;<br>
>>>>>>>>>>> > -using ::fpos_t;<br>
>>>>>>>>>>> > -using ::size_t;<br>
>>>>>>>>>>> > -<br>
>>>>>>>>>>> > -using ::fclose;<br>
>>>>>>>>>>> > -using ::fflush;<br>
>>>>>>>>>>> > -using ::setbuf;<br>
>>>>>>>>>>> > -using ::setvbuf;<br>
>>>>>>>>>>> > -using ::fprintf;<br>
>>>>>>>>>>> > -using ::fscanf;<br>
>>>>>>>>>>> > -using ::snprintf;<br>
>>>>>>>>>>> > -using ::sprintf;<br>
>>>>>>>>>>> > -using ::sscanf;<br>
>>>>>>>>>>> > -#ifndef _LIBCPP_MSVCRT<br>
>>>>>>>>>>> > -using ::vfprintf;<br>
>>>>>>>>>>> > -using ::vfscanf;<br>
>>>>>>>>>>> > -using ::vsscanf;<br>
>>>>>>>>>>> > -#endif // _LIBCPP_MSVCRT<br>
>>>>>>>>>>> > -using ::vsnprintf;<br>
>>>>>>>>>>> > -using ::vsprintf;<br>
>>>>>>>>>>> > -using ::fgetc;<br>
>>>>>>>>>>> > -using ::fgets;<br>
>>>>>>>>>>> > -using ::fputc;<br>
>>>>>>>>>>> > -using ::fputs;<br>
>>>>>>>>>>> > -using ::getc;<br>
>>>>>>>>>>> > -using ::putc;<br>
>>>>>>>>>>> > -using ::ungetc;<br>
>>>>>>>>>>> > -using ::fread;<br>
>>>>>>>>>>> > -using ::fwrite;<br>
>>>>>>>>>>> > -using ::fgetpos;<br>
>>>>>>>>>>> > -using ::fseek;<br>
>>>>>>>>>>> > -using ::fsetpos;<br>
>>>>>>>>>>> > -using ::ftell;<br>
>>>>>>>>>>> > -using ::rewind;<br>
>>>>>>>>>>> > -using ::clearerr;<br>
>>>>>>>>>>> > -using ::feof;<br>
>>>>>>>>>>> > -using ::ferror;<br>
>>>>>>>>>>> > -using ::perror;<br>
>>>>>>>>>>> > -<br>
>>>>>>>>>>> > -#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE<br>
>>>>>>>>>>> > -using ::fopen;<br>
>>>>>>>>>>> > -using ::freopen;<br>
>>>>>>>>>>> > -using ::remove;<br>
>>>>>>>>>>> > -using ::rename;<br>
>>>>>>>>>>> > -using ::tmpfile;<br>
>>>>>>>>>>> > -using ::tmpnam;<br>
>>>>>>>>>>> > -#endif<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > -#ifndef _LIBCPP_HAS_NO_STDIN<br>
>>>>>>>>>>> > -using ::getchar;<br>
>>>>>>>>>>> > -#if _LIBCPP_STD_VER <= 11<br>
>>>>>>>>>>> > -using ::gets;<br>
>>>>>>>>>>> > #endif<br>
>>>>>>>>>>> > -using ::scanf;<br>
>>>>>>>>>>> > -using ::vscanf;<br>
>>>>>>>>>>> > -#endif<br>
>>>>>>>>>>> > -<br>
>>>>>>>>>>> > -#ifndef _LIBCPP_HAS_NO_STDOUT<br>
>>>>>>>>>>> > -using ::printf;<br>
>>>>>>>>>>> > -using ::putchar;<br>
>>>>>>>>>>> > -using ::puts;<br>
>>>>>>>>>>> > -using ::vprintf;<br>
>>>>>>>>>>> > -#endif<br>
>>>>>>>>>>> > -<br>
>>>>>>>>>>> > -_LIBCPP_END_NAMESPACE_STD<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > -#endif  // _LIBCPP_CSTDIO<br>
>>>>>>>>>>> > +#endif  // _LIBCPP_STDIO_H<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > Modified:<br>
>>>>>>>>>>> > libcxx/trunk/test/std/depr/depr.c.headers/stdio_h.pass.cpp<br>
>>>>>>>>>>> > URL:<br>
>>>>>>>>>>> > <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.c.headers/stdio_h.pass.cpp?rev=249798&r1=249797&r2=249798&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.c.headers/stdio_h.pass.cpp?rev=249798&r1=249797&r2=249798&view=diff</a><br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > ==============================================================================<br>
>>>>>>>>>>> > --- libcxx/trunk/test/std/depr/depr.c.headers/stdio_h.pass.cpp<br>
>>>>>>>>>>> > (original)<br>
>>>>>>>>>>> > +++ libcxx/trunk/test/std/depr/depr.c.headers/stdio_h.pass.cpp<br>
>>>>>>>>>>> > Thu Oct  8 20:29:09 2015<br>
>>>>>>>>>>> > @@ -13,6 +13,26 @@<br>
>>>>>>>>>>> > #include <type_traits><br>
>>>>>>>>>>> > #include "test_macros.h"<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > +#ifdef getc<br>
>>>>>>>>>>> > +#error getc is defined<br>
>>>>>>>>>>> > +#endif<br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > +#ifdef putc<br>
>>>>>>>>>>> > +#error putc is defined<br>
>>>>>>>>>>> > +#endif<br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > +#ifdef clearerr<br>
>>>>>>>>>>> > +#error clearerr is defined<br>
>>>>>>>>>>> > +#endif<br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > +#ifdef feof<br>
>>>>>>>>>>> > +#error feof is defined<br>
>>>>>>>>>>> > +#endif<br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > +#ifdef ferror<br>
>>>>>>>>>>> > +#error ferror is defined<br>
>>>>>>>>>>> > +#endif<br>
>>>>>>>>>>> > +<br>
>>>>>>>>>>> > #ifndef BUFSIZ<br>
>>>>>>>>>>> > #error BUFSIZ not defined<br>
>>>>>>>>>>> > #endif<br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> ><br>
>>>>>>>>>>> > _______________________________________________<br>
>>>>>>>>>>> > cfe-commits mailing list<br>
>>>>>>>>>>> > <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
>>>>>>>>>>> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
>>>>>>>>>>><br>
>>>>>>>>>>> _______________________________________________<br>
>>>>>>>>>>> cfe-commits mailing list<br>
>>>>>>>>>>> <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
>>>>>>>>>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
>>>>>>>>>><br>
>>>>>>>>>><br>
>>>>>>>>><br>
>>>>>>>>><br>
>>>>>>>>> _______________________________________________<br>
>>>>>>>>> cfe-commits mailing list<br>
>>>>>>>>> <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
>>>>>>>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
>>>>>>>>><br>
>>>>>>>><br>
>>>>>>><br>
>>>>>><br>
>>>>>><br>
>>>>>> _______________________________________________<br>
>>>>>> cfe-commits mailing list<br>
>>>>>> <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
>>>>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
>>>>>><br>
>>>>><br>
>>>><br>
>>><br>
>><br>
>> _______________________________________________<br>
>> cfe-commits mailing list<br>
>> <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
>><br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div>