| //===-- 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> |
| |
| typedef float RealNumber; // should show as char |
| typedef RealNumber Temperature; // should show as float |
| typedef RealNumber Speed; // should show as hex |
| |
| typedef int Counter; // should show as int |
| typedef int BitField; // should show as hex |
| |
| typedef BitField SignalMask; // should show as hex |
| typedef BitField Modifiers; // should show as hex |
| |
| typedef Counter Accumulator; // should show as int |
| |
| typedef int Type1; // should show as char |
| typedef Type1 Type2; // should show as hex |
| typedef Type2 Type3; // should show as char |
| typedef Type3 Type4; // should show as char |
| |
| typedef int ChildType; // should show as int |
| typedef int AnotherChildType; // should show as int |
| |
| struct Point { |
| int x; |
| int y; |
| Point(int X = 3, int Y = 2) : x(X), y(Y) {} |
| }; |
| |
| typedef float ShowMyGuts; |
| |
| struct i_am_cool |
| { |
| int integer; |
| ShowMyGuts floating; |
| char character; |
| i_am_cool(int I, ShowMyGuts F, char C) : |
| integer(I), floating(F), character(C) {} |
| i_am_cool() : integer(1), floating(2), character('3') {} |
| |
| }; |
| |
| struct i_am_cooler |
| { |
| i_am_cool first_cool; |
| i_am_cool second_cool; |
| ShowMyGuts floating; |
| |
| i_am_cooler(int I1, int I2, float F1, float F2, char C1, char C2) : |
| first_cool(I1,F1,C1), |
| second_cool(I2,F2,C2), |
| floating((F1 + F2)/2) {} |
| }; |
| |
| struct IUseCharStar |
| { |
| const char* pointer; |
| IUseCharStar() : pointer("Hello world") {} |
| }; |
| |
| int main (int argc, const char * argv[]) |
| { |
| |
| int iAmInt = 1; |
| const float& IAmFloat = float(2.45); |
| |
| RealNumber RNILookChar = 3.14; |
| Temperature TMILookFloat = 4.97; |
| Speed SPILookHex = 5.55; |
| |
| Counter CTILookInt = 6; |
| BitField BFILookHex = 7; |
| SignalMask SMILookHex = 8; |
| Modifiers MFILookHex = 9; |
| |
| Accumulator* ACILookInt = new Accumulator(10); |
| |
| const Type1& T1ILookChar = 11; |
| Type2 T2ILookHex = 12; |
| Type3 T3ILookChar = 13; |
| Type4 T4ILookChar = 14; |
| |
| AnotherChildType AHILookInt = 15; |
| |
| Speed* SPPtrILookHex = new Speed(16); |
| |
| Point iAmSomewhere(4,6); |
| |
| i_am_cool *cool_pointer = (i_am_cool*)malloc(sizeof(i_am_cool)*3); |
| cool_pointer[0] = i_am_cool(3,-3.141592,'E'); |
| cool_pointer[1] = i_am_cool(0,-3.141592,'E'); |
| cool_pointer[2] = i_am_cool(0,-3.141592,'E'); |
| |
| i_am_cool cool_array[5]; |
| |
| cool_array[3].floating = 5.25; |
| cool_array[4].integer = 6; |
| cool_array[2].character = 'Q'; |
| |
| int int_array[] = {1,2,3,4,5}; |
| |
| IUseCharStar iEncapsulateCharStar; |
| |
| char strarr[32] = "Hello world!"; |
| char* strptr = "Hello world!"; |
| |
| i_am_cooler the_coolest_guy(1,2,3.14,6.28,'E','G'); |
| |
| return 0; // Set break point at this line. |
| } |
| |