[Bug libstdc++/113159] More robust std::sort for silly comparator functions

2023-12-28 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113159 Jan Engelhardt changed: What|Removed |Added CC||fweimer at redhat dot com --- Comment

[Bug libstdc++/113159] New: More robust std::sort for silly comparator functions

2023-12-27 Thread jengelh at inai dot de via Gcc-bugs
Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Type: enhancement Version: 13.2.1 20231130 [revision 741743c028dc00f27b9c8b1d5211c1f602f2fddd] (SUSE Linux) x86_64 Input: #include #include #include int main

[Bug sanitizer/112100] New: ubsan: misses UB when modifying std::string's trailing \0

2023-10-26 Thread jengelh at inai dot de via Gcc-bugs
Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot

[Bug c++/110866] New: No UDC lookup with va_arg

2023-07-31 Thread jengelh at inai dot de via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Bugtype: enhancement Version: 13.1.1 20230720 [revision 9aac37ab8a7b919a89c6d64bc7107a8436996e93] (SUSE Linux) Input = #include struct va_wrap { ~va_wrap() { if (engaged) va_end(vl

[Bug c/66425] (void) cast doesn't suppress __attribute__((warn_unused_result))

2023-04-24 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 --- Comment #52 from Jan Engelhardt --- >This is useful for functions where not checking the >result is either a security problem or always a bug, such as >'realloc'. always? reall..y..oc? void *x = malloc(1); realloc(x, 0);

[Bug c++/109020] New: Lambdas have different DWARF signature than the function they are in

2023-03-04 Thread jengelh at inai dot de via Gcc-bugs
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: rguenther at suse dot de Target Milestone: --- == Input == $ cat x.cpp #include static void ff(uint64_t b) { [&](){}(); } int

[Bug tree-optimization/107895] mt19937 bad performance on LP64

2022-11-28 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107895 --- Comment #1 from Jan Engelhardt --- clang-15.0.5+gnustdlibc timing distribution. -m32 -m64 mt19937 6.0 4.7 mt19937_64 9.2 4.7

[Bug tree-optimization/107895] New: mt19937 bad performance on LP64

2022-11-28 Thread jengelh at inai dot de via Gcc-bugs
-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Input = #include #include static std::mt19937 rng; int main() { for (size_t j = 0; j < 0x8000; ++j) { uint32_t numbers[65

[Bug sanitizer/103930] asan intercepts fail if target library is only loaded (indirectly) through dlopen (e.g. plugin)

2022-11-17 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103930 --- Comment #2 from Jan Engelhardt --- Subissue a) "the crash output is completely useless" seems to have been addressed in the past already; I observe in gcc 12 that Found plugin run function: 0x7fecaa0e01a0 AddressSanitizer:DEADLYSIGNAL

[Bug sanitizer/103930] asan intercepts fail if target library is only loaded (indirectly) through dlopen (e.g. plugin)

2022-11-17 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103930 Jan Engelhardt changed: What|Removed |Added CC||rguenther at suse dot de --- Comment

[Bug c/106195] New: RFE: Split -msse into -msse and -fenable-intrinsics

2022-07-04 Thread jengelh at inai dot de via Gcc-bugs
Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Some libraries may use cpuid to runtime-test for SSE availability, yet their authors may, intentionally or not, cause a profound lack of #ifdef __SSE__ guards around

[Bug sanitizer/104929] New: UBSAN: false positive with sprintf

2022-03-15 Thread jengelh at inai dot de via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- // g

[Bug c++/104806] New: Weird error message: did you mean "__dt "

2022-03-06 Thread jengelh at inai dot de via Gcc-bugs
mponent: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Input = struct S{}; int main() { S s; s.__d; } Observed g++ -c x.cpp gcc version 11.2.1 20220103 [revision d4a1d3c4b377f1d4acb34fe1b55b5088a3f293f6] (

[Bug c++/104437] Constructor of templated class with full instantiation name rejected in -std=c++2a

2022-02-07 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104437 --- Comment #1 from Jan Engelhardt --- Due to http://eel.is/c++draft/diff.cpp17.class#2 , it's probably going to be (b). However, adding inline, i.e. inline S() {} makes it compile again, so that case.. might be improperly rejected.

[Bug c++/104437] New: Constructor of templated class with full instantiation name rejected in -std=c++2a

2022-02-07 Thread jengelh at inai dot de via Gcc-bugs
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Input = struct K {}; template struct S : Base { S() {} }; int main() { S s; } Output == $ g++ -c -std

[Bug c++/103923] New: is_invocable inexplicably fails

2022-01-05 Thread jengelh at inai dot de via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Input: #include #include #include #include struct T { struct K { bool operator==(const K &) const { return 0; } bool operator<(const K &

[Bug tree-optimization/103733] Missed optimization: defaulted op== for trivially comparable types worse than memcmp

2021-12-16 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103733 --- Comment #4 from Jan Engelhardt --- Is there a way to convey that it is safe to access every and all parts of S, e.g. by initializing S::b at construction time?

[Bug tree-optimization/103733] Missed optimization: defaulted op== for trivially comparable types worse than memcmp

2021-12-15 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103733 --- Comment #2 from Jan Engelhardt --- == New input == $ cat x.cpp struct S { char b[16]; #if __cplusplus >= 202000L bool operator==(const S &) const = default; #else inline bool operator==(const S ) const { return

[Bug tree-optimization/103733] New: Missed optimization: defaulted op== for trivially comparable types worse than memcmp

2021-12-15 Thread jengelh at inai dot de via Gcc-bugs
Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- == Input == struct S { char b[16]; #if __cplusplus >= 202000L bool operator==(cons

[Bug rtl-optimization/103710] Missed optimization: common bit prefix/suffixes of multiple values

2021-12-14 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103710 --- Comment #2 from Jan Engelhardt --- Created attachment 52001 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52001=edit testcase

[Bug rtl-optimization/103710] New: Missed optimization: common bit prefix/suffixes of multiple values

2021-12-14 Thread jengelh at inai dot de via Gcc-bugs
Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Environment: » ./xgcc -v ... Reading specs from /home/jengelh/repos/gcc/host-x86_64-pc-linux-gnu/gcc/specs COLLECT_GCC

[Bug tree-optimization/103535] New: [missed optimization] remainder-of-2 with subtract-1

2021-12-02 Thread jengelh at inai dot de via Gcc-bugs
Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- gcc version 11.2.1 20210816 [revision 056e324ce46a7924b5cf10f61010cf9dd2ca10e9] (SUSE Linux) x86_64 == input == unsigned int fff(unsigned int p

[Bug driver/102957] New: [riscv64] ICE on bogus -march value

2021-10-26 Thread jengelh at inai dot de via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- > g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib64/gcc/riscv64-suse-linux/11/lto-wrapper Target: riscv64-suse-linux Configured with: ../configure --pre

[Bug tree-optimization/102929] New: [missed optimization] two ways to rounddown-to-next-multiple

2021-10-25 Thread jengelh at inai dot de via Gcc-bugs
Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Input = unsigned long calc(unsigned long x, unsigned long y) { return x/y*y; } unsigned long calc2(unsigned long x

[Bug c++/102877] New: missed optimization: memcpy produces lots more asm than otherwise

2021-10-21 Thread jengelh at inai dot de via Gcc-bugs
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Input (C++) === struct GLOBCNT { unsigned char ab[6]; }; unsigned long long gc_to_num(GLOBCNT gc) { unsigned long long

[Bug libstdc++/102839] New: filesystem::path::wstring runs in C locale / practically always throws

2021-10-19 Thread jengelh at inai dot de via Gcc-bugs
: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- ► cat x.cpp #include #include #include namespace fs = std::filesystem; int main() { const char localeName

[Bug tree-optimization/102795] New: RFE: recognize !! vs branch similarity better

2021-10-16 Thread jengelh at inai dot de via Gcc-bugs
: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Input = unsigned long p1(unsigned long x) { return x - x / 10 - !!(x % 10); } unsigned long p2(unsigned long x) { if (x % 10 == 0

[Bug c/101705] Missed optimization opportunity when copying lots of bitfields

2021-07-31 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101705 --- Comment #2 from Jan Engelhardt --- Created attachment 51229 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51229=edit testcase, 2.c

[Bug c/101705] Missed optimization opportunity when copying lots of bitfields

2021-07-31 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101705 --- Comment #1 from Jan Engelhardt --- Created attachment 51228 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51228=edit testcase, 1.c

[Bug c/101705] New: Missed optimization opportunity when copying lots of bitfields

2021-07-31 Thread jengelh at inai dot de via Gcc-bugs
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Using gcc-11.1.1 [revision 62bbb113ae68a7e724255e17143520735bcb9ec9], I observe that gcc is able to recognize and combine lots of "st

[Bug c++/100386] New: Not all constant brace-init-lists receive symbols

2021-05-02 Thread jengelh at inai dot de via Gcc-bugs
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Input: ``` #include #include void f(int x) { printf("%d", x); } void foo(const std::initializer_list ) { for (auto y : x) f(y); } int main() { f

[Bug c++/100215] New: Improve text of -Wmaybe-uninitialized references

2021-04-22 Thread jengelh at inai dot de via Gcc-bugs
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Request for enhancements on a particular warning message emitted for shoddy code. Input: ``` #include #include struct C { C() = default; C(C &) { me

[Bug tree-optimization/99383] New: No tree-switch-conversion under PIC

2021-03-04 Thread jengelh at inai dot de via Gcc-bugs
-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- == Input source == enum { itm01, itm02, itm03, itm04, itm05, itm06, itm07, itm08, itm09, itm0A, itm0B, itm0C, itm0D, itm0E, itm0F, itm10, }; #define E(s) case s: return #s

[Bug c++/97918] [8/9/10/11 Regression] ICE near htab_hash_string when LTO, -O & -g

2020-11-20 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97918 --- Comment #9 from Jan Engelhardt --- The new g++.dg/debug/localclass2.C test file you added is marked "target c++11", but it seems I can only cause the crash with -std=c++17 or later standards. Should the test file perhaps be amended?

[Bug c++/97918] New: ICE near htab_hash_string when LTO, -O & -g

2020-11-19 Thread jengelh at inai dot de via Gcc-bugs
t: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Created attachment 49602 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49602=edit Reproducer. An ICE is observed on firefox-83 with gcc-10.2.1, persisting in git ma

[Bug c++/97908] Should _ZTI and _ZTS symbols be marked GNU_UNIQUE

2020-11-19 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97908 --- Comment #4 from Jan Engelhardt --- >don't dlclose a library when you are using anything from it. That's easier said then done when using C++, as (inline) functions and static objects can potentially be instantiated in any object file. A

[Bug c++/97908] Should _ZTI and _ZTS symbols be marked GNU_UNIQUE

2020-11-19 Thread jengelh at inai dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97908 --- Comment #1 from Jan Engelhardt --- On second thought, this is practically the same issue as functions going away (like example below), so wontfix seems appropriate. -- main #include struct base { virtual ~base() {}; }; int main() {

[Bug c++/97908] New: Should _ZTI and _ZTS symbols be marked GNU_UNIQUE

2020-11-19 Thread jengelh at inai dot de via Gcc-bugs
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- » cat libx.cpp #include class Foobar {}; extern "C" { const char *makename(); } const char *makename() { Foobar f; return typeid(f).name(); } » cat m.cpp #include

[Bug c++/93064] ICE on C++20 operator<=> use

2019-12-24 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93064 --- Comment #1 from Jan Engelhardt --- Possibly a duplicate of #92496 (the automatic "Possible duplicates" in the New Bug form was slow to load), but my preconditions are different: I don't have a public data member, nor is a template used like

[Bug c++/93064] New: ICE on C++20 operator<=> use

2019-12-24 Thread jengelh at inai dot de
ent: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- » cat x.cpp #include #include struct D { D() { printf("*D\n"); } ~D() { printf("~D\n"); } auto operator<=>(const D &) = default; };

[Bug c/92748] New: Two different -Wreturn-type diagnostics for essentially same code

2019-12-02 Thread jengelh at inai dot de
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- -- Input -- » cat x.c static void *f() {} void *g() {} -- Observed output -- » gcc x.c -c -Wall -v gcc version 9.2.1 20190903 [gcc-9-branch

[Bug libstdc++/78747] Duplicate _S_empty_rep_storage causes crash when STV_HIDDEN

2019-07-04 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78747 Jan Engelhardt changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c++/91086] New: std namespace symbols can get their visibility degraded

2019-07-04 Thread jengelh at inai dot de
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Created attachment 46557 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46557=edit g++ -fPIC -fvisibility=hidden -E t.cpp gcc version 9.

[Bug c++/88517] Virtual-base class class constructor with for-loop with initializer list referencing local variable not executed

2018-12-15 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88517 --- Comment #1 from Jan Engelhardt --- > clang++ x.cpp -Wall && ./a.out 42 > clang++ -v clang version 6.0.1 (tags/RELEASE_601/final 335528) Target: x86_64-unknown-linux-gnu

[Bug c++/88517] New: Virtual-base class class constructor with for-loop with initializer list referencing local variable not executed

2018-12-15 Thread jengelh at inai dot de
Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- == Testcase #include #include struct B {}; struct D : public virtual B

[Bug c++/86997] error: call of overloaded ‘NoDestructor()’ is ambiguous

2018-11-09 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86997 Jan Engelhardt changed: What|Removed |Added CC||jengelh at inai dot de --- Comment #4

[Bug sanitizer/87840] LSAN not always printing the leaks when -fsanitize=address is absent

2018-11-01 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87840 --- Comment #8 from Jan Engelhardt --- g++-9 from openSUSE devel:gcc, the rest from Tumbleweed, SVN numbers see -v banners above.

[Bug sanitizer/87840] LSAN not always printing the leaks when -fsanitize=address is absent

2018-11-01 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87840 Jan Engelhardt changed: What|Removed |Added Status|RESOLVED|NEW Resolution|WORKSFORME

[Bug sanitizer/87840] LSAN misses self-refential shared_ptrs

2018-11-01 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87840 --- Comment #6 from Jan Engelhardt --- Found a case where g++-9 also misses a leak when -fsanitize=address is not present. 14:47 a4:~ > cat y.cpp #include struct S { std::shared_ptr other; }; int main() { auto e =

[Bug sanitizer/87840] LSAN misses self-refential shared_ptrs

2018-11-01 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87840 Jan Engelhardt changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|---

[Bug sanitizer/87840] LSAN misses self-refential shared_ptrs

2018-11-01 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87840 --- Comment #2 from Jan Engelhardt --- How could I go about debugging why such a backtrace won't show for me?

[Bug sanitizer/87840] New: LSAN misses self-refential shared_ptrs

2018-11-01 Thread jengelh at inai dot de
Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- $ cat x.cpp

[Bug c++/87427] New: -Wclass-memaccess improvement for POD with convenience initializer

2018-09-24 Thread jengelh at inai dot de
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- #include struct S { int z; S() { z = 1; } } s; int main() { memset(, 0, sizeof(s)); } The rationale of -Wclass-memaccess as presented

[Bug c++/87384] New: Likely syntax error not reported as such

2018-09-21 Thread jengelh at inai dot de
++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- $ cat x.cpp void (*f)(const char *, int &&...); void g(const char *, int &, int &) {} int main() { f = g; return 0; } OBSERVED: $ g++-8 -c x.cpp x.cpp: In fu

[Bug c++/84471] New: Instruction reordering happens in lambdas even with -O0

2018-02-19 Thread jengelh at inai dot de
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- Expected behavior: Objects built with -O0 ought not cause gdb to spuriously "go backwards" in source (for reasons other than the end

[Bug c++/82522] New: std::map::insert(value_type &&) not selected

2017-10-11 Thread jengelh at inai dot de
onent: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- #include struct only_movable { only_movable(){} only_movable(only_movable&&){} only_movable =(only_movable&&){return *this;} }; int m

[Bug sanitizer/80963] UBSAN false positive with visibility=hidden

2017-06-08 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80963 --- Comment #5 from Jan Engelhardt --- >Where would those magic numbers come from? We don't have anything like that. Maybe something similar to .build-id?, i.e. randomly-generated IDs (per .so) that merely serve to distinguish two structs.

[Bug sanitizer/80963] UBSAN false positive with visibility=hidden

2017-06-08 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80963 --- Comment #3 from Jan Engelhardt --- The question is more like - can it be made to work even if (In reply to Andrew Pinski from comment #1) > > That is Archive in the shared library and in the main executable are > considered two different

[Bug sanitizer/80963] New: UBSAN false positive with visibility=hidden

2017-06-03 Thread jengelh at inai dot de
: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- $ cat

[Bug libstdc++/78747] Duplicate _S_empty_rep_storage causes crash when STV_HIDDEN

2017-03-02 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78747 --- Comment #3 from Jan Engelhardt --- The workaround is global { extern "C++" { *::_Rep::_S_empty_rep_storage; }} but of course that was not the question embedded in this "bug" report.

[Bug c++/79563] New: Same-name labels in lambdas considered duplicate

2017-02-16 Thread jengelh at inai dot de
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- $ clang++ -c cmd.cpp -std=gnu++11 $ g++-7 -c cmd.cpp -std=gnu++11 cmd.cpp: In function ‘void f()’: cmd.cpp:2:7: error: label ‘exit’ used but not defined goto exit

[Bug middle-end/78937] New data.rel.ro.local section in TW's gcc

2016-12-27 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78937 --- Comment #3 from Jan Engelhardt --- Now that you mention it, I have a PIE-by-default extension installed on that one (/usr/lib64/gcc/x86_64-suse-linux/6/defaults.spec file). Thanks for clearing that up.

[Bug translation/78937] New: New data.rel.ro.local section in TW's gcc

2016-12-27 Thread jengelh at inai dot de
: translation Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: rguenth at gcc dot gnu.org Target Milestone: --- $ cat x.c static const struct { int i; } foobar = {42}; static const struct { const char *n; } foobaz = {"moo"}; Whe

[Bug libstdc++/78747] New: Duplicate _S_empty_rep_storage causes crash when STV_HIDDEN

2016-12-09 Thread jengelh at inai dot de
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- The following testcase produces a crashing program. The gist seems to be that main.o and lib1.o each get a copy of the std::basic_string

[Bug c++/78564] cp-demangle fails to decode Ul+auto/anon

2016-11-28 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78564 --- Comment #1 from Jan Engelhardt --- crosslink https://sourceware.org/bugzilla/show_bug.cgi?id=20873

[Bug c++/78564] New: cp-demangle fails to decode Ul+auto/anon

2016-11-28 Thread jengelh at inai dot de
++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- $ g++-6 -std=gnu++14 -c x.cpp int main(void) { struct NAMED {} f; struct {} g; struct {} h; [](auto &&){}(f); [](auto &&,

[Bug c++/78502] New: Analyze 'final'/'override' even for uninstantiated class templates

2016-11-23 Thread jengelh at inai dot de
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- This is a feature request for a future version. gcc 6.x currently misses to warn about nonderivable classes of templates that are left

[Bug libstdc++/78475] New: Mixing objects form different g++ versions can crash a program

2016-11-22 Thread jengelh at inai dot de
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: rguenth at gcc dot gnu.org Target Milestone: --- Is mixing "finalized" object files (ET_EXEC, ET_DYN) produced by different g+

[Bug c++/47877] -fvisibility-inlines-hidden does not hide member template functions

2016-11-21 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47877 --- Comment #3 from Jan Engelhardt --- Hm yes, I begin to see why this was done. Template instantiations show up as W-type symbols in `nm`, and template specializations are 'T'-type, and both need to be visible so that the override works. But

[Bug c++/47877] -fvisibility-inlines-hidden does not hide member template functions

2016-11-20 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47877 Jan Engelhardt changed: What|Removed |Added CC||jengelh at inai dot de

[Bug c++/70417] New: New g++6 rejects previously valid code

2016-03-26 Thread jengelh at inai dot de
++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: rguenther at suse dot de Target Milestone: --- ---8<--- template struct ref { template ref dy() const { return ref(); } }; template ref dy(ref y) { return y.dy(); } --

[Bug c/70042] Room for optimization of x+1>y vs x>=y

2016-03-02 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70042 Jan Engelhardt changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c/70042] New: Room for optimization of x+1>y vs x>=y

2016-03-02 Thread jengelh at inai dot de
ent: c Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- $ gcc -v Using built-in specs. COLLECT_GCC=gcc-6 COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/6/lto-wrapper Target: x86_64-suse-linux Configured with: ../configure --prefi

[Bug c/70042] Room for optimization of x+1>y vs x>=y

2016-03-02 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70042 Jan Engelhardt changed: What|Removed |Added Severity|normal |enhancement

[Bug c++/65194] Compiler warns of maybe-uninitialized

2016-01-12 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65194 Jan Engelhardt changed: What|Removed |Added Resolution|WONTFIX |WORKSFORME --- Comment #2 from Jan

[Bug c/66425] (void) cast doesn't suppress __attribute__((warn_unused_result))

2015-08-18 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 --- Comment #20 from Jan Engelhardt jengelh at inai dot de --- Seems like the short route is to add a new attribute ((warn_unused_result_with_void_cancelling)) that exhibits the desired behavior of (void) cancelling the warning, and then make

[Bug gcov-profile/66805] Crash in gcov_exit when combining --coverage, C++, #pragma pack

2015-07-08 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66805 --- Comment #4 from Jan Engelhardt jengelh at inai dot de --- If one uses #pragma pack(push, 1) #pragma pack(pop) the issue goes away, so indeed, it seems that some gcov parts are implicitly built with different padding.

[Bug c++/66805] Crash in gcov_exit when combining --coverage, C++, #pragma pack

2015-07-08 Thread jengelh at inai dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66805 --- Comment #1 from Jan Engelhardt jengelh at inai dot de --- (gdb) r Starting program: t Program received signal SIGSEGV, Segmentation fault. compute_summary (max_length=synthetic pointer, this_prg=0x7fff9540, list=0x77dda180

[Bug c++/66805] New: Crash in gcov_exit when combining --coverage, C++, #pragma pack

2015-07-08 Thread jengelh at inai dot de
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de CC: rguenther at suse dot de Target Milestone: --- Observed: When building in C++ mode, combined with #pragma pack(1), combined with --coverage

[Bug c++/66294] New: Nonsensical warning message for address-of static member function expr through expr.B

2015-05-26 Thread jengelh at inai dot de
Severity: trivial Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Target Milestone: --- The following code: struct F { F self(void) { return *this; }; static void test(void) { }; } f; int

[Bug c++/65801] New: Allow -Wno-narrowing to silence stricter C++11 narrowing rules

2015-04-18 Thread jengelh at inai dot de
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de This code: ---8--- static struct zai { unsigned int x; } x = {-1}; ---8--- gives this error in C++11 mode: $ g++-5 -std=gnu++11 -c y.cpp y.cpp:1:46: error

[Bug c++/65194] New: Compiler warns of maybe-uninitialized

2015-02-24 Thread jengelh at inai dot de
++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Created attachment 34857 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34857action=edit A testcase. (It used to be over 6 lines after the initial g++ -E, so excuse if I did not resolve #include string

[Bug c++/60354] fails to demangle _Z3fooIPUlvE_EvT_

2014-03-02 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60354 Jan Engelhardt jengelh at inai dot de changed: What|Removed |Added CC||jengelh at inai

[Bug c++/60366] New: ICE with self-invoking lambdas

2014-02-28 Thread jengelh at inai dot de
++ Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de This not-so-serious code: $ cat w.cpp int main(int argc, const char **argv) { auto f = [](const struct __lambda0 self) { self(self); }; f(f); return 0; } causes an ICE instead of just exiting(1

[Bug rtl-optimization/59429] New: Missed optimization opportunity in qsort-style comparison functions

2013-12-09 Thread jengelh at inai dot de
Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de The following code: extern int comLG(int, int); extern int comLE(int, int); extern int comEL(int, int); extern int comEG(int, int); extern int comGL

[Bug rtl-optimization/59429] Missed optimization opportunity in qsort-style comparison functions

2013-12-09 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59429 --- Comment #2 from Jan Engelhardt jengelh at inai dot de --- Suppose all functions are used and taken.

[Bug rtl-optimization/59429] Missed optimization opportunity in qsort-style comparison functions

2013-12-09 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59429 --- Comment #3 from Jan Engelhardt jengelh at inai dot de --- I took it Component: rtl-optimization meant Register Transfer Language, not Runtime Linking. If needed, please reassign to whatever component is actually applicable. I am looking

[Bug c/59125] New: [4.8 regression] gcc triggers wrong strncpy_chk

2013-11-13 Thread jengelh at inai dot de
Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Given this compiler version/variant: gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/4.8/lto-wrapper Target: x86_64-suse-linux Configured

[Bug c/58283] Incorrect debug info when precompilation is on

2013-09-02 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58283 --- Comment #2 from Jan Engelhardt jengelh at inai dot de --- Oh, -DPRECOMP `wx-config --cflags` is a remnant and may be removed from the Makefile. The issue continues to be reproducible. It appears on openSUSE Factory's gcc 4.8. Using built

[Bug c/58283] Incorrect debug info when precompilation is on

2013-09-02 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58283 --- Comment #4 from Jan Engelhardt jengelh at inai dot de --- you cannot include a precompiled header from inside another header. Ok. So, this limitation was properly implemented in gcc 4.7, which simply skipped over the indirectly-included .gch

[Bug c/58283] Incorrect debug info when precompilation is on

2013-09-02 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58283 --- Comment #6 from Jan Engelhardt jengelh at inai dot de --- It seems to be ineffective.

[Bug c/58283] New: Incorrect debug info when precompilation is on

2013-08-30 Thread jengelh at inai dot de
Assignee: unassigned at gcc dot gnu.org Reporter: jengelh at inai dot de Created attachment 30731 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30731action=edit testcase $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/4.7

[Bug target/43350] sparcv9 mode does not seem to produce LDX/STX insns

2012-11-06 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43350 Jan Engelhardt jengelh at inai dot de changed: What|Removed |Added CC||hjl at gcc

[Bug target/43350] sparcv9 mode does not seem to produce LDX/STX insns

2012-11-06 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43350 --- Comment #5 from Jan Engelhardt jengelh at inai dot de 2012-11-07 00:00:01 UTC --- Dave, what do you think about a new mode for SPARC similar to -mx32, in other words, -m64+ILP32?

[Bug c/54088] ICE at dwarf2out.c:20632 with -O1 -g

2012-07-31 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54088 Jan Engelhardt jengelh at inai dot de changed: What|Removed |Added CC||rguenther at suse

[Bug c/54088] ICE at dwarf2out.c:20632 with -O1 -g

2012-07-31 Thread jengelh at inai dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54088 --- Comment #8 from Jan Engelhardt jengelh at inai dot de 2012-07-31 11:04:01 UTC --- The ICE continues to occur even if I leave out the handful of openSUSE patches.