<div dir="ltr"><div class="gmail_extra">Thanks!  I made the ExpectAndConsume changes.</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 21, 2014 at 8:09 AM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><span style="color:rgb(34,34,34)">> Index: test/SemaCXX/pragma-init_seg.</span><span style="color:rgb(34,34,34)">cpp</span><br>
</div></div>
> ===================================================================<br>
> --- /dev/null<br>
> +++ test/SemaCXX/pragma-init_seg.cpp<br>
> @@ -0,0 +1,15 @@<br>
> +// RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions %s -triple x86_64-pc-win32<br>
> +<br>
> +#pragma init_seg(L".my_seg") // expected-warning {{expected 'compiler', 'lib', 'user', or a string literal}}<br>
> +#pragma init_seg( // expected-warning {{expected 'compiler', 'lib', 'user', or a string literal}}<br>
> +#pragma init_seg asdf // expected-warning {{missing '('}}<br>
> +#pragma init_seg) // expected-warning {{missing '('}}<br>
> +#pragma init_seg("a" "b") // no warning<br>
> +#pragma init_seg("a", "b") // expected-warning {{missing ')'}}<br>
> +#pragma init_seg("a") asdf // expected-warning {{extra tokens at end of '#pragma init_seg'}}<br>
> +#pragma init_seg("\x") // expected-error {{\x used with no following hex digits}}<br>
> +#pragma init_seg("a" L"b") // expected-warning {{expected non-wide string literal in '#pragma init_seg'}}<br>
<br>
I think these should be in test/Preprocessor instead of test/SemaCXX.<br></blockquote><div><br></div><div>I don't think Preprocessor is right, since -E won't trigger this processing.  This is a parser test mushed into the same file as the SemaCXX test below.  I'm going to leave this as-is and submit.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> +<br>
> +int f();<br>
> +#pragma init_seg(compiler)<br>
> +int __declspec(thread) x = f(); // expected-error {{initializer for thread-local variable must be a constant expression}}<br>
><br>
<span class="HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span></blockquote></div><br></div></div>