[all-commits] [llvm/llvm-project] a64492: [libc++] Simpler Python script for generating a gr...
Quuxplusone via All-commits
all-commits at lists.llvm.org
Tue Mar 23 11:12:43 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a644920a02bfa30337c936afcdc04c9c7970b206
https://github.com/llvm/llvm-project/commit/a644920a02bfa30337c936afcdc04c9c7970b206
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2021-03-23 (Tue, 23 Mar 2021)
Changed paths:
M libcxx/utils/graph_header_deps.py
R libcxx/utils/libcxx/graph.py
Log Message:
-----------
[libc++] Simpler Python script for generating a graph of libc++'s header dependencies
My attempts to play around with the old graph_header_deps.py were mostly fruitless;
I needed to modify it in various ways to make it work, and then even when I got it
working, it generated pretty ugly graphs.
Old graph_header_deps.py (after my local changes to simplify the usage)
(producing https://i.imgur.com/zATrsaP.jpg )
mkdir foo
time ./graph_header_deps.py --libcxx-only -o foo --clang-command ~/llvm-project/build/bin/clang++
dot -Tpng < foo/all_headers.dot > old.png
file old.png
real 0m37.453s
old.png: PNG image data, 25882 x 3035, 8-bit/color RGBA, non-interlaced
New graph_header_deps.py
(producing https://i.imgur.com/ZU0G52U.png )
time ./graph_header_deps.py | dot -Tpng > new.png
file new.png
real 0m1.063s
new.png: PNG image data, 6162 x 1344, 8-bit/color RGBA, non-interlaced
Differential Revision: https://reviews.llvm.org/D99124
Commit: 5f1de9cab1ce2fbb1e45239d3e0e8d4970d2124e
https://github.com/llvm/llvm-project/commit/5f1de9cab1ce2fbb1e45239d3e0e8d4970d2124e
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2021-03-23 (Tue, 23 Mar 2021)
Changed paths:
M clang/lib/Sema/SemaStmt.cpp
M clang/test/CXX/class/class.init/class.copy.elision/p3.cpp
Log Message:
-----------
[C++20] [P1825] Fix bugs with implicit-move from variables of reference type.
Review D88220 turns out to have some pretty severe bugs, but I *think*
this patch fixes them.
Paper P1825 is supposed to enable implicit move from "non-volatile objects
and rvalue references to non-volatile object types." Instead, what was committed
seems to have enabled implicit move from "non-volatile things of all kinds,
except that if they're rvalue references then they must also refer to non-volatile
things." In other words, D88220 accidentally enabled implicit move from
lvalue object references (super yikes!) and also from non-object references
(such as references to functions).
These two cases are now fixed and regression-tested.
Differential Revision: https://reviews.llvm.org/D98971
Compare: https://github.com/llvm/llvm-project/compare/fdf97bc73891...5f1de9cab1ce
More information about the All-commits
mailing list