Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be available on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1573038 - ICE: in build_over_call, at cp/call.c:8240
Summary: ICE: in build_over_call, at cp/call.c:8240
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1573003 1573165 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-04-30 00:47 UTC by Sam Varshavchik
Modified: 2018-05-02 15:39 UTC (History)
11 users (show)

Fixed In Version: gcc-8.0.1-0.21.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-04-30 07:58:12 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
GNU Compiler Collection 85215 0 P1 RESOLVED [8 Regression] ICE: "gcc_assert (!force_elide);" failure 2020-11-24 06:49:37 UTC

Description Sam Varshavchik 2018-04-30 00:47:01 UTC
// Target: x86_64-redhat-linux
// Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
// Thread model: posix
// gcc version 8.0.1 20180324 (Red Hat 8.0.1-0.20) (GCC) 
// 
// managedobject3.tst.C: In function ‘void test1()’:
// managedobject3.tst.C:87:42: internal compiler error: in build_over_call, at cp/call.c:8240
//    dummyptr testing_conversion(lock->value);
//                                           ^
// Please submit a full bug report,
// with preprocessed source if appropriate.
// See <http://bugzilla.redhat.com/bugzilla> for instructions.

// /usr/libexec/gcc/x86_64-redhat-linux/8/cc1plus -quiet -I . -I /usr/include/p11-kit-1 -D_GNU_SOURCE -D_REENTRANT -D HAVE_CONFIG_H -D _FORTIFY_SOURCE=2 -D _GLIBCXX_ASSERTIONS managedobject3.tst.C -quiet -dumpbase managedobject3.tst.C -mtune=generic -march=x86-64 -auxbase-strip managedobject3.tst.o -grecord-gcc-switches -g -O -Werror=format-security -Wall -Wsuggest-override -Werror -std=c++17 -fstack-protector-strong -fno-omit-frame-pointer -o - -frandom-seed=0 -fdump-noaddr

# 1 "managedobject3.tst.C"
# 1 "/home/mrsam/src/stasher//"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "managedobject3.tst.C"
class dummyObj {

public:

 dummyObj() {}

 ~dummyObj() {
 }
};

template<typename P> class ptr {

 P *p;

public:

 ptr() : p{0} {}

 ptr(const ptr &) {}
};

typedef ptr<dummyObj> dummyptr;

class vptr {

 dummyptr p;

public:

 operator const dummyptr &() const
 {
  return p;
 }
};

class cObj {

public:

 class value_t {
 public:
  int n;

  vptr value;


  value_t() : n{0}
  {
  }
 };

 class wrapper_value_t {

  value_t v;

 public:

  class lock {
   value_t &v;

  public:

   lock(wrapper_value_t &w) : v{w.v} {}

   value_t *operator->() { return &v; }
  };
 };

 wrapper_value_t current_value;

 cObj() {}

 ~cObj() {}
};

void test2(const dummyptr &);

void test1()
{

 auto mydummy=new cObj;

 {
  decltype(mydummy->current_value)::lock
   lock(mydummy->current_value);

  dummyptr testing_conversion(lock->value);

  test2(testing_conversion);
 }
}

Comment 1 Jakub Jelinek 2018-04-30 07:58:12 UTC
Should be fixed in gcc-8.0.1-0.21.fc28 and later already.

Comment 2 Jakub Jelinek 2018-04-30 07:58:55 UTC
*** Bug 1573003 has been marked as a duplicate of this bug. ***

Comment 3 Marek Polacek 2018-04-30 12:53:07 UTC
*** Bug 1573165 has been marked as a duplicate of this bug. ***

Comment 4 Neal Becker 2018-05-02 14:17:37 UTC
Update for f28?

Comment 5 Marek Polacek 2018-05-02 14:24:24 UTC
(In reply to Neal Becker from comment #4)
> Update for f28?

What do you mean?  The bug has been fixed.

Comment 6 Neal Becker 2018-05-02 15:37:49 UTC
rawhide is updated to gcc-c++-8.0.1-0.23.fc29.x86_64, (which seems to be installable on f28)

I'm asking, will there be an update for f28?

Comment 7 Jakub Jelinek 2018-05-02 15:39:24 UTC
Only when gcc-8.1.1-1.fc28 build finishes.  There is no point doing an update and doing another update within a few hours.


Note You need to log in before you can comment on or make changes to this bug.