122 lines
3.0 KiB
C++
122 lines
3.0 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>
|
|
|
|
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.
|
|
}
|
|
|