forked from OSchip/llvm-project
84 lines
1.5 KiB
C++
84 lines
1.5 KiB
C++
//===-- main.cpp ------------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <stdint.h>
|
|
|
|
struct BagOfInts
|
|
{
|
|
int x;
|
|
int y;
|
|
int z;
|
|
BagOfInts(int X) :
|
|
x(X),
|
|
y(X+1),
|
|
z(X+2) {}
|
|
};
|
|
|
|
struct BagOfFloats
|
|
{
|
|
float x;
|
|
float y;
|
|
float z;
|
|
BagOfFloats(float X) :
|
|
x(X+0.334),
|
|
y(X+0.500),
|
|
z(X+0.667) {}
|
|
};
|
|
|
|
struct BagOfBags
|
|
{
|
|
BagOfInts x;
|
|
BagOfInts y;
|
|
BagOfFloats z;
|
|
BagOfFloats q;
|
|
BagOfBags() :
|
|
x('E'),
|
|
y('B'),
|
|
z(1.1),
|
|
q(20.11) {}
|
|
};
|
|
|
|
struct Plenty
|
|
{
|
|
BagOfInts *some_values;
|
|
int* array;
|
|
int array_size;
|
|
int bitfield;
|
|
|
|
Plenty(int N, bool flagA, bool flagB) :
|
|
some_values(new BagOfInts(N)),
|
|
array(new int[N]),
|
|
array_size(N),
|
|
bitfield( (flagA ? 0x01 : 0x00) | (flagB ? 0x10 : 0x00) )
|
|
{
|
|
for (int j = 0; j < N; j++)
|
|
array[j] = N-j;
|
|
}
|
|
};
|
|
|
|
int main (int argc, const char * argv[])
|
|
{
|
|
BagOfInts int_bag(6);
|
|
BagOfFloats float_bag(2.71);
|
|
|
|
BagOfBags bag_bag;
|
|
|
|
Plenty plenty_of_stuff(5,true,false);
|
|
|
|
plenty_of_stuff.bitfield = 0x11; // Set break point at this line.
|
|
|
|
bag_bag.x.z = 12;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|