public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/66788] New: [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
@ 2015-07-07 11:16 rguenth at gcc dot gnu.org
  2015-07-07 11:17 ` [Bug libstdc++/66788] " rguenth at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-07 11:16 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 66788
           Summary: [5 Regression] Rejects instantiation of class
                    std::deque<long long unsigned int> with -m32
           Product: gcc
           Version: 5.1.1
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---
            Target: i?86-*-*

Created attachment 35922
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35922&action=edit
unincluded testcase

The testcase is rejected with GCC 5 and -std=c++11 -m32 with

In file included from
/usr/include/c++/5/x86_64-suse-linux/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from
/home/abuild/rpmbuild/BUILD/FreeOCL-0.3.6.svn.397/src/freeocl.h:22,
                 from
/home/abuild/rpmbuild/BUILD/FreeOCL-0.3.6.svn.397/src/freeocl.cpp:18:
/usr/include/c++/5/ext/new_allocator.h: In instantiation of ‘struct
__gnu_cxx::new_allocator<long long unsigned int>’:
/usr/include/c++/5/bits/allocator.h:92:11:   required from ‘class
std::allocator<long long unsigned int>’
/usr/include/c++/5/bits/alloc_traits.h:88:43:   required from ‘struct
std::allocator_traits<std::allocator<long long unsigned int> >’
/usr/include/c++/5/ext/alloc_traits.h:95:10:   required from ‘struct
__gnu_cxx::__alloc_traits<std::allocator<long long unsigned int> >’
/usr/include/c++/5/bits/stl_deque.h:462:21:   required from ‘class
std::_Deque_base<long long unsigned int, std::allocator<long long unsigned int>
>’
/usr/include/c++/5/bits/stl_deque.h:829:11:   required from ‘class
std::deque<long long unsigned int>’
/home/abuild/rpmbuild/BUILD/FreeOCL-0.3.6.svn.397/src/kernel.h:44:43:  
required from here
/usr/include/c++/5/ext/new_allocator.h:93:7: error: ‘const _Tp*
__gnu_cxx::new_allocator<_Tp>::address(__gnu_cxx::new_allocator<_Tp>::const_reference)
const [with _Tp = long long unsigned int;
__gnu_cxx::new_allocator<_Tp>::const_pointer = const long long unsigned int*;
__gnu_cxx::new_allocator<_Tp>::const_reference = const long long unsigned
int&]’ cannot be overloaded
       address(const_reference __x) const _GLIBCXX_NOEXCEPT
       ^

while it is accepted with GCC 5 and -m64 (or GCC 4.9 and both -m32 and -m64).
>From gcc-bugs-return-491638-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jul 07 11:16:55 2015
Return-Path: <gcc-bugs-return-491638-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 117058 invoked by alias); 7 Jul 2015 11:16:55 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 117010 invoked by uid 48); 7 Jul 2015 11:16:51 -0000
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libstdc++/66788] [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
Date: Tue, 07 Jul 2015 11:16:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: libstdc++
X-Bugzilla-Version: 5.1.1
X-Bugzilla-Keywords: rejects-valid
X-Bugzilla-Severity: normal
X-Bugzilla-Who: rguenth at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: component
Message-ID: <bug-66788-4-DCCtjtoaTY@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66788-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66788-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-07/txt/msg00528.txt.bz2
Content-length: 407

https://gcc.gnu.org/bugzilla/show_bug.cgi?idf788

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |libstdc++

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Actually more likely a libstdc++ issue.


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

* [Bug libstdc++/66788] [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
  2015-07-07 11:16 [Bug c++/66788] New: [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32 rguenth at gcc dot gnu.org
@ 2015-07-07 11:17 ` rguenth at gcc dot gnu.org
  2015-07-07 11:32 ` [Bug libstdc++/66788] [4.9/5 " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-07 11:17 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |5.2


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

* [Bug libstdc++/66788] [4.9/5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
  2015-07-07 11:16 [Bug c++/66788] New: [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32 rguenth at gcc dot gnu.org
  2015-07-07 11:17 ` [Bug libstdc++/66788] " rguenth at gcc dot gnu.org
@ 2015-07-07 11:32 ` rguenth at gcc dot gnu.org
  2015-07-07 11:39 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-07 11:32 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|5.2                         |4.9.4
            Summary|[5 Regression] Rejects      |[4.9/5 Regression] Rejects
                   |instantiation of class      |instantiation of class
                   |std::deque<long long        |std::deque<long long
                   |unsigned int> with -m32     |unsigned int> with -m32


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

* [Bug libstdc++/66788] [4.9/5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
  2015-07-07 11:16 [Bug c++/66788] New: [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32 rguenth at gcc dot gnu.org
  2015-07-07 11:17 ` [Bug libstdc++/66788] " rguenth at gcc dot gnu.org
  2015-07-07 11:32 ` [Bug libstdc++/66788] [4.9/5 " rguenth at gcc dot gnu.org
@ 2015-07-07 11:39 ` rguenth at gcc dot gnu.org
  2015-07-07 11:45 ` [Bug c++/66788] " rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-07 11:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Reduced testcase:

#include <cstdint>
#include <deque>
typedef uint64_t cl_ulong __attribute__((aligned(8)));
std::deque<cl_ulong> args_qualifier;


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

* [Bug c++/66788] [4.9/5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
  2015-07-07 11:16 [Bug c++/66788] New: [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32 rguenth at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2015-07-07 11:39 ` rguenth at gcc dot gnu.org
@ 2015-07-07 11:45 ` rguenth at gcc dot gnu.org
  2015-07-07 11:48 ` trippels at gcc dot gnu.org
  2015-07-07 11:49 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-07 11:45 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org
          Component|libstdc++                   |c++

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Jason, on the 4.9 branch this looks like it is caused by some C++ FE change.

Not sure what is correct behavior here (Jakub points out mangling ignores
the over-alignment).


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

* [Bug c++/66788] [4.9/5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
  2015-07-07 11:16 [Bug c++/66788] New: [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32 rguenth at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2015-07-07 11:45 ` [Bug c++/66788] " rguenth at gcc dot gnu.org
@ 2015-07-07 11:48 ` trippels at gcc dot gnu.org
  2015-07-07 11:49 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-07-07 11:48 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |trippels at gcc dot gnu.org

--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
reduced test case:

template <typename _Tp> class A {
  void address(_Tp &) const;
  void address(const _Tp &) const;
};
typedef long long cl_ulong __attribute__((aligned(8)));
template <typename _Tp, typename _Alloc = A<_Tp>> class B : _Alloc {};
B<cl_ulong> a;


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

* [Bug c++/66788] [4.9/5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
  2015-07-07 11:16 [Bug c++/66788] New: [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32 rguenth at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-07-07 11:48 ` trippels at gcc dot gnu.org
@ 2015-07-07 11:49 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-07 11:49 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.8.5, 6.0

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Trunk accepts this and says:

freeocl.3.cpp:4:20: warning: ignoring attributes on template argument ‘cl_ulong
{aka long long unsigned int}’
 std::deque<cl_ulong> args_qualifier;
>From gcc-bugs-return-491648-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jul 07 12:03:23 2015
Return-Path: <gcc-bugs-return-491648-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 106067 invoked by alias); 7 Jul 2015 12:03:23 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 105499 invoked by uid 48); 7 Jul 2015 12:03:10 -0000
From: "redi at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/66788] [4.9/5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32
Date: Tue, 07 Jul 2015 12:03:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 5.1.1
X-Bugzilla-Keywords: rejects-valid
X-Bugzilla-Severity: normal
X-Bugzilla-Who: redi at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.4
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66788-4-RBXe1oi6OT@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66788-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66788-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-07/txt/msg00538.txt.bz2
Content-length: 403

https://gcc.gnu.org/bugzilla/show_bug.cgi?idf788

--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #3)
> Not sure what is correct behavior here (Jakub points out mangling ignores
> the over-alignment).

Even ignoring the over-alignment, const cl_ulong& and cl_ulong& are different
types and I think it should be possible to overload on them.


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

end of thread, other threads:[~2015-07-07 11:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-07 11:16 [Bug c++/66788] New: [5 Regression] Rejects instantiation of class std::deque<long long unsigned int> with -m32 rguenth at gcc dot gnu.org
2015-07-07 11:17 ` [Bug libstdc++/66788] " rguenth at gcc dot gnu.org
2015-07-07 11:32 ` [Bug libstdc++/66788] [4.9/5 " rguenth at gcc dot gnu.org
2015-07-07 11:39 ` rguenth at gcc dot gnu.org
2015-07-07 11:45 ` [Bug c++/66788] " rguenth at gcc dot gnu.org
2015-07-07 11:48 ` trippels at gcc dot gnu.org
2015-07-07 11:49 ` rguenth 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).