]>
Commit | Line | Data |
---|---|---|
b4c522fa IB |
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 | \f | |
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. |