145
|
1 2014-12-14 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
2
|
|
3 * Make-lang.in (check_gdc_parallelize): Update for testsuite changes.
|
|
4 * d-convert.cc (d_convert_basic): Avoid stack overflow when converting
|
|
5 from pointer to integer.
|
|
6 * d-objfile.cc (FuncDeclaration::toObjFile): Emit correct frame
|
|
7 information for closures rather than generic void pointers.
|
|
8
|
|
9 2014-11-10 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
10
|
|
11 * d-elem.cc (CatExp::toElem): Split dynamic arrays when passing as
|
|
12 varargs to arraycatT and arraycatnT.
|
|
13
|
|
14 2014-11-09 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
15
|
|
16 * d-codegen.cc (build_vthis): Handle getting static chain for nested
|
|
17 templated structs.
|
|
18
|
|
19 2014-09-07 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
20
|
|
21 * d-elem.cc (ArrayLiteralExp::toElem): Remove special handling for
|
|
22 immutable arrays.
|
|
23
|
|
24 2014-08-03 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
25
|
|
26 * d-longdouble.cc (longdouble::formatHex): Convert buffer to uppercase
|
|
27 for use in mangling templates.
|
|
28
|
|
29 2014-07-29 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
30
|
|
31 * d-elem.cc (NewExp::toElem): Check for opaque structs before
|
|
32 continuing to generate the new expression.
|
|
33
|
|
34 * d-lang.h.cc (d_vtbl_ptr_type_node): Renamed to vtbl_ptr_type_node.
|
|
35 (d_boolean_type_node): Renamed to bool_type_node.
|
|
36 (d_char_type_node): Renamed to char8_type_node.
|
|
37 (d_wchar_type_node): Renamed to char16_type_node.
|
|
38 (d_dchar_type_node): Renamed to char32_type_node.
|
|
39 (d_ifloat_type_node): Renamed to ifloat_type_node.
|
|
40 (d_idouble_type_node): Renamed to idouble_type_node.
|
|
41 (d_ireal_type_node): Renamed to ireal_type_node.
|
|
42 (byte_type_node, ubyte_type_node): New macros for fixed integral
|
|
43 types in D.
|
|
44 (short_type_node, ushort_type_node): Likewise.
|
|
45 (int_type_node, uint_type_node): Likewise.
|
|
46 (long_type_node, ulong_type_node): Likewise.
|
|
47 (cent_type_node, ucent_type_node): Likewise.
|
|
48 * d-builtins.c (d_init_builtins): Initialise all D specific type nodes.
|
|
49 * d-codegen.cc (d_bounds_condition): Use D-specific type macros instead
|
|
50 of backend C types.
|
|
51 (layout_aggregate_type): Likewise.
|
|
52 (build_integer_cst): Likewise.
|
|
53 (build_boolop): Likewise.
|
|
54 * d-convert.cc (d_build_truthvalue_op): Likewise.
|
|
55 (d_truthvalue_conversion): Likewise.
|
|
56 * d-ctype.cc (Type::toCtype): Likewise.
|
|
57 * d-decls.cc (FuncDeclaration::toSymbol): Likewise.
|
|
58 * d-elem.cc (CmpExp::toElem): Likewise.
|
|
59 (OrOrExp::toElem): Likewise.
|
|
60 (NotExp::toElem): Likewise.
|
|
61 * d-lang.cc (d_type_for_mode): Likewise.
|
|
62 (d_type_for_size): Likewise.
|
|
63 (d_signed_or_unsigned_type): Likewise.
|
|
64
|
|
65 2014-07-23 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
66
|
|
67 * d-ctype.cc (TypeFunction::toCtype): Only check for ref return for
|
|
68 functions returning non-void.
|
|
69
|
|
70 2014-07-21 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
71
|
|
72 * d-objfile.cc (output_declaration_p): Don't emit any declarations from
|
|
73 the gcc.attribute module.
|
|
74 (StructDeclaration::toObjFile): Call output_declaration_p.
|
|
75 * d-glue.cc (verror): Only call vasprintf on the initial format string.
|
|
76
|
|
77 2014-07-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
78
|
|
79 * d-lang.cc (d_init_options_struct): Set flag_wrapv as on by default.
|
|
80
|
|
81 2014-07-14 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
82
|
|
83 * d-elem.cc (NewExp::toElem): Don't initialise a new'd struct at the
|
|
84 caller. The callee ensures this is done.
|
|
85
|
|
86 2014-07-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
87
|
|
88 * d-objfile.cc (d_finish_symbol): Always set TREE_STATIC for symbols
|
|
89 being sent to the backend here.
|
|
90
|
|
91 2014-07-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
92
|
|
93 * d-objfile.cc (d_finish_symbol): Don't set DECL_INITIAL if the
|
|
94 initialiser is all zeros.
|
|
95
|
|
96 2014-07-10 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
97
|
|
98 * d-builtins.cc (lookup_ctype_name): Remove function.
|
|
99 (string_type_node): Move to static declaration from d_global_trees.
|
|
100 (const_string_type_node): Likewise.
|
|
101 (wint_type_node): Likewise.
|
|
102 (intmax_type_node): Likewise.
|
|
103 (uintmax_type_node): Likewise.
|
|
104 (signed_size_type_node): Likewise.
|
|
105 (d_init_builtins): Update.
|
|
106 * d-lang.cc (d_type_for_mode): Return only fixed size types.
|
|
107 (d_type_for_size): Likewise.
|
|
108 (d_signed_or_unsigned_type): Likewise.
|
|
109 (d_unsigned_type): Remove duplicated code from
|
|
110 d_signed_or_unsigned_type.
|
|
111 (d_signed_type): Likewise.
|
|
112
|
|
113 2014-07-03 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
114
|
|
115 * d-objfile.cc (finish_thunk): Use set_decl_section_name, copy the
|
|
116 implicit section flag.
|
|
117 (setup_symbol_storage): Use decl_default_tls_model.
|
|
118
|
|
119 2014-06-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
120
|
|
121 * d-codegen.h (d_types_compatible): Remove function.
|
|
122 (d_types_same): Use more conservative approach to type equality.
|
|
123 * d-codegen.cc (get_libcall): Allow backend to be able to optimise
|
|
124 closure memory allocations.
|
|
125 (convert_for_assignment): Use d_types_same.
|
|
126 * d-elem.cc (CatExp::toElem): Likewise.
|
|
127 (BinExp::toElemBin): Likewise.
|
|
128 (CatAssignExp::toElem): Likewise.
|
|
129 (StructLiteralExp::toElem): Likewise.
|
|
130
|
|
131 2014-06-14 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
132
|
|
133 * d-elem.cc (CondExp::toElem): Handle void type condition expressions.
|
|
134 (AssignExp::toElem): Use ismemset to test for initialising arrays with
|
|
135 a single value.
|
|
136 (StructLiteralExp::toElem): Build static initialiser if a symbol was
|
|
137 created by the front-end.
|
|
138 * d-codegen.h (d_types_compatible): First check equality of types, then
|
|
139 implicit compatibility.
|
|
140 * d-convert.cc (d_default_conversion): Remove function, fold
|
|
141 implementation into...
|
|
142 (d_truthvalue_conversion): ... here.
|
|
143
|
|
144 2014-06-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
145
|
|
146 * d-convert.cc (d_scalar_conversion): Remove function.
|
|
147 (d_build_truthvalue_op): Update.
|
|
148 (d_truthvalue_conversion): Update.
|
|
149
|
|
150 * d-codegen.cc (get_frame_for_symbol): Remove glue-specific error
|
|
151 messages and refactor.
|
|
152 (build_vthis): Likewise.
|
|
153 (get_framedecl): Likewise.
|
|
154 * d-elem.cc (AssignExp::toElem): Update call to build_vthis.
|
|
155 (NewExp::toElem): Likewise.
|
|
156 (StructLiteralExp::toElem): Likewise.
|
|
157 * d-objfile.cc (Dsymbol::toObjFile): Fix build warning.
|
|
158
|
|
159 * d-codegen.cc (d_decl_context): Always return parent context for
|
|
160 functions nested in functions.
|
|
161 (is_degenerate_closure): Remove function.
|
|
162 (needs_static_chain): Remove function.
|
|
163 * d-decls.cc (FuncDeclaration::toSymbol): Remove workaround for cgraph
|
|
164 nesting structure, saving the original context decl.
|
|
165 * d-lang.h (D_DECL_STATIC_CHAIN): Remove macro.
|
|
166 * d-objfile.cc (Symbol::Symbol): Remove ScontextDecl field.
|
|
167 (FuncDeclaration::toObjFile): Remove workaround for cgraph nesting
|
|
168 structure, restoring the original context decl. Delay building the
|
|
169 cgraph node until...
|
|
170 (d_finish_function): ... here, where the function is unnested.
|
|
171
|
|
172 2014-06-11 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
173
|
|
174 * d-objfile.cc (d_finish_function): Update the callgraph to reflect
|
|
175 unnesting of the function, as unravelling has already been handled by
|
|
176 the frontend. Do not delay calling cgraph_finalize_function.
|
|
177
|
|
178 2014-06-09 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
179
|
|
180 * d-objfile.cc (d_comdat_group): Return a decl.
|
|
181 * d-decl.cc (FuncDeclaration::toThunkSymbol): Don't set comdat group.
|
|
182 * d-elem.cc (EqualExp::toElem): Always store temporaries when comparing
|
|
183 two dynamic arrays.
|
|
184
|
|
185 2014-06-08 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
186
|
|
187 * d-decls.cc (TypeInfoDeclaration::toSymbol): Add assert that Error
|
|
188 types never reach the backend.
|
|
189 * d-typinf.cc (Type::getTypeInfo): Likewise.
|
|
190
|
|
191 2014-06-08 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
192
|
|
193 * dfrontend: Update to D front-end version 2.065.
|
|
194
|
|
195 * d-codegen.cc (d_build_call): Evaluate side effects of the object
|
|
196 parameter for method or delegate calls before passing.
|
|
197 (libcall_ids): Rename _d_array_bounds to _d_arraybounds.
|
|
198 (get_libcall): Update parameter types for _d_arraycopy.
|
|
199 (finish_aggregate_type): Update for frontend UDA changes.
|
|
200 * d-ctype.cc (TypeTypedef::toCtype): Update for frontend UDA changes.
|
|
201 (TypeEnum::toCtype): Likewise.
|
|
202 (TypeStruct::toCtype): Likewise.
|
|
203 (TypeClass::toCtype): Likewise.
|
|
204 * d-elem.cc (BoolExp::toElem): New function.
|
|
205 * d-lang.cc (rootmodule): New declaration for frontend entrypoint
|
|
206 changes.
|
|
207 (genCmain): Update for frontend entrypoint changes.
|
|
208 (d_handle_option): Don't duplicate memory for argument values.
|
|
209 (d_parse_file): Don't duplicate memory for source filenames.
|
|
210 * d-objfile.cc (VarDeclaration::toObjFile): Don't emit instantiated
|
|
211 manifest constants to debug.
|
|
212 (TemplateInstance::toObjFile): Update for frontend changes.
|
|
213 (output_template_p): Remove function.
|
|
214 (output_declaration_p): Update for frontend changes.
|
|
215 (setup_symbol_storage): Update for frontend UDA changes.
|
|
216 * d-target.cc (Target::reverseCppOverloads): New declaration.
|
|
217 * d-typinf.cc (Type::getInternalTypeInfo): Update for frontend changes.
|
|
218 (Type::getTypeInfo, Type::getTypeInfoDeclaration): Likewise.
|
|
219 (TypeTypedef::getTypeInfoDeclaration): Likewise.
|
|
220 (TypePointer::getTypeInfoDeclaration): Likewise.
|
|
221 (TypeDArray::getTypeInfoDeclaration): Likewise.
|
|
222 (TypeSArray::getTypeInfoDeclaration): Likewise.
|
|
223 (TypeAArray::getTypeInfoDeclaration): Likewise.
|
|
224 (TypeStruct::getTypeInfoDeclaration): Likewise.
|
|
225 (TypeClass::getTypeInfoDeclaration): Likewise.
|
|
226 (TypeVector::getTypeInfoDeclaration): Likewise.
|
|
227 (TypeEnum::getTypeInfoDeclaration): Likewise.
|
|
228 (TypeFunction::getTypeInfoDeclaration): Likewise.
|
|
229 (TypeDelegate::getTypeInfoDeclaration): Likewise.
|
|
230 (TypeTuple::getTypeInfoDeclaration): Likewise.
|
|
231 (createTypeInfoArray): Likewise.
|
|
232
|
|
233 * d-intrinsics.def: New file for declaring D intrinsics.
|
|
234
|
|
235 * d-builtins.cc (std_intrinsic_module, std_math_module)
|
|
236 (core_math_module, va_arg_template, va_arg2_template)
|
|
237 (va_start_template): Remove declarations.
|
|
238 (is_intrinsic_module_p, is_math_module_p, is_builtin_va_arg_p)
|
|
239 (is_builtin_va_start_p, d_gcc_magic_stdarg_check)
|
|
240 (d_gcc_magic_stdarg_module): Remove functions.
|
|
241 (d_gcc_magic_builtins_module): Rename to d_build_builtins_module.
|
|
242 (d_gcc_magic_libbuiltins_module): Rename to maybe_set_builtin.
|
|
243 (d_gcc_magic_libbuiltins_check): Rename to maybe_set_builtin_1.
|
|
244 (gcc_type_to_d_type): Rename to build_dtype.
|
|
245 (gcc_cst_to_d_expr): Rename to build_expression.
|
|
246 (d_gcc_eval_builtin): Remove function.
|
|
247 (eval_builtin): Moved to...
|
|
248 * d-glue.cc (eval_builtin): New function, updated for glue changes.
|
|
249 (FuncDeclaration::isBuiltin): New function to determine whether a
|
|
250 given function symbol is a compiler intrinsic.
|
|
251 * d-codegen.cc (maybe_expand_builtin): Rename to expand_intrinsic.
|
|
252 (Intrinsic): Remove enum declaration, replaced with...
|
|
253 (intrinsic_code): New enum for compiler intrinsics.
|
|
254 (intrinsic_decls): New declaration for store intrinsic information.
|
|
255 (expand_intrinsic_bt): Update signature.
|
|
256 (maybe_set_intrinsic): New function to replace...
|
|
257 (maybe_set_builtin_frontend): Remove function.
|
|
258 * d-decls.cc (FuncDeclaration::toSymbol): Update for glue changes.
|
|
259
|
|
260 * d-builtins.c: Rename to d-builtins.cc
|
|
261 * d-gt.c: Rename to d-gt.cc
|
|
262 * d-spec.c: Rename to d-spec.cc
|
|
263
|
|
264 * d-toir.cc: Renamed to toir.cc
|
|
265 * toir.cc: New file, re-implement toIR methods as a visitor.
|
|
266
|
|
267 * d-codegen.cc (insert_type_modifiers): Handle MODwildconst modifiers.
|
|
268 (build_ir): New function.
|
|
269 * d-objfile.cc (FuncDeclaration::toObjFile): Use build_ir to walk
|
|
270 front-end IR trees.
|
|
271 * d-decls.cc (VarDeclaration::toSymbol): Mark compiler temporaries as
|
|
272 DECL_ARTIFICIAL.
|
|
273 (ClassDeclaration::toVtblSymbol): Update for front-end changes.
|
|
274 * d-builtins.c (gcc_type_to_d_type): Likewise.
|
|
275 * d-elem.cc (CatAssignExp::toElem): Likewise.
|
|
276 (ArrayLiteralExp::toElem): Likewise.
|
|
277 (BoolExp::toElem): Remove function.
|
|
278 (ComExp::toElem): Assert that unhandled array operations no longer
|
|
279 leak from the front-end.
|
|
280 (NegExp::toElem): Likewise.
|
|
281 * d-glue.cc (Global::init): Initialise new member run_noext.
|
|
282 * d-incpath (add_import_path): Update for front-end changes.
|
|
283 * d-lang.cc (d_add_builtin_version): Likewise.
|
|
284 * d-todt.cc (StructDeclaration::toDt): Likewise.
|
|
285 * d-toir.cc (LabelStatement::toIR): Don't delete forward references.
|
|
286 (GotoStatement::toIR): Assert that undefined labels no longer leak
|
|
287 from the front-end.
|
|
288
|
|
289 2014-05-31 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
290
|
|
291 * d-todt.cc (dt_container): Properly handle zero length static arrays.
|
|
292 * d-codegen.h (build_dtype): Rename to lang_dtype.
|
|
293 (build_ddecl): Rename to lang_ddecl.
|
|
294
|
|
295 2014-05-21 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
296
|
|
297 * d-builtins.c (d_init_builtins): Use void_node instead of
|
|
298 d_void_zero_node.
|
|
299 * d-lang.h (d_void_zero_node): Remove.
|
|
300 * d-elem.cc (AndAndExp::toElem): Adjust.
|
|
301 (OrOrExp::toElem): Likewise.
|
|
302 (AssertExp::toElem): Likewise.
|
|
303 (TupleExp::toElem): Likewise.
|
|
304
|
|
305 * d-builtins.c (d_init_builtins): Use null_pointer_node instead of
|
|
306 d_null_pointer.
|
|
307 * d-lang.h (d_null_pointer): Remove.
|
|
308 * d-codegen.cc (convert_expr): Adjust.
|
|
309 (get_frame_for_symbol): Likewise.
|
|
310 (build_vthis): Likewise.
|
|
311 (get_framedecl): Likewise.
|
|
312 * d-elem.cc (DeleteExp::toElem): Likewise.
|
|
313 (CallExp::toElem): Likewise.
|
|
314 (AssertExp::toElem): Likewise.
|
|
315 (NewExp::toElem): Likewise.
|
|
316 (ArrayLiteralExp::toElem): Likewise.
|
|
317 (NullExp::toElem): Likewise.
|
|
318 * d-objfile.cc (ClassDeclaration::toObjFile): Likewise.
|
|
319 (InterfaceDeclaration::toObjFile): Likewise.
|
|
320 (FuncDeclaration::toObjFile): Likewise.
|
|
321 (build_moduleinfo): Likewise.
|
|
322 * d-todt.cc (TypeInfoTypedefDeclaration::toDt): Likewise.
|
|
323 (TypeInfoEnumDeclaration::toDt): Likewise.
|
|
324 (TypeInfoStructDeclaration::toDt): Likewise.
|
|
325
|
|
326 2014-05-18 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
327
|
|
328 * d-longdouble.cc (longdouble::from_shwi): Rename to from_int.
|
|
329 (longdouble::from_uhwi): Rename to from_uint.
|
|
330 (longdouble::to_shwi): Rename to to_int.
|
|
331 (longdouble::to_uhwi): Rename to to_uint.
|
|
332 (longdouble::set): Adjust.
|
|
333 (longdouble::operator): Likewise.
|
|
334
|
|
335 * d-lang.cc (alloc_binding_level): Adjust.
|
|
336 (build_d_type_lang_specific): Likewise.
|
|
337 (build_d_decl_lang_specific): Likewise.
|
|
338 * d-lang.h (lang_type): Don't use variable_size gty attribute.
|
|
339 * d-codegen.cc (cst_to_hwi): Remove function.
|
|
340 * d-codegen.cc (tree_to_hwi): Remove function.
|
|
341 * d-builtins.c (gcc_type_to_d_type): Adjust.
|
|
342 (gcc_cst_to_d_expr): Likewise.
|
|
343 * d-convert.cc (d_truthvalue_conversion): Use integer_zerop.
|
|
344 (get_nonnull_operand): Use tree_fits_uhwi_p.
|
|
345 * d-longdouble.cc (longdouble::from_int): Adjust.
|
|
346 (longdouble::from_uint): Likewise.
|
|
347 (longdouble::to_int): Likewise.
|
|
348
|
|
349 2014-04-30 Johannes Pfau <johannespfau@gmail.com>
|
|
350
|
|
351 * d-lang.cc (d_init): Define GNU_SEH_Exceptions and
|
|
352 GNU_DWARF2_Exceptions versions.
|
|
353
|
|
354 2014-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
355
|
|
356 * d-lang.cc (d_init_options): Default deprecation warnings to off.
|
|
357 * d-ctype.cc (TypeDelegate::toCtype): Propogate TREE_ADDRESSABLE from
|
|
358 the base function to the delegatised copy.
|
|
359
|
|
360 2014-04-15 Johannes Pfau <johannespfau@gmail.com>
|
|
361
|
|
362 * d-lang.cc (d_handle_noclone_attribute): New function to handle
|
|
363 noclone attribute. noclone is required by the naked attribute.
|
|
364 * d-elem.cc (SymbolExp::toElem): Convert symbols to the expression
|
|
365 type.
|
|
366
|
|
367 2014-04-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
368
|
|
369 * d-codegen.cc (get_frameinfo): Don't copy the node for frame record.
|
|
370 * d-irstate.cc (IRState::endCatches): Rebuild the STATEMENT_LIST of
|
|
371 catches in a TRY_CATCH_EXPR if it gets optimised away by
|
|
372 IRState::popStatement.
|
|
373 * d-codegen.cc (d_attribute_p): Provide access to target attributes.
|
|
374
|
|
375 2014-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
376
|
|
377 * d-codegen.cc (error_mark_p): Removed function, replace uses with
|
|
378 error_operand_p.
|
|
379 (error_mark): Removed function, replace uses with error_mark_node.
|
|
380 * d-ctype.cc (Type::toCtype): Return d_unknown_type_node for frontend
|
|
381 error types.
|
|
382 * d-objfile.cc (VarDeclaration::toObjFile): Don't build CONST_DECLs for
|
|
383 non-scalar manifests.
|
|
384
|
|
385 2014-03-23 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
386
|
|
387 * d-decls.cc (Dsymbol::toImport): Prevent GC from collecting
|
|
388 IMPORTED_DECL nodes whilst front-end compilation in progress.
|
|
389
|
|
390 2014-03-19 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
391
|
|
392 * d-codegen.cc (AggLayout::visit): Rename to layout_aggregate_type.
|
|
393 (AggLayout::doFields, AggLayout::doInterfaces): Remove function and
|
|
394 move implementation into layout_aggregate_type.
|
|
395 (AggLayout::addField): Rename to insert_aggregate_field.
|
|
396 (AggLayout::finish): Rename to finish_aggregate_type.
|
|
397 * d-codegen.h (AggLayout): Update definition.
|
|
398 * d-ctype.cc (TypeStruct::toCtype): Update for glue changes.
|
|
399 (TypeFunction::toCtype): Fix ICE on generic function types.
|
|
400 (TypeClass::toCtype): Move generation of vptr and monitor fields into
|
|
401 layout_aggregate_type. Moved generation of TYPE_METHODS from ...
|
|
402 * d-objfile.cc (FuncDeclaration::toObjFile): ... here into
|
|
403 TypeClass::toCtype. Don't build up TYPE_METHODS on a per-function
|
|
404 basis, generate the entire vtable.
|
|
405
|
|
406 2014-03-18 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
407
|
|
408 * d-decls.cc (Dsymbol::toSymbolX): Set the symbol prettyIdent.
|
|
409 (Dsymbol::toImport): Emit packages as their fully qualified names.
|
|
410 (ClassDeclaration::toSymbol): Distinguish between the classinfo
|
|
411 assembler and decl name.
|
|
412 (InterfaceDeclaration::toSymbol): Likewise for interface symbol.
|
|
413 (Module::toSymbol): Likewise for moduleinfo symbol.
|
|
414 (ClassDeclaration::toVtblSymbol): Likewise for class vtable symbol.
|
|
415 (AggregateDeclaration::toInitializer)
|
|
416 (TypedefDeclaration::toInitializer, EnumDeclaration::toInitializer):
|
|
417 Likewise for default initialisers.
|
|
418 * d-objfile.cc (Module::genobjfile): Don't set-up moduleinfo symbol
|
|
419 storage twice.
|
|
420
|
|
421 2014-03-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
422
|
|
423 * d-codegen.cc (d_decl_context): Fix null pointer dereference.
|
|
424 * d-objfile.cc (FuncDeclaration::toObjFile): Don't override the setting
|
|
425 of DECL_CONTEXT on the declaration here.
|
|
426 (d_finish_symbol): Likewise.
|
|
427 * d-objfile.cc (VarDeclaration::toObjFile): Move the generation of
|
|
428 manifest constants to ...
|
|
429 * d-decls.cc (VarDeclaration::toSymbol): ... here, and emit them as
|
|
430 CONST_DECLs. Set the DECL_CONTEXT for all variable symbols.
|
|
431
|
|
432 * d-builtins.cc (d_gcc_magic_builtins_module): Don't store compiler
|
|
433 generated builtins in Symbol::isym, use Symbol::csym instead.
|
|
434 (d_gcc_magic_libbuiltins_check): Likewise.
|
|
435 * d-codegen.cc (d_decl_context): Return the imported symbol tree of
|
|
436 modules where the NAMESPACE_DECL is now stored.
|
|
437 (d_build_module): Remove function. Move implementation to ...
|
|
438 * d-decls.cc (Dsymbol::toImport): ... here. Build an IMPORTED_DECL for
|
|
439 all imported declarations.
|
|
440 (FuncDeclaration::toSymbol): Remove special handling of Symbol::isym.
|
|
441 (Module::toSymbol): Remove call to d_build_module.
|
|
442 * d-objfile.cc (Dsymbol::toObjFile): Handle emission of IMPORTED_DECL
|
|
443 symbols to debug.
|
|
444
|
|
445 2014-03-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
446
|
|
447 * d-codegen.cc (build_attributes): Ensure D-specific attributes have
|
|
448 their value interpreted through CTFE.
|
|
449
|
|
450 2014-02-21 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
451
|
|
452 * d-codegen.cc (d_build_module): Update signature to accept a Loc
|
|
453 location to the module declaration.
|
|
454 * d-decls.cc (Module::toSymbol): Update call to d_build_module.
|
|
455 Set TREE_PUBLIC/DECL_EXTERNAL to distingush which modules are being
|
|
456 compiled.
|
|
457 * d-objfile.cc (Dsymbol::toObjFile): Handle Import symbols, and emit
|
|
458 debug information for imported modules.
|
|
459 (ImportStatement::toIR): Likewise.
|
|
460 (set_input_location): New function to implement the equivalent of
|
|
461 set_decl_location, but instead sets input_location.
|
|
462
|
|
463 2014-02-19 Johannes Pfau <johannespfau@gmail.com>
|
|
464
|
|
465 * d-objfile.cc (build_call_function): Call set_input_location
|
|
466 to set debug info correctly
|
|
467
|
|
468 2014-02-18 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
469
|
|
470 * d-objfile.cc (VarDeclaration::toObjFile): Remove toplevel check.
|
|
471 DECL_CONTEXT is never set on manifest constants.
|
|
472 (d_finish_compilation): Remove fancy check on force outputting
|
|
473 symbols to object file.
|
|
474 (build_type_decl): Don't emit the qualified identifier in debug
|
|
475 information. The fully qualified name is now determined through the
|
|
476 NAMESPACE_DECL context chain.
|
|
477 * d-ctype.cc (TypeEnum::toCtype): Likewise for enum members.
|
|
478 (VarDeclaration::toSymbol): Likewise for static variables.
|
|
479 (FuncDeclaration::toSymbol): Likewise for functions.
|
|
480
|
|
481 * d-decls.cc (FuncDeclaration::toSymbol): Don't emit the 'D main'
|
|
482 symbol to debug as plain 'main'.
|
|
483 * d-objfile.cc (VarDeclaration::toObjFile): Don't emit the qualified
|
|
484 identifier of manifest constants in debug information.
|
|
485
|
|
486 2014-02-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
487
|
|
488 * d-codegen.cc (d_build_module): New function.
|
|
489 * d-decls.cc (Module::toSymbol): Use d_build_module to build up the
|
|
490 qualified module namespace.
|
|
491
|
|
492 * d-codegen.cc (expand_intrinsic_op, expand_intrinsic_op2): New
|
|
493 functions to build a call to a builtin code.
|
|
494 (expand_intrinsic_bsr, expand_intrinsic_bt): New functions to expand a
|
|
495 BUILTIN_FRONTEND call to core.bitop intrinsics.
|
|
496 (expand_intrinsic_vaarg, expand_intrinsic_vastart): New functions to
|
|
497 expand a BUILTIN_FRONTEND call to core.vararg intrinsics.
|
|
498 (maybe_expand_builtin): Update.
|
|
499
|
|
500 2014-02-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
501
|
|
502 * d-decls.cc (Module::toSymbol): Build a NAMESPACE_DECL to populate the
|
|
503 DECL_CONTEXT of toplevel functions.
|
|
504 * d-codegen.cc (d_decl_context): Return the enclosing module
|
|
505 NAMESPACE_DECL as the decl context only when the symbol is extern(D)
|
|
506 and not D main.
|
|
507
|
|
508 2014-02-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
509
|
|
510 * d-decls.cc (VarDeclaration::toSymbol): Don't call
|
|
511 setup_symbol_storage until after SET_DECL_ASSEMBLER_NAME has been set.
|
|
512
|
|
513 * d-decls.cc (VarDeclaration::toSymbol): Give prettyIdent precedence
|
|
514 for the DECL_NAME over the simple identifier.
|
|
515 (FuncDeclaration::toSymbol): Likewise.
|
|
516 * d-objfile.cc (d_finish_symbol): Remove setting DECL_NAME as
|
|
517 prettyIdent, this has already been done in Declaration::toSymbol.
|
|
518 (d_finish_function): Likewise.
|
|
519
|
|
520 * d-decls.cc (VarDeclaration::toSymbol): Call set_user_assembler_name
|
|
521 if pragma(mangle) was seen.
|
|
522 (FuncDeclaration::toSymbol): Likewise.
|
|
523
|
|
524 2014-02-12 Johannes Pfau <johannespfau@gmail.com>
|
|
525
|
|
526 * d-decls.cc (FuncDeclaration::toSymbol): Do not set TREE_NOTHROW on
|
|
527 nothrow functions.
|
|
528 * d-decls.cc (TypeInfoDeclaration::toSymbol): Call relayout_decl after
|
|
529 changing the type.
|
|
530
|
|
531 2014-02-03 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
532
|
|
533
|
|
534 * d-codegen.cc (d_build_call): Remove special handling of
|
|
535 flag_split_darrays switch.
|
|
536 (maybe_expand_builtin): Likewise.
|
|
537 * d-elem.cc (CatExp::toElem): Likewise.
|
|
538 * lang.opt (fsplit-dynamic-arrays): Remove.
|
|
539
|
|
540 2014-02-02 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
541
|
|
542 * d-glue.cc (readFile, writeFile, ensurePathToNameExists): Define.
|
|
543 * d-incpath.cc (add_import_path): Update for frontend changes.
|
|
544 (add_fileimp_path): Likewise.
|
|
545 * d-lang.cc (deps_write): Likewise.
|
|
546 (d_parse_file): Likewise.
|
|
547 * d-todt.cc (Dts): Update define for frontend changes.
|
|
548 * d-decls.cc (ClassDeclaration::toVtblSymbol): Don't mark __vtbl
|
|
549 symbols as virtual. They are global static symbols.
|
|
550
|
|
551 2014-01-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
552
|
|
553 * d-decls.cc (EnumDeclaration::toDebug): Build TYPE_DECL only for
|
|
554 enumeral types.
|
|
555
|
|
556 2014-01-06 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
557
|
|
558 * d-ctype.cc (TypeClass::toCtype): Don't add __monitor field for
|
|
559 extern(C++) classes.
|
|
560
|
|
561 * d-builtins.c (d_gcc_magic_module): Remove tdata.
|
|
562 * d-codegen.cc (build_interface_binfo): Likewise.
|
|
563 * d-ctype.cc (TypeEnum::toCtype): Likewise.
|
|
564 (TypeClass::toCtype): Likewise.
|
|
565 * d-lang.cc (deps_write): Likewise.
|
|
566
|
|
567 2014-01-05 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
568
|
|
569 * d-ctype.cc (TypeEnum::toCtype): Don't push CONST_DECLs into current
|
|
570 function.
|
|
571 * d-decls.cc (FuncDeclaration::toThunkSymbol): Don't mark symbol as
|
|
572 TREE_PRIVATE, just TREE_PUBLIC as false.
|
|
573 (StructLiteralExp::toSymbol): Likewise.
|
|
574 (ClassReferenceExp::toSymbol): Likewise.
|
|
575 * d-objfile.cc (d_comdat_linkage): Likewise.
|
|
576 (d_finish_symbol): Likewise.
|
|
577 (build_moduleinfo): Likewise.
|
|
578
|
|
579 * config-lang.in: Add d-lang.cc to gtfiles.
|
|
580 * d-irstate.h (IRState::varsInScope): Change from Array to vec<> type.
|
|
581 (IRState::statementList_): Likewise.
|
|
582 (IRState::scopes_): Likewise.
|
|
583 (IRState::loops_): Likewise.
|
|
584 (IRState::labels_): Likewise.
|
|
585 * d-lang.h (d_bi_builtin_func): Remove declaration.
|
|
586 (d_bi_builtin_type): Likewise.
|
|
587 (d_keep_list): Likewise.
|
|
588 * d-objfile.h (Symbol::thunks): Change from Array to vec<> type.
|
|
589 (ModuleInfo::classes): Likewise.
|
|
590 (ModuleInfo::ctors): Likewise.
|
|
591 (ModuleInfo::dtors): Likewise.
|
|
592 (ModuleInfo::ctorgates): Likewise.
|
|
593 (ModuleInfo::sharedctors): Likewise.
|
|
594 (ModuleInfo::shareddtors): Likewise.
|
|
595 (ModuleInfo::sharedctorgates): Likewise.
|
|
596 (ModuleInfo::unitTests): Likewise.
|
|
597 (build_simple_function): Remove declaration.
|
|
598 (build_call_function): Likewise.
|
|
599 (build_ctor_function): Likewise.
|
|
600 (build_dtor_function): Likewise.
|
|
601 (build_unittest_function): Likewise.
|
|
602 * d-builtins.c (bi_fn_list): Rename to gcc_builtins_functions.
|
|
603 (bi_lib_list): Rename to gcc_builtins_libfuncs.
|
|
604 (bi_type_list): Rename to gcc_builtins_types.
|
|
605 (builtin_converted_types): Remove.
|
|
606 (builtin_converted_decls): Change from Array to vec<> type.
|
|
607 (gcc_type_to_d_type): Update.
|
|
608 (d_bi_builtin_func): Remove and move to d_builtin_function.
|
|
609 (d_bi_builtin_type): Remove and move to d_register_builtin_type.
|
|
610 (d_gcc_magic_builtins_module): Update.
|
|
611 * d-ctype.cc (TypeClass::toCtype): Remove unused var.
|
|
612 * d-decls.cc (FuncDeclaration::toThunkSymbol): Update for change to
|
|
613 vec<> type.
|
|
614 * d-elem.cc (CatExp::toElem): Change stashed vars from Array to vec<>.
|
|
615 (Expression::toElemDtor): Update for change to vec<> type.
|
|
616 * d-irstate.cc (IRState::startFunction): Likewise.
|
|
617 (IRState::endFunction): Likewise.
|
|
618 (IRState::addExp): Likewise.
|
|
619 (IRState::pushStatementList): Likewise.
|
|
620 (IRState::popStatementList): Likewise.
|
|
621 (IRState::getLabelBlock): Likewise.
|
|
622 (IRState::getLoopForLabel): Likewise.
|
|
623 (IRState::beginFlow): Likewise.
|
|
624 (IRState::endFlow): Likewise.
|
|
625 (IRState::startScope): Likewise.
|
|
626 (IRState::pushLabel): Likewise.
|
|
627 (IRState::checkGoto): Likewise.
|
|
628 (IRState::checkPreviousGoto): Change from Array to Blocks type.
|
|
629 * d-lang.cc (global_declarations): Change from Array to vec<> type.
|
|
630 (d_add_global_declaration): Update for change to vec<> type.
|
|
631 (d_write_global_declarations): Likewise.
|
|
632 (d_keep_list): Make static to source file.
|
|
633 * d-objfile.cc (static_ctor_list): Change from Array to vec<> type.
|
|
634 (static_dtor_list): Likewise.
|
|
635 (Module::genobjfile): Update for change to vec<> type.
|
|
636 (d_finish_module): Likewise.
|
|
637 (d_finish_function): Likewise.
|
|
638 (deferred_thunks): Change from ArrayBase<> to vec<> type.
|
|
639 (write_deferred_thunks): Update for change to vec<> type.
|
|
640 (use_thunk): Likewise.
|
|
641 (build_simple_function): Make static to source file.
|
|
642 (build_call_function): Likewise.
|
|
643 (build_ctor_function): Likewise.
|
|
644 (build_dtor_function): Likewise.
|
|
645 (build_unittest_function): Likewise.
|
|
646
|
|
647 2014-01-02 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
648
|
|
649 * d-objfile.cc (setup_symbol_storage): Use output_module_p on template
|
|
650 instantiating module to determine if symbol is externally compiled.
|
|
651 (d_finish_function): Set function local if function body was compiled.
|
|
652 * d-decls.cc (Dsymbol::toSymbolX): Use unsigned integer format for the
|
|
653 prefix string length.
|
|
654
|
|
655
|
|
656 Copyright (C) 2014 Free Software Foundation, Inc.
|
|
657
|
|
658 Copying and distribution of this file, with or without modification,
|
|
659 are permitted in any medium without royalty provided the copyright
|
|
660 notice and this notice are preserved.
|