public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
@ 2013-10-16 18:39 ville.voutilainen at gmail dot com
  2013-10-16 21:40 ` [Bug c++/58753] " paolo.carlini at oracle dot com
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: ville.voutilainen at gmail dot com @ 2013-10-16 18:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58753

            Bug ID: 58753
           Summary: Brace-initializing a vector with a
                    direct-initialization NSDMI doesn't work in a template
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ville.voutilainen at gmail dot com

This snippet doesn't work:

#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

template <class zomg> 
class T {
        vector<int> v{2,6,4,1,7,1}; // #1, fails
    static int comp(int x, int y) 
    {return x < y;} 
public: 
    void sort_me() {sort(v.begin(), v.end(), comp);} 
    void print_me() {for (auto x : v) cout << x << endl;}
}; 


int main()
{
  T<int> t;
    t.sort_me();
    t.print_me();
}

It works if T is not a class template. It also works if the line
marked #1 is written as
        vector<int> v = {2,6,4,1,7,1};
both in a class template and in a normal class. Fails the same
way with 4.7.2, 4.8 and 4.9 trunk.

Full diagnostics:
plaatti.cpp: In constructor ‘constexpr T<int>::T()’:
plaatti.cpp:8:7: error: no matching function for call to
‘std::vector<int>::vector(<brace-enclosed initializer list>)’
 class T {
       ^
plaatti.cpp:8:7: note: candidates are:
In file included from /usr/local/include/c++/4.9.0/vector:64:0,
                 from plaatti.cpp:1:
/usr/local/include/c++/4.9.0/bits/stl_vector.h:386:9: note: template<class
_InputIterator, class> std::vector<_Tp, _Alloc>::vector(_InputIterator,
_InputIterator, const allocator_type&)
         vector(_InputIterator __first, _InputIterator __last,
         ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:386:9: note:   template argument
deduction/substitution failed:
plaatti.cpp:8:7: note:   cannot convert ‘4’ (type ‘int’) to type ‘const
allocator_type& {aka const std::allocator<int>&}’
 class T {
       ^
In file included from /usr/local/include/c++/4.9.0/vector:64:0,
                 from plaatti.cpp:1:
/usr/local/include/c++/4.9.0/bits/stl_vector.h:358:7: note: std::vector<_Tp,
_Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp =
int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::allocator_type =
std::allocator<int>]
       vector(initializer_list<value_type> __l,
       ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:358:7: note:   candidate expects
2 arguments, 6 provided
In file included from /usr/local/include/c++/4.9.0/vector:64:0,
                 from plaatti.cpp:1:
/usr/local/include/c++/4.9.0/bits/stl_vector.h:334:7: note: std::vector<_Tp,
_Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp =
int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::allocator_type =
std::allocator<int>]
       vector(vector&& __rv, const allocator_type& __m)
       ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:334:7: note:   candidate expects
2 arguments, 6 provided
/usr/local/include/c++/4.9.0/bits/stl_vector.h:325:7: note: std::vector<_Tp,
_Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with
_Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp,
_Alloc>::allocator_type = std::allocator<int>]
       vector(const vector& __x, const allocator_type& __a)
       ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:325:7: note:   candidate expects
2 arguments, 6 provided
/usr/local/include/c++/4.9.0/bits/stl_vector.h:321:7: note: std::vector<_Tp,
_Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = int; _Alloc =
std::allocator<int>]
       vector(vector&& __x) noexcept
       ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:321:7: note:   candidate expects
1 argument, 6 provided
In file included from /usr/local/include/c++/4.9.0/vector:64:0,
                 from plaatti.cpp:1:
/usr/local/include/c++/4.9.0/bits/stl_vector.h:304:7: note: std::vector<_Tp,
_Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc =
std::allocator<int>]
       vector(const vector& __x)
       ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:304:7: note:   candidate expects
1 argument, 6 provided
In file included from /usr/local/include/c++/4.9.0/vector:64:0,
                 from plaatti.cpp:1:
/usr/local/include/c++/4.9.0/bits/stl_vector.h:275:7: note: std::vector<_Tp,
_Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const
allocator_type&) [with _Tp = int; _Alloc = std::allocator<int>;
std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp,
_Alloc>::value_type = int; std::vector<_Tp, _Alloc>::allocator_type =
std::allocator<int>]
       vector(size_type __n, const value_type& __value,
       ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:275:7: note:   candidate expects
3 arguments, 6 provided
In file included from /usr/local/include/c++/4.9.0/vector:64:0,
                 from plaatti.cpp:1:
/usr/local/include/c++/4.9.0/bits/stl_vector.h:263:7: note: std::vector<_Tp,
_Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&)
[with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp,
_Alloc>::size_type = long unsigned int; std::vector<_Tp,
_Alloc>::allocator_type = std::allocator<int>]
       vector(size_type __n, const allocator_type& __a = allocator_type())
       ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:263:7: note:   candidate expects
2 arguments, 6 provided
In file included from /usr/local/include/c++/4.9.0/vector:64:0,
                 from plaatti.cpp:1:
/usr/local/include/c++/4.9.0/bits/stl_vector.h:250:7: note: std::vector<_Tp,
_Alloc>::vector(const allocator_type&) [with _Tp = int; _Alloc =
std::allocator<int>; std::vector<_Tp, _Alloc>::allocator_type =
std::allocator<int>]
       vector(const allocator_type& __a = allocator_type()) _GLIBCXX_NOEXCEPT
       ^
/usr/local/include/c++/4.9.0/bits/stl_vector.h:250:7: note:   candidate expects
1 argument, 6 provided
plaatti.cpp: In function ‘int main()’:
plaatti.cpp:20:10: note: synthesized method ‘constexpr T<int>::T()’ first
required here 
   T<int> t;
          ^
>From gcc-bugs-return-431969-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Oct 16 18:52:59 2013
Return-Path: <gcc-bugs-return-431969-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 27659 invoked by alias); 16 Oct 2013 18:52:59 -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 27638 invoked by uid 48); 16 Oct 2013 18:52:56 -0000
From: "juergen.reuter at desy dot de" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/58754] New: ICE/Regression in [4.7/4.8/4.9] with allocatable character arrays
Date: Wed, 16 Oct 2013 18:52:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: juergen.reuter at desy dot de
X-Bugzilla-Status: UNCONFIRMED
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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-58754-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: 2013-10/txt/msg01113.txt.bz2
Content-length: 620

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX754

            Bug ID: 58754
           Summary: ICE/Regression in [4.7/4.8/4.9] with allocatable
                    character arrays
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: juergen.reuter at desy dot de

This code causes an ICE in 4.7/4.8/4.9, but worked in 4.6
(not sure whether this has been reported already):
character, allocatable :: c(:)
allocate (c (1), source = " ")
end


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
@ 2013-10-16 21:40 ` paolo.carlini at oracle dot com
  2013-10-16 22:13 ` ville.voutilainen at gmail dot com
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-16 21:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58753

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jwakely.gcc at gmail dot com

--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> ---
We badly need a reduced testcase.


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
  2013-10-16 21:40 ` [Bug c++/58753] " paolo.carlini at oracle dot com
@ 2013-10-16 22:13 ` ville.voutilainen at gmail dot com
  2013-10-16 22:23 ` paolo.carlini at oracle dot com
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ville.voutilainen at gmail dot com @ 2013-10-16 22:13 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58753

--- Comment #2 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
This snippet

#include <vector>

struct X {X(int) {}};

template <class zomg> 
class T {
  std::vector<int> x{0}; 
}; 


int main()
{
  T<int> t;
}

gives the following:

plaatti-reduced.cpp: In constructor ‘constexpr T<int>::T()’:
plaatti-reduced.cpp:6:7: error: converting to ‘std::vector<int>’ from
initializer list would use explicit constructor ‘std::vector<_Tp,
_Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&)
[with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp,
_Alloc>::size_type = long unsigned int; std::vector<_Tp,
_Alloc>::allocator_type = std::allocator<int>]’
 class T {
       ^
plaatti-reduced.cpp: In function ‘int main()’:
plaatti-reduced.cpp:13:10: note: synthesized method ‘constexpr T<int>::T()’
first required here 
   T<int> t;
          ^

A non-template is still fine, and a copy-initialized brace-NSDMI is still fine.
>From gcc-bugs-return-432000-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Oct 16 22:14:58 2013
Return-Path: <gcc-bugs-return-432000-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 19118 invoked by alias); 16 Oct 2013 22:14:57 -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 19067 invoked by uid 48); 16 Oct 2013 22:14:53 -0000
From: "ville.voutilainen at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
Date: Wed, 16 Oct 2013 22:14: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: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ville.voutilainen at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
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:
Message-ID: <bug-58753-4-TZ2fXJZKay@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58753-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58753-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: 2013-10/txt/msg01144.txt.bz2
Content-length: 395

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX753

--- Comment #3 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
And, the struct X is not significant, but I tested with just a simple
type that can be brace-initialized, and that didn't trigger the error.
I haven't yet narrowed it down to initializer_list or anything like that,
vector seems to be a surefire way to trigger it.


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
  2013-10-16 21:40 ` [Bug c++/58753] " paolo.carlini at oracle dot com
  2013-10-16 22:13 ` ville.voutilainen at gmail dot com
@ 2013-10-16 22:23 ` paolo.carlini at oracle dot com
  2013-10-16 22:26 ` ville.voutilainen at gmail dot com
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-16 22:23 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58753

--- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Thanks Ville. I'm thinking something not including the whole <vector>. I bet
20-30 lines are enough.


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (2 preceding siblings ...)
  2013-10-16 22:23 ` paolo.carlini at oracle dot com
@ 2013-10-16 22:26 ` ville.voutilainen at gmail dot com
  2013-10-16 22:30 ` ville.voutilainen at gmail dot com
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ville.voutilainen at gmail dot com @ 2013-10-16 22:26 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58753

--- Comment #5 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
I will try a couple of tricks to try and get rid of vector. I don't think it's
a library bug, perhaps additional constructor overloads can trigger it. But
that'll have to wait until tomorrow. :)


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (3 preceding siblings ...)
  2013-10-16 22:26 ` ville.voutilainen at gmail dot com
@ 2013-10-16 22:30 ` ville.voutilainen at gmail dot com
  2013-10-21 22:06 ` ville.voutilainen at gmail dot com
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ville.voutilainen at gmail dot com @ 2013-10-16 22:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58753

--- Comment #6 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
Just one thing: I find it confusing that the diagnostics say
"synthesized method ‘constexpr T<int>::T()" (note the constexpr), there's
not a snowball's chance in hell that that constructor is ever constexpr,
since we _do_ have a vector member here.
>From gcc-bugs-return-432008-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Oct 16 22:35:11 2013
Return-Path: <gcc-bugs-return-432008-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 8992 invoked by alias); 16 Oct 2013 22:35:10 -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 8942 invoked by uid 48); 16 Oct 2013 22:35:07 -0000
From: "paolo.carlini at oracle dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
Date: Wed, 16 Oct 2013 22:35: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: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: paolo.carlini at oracle dot com
X-Bugzilla-Status: UNCONFIRMED
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:
Message-ID: <bug-58753-4-OYTwX883h1@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58753-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58753-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: 2013-10/txt/msg01152.txt.bz2
Content-length: 194

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX753

--- Comment #7 from Paolo Carlini <paolo.carlini at oracle dot com> ---
I see. Let's have first something of manageable size ;) Thanks again!


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (4 preceding siblings ...)
  2013-10-16 22:30 ` ville.voutilainen at gmail dot com
@ 2013-10-21 22:06 ` ville.voutilainen at gmail dot com
  2013-10-21 22:33 ` paolo.carlini at oracle dot com
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ville.voutilainen at gmail dot com @ 2013-10-21 22:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58753

--- Comment #8 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
Slightly reduced, I guess...

#include <initializer_list>

template <class T>
struct X {X(std::initializer_list<int>) {}};

template <class zomg> 
class T {
  X<T> x{1}; 
}; 


int main()
{
  T<int> t;
}



This gives

plaatti-reduced2.cpp: In constructor ‘constexpr T<int>::T()’:
plaatti-reduced2.cpp:7:7: error: no matching function for call to ‘X<T<int>
>::X(<brace-enclosed initializer list>)’
 class T {
       ^
plaatti-reduced2.cpp:7:7: note: candidates are:
plaatti-reduced2.cpp:4:11: note: X<T>::X(std::initializer_list<int>) [with T =
T<int>]
 struct X {X(std::initializer_list<int>) {}};
           ^
plaatti-reduced2.cpp:4:8: note: constexpr X<T<int> >::X(const X<T<int> >&)
 struct X {X(std::initializer_list<int>) {}};
        ^
plaatti-reduced2.cpp:4:8: note:   no known conversion for argument 1 from ‘int’
to ‘const X<T<int> >&’
plaatti-reduced2.cpp:4:8: note: constexpr X<T<int> >::X(X<T<int> >&&)
plaatti-reduced2.cpp:4:8: note:   no known conversion for argument 1 from ‘int’
to ‘X<T<int> >&&’
plaatti-reduced2.cpp: In function ‘int main()’:
plaatti-reduced2.cpp:14:10: note: synthesized method ‘constexpr T<int>::T()’
first required here 
   T<int> t;
          ^
>From gcc-bugs-return-432410-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Oct 21 22:09:09 2013
Return-Path: <gcc-bugs-return-432410-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 18957 invoked by alias); 21 Oct 2013 22:09:08 -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 18906 invoked by uid 48); 21 Oct 2013 22:09:03 -0000
From: "su at cs dot ucdavis.edu" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/58830] New: wrong code at -O3 on x86_64-linux-gnu (affecting 4.8.x, but not trunk or 4.7.x)
Date: Mon, 21 Oct 2013 22:09:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.8.2
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: su at cs dot ucdavis.edu
X-Bugzilla-Status: UNCONFIRMED
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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-58830-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: 2013-10/txt/msg01554.txt.bz2
Content-length: 2102

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX830

            Bug ID: 58830
           Summary: wrong code at -O3 on x86_64-linux-gnu (affecting
                    4.8.x, but not trunk or 4.7.x)
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: su at cs dot ucdavis.edu

The following testcase is miscompiled by 4.8.2 (as well 4.8.0 and 4.8.1) on
x86_64-linux at -O3 in both 32-bit and 64-bit modes.

It works with the current gcc trunk, 4.7.x and 4.6.x.

$ gcc-4.8.2 -v
Using built-in specs.
COLLECT_GCC=gcc-4.8.2
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.8.2/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.8.2/configure
--enable-languages=c,c++,objc,obj-c++,fortran,lto --enable-checking=release
--with-gmp=/home/su/software/local/gcc-4.8.2
--with-mpfr=/home/su/software/local/gcc-4.8.2
--with-mpc=/home/su/software/local/gcc-4.8.2
--with-cloog=/home/su/software/local/gcc-4.8.2
--prefix=/home/su/software/local/gcc-4.8.2
Thread model: posix
gcc version 4.8.2 (GCC)
$
$ gcc-4.8.2 -O2 small.c; a.out
0
$ gcc-4.7.3 -O3 small.c; a.out
0
$ gcc-4.6.4 -O3 small.c; a.out
0
$ gcc-trunk -O3 small.c; a.out
0
$
$ gcc-4.8.2 -O3 small.c; a.out
2
$ gcc-4.8.1 -O3 small.c; a.out
2
$ gcc-4.8.0 -O3 small.c; a.out
2
$


---------------------------------


int printf (const char *, ...);

int b, c, d, f, g, h, i, j[6], *l = &b, *m, n, *o, r;
char k;

static int
foo ()
{
  char *p = &k;

  for (; d; d++)
    if (i)
      h = 0;
    else
      h = c || (r = 0);

  for (f = 0; f < 2; f++)
    {
      unsigned int q;
      *l = 0;
      if (n)
    *m = g;
      if (g)
    o = 0;
      for (q = -8; q >= 5; q++)
    (*p)--;
    }

  return 0;
}

int
main ()
{
  foo ();
  printf("%d\n",
j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[0]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
^ (k & 15)]);
  return 0;
}


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (5 preceding siblings ...)
  2013-10-21 22:06 ` ville.voutilainen at gmail dot com
@ 2013-10-21 22:33 ` paolo.carlini at oracle dot com
  2014-05-15  9:02 ` paolo.carlini at oracle dot com
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-21 22:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58753

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-10-21
     Ever confirmed|0                           |1

--- Comment #9 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Thanks!


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (6 preceding siblings ...)
  2013-10-21 22:33 ` paolo.carlini at oracle dot com
@ 2014-05-15  9:02 ` paolo.carlini at oracle dot com
  2014-05-15 11:38 ` ville.voutilainen at gmail dot com
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: paolo.carlini at oracle dot com @ 2014-05-15  9:02 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paolo.carlini at oracle dot com

--- Comment #10 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Ville, I believe PR58930 is essentially the same issue with a slightly smaller
testcase. What do you think?


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (7 preceding siblings ...)
  2014-05-15  9:02 ` paolo.carlini at oracle dot com
@ 2014-05-15 11:38 ` ville.voutilainen at gmail dot com
  2014-05-15 12:19 ` paolo.carlini at oracle dot com
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ville.voutilainen at gmail dot com @ 2014-05-15 11:38 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
(In reply to Paolo Carlini from comment #10)

Looks somewhat similar, but not identical. In this particular
bug it doesn't seem to be a case of explicitness being the problem.


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (8 preceding siblings ...)
  2014-05-15 11:38 ` ville.voutilainen at gmail dot com
@ 2014-05-15 12:19 ` paolo.carlini at oracle dot com
  2014-05-15 12:31 ` ville.voutilainen at gmail dot com
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: paolo.carlini at oracle dot com @ 2014-05-15 12:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Paolo Carlini <paolo.carlini at oracle dot com> ---
It is in Comment #2, though. In fact, I *only* noticed that one when I asked ;)
Anyway, I was looking a bit into the other bug and interestingly a rather rough
draft I have got appears to fix all these issues at once without causing
regressions:

Index: init.c
===================================================================
--- init.c      (revision 210459)
+++ init.c      (working copy)
@@ -644,7 +644,8 @@
                    || (TREE_CODE (init) == TREE_LIST
                        && DIRECT_LIST_INIT_P (TREE_VALUE (init))))
                   && (CP_AGGREGATE_TYPE_P (type)
-                      || is_std_init_list (type)))))
+                      || is_std_init_list (type)))
+              || DIRECT_LIST_INIT_P (init)))
     {
       /* With references and list-initialization, we need to deal with
         extending temporary lifetimes.  12.2p5: "A temporary bound to a


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (9 preceding siblings ...)
  2014-05-15 12:19 ` paolo.carlini at oracle dot com
@ 2014-05-15 12:31 ` ville.voutilainen at gmail dot com
  2014-05-20 19:21 ` paolo at gcc dot gnu.org
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ville.voutilainen at gmail dot com @ 2014-05-15 12:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
(In reply to Paolo Carlini from comment #12)

Ah, indeed, comment 2 has an explicit diagnostic as well. The patch
looks reasonable (to my taste the condition doesn't, but that's another
matter), so I recommend sending it to the mighty maintainer for review.


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (10 preceding siblings ...)
  2014-05-15 12:31 ` ville.voutilainen at gmail dot com
@ 2014-05-20 19:21 ` paolo at gcc dot gnu.org
  2014-05-20 19:22 ` paolo.carlini at oracle dot com
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: paolo at gcc dot gnu.org @ 2014-05-20 19:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> ---
Author: paolo
Date: Tue May 20 19:20:59 2014
New Revision: 210653

URL: http://gcc.gnu.org/viewcvs?rev=210653&root=gcc&view=rev
Log:
/cp
2014-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/58753
    PR c++/58930
    PR c++/58704
    * typeck2.c (digest_nsdmi_init): New.
    * parser.c (cp_parser_late_parse_one_default_arg): Use it.
    * init.c (get_nsdmi): Likewise.
    * cp-tree.h (digest_nsdmi_init): Declare.

/testsuite
2014-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/58753
    PR c++/58930
    PR c++/58704
    * g++.dg/cpp0x/nsdmi-template11.C: New.
    * g++.dg/cpp0x/nsdmi-template12.C: Likewise.
    * g++.dg/cpp0x/nsdmi-template13.C: Likewise.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi-template11.C
    trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C
    trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi-template13.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/init.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (11 preceding siblings ...)
  2014-05-20 19:21 ` paolo at gcc dot gnu.org
@ 2014-05-20 19:22 ` paolo.carlini at oracle dot com
  2014-07-01 18:47 ` ppluzhnikov at gcc dot gnu.org
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: paolo.carlini at oracle dot com @ 2014-05-20 19:22 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|paolo.carlini at oracle dot com    |
         Resolution|---                         |FIXED
   Target Milestone|---                         |4.10.0

--- Comment #15 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Fixed for 4.10.0.


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (12 preceding siblings ...)
  2014-05-20 19:22 ` paolo.carlini at oracle dot com
@ 2014-07-01 18:47 ` ppluzhnikov at gcc dot gnu.org
  2014-07-02  7:52 ` christophe.lyon at st dot com
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ppluzhnikov at gcc dot gnu.org @ 2014-07-01 18:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from ppluzhnikov at gcc dot gnu.org ---
Author: ppluzhnikov
Date: Tue Jul  1 18:46:26 2014
New Revision: 212207

URL: https://gcc.gnu.org/viewcvs?rev=212207&root=gcc&view=rev
Log:
Backport r210653 from mainline:


gcc/teststuite/ChangeLog:

2014-07-01  Paul Pluzhnikov  <ppluzhnikov@google.com>

    PR c++/58753
    PR c++/58930
    PR c++/58704

    Backported from mainline
    2014-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

    * g++.dg/cpp0x/nsdmi-template11.C: New.
    * g++.dg/cpp0x/nsdmi-template12.C: Likewise.
    * g++.dg/cpp0x/nsdmi-template13.C: Likewise.

gcc/cp/ChangeLog:

2014-07-01  Paul Pluzhnikov  <ppluzhnikov@google.com>

    PR c++/58753
    PR c++/58930
    PR c++/58704

    Backported from mainline
    2014-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

    * typeck2.c (digest_nsdmi_init): New.
    * parser.c (cp_parser_late_parse_one_default_arg): Use it.
    * init.c (get_nsdmi): Likewise.
    * cp-tree.h (digest_nsdmi_init): Declare.


Added:
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/cpp0x/nsdmi-template11.C
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/cpp0x/nsdmi-template13.C
Modified:
    branches/gcc-4_9-branch/gcc/cp/ChangeLog
    branches/gcc-4_9-branch/gcc/cp/cp-tree.h
    branches/gcc-4_9-branch/gcc/cp/init.c
    branches/gcc-4_9-branch/gcc/cp/parser.c
    branches/gcc-4_9-branch/gcc/cp/typeck2.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (13 preceding siblings ...)
  2014-07-01 18:47 ` ppluzhnikov at gcc dot gnu.org
@ 2014-07-02  7:52 ` christophe.lyon at st dot com
  2014-07-02  8:07 ` christophe.lyon at st dot com
  2014-11-19  9:19 ` paolo.carlini at oracle dot com
  16 siblings, 0 replies; 18+ messages in thread
From: christophe.lyon at st dot com @ 2014-07-02  7:52 UTC (permalink / raw)
  To: gcc-bugs

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

christophe.lyon at st dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |christophe.lyon at st dot com

--- Comment #17 from christophe.lyon at st dot com ---
In the 4.9 branch, these new tests fails to compile (ARM & AArch64 targets).
I can see these error messages:

/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template11.C:19:8:
error: redefinition of 'struct SampleModule'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template11.C:4:8:
error: previous definition of 'struct SampleModule'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template11.C:25:8:
error: redefinition of 'struct BaseHandler< <template-parameter-1-1> >'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template11.C:10:8:
error: previous definition of 'struct BaseHandler< <template-parameter-1-1> >'

/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C:24:8:
error: redefinition of 'struct X<T>'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C:7:8:
error: previous definition of 'struct X<T>'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C:27:7:
error: redefinition of 'class T<zomg>'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C:10:7:
error: previous definition of 'class T<zomg>'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C:
In function 'int main()':
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C:31:5:
error: redefinition of 'int main()'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template12.C:14:5:
note: 'int main()' previously defined here


/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template13.C:15:8:
error: redefinition of 'struct A'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template13.C:4:8:
error: previous definition of 'struct A'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template13.C:17:27:
error: redefinition of 'struct B< <template-parameter-1-1> >'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template13.C:6:27:
error: previous definition of 'struct B< <template-parameter-1-1> >'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template13.C:22:8:
error: redefinition of 'B<int> b'
/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/testsuite/g++.dg/cpp0x/nsdmi-template13.C:11:8:
note: 'B<int> b' previously defined here


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (14 preceding siblings ...)
  2014-07-02  7:52 ` christophe.lyon at st dot com
@ 2014-07-02  8:07 ` christophe.lyon at st dot com
  2014-11-19  9:19 ` paolo.carlini at oracle dot com
  16 siblings, 0 replies; 18+ messages in thread
From: christophe.lyon at st dot com @ 2014-07-02  8:07 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from christophe.lyon at st dot com ---
Actually fixed by followup commit 212208. Sorry for the noise.


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

* [Bug c++/58753] Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template
  2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
                   ` (15 preceding siblings ...)
  2014-07-02  8:07 ` christophe.lyon at st dot com
@ 2014-11-19  9:19 ` paolo.carlini at oracle dot com
  16 siblings, 0 replies; 18+ messages in thread
From: paolo.carlini at oracle dot com @ 2014-11-19  9:19 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|5.0                         |4.9.1


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

end of thread, other threads:[~2014-11-19  9:19 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-16 18:39 [Bug c++/58753] New: Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template ville.voutilainen at gmail dot com
2013-10-16 21:40 ` [Bug c++/58753] " paolo.carlini at oracle dot com
2013-10-16 22:13 ` ville.voutilainen at gmail dot com
2013-10-16 22:23 ` paolo.carlini at oracle dot com
2013-10-16 22:26 ` ville.voutilainen at gmail dot com
2013-10-16 22:30 ` ville.voutilainen at gmail dot com
2013-10-21 22:06 ` ville.voutilainen at gmail dot com
2013-10-21 22:33 ` paolo.carlini at oracle dot com
2014-05-15  9:02 ` paolo.carlini at oracle dot com
2014-05-15 11:38 ` ville.voutilainen at gmail dot com
2014-05-15 12:19 ` paolo.carlini at oracle dot com
2014-05-15 12:31 ` ville.voutilainen at gmail dot com
2014-05-20 19:21 ` paolo at gcc dot gnu.org
2014-05-20 19:22 ` paolo.carlini at oracle dot com
2014-07-01 18:47 ` ppluzhnikov at gcc dot gnu.org
2014-07-02  7:52 ` christophe.lyon at st dot com
2014-07-02  8:07 ` christophe.lyon at st dot com
2014-11-19  9:19 ` paolo.carlini at oracle dot com

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).