Files
clang-p2996/lldb/test/functionalities/data-formatter/data-formatter-cpp/main.cpp
Enrico Granata f9fa6ee5e3 named summaries:
- a new --name option for "type summary add" lets you give a name to a summary
 - a new --summary option for "frame variable" lets you bind a named summary to one or more variables
${var%s} now works for printing the value of 0-terminated CStrings
type format test case now tests for cascading
 - this is disabled on GCC because GCC may end up stripping typedef chains, basically breaking cascading
new design for the FormatNavigator class
new template class CleanUp2 meant to support cleanup routines with 1 additional parameter beyond resource handle

llvm-svn: 134943
2011-07-12 00:18:11 +00:00

117 lines
2.8 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 = new i_am_cool(3,-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!";
return 0; // Set break point at this line.
}