<div dir="ltr">r212557, thanks!</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jul 8, 2014 at 11:29 AM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.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="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On Tue, Jul 8, 2014 at 11:08 AM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Two zombie review comments below.</div><div class="gmail_quote">

<br></div><div class="gmail_quote"><div>On Tue, Jan 28, 2014 at 3:01 PM, Hans Wennborg <span dir="ltr"><<a href="mailto:hans@hanshq.net" target="_blank">hans@hanshq.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Author: hans<br>
Date: Tue Jan 28 17:01:59 2014<br>
New Revision: 200344<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=200344&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=200344&view=rev</a><br>
Log:<br>
Intrin.h: include setjmp.h to get a jmp_buf definition<br>
<br>
This makes sure that the ms-intrin.cpp test passes by providing<br>
a mock setjmp.h as a test input.<br>
<br>
Added:<br>
    cfe/trunk/test/Headers/Inputs/include/setjmp.h<br>
Modified:<br>
    cfe/trunk/lib/Headers/Intrin.h<br>
    cfe/trunk/test/Headers/ms-intrin.cpp<br>
<br>
Modified: cfe/trunk/lib/Headers/Intrin.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/Intrin.h?rev=200344&r1=200343&r2=200344&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/Intrin.h?rev=200344&r1=200343&r2=200344&view=diff</a><br>



==============================================================================<br>
--- cfe/trunk/lib/Headers/Intrin.h (original)<br>
+++ cfe/trunk/lib/Headers/Intrin.h Tue Jan 28 17:01:59 2014<br>
@@ -32,6 +32,9 @@<br>
 /* First include the standard intrinsics. */<br>
 #include <x86intrin.h><br>
<br>
+/* For the definition of jmp_buf. */<br>
+#include <setjmp.h><br></blockquote><div><br></div></div><div>Should this (and the functions below) be behind a #if __STDC_HOSTED__, like the stdlib.h include in xmmintrin.h? (My use case is that I sometimes use clang-cl with -Xclang -ffreestanding on a non-Windows machine, and that doesn't work because of this include. It's arguably a somewhat strange use case, given that -ffreestanding is a cc1 flag.)</div>

</div></div></div></blockquote><div><br></div></div></div><div>Yeah, let's do that.  clang -cc1 -ffreestanding should be able to include <intrin.h> without pulling in crt headers.</div><div class=""><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


+<br>
 #ifdef __cplusplus<br>
 extern "C" {<br>
 #endif<br>
@@ -279,10 +282,7 @@ unsigned __int64 __cdecl _rotr64(unsigne<br>
 static __inline__<br>
 unsigned char _rotr8(unsigned char _Value, unsigned char _Shift);<br>
 int _sarx_i32(int, unsigned int);<br>
-<br>
-/* FIXME: Need definition for jmp_buf.<br>
-   int __cdecl _setjmp(jmp_buf); */<br></blockquote><div><br></div></div><div>There's another FIXME like this in the 64bit section below; should that go away too?</div></div></div></div></blockquote><div><br></div></div>
<div>
Sure.</div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><span style="color:rgb(80,0,80)"> </span></div>

<div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

-<br>
+int __cdecl _setjmp(jmp_buf);<br>
 unsigned int _shlx_u32(unsigned int, unsigned int);<br>
 unsigned int _shrx_u32(unsigned int, unsigned int);<br>
 void _Store_HLERelease(long volatile *, long);<br>
<br>
Added: cfe/trunk/test/Headers/Inputs/include/setjmp.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/Inputs/include/setjmp.h?rev=200344&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/Inputs/include/setjmp.h?rev=200344&view=auto</a><br>



==============================================================================<br>
--- cfe/trunk/test/Headers/Inputs/include/setjmp.h (added)<br>
+++ cfe/trunk/test/Headers/Inputs/include/setjmp.h Tue Jan 28 17:01:59 2014<br>
@@ -0,0 +1,8 @@<br>
+#ifndef SETJMP_H<br>
+#define SETJMP_H<br>
+<br>
+typedef struct {<br>
+  int x[42];<br>
+} jmp_buf;<br>
+<br>
+#endif<br>
<br>
Modified: cfe/trunk/test/Headers/ms-intrin.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/ms-intrin.cpp?rev=200344&r1=200343&r2=200344&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/ms-intrin.cpp?rev=200344&r1=200343&r2=200344&view=diff</a><br>



==============================================================================<br>
--- cfe/trunk/test/Headers/ms-intrin.cpp (original)<br>
+++ cfe/trunk/test/Headers/ms-intrin.cpp Tue Jan 28 17:01:59 2014<br>
@@ -1,6 +1,7 @@<br>
 // RUN: %clang_cc1 -triple i386-pc-win32 -target-cpu pentium4 \<br>
 // RUN:     -fms-extensions -fms-compatibility -fmsc-version=1700 \<br>
-// RUN:     -ffreestanding -fsyntax-only -Werror %s<br>
+// RUN:     -ffreestanding -fsyntax-only -Werror \<br>
+// RUN:     -isystem %S/Inputs/include %s<br>
<br>
 // Intrin.h needs size_t, but -ffreestanding prevents us from getting it from<br>
 // stddef.h.  Work around it with this typedef.<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div></div></div><br></div></div>
<br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div></div></div><br></div></div>
</blockquote></div><br></div>