User Details
- User Since
- Apr 6 2020, 12:32 AM (147 w, 4 d)
Dec 9 2022
Dec 7 2022
Consider:
struct T { const int *begin() const; const int *end() const; T &r() [[clang::lifetimebound]]; T t(); };
Apr 11 2022
Apr 8 2022
Revisiting @ChuanqiXu 's code suggestion...
Reordered enumerators.
Apr 7 2022
Added release note.
Updating the status of CWG 1394 is the only change.
Removed member function test cases and addressed comments,
which includes:
- Sema::SetFunctionBodyKind
- Change enum names
- Be clear about delete being C++ specific.
Handling of eagerly parsed deleted or defaulted function must happen AFTER D.complete(Res);.
Apr 6 2022
I think an extra parameter is inevitable without complicating things too much.
Apr 5 2022
Apr 2 2022
Mar 23 2022
Added an entry in release notes. Waiting for CI...
By 'release notes' do you mean a more detailed commit message?
This passes check-clang-semacxx on my machine.
Mar 22 2022
Diagnose "same name as its class" before setting the declarator invalid as otherwise it would not be diagnosed. This also aligns with gcc's behavior.
Don't break template declarations.
re-clang-format
The previous diff was indeed very specific and doesn't handle
template <typename T> struct A { A(void*) {} T A<T>{}; // expected-error{{member 'A' cannot have template arguments}} };
Dec 29 2021
Thank you all for spending time reviewing this!
Dec 28 2021
Dec 26 2021
Dec 23 2021
Hi all, I found this patch causing PR52702 in that the parent of this commit and LLDB 12 worked fine.
When disassembling a hello world C program on Linux, LLDB used to show
callq 0x401030 ; symbol stub for: puts
instead of
callq 0x401030 ; symbol stub for: ___lldb_unnamed_symbol36.
Examining the symbol table by running lldb -b -o 'image dump symtab' a.out used to show:
[ 18] 20 X Undefined 0x0000000000000000 0x0000000000000000 0x00000012 puts@GLIBC_2.2.5 ........ [ 33] 35 X Code 0x0000000000401000 0x000000000000001b 0x00000212 _init [ 34] 36 S Trampoline 0x0000000000401030 0x0000000000000010 0x00000000 puts [ 35] 37 SX Code 0x0000000000401020 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol1$$a.out
and now (ToT and LLDB 13) it's:
[ 18] 20 X Undefined 0x0000000000000000 0x0000000000000000 0x00000012 puts@GLIBC_2.2.5 ........ [ 33] 35 X Code 0x0000000000401000 0x000000000000001b 0x00000212 _init [ 34] 36 S Trampoline 0x0000000000401030 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol36 [ 35] 37 SX Code 0x0000000000401020 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol37
image dump symtab libc.so.6 gives similar result.
Before ec1a4917 :
[ 2366] 2367 S Trampoline 0x0000000000025010 0x00007ffff7df2010 0x0000000000000010 0x00000000 realloc [ 2367] 2368 S Trampoline 0x0000000000025020 0x00007ffff7df2020 0x0000000000000010 0x00000000 __tls_get_addr [ 2368] 2369 S Trampoline 0x0000000000025030 0x00007ffff7df2030 0x0000000000000010 0x00000000 memalign [ 2369] 2370 S Trampoline 0x0000000000025040 0x00007ffff7df2040 0x0000000000000010 0x00000000 _dl_exception_create [ 2370] 2371 S Trampoline 0x0000000000025050 0x00007ffff7df2050 0x0000000000000010 0x00000000 __tunable_get_val [ 2371] 2372 S Trampoline 0x0000000000025060 0x00007ffff7df2060 0x0000000000000010 0x00000000 _dl_find_dso_for_object [ 2372] 2373 S Trampoline 0x0000000000025070 0x00007ffff7df2070 0x0000000000000010 0x00000000 calloc [ 2373] 2373 SX Code 0x0000000000025000 0x00007ffff7df2000 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol1$$libc.so.6 [ 2374] 2373 SX Code 0x0000000000025300 0x00007ffff7df2300 0x0000000000000040 0x00000000 ___lldb_unnamed_symbol2$$libc.so.6 [ 2375] 2373 SX Code 0x0000000000025340 0x00007ffff7df2340 0x00000000000002f0 0x00000000 ___lldb_unnamed_symbol3$$libc.so.6 [ 2376] 2373 SX Code 0x0000000000025630 0x00007ffff7df2630 0x000000000000000c 0x00000000 ___lldb_unnamed_symbol4$$libc.so.6
After:
[ 2366] 2367 S Trampoline 0x0000000000025010 0x00007ffff7df2010 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol2367 [ 2367] 2368 S Trampoline 0x0000000000025020 0x00007ffff7df2020 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol2368 [ 2368] 2369 S Trampoline 0x0000000000025030 0x00007ffff7df2030 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol2369 [ 2369] 2370 S Trampoline 0x0000000000025040 0x00007ffff7df2040 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol2370 [ 2370] 2371 S Trampoline 0x0000000000025050 0x00007ffff7df2050 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol2371 [ 2371] 2372 S Trampoline 0x0000000000025060 0x00007ffff7df2060 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol2372 [ 2372] 2373 S Trampoline 0x0000000000025070 0x00007ffff7df2070 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol2373 [ 2373] 2374 SX Code 0x0000000000025000 0x00007ffff7df2000 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol2374 [ 2374] 2375 SX Code 0x0000000000025300 0x00007ffff7df2300 0x0000000000000040 0x00000000 ___lldb_unnamed_symbol2375 [ 2375] 2376 SX Code 0x0000000000025340 0x00007ffff7df2340 0x00000000000002f0 0x00000000 ___lldb_unnamed_symbol2376 [ 2376] 2377 SX Code 0x0000000000025630 0x00007ffff7df2630 0x000000000000000c 0x00000000 ___lldb_unnamed_symbol2377
Is this intended for the performance boost? It seems to me that "S Trampoline" symbols should be handled differently.
Dec 16 2021
Can you commit this for me? My name and email: PoYao Chang <rZhBoYao@gmail.com>.
And thank you for your time!
Dec 15 2021
Address inline comment.
Dec 14 2021
All points addressed. I also updated the summary accordingly. Tested on macOS 12.1 and Ubuntu 20.04.2 LTS.
Dec 10 2021
Dec 9 2021
Dec 8 2021
Dec 7 2021
Apr 6 2020
revert the change to trailing newlines