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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
>From the last reproducer, one doesn't really need any extra libraries.
Just
./cc1 -quiet -Wdate-time -std=gnu99 -W -Wall -Wmissing-prototypes
-Wwrite-strings -Wfloat-equal -Wshadow -Wpointer-arith -Wbad-function-cast
-Wsign-compare -Waggregate-return -Wmissing-declarations -Wredundant-decls
-Wnested-externs -Winline -Wstrict-prototypes -Wundef -Wno-unused-parameter -g
-O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto
-ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection libct_proto_udp.i -fPIC
./cc1 -quiet -Wdate-time -std=gnu99 -W -Wall -Wmissing-prototypes
-Wwrite-strings -Wfloat-equal -Wshadow -Wpointer-arith -Wbad-function-cast
-Wsign-compare -Waggregate-return -Wmissing-declarations -Wredundant-decls
-Wnested-externs -Winline -Wstrict-prototypes -Wundef -Wno-unused-parameter -g
-O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto
-ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection conntrack.i -fpie
./xgcc -B ./ -std=gnu99 -W -Wall -Wmissing-prototypes -Wwrite-strings
-Wfloat-equal -Wshadow -Wpointer-arith -Wbad-function-cast -Wsign-compare
-Waggregate-return -Wmissing-declarations -Wredundant-decls -Wnested-externs
-Winline -Wstrict-prototypes -Wundef -Wno-unused-parameter -g -O2
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto
-ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -Wl,-Bsymbolic-functions -flto=auto
-ffat-lto-objects -Wl,-z -Wl,relro -o conntrack.so conntrack.i
libct_proto_udp.s -v -save-temps
reproduces it.
The ICE is on
4105      /* As an compile time optimization if we make no difference between
4106         direct and indirect accesses make arg transitively closed.
4107         This avoids the need to build indir arg and do everything twice. 
*/
4108      if (((flags & EAF_NO_INDIRECT_CLOBBER) != 0)
4109          == ((flags & EAF_NO_DIRECT_CLOBBER) != 0)
4110          && (((flags & EAF_NO_INDIRECT_READ) != 0)
4111              == ((flags & EAF_NO_DIRECT_READ) != 0))
4112          && (((flags & EAF_NO_INDIRECT_ESCAPE) != 0)
4113              == ((flags & EAF_NO_DIRECT_ESCAPE) != 0))
4114          && (((flags & EAF_NOT_RETURNED_INDIRECTLY) != 0)
4115              == ((flags & EAF_NOT_RETURNED_DIRECTLY) != 0)))
4116        {
4117          make_transitive_closure_constraints (tem);
4118          callarg_transitive = true;
4119          gcc_checking_assert (!(flags & EAF_NO_DIRECT_READ));
4120        }

Reply via email to