[Bug c++/111923] default argument is not treated as a complete-class context of a class

2025-02-26 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111923 --- Comment #13 from Stas Sergeev --- Just for the record, Richard Smith pointed the correct syntax for my problem, which I would never ever find myself, and likely no one else in the world, too: #include template struct B { public: stat

[Bug driver/84440] unrecognized command line option '-Wno-format-invalid-specifier'

2025-01-20 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84440 --- Comment #3 from Stas Sergeev --- Yes, this warning: warning: unknown conversion type character 'P' in format [-Wformat=] can be suppressed with -Wno-format, but it seems to suppress the entire format checking. I only need to suppress "unkno

[Bug c++/84194] fails to pack structs with template members

2025-01-20 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84194 --- Comment #3 from Stas Sergeev --- Explicitly packing non-POD field seems to allow the packing. How about saying so in the warning?

[Bug c++/83732] wrong warning about non-POD field

2025-01-20 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83732 --- Comment #9 from Stas Sergeev --- Note that this silly (and wrong) warning can't even be disabled. Or at least the warning itself doesn't hint how to do that. I think all other warnings do.

[Bug c/117267] 'setjmp' can never be copied because it receives a non-local goto

2024-10-23 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117267 --- Comment #17 from Stas Sergeev --- (In reply to Jonathan Wakely from comment #16) > A warning > would be OK. Sure! Add an UB warning and rephrase the initial error. Replace this error: 'setjmp' can never be copied because it receives a non-

[Bug c/117267] 'setjmp' can never be copied because it receives a non-local goto

2024-10-23 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117267 --- Comment #15 from Stas Sergeev --- So in this case is this really good to disallow the always_inline attribute? - It just throws the meaningless error. Its meaningless because clang has no such problem, so stating "can never be copied" is pl

[Bug c/117267] 'setjmp' can never be copied because it receives a non-local goto

2024-10-22 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117267 --- Comment #12 from Stas Sergeev --- Well I can move %rsp with an inline asm to some pre-defined buffer before recovering regs with swapcontext. Or I can manually adjust it in jmpbuf, in which case I won't be on a wrong stack even temporarily.

[Bug c/117267] 'setjmp' can never be copied because it receives a non-local goto

2024-10-22 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117267 Stas Sergeev changed: What|Removed |Added Resolution|INVALID |--- Status|RESOLVED

[Bug c/117267] 'setjmp' can never be copied because it receives a non-local goto

2024-10-22 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117267 --- Comment #6 from Stas Sergeev --- In order to restore the stack, I need it to be inlined. Otherwise it won't restore the right stack. But even in that case it generates this: Dump of assembler code for function setjmp: => 0x00401160

[Bug c/117267] 'setjmp' can never be copied because it receives a non-local goto

2024-10-22 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117267 --- Comment #4 from Stas Sergeev --- No, this is wrong. I am perfectly aware that it doesn't restore the full register set. I need it to only restore stack. But it simply doesn't compile. Why on clang it works properly?

[Bug c/117267] New: 'setjmp' can never be copied because it receives a non-local goto

2024-10-22 Thread stsp at users dot sourceforge.net via Gcc-bugs
ty: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- The test code below works with clang but is rejected by gcc: --- #include #if 0 #include #else typedef struct

[Bug c/116395] -m32 forbids empty scalar initializer

2024-08-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116395 Stas Sergeev changed: What|Removed |Added Resolution|INVALID |FIXED --- Comment #5 from Stas Sergeev

[Bug c/116395] -m32 forbids empty scalar initializer

2024-08-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116395 --- Comment #3 from Stas Sergeev --- (In reply to Andrew Pinski from comment #1) > va_list can't be used that way. > in x86 (32bit) va_list is a pointer while in x86_64, it is an array. https://stackoverflow.com/questions/77647307/expression-in

[Bug c/116396] New: __pic__ and __PIC__ are controlled by -fpie

2024-08-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- Maybe this is a documentation issue. Documentation says: -fpic: When this flag is set, the macros __pic__ and __PIC__ are defined to 1. It doesn't say anything

[Bug c/116395] New: -m32 forbids empty scalar initializer

2024-08-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- Created attachment 58941 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58941&action=edit test case $ gunzip a.c.gz $ gcc -c a.c [ no output ] $ gcc -m32 -c a.c d

[Bug driver/116393] documentation does not mention that PIE over rides PIC

2024-08-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116393 Stas Sergeev changed: What|Removed |Added Resolution|DUPLICATE |FIXED --- Comment #7 from Stas Sergeev

[Bug driver/116393] documentation does not mention that PIE over rides PIC

2024-08-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116393 --- Comment #5 from Stas Sergeev --- The documentation says: When this flag is set, the macros __pic__ and __PIC__ are defined to 1. I checked and I get these defines with no -fpic and with "-fpic -fpie" which supposedly discards -fpic. The onl

[Bug driver/116393] documentation does not mention that PIE over rides PIC

2024-08-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116393 --- Comment #2 from Stas Sergeev --- Can -fpic win, rather than to rely on a command line args order, which is very fragile?

[Bug c/116393] New: -fpie discards -fpic

2024-08-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- Created attachment 58940 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58940&action=edit test case Attached is a small test-case. Just run make: ``` cc -fpic -fpie -c -o weak.o

[Bug c/115729] case label does not reduce to an integer constant

2024-07-02 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115729 --- Comment #2 from Stas Sergeev --- > rejects-valid You meant accepts-invalid? Anyway, constexpr makes it consistent, thanks!

[Bug c/115729] New: case label does not reduce to an integer constant

2024-07-01 Thread stsp at users dot sourceforge.net via Gcc-bugs
Component: c Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- Created attachment 58550 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58550&action=edit preprocessed source Compiling the attached preprocessed

[Bug c++/111923] default argument is not treated as a complete-class context of a class

2023-10-24 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111923 --- Comment #11 from Stas Sergeev --- So if I understand correctly, before your proposal the following code was conforming: template struct B { static constexpr int off = O(); }; struct A { char a; B<[]() static constexpr ->int {

[Bug c++/111923] default argument is not treated as a complete-class context of a class

2023-10-24 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111923 --- Comment #10 from Stas Sergeev --- OMG, not what I intended to get. :( All I need is to use offsetof() in templates. Last time I started to use reinterpret_cast for that, you disallowed reinterpret_cast in constexpr context. Now this... Why i

[Bug c++/111923] default argument is not treated as a complete-class context of a class

2023-10-24 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111923 --- Comment #8 from Stas Sergeev --- Added a few experts who can probably answer that. While I do not doubt that Andrew is right, I am sure having the properly spelled explanation will help.

[Bug c++/111923] default argument is not treated as a complete-class context of a class

2023-10-23 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111923 --- Comment #7 from Stas Sergeev --- Also I verified your assumption in comment #5 by this code: struct A { struct dummy { static constexpr const int foo(const int off = offsetof(A, a)) { return off; } static constexpr const

[Bug c++/111923] default argument is not treated as a complete-class context of a class

2023-10-22 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111923 --- Comment #6 from Stas Sergeev --- (In reply to Andrew Pinski from comment #5) > Nope, lamdba's are not a nested class. But according to this: https://timsong-cpp.github.io/cppwp/n3337/expr.prim.lambda#3 The type of the lambda-expression (whi

[Bug c++/111923] default argument is not treated as a complete-class context of a class

2023-10-22 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111923 --- Comment #4 from Stas Sergeev --- (In reply to Andrew Pinski from comment #3) > One more note, default argument clause does not apply here as the it is not > an argument of a method of that class but rather a different context (the > lamdba d

[Bug c++/111923] New: default argument is not treated as a complete-class context of a class

2023-10-22 Thread stsp at users dot sourceforge.net via Gcc-bugs
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- The standard says: https://eel.is/c++draft/class.mem.general#7.2 A complete-class context of a class (template) is a

[Bug c++/109824] aligned attribute lost on first usage

2023-05-12 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109824 Stas Sergeev changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|DUPLICATE

[Bug c++/109824] aligned attribute lost on first usage

2023-05-12 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109824 --- Comment #1 from Stas Sergeev --- Sorry, copied the output from wrong place. The real error msg looks like this: $ g++ -Wall -c a.cpp a.cpp: In member function ‘less_aligned_a& t1::get_ref()’: a.cpp:17:16: error: cannot bind packed field ‘(

[Bug c++/109824] New: aligned attribute lost on first usage

2023-05-12 Thread stsp at users dot sourceforge.net via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- Created attachment 55063 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55063&action=edit test case struct a { short aa; }; typedef struct a less_al

[Bug driver/109217] failure statically linking shared lib

2023-03-21 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109217 --- Comment #4 from Stas Sergeev --- (In reply to Richard Biener from comment #3) > -static-pie is now marked as the negative of -shared, so it works with that > (the later cancelling out the earlier). It isn't handled that way for > -static vs

[Bug target/109217] failure statically linking shared lib

2023-03-20 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109217 --- Comment #1 from Stas Sergeev --- So as #7516 suggests, it is now indeed rejected. :( And at the same time clang has no problem with that combination of options. Please make that a valid option combination again.

[Bug libgcc/109217] New: failure statically linking shared lib

2023-03-20 Thread stsp at users dot sourceforge.net via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- Use any dummy source like this: void foo(void) {} Then: $ cc -Wall -o libmain.so -shared main.c -static /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginT.o

[Bug c++/108538] unexpected -Wnarrowing errors in -fpermissive mode

2023-01-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108538 --- Comment #4 from Stas Sergeev --- (In reply to Jonathan Wakely from comment #3) > It seems like you might be expecting more from -fpermissive than it actually > provides. It only affects a very limited set of diagnostics, and isn't a > genera

[Bug c++/108538] unexpected -Wnarrowing errors in -fpermissive mode

2023-01-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108538 --- Comment #2 from Stas Sergeev --- (In reply to Andreas Schwab from comment #1) > It depends on the selected C++ standard. C++11 does not allow narrowing > conversions unconditionally. Yes, I am not disputing that. But I used -fpermissive mo

[Bug c++/108538] New: unexpected -Wnarrowing errors in -fpermissive mode

2023-01-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- int main() { unsigned char a[1] = { -1 }; return a[0]; } $ g++ -fpermissive nar.cpp nar.cpp: In function ‘int main()’: nar.cpp:3:28: error: narrowing

[Bug c/107477] New: spurious -Wrestrict warning

2022-10-31 Thread stsp at users dot sourceforge.net via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- Created attachment 53804 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53804&action=edit test case $ gcc -Wrestrict -O1 -c www.c In file included from /usr/include/strin

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error and pthread_cancel

2022-10-18 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #18 from Stas Sergeev --- (In reply to Stas Sergeev from comment #5) > And its running on a stack previously > poisoned before pthread_cancel(). And the reason for that is because the glibc in use is the one not built with -fsanitiz

[Bug rtl-optimization/104777] [9/10 Regression] gcc crashes while compiling a custom coroutine library sample

2022-06-13 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104777 --- Comment #14 from Stas Sergeev --- (In reply to Uroš Bizjak from comment #13) > Please backport the patch also to gcc-10 branch. 9.4.0 fails for me on ubuntu-20. 8.5.0 also fails. Please back-port to all possible branches.

[Bug rtl-optimization/105936] [10 Regression] ICE with inline-asm and TLS on x86_64 and -O2 in move_insn

2022-06-13 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105936 Stas Sergeev changed: What|Removed |Added Resolution|DUPLICATE |FIXED --- Comment #6 from Stas Sergeev

[Bug gcov-profile/105936] New: internal compiler error: in move_insn, at haifa-sched.c:5463

2022-06-12 Thread stsp at users dot sourceforge.net via Gcc-bugs
Priority: P3 Component: gcov-profile Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net CC: marxin at gcc dot gnu.org Target Milestone: --- Created attachment 53124 --> https://gcc.gnu.org/bugzilla/attachment.cgi

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error and pthread_cancel

2022-02-11 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #17 from Stas Sergeev --- I sent the small patch-set here: https://lore.kernel.org/lkml/20220126191441.3380389-1-st...@yandex.ru/ but it is so far ignored by kernel developers. Someone from this bugzilla should give me an Ack or Revi

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error and pthread_cancel

2022-01-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #16 from Stas Sergeev --- I think I'll propose to apply something like this to linux kernel: diff --git a/kernel/signal.c b/kernel/signal.c index 6f3476dc7873..0549212a8dd6 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -4153

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error and pthread_cancel

2022-01-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #15 from Stas Sergeev --- (In reply to Martin Liška from comment #14) > Please report to upstream as well. I'd like some guidance on how should that be addressed, because that will allow to specify the upstream. I am not entirely su

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error and pthread_cancel

2022-01-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #13 from Stas Sergeev --- Found another problem. https://github.com/gcc-mirror/gcc/blob/master/libsanitizer/asan/asan_posix.cpp#L53 The comment above that line talks about SS_AUTODISARM, but the line itself does not account for any f

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error

2022-01-20 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #11 from Stas Sergeev --- The third bug here seems to be that __asan_handle_no_return: https://github.com/gcc-mirror/gcc/blob/master/libsanitizer/asan/asan_rtl.cpp#L602 also calls sigaltstack() before unpoisoning stacks. I believe th

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error

2022-01-19 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #9 from Stas Sergeev --- (In reply to Martin Liška from comment #8) > Please report the problem to upstream libsanitizer project: > https://github.com/llvm/llvm-project/issues I already did: https://github.com/google/sanitizers/issu

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error

2022-01-18 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #7 from Stas Sergeev --- Created attachment 52221 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52221&action=edit test case This is a reproducer for both problems. $ cc -Wall -o bug -ggdb3 -fsanitize=address bug.c -O1 to see

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error

2022-01-18 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #6 from Stas Sergeev --- I think the fix (of at least 1 problem here) would be to move this line: https://code.woboq.org/gcc/libsanitizer/asan/asan_thread.cc.html#109 upwards, before this: https://code.woboq.org/gcc/libsanitizer/asan

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error

2022-01-18 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #5 from Stas Sergeev --- Another problem here seems to be that pthread_cancel() doesn't unpoison the cancelled thread's stack. This causes dtors to run on a randomly poisoned stack, depending on where the cancellation happened. That

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error

2022-01-18 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #4 from Stas Sergeev --- Thread 3 "X ev" hit Breakpoint 4, __sanitizer::UnsetAlternateSignalStack () at ../../../../libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp:190 190 void UnsetAlternateSignalStack() { (gdb) n 194

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error

2022-01-18 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 --- Comment #3 from Stas Sergeev --- Why does it check for a redzone on a non-leaf function? GetAltStackSize() calls to a glibc's getconf and that overwrites a canary. Maybe it shouldn't use/check the redzone on a non-leaf function?

[Bug sanitizer/101476] AddressSanitizer check failed, points out a (potentially) non-existing stack error

2022-01-18 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101476 Stas Sergeev changed: What|Removed |Added CC||stsp at users dot sourceforge.net

[Bug c++/104053] New: const variable not exported with O1

2022-01-16 Thread stsp at users dot sourceforge.net via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- const.cpp: --- const int AAA=5; --- Good run: --- $ g++ -O0 -c -o const.o const.cpp $ nm const.o |c++filt r AAA --- Bad run: --- $ g++ -O1 -c -o const.o

[Bug c/103502] -Wstrict-aliasing=3 doesn't warn on what is documented as UB

2021-11-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103502 --- Comment #7 from Stas Sergeev --- (In reply to Eric Gallager from comment #6) > -Wstrict-aliasing is kind of confusing in this regards since it's different > from how other warnings with numerical levels work. Normally a higher > numerical va

[Bug c/103502] -Wstrict-aliasing=3 doesn't warn on what is documented as UB

2021-11-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103502 --- Comment #5 from Stas Sergeev --- Note that this code example is trivial. If the warning have disappeared as a false-negative, then I am surprised you close this as NOTABUG, as there is definitely something to fix or improve here. Not detecti

[Bug c/103502] -Wstrict-aliasing=3 doesn't warn on what is documented as UB

2021-11-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103502 --- Comment #4 from Stas Sergeev --- (In reply to Andrew Pinski from comment #3) > Because GCC can optimize that pun+dereference pattern without _not_ breaking Did you mean to say "without breaking the code"? I will assume it is the case: > th

[Bug c/103502] -Wstrict-aliasing=3 doesn't warn on what is documented as UB

2021-11-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103502 --- Comment #2 from Stas Sergeev --- (In reply to Andrew Pinski from comment #1) > I think you misunderstood what precise means in this context really. > "Higher levels correspond to higher accuracy (fewer false positives). " So was it a false-

[Bug c/103502] New: -Wstrict-aliasing=3 doesn't warn on what is documented as UB

2021-11-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
ormal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html --- Similarly, access by taking the address, casting the resulting po

[Bug middle-end/98896] local label displaced with -O2

2021-01-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98896 --- Comment #9 from Stas Sergeev --- (In reply to Jakub Jelinek from comment #7) > you need to tell the compiler > the asm can goto to that label. Of course the one would wonder what else could be done to the passed label. :) Maybe some distance

[Bug middle-end/29305] local label-as-value being placed before function prolog

2021-01-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29305 Stas Sergeev changed: What|Removed |Added CC||stsp at users dot sourceforge.net

[Bug middle-end/98896] local label displaced with -O2

2021-01-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98896 --- Comment #8 from Stas Sergeev --- (In reply to Jakub Jelinek from comment #7) > It doesn't mean you can't use "r" (&&lab), Well, if not for Andrew telling exactly that you can't, both here and in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=2

[Bug middle-end/98896] local label displaced with -O2

2021-01-30 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98896 --- Comment #6 from Stas Sergeev --- (In reply to Jakub Jelinek from comment #5) > I think Andrew meant asm goto, which you haven't tried. You are right. Thanks for mentioning that. But it doesn't work as well: --- int main(void) { __label__

[Bug middle-end/98896] local label displaced with -O2

2021-01-29 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98896 --- Comment #4 from Stas Sergeev --- I can achieve similar results with this: --- void cont(void) asm("_cont"); asm volatile ( "push %0\n" "ret\n" "_cont:\n" ::"r"(cont)); --- But this doesn't work if the opti

[Bug middle-end/98896] local label displaced with -O2

2021-01-29 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98896 --- Comment #3 from Stas Sergeev --- I can't use inline-asm gotos because I can't manipulate such a label in a portable way. For example: --- asm volatile ( "push $1f\n" "ret\n" "1:\n" ); --- This won't work with

[Bug c/98896] New: local label displaced with -O2

2021-01-29 Thread stsp at users dot sourceforge.net via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- The following code works as expected with clang, but hangs with gcc with -O2 (works with -O1): --- int main() { __label__ ret; asm volatile ("jmp *%0\n" :: "r&qu

[Bug debug/97989] -g3 somehow breaks -E

2020-11-26 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #23 from Stas Sergeev --- (In reply to Jakub Jelinek from comment #22) > -S -fpreprocessed test.i will not work It doesn't seem to support -fpreprocessed though. Thanks for explanations and sorry about naively attributing that effec

[Bug debug/97989] -g3 somehow breaks -E

2020-11-26 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #21 from Stas Sergeev --- (In reply to Jakub Jelinek from comment #19) > It is just that clang doesn't support -g3 at all, as can be seen by clang > not producing any .debug_macinfo nor .debug_macro sections. So with -fdebug-macro it

[Bug debug/97989] -g3 somehow breaks -E

2020-11-26 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #20 from Stas Sergeev --- Ah, makes sense, thank you. I was always wondering why under clang I need to do "-fdebug-macro" for that (which makes problems for gcc as being an unknown option). But "clang -g3 -fdebug-macro -E -Wp,-P -

[Bug debug/97989] -g3 somehow breaks -E

2020-11-26 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #18 from Stas Sergeev --- IMHO the only thing that makes sense, is whether or not this is useful in practice. If there are no practical cases for current "-g3 -P" behaviour, then to me the fact that its documented that way, is more or

[Bug debug/97989] -g3 somehow breaks -E

2020-11-26 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #16 from Stas Sergeev --- What do you think about, in addition to your current patch, to also change -P to disable debug? Looks more user-friendly and clang-compatible?

[Bug debug/97989] -g3 somehow breaks -E

2020-11-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #14 from Stas Sergeev --- (In reply to Jakub Jelinek from comment #13) > Because without the -dD implicitly added for -g3 the -g3 option can't work > as documented, in particular record the macros in the debug information. > Because

[Bug debug/97989] -g3 somehow breaks -E

2020-11-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #12 from Stas Sergeev --- Will your patch also fix this: $ cpp -g3 -P -xc -g0 -

[Bug debug/97989] -g3 somehow breaks -E

2020-11-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #10 from Stas Sergeev --- Ah, cool, thanks. Should this be re-opened?

[Bug debug/97989] -g3 somehow breaks -E

2020-11-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #8 from Stas Sergeev --- Thanks, but what will this patch do? Will it allow the trailing -g0, or what? For example if you implement -d0 or alike to undo the effect of previously specified -dD, will this still break the release branch

[Bug debug/97989] -g3 somehow breaks -E

2020-11-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #6 from Stas Sergeev --- (In reply to Jakub Jelinek from comment #5) > Then they just make bad assumptions. You can do: > cc -E -Wp,-P $CFLAGS -g0 > instead if you are sure CFLAGS don't include the -d[DMNIU] options nor e.g. > -fdire

[Bug debug/97989] -g3 somehow breaks -E

2020-11-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97989 --- Comment #4 from Stas Sergeev --- Jakub, people use "cc -E -Wp,-P $CFLAGS" as a generic preprocessor. $CFLAGS is needed to specify the includes, but all other options do never affect -E. But if CFLAGS contains -g3, you suddenly can't do that!

[Bug debug/97989] New: -g3 somehow breaks -E

2020-11-25 Thread stsp at users dot sourceforge.net via Gcc-bugs
: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- $ gcc -E -Wp,-P -xc -

[Bug c/201] Switch statement will not accept constant integer variable as case label

2020-08-24 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=201 Stas Sergeev changed: What|Removed |Added CC||stsp at users dot sourceforge.net

[Bug c++/84194] fails to pack structs with template members

2020-03-03 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84194 Stas Sergeev changed: What|Removed |Added Version|7.2.1 |9.2.1 --- Comment #2 from Stas Sergeev -

[Bug c++/93984] New: spurious Wclass-conversion warning

2020-02-29 Thread stsp at users dot sourceforge.net
++ Assignee: unassigned at gcc dot gnu.org Reporter: stsp at users dot sourceforge.net Target Milestone: --- #include struct D; struct B { virtual operator D() = 0; }; struct D : B { operator D() override { std::cout << "conv" << std::endl; return D(); } }

[Bug c++/49171] [C++0x][constexpr] Constant expressions support reinterpret_cast

2020-02-12 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49171 --- Comment #26 from Stas Sergeev --- (In reply to Jonathan Wakely from comment #23) > What you want (and what everybody I've seen asking for similar things) But comment #17 shows the different use of reinterpret_cast - offsetof in templates. Wh

[Bug c++/49171] [C++0x][constexpr] Constant expressions support reinterpret_cast

2019-11-13 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49171 Stas Sergeev changed: What|Removed |Added CC||stsp at users dot sourceforge.net

[Bug c++/83732] wrong warning about non-POD field

2019-10-31 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83732 --- Comment #8 from Stas Sergeev --- (In reply to Jonathan Wakely from comment #7) > Using the non-standard packed attribute already makes the code non-portable. It may be non-standard, but its still portable as long as all compilers agree on im

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-08 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #36 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #35) > what you want. I'm familiar with many of the details through having > written multiple such build systems myself. But even you do make the wrong exp

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-08 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #34 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #33) > to, you can also make your build system set all the variables such as CC > and CXX that are needed for the host). As well as AS, LD and all the rest?

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-08 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #32 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #29) > A common way of doing that is to make $host and $build textually different > (after passing through config.sub) while still logically the same. E.g.

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-07 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #31 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #29) > A common way of doing that is to make $host and $build textually different > (after passing through config.sub) while still logically the same. E.g.

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-07 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #30 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #29) > A common way of doing that is to make $host and $build textually different > (after passing through config.sub) while still logically the same. E.g.

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-07 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #28 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #22) > The build system design is that where A and B are both built at the same > time, and the build of B uses A, it should use the *newly built* copy of A

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-03 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #27 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #26) > On Thu, 3 Oct 2019, stsp at users dot sourceforge.net wrote: > > > Ah, I am starting to understand. > > So basically you mean s

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-03 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #25 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #24) > > But isn't there always a possibility to add > > one more stage? Say, in the example above where > > at stage1 we only have a static-only compiler, >

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-03 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #23 from Stas Sergeev --- (In reply to jos...@codesourcery.com from comment #22) > On Thu, 3 Oct 2019, stsp at users dot sourceforge.net wrote: > And overriding like that is fundamentally unsafe, because in general in a &

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-03 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #21 from Stas Sergeev --- Hi Joseph, thanks for your assistance! (In reply to jos...@codesourcery.com from comment #20) > The only case where the newly built GCC should be overridden is the > Canadian cross case, Since today, this

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-02 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #19 from Stas Sergeev --- OK, but the setup when you want to override the newly-built gcc, is also needed. Like, when you want to build the "destdir" gcc with the one installed directly into prefix (and therefore working fine on host)

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-02 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #17 from Stas Sergeev --- Created attachment 46991 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46991&action=edit the fix Attached is the patch that I think is correct. It also seems to work properly, i.e. the full build proc

[Bug other/91879] --with-build-time-tools doesn't work as expected

2019-10-02 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 Stas Sergeev changed: What|Removed |Added Status|RESOLVED|NEW Resolution|INVALID

[Bug other/91879] --with-build-sysroot doesn't work as expected

2019-10-02 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 --- Comment #16 from Stas Sergeev --- (In reply to Jonathan Wakely from comment #15) > For the record, this has moved to > https://gcc.gnu.org/ml/gcc-help/2019-10/msg2.html Thanks, I also would like to apologize to Joseph for not following h

[Bug other/91879] --with-build-sysroot doesn't work as expected

2019-09-25 Thread stsp at users dot sourceforge.net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879 Stas Sergeev changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|---

  1   2   >