Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
234 Views

Internal error: assertion failed at "shared/cfe/edgcpfe/lower_il.c"

Jump to solution

We have the following problem which occurs with 19.0.5.281 and 19.1.1.217 on Linux. No issues with GCC 9.1, 9.2, 9.3, 10, Clang7.1/9.1 or PGI-19-10.

Internal error: assertion failed at: "shared/cfe/edgcpfe/lower_il.c", line 11913

struct make_shared_enabler: public table {

compilation aborted ... (code 4)

Compiler flags:

It fails with both:

#default

-Wall -Werror -std=c++14 -fopenmp

#production

-O2 -fp-model consistent -fimf-arch-consistency=true 

#debug

-O0 -g

 

Code:

std::shared_ptr<table> make_table(){

  struct make_shared_enabler : public table {

    make_shared_enabler() = default;

};

return std::make_shared<make_shared_enabler>();

}

0 Kudos

Accepted Solutions
Highlighted
Moderator
163 Views

Re:Internal error: assertion failed at &quot;share...

Jump to solution

Thanks for the test case. I've reported this problem to our Front End team.

 

View solution in original post

0 Kudos
7 Replies
Highlighted
Moderator
234 Views

Hi,

Thank you for reporting the issue, will you please send a small reproducer of it so that we can reproduce it at our end.

We tried your provided code snippet but it didn't get us any errors on both 19.0.5.281 and 19.1.1.217. So please share with us a small reproducer.

 

Warm Regards,

Abhishek

 

 

0 Kudos
Highlighted
234 Views

We currently don't have a

Jump to solution

We currently don't have a small reproducing example. I will investigate further.

The snippet is from https://github.com/skystrife/cpptoml but I have not tried if the examples fail. Our software compilation fails due to our usage of the mentioned library. 

0 Kudos
Highlighted
222 Views

Hi,

I was not able to get find a minimal example. The following workaround works:

#if defined(CONF_INTEL_COMPILER)
class make_shared_enabler: public table{
public:
make_shared_enabler() = default;
};
#endif

std::shared_ptr<table> make_table () {
#if not defined(CONF_INTEL_COMPILER)
struct make_shared_enabler : public table {
make_shared_enabler () = default;
};
#endif

return std::make_shared<make_shared_enabler>();
}

 

The workaround doesnot compile with GCC.

 

Tags (1)
0 Kudos
Highlighted
Moderator
201 Views

Re:Internal error: assertion failed at &quot;share...

Jump to solution

Hi,

Glad to know that your workaround worked.

Please give us details of the architecture which you are using. Because we are not getting the errors that you are getting while executing your code snippet.

If possible also give us a small reproducer to reproduce this error from our side. It will help us to report it as a bug if we can reproduce it.



Warm Regards,

Abhishek


0 Kudos
Highlighted
Moderator
188 Views

Re:Internal error: assertion failed at &quot;share...

Jump to solution

Can you find out what source file that compiler throws this error, then create a preprocess file and provide it to us for investigation?


0 Kudos
Highlighted
170 Views

Re: Re:Internal error: assertion failed at &quot;share...

Jump to solution

Attached is the preprocessed file.

Tags (1)
0 Kudos
Highlighted
Moderator
164 Views

Re:Internal error: assertion failed at &quot;share...

Jump to solution

Thanks for the test case. I've reported this problem to our Front End team.

 

View solution in original post

0 Kudos