llvm-project/clang/test/CodeGenCXX/copy-assign-volatile-synthesis.cpp
Mehdi Amini e0ac46e69d Revert "Remove rdar links; NFC"
This reverts commit d618f1c3b12effd0c2bdb7d02108d3551f389d3d.
This commit wasn't reviewed ahead of time and significant concerns were
raised immediately after it landed. According to our developer policy
this warrants immediate revert of the commit.

https://llvm.org/docs/DeveloperPolicy.html#patch-reversion-policy

Differential Revision: https://reviews.llvm.org/D155509
2023-07-17 18:08:04 -07:00

44 lines
753 B
C++

// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
// rdar://9894548
typedef unsigned long word_t;
typedef unsigned long u64_t;
typedef unsigned int u32_t;
class ioapic_redir_t {
public:
union {
struct {
word_t vector : 8;
word_t delivery_mode : 3;
word_t dest_mode : 1;
word_t delivery_status : 1;
word_t polarity : 1;
word_t irr : 1;
word_t trigger_mode : 1;
word_t mask : 1;
word_t _pad0 : 15;
word_t dest : 8;
};
volatile u32_t raw[2];
volatile u64_t raw64;
};
};
struct ioapic_shadow_struct
{
ioapic_redir_t redirs[24];
} ioapic_shadow[16];
void init_ioapic(unsigned long ioapic_id)
{
ioapic_redir_t entry;
ioapic_shadow[ioapic_id].redirs[3] = entry;
}
// CHECK: call void @llvm.memcpy