Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull a bunch of changes from master onto the C++20 branch #4220

Merged
merged 50 commits into from Sep 22, 2020

Conversation

zygoloid
Copy link
Member

This pull request contains all the changes on master but not on c++20 that I think we might want to take for the IS. This aims to exclude changes that:

  • that got too close to looking like a normative change (excluding misapplied motions), or
  • that are trivial or unimportant or a wording cleanup (excluding changes that only affect the index or formatting fixes), or
  • that doesn't affect the produced document.

sdkrystian and others added 30 commits September 21, 2020 23:14
…ith [move.iter.nonmember]

P0896R4 changed the declaration in [move.iter.nonmember], but failed to update the header synopsis.
The typo was introduced in commit bbb4626
while applying P0883R2 Fixing Atomic Initialization.
Many nouns appear in this sentence before "it", _none_ of which is the proper antecedent.
@zygoloid zygoloid added this to the C++20 milestone Sep 22, 2020
Copy link
Member

@jensmaurer jensmaurer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good, and appropriate for the C++20 target.

Please change this commit:
Index func (#4124)

to actually mention a [section.label] in its title. I forgot to fix that in the original commit to "master"; sorry about that.

@zygoloid
Copy link
Member Author

Please change this commit:
Index __func__ (#4124)

to actually mention a [section.label] in its title.

Done.

@zygoloid zygoloid merged commit 436072e into cplusplus:c++20 Sep 22, 2020
@tkoeppe
Copy link
Contributor

tkoeppe commented Sep 22, 2020

Why should we not merge changes that don't affect the presentation? If anything I thought those would be the easiest to merge, since those would reduce the diff, and also include things like that fix for the listings version.

@tkoeppe
Copy link
Contributor

tkoeppe commented Sep 22, 2020

Here are the differences beween master and c++20:

Explanation:

  • Newest commit first, oldest last.
  • Oldest commit is one before the fork point.
  • - means "in master, not in c++20"
  • + means "in c++20, not in master"
--- on-master.txt	2020-09-22 22:08:33.591016128 +0100
+++ on-c++20.txt	2020-09-22 22:32:18.267550633 +0100
@@ -1,3 +1,6 @@
+[xrefdelta] Fix unresolved reference.
+Fix minor deviations between Foreword and ISO/CS standard text. Simplify list of main changes and remove some more minor items.
+Add Foreword.
 [std] Remove 'should' and 'may' from footnotes.
 [check] Flag 'shall', 'may', or 'should' inside notes.
 [std] Rephrase notes giving advice to the programmer.
@@ -9,7 +12,6 @@
 [vector.cons] Fix subclause heading.
 [cpp.predefined] Shuffle items to avoid an unfortunate page break.
 [fs.norm.ref] Dissolve subclause.
-[xref] Fix C++20-based reference of cross-references again. (#4207)
 [concepts.equality] Replace spurious 'this document' with 'the library Clauses'.
 [cmp.categories.pre] Merge enumerators from eq into ord
 [cmp.categories.pre] Remove unused enumerators
@@ -39,13 +41,11 @@
 [over.ics.user] Small grammatical nit-picks
 [basic.def.odr] Change "is required" to "shall"
 [module.import] Clarify that only header imports make macros visible.
-[thread.mutex.requirements] Harmonize wording for try_lock.
 [module.reach] Clarify that only TUs with an interface dependency may be incidentally reachable
 [class.derived] Clean up cross-references.
 [expr.const] Add cross-reference for 'constant initialization'.
 [expr.const] Disambiguate 'it' by introducing the name V.
 [std] Fix dangling \grammarterms.
-[xref] Fix C++20-based reference of cross-references.
 [predef.iterators] Singularize heading of singular sentinels.
 [dcl.fct.def.coroutine] Add missing 'noexcept' for final_suspend.
 [everywhere] Stop talking about C++ International Standards.
@@ -56,13 +56,11 @@
 [xrefs] Don't claim this appendix is an annex.
 [depr] Don't claim this Annex is a Clause.
 [time.format] Date reference to ISO 8601 to match the normative reference.
-[xrefdelta] Remove delta for change that's been incorporated into C++20.
 [intro.defs] Remove cross-references from the Terms and Definitions
 [intro.compliance.general] Properly reference normative clauses
 [intro.refs,time.format] Fix normative references.
 [ranges.syn] Update iota_view constraints
 [intro.defs] Refer to undated ISO/IEC 2382 for the terminology.
-[xrefdelta] Remove entries that were also removed for C++20.
 [intro.refs] Update from ISO/IEC 10646-1:1993 to ISO/IEC 10646:2003.
 [intro.refs] Fix clause reference to ISO/IEC 9899.
 [defns.projection] Fix context to 'library'.
@@ -88,107 +86,62 @@
 [except.uncaught] Remove parentheses when not invoking a function
 [meta.type.synop] Fix bad indentation. (#4164)
 [macros] Fix PDF links to clauses and annexes
-[range.elements.iterator] Add missing 'friend' for operator-. (#4158)
-[std] Remove superfluous final \rowsep or \hline in tables. (#4157)
 [class.virtual] Add \keyword markup for 'final' and 'override' (#4139)
-[diff.mods.to.declarations] Also mention 'byte' and 'to_integer'. (#4145)
-[numeric.ops.gcd,numeric.ops.lcm] Say "other than cv bool" (#4147)
-[expr.post] Fix scope of \opt markup (#4142)
-[span.iterators] Specify iterator value_type and reference (#4062)
 [re, over.match.viable] Remove bad space before full stop. (#4138)
-[lib] Harmonize presentation of "The expression in...is equivalent to" (#4108)
 [fs.class.path, fs.path.nonmember] Fix inline whitespace (#4092)
 [lib] Fix uses of "clause" (#4104)
 [std] Fix dangling index redirects. (#4110)
 [ranges.syn] Remove bogus ; after requires-clause (#4128)
 [range.drop.view] Fix italics for exposition-only members. (#4135)
-[tab:atomic.types.pointer.comp] Fix column captions. (#4137)
 [span.syn] Add index entry for dynamic_extent. (#4136)
 [coroutine.noop.coroutine] Use code font for noop_coroutine index entry. (#4133)
-[format.syn] Avoid forward references (#4129)
 [ranges.syn] Fix declaration of transform_view (#4132)
 [range.utility.helpers] Move template-argument-list out of \libconcept. (#4127)
 [string.syn] Index basic_string typedefs. (#4125)
-Index __func__ (#4124)
+[dcl.fct.def.general] Index __func__ (#4124)
 [fs.race.behavior] Fix cross-reference to self (#4122)
 [depr.conversions.string] Use proper "Returns:" markup. (#4120)
 [std] Move \rSec to before \indextext (#4116)
 [thread.condvarany.intwait] Remove reference to nonexistent variable "cv". (#4115)
-Revert "[expr.cond] drop redundant phrasing (#1374)"
-[expr.cond] drop redundant phrasing (#1374)
-[memory.syn,specialized.algorithms] Append "-for" to exposition-only concept "no-throw-sentinel" (#4100)
 [ranges.syn] Properly capitalize "this Clause" (#4103)
 [std] Add missing \pnums.
-[check.sh] Escape backslash in awk program to silence warning (#4099)
 [mask.array.comp.assign] Clarify "mask object" (#4096)
 [mask.array.assign] Replace "it" with its antecedent (#4095)
-[lex.ccon] Remove redundant nested \tcode. (#4094)
-[lex.ext] Simplify use of \placeholder. (#4091)
 [list.ops] Add missing full stop at end of sentence.
 [iterator.requirements.general] Add missing comma.
-[lib] Canonicalize order of library descriptive elements. (#4067)
 [istream.syn,ostream.syn] update synopses according to LWG1203 (#4084)
-[expr.reinterpret.cast] Fix note on round-tripping pointer values. (#4080)
 [fs.class.path] Ensure interword spacing inside sentence. (#4083)
 [alg.copy] Typeset variable consistently in math font. (#4079)
 [tab:cpp17.moveassignable] Remove superfluous space. (#4076)
 [re.grammar] Avoid monospace font for ordinary text. (#4074)
-[stmt.pre, re.grammar, gram] Use a separate bnf environment for each nonterminal. (#4070)
-[alg.is.permutation] Rephrase to simplify (#4071)
 [allocator.members] Remove stray whitespace. (#4073)
 [expr.new] Use repeated \indextext for index redirects with multiple targets. (#4065)
 [special] Remove index entry for 'X(X&)'. (#4064)
 [container.requirements] Improve index entries for contiguous and reversible containers. (#4051)
-[basic.fundamental] Use canonical types in [tab:basic.fundamental.width] (#4057)
 [expr.const] Remove duplicate cross-reference (#4055)
-[structure.specifications] Integrate [res.on.expects]. (#4042)
+[structure.specifications] Integrate [res.on.expects].
 [container.requirements.general] Remove parentheses for 'equal()' outside of a function call expression. (#4043)
-[string.view.template] Wrap synopsis in its namespace (#4038)
 [stopcallback] Fix indentation (#4040)
 [refwrap] Add blank line between class definition and deduction guide (#4036)
 [iterator.synopsis] Fix indexing targets for singular sentinels. (#4030)
 [iterator.concept.winc] Format 'I' in code font (#4027)
 [ranges.general] Capitalize the word 'clause' (#4029)
 [unique.ptr.runtime.asgn] Fix missing space (#4023)
-[algorithms.general] Add [algorithms.results] to summary table (#4020)
 [iterator.concept.forward] Undo spurious list item capitalization. (#4017)
 [vector.capacity] Remove duplicate \pnum (#3983)
 [thread.syn] Do not mandate including <initializer_list> when including <thread> (#3991)
 [range.single.view] Add missing requires-clause to \itemdecl (#4009)
-[class.temporary] Omit hyphen from "trivially copyable" (#4002)
 [atomics.types.operations] Fix typo in exposition-only code (#4001)
-[common.iter.cust] Pluralize subclause heading (#3995)
-[range.refinements] Use 'customization point object' for ranges::data (#3993)
-[iterator.cust] Use 'customization point object' in heading (#3994)
-[concept.swappable] Use 'customization point object' for ranges::swap (#3992)
-[class.mem] Add cross-reference for data member order (#3990)
 [range.elements.iterator] Fix typo in declaration of  operator<= (#3981)
 Allow 'listings' package v1.8d (#3979)
-[meta.trans.other] "C++ object type" is overly precise (#3969)
-[over.ics.ref] Remove erroneous capitalization (#3972)
 [namespace.qual] Add missing \tcode formatting to X (#3975)
-[format.syn] Add missing reference to [format.context] in header synopsis (#3954)
-[iterator.concepts.general] Remove synthesizeable operator!= in example. (#3950)
 [depr.atomics] Fix <atomic> header name. (#3948)
-[string.conversions] Replace comparisons of a pointer against 0 with comparision against nullptr, for consistency with other parts of the library
-[basic.type.qualifier] Incomplete and complete object types are just object types
 [depr.strstream] Fix typography for NTBS in index. (#3942)
-[alg.clamp] Add missing calls to invoke (#3902)
-[iterator.synopsis,reverse.iter.nonmember] Simplify declaration of reverse_iterator's non-member operator+
-[iterator.synopsis,move.iter.nonmember] Harmoize formatting of operator-(move_iterator, move_iterator)
 [iterator.synopsis] move_iterator non-member operator+ should agree with [move.iter.nonmember]
-[expr.const] Change "dynamic cast" to "dynamic_cast" and move throw-expression to its own item (#3919)
 [class.temporary, expr, dcl.ref] Fix incorrect cross-references for decltype (#3918)
 [dcl.fct.def] Fix incorrect cross-reference referring to "this" (#3925)
-[temp.class.spec] Remove unused hyphenation point (#3928)
 [dcl.fct] Fix incorrectly pluralized grammar terms (#3926)
 [over.match.class.deduct] Fix self-referential cross-references
-[except.handle] Simplify void pointer cv-qualification
 [basic.link] Add word missing from P1815R2
-Update configuration for building working drafts after N4861.
-Update configuration for building new working draft N4861.
-Add Editors' Report N4859
-Add a placeholder for [diff.cpp20].
-Replace cross-references from C++17 with cross-references from C++20.
 Update 'Cross-references from C++17' to exactly match the section label differences between C++17 and the C++20 DIS.
 [time.zone.db.tzdb] Say where we look for time_zones, and avoid readability problem with 'If a time_zone tz is found' phrasing.

@tkoeppe
Copy link
Contributor

tkoeppe commented Sep 23, 2020

Unused commits from master so far:

-[thread.mutex.requirements] Harmonize wording for try_lock.
-[xrefdelta] Remove delta for change that's been incorporated into C++20.
-[xrefdelta] Remove entries that were also removed for C++20.
-[range.elements.iterator] Add missing 'friend' for operator-. (#4158)
-[std] Remove superfluous final \rowsep or \hline in tables. (#4157)
-[diff.mods.to.declarations] Also mention 'byte' and 'to_integer'. (#4145)
-[numeric.ops.gcd,numeric.ops.lcm] Say "other than cv bool" (#4147)
-[expr.post] Fix scope of \opt markup (#4142)
-[span.iterators] Specify iterator value_type and reference (#4062)
-[lib] Harmonize presentation of "The expression in...is equivalent to" (#4108)
-[tab:atomic.types.pointer.comp] Fix column captions. (#4137)
-[format.syn] Avoid forward references (#4129)
-Revert "[expr.cond] drop redundant phrasing (#1374)"
-[expr.cond] drop redundant phrasing (#1374)
-[memory.syn,specialized.algorithms] Append "-for" to exposition-only concept "no-throw-sentinel" (#4100)
-[check.sh] Escape backslash in awk program to silence warning (#4099)
-[lex.ccon] Remove redundant nested \tcode. (#4094)
-[lex.ext] Simplify use of \placeholder. (#4091)
-[lib] Canonicalize order of library descriptive elements. (#4067)
-[expr.reinterpret.cast] Fix note on round-tripping pointer values. (#4080)
-[stmt.pre, re.grammar, gram] Use a separate bnf environment for each nonterminal. (#4070)
-[alg.is.permutation] Rephrase to simplify (#4071)
-[basic.fundamental] Use canonical types in [tab:basic.fundamental.width] (#4057)
-[string.view.template] Wrap synopsis in its namespace (#4038)
-[algorithms.general] Add [algorithms.results] to summary table (#4020)
-[class.temporary] Omit hyphen from "trivially copyable" (#4002)
-[common.iter.cust] Pluralize subclause heading (#3995)
-[range.refinements] Use 'customization point object' for ranges::data (#3993)
-[iterator.cust] Use 'customization point object' in heading (#3994)
-[concept.swappable] Use 'customization point object' for ranges::swap (#3992)
-[class.mem] Add cross-reference for data member order (#3990)
-[meta.trans.other] "C++ object type" is overly precise (#3969)
-[over.ics.ref] Remove erroneous capitalization (#3972)
-[format.syn] Add missing reference to [format.context] in header synopsis (#3954)
-[iterator.concepts.general] Remove synthesizeable operator!= in example. (#3950)
-[string.conversions] Replace comparisons of a pointer against 0 with comparision against nullptr, for consistency with other parts of the library
-[basic.type.qualifier] Incomplete and complete object types are just object types
-[alg.clamp] Add missing calls to invoke (#3902)
-[iterator.synopsis,reverse.iter.nonmember] Simplify declaration of reverse_iterator's non-member operator+
-[iterator.synopsis,move.iter.nonmember] Harmoize formatting of operator-(move_iterator, move_iterator)
-[expr.const] Change "dynamic cast" to "dynamic_cast" and move throw-expression to its own item (#3919)
-[temp.class.spec] Remove unused hyphenation point (#3928)
-[except.handle] Simplify void pointer cv-qualification

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet