Files
carbon-lang/toolchain/check/testdata/interop/cpp/class/export/layout.carbon
T
Richard SmithandChandler Carruth c588eadb57 Rename and rearrange entities in tests to avoid name reuse (#7656)
Fix a bunch of cases where we use the same external name to mean
multiple different things in the same test. We've historically gotten
away with this, but under `--share-cpp-ast`, it becomes an error, at
least if the entity is either defined in, or used from, C++ code.

Assisted-by: Gemini via Antigravity (original change) and Claude Code
(suggested edits in review)

---------

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
2026-08-21 01:36:40 +00:00

50 lines
1.2 KiB
Plaintext

// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/int.carbon
//
// AUTOUPDATE
// TIP: To test this file alone, run:
// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/check/testdata/interop/cpp/class/export/layout.carbon
// TIP: To dump output, run:
// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/interop/cpp/class/export/layout.carbon
// --- simple.carbon
library "[[@TEST_NAME]]";
import Cpp;
class ThreeInts {
var a: i32;
var b: i32;
var c: i32;
}
inline Cpp '''c++
static_assert(sizeof(Carbon::ThreeInts) == 12);
static_assert(alignof(Carbon::ThreeInts) == 4);
''';
// --- packed.carbon
library "[[@TEST_NAME]]";
import Cpp;
class PointerInt {
var a: i32*;
var b: i32;
}
class PointerIntInt {
var c: PointerInt;
var d: i32;
}
inline Cpp '''c++
static_assert(sizeof(Carbon::PointerInt) == 12);
static_assert(alignof(Carbon::PointerInt) == 8);
static_assert(sizeof(Carbon::PointerIntInt) == 16);
static_assert(alignof(Carbon::PointerIntInt) == 8);
''';