| //===-- 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 EmptyStruct {}; |
| |
| 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; |
| EmptyStruct es; |
| |
| 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; |
| |
| } |
| |