| // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| // SharedObjects=ffi_test_functions |
| |
| import 'dart:ffi'; |
| |
| import 'package:expect/expect.dart'; |
| |
| import 'dylib_utils.dart'; |
| |
| final ffiTestFunctions = dlopenPlatformSpecific('ffi_test_functions'); |
| |
| void main() { |
| dlopenGlobalPlatformSpecific('ffi_test_functions'); |
| |
| testVariadicAt1Int64x5NativeLeaf(); |
| } |
| |
| @Native<Int64 Function(Int64, VarArgs<(Int64, Int64, Int64, Int64)>)>( |
| symbol: 'VariadicAt1Int64x5', isLeaf: true) |
| external int variadicAt1Int64x5NativeLeaf( |
| int a0, int a1, int a2, int a3, int a4); |
| |
| void testVariadicAt1Int64x5NativeLeaf() { |
| final result = variadicAt1Int64x5NativeLeaf(1, 2, 3, 4, 5); |
| Expect.equals(15, result); |
| } |