public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/111788] New: g++ DWARF for void foo(...) missing unspecified parameters DIE @ 2023-10-12 16:00 gprocida at google dot com 2023-10-12 16:05 ` [Bug c++/111788] " pinskia at gcc dot gnu.org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: gprocida at google dot com @ 2023-10-12 16:00 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111788 Bug ID: 111788 Summary: g++ DWARF for void foo(...) missing unspecified parameters DIE Product: gcc Version: 13.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gprocida at google dot com Target Milestone: --- I'm putting this in component c++ rather than debug, because the debug information is correct for C compilation. FWIW, clang++-15 does emit DW_TAG_unspecified_parameters. $ cat v.c int foo1(int x, int y, ...) { return x + y; } int foo2(int x, ...) { return x; } int foo3(...) { return 0; } $ gcc -Wall -Wextra -g -c v.c v.o # DWARF for foo3 includes DW_TAG_unspecified_parameters $ g++ -Wall -Wextra -g -c v.c v.o # DWARF for foo3 does NOT include DW_TAG_unspecified_parameters $ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-4' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-oyarai/gcc-13-13.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-oyarai/gcc-13-13.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=28 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.2.0 (Debian 13.2.0-4) ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/111788] g++ DWARF for void foo(...) missing unspecified parameters DIE 2023-10-12 16:00 [Bug c++/111788] New: g++ DWARF for void foo(...) missing unspecified parameters DIE gprocida at google dot com @ 2023-10-12 16:05 ` pinskia at gcc dot gnu.org 2023-10-13 6:50 ` rguenth at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: pinskia at gcc dot gnu.org @ 2023-10-12 16:05 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111788 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-10-12 Ever confirmed|0 |1 Known to fail| |4.1.2 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed, does not look like a regression either. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/111788] g++ DWARF for void foo(...) missing unspecified parameters DIE 2023-10-12 16:00 [Bug c++/111788] New: g++ DWARF for void foo(...) missing unspecified parameters DIE gprocida at google dot com 2023-10-12 16:05 ` [Bug c++/111788] " pinskia at gcc dot gnu.org @ 2023-10-13 6:50 ` rguenth at gcc dot gnu.org 2023-10-13 7:02 ` gprocida at google dot com 2023-11-08 11:13 ` gprocida at google dot com 3 siblings, 0 replies; 5+ messages in thread From: rguenth at gcc dot gnu.org @ 2023-10-13 6:50 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111788 Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- I wonder if foo (...) is a GNU extension (it was for C). ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/111788] g++ DWARF for void foo(...) missing unspecified parameters DIE 2023-10-12 16:00 [Bug c++/111788] New: g++ DWARF for void foo(...) missing unspecified parameters DIE gprocida at google dot com 2023-10-12 16:05 ` [Bug c++/111788] " pinskia at gcc dot gnu.org 2023-10-13 6:50 ` rguenth at gcc dot gnu.org @ 2023-10-13 7:02 ` gprocida at google dot com 2023-11-08 11:13 ` gprocida at google dot com 3 siblings, 0 replies; 5+ messages in thread From: gprocida at google dot com @ 2023-10-13 7:02 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111788 --- Comment #3 from Giuliano Procida <gprocida at google dot com> --- https://en.cppreference.com/w/cpp/language/variadic_arguments (see introduction and Notes) It's been allowed for longer than in C, but there is no portable way of accessing the arguments. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/111788] g++ DWARF for void foo(...) missing unspecified parameters DIE 2023-10-12 16:00 [Bug c++/111788] New: g++ DWARF for void foo(...) missing unspecified parameters DIE gprocida at google dot com ` (2 preceding siblings ...) 2023-10-13 7:02 ` gprocida at google dot com @ 2023-11-08 11:13 ` gprocida at google dot com 3 siblings, 0 replies; 5+ messages in thread From: gprocida at google dot com @ 2023-11-08 11:13 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111788 --- Comment #4 from Giuliano Procida <gprocida at google dot com> --- Also worth noting that while Clang gives virtual table entries (for struct X) this type in DWARF: int(** _vptr.X)(...) GCC gives them this type: int(** _vptr$X)() The different member names are an unfortunate inconsistency. Clang is strictly better on the typing, stating that the virtual functions take an unknown number of arguments. Perhaps even better would have been if the first argument had been specified as type X*. In any case, this is likely all cosmetic as debuggers have all the special knowledge needed. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-11-08 11:13 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-10-12 16:00 [Bug c++/111788] New: g++ DWARF for void foo(...) missing unspecified parameters DIE gprocida at google dot com 2023-10-12 16:05 ` [Bug c++/111788] " pinskia at gcc dot gnu.org 2023-10-13 6:50 ` rguenth at gcc dot gnu.org 2023-10-13 7:02 ` gprocida at google dot com 2023-11-08 11:13 ` gprocida at google dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).