[Bug d/106832] Missing powerpc64le-linux support for D
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106832 --- Comment #16 from Dan Horák --- Peter, what stage is it? A build on Fedora rawhide/ppc64le in the releases/gcc-11 branch using "./configure --enable-languages=d --enable-bootstrap --with-long-double-format=ieee" together with @@ -44,7 +44,7 @@ case "${target}" in ;; power*-*-linux*) LIBPHOBOS_SUPPORTED=yes - LIBDRUNTIME_ONLY=yes +# LIBDRUNTIME_ONLY=yes ;; riscv*-*-linux*) LIBPHOBOS_SUPPORTED=yes finished successfully.
[Bug d/106832] Missing powerpc64le-linux support for D
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106832 --- Comment #6 from Dan Horák --- I don't disagree :-) Also the D stdlib code is difficult to readable for me with all the "version()" sections ...
[Bug d/106832] Missing powerpc64le-linux support for D
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106832 --- Comment #3 from Dan Horák --- a couple notes - you need to start with GCC 11 as GCC 12 needs an existing gdc compiler - the phobos/dmd standard library seems to support ieeequad type, learned from ldc, I believe they all share the same standard library - https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libphobos/configure.tgt;h=0063dd23249101b3506106ebbe32f454bcb829fb;hb=HEAD#l47 can go away, seems to build OK in GCC 11 without the line
[Bug target/106355] Linux s390x -O2 argument passing miscompile
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106355 Dan Horák changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Dan Horák --- adding Jakub as this affect Fedora ...
[Bug ipa/102059] Incorrect always_inline diagnostic in LTO mode with #pragma GCC target("cpu=power10")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102059 --- Comment #28 from Dan Horák --- comment #27 matches our experience in Fedora, still a build issue in Eigen with gcc12 and LTO
[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 Dan Horák changed: What|Removed |Added CC||dan at danny dot cz --- Comment #12 from Dan Horák --- see https://bugzilla.mozilla.org/show_bug.cgi?id=1677690 for a real world example
[Bug c++/97358] [8/9/10 Regression] ICE while building firefox since r8-2720
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358 --- Comment #18 from Dan Horák --- So there is https://bugzilla.mozilla.org/show_bug.cgi?id=1671345 now, after I commented in the bug Jakub mentioned. I like such cooperation :-)
[Bug c++/97358] [8/9/10 Regression] ICE while building firefox since r8-2720
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358 --- Comment #15 from Dan Horák --- Petr, are you going to open a Firefox bug to fix their code or shall I do it?
[Bug go/71635] gcc-go fails to link golang-googlecode-net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71635 --- Comment #1 from Dan Horák --- original Fedora bug is https://bugzilla.redhat.com/show_bug.cgi?id=1349371
[Bug go/71635] New: gcc-go fails to link golang-googlecode-net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71635 Bug ID: 71635 Summary: gcc-go fails to link golang-googlecode-net Product: gcc Version: 6.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: dan at danny dot cz CC: cmang at google dot com Target Milestone: --- build of golang-googlecode-net package fails with gcc-go (checked on s390x in Fedora buildsystem and manually on x86_64) due a linking error ... + go test -compiler gccgo -gccgoflags '-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -march=z9-109 -mtune=z10 ' golang.org/x/net/ipv4 # testmain /tmp/go-build546930784/golang.org/x/net/libipv4.a(_go_.o): In function `golang_org_x_net_ipv4.set.pN28_golang_org_x_net_ipv4.rawOpt': /builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/control.go:18: multiple definition of `golang_org_x_net_ipv4.set.pN28_golang_org_x_net_ipv4.rawOpt' /tmp/go-build546930784/golang.org/x/net/ipv4/_test/golang.org/x/net/libipv4.a(_go_.o):/builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/control.go:18: first defined here /tmp/go-build546930784/golang.org/x/net/libipv4.a(_go_.o): In function `golang_org_x_net_ipv4.clear.pN28_golang_org_x_net_ipv4.rawOpt': /builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/control.go:19: multiple definition of `golang_org_x_net_ipv4.clear.pN28_golang_org_x_net_ipv4.rawOpt' /tmp/go-build546930784/golang.org/x/net/ipv4/_test/golang.org/x/net/libipv4.a(_go_.o):/builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/control.go:19: first defined here /tmp/go-build546930784/golang.org/x/net/libipv4.a(_go_.o): In function `golang_org_x_net_ipv4.isset.pN28_golang_org_x_net_ipv4.rawOpt': /builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/control.go:20: multiple definition of `golang_org_x_net_ipv4.isset.pN28_golang_org_x_net_ipv4.rawOpt' /tmp/go-build546930784/golang.org/x/net/ipv4/_test/golang.org/x/net/libipv4.a(_go_.o):/builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/control.go:20: first defined here /tmp/go-build546930784/golang.org/x/net/libipv4.a(_go_.o): In function `golang_org_x_net_ipv4.ok.pN32_golang_org_x_net_ipv4.genericOpt': /builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/endpoint.go:24: multiple definition of `golang_org_x_net_ipv4.ok.pN32_golang_org_x_net_ipv4.genericOpt' /tmp/go-build546930784/golang.org/x/net/ipv4/_test/golang.org/x/net/libipv4.a(_go_.o):/builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/endpoint.go:24: first defined here /tmp/go-build546930784/golang.org/x/net/libipv4.a(_go_.o): In function `golang_org_x_net_ipv4.ok.pN30_golang_org_x_net_ipv4.dgramOpt': /builddir/build/BUILDROOT/golang-googlecode-net-0-0.32.gitbc3663d.fc25.s390x/usr/share/gocode/src/golang.org/x/net/ipv4/endpoint.go:48: multiple definition of `golang_org_x_net_ipv4.ok.pN30_golang_org_x_net_ipv4.dgramOpt' ... for full log please see http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=2266794 upstream sources for the package is https://github.com/golang/net Version-Release number of selected component (if applicable): gcc-go-6.1.1-2.fc24 Steps to reproduce locally: mkdir -p src/golang.org/x/ cd src/golang.org/x/ git clone https://github.com/golang/net.git cd ../.. GOPATH=`pwd`/.. go test golang.org/x/net/ipv4
[Bug middle-end/63186] [4.9/5 Regression] Undefined .L* symbols because of fnsplit
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63186 --- Comment #5 from Dan Horák dan at danny dot cz --- Jan, can you backport the fix also to 4.9? It is causing a problem in Fedora where at least one build is failing due this problem.
[Bug target/53854] ICE in find_constant_pool_ref
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53854 --- Comment #8 from Dan Horák dan at danny dot cz --- for the record - ICE still present in gcc version 4.9.1 20140813 (Red Hat 4.9.1-7) (GCC)
[Bug target/53854] ICE in find_constant_pool_ref
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53854 --- Comment #6 from Dan Horák dan at danny dot cz --- FYI the error is still present in gcc version 4.8.0 20130412 (Red Hat 4.8.0-2) (GCC) Target: s390-redhat-linux
[Bug target/55351] can't build libgcc for -m5-compact variant in SH64
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55351 --- Comment #3 from Dan Horák dan at danny dot cz 2012-11-20 15:15:50 UTC --- (In reply to comment #2) The first hunk of the patch that adds: MULTILIB_EXCEPTIONS = *m5-64media* *m5-64media-nofpu* to gcc/config/sh/t-linux causes the sh-linux-gnu build to fail. Commenting out this line allows both sh- and sh64-linux-gnu to build. I guess there is a conflict with the ! values in --with-multilib-list=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single,!m2a,!m2a-single passed to the sh-linux compiler
[Bug target/55351] New: can't build libgcc for -m5-compact variant in SH64
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55351 Bug #: 55351 Summary: can't build libgcc for -m5-compact variant in SH64 Classification: Unclassified Product: gcc Version: 4.7.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: d...@danny.cz Created attachment 28708 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28708 preprocessed lib1funcs.S file when building libgcc for the -m5-compact multilib variant in sh64-linux compiler I get the following error: /builddir/build/BUILD/gcc-4.7.2-20121114-aarch64/sh64-linux-gnu/./gcc/xgcc -B/builddir/build/BUILD/gcc-4.7.2-20121114-aarch64/sh64-linux-gnu/./gcc/ -B/usr/sh64-linux/bin/ -B/usr/sh64-linux/lib/ -isystem /usr/sh64-linux/include -isystem /usr/sh64-linux/sys-include -m5-compact -g -O2 -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fpic -mieee -mieee -DNO_FPSCR_VALUES -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -fpic -mieee -mieee -DNO_FPSCR_VALUES -I. -I. -I../../.././gcc -I../../../../gcc-4.7.2-20121114-aarch64/libgcc -I../../../../gcc-4.7.2-20121114-aarch64/libgcc/. -I../../../../gcc-4.7.2-20121114-aarch64/libgcc/../gcc -I../../../../gcc-4.7.2-20121114-aarch64/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o _div_table.o -MT _div_table.o -MD -MP -MF _div_table.dep -DL_div_table -xassembler-with-cpp -c ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S: Assembler messages: ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3054: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3056: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3057: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3058: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3060: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3061: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3062: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3063: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3064: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3065: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3066: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3067: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3068: Error: invalid operands for opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3069: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3070: Error: invalid operands for opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3071: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3072: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3073: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3075: Error: invalid operands for opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3076: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3077: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3078: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3080: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3081: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3082: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3083: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3084: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3085: Error: unknown opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3086: Error: invalid operands for opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3087: Error: invalid operands for opcode ../../../../gcc-4.7.2-20121114-aarch64/libgcc/config/sh/lib1funcs.S:3088: Error: invalid operands for opcode
[Bug target/55344] New: Cross compiling for alpha-linux fails because signal.h doesn't exist
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55344 Bug #: 55344 Summary: Cross compiling for alpha-linux fails because signal.h doesn't exist Classification: Unclassified Product: gcc Version: 4.7.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: d...@danny.cz Created attachment 28702 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28702 fix cross build Cross compiling libgcc for alpha-linux fails because signal.h included from libgcc/config/alpha/linux-unwind.h doesn't exist /builddir/build/BUILD/gcc-4.7.2-20121114-aarch64/alpha-linux-gnu/./gcc/xgcc -B/builddir/build/BUILD/gcc-4.7.2-20121114-aarch64/alpha-linux-gnu/./gcc/ -B/usr/alpha-linux-gnu/bin/ -B/usr/alpha-linux-gnu/lib/ -isystem /usr/alpha-linux-gnu/include -isystem /usr/alpha-linux-gnu/sys-include-g -O2 -mieee -O2 -g -O2 -mieee -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -mieee -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -fPIC -mieee -I. -I. -I../.././gcc -I../../../gcc-4.7.2-20121114-aarch64/libgcc -I../../../gcc-4.7.2-20121114-aarch64/libgcc/. -I../../../gcc-4.7.2-20121114-aarch64/libgcc/../gcc -I../../../gcc-4.7.2-20121114-aarch64/libgcc/../include -DHAVE_CC_TLS -o unwind-c.o -MT unwind-c.o -MD -MP -MF unwind-c.dep -fexceptions -c ../../../gcc-4.7.2-20121114-aarch64/libgcc/unwind-c.c In file included from ../../../gcc-4.7.2-20121114-aarch64/libgcc/unwind-dw2.c:376:0: ./md-unwind-support.h:28:20: fatal error: signal.h: No such file or directory compilation terminated.
[Bug target/44553] Cross compiling for ia64 fails as stdlib.h doesn't exist
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44553 Dan Horák dan at danny dot cz changed: What|Removed |Added CC||dan at danny dot cz --- Comment #4 from Dan Horák dan at danny dot cz 2012-06-01 16:16:12 UTC --- and still present in 4.7.0, please, please, fix it :-)
[Bug target/53557] New: Cross compiling for m68k-linux fails as asm/unistd.h doesn't exist
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53557 Bug #: 53557 Summary: Cross compiling for m68k-linux fails as asm/unistd.h doesn't exist Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: d...@danny.cz Created attachment 27544 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27544 fix cross build Cross compiling for m68k-linux fails as asm/unistd.h doesn't exist, although a fallback solution exists in libgcc/config/m68k/linux-atomic.c I will attach more information including the logs later.
[Bug c/52714] New: ICE in fixup_reorder_chain, at cfglayout.c:880
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52714 Bug #: 52714 Summary: ICE in fixup_reorder_chain, at cfglayout.c:880 Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: d...@danny.cz Created attachment 26985 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26985 preprocessed source file m68k-linux-gnu cross-compiler throws an internal error when compiling the file from attachment with -O1 (-O0 and -O2 are OK), same error exist also 4.6.[23] [dan@eagle tmp]$ m68k-linux-gnu-gcc -O1 -c regex.i ../posix/regex.c: In function ‘re_match_2_internal’: ../posix/regex.c:5255:1: internal compiler error: in fixup_reorder_chain, at cfglayout.c:880 [dan@eagle tmp]$ m68k-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=m68k-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/m68k-linux-gnu/4.7.0/lto-wrapper Target: m68k-linux-gnu Configured with: ../gcc-4.7.0-RC-20120302/configure --disable-dependency-tracking --disable-silent-rules --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=m68k-linux-gnu --enable-targets=all --program-prefix=m68k-linux-gnu- --enable-languages=c --without-headers --enable-sjlj-exceptions --with-system-libunwind --disable-nls --disable-threads --disable-shared --disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath --disable-gold --disable-decimal-float --enable-checking= --enable-gnu-unique-object --enable-linker-build-id --disable-plugin --enable-nls --with-system-zlib --with-bugurl=http://bugzilla.redhat.com/bugzilla/ --enable-obsolete Thread model: single gcc version 4.7.0 20120302 (Red Hat 4.7.0-0.11.4) (GCC)
[Bug target/47372] [x32] internal compiler error: in simplify_subreg, at simplify-rtx.c:5222
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47372 --- Comment #3 from Dan Horak dan at danny dot cz 2011-03-04 15:46:23 UTC --- Created attachment 23544 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23544 preprocessed source file got the same ICE when building xulrunner on Fedora 15 on s390x with gcc version 4.6.0 20110212 (Red Hat 4.6.0-0.7) ./vpx_scale/generic/yv12extend.c: In function 'vp8_yv12_extend_frame_borders': ./vpx_scale/generic/yv12extend.c:145:1: internal compiler error: in simplify_subreg, at simplify-rtx.c:5222 will try to build again with gcc-4.6.0-0.12.fc15
[Bug debug/47620] [4.6 Regression] Profiledbootstrap failure on powerpc-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47620 Dan Horak dan at danny dot cz changed: What|Removed |Added CC||dan at danny dot cz --- Comment #9 from Dan Horak dan at danny dot cz 2011-02-14 12:54:59 UTC --- build of gcc-4.6.0-0.7.fc15 fails on s390, s390x looks good this time. gcc-4.6.0-0.5.fc15 is in the buildroot, but the problem is in the freshly built gcc and not in the one from buildroot if I understand it correctly. for build logs please see http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=302436
[Bug c++/36659] Confusing error message order 'error: ‘functionname’ declared as an ‘inline’ variable'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36659 Dan Horak dan at danny dot cz changed: What|Removed |Added CC||dan at danny dot cz --- Comment #2 from Dan Horak dan at danny dot cz 2010-11-15 11:08:36 UTC --- Still present in 4.5.1, real world example from building xulrunner 2.0 on Fedora/s390x jsval.h:524:22: error: 'JSVAL_IS_DOUBLE_IMPL' declared as an 'inline' variable jsval.h:524:22: warning: 'always_inline' attribute ignored jsval.h:524:22: error: 'jsval_layout' was not declared in this scope jsval.h:525:1: error: expected ',' or ';' before '{' token jsval.h:529:25: error: 'jsval_layout' does not name a type
[Bug c++/28631] New: no candidate even when it exists, depends on position of the function
I have a code (usage of C++ binding for the Squirrel language in the Code::Blocks IDE) that cannot be compiled with g++ from 4.1.1 (from FC devel) and 4.2.0 (20060729), but can be compiled with 3.2, 3.4 and 4.0 (all on Redhat/Fedora). The output from the compiler is -- scriptbindings.cc: In static member function static void SqPlus::ReturnSpecializationRT::Call(Callee, RT (Callee::*)(P1)const) [with Callee = Base, P1 = const String, RT = const String]: scriptbindings.cc:55: instantiated from void SqPlus::Call(Callee, RT (Callee::*)(P1)const) [with Callee = Base, RT = const String, P1 = const String] scriptbindings.cc:60: instantiated from void SqPlus::RegisterInstance(Callee, Func) [with Callee = Base, Func = const String (Base::*)(const String)const] scriptbindings.cc:69: instantiated from SqPlus::SQClassDefTClassType SqPlus::SQClassDefTClassType::func(Func) [with Func = const String (Base::*)(const String)const, TClassType = Base] scriptbindings.cc:84: instantiated from here scriptbindings.cc:44: error: no matching function for call to Push(const String) scriptbindings.cc:27: note: candidates are: void SqPlus::Push(bool) scriptbindings.cc:30: note: void SqPlus::Push(int) -- It compiles when - I remove the SqPlus namespace - move the Push(bool) and Push(int) down to the definition of Push(String) - move the Push(String) up to the Push(bool) and Push(int) The code is here (downsized from 80K+ lines and 2+ MB :-) ) class String { public: String(); }; class Base { public: Base(); const String GetString(const String key) const; bool GetBool() const; }; namespace SqPlus { templateclass T struct TypeWrapper { }; templatetypename T T * GetInstance() { return (T *)0; } inline void Push(bool value) { } inline bool Get(TypeWrapperbool) { return *GetInstancebool(); } inline void Push(int value) { } templateclass RT struct ReturnSpecialization { template typename Callee static void Call(Callee callee,RT (Callee::*func)() const) { RT ret = (callee.*func)(); Push(ret); } template typename Callee,typename P1 static void Call(Callee callee,RT (Callee::*func)(P1) const) { RT ret = (callee.*func)(Get(TypeWrapperP1())); Push(ret); } }; templatetypename Callee,typename RT void Call(Callee callee, RT (Callee::*func)() const) { ReturnSpecializationRT::Call(callee,func); } templatetypename Callee,typename RT,typename P1 void Call(Callee callee,RT (Callee::*func)(P1) const) { ReturnSpecializationRT::Call(callee,func); } templatetypename Callee,typename Func inline void RegisterInstance(Callee callee,Func func) { Call(*(Callee *)0,*(Func *)0); } templatetypename TClassType struct SQClassDef { SQClassDef(); templatetypename Func SQClassDef func(Func pfunc) { RegisterInstance(*(TClassType *)0,pfunc); return *this; } }; inline void Push(const String value) { } inline const String Get(TypeWrapperconst String ) { return *GetInstanceString(); } inline void Push(Base * value) { } inline Base Get(TypeWrapperBase ) { return *GetInstanceBase(); } }; void RegisterBindings() { SqPlus::SQClassDefBase(). func(Base::GetString). func(Base::GetBool); } References: http://forums.codeblocks.org/index.php?topic=3766.0 http://forums.codeblocks.org/index.php?topic=3481.0 http://squirrel-lang.org/forums/thread/1015.aspx -- Summary: no candidate even when it exists, depends on position of the function Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dan at danny dot cz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28631