public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/50478] New: Internal compiler error when using initializer lists
@ 2011-09-22  7:19 bitti at iki dot fi
  2011-09-22  7:29 ` [Bug c++/50478] " daniel.kruegler at googlemail dot com
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: bitti at iki dot fi @ 2011-09-22  7:19 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 50478
           Summary: Internal compiler error when using initializer lists
    Classification: Unclassified
           Product: gcc
           Version: 4.6.1
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: bitti@iki.fi


The following short program shows the problem:

#include <set>
#include <string>

int main() {
    std::set<std::string> s;
    s.insert( {"abc", "def", "hij"} ); // This line is the problem
}

> g++ -std=c++0x test.cc
test.cc: In function ‘int main()’:
test.cc:6:37: internal compiler error: in joust, at cp/call.c:7646

If I compile with -pedantic, the program compiles fine.


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

* [Bug c++/50478] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
@ 2011-09-22  7:29 ` daniel.kruegler at googlemail dot com
  2011-09-22  9:40 ` [Bug c++/50478] [C++0x] " paolo.carlini at oracle dot com
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: daniel.kruegler at googlemail dot com @ 2011-09-22  7:29 UTC (permalink / raw)
  To: gcc-bugs

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

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler at
                   |                            |googlemail dot com

--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2011-09-22 07:19:17 UTC ---
The problem seem to exist in 4.7.0 20110917 (experimental) as well, pointing to
joust, at cp/call.c:7960.


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
  2011-09-22  7:29 ` [Bug c++/50478] " daniel.kruegler at googlemail dot com
@ 2011-09-22  9:40 ` paolo.carlini at oracle dot com
  2011-09-22  9:56 ` paolo.carlini at oracle dot com
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-09-22  9:40 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|major                       |normal


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
  2011-09-22  7:29 ` [Bug c++/50478] " daniel.kruegler at googlemail dot com
  2011-09-22  9:40 ` [Bug c++/50478] [C++0x] " paolo.carlini at oracle dot com
@ 2011-09-22  9:56 ` paolo.carlini at oracle dot com
  2011-12-21 11:39 ` paolo.carlini at oracle dot com
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-09-22  9:56 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-09-22
                 CC|                            |jason at gcc dot gnu.org
     Ever Confirmed|0                           |1


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
                   ` (2 preceding siblings ...)
  2011-09-22  9:56 ` paolo.carlini at oracle dot com
@ 2011-12-21 11:39 ` paolo.carlini at oracle dot com
  2011-12-21 12:28 ` paolo.carlini at oracle dot com
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-21 11:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-21 11:17:10 UTC ---
Insane, this doesn't happen for an initializer list of 1, 2, 4, or 5 elements.
Happens with std::vector too, however. Should be rather easy to construct a
reduced testcase including only <string>.


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
                   ` (3 preceding siblings ...)
  2011-12-21 11:39 ` paolo.carlini at oracle dot com
@ 2011-12-21 12:28 ` paolo.carlini at oracle dot com
  2011-12-21 12:56 ` paolo.carlini at oracle dot com
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-21 12:28 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-21 12:20:43 UTC ---
This is enough:

namespace std
{
  template<class _E>
    class initializer_list;

  template<typename _Key>
    struct set
    {
      void insert(const _Key&);
    };

  struct string
  {
    string(const string&, __SIZE_TYPE__, __SIZE_TYPE__ = -1);
    string(const char*);
    string(initializer_list<char>);
  };
}

int main()
{
  std::set<std::string> s;
  s.insert( { "abc", "def", "hij"} );
}


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
                   ` (4 preceding siblings ...)
  2011-12-21 12:28 ` paolo.carlini at oracle dot com
@ 2011-12-21 12:56 ` paolo.carlini at oracle dot com
  2012-04-18 10:37 ` paolo.carlini at oracle dot com
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-21 12:56 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-21 12:43:38 UTC ---
This is a more correct testcase, which also preserves the property of OT that
-pedantic works around the issue. Note: removing the string constructor taking
an initializer_list also works around the problem:

///////////////////

#include <initializer_list>

namespace std
{
  template<typename _Key>
    struct set
    {
      void insert(const _Key&);
      void insert(initializer_list<_Key>);
    };

  struct string
  {
    string(const string&, __SIZE_TYPE__, __SIZE_TYPE__ = -1);
    string(const char*);
    string(initializer_list<char>);
  };
}

int main()
{
  std::set<std::string> s;
  s.insert( { "abc", "def", "hij"} );
}


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
                   ` (5 preceding siblings ...)
  2011-12-21 12:56 ` paolo.carlini at oracle dot com
@ 2012-04-18 10:37 ` paolo.carlini at oracle dot com
  2012-10-10  9:01 ` paolo.carlini at oracle dot com
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-04-18 10:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-04-18 10:35:59 UTC ---
Seems fixed in mainline.


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
                   ` (6 preceding siblings ...)
  2012-04-18 10:37 ` paolo.carlini at oracle dot com
@ 2012-10-10  9:01 ` paolo.carlini at oracle dot com
  2012-10-10  9:12 ` paolo at gcc dot gnu.org
  2012-10-10  9:13 ` paolo.carlini at oracle dot com
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-10-10  9:01 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|paolo.carlini at oracle dot |
                   |com                         |
      Known to work|                            |4.7.1, 4.8.0

--- Comment #6 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-10-10 09:01:21 UTC ---
Fixed in 4.7.1 and mainline. Let's add the testcase and close the PR.


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
                   ` (7 preceding siblings ...)
  2012-10-10  9:01 ` paolo.carlini at oracle dot com
@ 2012-10-10  9:12 ` paolo at gcc dot gnu.org
  2012-10-10  9:13 ` paolo.carlini at oracle dot com
  9 siblings, 0 replies; 11+ messages in thread
From: paolo at gcc dot gnu.org @ 2012-10-10  9:12 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #7 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-10-10 09:12:28 UTC ---
Author: paolo
Date: Wed Oct 10 09:12:19 2012
New Revision: 192295

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192295
Log:
2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/50478
    * g++.dg/cpp0x/initlist67.C: New.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist67.C
Modified:
    trunk/gcc/testsuite/ChangeLog


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

* [Bug c++/50478] [C++0x] Internal compiler error when using initializer lists
  2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
                   ` (8 preceding siblings ...)
  2012-10-10  9:12 ` paolo at gcc dot gnu.org
@ 2012-10-10  9:13 ` paolo.carlini at oracle dot com
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-10-10  9:13 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.7.1

--- Comment #8 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-10-10 09:13:12 UTC ---
Done.


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

end of thread, other threads:[~2012-10-10  9:13 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-22  7:19 [Bug c++/50478] New: Internal compiler error when using initializer lists bitti at iki dot fi
2011-09-22  7:29 ` [Bug c++/50478] " daniel.kruegler at googlemail dot com
2011-09-22  9:40 ` [Bug c++/50478] [C++0x] " paolo.carlini at oracle dot com
2011-09-22  9:56 ` paolo.carlini at oracle dot com
2011-12-21 11:39 ` paolo.carlini at oracle dot com
2011-12-21 12:28 ` paolo.carlini at oracle dot com
2011-12-21 12:56 ` paolo.carlini at oracle dot com
2012-04-18 10:37 ` paolo.carlini at oracle dot com
2012-10-10  9:01 ` paolo.carlini at oracle dot com
2012-10-10  9:12 ` paolo at gcc dot gnu.org
2012-10-10  9:13 ` 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).