Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1450335

Summary: internal compiler error: in expand_expr_real_1, at expr.c:9358
Product: Red Hat Enterprise Linux 7 Reporter: obn
Component: gccAssignee: Marek Polacek <mpolacek>
Status: CLOSED WONTFIX QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: jakub, law
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-07-18 21:02:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
(auto generated by the comiler) /tmp/ccKWSr0p.out none

Description obn 2017-05-12 09:41:59 UTC
Created attachment 1278115 [details]
(auto generated by the comiler) /tmp/ccKWSr0p.out

Description of problem:

Compiling of the C++ file causes an internal compiler error

Version-Release number of selected component (if applicable):

$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


How reproducible:

100 % reproducible

Steps to Reproduce:

1. The following code to compile


Actual results:

cd '/home//CppApplicationForProbes'
/usr/bin/gmake -f Makefile CONF=Debug
"/usr/bin/gmake" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
gmake[1]: Entering directory `/home/CppApplicationForProbes'
"/usr/bin/gmake"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux/cppapplicationforprobes
gmake[2]: Entering directory `/home/CppApplicationForProbes'

mkdir -p build/Debug/GNU-Linux
rm -f "build/Debug/GNU-Linux/main.o.d"
g++    -c -g -std=c++11 -MMD -MP -MF "build/Debug/GNU-Linux/main.o.d" -o build/Debug/GNU-Linux/main.o main.cpp
main.cpp: In constructor ‘constexpr main()::A::A()’:
main.cpp:37:12: internal compiler error: in expand_expr_real_1, at expr.c:9358
     struct A
            ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccKWSr0p.out file, please attach this to your bugreport.

Expected results:

the file is compiled well or the compiler reports an error

Additional info:

---  file contents (begin) ------

#include <cstdlib>
#include <iostream>
#include <map>
#include <set>
#include <sstream>
#include <iomanip>
#include <type_traits>
 
 
int main()
{
    struct B
    {
        int value1;
    };
    
    B b;
    b.value1 = 2;
    
    auto my_value_1 = &b;
    
    std::set<int> value_g_2;

    struct A
    {
        int value1 = my_value_1->value1;
        std::set<int> & value2 = value_g_2;;
    };

    A a;
    
    
    return 0;
}

----- file contents (end) ----- 

- - - - preprocessed file is in the attachment

Comment 2 Jakub Jelinek 2017-05-12 09:54:55 UTC
This is invalid code, rejected by GCC starting with http://gcc.gnu.org/r196727
aka PR55240.

Comment 5 Jeff Law 2017-07-18 21:02:44 UTC
Our engineering staff have investigated this issue and while it has been fixed upstream, the fix is considered too risky to include into RHEL 7.