<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 9/5/2017 9:30 AM, Zbigniew
Sarbinowski via cfe-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:OF05FE8812.0CE4C5A8-ON00258192.005A6390-00258192.005AB5BF@notes.na.collabserv.com">
<div class="socmaildefaultfont" dir="ltr"
style="font-family:Courier New, Courier,
monospace;font-size:10.5pt">
<div dir="ltr">Does anybody know why the following lines</div>
<div dir="ltr"> </div>
<div dir="ltr">#pragma clang assume_nonnull begin</div>
<div dir="ltr">#pragma clang assume_nonnull end </div>
<div dir="ltr"> </div>
<div dir="ltr">are not preserved in preprocessed output?</div>
<div dir="ltr">Is this a bug or it was designed as such on
purpose?</div>
<div dir="ltr"> </div>
</div>
</blockquote>
<br>
Bug.<br>
<br>
There's a small set of pragmas which are handled by the preprocessor
itself, rather than the parser, for various reasons. See the
complete set at Preprocessor::RegisterBuiltinPragmas. Some of them
don't need special handling (e.g. "#pragma once" only applies during
preprocessing). For the ones that do need to be part of the output,
we need special cases to handle them in
lib/Frontend/PrintPreprocessedOutput.cpp.<br>
<br>
-Eli<br>
<pre class="moz-signature" cols="72">--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project</pre>
</body>
</html>