brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · 32f5f2c Raw
183 lines · cpp
1#include <stdint.h>2#include <stdio.h>3#include <stdlib.h>4#include <string>5 6struct i_am_cool7{8	int integer;9	float floating;10	char character;11	i_am_cool(int I, float F, char C) :12    integer(I), floating(F), character(C) {}13	i_am_cool() : integer(1), floating(2), character('3') {}14    15};16 17struct i_am_cooler18{19	i_am_cool first_cool;20	i_am_cool second_cool;21	float floating;22	23	i_am_cooler(int I1, int I2, float F1, float F2, char C1, char C2) :24    first_cool(I1,F1,C1),25    second_cool(I2,F2,C2),26    floating((F1 + F2)/2) {}27};28 29struct IWrapPointers30{31    int* int_pointer;32    float* float_pointer;33	IWrapPointers() : int_pointer(new int(4)), float_pointer(new float(1.111)) {}34};35 36struct Simple37{38	int x;39	float y;40	char z;41	Simple(int X, float Y, char Z) :42	x(X),43	y(Y),44	z(Z)45	{}46};47 48struct SimpleWithPointers49{50	int *x;51	float *y;52	char *z;53	SimpleWithPointers(int X, float Y, char Z) :54	x(new int (X)),55	y(new float (Y)),56	z(new char[2])57	{58          z[0] = Z;59          z[1] = '\0';60        }61};62 63struct Couple64{65	SimpleWithPointers sp;66	Simple* s;67	Couple(int X, float Y, char Z) : sp(X,Y,Z),68	s(new Simple(X,Y,Z)) {}69};70 71struct VeryLong72{73    int a_1;74    int b_1;75    int c_1;76    int d_1;77    int e_1;78    int f_1;79    int g_1;80    int h_1;81    int i_1;82    int j_1;83    int k_1;84    int l_1;85    int m_1;86    int n_1;87    int o_1;88    int p_1;89    int q_1;90    int r_1;91    int s_1;92    int t_1;93    int u_1;94    int v_1;95    int w_1;96    int x_1;97    int y_1;98    int z_1;99    100    int a_2;101    int b_2;102    int c_2;103    int d_2;104    int e_2;105    int f_2;106    int g_2;107    int h_2;108    int i_2;109    int j_2;110    int k_2;111    int l_2;112    int m_2;113    int n_2;114    int o_2;115    int p_2;116    int q_2;117    int r_2;118    int s_2;119    int t_2;120    int u_2;121    int v_2;122    int w_2;123    int x_2;124    int y_2;125    int z_2;126};127 128int main (int argc, const char * argv[])129{130    131    int iAmInt = 9;132    const int constInt = 42;133    volatile int volatileInt = 43;134    const volatile int constVolatileInt = 44;135    136    i_am_cool cool_boy(1,0.5,3);137    i_am_cooler cooler_boy(1,2,0.1,0.2,'A','B');138    139	i_am_cool *cool_pointer = new i_am_cool(3,-3.141592,'E');140    141    i_am_cool cool_array[5];142    143    cool_array[3].floating = 5.25;144    cool_array[4].integer = 6;145    cool_array[2].character = 'Q';146    147    int int_array[] = {1,2,3,4,5};148    const int const_int_array[] = {11, 12, 13, 14, 15};149 150    IWrapPointers wrapper;151        152    *int_array = -1;153    154    int* pointer = &cool_array[4].integer;155    156    IWrapPointers *wrap_pointer = &wrapper;157    158    Couple couple(9,9.99,'X');159	160	SimpleWithPointers sparray[] = 161        {SimpleWithPointers(-1,-2,'3'),162        SimpleWithPointers(-4,-5,'6'),163        SimpleWithPointers(-7,-8,'9')};164    165    Simple a_simple_object(3,0.14,'E');166    167    VeryLong a_long_guy;168    auto *unused = &a_long_guy; // ensure a_long_guy isn't optimized out169 170    std::string some_string = "012345678901234567890123456789"171                              "012345678901234567890123456789"172                              "012345678901234567890123456789"173                              "012345678901234567890123456789";174    char const *some_cstring = some_string.c_str();175 176    char const some_carr[] = "012345678901234567890123456789"177                             "012345678901234567890123456789"178                             "012345678901234567890123456789"179                             "012345678901234567890123456789";180 181    return 0; // Set break point at this line.182}183