<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 3/4/2016 6:23 AM, Joerg Sonnenberger via cfe-commits wrote:<br>
    <blockquote cite="mid:20160304122353.GA12546@britannica.bec.de"
      type="cite">
      <pre wrap="">On Thu, Mar 03, 2016 at 04:50:11PM -0800, Nico Weber via cfe-commits wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On Thu, Mar 3, 2016 at 4:28 PM, Joerg Sonnenberger via cfe-commits <
<a class="moz-txt-link-abbreviated" href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:

</pre>
        <blockquote type="cite">
          <pre wrap="">On Thu, Mar 03, 2016 at 02:09:17PM -0800, Nico Weber via cfe-commits wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">On Thu, Mar 3, 2016 at 1:50 PM, Joerg Sonnenberger via cfe-commits <
<a class="moz-txt-link-abbreviated" href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:

</pre>
            <blockquote type="cite">
              <pre wrap="">On Thu, Mar 03, 2016 at 07:39:04PM +0000, Weiming Zhao via cfe-commits
wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="">Change the option name to -ffile-macro-prefix-to-remove
</pre>
              </blockquote>
              <pre wrap="">
This still sounds to me like a solution for a very restricted part of a
much more generic problem...

</pre>
            </blockquote>
            <pre wrap="">
What do you mean?
</pre>
          </blockquote>
          <pre wrap="">
Storing only the base name of file names is a strict subset of __FILE__
transformations. As mentioned in the linked GCC PR, other uses are
creating build location independent output for larger software projects
etc. For that, reducing to the base name is not an option as it removes
too much information.

</pre>
        </blockquote>
        <pre wrap="">
But ffile-macro-prefix-to-remove has a general prefix arg, which you can
set to your build dir. This isn't just a "get me the basename" flag (?)
</pre>
      </blockquote>
      <pre wrap="">
It doesn't help to make sure that path names are always using /usr/src
or src/ and build/ without requiring those to be part of the build
layout. Another instance not handled is symlink trees for controlling
access, where you still want to use the original path etc.

</pre>
    </blockquote>
    This isn't changing the defaults.  In addition, you could have a mix
    of files in the same binary, some with ffile-macro-prefix-to-remove
    set, and some without.  In cases where the user wants to be explicit
    about full name vs. base name in the source, this patch also
    provides __CLANG_FILE_BASENAME__.<br>
    <br>
    There doesn't seem to be one approach to improve all of the existing
    use cases.  This patch provides two independent tools that can be
    used to improve many of the use cases.<br>
    <span style="color: rgb(0, 0, 0); font-family: Menlo, Consolas, Monaco, monospace; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 16px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(170, 255, 170);"></span>
    <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>