rust/tests/codegen/sanitizer/cfi
Matthew Maurer dec36c3d6e CFI: Support self_cell-like recursion
Current `transform_ty` attempts to avoid cycles when normalizing
`#[repr(transparent)]` types to their interior, but runs afoul of this
pattern used in `self_cell`:

```
struct X<T> {
  x: u8,
  p: PhantomData<T>,
}

 #[repr(transparent)]
struct Y(X<Y>);
```

When attempting to normalize Y, it will still cycle indefinitely. By
using a types-visited list, this will instead get expanded exactly
one layer deep to X<Y>, and then stop, not attempting to normalize `Y`
any further.
2024-03-22 23:02:05 +00:00
..
add-canonical-jump-tables-flag.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
add-enable-split-lto-unit-flag.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-checks-attr-no-sanitize.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-checks.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-attr-cfi-encoding.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-id-itanium-cxx-abi-const-generics.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-id-itanium-cxx-abi-function-types.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-id-itanium-cxx-abi-lifetimes.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-id-itanium-cxx-abi-paths.rs CFI: Skip non-passed arguments 2024-03-21 22:26:26 +00:00
emit-type-metadata-id-itanium-cxx-abi-pointer-types.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-id-itanium-cxx-abi-primitive-types.rs CFI: Skip non-passed arguments 2024-03-21 22:26:26 +00:00
emit-type-metadata-id-itanium-cxx-abi-repr-transparent-types.rs CFI: Support self_cell-like recursion 2024-03-22 23:02:05 +00:00
emit-type-metadata-id-itanium-cxx-abi-sequence-types.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-id-itanium-cxx-abi-trait-types.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-id-itanium-cxx-abi-user-defined-types.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-itanium-cxx-abi-generalized.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-itanium-cxx-abi-normalized-generalized.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-itanium-cxx-abi-normalized.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-itanium-cxx-abi.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
emit-type-metadata-trait-objects.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
generalize-pointers.rs CFI: Break tests into smaller files 2024-03-14 00:56:29 -07:00
normalize-integers.rs CFI: Skip non-passed arguments 2024-03-21 22:26:26 +00:00