<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>