dart-sdk/runtime
Daco Harkes 85a87ca7ae [vm/ffi] Add common C types
We're adding these types to `dart:ffi` rather than `package:ffi` so that
they can be used with `FfiNative`s.

Adds `NativeType`s for the following C types:

* char
* unsigned char
* signed char
* short
* unsigned short
* int
* unsigned int
* long
* unsigned long
* long long
* unsigned long long
* uintptr_t
* size_t
* wchar_t

Because the C standard only defines minimum sizes for many of these
types, future platforms might diverge from the typical size even if all
platforms currently agree on a size. To avoid having to reification
later, we define all types as AbiSpecificIntegers rather than typedefs,
even if all current target platforms agree on the size.

Closes: https://github.com/dart-lang/sdk/issues/36140

TEST=tests/ffi/c_types_test.dart

Change-Id: Ie97d253856d787386529231e8060f879069be886
Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try,dart-sdk-mac-try,dart-sdk-win-try,vm-ffi-android-debug-arm64c-try,vm-ffi-android-debug-arm-try,vm-canary-linux-debug-try,vm-fuchsia-release-x64-try,vm-kernel-gcc-linux-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-mac-debug-x64-try,vm-kernel-mac-release-arm64-try,vm-kernel-nnbd-win-release-ia32-try,vm-kernel-nnbd-win-release-x64-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-kernel-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228541
Reviewed-by: Martin Kustermann <kustermann@google.com>
2022-01-20 14:41:46 +00:00
..
bin [vm/ffi] Add common C types 2022-01-20 14:41:46 +00:00
docs [vm/aot] Keep toString methods on exception classes in toString transformer 2022-01-13 15:32:50 +00:00
include [vm] Add missing Dart_ThreadStartCallback. 2022-01-19 23:14:36 +00:00
lib [vm] Remove dead runtime entries for WeakProperty 2022-01-18 19:15:25 +00:00
observatory [ Service ] Fix --log_service_response_sizes being enabled in tests by default 2022-01-18 19:20:05 +00:00
observatory_2 [ Service ] Fix --log_service_response_sizes being enabled in tests by default 2022-01-18 19:20:05 +00:00
platform [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
tests [vm/status] Clean up FFI simulator and win-precomp entries 2022-01-20 09:06:36 +00:00
third_party [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
tools [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
vm [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
.clang-tidy
.gitignore
BUILD.gn [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
codereview.settings
configs.gni
CPPLINT.cfg
PRESUBMIT.py [python3] Migrate PRESUBMIT.py files 2021-08-16 08:29:54 +00:00
runtime_args.gni [VM] error: ‘mallinfo mallinfo()’ is deprecated 2021-12-08 00:25:10 +00:00