Ivana Ivanovska
7580df8b8a
[Carbon/C++ interop] Add support for int function params (#5197)
Added support for `int` function parameters. Currently only
pass-by-value is supported.
```c++
// hello_int.h;
auto foo_int(int a, int b) -> int;
```
```c++
// hello_int.cpp
#include "hello_int.h"
#include <cstdio>
auto foo_int(int a, int b) -> int {
printf("a = %i \n", a);
printf("b = %i \n", b);
return a + b;
}
```
```c++
// main.carbon
library "Main";
import Cpp library "hello_int.h";
import Core library "io";
fn Carbon_foo(b: i32) {
Core.Print(b);
}
fn Run() -> i32 {
Carbon_foo(Cpp.foo_int(2, 8));
return 0;
}
```
```
$ clang -c hello_int.cpp
$ bazel-bin/toolchain/carbon compile main.carbon
$ bazel-bin/toolchain/carbon link hello_int.o main.o --output=demo
$ ./demo
a = 2
b = 8
10
```
Part of #5064
2025-04-09 11:38:39 +00:00
..
2025-02-20 22:42:47 +00:00
2025-04-09 11:38:39 +00:00
2025-03-29 00:37:46 +00:00
2025-03-28 00:29:17 +00:00
2025-04-01 18:45:07 +00:00
2025-04-02 21:51:25 +00:00
2024-09-05 23:39:58 +00:00
2025-01-27 23:48:44 +00:00
2025-04-02 21:51:25 +00:00
2025-04-02 21:51:25 +00:00
2025-03-27 00:41:30 +00:00
2025-03-27 00:41:30 +00:00
2025-03-27 00:41:30 +00:00
2025-04-02 21:51:25 +00:00
2025-03-28 00:29:17 +00:00
2025-03-28 00:29:17 +00:00
2025-04-05 06:11:34 +00:00
2025-04-05 06:11:34 +00:00
2025-03-01 07:56:04 +00:00
2025-03-27 18:14:26 +00:00
2025-03-21 22:26:08 +00:00
2025-04-07 20:45:45 +00:00
2025-03-14 00:44:51 +00:00
2024-11-20 20:58:58 +00:00
2024-11-20 20:58:58 +00:00
2025-03-27 00:41:30 +00:00
2025-03-27 00:41:30 +00:00
2025-03-27 00:41:30 +00:00
2025-04-02 01:46:27 +00:00
2025-04-08 19:10:49 +00:00
2025-04-08 21:04:30 +00:00
2025-04-08 21:04:30 +00:00
2025-04-08 21:04:30 +00:00
2025-04-08 19:10:49 +00:00
2025-04-02 01:46:27 +00:00
2025-03-04 21:01:59 +00:00
2025-02-27 17:01:29 +00:00
2025-02-27 17:01:29 +00:00
2024-07-03 16:58:47 +00:00
2025-03-01 07:56:04 +00:00
2025-03-28 15:14:02 +00:00
2025-03-26 22:53:32 +00:00
2025-03-18 23:49:24 +00:00
2024-07-03 17:49:47 +00:00
2025-02-14 19:44:36 +00:00
2025-04-03 21:14:03 +00:00
2025-04-08 22:21:44 +00:00
2024-12-02 18:51:44 +00:00
2025-04-07 22:41:27 +00:00
2025-04-08 22:21:44 +00:00
2024-07-12 22:38:06 +00:00
2025-03-05 21:55:30 +00:00
2024-07-12 22:38:06 +00:00
2024-07-12 22:38:06 +00:00
2025-04-02 21:51:25 +00:00
2025-02-12 00:21:07 +00:00
2025-02-14 19:44:36 +00:00
2025-04-08 19:10:49 +00:00
2025-02-11 21:33:57 +00:00
2025-04-03 21:14:03 +00:00
2025-04-07 22:41:27 +00:00
2025-03-28 00:29:17 +00:00
2025-03-26 19:12:10 +00:00
2025-02-14 19:44:36 +00:00
2024-07-12 22:38:06 +00:00
2025-02-15 01:36:46 +00:00
2025-04-02 22:52:11 +00:00
2024-07-12 22:38:06 +00:00
2025-03-21 21:45:53 +00:00
2024-12-18 00:19:12 +00:00
2025-04-03 21:14:03 +00:00
2024-07-12 22:38:06 +00:00
2025-02-20 03:17:45 +00:00
2024-07-12 22:38:06 +00:00
2025-03-26 19:12:10 +00:00
2025-02-14 19:44:36 +00:00
2025-02-27 00:21:01 +00:00
2024-07-12 22:38:06 +00:00
2025-04-08 21:04:30 +00:00
2025-03-27 21:46:08 +00:00
2025-04-08 19:10:49 +00:00
2025-04-08 19:10:49 +00:00
2025-04-09 11:38:39 +00:00
2025-03-03 10:38:19 +00:00
2025-04-08 22:21:44 +00:00
2025-02-19 07:19:23 +00:00
2025-03-26 19:12:10 +00:00
2025-03-15 20:41:48 +00:00
2025-03-21 23:09:37 +00:00
2025-01-23 02:21:48 +00:00
2025-04-08 21:04:30 +00:00
2025-04-08 21:04:30 +00:00
2025-04-08 00:40:21 +00:00
2025-03-12 13:54:49 +00:00
2025-01-25 02:13:52 +00:00
2024-11-04 04:00:17 +00:00
2025-02-14 19:44:36 +00:00
2024-12-03 18:46:27 +00:00
2025-04-08 22:21:44 +00:00
2025-04-05 16:08:09 +00:00
2025-04-02 22:52:11 +00:00
2025-02-27 17:01:29 +00:00
2025-03-27 00:41:30 +00:00
2024-10-17 22:47:40 +00:00
2025-03-18 00:31:17 +00:00
2025-01-22 23:15:00 +00:00
2025-04-07 20:45:45 +00:00
2025-02-19 07:19:23 +00:00
2025-03-28 16:24:17 +00:00
2025-03-28 16:24:17 +00:00
2025-02-07 22:35:18 +00:00
2025-03-14 20:16:01 +00:00
2025-02-26 18:44:36 +00:00
2025-02-26 18:44:36 +00:00
2025-02-25 02:07:43 +00:00
2025-04-03 21:14:03 +00:00
2025-01-23 02:21:48 +00:00
2025-03-28 16:24:11 +00:00
2025-04-03 21:14:03 +00:00
2024-03-18 17:40:00 +00:00
2025-03-01 07:56:04 +00:00
2025-02-26 18:44:36 +00:00
2025-01-17 17:51:34 +00:00
2025-03-01 08:00:17 +00:00
2025-04-08 15:37:52 +00:00
2025-03-28 00:29:17 +00:00
2025-03-21 23:09:37 +00:00
2025-02-20 03:17:45 +00:00
2025-04-08 21:04:30 +00:00
2025-03-25 22:53:25 +00:00
2025-04-08 19:10:49 +00:00
2025-04-02 01:46:27 +00:00
2025-04-08 19:10:49 +00:00
2025-04-08 19:02:55 +00:00
2025-04-08 22:21:44 +00:00
2025-04-08 22:21:44 +00:00