1common:
2  tags: cpp
3  toolchain_exclude: xcc
4  integration_platforms:
5    - mps2_an385
6    - qemu_cortex_a53
7
8tests:
9  cpp.main.minimal:
10    extra_configs:
11      - CONFIG_MINIMAL_LIBC=y
12  cpp.main.newlib:
13    filter: TOOLCHAIN_HAS_NEWLIB == 1
14    min_ram: 32
15    extra_configs:
16      - CONFIG_NEWLIB_LIBC=y
17  cpp.main.newlib_nano:
18    filter: TOOLCHAIN_HAS_NEWLIB == 1 and CONFIG_HAS_NEWLIB_LIBC_NANO
19    min_ram: 24
20    extra_configs:
21      - CONFIG_NEWLIB_LIBC=y
22      - CONFIG_NEWLIB_LIBC_NANO=y
23  cpp.main.picolibc:
24    tags: picolibc
25    filter: CONFIG_PICOLIBC_SUPPORTED
26    extra_configs:
27      - CONFIG_PICOLIBC=y
28
29  # Note: the -std= variants below exclude the host compilers, which
30  # aren't part of the SDK and can't be managed as part of the test
31  # suite. (e.g. as of commit time the g++ used in CI didn't support
32  # C++20/2B and emits a command line error when presented with
33  # -Wno-pointer-sign or -Werror=implicit-int in C++ mode with
34  # -std=c++98)
35  cpp.main.cpp98:
36    arch_exclude: posix
37    build_only: true
38    extra_configs:
39      - CONFIG_STD_CPP98=y
40  # Note: no "cpp.main.cpp11" as that's the default standard tested above
41  cpp.main.cpp14:
42    arch_exclude: posix
43    build_only: true
44    extra_configs:
45      - CONFIG_STD_CPP14=y
46  cpp.main.cpp17:
47    arch_exclude: posix
48    build_only: true
49    extra_configs:
50      - CONFIG_STD_CPP17=y
51  cpp.main.cpp2A:
52    arch_exclude: posix
53    build_only: true
54    extra_configs:
55      - CONFIG_STD_CPP2A=y
56  cpp.main.cpp20:
57    arch_exclude: posix
58    build_only: true
59    extra_configs:
60      - CONFIG_STD_CPP20=y
61  cpp.main.cpp2B:
62    arch_exclude: posix
63    build_only: true
64    extra_configs:
65      - CONFIG_STD_CPP2B=y
66