[Bug c++/94046] New: cast to __m256d in mask argument of avx2 float gather intrinsics
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94046 Bug ID: 94046 Summary: cast to __m256d in mask argument of avx2 float gather intrinsics Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: niklas at nolte dot dev Target Milestone: --- I cannot call the _mm256_mask_i32gather_ps intrinsic with a mask argument that is not implicitly convertible to __mm256d, only in -O0 mode. Please correct me if i'm misunderstanding, but it seems like the cast to __m256d for the mask argument is a mistake. reproducer: https://godbolt.org/z/wu4DmN
[Bug c++/94214] New: function lookup with overloaded operators accepts invalid
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94214 Bug ID: 94214 Summary: function lookup with overloaded operators accepts invalid Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: niklas at nolte dot dev Target Milestone: --- Sample code: ``` #include template void blub(std::vector const& i) { -i; //getsize(i); //this also fails in gcc } int operator-(std::vector const& i) { return i.size(); } int getsize(std::vector const& i) { return i.size(); } int main() { blub(std::vector{1}); } ``` this shouldn't compile, it doesn't in clang.. See - https://godbolt.org/z/hgGeH3 - https://stackoverflow.com/questions/60740257/clang-vs-gcc-function-lookup-with-operator-overloads?noredirect=1#comment107466162_60740257 - https://stackoverflow.com/questions/58793092/two-phase-function-template-compilation-not-only-adl-is-employed-in-the-2nd-p
[Bug c++/94214] function lookup with overloaded operators accepts invalid
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94214 --- Comment #2 from niklas at nolte dot dev --- (In reply to Jonathan Wakely from comment #1) > Looks like a dup of PR 51577 agreed
[Bug c++/97946] New: passing templated function without template argument
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97946 Bug ID: 97946 Summary: passing templated function without template argument Product: gcc Version: 10.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: niklas at nolte dot dev Target Milestone: --- The compiler accepts the following code. `fun` without template arguments should not be accepted, should it? ``` template void fun() {} template void higher_order_fun( const F & f) { f(); } int main () { //higher_order_fun(fun<>); //works higher_order_fun(fun); } ``` The related stackoverflow question: https://stackoverflow.com/questions/64872397/passing-function-template-prototype-as-argument