public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/97303] New: ICE during GIMPLE pass: *rebuild_cgraph_edges
@ 2020-10-06  6:35 thekbrogamer at gmail dot com
  2021-09-18  8:38 ` [Bug ipa/97303] [9/10/11 Regression] " pinskia at gcc dot gnu.org
  2021-09-18  8:46 ` pinskia at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: thekbrogamer at gmail dot com @ 2020-10-06  6:35 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 97303
           Summary: ICE during GIMPLE pass: *rebuild_cgraph_edges
           Product: gcc
           Version: 9.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: thekbrogamer at gmail dot com
  Target Milestone: ---

Created attachment 49312
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49312&action=edit
code causing ice

On mingw32-g++ (MinGW.org Cross-GCC Build-20200531-1) 9.2.0 cross compiler when
compiling the following snippet 

#include <stdio.h>
#include <stdlib.h>

class test0
{
public:
  virtual ~test0() {}
};

template<typename a>
class test1 : public test0
{
public:
  virtual bool doAnything() const = 0;
};

class test3_internal
{
public:
  bool depart() { return true; }
};

template<typename T>
class test3
{
public:
  typedef T element_type;

  explicit test3(T* ptr = NULL) {}
  ~test3() { depart(); }

  void reset(T* ptr = NULL) { depart(); }

private:
  void depart()
  {
    if (link_.depart())
      delete value_;
  }
  T* value_;
  test3_internal link_;
};
int main()
{
    using doesNotCompile = long unsigned int(__attribute__((stdcall))*)(void*);
    using type2 = test1<doesNotCompile>;
    // using compiles = long unsigned int(*)(void*);
    // using type2 = test1<compiles>;
    test3<const type2> test;
    test.reset();
    return 0;

}

$ mingw32-g++ -S -masm=intel foo.cpp
during GIMPLE pass: *rebuild_cgraph_edges
foo.cpp: In member function 'void test3<T>::depart() [with T = const test1<long
unsigned int (__attribute__((stdcall)) *)(void*)>]':
foo.cpp:55:1: internal compiler error: Segmentation fault
   55 | }
      | ^
0xbc5ecf crash_signal
        ../../src/gcc-9.2.0/gcc/toplev.c:326
0x9f077b obj_type_ref_class(tree_node const*)
        ../../src/gcc-9.2.0/gcc/ipa-devirt.c:2026
0xe10556 virtual_method_call_p(tree_node const*)
        ../../src/gcc-9.2.0/gcc/tree.c:13009
0x8489d1 cgraph_node::create_indirect_edge(gcall*, int, profile_count, bool)
        ../../src/gcc-9.2.0/gcc/cgraph.c:968
0x84dd1a cgraph_edge::rebuild_edges()
        ../../src/gcc-9.2.0/gcc/cgraphbuild.c:421
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

whereas, with mingw32-g++ (MinGW.org cross-GCC-8.2.0-4) 8.2.0, it seems to
compile cleanly.

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

* [Bug ipa/97303] [9/10/11 Regression] ICE during GIMPLE pass: *rebuild_cgraph_edges
  2020-10-06  6:35 [Bug c++/97303] New: ICE during GIMPLE pass: *rebuild_cgraph_edges thekbrogamer at gmail dot com
@ 2021-09-18  8:38 ` pinskia at gcc dot gnu.org
  2021-09-18  8:46 ` pinskia at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-18  8:38 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |9.4

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

* [Bug ipa/97303] [9/10/11 Regression] ICE during GIMPLE pass: *rebuild_cgraph_edges
  2020-10-06  6:35 [Bug c++/97303] New: ICE during GIMPLE pass: *rebuild_cgraph_edges thekbrogamer at gmail dot com
  2021-09-18  8:38 ` [Bug ipa/97303] [9/10/11 Regression] " pinskia at gcc dot gnu.org
@ 2021-09-18  8:46 ` pinskia at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-18  8:46 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=95114

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed for GCC 9.4.0, GCC 10.2.0 and GCC 11+ via the patch for PR 95114.

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

end of thread, other threads:[~2021-09-18  8:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-06  6:35 [Bug c++/97303] New: ICE during GIMPLE pass: *rebuild_cgraph_edges thekbrogamer at gmail dot com
2021-09-18  8:38 ` [Bug ipa/97303] [9/10/11 Regression] " pinskia at gcc dot gnu.org
2021-09-18  8:46 ` pinskia 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).