[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2021-12-02 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2021-04-19 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 Jonathan Wakely changed: What|Removed |Added Assignee|redi at gcc dot gnu.org|unassigned at gcc dot gnu.org

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 --- Comment #8 from Jonathan Wakely --- Author: redi Date: Tue Aug 20 21:21:15 2019 New Revision: 274756 URL: https://gcc.gnu.org/viewcvs?rev=274756&root=gcc&view=rev Log: PR libstdc++/91371 make std::is_function handle other calling conventions

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-16 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 Jonathan Wakely changed: What|Removed |Added Keywords||patch, rejects-valid Statu

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-16 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 --- Comment #6 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #5) > template This needs to exclude pointers as well as class types, because ... > struct is_referenceable_function : false_type { }; > > template > struct

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-15 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 --- Comment #5 from Jonathan Wakely --- I haven't fully tested this idea yet, but ... There are two kinds of function type we need to detect: referenceable functions, and abominable functions. A referenceable function type is a non-class type t

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-06 Thread roland at rschulz dot eu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 --- Comment #4 from Roland Schulz --- Are there any known issues with the libc++ solution? Otherwise it seems like the simpler solution than adding a builtin.

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 --- Comment #3 from Jonathan Wakely --- We already have 24 partial specializations. To handle ms_abi, fastcall and thiscall would need another 72. We could probably stamp them out with preprocessor macros, but I'd prefer not to. I think we need s

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-06 Thread roland at rschulz dot eu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 --- Comment #2 from Roland Schulz --- Would you recommend to fix this by adding the specializations for the alternative calling conventions to std::is_function or by switching to the libc++ approach?

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 --- Comment #1 from Jonathan Wakely --- The problem is not with bind and bind_front, it's that std::is_function doesn't recognize such a function, and so std::decay doesn't know what to do with it: #include int bar(int) __attribute__((ms_abi));

[Bug libstdc++/91371] std::bind and bind_front don't work with function with call convention

2019-08-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91371 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|