d: Merge upstream dmd, druntime 26f049fb26, phobos 330d6a4fd.
[official-gcc.git] / gcc / testsuite / gdc.test / compilable / dtoh_VarDeclaration.d
blob1faa51e63fb28a6dc68b84bd5ed60f915976d918
1 /*
2 REQUIRED_ARGS: -HC -c -o-
3 PERMUTE_ARGS:
4 TEST_OUTPUT:
5 ---
6 // Automatically generated by Digital Mars D Compiler
8 #pragma once
10 #include <assert.h>
11 #include <math.h>
12 #include <stddef.h>
13 #include <stdint.h>
15 #ifdef CUSTOM_D_ARRAY_TYPE
16 #define _d_dynamicArray CUSTOM_D_ARRAY_TYPE
17 #else
18 /// Represents a D [] array
19 template<typename T>
20 struct _d_dynamicArray final
22 size_t length;
23 T *ptr;
25 _d_dynamicArray() : length(0), ptr(NULL) { }
27 _d_dynamicArray(size_t length_in, T *ptr_in)
28 : length(length_in), ptr(ptr_in) { }
30 T& operator[](const size_t idx) {
31 assert(idx < length);
32 return ptr[idx];
35 const T& operator[](const size_t idx) const {
36 assert(idx < length);
37 return ptr[idx];
40 #endif
41 #if !defined(_d_real)
42 #define _d_real long double
43 #endif
45 extern "C" int32_t z;
47 extern int32_t t;
49 struct S;
51 struct S2;
53 class C2;
55 union U;
57 union U2;
59 extern "C" size_t v;
61 extern nullptr_t typeof_null;
63 extern nullptr_t inferred_null;
65 extern int32_t i;
67 extern _d_real r;
69 extern int32_t si[4$?:32=u|64=LLU$];
71 extern const _d_dynamicArray< const int32_t > di;
73 extern void* ii;
75 extern const int32_t* const pi;
77 extern int16_t(*func)(float , bool , ...);
78 ---
81 int x = 42;
83 extern int y;
85 extern (C) int z;
87 extern (C++) __gshared int t;
89 extern (C) struct S;
91 extern (C++) struct S2;
93 extern (C) class C;
95 extern (C++) class C2;
97 extern (C) union U;
99 extern (C++) union U2;
101 extern (C) size_t v;
103 extern (C++) __gshared typeof(null) typeof_null = null;
104 extern (C++) __gshared inferred_null = null;
106 extern(C++):
107 __gshared
109 int i;
110 real r;
111 int[4] si;
112 const int[] di;
113 int[int] ii;
114 const int* pi;
115 short function(float, bool, ...) func;