[Bug libstdc++/94749] std::istream::ignore discards too many characters

2020-05-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94749 --- Comment #3 from Jonathan Wakely --- I have a patch but was waiting until after the GCC 11 release. I'll look into it next week.

[Bug c++/95349] Using std::launder(p) produces unexpected behavior where (p) produces expected behavior

2020-05-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95349 Jonathan Wakely changed: What|Removed |Added CC||richard-gccbugzilla@metafoo

[Bug c++/95417] Static storage duration objects that are constant initialized should be destroyed after the destruction of dynamically initialized object.

2020-05-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95417 --- Comment #2 from Jonathan Wakely --- GCC, Clang and EDG all destroy b before a.

[Bug libstdc++/95392] [11 Regression] Build failure on MinGW

2020-05-28 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95392 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |11.0

[Bug libstdc++/95392] [11 Regression] Build failure on MinGW

2020-05-28 Thread redi at gcc dot gnu.org
||11.0 Keywords||build Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org --- Comment #1 from Jonathan Wakely --- Oops, I meant to check it on mingw-w64 before pushing that commit.

[Bug c++/91304] maybe_unused attribute ignored on variable declared in if declaration

2020-05-28 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91304 --- Comment #7 from Jonathan Wakely --- (In reply to fsmoke from comment #6) > I am sorry..I am new in gcc bugzilla. But.. i have gcc 9.3 and this issue > still takes a place. Because it's fixed in GCC 10.1

[Bug c/95378] __atomic_load will write to objects of cv-qualified types

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95378 --- Comment #2 from Jonathan Wakely --- Every __atomic_xxx built-in has the same problem. They'll all accept cv-qualified types as output parameters. This seems to fix it, but I'll finish testing it and submit it tomorrow: ---

[Bug c/95378] __atomic_load will write to objects of cv-qualified types

2020-05-27 Thread redi at gcc dot gnu.org
at gcc dot gnu.org |redi at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2020-05-27 --- Comment #1 from Jonathan Wakely --- I'm testing a patch.

[Bug libstdc++/95282] atomic::load in C++20 calls __atomic_load with a pointer-to-const as the output

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95282 Jonathan Wakely changed: What|Removed |Added Keywords||rejects-valid Target Milestone|---

[Bug c/95378] New: __atomic_load will write to objects of cv-qualified types

2020-05-27 Thread redi at gcc dot gnu.org
Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Target Milestone: --- GCC happily compiles this: void f() { int i = 1; const int c = 0; __atomic_load(, , __ATOMIC_SEQ_CST

[Bug c++/95305] Same code takes ~1/4 to 1/7th the time to compile under clang++.

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95305 Jonathan Wakely changed: What|Removed |Added Status|WAITING |NEW --- Comment #7 from Jonathan

[Bug c++/95301] excessive error messages

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95301 --- Comment #3 from Jonathan Wakely --- Reduced: template struct range { int start; int limit; range(): start(1, limit(2) // missing ) after 1 { } }; template struct _no_inline_box_init : T {}; Which gives:

[Bug c++/95301] excessive error messages

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95301 --- Comment #2 from Jonathan Wakely --- (In reply to Wouter van Ooijen from comment #0) > This code emits an excessive amount of error messages, which seem to repeat. It looks like it, but actually it's about a different template each time,

[Bug c++/95301] excessive error messages

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95301 --- Comment #1 from Jonathan Wakely --- 95301.cc:1:24: error: 'int_fast64_t' does not name a type 1 | template< typename T = int_fast64_t, T zero = 0 > |^~~~ 95301.cc:14:10: error: explicit

[Bug c++/95305] Same code takes ~1/4 to 1/7th the time to compile under clang++.

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95305 --- Comment #6 from Jonathan Wakely --- Created attachment 48621 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48621=edit preprocessed source Compile with -std=gnu++17

[Bug libstdc++/95322] std::list | take | transform, expression does not work cbegin() == end()

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95322 --- Comment #10 from Jonathan Wakely --- Fixed on master so far, backport to follow soon.

[Bug libstdc++/94354] std::reverse_iterator comparison operators defined incorrectly

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94354 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug libstdc++/95322] std::list | take | transform, expression does not work cbegin() == end()

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95322 --- Comment #8 from Jonathan Wakely --- Thanks Daniel, I'm just testing Casey's resolution, and extending it to join_view, so I'll send another mail once that testing is complete.

[Bug libstdc++/95322] std::list | take | transform, expression does not work cbegin() == end()

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95322 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |10.2 Status|NEW

[Bug c++/95349] Using std::launder(p) produces unexpected behavior where (p) produces expected behavior

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95349 --- Comment #6 from Jonathan Wakely --- (In reply to Andrew Downing from comment #5) > Also, I'm not sure if operations that implicitly create > objects in storage are allowed to do so if an object has already explicitly > created in that

[Bug c++/95337] duplicated deprecated attribute gives incorrectly duplicated diagnostic

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95337 --- Comment #2 from Jonathan Wakely --- The duplicate "dob" was probably fixed by r10-7159 for PR 67960.

[Bug c++/95349] Using std::launder(p) produces unexpected behavior where (p) produces expected behavior

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95349 --- Comment #4 from Jonathan Wakely --- I don't know the answer, and I don't know why it's useful to try this anyway.

[Bug c++/95354] GCC misuse "nonnull-attribute" option and can not detect it as UB as well

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95354 --- Comment #4 from Jonathan Wakely --- (In reply to Haoxin Tu from comment #3) > I see. Are there any cases that can trigger the UB of nonnull-attribute? I > doubt the usage of “-fsanitize=nonnull-attribute” in GCC... Yes, just use the

[Bug debug/95360] inconsistent behaviors at -O0

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95360 --- Comment #2 from Jonathan Wakely --- (In reply to Yibiao Yang from comment #0) > As showed, Line 6 is hit first and then hit Line 7 with stepi. > However, when using step, gdb is first hit Line 7 and then hit Line 6. > This is an inconsistent

[Bug c++/66159] bogus warning for alias-declaration using elaborated-type-specifier

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66159 Jonathan Wakely changed: What|Removed |Added Keywords||patch --- Comment #7 from Jonathan

[Bug c++/95354] GCC misuse "nonnull-attribute" option and can not detect it as UB as well

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95354 --- Comment #2 from Jonathan Wakely --- Allowing the attribute on individual parameters might be nice though. I hate the fact that for C++ member functions the first parameter is the implicit 'this' pointer which always has to be non-null

[Bug c++/95349] Using std::launder(p) produces unexpected behavior where (p) produces expected behavior

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95349 --- Comment #2 from Jonathan Wakely --- Using auto t = new(p) std::uint64_t; std::memcpy(t, std::launder(storage), sizeof(storage)); return t; also prevents GCC from propagating the dynamic type of p to t.

[Bug c++/95242] [10/11 Regression] spurious "warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]" on comparisons with -std=c++2a

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95242 --- Comment #6 from Jonathan Wakely --- It was just a sketch to show the idea. Obviously the real thing would need noexcept, but we have a regression test for that. How to construct it is what's relevant here.

[Bug c++/95242] [10/11 Regression] spurious "warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]" on comparisons with -std=c++2a

2020-05-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95242 --- Comment #4 from Jonathan Wakely --- It's consteval, the throw is there to make it not a constant expression and give an error if anything except 0 is used. i.e. it can never throw, it either compiles or it doesn't. But I've remembered the

[Bug c++/95242] [10/11 Regression] spurious "warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]" on comparisons with -std=c++2a

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95242 --- Comment #2 from Jonathan Wakely --- Another way to implement the __unspec constructor would be: consteval __unspec(int __n) { if (__n != 0) throw __n; } But I think I discussed this with Richard Smith in Prague and we realised there was

[Bug c++/66159] bogus warning for alias-declaration using elaborated-type-specifier

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66159 --- Comment #6 from Jonathan Wakely --- Hmm, my patch doesn't actually fix the bogus warning, it just makes it possible to disable it. A front end wizard will need to fix the real bug.

[Bug c++/66159] bogus warning for alias-declaration using elaborated-type-specifier

2020-05-26 Thread redi at gcc dot gnu.org
|--- |11.0 Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org

[Bug libstdc++/95322] std::list | take | transform, expression does not work cbegin() == end()

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95322 --- Comment #3 from Jonathan Wakely --- Adding this to transform_view::_Sentinel fixes it: friend constexpr bool operator==(const _Iterator& __x, const _Sentinel& __y) requires (!_Const) { return

[Bug libstdc++/95322] std::list | take | transform, expression does not work cbegin() == end()

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95322 --- Comment #2 from Jonathan Wakely --- There's an implicit conversion from sentinel to sentinel, but that would only happen if the operator== had been found, and since it's a hidden friend it can't be found unless one of the operands is already

[Bug libstdc++/95322] std::list | take | transform, expression does not work cbegin() == end()

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95322 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever confirmed|0

[Bug c++/95334] GCC detect missing signed-integer-overflow when add "const"

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95334 --- Comment #1 from Jonathan Wakely --- My guess is that G++ folds the constants early and the overflow happens at compile time, so is never seen by UBsan.

[Bug c++/95330] Unneeded -Wmissing-braces warning when initialising std::array

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95330 Jonathan Wakely changed: What|Removed |Added Last reconfirmed||2020-05-26 Ever confirmed|0

[Bug c++/90212] [8 Regression] by-ref capture of constexpr class object rejected

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90212 --- Comment #7 from Jonathan Wakely --- Oops, autocorrect. s/yesterday/testcase/

[Bug c++/90212] [8 Regression] by-ref capture of constexpr class object rejected

2020-05-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90212 --- Comment #6 from Jonathan Wakely --- Not important for me. I don't remember where the yesterday came from.

[Bug c++/95307] Compiler accepts reinterpret_cast in constexpr

2020-05-25 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95307 Jonathan Wakely changed: What|Removed |Added Last reconfirmed||2020-05-25 Ever confirmed|0

[Bug libstdc++/95289] [10/11 Regression] __gnu_debug::__get_distance is not C++11 constexpr compliant

2020-05-23 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95289 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug libstdc++/95289] [10/11 Regression] __gnu_debug::__get_distance is not C++11 constexpr compliant

2020-05-23 Thread redi at gcc dot gnu.org
] |is not C++11 constexpr |__gnu_debug::__get_distance |compliant |is not C++11 constexpr ||compliant Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Known to fail

[Bug c++/95286] -march=native causes mt19937_64 + uniform_real_distribution generating wrong result.

2020-05-23 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95286 --- Comment #6 from Jonathan Wakely --- I don't think this is a bug, the result of uniform_real_distribution depends on floating point arithmetic which depends on optimisations. The output of the mt19937_64 engine is portable between different

[Bug target/94087] std::random_device often fails when used from multiple threads

2020-05-23 Thread redi at gcc dot gnu.org
|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org

[Bug libstdc++/95282] atomic::load in C++20 calls __atomic_load with a pointer-to-const as the output

2020-05-23 Thread redi at gcc dot gnu.org
|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Ever confirmed|0 |1 Last reconfirmed||2020-05-23

[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)

2020-05-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #7 from Jonathan Wakely --- Compare to e.g. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1825 which says "[Moved to DR at the November, 2016 meeting.]" That means it's a retroactive fix for previous standards. That

[Bug c++/85282] CWG 727 (full specialization in non-namespace scope)

2020-05-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282 --- Comment #6 from Jonathan Wakely --- (In reply to Rustam Abdullaev from comment #5) > (In reply to Jonathan Wakely from comment #3) > > https://wg21.link/cwg727 > > > > N.B. this is a C++17 feature that does not seem to have been approved as

[Bug libstdc++/95209] std::filesystem::path::lexically_normal mangles "//foo"

2020-05-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95209 --- Comment #5 from Jonathan Wakely --- (In reply to M Welinder from comment #4) > Sorry about the missing "-v". It is indeed a x86_64-suse-linux system. > (It's not internet facing or I'd go get the full output.) > > "Implementation

[Bug libstdc++/95209] std::filesystem::path::lexically_normal mangles "//foo"

2020-05-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95209 --- Comment #3 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #2) > You didn't provide the requested information when creating a new bug report, > please see https://gcc.gnu.org/bugs/ We're missing the output of 'gcc -v' but

[Bug libstdc++/95209] std::filesystem::path::lexically_normal mangles "//foo"

2020-05-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95209 Jonathan Wakely changed: What|Removed |Added Last reconfirmed||2020-05-21

[Bug c++/67491] [meta-bug] concepts issues

2020-05-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491 Bug 67491 depends on bug 93983, which changed state. Bug 93983 Summary: std::filesystem::path is not concept-friendly https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93983 What|Removed |Added

[Bug libstdc++/93983] std::filesystem::path is not concept-friendly

2020-05-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93983 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug c++/95233] Failure to compile regression in GCC 10.1 and 11 trunk with C++ 20

2020-05-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95233 Jonathan Wakely changed: What|Removed |Added Resolution|--- |DUPLICATE Status|WAITING

[Bug libstdc++/93983] std::filesystem::path is not concept-friendly

2020-05-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93983 Jonathan Wakely changed: What|Removed |Added CC||s_gccbugzilla at nedprod dot com ---

[Bug libstdc++/93983] std::filesystem::path is not concept-friendly

2020-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93983 --- Comment #9 from Jonathan Wakely --- Thanks, Tim. I'd forgotten about that issue and was about to reinvent the resolution.

[Bug libstdc++/93983] std::filesystem::path is not concept-friendly

2020-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93983 --- Comment #7 from Jonathan Wakely --- (In reply to Lyberta from comment #0) > #include > #include > > struct Foo > { > Foo(const std::filesystem::path& p); > }; > > static_assert(std::copyable); The problem is that copyable considers

[Bug libstdc++/95245] std::sort copies custom comparator

2020-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95245 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug libstdc++/95245] std::sort copies custom comparator

2020-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95245 --- Comment #1 from Jonathan Wakely --- [algorithms.requirements] paragraph 10 says: [Note: Unless otherwise specified, algorithms that take function objects as arguments are permitted to copy those function objects freely. Programmers for whom

[Bug c++/95233] Failure to compile regression in GCC 10.1 and 11 trunk with C++ 20

2020-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95233 --- Comment #4 from Jonathan Wakely --- Without looking into properly, it's possibly a dup of PR 93983.

[Bug c++/95233] Failure to compile regression in GCC 10.1 and 11 trunk with C++ 20

2020-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95233 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed|

[Bug c++/95233] Failure to compile regression in GCC 10.1 and 11 trunk with C++ 20

2020-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95233 Jonathan Wakely changed: What|Removed |Added Keywords|build | --- Comment #2 from Jonathan Wakely

[Bug c++/86142] hard error for bad delete-expression in SFINAE context

2020-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86142 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |10.0 Version|unknown

[Bug c++/95225] [11 regression] build failure (ICE) starting with r11-477

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95225 Jonathan Wakely changed: What|Removed |Added Resolution|--- |DUPLICATE

[Bug c++/95223] [11 regression] hash table checking failed: equal operator returns true for a pair of values with a different hash value

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95223 Jonathan Wakely changed: What|Removed |Added CC||seurer at linux dot vnet.ibm.com ---

[Bug c++/95223] [11 regression] hash table checking failed: equal operator returns true for a pair of values with a different hash value

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95223 Jonathan Wakely changed: What|Removed |Added Component|libstdc++ |c++ --- Comment #1 from Jonathan

[Bug libstdc++/71133] msp430-elf -mlarge FTBFS in libstdc++-v3

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71133 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |7.0

[Bug libstdc++/95209] std::filesystem::path::lexically_normal mangles "//foo"

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95209 --- Comment #2 from Jonathan Wakely --- You didn't provide the requested information when creating a new bug report, please see https://gcc.gnu.org/bugs/ (In reply to M Welinder from comment #0) > lexically_normal transforms "//foo" into

[Bug libstdc++/95200] user-defined hash function is not copied correctly if unordered_map is declared using an incomplete type

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95200 --- Comment #6 from Jonathan Wakely --- It's undefined behaviour so anything can happen.

[Bug libstdc++/95200] user-defined hash function is not copied correctly if unordered_map is declared using an incomplete type

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95200 --- Comment #3 from Jonathan Wakely --- That's [temp.expl.spec] paragraph 7: If a template, a member template or a member of a class template is explicitly specialized then that specialization shall be declared before the first use of that

[Bug libstdc++/95200] user-defined hash function is not copied correctly if unordered_map is declared using an incomplete type

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95200 --- Comment #2 from Jonathan Wakely --- Although the actual cause of the behaviour you see is due to violating a different requirement. The explicit specialization hash is not declared in map_obj.h which means it gets implicitly instantiated

[Bug libstdc++/95200] user-defined hash function is not copied correctly if unordered_map is declared using an incomplete type

2020-05-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95200 Jonathan Wakely changed: What|Removed |Added Resolution|--- |INVALID

[Bug libstdc++/95170] GetTickCount64 cannot get found in KERNEL32.dll on Legacy Windows Platforms like Windows XP, 2000

2020-05-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95170 --- Comment #3 from Jonathan Wakely --- Right, libstdc++ doesn't use GetTickCount64 anywhere.

[Bug c++/95100] xxx_view adaptors don't work with pipeline operator

2020-05-16 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95100 Jonathan Wakely changed: What|Removed |Added Resolution|--- |INVALID

[Bug c++/95143] SFINAE failure with static_cast

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95143 --- Comment #11 from Jonathan Wakely --- Possibly fixed as part of PR 94885.

[Bug c++/95143] SFINAE failure with static_cast

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95143 Jonathan Wakely changed: What|Removed |Added Known to fail||10.1.0 Keywords|

[Bug c++/95143] SFINAE failure with static_cast

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95143 Jonathan Wakely changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug c++/95135] Inconsistent CTAD behaviour with the "new" operator.

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95135 Jonathan Wakely changed: What|Removed |Added Keywords||rejects-valid

[Bug c++/85883] class template argument deduction fails in new-expression

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85883 Jonathan Wakely changed: What|Removed |Added CC||gccbugreport at yandex dot com ---

[Bug c++/95132] Concept checked after auto return type deduction

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95132 Jonathan Wakely changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug target/94087] std::random_device often fails when used from multiple threads

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94087 Jonathan Wakely changed: What|Removed |Added Version|9.2.1 |10.1.0 Target Milestone|---

[Bug target/94087] std::random_device often fails when used from multiple threads

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94087 --- Comment #22 from Jonathan Wakely --- (In reply to rguent...@suse.de from comment #20) > Doh. OK, guess I'd set up the twister in all cases and make it > programatically skip itself when rdrand/rdseed is available so we > could easily fall

[Bug target/94087] std::random_device often fails when used from multiple threads

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94087 --- Comment #21 from Jonathan Wakely --- (In reply to rguent...@suse.de from comment #18) > Note in virtualized environments support for RDRAND might be disabled > while RDSEED is enabled(?) even if no such hardware configuration > exists [by

[Bug target/94087] std::random_device often fails when used from multiple threads

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94087 --- Comment #19 from Jonathan Wakely --- If you mean the mersenne twister in the std::random_device object, that's a union member and doesn't exist when a proper source (/dev/random, rdrand, rdseed etc) is available. So we'd need to add

[Bug target/94087] std::random_device often fails when used from multiple threads

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94087 --- Comment #14 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #13) > I'd rather not have to do everything shown at > https://software.intel.com/content/www/us/en/develop/articles/intel-digital- >

[Bug target/94087] std::random_device often fails when used from multiple threads

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94087 --- Comment #13 from Jonathan Wakely --- We could do this easily enough (which could be simplified if RDRAND is guaranteed to be available when RDSEED is available): --- a/libstdc++-v3/src/c++11/random.cc +++ b/libstdc++-v3/src/c++11/random.cc

[Bug target/94087] std::random_device often fails when used from multiple threads

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94087 --- Comment #12 from Jonathan Wakely --- (In reply to wnereiz from comment #9) > This issue seems not limit to a certain GCC version. I tried the code with > gcc7, gcc9 and gcc10 on openSUSE Tumbleweed. All failed. As Richard said, the code to

[Bug c++/95103] Unexpected -Wclobbered in bits/vector.tcc with -O2

2020-05-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95103 --- Comment #4 from Jonathan Wakely --- The content of the warning isn't very helpful, but I think it's pointing out a real issue in the code, not a false positive. Any valid longjmp which followed that setjmp would have undefined behaviour if

[Bug libstdc++/93983] std::filesystem::path is not concept-friendly

2020-05-12 Thread redi at gcc dot gnu.org
|UNCONFIRMED |ASSIGNED Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Ever confirmed|0 |1 Last reconfirmed||2020-05-12

[Bug c++/95094] alignof(reference_to_type) doesn't return alignof(referenced_type) as it should by the standard

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95094 --- Comment #2 from Jonathan Wakely --- But this doesn't seem like a very useful behaviour for the extension.

[Bug libstdc++/94906] memory corruption in std::pmr::monotonic_buffer_resource

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94906 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug c++/79706] invalid delete[] expression doesn't cause substitution failure

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79706 --- Comment #5 from Jonathan Wakely --- Ah good point. struct A { void operator delete(void*) = delete; void operator delete[](void*) = delete; }; A* f(); A* f2(); using type1 = decltype(delete f()); using type2 = decltype(delete[] f2());

[Bug c++/95081] Copyright infringement by ROS2

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95081 Jonathan Wakely changed: What|Removed |Added Resolution|--- |INVALID Status|WAITING

[Bug c++/95085] diagnostic on designated-initializer from braced-init-list could be better

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95085 Jonathan Wakely changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED

[Bug c++/95069] Capture by reference cannot use list-initalization

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95069 Jonathan Wakely changed: What|Removed |Added Last reconfirmed||2020-05-12

[Bug c++/95069] Capture by reference cannot use list-initalization

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95069 Jonathan Wakely changed: What|Removed |Added CC||nico at josuttis dot de --- Comment

[Bug c++/95086] brace initialization in captures doesn't work with function calls

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95086 Jonathan Wakely changed: What|Removed |Added Resolution|--- |DUPLICATE

[Bug c++/95081] Copyright infringement by ROS2

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95081 Jonathan Wakely changed: What|Removed |Added Last reconfirmed||2020-05-12

[Bug libstdc++/94933] std::fill_n delegates to __builtin_memset which is not constexpr

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94933 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug libstdc++/95079] unorderd_map::insert_or_assign and try_emplace should only hash and mod once unless there is a rehash.

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95079 Jonathan Wakely changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED

[Bug c++/77892] local function declarations don't match namespace scope declarations

2020-05-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77892 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Target Milestone|---

  1   2   3   4   5   6   7   8   9   10   >