<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 09/29/2014 03:46 PM, Richard Smith
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAOfiQq=xae+bf0Fy+62ZV+U+WdTaUnnOvBKuE-LS7H4ayXdo9Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Sun, Sep 28, 2014 at 5:17 PM, Ed
            Smith-Rowland <span dir="ltr">&lt;<a moz-do-not-send="true"
                href="mailto:3dw4rd@verizon.net" target="_blank">3dw4rd@verizon.net</a>&gt;</span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <div>
                  <div class="h5">
                    <div>On 08/14/2014 07:37 PM, Nelson, Clark wrote:<br>
                    </div>
                  </div>
                </div>
                <blockquote type="cite">
                  <div>
                    <div class="h5">
                      <pre>I have made a few minor revisions since N4030.

The redlining in the document is relative to the published SD-6; I think
that's the way we'll want to publish it. But here is what I've changed
recently:

In response to Ed Smith-Rowland's question about &lt;optional&gt; vs.
&lt;experimental/optional&gt; I updated the __has_include example. Of course it's
just an example, but I think it's more helpful now than it was.

In response to Walter's question about the "policy" for the C++14 table, I
minimally tweaked the text. :-)

In response to Richard's question/complaint, I deleted "has" from the macro
names for new features added by LWG issues.

There are sentences in the rationale section about features removed from
C++14 to a TS; I have changed them from editorial notes to plain old text.
(I don't know what's going to happen with the array extension TS, but it is
still an official project with an official number; hopefully something will
come of it.)


This still needs work in three areas:

1. We need introductory text and rationale for __has_cpp_attribute.
(Richard?)

2. We need to approve what we want to do about the LWG issues that Alisdair
brought up.

3. We need to make final determinations about shared_mutex.

--
Clark Nelson            Vice chair, PL22.16 (ANSI C++ standard committee)
Intel Corporation       Chair, SG10 (C++ SG for feature-testing)
<a moz-do-not-send="true" href="mailto:clark.nelson@intel.com" target="_blank">clark.nelson@intel.com</a>  Chair, CPLEX (C SG for parallel language extensions)
</pre>
                      <br>
                      <fieldset></fieldset>
                      <br>
                    </div>
                  </div>
                  <span class="">
                    <pre>_______________________________________________
Features mailing list
<a moz-do-not-send="true" href="mailto:Features@isocpp.open-std.org" target="_blank">Features@isocpp.open-std.org</a>
<a moz-do-not-send="true" href="http://www.open-std.org/mailman/listinfo/features" target="_blank">http://www.open-std.org/mailman/listinfo/features</a>
</pre>
                  </span></blockquote>
                I apologize for sending this so late but I thought I had
                lost some notes regarding C++98 and C++11.<br>
                I collected some thoughts on "finishing" these areas if
                that is desired.<br>
                <br>
                Here are some macros to finish-out C++11:<br>
                <br>
                C++11<br>
                -----<br>
                N2439    __cpp_reference_qualifiers    200710    This
                has library usage<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>ref_qualifiers, to match the name of the grammar term?</div>
          </div>
        </div>
      </div>
    </blockquote>
    Works for me.<br>
    <blockquote
cite="mid:CAOfiQq=xae+bf0Fy+62ZV+U+WdTaUnnOvBKuE-LS7H4ayXdo9Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> N2756   
                __cpp_nsdmi    200809    Hate to spell this out :-(<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>NSDMI is GCC terminology; the standard calls these
              "brace-or-equal-initializers for non-static data members".
              My preferred terminology (with Project Editor hat on) is
              "default initializers". But...</div>
            <div><br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">    
                __cpp_aggregate_default_initializers        Or this,
                borrowed from CMake?<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>... we already have __cpp_aggregate_nsdmi, which is ...
              presumably ... what CMake means by this?</div>
            <div><br>
            </div>
            <div>If we had a time machine, I'd like
              __cpp_default_initializers == 200809L here and
              __cpp_default_initializers == 201304L for N3653. As things
              stand, the most consistent thing is probably
              '__cpp_nsdmi'.</div>
          </div>
        </div>
      </div>
    </blockquote>
    Ditto. I guess I was feeling wordy when I wrote this :-)<br>
    <blockquote
cite="mid:CAOfiQq=xae+bf0Fy+62ZV+U+WdTaUnnOvBKuE-LS7H4ayXdo9Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> N1986   
                __cpp_delegating_constructors    200604    Users can
                migrate from initializer functions<br>
                N2540    __cpp_inheriting_constructors    200802   
                Ditto<br>
                N2930    __cpp_range_based_for_loops    200907    <br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>Seems a bit wordy. __cpp_range_for ?</div>
          </div>
        </div>
      </div>
    </blockquote>
    Cool. <br>
    <blockquote
cite="mid:CAOfiQq=xae+bf0Fy+62ZV+U+WdTaUnnOvBKuE-LS7H4ayXdo9Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> N2672   
                __cpp_initializer_lists    200806    <br>
                <br>
                Some popular C++ compilers still don't support all
                these.<br>
                It doeas add a few more macros but it finishes C++11.<br>
                Other compilers may emerge that need to "work their way
                up" through these features.<br>
                I could go either way on this - I know some don't want
                to clutter up compilers with lots of macros.<br>
                <br>
                <br>
                C++98<br>
                -----<br>
                    __cpp_exceptions    199711L<br>
                    <br>
                    __cpp_run_time_type_id    199711L<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>I'd prefer __cpp_rtti</div>
            <br>
          </div>
        </div>
      </div>
    </blockquote>
    That's reasonable.  Everyone knows what rtti means.<br>
    <br>
  </body>
</html>