Граф коммитов

574 Коммитов

Автор SHA1 Сообщение Дата
Charles Milette 104b0b9a27
Efficient way to format directly to hstring (#1207) 2022-11-12 09:32:51 -06:00
Raul Perez 8da046a1c3
Add fields to filter out templates appearing in the add new item dialog for non UAP projects (#1227) 2022-11-11 20:18:34 -06:00
Charles Milette fb9ef7b919
Remove low-level coroutine suspension notifications (#1228) 2022-11-11 13:00:51 -06:00
alvinhochun 5ca626adae
Add CMake build and a limited subset of tests for llvm-mingw (#1216) 2022-11-09 10:26:19 -06:00
alvinhochun b79565c8fc
Harden `disconnected.cpp` test (#1226) 2022-11-08 11:04:20 -06:00
alvinhochun 526d72ad6f
Fix invoke call on Clang (possibly a compiler bug) (#1225) 2022-11-07 07:55:46 -06:00
Scott Jones 5db060eb2b
Include WinUI too (sigh) (#1224) 2022-11-04 11:14:51 -07:00
Scott Jones 7b9d481c76
Projects with a nested Windows namespace (e.g., Microsoft::Windows) fail to compile (#1223) 2022-11-04 10:02:01 -07:00
Jaiganésh Kumaran 6ce4fa91bb
C++ Streams support for hstring and IStringable (#1221) 2022-11-01 09:53:33 -05:00
alvinhochun d6ef81196f
Enable classic COM on mingw-w64 (#1215) 2022-10-24 11:49:07 -05:00
Jaiganésh Kumaran 3deb508335
`check_bool<T>` now returns `T` (#1205) 2022-10-24 11:48:43 -05:00
alvinhochun 6d3609a56f
Better support for mingw-w64 and GCC-compatible compilers (#1212) 2022-10-21 12:10:16 -05:00
alvinhochun 1b4e0099cc
CI: Build ARM64 cppwinrt and tests (not run) (#1211) 2022-10-20 10:42:42 -05:00
Kenny Kerr 95b9d9a608
Update stale.yml 2022-10-19 10:12:54 -05:00
Kenny Kerr 168f29e6f0
Update stale.yml 2022-10-19 10:03:34 -05:00
Kenny Kerr fac0f88953
Update stale.yml 2022-10-19 10:00:28 -05:00
Kenny Kerr bcfb8542cb
Create stale.yml 2022-10-19 09:36:40 -05:00
alvinhochun 5390dc86d4
Add CI test with LLVM 15 clang-cl (#1203) 2022-10-18 13:58:43 -05:00
alvinhochun d3aa5db099
Improve CI jobs split (#1210) 2022-10-18 08:28:35 -05:00
alvinhochun 956c8d29c5
Various fixes for tests/CI (#1206) 2022-10-17 09:25:56 -05:00
alvinhochun 3ff66312a9
Add GitHub Action build and test workflow for MSVC (#1201) 2022-10-14 17:15:09 -05:00
alvinhochun 3d83c679ea
Improve compatibility with mingw-w64 in generated headers (#1200) 2022-10-13 09:40:49 -05:00
Rose 631c8f7944
Fix Clang 15 style warnings (#1196) 2022-10-10 10:10:21 -05:00
Charles Milette 61b054a8c7
Fix classic COM errors on non-supported compilers (#1194) 2022-10-06 23:33:52 -05:00
Charles Milette e7b690382e
Make `guid` `constexpr` on Clang and improve error reporting (#1191) 2022-09-29 08:44:40 -05:00
Ryan Shepherd 64cdc7c6d8
Add arm64 debug visualizer and update VS SDK package for VSIX (#1190)
* Build arm64 visualizer and include it in vsix

* Add arm64 config to visualizer

* Build arm64 visualizer in build_test_all

* Update VS SDK package versions

* Typo

* Don't build cppwinrt.exe for arm64 (yet)
2022-09-23 11:52:00 -07:00
David Machaj cea2e4121e
Add `std::source_location` support when logging error information (#1185) 2022-09-19 12:25:53 -05:00
Kenny Kerr 129fade359
Upgrade cppwinrt solution to Visual Studio 2022 (#1187) 2022-09-16 12:49:11 -05:00
Tim Guenthner 380cb8f773
Add explicit casts to atomic_ref_count (#1181) 2022-09-09 15:05:31 -05:00
Raymond Chen d029f0426e
Don't use `__uuidof` without `GUID` (#1180) 2022-09-08 08:51:49 -05:00
David Matson 9fc5cecf4c
Do not delete (clean) a file not written by this target (fixes #1173). (#1174)
Co-authored-by: Kenny Kerr <kenny@kennykerr.ca>
2022-08-22 10:03:22 -07:00
Raymond Chen 36567e6e64
Project contract names so they can be passed to IsApiContractPresent (#1172) 2022-08-10 05:41:44 -07:00
Ryan Shepherd f65801e69f
Zero-fill padding in detach_abi(com_array) (#1165)
A code analysis warning recently fired for a customer on detach_abi(com_array<T>). This function returns a std::pair<uint32_t, some_pointer_type>, which will have, on 64-bit builds, 4 bytes of padding between the uint32 size and the pointer members. Currently, that padding is uninitialized.

The idea behind the code analysis warning is that information may be leaked via those unitialized bytes.

In practice, that's almost never going to be an issue for this function, because the std::pair is not an interesting object to pass around, and only exists as a convenience to return both the size and buffer of the com_array at the same time.

However, the fix removes a pain point for a customer, is simple, risk-free, and actually gets optimized away in the 99% use case (return value stored in a local variable, access only the first/second members, not the padding bytes).  Demo showing optimization: https://godbolt.org/z/T4vPhMKxn
2022-07-06 14:05:20 -07:00
Charles Milette 53ee6de064
Clarify usage of ComponentConnectorT::InitializeComponent (#1161) 2022-07-05 08:23:01 -07:00
Raymond Chen 4f0be70254
Static events should not use the auto trick (#1158)
The same way we don't use the auto trick for static properties
and static methods.
2022-06-08 15:05:47 -07:00
Scott Jones a54d678bb4
IComponentConnector2 doesn't exist in WinUI (#1156)
* IComponentConnector2 doesn't exist in WinUI

* added new header
2022-06-07 15:06:03 -07:00
Scott Jones dcea885fd4
Add support for composed implementations of IComponentConnector (#1149)
* add support for composed implementations of IComponentConnector

* document ComponentConnectorT helper

* revert change for deriving without interfaces - creates other breaks and very atypical scenario

* pr feedback

* pr feedback

* pr feedback

* http://slashslash.info/petition/ compliance
2022-05-24 14:58:47 -07:00
David Fields 0058881c87
Test whether SDKManifest.xml exists before attempting to read it (#1146) 2022-05-20 08:08:40 -07:00
Raymond Chen 959ae02c71
Use `auto` trick to catch missing header files for `auto_revoke` (#1136) 2022-04-21 07:13:45 -07:00
Duncan Horn c4a8e24472
Update C++/WinRT to consider the full contract version history for fast ABI (#1132) 2022-04-09 07:11:45 -07:00
Scott Jones 04008670da
two-phase initialization support to prevent double-destruction on handing out this pointer in ctor (#1130)
* two-phase initialization support to prevent double-destruction on handing out this pointer in ctor

* PR feedback - primarily to hide/downplay the need to support Xaml with two-phase init

* should Release on exception

* remove unnecessary test case

* PR feedback

* use smart pointer instead of raw delete
2022-03-31 10:16:00 -07:00
Scott Jones b69f40d6ec
per request, provide implementation-side visualizations. and always show raw data. (#1128) 2022-03-24 10:06:41 -07:00
Scott Jones 27adc6b382
fix regression in nested visualizations with VS2019+ (#1126)
* fix regression in nested visualizations with VS2019+

* bug in calculating child count
2022-03-24 08:20:01 -07:00
Scott Jones f992bc4e4f
catch is evidently incompatible with VS 2022 (platform toolset v143) - backing off to unblock (#1127)
* catch is evidently incompatible with VS 2022 (platform toolset v143) - backing off to unblock

* unlikely to be needed, but reordered to support other platform toolset overriding

* pipeline now running out of disk space - clean intermediates as we go

* standardize OutDir, IntDir. ensure they are different for visualizer.
2022-03-23 15:35:56 -07:00
Scott Jones 768139a943
Several nuget tests failing to build with VS2022. Standardize on directory.build.props to use PlatformToolset v143 (#1125) 2022-03-22 15:14:59 -07:00
Kenny Kerr e0012b04cd
Remove workaround for Visual C++ code gen bug (#1118) 2022-03-11 11:26:43 -08:00
Kenny Kerr a7ee860e49
Remove `WINRT_IMPL_AUTO` workaround (#1117) 2022-03-10 14:43:27 -08:00
halflumi 8484e43b81
Fix time_point compilation error with Clang (#1112) 2022-03-04 09:39:25 -08:00
Johan Laanstra 0e33676e6d
Add guid brace parsing (#1109) 2022-02-24 09:38:15 -08:00
Raymond Chen 0c8f4e1e93
Extend weak reference support to classic COM (#1104) 2022-02-23 18:02:57 -08:00