libcudacxx icon indicating copy to clipboard operation
libcudacxx copied to clipboard

Implement concept emulation for C++14 / C++17

Open miscco opened this issue 1 year ago • 1 comments

This also ports all the standard concepts from libc++ preserving the new modular organization.

This will be a base for further development such as memory_resource or in the far future ranges

miscco avatar Sep 08 '22 09:09 miscco

@miscco for the benefit of others (and my future self when I invariably forget) could you write a brief summary in the PR description with what this is doing and what it enables?

jrhemstad avatar Sep 13 '22 23:09 jrhemstad

@griwes I think I have addressed all comments, It would be great if you could just skimm over those changes

miscco avatar Sep 23 '22 07:09 miscco

@miscco I don't think you've actually pushed the changes?

griwes avatar Sep 27 '22 04:09 griwes

@miscco I don't think you've actually pushed the changes?

Oh I did push, just to a different repository 🤦

miscco avatar Sep 27 '22 06:09 miscco

Thanks a lot, I have no idea why it sometimes creeps up into changes.

miscco avatar Oct 14 '22 06:10 miscco

We passed the internal CI, and I pushed a final commit to _UGLIFY the macro definitions. I believe this is ready to be merged @griwes WDYT?

miscco avatar Oct 17 '22 12:10 miscco

I'm also seeing a couple of failures locally, with CUDA 11.8 and gcc-11:

  libcu++ :: std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp
  libcu++ :: std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.pass.cpp

griwes avatar Oct 19 '22 22:10 griwes

  1. Alternatively, we could move the emulation header into the libc++ layer and make the libc++ code paths also be fully backported this way. This is probably more work and I think would also need an extra thin wrapper header for the emulation header at the libcu++ layer.

I believe that is the way forward. It should be as simple as adding #include <__concepts/__concepts_macros.h> everywhere once moves

miscco avatar Oct 20 '22 06:10 miscco