blob: 7f038348f96912acf0741f34a3d84baac59d7209 [file] [log] [blame]
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
union Union1
{
int a;
};
union Union2
{
union Union1 a;
};
// Should be marked incomplete, long double not supported.
union Union3
{
long double a;
};
// All members should be removed, Bit fields are not supported.
union Union4
{
int a : 3;
int : 2; // Unnamed bit field.
};
// All members should be removed, Incomplete union members are not supported.
union Union5
{
int a;
union Union3 s; // Incomplete nested union.
};
// Multiple anonymous declarations
union Union6
{
union
{
float a;
};
union
{
float b;
};
};
// Multiple anonymous declarations with incomplete members
union Union7
{
union
{
float a;
};
union
{
float b;
int c[];
};
};
void func1(union Union2 *s);
// Incomplete array parameter will be treated as a pointer.
void func2(union Union3 s[]);