public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/61380] New: internal compiler error: Segmentation fault
@ 2014-06-01 13:45 markus.ilmola at pp dot inet.fi
  2014-06-02  8:12 ` [Bug c++/61380] [4.8/4.9/4.10 Regression] " rguenth at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: markus.ilmola at pp dot inet.fi @ 2014-06-01 13:45 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 61380
           Summary: internal compiler error: Segmentation fault
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: markus.ilmola at pp dot inet.fi

Internal compiler error: Segmentation fault when compiling this code
(-std=c++11):


#include <array>

template <typename>
class order_of {
    public: static const std::size_t value = 0;
};


template <typename T, std::size_t N>
class order_of<std::array<T, N>> {
    public: static const std::size_t value = order_of<T>::value + 1;
};


template <typename T, std::size_t N, typename std::enable_if<order_of<T>::value
== 0>::type* = nullptr> using vec = std::array<T, N>;


template <typename T, std::size_t N>
void F(const vec<T, N> & a) {

}


int main() {

    int a;
    std::array<int, 1> b;
    std::array<std::array<float, 2>, 1> c;

    //F(a);
    //F(b);
    F(c);

    return 0;
}




gcc -v:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1'
--with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap
--enable-plugin --with-system-zlib --disable-browser-plugin
--enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)


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

* [Bug c++/61380] [4.8/4.9/4.10 Regression] internal compiler error: Segmentation fault
  2014-06-01 13:45 [Bug c++/61380] New: internal compiler error: Segmentation fault markus.ilmola at pp dot inet.fi
@ 2014-06-02  8:12 ` rguenth at gcc dot gnu.org
  2014-06-02 20:08 ` markus.ilmola at pp dot inet.fi
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-06-02  8:12 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
      Known to work|                            |4.7.3
           Keywords|                            |ice-on-valid-code,
                   |                            |rejects-valid
   Last reconfirmed|                            |2014-06-02
     Ever confirmed|0                           |1
            Summary|internal compiler error:    |[4.8/4.9/4.10 Regression]
                   |Segmentation fault          |internal compiler error:
                   |                            |Segmentation fault
   Target Milestone|---                         |4.8.4
      Known to fail|                            |4.10.0, 4.8.3, 4.9.0

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
4.9+ rejects this while 4.7 accepts it ok (4.8+ all ICE).


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

* [Bug c++/61380] [4.8/4.9/4.10 Regression] internal compiler error: Segmentation fault
  2014-06-01 13:45 [Bug c++/61380] New: internal compiler error: Segmentation fault markus.ilmola at pp dot inet.fi
  2014-06-02  8:12 ` [Bug c++/61380] [4.8/4.9/4.10 Regression] " rguenth at gcc dot gnu.org
@ 2014-06-02 20:08 ` markus.ilmola at pp dot inet.fi
  2014-06-03  0:39 ` [Bug c++/61380] [4.8 " jason at gcc dot gnu.org
  2014-06-09 19:31 ` jason at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: markus.ilmola at pp dot inet.fi @ 2014-06-02 20:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Markus Ilmola <markus.ilmola at pp dot inet.fi> ---
I am not a c++ expert, but I think that the code should NOT compile.

The point of the code was to create a function template that only accepts
non-nested arrays (arrays with order of 1).

So F(c) should not compile. Only F(b) should compile.

Tested clang and vc++ (using http://rextester.com/runcode) and they both
compile only F(b) (and reject F(c)).

So bug here is the segmentation fault, not that the code was rejected (if you
can call segmentation fault a way of rejecting code)


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

* [Bug c++/61380] [4.8 Regression] internal compiler error: Segmentation fault
  2014-06-01 13:45 [Bug c++/61380] New: internal compiler error: Segmentation fault markus.ilmola at pp dot inet.fi
  2014-06-02  8:12 ` [Bug c++/61380] [4.8/4.9/4.10 Regression] " rguenth at gcc dot gnu.org
  2014-06-02 20:08 ` markus.ilmola at pp dot inet.fi
@ 2014-06-03  0:39 ` jason at gcc dot gnu.org
  2014-06-09 19:31 ` jason at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jason at gcc dot gnu.org @ 2014-06-03  0:39 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-valid-code,          |ice-on-invalid-code
                   |rejects-valid               |
                 CC|                            |jason at gcc dot gnu.org
            Summary|[4.8/4.9/4.10 Regression]   |[4.8 Regression] internal
                   |internal compiler error:    |compiler error:
                   |Segmentation fault          |Segmentation fault
      Known to fail|4.10.0, 4.9.0               |

--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
Agreed with Markus, only the 4.8 ICE is a bug; 4.9+ correctly reject the
example.


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

* [Bug c++/61380] [4.8 Regression] internal compiler error: Segmentation fault
  2014-06-01 13:45 [Bug c++/61380] New: internal compiler error: Segmentation fault markus.ilmola at pp dot inet.fi
                   ` (2 preceding siblings ...)
  2014-06-03  0:39 ` [Bug c++/61380] [4.8 " jason at gcc dot gnu.org
@ 2014-06-09 19:31 ` jason at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jason at gcc dot gnu.org @ 2014-06-09 19:31 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

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

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
...and we generally don't fix ice-on-invalid in older releases.


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

end of thread, other threads:[~2014-06-09 19:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-01 13:45 [Bug c++/61380] New: internal compiler error: Segmentation fault markus.ilmola at pp dot inet.fi
2014-06-02  8:12 ` [Bug c++/61380] [4.8/4.9/4.10 Regression] " rguenth at gcc dot gnu.org
2014-06-02 20:08 ` markus.ilmola at pp dot inet.fi
2014-06-03  0:39 ` [Bug c++/61380] [4.8 " jason at gcc dot gnu.org
2014-06-09 19:31 ` jason 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).