Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

ZijunZhao (Zijun Zhao)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 19 2021, 9:44 AM (110 w, 2 d)

Recent Activity

Yesterday

ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

Update the SemaChecking.cpp and the test.

Fri, Sep 29, 11:06 AM · Restricted Project, Restricted Project

Thu, Sep 28

ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
  1. Simplify code in SemaChecking.cpp
  2. Fix the nit and rename the variable in SemaChecking.cpp
  3. Update the condition in SemaChecking.cpp
  4. Add wchar_t test to show our care
Thu, Sep 28, 2:51 PM · Restricted Project, Restricted Project

Mon, Sep 18

ZijunZhao committed rG0218ea4aaa54: [libc++] Implement ranges::ends_with (authored by ZijunZhao).
[libc++] Implement ranges::ends_with
Mon, Sep 18, 11:59 AM · Restricted Project, Restricted Project
ZijunZhao closed D150831: [libc++] Implement ranges::ends_with.
Mon, Sep 18, 11:59 AM · Restricted Project, Restricted Project

Fri, Sep 15

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Update algorithm.inc to pass prechecks

Fri, Sep 15, 11:20 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Correct the #if condition for ranges::starts_with() and ranges::ends_with()

Fri, Sep 15, 4:41 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

change #if TEST_STD_VER > 20 to #if TEST_STD_VER >= 23

Fri, Sep 15, 3:17 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Update tests

Fri, Sep 15, 3:13 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Modify algorithm.inc to pass the presubmit

Fri, Sep 15, 11:36 AM · Restricted Project, Restricted Project

Thu, Sep 14

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Remove unused header files

Thu, Sep 14, 11:59 AM · Restricted Project, Restricted Project

Wed, Sep 13

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

remove redundant headers to avoid transitive includes

Wed, Sep 13, 6:03 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Reformat

Wed, Sep 13, 11:31 AM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
  1. add some headers in ranges_ends_with.h
  2. fix nits: add/remove some blank lines
  3. remove useless headers in ranges.ends_with.pass.cpp
Wed, Sep 13, 12:23 AM · Restricted Project, Restricted Project

Mon, Sep 11

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Update benchmark tests

Mon, Sep 11, 5:07 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

Remove c++ related conditions

Mon, Sep 11, 4:20 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

update comments

Mon, Sep 11, 3:47 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

add #include_next

Mon, Sep 11, 3:44 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

update the reformat msg and tests

Mon, Sep 11, 2:26 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

Reformat the error msg

Mon, Sep 11, 12:33 PM · Restricted Project, Restricted Project

Wed, Sep 6

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Update test

Wed, Sep 6, 2:45 PM · Restricted Project, Restricted Project

Tue, Sep 5

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Update benchmarks test

Tue, Sep 5, 6:56 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Update HasEndsWithR test

Tue, Sep 5, 2:54 PM · Restricted Project, Restricted Project

Thu, Aug 31

ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Thu, Aug 31, 10:35 PM · Restricted Project, Restricted Project
ZijunZhao abandoned D159232: [libc++] Implement ranges::contains.
Thu, Aug 31, 4:41 PM · Restricted Project, Restricted Project

Aug 30 2023

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

reformat

Aug 30 2023, 6:34 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
  1. reformat
  2. rename helper function
  3. add std::move
Aug 30 2023, 6:19 PM · Restricted Project, Restricted Project
ZijunZhao added reviewers for D159232: [libc++] Implement ranges::contains: philnik, var-const, ldionne.
Aug 30 2023, 3:19 PM · Restricted Project, Restricted Project
ZijunZhao requested review of D159232: [libc++] Implement ranges::contains.
Aug 30 2023, 3:18 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

Remove the short type check part.
From Aaron Ballman:

Instead, we'd want to do some data flow analysis (in the clang static analyzer) so we know the potential range of values of each of the operands and can diagnose the result type from there if we can prove there's a potential for overflow due to type confusion.

Aug 30 2023, 11:03 AM · Restricted Project, Restricted Project

Aug 29 2023

ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 29 2023, 5:36 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
  1. Remove pure integer check to the right place
  2. Update error msg and all related tests
  3. Add explanations to header file
Aug 29 2023, 5:35 PM · Restricted Project, Restricted Project

Aug 25 2023

ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

Add integer type test and update c2x tests.

Aug 25 2023, 2:51 PM · Restricted Project, Restricted Project

Aug 24 2023

ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

Prevent result type from being short and fix the breaking in builtinoverflow.cpp

Aug 24 2023, 3:03 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.

Rename the warn_overflow_builtin_can_not_be_short for precision

Aug 24 2023, 11:05 AM · Restricted Project, Restricted Project

Aug 23 2023

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Get ranges::equal optimization back when the iterator is random access iterator, and add a benchmark test to verify the optimization works.

Aug 23 2023, 4:31 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
  1. define STDC_VERSION_STDCKDINT_H
  2. check short type
Aug 23 2023, 3:07 PM · Restricted Project, Restricted Project

Aug 21 2023

ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 21 2023, 5:51 PM · Restricted Project, Restricted Project
ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 21 2023, 5:46 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
  1. Reformat test files in C/C2x
  2. Update the definition and the test about __STDC_VERSION_STDCKDINT_H__
  3. Update release docs and the introduction in the test file
  4. Update RUN command in the test files
  5. Update PPDirectives.cpp
Aug 21 2023, 5:39 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
  1. use ranges::size() instead of ranges::distance to get the size of an array at constant time
  2. remove std::move for all input which call ranges algorithms.
Aug 21 2023, 2:12 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Update else to make it a bit leaner to compile.

Aug 21 2023, 1:55 PM · Restricted Project, Restricted Project

Aug 18 2023

ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Aug 18 2023, 5:50 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

add a comment to make code more clear

Aug 18 2023, 5:49 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Pass by referrence

Aug 18 2023, 5:24 PM · Restricted Project, Restricted Project
ZijunZhao added a comment to D157331: [clang] Implement C23 <stdckdint.h>.

Reformat clang/lib/Lex/PPDirectives.cpp. I use git-clang-format due to previous pre-check failure but lots of modifications in clang/lib/Lex/ directory. Should I keep running git-clang-format if the pre-check fails again?

Aug 18 2023, 12:43 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
Aug 18 2023, 12:40 PM · Restricted Project, Restricted Project

Aug 16 2023

ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 16 2023, 4:35 PM · Restricted Project, Restricted Project
ZijunZhao added a comment to D157331: [clang] Implement C23 <stdckdint.h>.

Skip static_assert() tests because constexpr is not supported in C23 yet: https://github.com/llvm/llvm-project/issues/64742

Aug 16 2023, 3:35 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
  1. separate two files in clang/test/C/C2x
  2. make some update about the macro STDC_VERSION_STDCKDINT_H add the test for testing it
Aug 16 2023, 3:34 PM · Restricted Project, Restricted Project

Aug 15 2023

ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
  1. rename to .c file
  2. create clang/test/C/C2x/n2683.c and add codegen tests and semantic tests
  3. update clang/docs/ReleseNotes.rst
  4. update clang/www/c_status.html
  5. reformat PPDirectives.cpp
  6. set STDC_VERSION instead of gnu
Aug 15 2023, 4:48 PM · Restricted Project, Restricted Project

Aug 11 2023

ZijunZhao added a comment to D157331: [clang] Implement C23 <stdckdint.h>.

Another followup question: I check https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2683.pdf and I only add Core Proposal here. Do I need to add Supplemental Proposal, like some types?

Ah, this is a bit confusing! tl;dr: No need to add the supplemental proposal.

The way to trace this down yourself is:

  • The working draft (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf) has a list of what papers were adopted and applied to the standard. You'll find N2683 under the June 2021 virtual meeting heading. That's how you know which paper was adopted.
  • You can look at the paper to see the proposed wording, prior art, motivation, etc. That gets you 95% of the way but you need to know what words actually went into the standard. So use the original paper to give you ideas on what to implement, what to test, etc, but verify against the wording in the standard.
  • Because this was discussed at the June 2021 virtual meeting, you should look at those meeting minutes (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2802.pdf) to see what was adopted. You can search for 2683 to find the relevant discussion in the minutes. Most importantly, you can see what polls were taken. The two polls of interest were:

Straw Poll: Does the committee wish to adopt the Core proposal from N2683 into C23? 13-0-5 Core proposal goes into C23.
Straw Poll: Does the committee want the "ckd_" identifiers from N2683's Core proposal in future library directions to be potentially reserved identifiers? 18-0-0

This is how we know that only the core proposal was added, and not the supplemental proposal. Checking that belief against the standard wording itself verifies that only the core proposal was added and the supplemental bits are left out.

(Hopefully that explanation makes some sense, but if you have more questions, just ask!)

Aug 11 2023, 5:59 PM · Restricted Project, Restricted Project

Aug 9 2023

ZijunZhao added a comment to D157331: [clang] Implement C23 <stdckdint.h>.

Another followup question: I check https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2683.pdf and I only add Core Proposal here. Do I need to add Supplemental Proposal, like some types?

Aug 9 2023, 6:59 PM · Restricted Project, Restricted Project
ZijunZhao committed rG996559602bfb: Update RangesAlgorithm status (authored by ZijunZhao).
Update RangesAlgorithm status
Aug 9 2023, 12:31 PM · Restricted Project, Restricted Project
ZijunZhao closed D157539: Update RangesAlgorithm status.
Aug 9 2023, 12:30 PM · Restricted Project, Restricted Project
ZijunZhao requested review of D157539: Update RangesAlgorithm status.
Aug 9 2023, 12:02 PM · Restricted Project, Restricted Project
ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 9 2023, 10:54 AM · Restricted Project, Restricted Project
ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 9 2023, 12:30 AM · Restricted Project, Restricted Project

Aug 8 2023

ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 8 2023, 3:19 PM · Restricted Project, Restricted Project
ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 8 2023, 3:11 PM · Restricted Project, Restricted Project

Aug 7 2023

ZijunZhao added inline comments to D157331: [clang] Implement C23 <stdckdint.h>.
Aug 7 2023, 3:55 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
  1. Fix some format nits
  2. Change CHECK-NEXT to CHECK
Aug 7 2023, 3:48 PM · Restricted Project, Restricted Project
ZijunZhao added a reviewer for D157331: [clang] Implement C23 <stdckdint.h>: enh.
Aug 7 2023, 2:43 PM · Restricted Project, Restricted Project
ZijunZhao added reviewers for D157331: [clang] Implement C23 <stdckdint.h>: hiraditya, yabinc.
Aug 7 2023, 2:32 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D157331: [clang] Implement C23 <stdckdint.h>.
Aug 7 2023, 2:30 PM · Restricted Project, Restricted Project
ZijunZhao requested review of D157331: [clang] Implement C23 <stdckdint.h>.
Aug 7 2023, 2:29 PM · Restricted Project, Restricted Project

Jul 21 2023

ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Jul 21 2023, 10:35 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
  1. If we can get the size of input directly, get it, then compare the sizes and return the result in some cases. Otherwise, go to step2.
  2. If the input is bidirectional, go to __bidirectional_impl() directly. If not, go to step 3
  3. Call ranges::equal() to get the result
Jul 21 2023, 10:33 PM · Restricted Project, Restricted Project

Jul 5 2023

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
  1. Optimize when input is bidirectional iterator.
  2. Reformat test file
Jul 5 2023, 4:15 PM · Restricted Project, Restricted Project

Jun 26 2023

ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Jun 26 2023, 6:41 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
  1. Test input_iterators
  2. Update help function (will try to optimize later)
  3. some nits fixed
Jun 26 2023, 6:41 PM · Restricted Project, Restricted Project

Jun 23 2023

ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Jun 23 2023, 5:12 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
  1. use ranges::advance() rather than std::advance()
  2. add two test cases: range consists of just one element and suffix consists of just one element
  3. remove the duplicated test case about predicate
Jun 23 2023, 5:12 PM · Restricted Project, Restricted Project

Jun 22 2023

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

delegate to the non-range overload of operator()

Jun 22 2023, 5:23 PM · Restricted Project, Restricted Project
ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Jun 22 2023, 2:41 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

Fix some nits:

  1. delete duplication
  2. call ranges::equal in the implementation
  3. use decltype
  4. add some tests
Jun 22 2023, 2:40 PM · Restricted Project, Restricted Project

Jun 20 2023

ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Jun 20 2023, 4:51 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

replace ranges::drop_view with ranges::subrange

Jun 20 2023, 4:51 PM · Restricted Project, Restricted Project

Jun 14 2023

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

make some changes on tests

Jun 14 2023, 5:01 PM · Restricted Project, Restricted Project

Jun 5 2023

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

update all the robust_against_* tests but no need for robust_against_dangling one

Jun 5 2023, 4:33 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.

make some format changes

Jun 5 2023, 2:20 PM · Restricted Project, Restricted Project

Jun 2 2023

ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Jun 2 2023, 12:09 PM · Restricted Project, Restricted Project
ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
Jun 2 2023, 11:53 AM · Restricted Project, Restricted Project

May 31 2023

ZijunZhao added inline comments to D150831: [libc++] Implement ranges::ends_with.
May 31 2023, 6:43 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
May 31 2023, 6:43 PM · Restricted Project, Restricted Project

May 18 2023

ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
May 18 2023, 4:14 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150831: [libc++] Implement ranges::ends_with.
May 18 2023, 10:36 AM · Restricted Project, Restricted Project

May 17 2023

ZijunZhao requested review of D150831: [libc++] Implement ranges::ends_with.
May 17 2023, 5:16 PM · Restricted Project, Restricted Project
ZijunZhao closed D150146: [libc++] Implement ranges::starts_with.

Submit: https://github.com/llvm/llvm-project/commit/205175578e0d73b4cd63d4d124a900fff10da7f8

May 17 2023, 11:24 AM · Restricted Project, Restricted Project
ZijunZhao closed D150735: [libc++] Improve ranges::starts_with.

Submit: https://github.com/llvm/llvm-project/commit/f9f1f9c2a533d5caa3ddf813ebbd16fe3a13fce7

May 17 2023, 11:23 AM · Restricted Project, Restricted Project
ZijunZhao committed rGf9f1f9c2a533: [libc++] Improve ranges::starts_with (authored by ZijunZhao).
[libc++] Improve ranges::starts_with
May 17 2023, 9:16 AM · Restricted Project, Restricted Project

May 16 2023

ZijunZhao added reviewers for D150735: [libc++] Improve ranges::starts_with: philnik, ldionne.
May 16 2023, 3:52 PM · Restricted Project, Restricted Project
ZijunZhao requested review of D150735: [libc++] Improve ranges::starts_with.
May 16 2023, 3:51 PM · Restricted Project, Restricted Project

May 15 2023

ZijunZhao committed rG205175578e0d: [libc++] Implement ranges::starts_with (authored by ZijunZhao).
[libc++] Implement ranges::starts_with
May 15 2023, 11:16 AM · Restricted Project, Restricted Project

May 12 2023

ZijunZhao updated the diff for D150146: [libc++] Implement ranges::starts_with.
May 12 2023, 12:45 PM · Restricted Project, Restricted Project

May 11 2023

ZijunZhao updated the diff for D150146: [libc++] Implement ranges::starts_with.
May 11 2023, 2:24 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150146: [libc++] Implement ranges::starts_with.
May 11 2023, 12:30 PM · Restricted Project, Restricted Project
ZijunZhao added inline comments to D150146: [libc++] Implement ranges::starts_with.
May 11 2023, 11:17 AM · Restricted Project, Restricted Project

May 10 2023

ZijunZhao added inline comments to D150146: [libc++] Implement ranges::starts_with.
May 10 2023, 7:14 PM · Restricted Project, Restricted Project
ZijunZhao updated the diff for D150146: [libc++] Implement ranges::starts_with.
May 10 2023, 7:11 PM · Restricted Project, Restricted Project
ZijunZhao added inline comments to D150146: [libc++] Implement ranges::starts_with.
May 10 2023, 4:43 PM · Restricted Project, Restricted Project