Page MenuHomePhabricator

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

philnik (Nikolas Klauser)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 27 2021, 4:00 AM (103 w, 4 d)

Recent Activity

Today

philnik updated the diff for D156956: [libc++] Optimize ranges::count for __bit_iterators.

Address comments

Fri, Sep 22, 2:02 AM · Restricted Project, Restricted Project

Yesterday

philnik abandoned D152469: [libc++] Diagnose bad iterators in the classic algorithms.
Thu, Sep 21, 1:56 AM · Restricted Project, Restricted Project
philnik abandoned D143902: [libc++] Extend is_always_bitcastable for pointers and enums.
Thu, Sep 21, 1:55 AM · Restricted Project, Restricted Project
philnik abandoned D131852: [libc++][NFC] Use noexcept instead of the macros where possible.
Thu, Sep 21, 1:45 AM · Restricted Project, Restricted Project
philnik abandoned D114425: [clang] Add __builtin_bswap128.

I don't plan to work on this any time soon, so I'll abandon it to clean up the review queue.

Thu, Sep 21, 1:24 AM · Restricted Project, Restricted Project
philnik abandoned D129768: [libc++] Remove the option to change _LIBCPP_OVERRIDABLE_FUNC_VIS.
Thu, Sep 21, 1:22 AM · Restricted Project, Restricted Project

Wed, Sep 20

philnik accepted D159514: [libcxx] <experimental/simd> excluded long double for 32-bits x86 temporarily.
Wed, Sep 20, 11:59 PM · Restricted Project, Restricted Project

Mon, Sep 18

philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Try to fix CTry to fix CII

Mon, Sep 18, 11:04 PM · Restricted Project, Restricted Project
philnik updated the diff for D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.

Try to fix CI

Mon, Sep 18, 11:01 PM · Restricted Project, Restricted Project
philnik updated the diff for D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.

Try to fix CI

Mon, Sep 18, 8:52 PM · Restricted Project, Restricted Project
philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Try to fix CI

Mon, Sep 18, 8:46 PM · Restricted Project, Restricted Project
philnik updated the diff for D155312: [libc++] Use _Complex for multiplication and division of complex floating point types.

Try to fix CI

Mon, Sep 18, 10:03 AM · Restricted Project, Restricted Project
philnik abandoned D154557: [libc++] Add more general death tests and make them work on more platforms.
Mon, Sep 18, 9:49 AM · Restricted Project, Restricted Project
philnik updated the diff for D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.

Try to fix CI

Mon, Sep 18, 8:48 AM · Restricted Project, Restricted Project
philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Try to fix CI

Mon, Sep 18, 8:37 AM · Restricted Project, Restricted Project
philnik added inline comments to D157058: [libc++] Remove generic char_traits implementation.
Mon, Sep 18, 7:58 AM · Restricted Project, Restricted Project
philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Try to fix CI

Mon, Sep 18, 12:11 AM · Restricted Project, Restricted Project

Sun, Sep 17

philnik updated the diff for D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.

Try to fix CI

Sun, Sep 17, 11:26 PM · Restricted Project, Restricted Project
philnik abandoned D157572: [clang] Add `[[clang::library_extension]]` attribute.

Abandoning, since it seems like we want to extend diagnose_if instead.

Sun, Sep 17, 9:28 PM · Restricted Project, Restricted Project

Thu, Sep 14

philnik updated the summary of D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.
Thu, Sep 14, 12:18 PM · Restricted Project, Restricted Project
philnik updated the diff for D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.

Rebased

Thu, Sep 14, 12:17 PM · Restricted Project, Restricted Project
philnik updated the diff for D155312: [libc++] Use _Complex for multiplication and division of complex floating point types.

Address comments

Thu, Sep 14, 12:15 PM · Restricted Project, Restricted Project
philnik added inline comments to D155475: [Clang][Sema] Add -Wctad-selects-copy to diagnose copy deduction candidate.
Thu, Sep 14, 10:02 AM · Restricted Project, Restricted Project
philnik abandoned D147473: [libc++] Remove the synopses.
Thu, Sep 14, 9:46 AM · Restricted Project, Restricted Project
philnik abandoned D142285: [libc++] Don't include <version> everywhere.
Thu, Sep 14, 9:23 AM · Restricted Project, Restricted Project

Wed, Sep 13

philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Try to fix CI

Wed, Sep 13, 3:18 PM · Restricted Project, Restricted Project

Tue, Sep 12

philnik accepted D159509: [libcxx] <experimental/simd> Fix CI errors on 32-bits x86.
Tue, Sep 12, 10:36 PM · Restricted Project, Restricted Project

Mon, Sep 11

philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Try to fix CI

Mon, Sep 11, 3:18 PM · Restricted Project, Restricted Project
philnik abandoned D158215: [libc++][NFC] Remove __has_keyword.
Mon, Sep 11, 12:25 PM · Restricted Project, Restricted Project
philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Try to fix CI

Mon, Sep 11, 11:59 AM · Restricted Project, Restricted Project
philnik requested changes to D159442: [libcxx] <experimental/simd> Add generate constructor of class simd.

Let's land the current stack and move this PR to GitHub.

Mon, Sep 11, 11:05 AM · Restricted Project, Restricted Project
philnik accepted D144698: [libcxx] <experimental/simd> Removed original implementations and tests.

We're transitioning to GitHub and I think we should have enough time to git this at least as far as it has been, so let's land this and continue reviews on GitHub.

Mon, Sep 11, 11:05 AM · Restricted Project, Restricted Project
philnik accepted D156225: [libcxx] <experimental/simd> Add broadcast constructor of class simd/simd_mask.
Mon, Sep 11, 11:04 AM · Restricted Project, Restricted Project

Sun, Sep 10

philnik updated the diff for D158214: [libc++] Warn if an unsupported compiler is used.

Address comments

Sun, Sep 10, 2:33 PM · Restricted Project, Restricted Project

Thu, Sep 7

philnik added inline comments to D150831: [libc++] Implement ranges::ends_with.
Thu, Sep 7, 8:46 PM · Restricted Project, Restricted Project

Tue, Sep 5

philnik requested changes to D156242: [libc++] Removes a broken test..

I just tried it on my local system and the test passes with both clang and GCC. This strongly indicates that everything works except testing in the docker image. Given that this is purely a CI pro I'm strongly against removing anything here.

Tue, Sep 5, 9:26 AM · Restricted Project, Restricted Project

Sun, Sep 3

philnik added a comment to D144364: [libcxx] <experimental/simd> Added internal storage type, constructors, subscript operators of class simd/simd_mask and related tests.

It seems that the long double is a type with a size of 12 bytes on MinGW (DLL, i686). This conflicts with the current implementation. Vector extension requires the input parameter of vector size to be a power of 2 and a multiple of the size of the element type. 12 bytes cannot meet both requirements simultaneously. Should we temporarily exclude long double on MinGW (DLL, i686)? I think it would be more appropriate to add support for it when implement platform specialization optimization. @philnik

Sun, Sep 3, 9:41 PM · Restricted Project, Restricted Project
philnik updated the diff for D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.

Address comments

Sun, Sep 3, 4:09 PM · Restricted Project, Restricted Project
philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Try to fix CI

Sun, Sep 3, 3:33 PM · Restricted Project, Restricted Project

Sat, Sep 2

philnik committed rGb6d2460fd4ec: [libc++] Remove _LIBCPP_DISABLE_NODISCARD_AFTER_CXX17 documentation (authored by philnik).
[libc++] Remove _LIBCPP_DISABLE_NODISCARD_AFTER_CXX17 documentation
Sat, Sep 2, 7:18 AM · Restricted Project, Restricted Project

Fri, Sep 1

philnik updated the diff for D154238: [libc++][PSTL] Overhaul exceptions handling.

Rebased

Fri, Sep 1, 9:30 PM · Restricted Project, Restricted Project
philnik committed rG9f3e3efd98a2: [libc++][NFC] Refactor __enable_if return types to defaulted template parameters (authored by philnik).
[libc++][NFC] Refactor __enable_if return types to defaulted template parameters
Fri, Sep 1, 5:53 PM · Restricted Project, Restricted Project
philnik closed D157787: [libc++][NFC] Refactor __enable_if return types to defaulted template parameters.
Fri, Sep 1, 5:52 PM · Restricted Project, Restricted Project
philnik committed rG6256ccfd4f06: [libc++][NFC] Update the remaining enable_ifs (authored by philnik).
[libc++][NFC] Update the remaining enable_ifs
Fri, Sep 1, 5:51 PM · Restricted Project, Restricted Project
philnik closed D157753: [libc++][NFC] Update the remaining enable_ifs.
Fri, Sep 1, 5:51 PM · Restricted Project, Restricted Project
philnik added a comment to D158922: [libc++] Implement LWG3545: std::pointer_traits should be SFINAE-friendly..

Is there updated documentation for best practices for doing that? I was following https://libcxx.llvm.org/Contributing.html.

We have just started the move, so I don't think there is any documentation yet. You should be able to just fork the llvm-project and then open a PR against the main repo.

Thanks, I've gone ahead and opened the PR at https://github.com/llvm/llvm-project/pull/65177? Since you commented, would you be willing to take a look at it? It hasn't been quite a week yet (per https://llvm.org/docs/Contributing.html#how-to-submit-a-patch) but I'm not sure what the best way to proceed here is either, since this is my first libc++ patch.

Fri, Sep 1, 12:18 PM · Restricted Project, Restricted Project
philnik added a comment to D158922: [libc++] Implement LWG3545: std::pointer_traits should be SFINAE-friendly..

Is there updated documentation for best practices for doing that? I was following https://libcxx.llvm.org/Contributing.html.

Fri, Sep 1, 11:51 AM · Restricted Project, Restricted Project
philnik updated the diff for D157787: [libc++][NFC] Refactor __enable_if return types to defaulted template parameters.

Try to fix CI

Fri, Sep 1, 9:45 AM · Restricted Project, Restricted Project
philnik updated the diff for D157753: [libc++][NFC] Update the remaining enable_ifs.

Address comments

Fri, Sep 1, 9:31 AM · Restricted Project, Restricted Project
philnik committed rG0a97720d0197: [libc++] Assume that __BYTE_ORDER__ is always present (authored by philnik).
[libc++] Assume that __BYTE_ORDER__ is always present
Fri, Sep 1, 9:12 AM · Restricted Project, Restricted Project
philnik closed D158216: [libc++] Assume that __BYTE_ORDER__ is always present.
Fri, Sep 1, 9:12 AM · Restricted Project, Restricted Project
philnik committed rGb6310e65f61c: [libc++] Add lifetimebound attributes to clamp (authored by philnik).
[libc++] Add lifetimebound attributes to clamp
Fri, Sep 1, 9:04 AM · Restricted Project, Restricted Project
philnik closed D158327: [libc++] Add lifetimebound attributes to clamp.
Fri, Sep 1, 9:04 AM · Restricted Project, Restricted Project

Thu, Aug 31

Herald added a project to D99178: [libcxx] Disable c++experimental by default in DLL builds: Restricted Project.

Is there still interest in pursuing this? If not, could you abandon the patch?

Thu, Aug 31, 5:33 PM · Restricted Project, Restricted Project
philnik abandoned D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.
Thu, Aug 31, 5:29 PM · Restricted Project, Restricted Project
philnik commandeered D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.

[Github PR transition cleanup]

Thu, Aug 31, 5:28 PM · Restricted Project, Restricted Project
Herald added a project to D80588: [libc++] Optimize vector push_back to avoid continuous load and store of end pointer: Restricted Project.

Is there still interest in pursuing this? If not, could you abandon this?

Thu, Aug 31, 5:26 PM · Restricted Project, Restricted Project
philnik added a comment to D158620: [libcxx] [libcxxabi] don't throw+catch in std::make_exception_ptr when building with libcxxabi.

Since we are moving to GitHub PRs and there hasn't been any activity here yet, could you move this patch over?

Thu, Aug 31, 5:08 PM · Restricted Project, Restricted Project, Restricted Project
philnik abandoned D133916: [String]: Inline clear_and_shrink and make it constexpr.
Thu, Aug 31, 5:05 PM · Restricted Project, Restricted Project
philnik commandeered D133916: [String]: Inline clear_and_shrink and make it constexpr.

[Github PR transition cleanup]

Thu, Aug 31, 5:05 PM · Restricted Project, Restricted Project
philnik abandoned D136724: [libc++][RFC] Add nullability annotations to string.

Abandoning for now, since this doesn't seem to be used much in tooling.

Thu, Aug 31, 5:02 PM · Restricted Project, Restricted Project
philnik abandoned D150081: [libc++] Make a few standard types trivially equality comparable.

Abandoning for now, since this requires some sort of compiler fix to work properly and this won't happen within the next month or so.

Thu, Aug 31, 4:57 PM · Restricted Project, Restricted Project
philnik added a comment to D158769: [libc++abi] Handle null pointer-to-object [PR64593].

Since we are moving to GitHub PRs and there hasn't been any activity here yet, could you move this patch over?

Thu, Aug 31, 4:42 PM · Restricted Project, Restricted Project
philnik added a comment to D158922: [libc++] Implement LWG3545: std::pointer_traits should be SFINAE-friendly..

Since we are moving to GitHub PRs and there hasn't been any activity here yet, could you move this patch over?

Thu, Aug 31, 4:40 PM · Restricted Project, Restricted Project
philnik added a comment to D159232: [libc++] Implement ranges::contains.

Could you abandon this, since there is a PR open on GitHub?

Thu, Aug 31, 4:37 PM · Restricted Project, Restricted Project

Wed, Aug 30

philnik updated the diff for D158327: [libc++] Add lifetimebound attributes to clamp.

Update ignore_format.txt

Wed, Aug 30, 10:40 PM · Restricted Project, Restricted Project
philnik committed rG22347afb724c: [libc++][NFC] Remove some dead code (authored by philnik).
[libc++][NFC] Remove some dead code
Wed, Aug 30, 9:07 PM · Restricted Project, Restricted Project
philnik closed D158230: [libc++][NFC] Remove some dead code.
Wed, Aug 30, 9:07 PM · Restricted Project, Restricted Project

Mon, Aug 28

philnik added a comment to D156225: [libcxx] <experimental/simd> Add broadcast constructor of class simd/simd_mask.

I think we should try to rebase, as @Mordante suggested. If that doesn't help I'd just go for // XFAIL: gcc-13ing the tests for now. If the bug still exists in GCC 13 it would be great if you could try to get a small reproducer and file a bug against GCC.

Mon, Aug 28, 3:04 PM · Restricted Project, Restricted Project
philnik added a comment to D157776: [libc++] Eliminate extra allocations from `std::move(oss).str()`.

@philnik gentle ping!

Re "there is no requirement in the standard," I think the use of the term "move constructed" in https://eel.is/c++draft/stringbuf#members-10.sentence-1 is that requirement. The original paper P0408 also contains this test case https://github.com/PeterSommerlad/SC22WG21_Papers/blob/master/workspace/Test_basic_stringbuf_efficient/src/Testp0407-p0408-efficientStringstreams.cpp#L105-L112 which won't succeed unless we transfer ownership here. Transfer-of-ownership is clearly P0408's intent.

A moved-from string has an unspecified state, so there is no way to check what actually happened.

Mon, Aug 28, 2:55 PM · Restricted Project, Restricted Project, Restricted Project
philnik accepted D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

Shouldn't this be possible to actually test? If not, please add a comment why this change was done.

Do you have a suggestion how to test this. It depends on overflowing streamsize. This is an alias of ptrdiff_t.

Ah sorry, I missed that. I though it depends the char traits. In that case I'm happy with a short explanation in the commit message. Sorry for the churn.

Mon, Aug 28, 10:57 AM · Restricted Project, Restricted Project

Sat, Aug 26

philnik requested changes to D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

Shouldn't this be possible to actually test? If not, please add a comment why this change was done.

Sat, Aug 26, 7:42 PM · Restricted Project, Restricted Project

Fri, Aug 25

philnik added a comment to D157572: [clang] Add `[[clang::library_extension]]` attribute.

I don't dislike it, but I am a bit concerned about misuse being noisy.

So you're concerned that a library author uses diagnose_if to add a diagnostic to a warning group that makes the diagnostic seem too chatty, so the user disables the group and loses the compiler's diagnostics? Or are there other kinds of misuse you're worried about?

More or less the former. I don't know if it'll actually manifest in practice though, I don't see many diagnose_if diagnostics to begin with.

I think the former is sort of a "doctor, doctor, it hurts" situation; the issue isn't really with diagnose_if, it's with the library author's use of it. But at the same time, I can see why it would be beneficial to be able to work around it if needed.

As much as I hate suppressing diagnostics, I think there needs to be a way to suppress the diagnose_if forms of warning without suppressing something that the compiler would otherwise generate. Something like:

  • -Wno-deprecated: suppresses anything that -Wdeprecated would turn on.
  • -Wno-deprecated=diagnose_if: just the ones flagged by diagnose_if.
  • -Wno-deprecated=non-diagnose_if: complement to #2.

(and similarly for -Wno-error=.)

I'm not sure about the system header knob though: [[deprecated]] and [[nodiscard]] still show up even when the declaration is in a system header?

Correct, those will still show up when the declaration is in a system header but not when the use is in a system header: https://godbolt.org/z/PjqKbGsrr

Right, my question was more "what is this knob doing?"

Ah! We have various knobs on our diagnostics, like:
ShowInSystemHeader -- https://github.com/llvm/llvm-project/blob/2dc6281b98d07f43a64d0ef34405d9a12d59e8b6/clang/include/clang/Basic/DiagnosticSemaKinds.td#L7818 (if used, the diagnostic will be shown in a system header)
SFINAEFailure -- https://github.com/llvm/llvm-project/blob/2dc6281b98d07f43a64d0ef34405d9a12d59e8b6/clang/include/clang/Basic/DiagnosticSemaKinds.td#L93 (if used, the diagnostic causes SFINAE to fail in a SFINAE context)
DefaultIgnore -- https://github.com/llvm/llvm-project/blob/2dc6281b98d07f43a64d0ef34405d9a12d59e8b6/clang/include/clang/Basic/DiagnosticSemaKinds.td#L141 (if used, the warning is off by default and must be explicitly enabled via its group)
DefaultError -- https://github.com/llvm/llvm-project/blob/2dc6281b98d07f43a64d0ef34405d9a12d59e8b6/clang/include/clang/Basic/DiagnosticSemaKinds.td#L262 (if used, the warning defaults to being an error but users can disable the error with -Wno)
(etc)

All of these have been of use to us as implementers, so it seems likely that these same knobs would be of use to library authors adding their own compiler diagnostics, so perhaps we should consider that as part of the design?

We currently have -Wuser-defined-warnings as the warning group for diagnose_if warning diagnostics, so I wonder if it would make sense to allow -Wno-deprecated suppresses anything that -Wdeprecated would turn on, while -Wdeprecated -Wno-user-defined-warnings would turn on only the compiler-generated deprecation warnings and not the diagnose_if-generated ones?

Oh neat, this simplifies things a lot!

I think it could make for a reasonable user experience.

I'm curious what @erichkeane thinks as attributes code owner, but personally, I like the idea of extending diagnose_if over the idea of adding clang::library_extension because it's a more general solution that I think will give more utility to our users. However, I also want to know if @philnik @Mordante @ldionne (and others) share that preference because I think they're going to be the guinea pigs^W^Wearly adopters of this functionality.

Fri, Aug 25, 10:36 PM · Restricted Project, Restricted Project

Aug 23 2023

philnik added a comment to D157572: [clang] Add `[[clang::library_extension]]` attribute.

This allows standard libraries to mark symbols as extensions, so the compiler can generate extension warnings when they are used.

Huh, so this is basically the opposite of the __extension__ macro (which is used to silence extension warnings)?

I guess, kind-of. I never really understood the semantics of __extension__ though, so I'm not 100% certain.

It's used in system headers to say "I'm using an extension here, don't warn about it in -pedantic mode".

Hm, OK. I thought I tried to use it that way at some point and it didn't work in the way I expected.

I don't think we need to introduce a new attribute to do this, we already have diagnose_if. e.g., https://godbolt.org/z/a5ae4T56o would that suffice?

Part of the idea here is that the diagnostics should be part of -Wc++ab-extension.

Hmmm, okay. And I'm assuming -Wsystem-headers -pedantic is too chatty because it's telling the user about all use of extensions, not extensions being introduced by the library itself? (e.g., https://godbolt.org/z/Gs3YGheMM is also not what you're after)

Yeah, for libc++ we don't support -Wsystem-headers in any meaningful way and this doesn't achieve the effect I want.

I guess we could allow warning flags instead of just "warning" and "error" in diagnose_if that specifies which warning group the diagnostic should be part of. Something like __attribute__((__diagnose_if__(__cplusplus >= 201703L, "basic_string_view is a C++17 extension", "-Wc++17-extensions"))). I'm not sure how one could implement that, but I guess there is some mechanism to translate "-Wwhatever" to a warning group, since you can push and pop warnings. That would open people up to add a diagnostic to pretty much any warning group. I don't know if that's a good idea. I don't really see a problem with that other than people writing weird code, but people do that all the time anyways. Maybe I'm missing something really problematic though.

That's actually a pretty interesting idea; diagnose_if could be given another parameter to specify a diagnostic group to associate the diagnostic with. This would let you do some really handy things like:

void func(int i) __attribute__((diagnose_if(i < 0, "passing a negative value to 'func' is deprecated", "warning", "-Wdeprecated")));

But if we went this route, would we want to expose other diagnostic-related knobs like "show in system header" and "default to an error"? Also, the attribute currently can only be associated with a function; we can use this for classes by sticking it on a constructor but there's not much help for putting it on say a namespace or an enumeration. So we may need to extend the attribute in other ways. CC @cjdb as this seems of interest to you as well.

Aug 23 2023, 1:45 PM · Restricted Project, Restricted Project

Aug 21 2023

philnik added a comment to D157572: [clang] Add `[[clang::library_extension]]` attribute.

This allows standard libraries to mark symbols as extensions, so the compiler can generate extension warnings when they are used.

Huh, so this is basically the opposite of the __extension__ macro (which is used to silence extension warnings)?

I guess, kind-of. I never really understood the semantics of __extension__ though, so I'm not 100% certain.

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

Aug 19 2023

philnik committed rGcd34e89cfabb: [libc++][NFC] Remove __has_keyword (authored by philnik).
[libc++][NFC] Remove __has_keyword
Aug 19 2023, 3:46 PM · Restricted Project, Restricted Project
philnik closed D158215: [libc++][NFC] Remove __has_keyword.
Aug 19 2023, 3:46 PM · Restricted Project, Restricted Project
philnik committed rG3583bf3ad8c5: [libc++] Make everything in namespace std have default type visibility and… (authored by philnik).
[libc++] Make everything in namespace std have default type visibility and…
Aug 19 2023, 3:16 PM · Restricted Project, Restricted Project
philnik closed D153658: [libc++] Make everything in namespace std have default type visibility and hidden visibility and remove _LIBCPP_ENUM_VIS.
Aug 19 2023, 3:16 PM · Restricted Project, Restricted Project
philnik accepted D158340: [libc++][doc] Marks LLVM-17 release notes as final..
Aug 19 2023, 3:15 PM · Restricted Project, Restricted Project
philnik added inline comments to D155064: [clang][SemaCXX] Diagnose tautological uses of consteval if and is_constant_evaluated.
Aug 19 2023, 8:25 AM · Restricted Project, Restricted Project, Restricted Project
philnik added inline comments to D156922: [libc++][CI] Upgrades to LLVM 18 as HEAD version..
Aug 19 2023, 8:22 AM · Restricted Project, Restricted Project
philnik accepted D158199: [libc++] Fixes disabling wide character..
Aug 19 2023, 8:13 AM · Restricted Project, Restricted Project

Aug 18 2023

philnik requested changes to D150831: [libc++] Implement ranges::ends_with.

Looks pretty good, but I'd like to get the ranges::equal optimization in again, since it's probably quite significant.

Aug 18 2023, 6:08 PM · Restricted Project, Restricted Project
philnik requested review of D158327: [libc++] Add lifetimebound attributes to clamp.
Aug 18 2023, 5:41 PM · Restricted Project, Restricted Project
philnik published D158216: [libc++] Assume that __BYTE_ORDER__ is always present for review.
Aug 18 2023, 3:35 PM · Restricted Project, Restricted Project
philnik updated the diff for D153658: [libc++] Make everything in namespace std have default type visibility and hidden visibility and remove _LIBCPP_ENUM_VIS.

Address comments

Aug 18 2023, 1:49 PM · Restricted Project, Restricted Project
philnik updated the summary of D153658: [libc++] Make everything in namespace std have default type visibility and hidden visibility and remove _LIBCPP_ENUM_VIS.
Aug 18 2023, 1:44 PM · Restricted Project, Restricted Project
philnik committed rG4da76ea70ad3: [libc++][NFC] Refactor enable_ifs in defaulted arguments to defaulted template… (authored by philnik).
[libc++][NFC] Refactor enable_ifs in defaulted arguments to defaulted template…
Aug 18 2023, 1:08 PM · Restricted Project, Restricted Project
philnik closed D157748: [libc++][NFC] Refactor enable_ifs in defaulted arguments to defaulted template arguments.
Aug 18 2023, 1:08 PM · Restricted Project, Restricted Project
philnik added inline comments to D158215: [libc++][NFC] Remove __has_keyword.
Aug 18 2023, 11:12 AM · Restricted Project, Restricted Project
philnik updated the summary of D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.
Aug 18 2023, 8:59 AM · Restricted Project, Restricted Project

Aug 17 2023

philnik requested review of D158230: [libc++][NFC] Remove some dead code.
Aug 17 2023, 3:55 PM · Restricted Project, Restricted Project
philnik updated the diff for D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros.

Address comments

Aug 17 2023, 2:45 PM · Restricted Project, Restricted Project
philnik updated the diff for D153658: [libc++] Make everything in namespace std have default type visibility and hidden visibility and remove _LIBCPP_ENUM_VIS.
  • Rebase
  • Only add type_visibility("default") to the namespace
Aug 17 2023, 2:27 PM · Restricted Project, Restricted Project
philnik updated the diff for D157748: [libc++][NFC] Refactor enable_ifs in defaulted arguments to defaulted template arguments.

Fix formatting

Aug 17 2023, 2:13 PM · Restricted Project, Restricted Project
philnik requested review of D158215: [libc++][NFC] Remove __has_keyword.
Aug 17 2023, 1:49 PM · Restricted Project, Restricted Project
philnik requested review of D158214: [libc++] Warn if an unsupported compiler is used.
Aug 17 2023, 1:46 PM · Restricted Project, Restricted Project
philnik requested changes to D158199: [libc++] Fixes disabling wide character..

Maybe I'm missing something, but it looks to me like you are disabling too many symbols here.

Aug 17 2023, 10:31 AM · Restricted Project, Restricted Project

Aug 16 2023

philnik added a comment to D157058: [libc++] Remove generic char_traits implementation.

I'll be honest, this change is kind of annoying. The deprecation itself was added in clang 17, which is yet to be released. IOW, most code bases that are using the deprecated char_traits haven't even had the chance to see those deprecation warnings. And now they hard-fail to build with clang trunk...

Aug 16 2023, 6:15 PM · Restricted Project, Restricted Project