public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/101271] New: [12 Regression] error: ‘static constexpr decltype ... used before its definition
@ 2021-06-30 14:27 marxin at gcc dot gnu.org
  2021-06-30 15:51 ` [Bug libstdc++/101271] " redi at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-06-30 14:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101271

            Bug ID: 101271
           Summary: [12 Regression] error: ‘static constexpr decltype ...
                    used before its definition
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: redi at gcc dot gnu.org
  Target Milestone: ---

Created attachment 51090
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51090&action=edit
test-case

It's a recent regression. The test-case comes from blender package:

$ g++ blender.ii -c
In file included from /usr/include/openvdb/tree/LeafBuffer.h:10,
                 from /usr/include/openvdb/tree/LeafNode.h:11,
                 from /usr/include/openvdb/tree/Tree.h:18,
                 from /usr/include/openvdb/Grid.h:12,
                 from /usr/include/openvdb/openvdb.h:12,
                 from
/home/abuild/rpmbuild/BUILD/blender-2.92.0/extern/mantaflow/preprocessed/fileio/iovdb.cpp:31:
/usr/include/tbb/atomic.h:21:141: note: ‘#pragma message: TBB Warning:
tbb/atomic.h is deprecated. For details, please see Deprecated Features
appendix in the TBB reference manual.’
In file included from /usr/include/openvdb/tools/PointPartitioner.h:26,
                 from /usr/include/openvdb/tools/PointIndexGrid.h:19,
                 from /usr/include/openvdb/points/PointConversion.h:15,
                 from
/home/abuild/rpmbuild/BUILD/blender-2.92.0/extern/mantaflow/preprocessed/fileio/iovdb.cpp:32:
/usr/include/tbb/task_scheduler_init.h:21:154: note: ‘#pragma message: TBB
Warning: tbb/task_scheduler_init.h is deprecated. For details, please see
Deprecated Features appendix in the TBB reference manual.’
In file included from /usr/include/c++/12/memory:76,
                 from /usr/include/tbb/tbb_stddef.h:452,
                 from /usr/include/tbb/blocked_range3d.h:20,
                 from
/home/abuild/rpmbuild/BUILD/blender-2.92.0/extern/mantaflow/preprocessed/kernel.h:23,
                 from
/home/abuild/rpmbuild/BUILD/blender-2.92.0/extern/mantaflow/preprocessed/grid.h:26,
                 from
/home/abuild/rpmbuild/BUILD/blender-2.92.0/extern/mantaflow/preprocessed/fileio/iovdb.cpp:25:
/usr/include/c++/12/bits/unique_ptr.h: In instantiation of ‘typename
std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [],
_Dp>::operator[](std::size_t) const [with _Tp = unsigned int; _Dp =
std::default_delete<unsigned int []>; typename
std::add_lvalue_reference<_Tp>::type = unsigned int&; std::size_t = long
unsigned int]’:
/usr/include/openvdb/tools/PointIndexGrid.h:447:20:   required from here
/usr/include/c++/12/bits/unique_ptr.h:672:55: error: ‘static constexpr decltype
((sizeof (_Elt) != 0)) std::unique_ptr<_Tp [],
_Dp>::_S_nothrow_deref(std::size_t) [with _Ptr = unsigned int*; _Elt = unsigned
int; _Tp = unsigned int; _Dp = std::default_delete<unsigned int []>; decltype
((sizeof (_Elt) != 0)) = bool; std::size_t = long unsigned int]’ used before
its definition

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libstdc++/101271] [12 Regression] error: ‘static constexpr decltype ... used before its definition
  2021-06-30 14:27 [Bug libstdc++/101271] New: [12 Regression] error: ‘static constexpr decltype ... used before its definition marxin at gcc dot gnu.org
@ 2021-06-30 15:51 ` redi at gcc dot gnu.org
  2021-07-01  7:16 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: redi at gcc dot gnu.org @ 2021-06-30 15:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101271

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This is the workaround for the undefined llvm code, but I don't understand the
error.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libstdc++/101271] [12 Regression] error: ‘static constexpr decltype ... used before its definition
  2021-06-30 14:27 [Bug libstdc++/101271] New: [12 Regression] error: ‘static constexpr decltype ... used before its definition marxin at gcc dot gnu.org
  2021-06-30 15:51 ` [Bug libstdc++/101271] " redi at gcc dot gnu.org
@ 2021-07-01  7:16 ` rguenth at gcc dot gnu.org
  2021-07-02  7:50 ` redi at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-07-01  7:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101271

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |12.0

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libstdc++/101271] [12 Regression] error: ‘static constexpr decltype ... used before its definition
  2021-06-30 14:27 [Bug libstdc++/101271] New: [12 Regression] error: ‘static constexpr decltype ... used before its definition marxin at gcc dot gnu.org
  2021-06-30 15:51 ` [Bug libstdc++/101271] " redi at gcc dot gnu.org
  2021-07-01  7:16 ` rguenth at gcc dot gnu.org
@ 2021-07-02  7:50 ` redi at gcc dot gnu.org
  2021-07-02 11:15 ` cvs-commit at gcc dot gnu.org
  2021-07-02 11:17 ` redi at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: redi at gcc dot gnu.org @ 2021-07-02  7:50 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101271

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-07-02
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |redi at gcc dot gnu.org

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libstdc++/101271] [12 Regression] error: ‘static constexpr decltype ... used before its definition
  2021-06-30 14:27 [Bug libstdc++/101271] New: [12 Regression] error: ‘static constexpr decltype ... used before its definition marxin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-07-02  7:50 ` redi at gcc dot gnu.org
@ 2021-07-02 11:15 ` cvs-commit at gcc dot gnu.org
  2021-07-02 11:17 ` redi at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-07-02 11:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101271

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:

https://gcc.gnu.org/g:bc8f0ed7042280282035168428f6afc839997cf0

commit r12-1976-gbc8f0ed7042280282035168428f6afc839997cf0
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Jul 2 08:46:18 2021 +0100

    libstdc++: Revert changes to std::unique_ptr<T[]>::operator[] [PR 101271]

    This reverts the changes in r12-1778 which added a noexcept-specifier to
    std::unique_ptr<T[]>::operator[], and the changes in r12-1844 which
    tried to make it work with incomplete types (for PR 101236).

    The noexcept-specifier is not required by the standard, and is causing
    regressions, so just remove it.

    Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

    libstdc++-v3/ChangeLog:

            PR libstdc++/101271
            * include/bits/unique_ptr.h (unique_ptr<T[],D>::operator[]):
            Remove noexcept-specifier.
            (unique_ptr<T[],D>::_S_nothrow_deref): Remove.
            * testsuite/20_util/unique_ptr/lwg2762.cc: Remove checks for
            operator[].

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libstdc++/101271] [12 Regression] error: ‘static constexpr decltype ... used before its definition
  2021-06-30 14:27 [Bug libstdc++/101271] New: [12 Regression] error: ‘static constexpr decltype ... used before its definition marxin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-07-02 11:15 ` cvs-commit at gcc dot gnu.org
@ 2021-07-02 11:17 ` redi at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: redi at gcc dot gnu.org @ 2021-07-02 11:17 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101271

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Should be fixed

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-07-02 11:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-30 14:27 [Bug libstdc++/101271] New: [12 Regression] error: ‘static constexpr decltype ... used before its definition marxin at gcc dot gnu.org
2021-06-30 15:51 ` [Bug libstdc++/101271] " redi at gcc dot gnu.org
2021-07-01  7:16 ` rguenth at gcc dot gnu.org
2021-07-02  7:50 ` redi at gcc dot gnu.org
2021-07-02 11:15 ` cvs-commit at gcc dot gnu.org
2021-07-02 11:17 ` redi at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).