Comments (4)
From Microsoft's docs:
"On ARM and x64 processors, __stdcall is accepted and ignored by the compiler; on ARM and x64 architectures, by convention, arguments are passed in registers when possible, and subsequent arguments are passed on the stack."
Effectively all the calling conventions get mapped to the same thing so you need to disable specialisations on them to prevent duplications.
from type_traits.
Additional information: I use Visual Studio 15.7.2, toolset v14.1, compiler version string Microsoft(R) C/C++ Optimizing Compiler Version 19.14.26429.4 for x64 and I target C++/CLI for x64. The project is an ordinary C++ project being built as x64 DLL/EXE, with only a couple of files being compiled for C++/CLI (i.e., I have turned on /clr
on individual files, not on the whole project).
As I wrote in the mail, stdcall, fastcall and cdecl conventions are also disabled when compiling for x64, regardless of CLI compilation.
from type_traits.
Fixed in develop.
from type_traits.
Which version was this fixed in? I'm hitting this in 1.75
boost\type_traits\detail\is_member_function_pointer_cxx_11.hpp(121,4): warning C4561: '__fastcall' incompatible with the '/clr' option: converting to '__stdcall'
boost\type_traits\detail\is_member_function_pointer_cxx_11.hpp(121,113): error C2953: 'boost::is_member_function_pointer<Ret(__stdcall C::* )(Args...)>': class template has already been defined
from type_traits.
Related Issues (20)
- `-Wconversion` warning in `type_traits/is_complete.hpp` HOT 1
- `-Wundef` warnings in `is_mem_fun_pointer_impl.hpp` HOT 1
- Boost\libs\type_traits failed to build due to error C2338 on MSVC HOT 2
- -Wconversion warning with is_signed for enums HOT 1
- __has_trivial_assign etc. deprecated under clang 15 HOT 1
- boost::is_integral<char8_t>::value is false HOT 1
- type_traits: Deprecation warnings with clang 15 HOT 1
- more classification/traits
- is_floating_point does not contain any C++23 types HOT 1
- add/rename remove_cv_ref to (C++20 compatible) remove_cvref HOT 1
- add is_integer HOT 3
- add is_character HOT 1
- add is_number HOT 3
- add remove_cvptr HOT 1
- add is_bool HOT 3
- add is_quotrem_order HOT 2
- add is_logic HOT 2
- add is_function_pointer
- add dependent_false HOT 2
- boost::has_left_shift does not work with containers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from type_traits.