Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEA]: Remove unsupported configurations from libcu++ #127

Open
1 task done
miscco opened this issue Jun 28, 2023 · 0 comments
Open
1 task done

[FEA]: Remove unsupported configurations from libcu++ #127

miscco opened this issue Jun 28, 2023 · 0 comments
Labels
feature request New feature or request. good first issue Good for newcomers. libcu++ For all items related to libcu++

Comments

@miscco
Copy link
Collaborator

miscco commented Jun 28, 2023

Is this a duplicate?

Component

libcu++

Is your feature request related to a problem? Please describe.

Due to historical reasons, we have a ton of cruft in the code base. This comes from libc++ supporting compilation modes / platform that we do not support. This includes (not exhausting):

  • Conditional noexcept support.
    • We do not support any standard prior to C++11 so noexcept is supported by all compilers we target
  • C++03 support
    • There is a significant amount of churn around this, as it prevents usage of usingdeclarations and variadics
  • Unsupported platforms such as SUN / IBM

Describe the solution you'd like

We should identify unneeded configurations and remove them to reduce code complexity

Describe alternatives you've considered

We can leave everything as is, as long as we remember why we are doing it.

Additional context

No response

@miscco miscco added feature request New feature or request. good first issue Good for newcomers. libcu++ For all items related to libcu++ labels Jul 12, 2023
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 16, 2023
As part of NVIDIA#127 code for
unsupported compilation modes/platforms will be removed.

`noexcept` is supported by all targeted compilers so the conditional
support can be removed.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 16, 2023
As part of NVIDIA#127 code for
unsupported compilation modes/platforms will be removed.

`noexcept` is supported by all targeted compilers so the conditional
support can be removed.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 17, 2023
As part of NVIDIA#127 code for
unsupported compilation modes/platforms will be removed.

`noexcept` is supported by all targeted compilers so the conditional
support can be removed.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 18, 2023
As part of NVIDIA#127 code for
unsupported compilation modes/platforms will be removed.

`noexcept` is supported by all targeted compilers so the conditional
support can be removed.
miscco pushed a commit that referenced this issue Aug 21, 2023
As part of #127 code for
unsupported compilation modes/platforms will be removed.

`noexcept` is supported by all targeted compilers so the conditional
support can be removed.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 21, 2023
…macros

As part of NVIDIA#127, code for unsupported compilation modes/platforms will be removed.
`default`, `constexpr`, and `delete` are supported by all targeted compilers, so the conditional support can be removed.

All `_LIBCUDACXX_CONSTEXPR` macros are replaced by `constexpr`.
All `_LIBCUDACXX_EQUAL_DEFAULT` macros are replaced by `= default;`.
All `_LIBCUDACXX_EQUAL_DELETE` macros are replaced by `= delete;`.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 22, 2023
…macros

As part of NVIDIA#127, code for unsupported compilation modes/platforms will be removed.
`default`, `constexpr`, and `delete` are supported by all targeted compilers, so the conditional support can be removed.

All `_LIBCUDACXX_CONSTEXPR` macros are replaced by `constexpr`.
All `_LIBCUDACXX_EQUAL_DEFAULT` macros are replaced by `= default;`.
All `_LIBCUDACXX_EQUAL_DELETE` macros are replaced by `= delete;`.
miscco pushed a commit that referenced this issue Aug 23, 2023
…macros

As part of #127, code for unsupported compilation modes/platforms will be removed.
`default`, `constexpr`, and `delete` are supported by all targeted compilers, so the conditional support can be removed.

All `_LIBCUDACXX_CONSTEXPR` macros are replaced by `constexpr`.
All `_LIBCUDACXX_EQUAL_DEFAULT` macros are replaced by `= default;`.
All `_LIBCUDACXX_EQUAL_DELETE` macros are replaced by `= delete;`.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 23, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 23, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 23, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 24, 2023
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 24, 2023
miscco pushed a commit that referenced this issue Aug 25, 2023
* Remove _LIBCUDACXX_CXX03_LANG macro and all encapsulated code

As part of #127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.

* Remove `__functional_03` and `__functional_base_03`

This patch relates to #127.

---------

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 25, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 25, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 28, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 28, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. This patch removes all checks against C++03 and the corresponding code
from the unit test located under `.upstream-test/`.

This patch relates to NVIDIA#127.
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 28, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. This patch removes all checks against C++03 and the corresponding code
from the unit test located under `.upstream-test/`.

This patch relates to NVIDIA#127.
miscco pushed a commit that referenced this issue Aug 28, 2023
As part of #127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 28, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. In alignment with this goal, the present patch remove all
checks against C++03 and the corresponding code from the unit test
located under `.upstream-test/`.

This patch relates to NVIDIA#127.
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 28, 2023
…#368)

* Remove _LIBCUDACXX_CXX03_LANG macro and all encapsulated code

As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.

* Remove `__functional_03` and `__functional_base_03`

This patch relates to NVIDIA#127.

---------

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 28, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 28, 2023
…#368)

* Remove _LIBCUDACXX_CXX03_LANG macro and all encapsulated code

As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.

* Remove `__functional_03` and `__functional_base_03`

This patch relates to NVIDIA#127.

---------

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 28, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 29, 2023
…#368)

* Remove _LIBCUDACXX_CXX03_LANG macro and all encapsulated code

As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.

* Remove `__functional_03` and `__functional_base_03`

This patch relates to NVIDIA#127.

---------

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 29, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 29, 2023
…#368)

* Remove _LIBCUDACXX_CXX03_LANG macro and all encapsulated code

As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.

* Remove `__functional_03` and `__functional_base_03`

This patch relates to NVIDIA#127.

---------

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 29, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
alliepiper pushed a commit to alliepiper/cccl that referenced this issue Aug 30, 2023
As part of NVIDIA#127 code for
unsupported compilation modes/platforms will be removed.

`noexcept` is supported by all targeted compilers so the conditional
support can be removed.
alliepiper pushed a commit to alliepiper/cccl that referenced this issue Aug 30, 2023
…macros

As part of NVIDIA#127, code for unsupported compilation modes/platforms will be removed.
`default`, `constexpr`, and `delete` are supported by all targeted compilers, so the conditional support can be removed.

All `_LIBCUDACXX_CONSTEXPR` macros are replaced by `constexpr`.
All `_LIBCUDACXX_EQUAL_DEFAULT` macros are replaced by `= default;`.
All `_LIBCUDACXX_EQUAL_DELETE` macros are replaced by `= delete;`.
alliepiper pushed a commit to alliepiper/cccl that referenced this issue Aug 30, 2023
…#368)

* Remove _LIBCUDACXX_CXX03_LANG macro and all encapsulated code

As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.

* Remove `__functional_03` and `__functional_base_03`

This patch relates to NVIDIA#127.

---------

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
Blonck pushed a commit to Blonck/cccl that referenced this issue Aug 31, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. In alignment with this goal, the present patch remove all
checks against C++03 and the corresponding code from the unit test
located under `.upstream-test/`.

This patch relates to NVIDIA#127.
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 31, 2023
…#368)

* Remove _LIBCUDACXX_CXX03_LANG macro and all encapsulated code

As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_CXX03_LANG` macro is used to guard code only
compiled for C++03. The macro and all encapsulated code are removed.

* Remove `__functional_03` and `__functional_base_03`

This patch relates to NVIDIA#127.

---------

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
ahendriksen pushed a commit to ahendriksen/cccl that referenced this issue Aug 31, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. `_LICUDACXX_STD_VER` macro defines which C++ standard is
used. This patch removes all checks against C++ versions before 11 and
the corresponding code.

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
miscco pushed a commit that referenced this issue Sep 18, 2023
* Remove C++03 compatability from unit tests

As part of #127, code for unsupported compilation modes/platforms will
be removed. In alignment with this goal, the present patch remove all
checks against C++03 and the corresponding code from the unit test
located under `.upstream-test/`.

This patch relates to #127.

Co-authored-by: Martin Marenz <martin.marenz@webfleet.com>
Blonck added a commit to Blonck/cccl that referenced this issue Dec 15, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. This patch removes all remaining checks against C++03 which
were left after NVIDIA#378.

This patch relates to NVIDIA#127 and NVIDIA#378.
Blonck added a commit to Blonck/cccl that referenced this issue Dec 18, 2023
As part of NVIDIA#127, code for unsupported compilation modes/platforms will
be removed. This patch removes all remaining checks against C++03 which
were left after NVIDIA#378.

This patch relates to NVIDIA#127 and NVIDIA#378.
miscco added a commit that referenced this issue Jan 18, 2024
* Remove remaining C++03 compatibility from unit tests

As part of #127, code for unsupported compilation modes/platforms will
be removed. This patch removes all remaining checks against C++03 which
were left after #378.

This patch relates to #127 and #378.

---------

Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
alliepiper added a commit to alliepiper/cccl that referenced this issue Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request. good first issue Good for newcomers. libcu++ For all items related to libcu++
Projects
Status: Todo
Development

No branches or pull requests

1 participant