| 2014-12-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * Make-lang.in (check_gdc_parallelize): Update for testsuite changes. |
| * d-convert.cc (d_convert_basic): Avoid stack overflow when converting |
| from pointer to integer. |
| * d-objfile.cc (FuncDeclaration::toObjFile): Emit correct frame |
| information for closures rather than generic void pointers. |
| |
| 2014-11-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-elem.cc (CatExp::toElem): Split dynamic arrays when passing as |
| varargs to arraycatT and arraycatnT. |
| |
| 2014-11-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (build_vthis): Handle getting static chain for nested |
| templated structs. |
| |
| 2014-09-07 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-elem.cc (ArrayLiteralExp::toElem): Remove special handling for |
| immutable arrays. |
| |
| 2014-08-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-longdouble.cc (longdouble::formatHex): Convert buffer to uppercase |
| for use in mangling templates. |
| |
| 2014-07-29 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-elem.cc (NewExp::toElem): Check for opaque structs before |
| continuing to generate the new expression. |
| |
| * d-lang.h.cc (d_vtbl_ptr_type_node): Renamed to vtbl_ptr_type_node. |
| (d_boolean_type_node): Renamed to bool_type_node. |
| (d_char_type_node): Renamed to char8_type_node. |
| (d_wchar_type_node): Renamed to char16_type_node. |
| (d_dchar_type_node): Renamed to char32_type_node. |
| (d_ifloat_type_node): Renamed to ifloat_type_node. |
| (d_idouble_type_node): Renamed to idouble_type_node. |
| (d_ireal_type_node): Renamed to ireal_type_node. |
| (byte_type_node, ubyte_type_node): New macros for fixed integral |
| types in D. |
| (short_type_node, ushort_type_node): Likewise. |
| (int_type_node, uint_type_node): Likewise. |
| (long_type_node, ulong_type_node): Likewise. |
| (cent_type_node, ucent_type_node): Likewise. |
| * d-builtins.c (d_init_builtins): Initialise all D specific type nodes. |
| * d-codegen.cc (d_bounds_condition): Use D-specific type macros instead |
| of backend C types. |
| (layout_aggregate_type): Likewise. |
| (build_integer_cst): Likewise. |
| (build_boolop): Likewise. |
| * d-convert.cc (d_build_truthvalue_op): Likewise. |
| (d_truthvalue_conversion): Likewise. |
| * d-ctype.cc (Type::toCtype): Likewise. |
| * d-decls.cc (FuncDeclaration::toSymbol): Likewise. |
| * d-elem.cc (CmpExp::toElem): Likewise. |
| (OrOrExp::toElem): Likewise. |
| (NotExp::toElem): Likewise. |
| * d-lang.cc (d_type_for_mode): Likewise. |
| (d_type_for_size): Likewise. |
| (d_signed_or_unsigned_type): Likewise. |
| |
| 2014-07-23 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-ctype.cc (TypeFunction::toCtype): Only check for ref return for |
| functions returning non-void. |
| |
| 2014-07-21 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-objfile.cc (output_declaration_p): Don't emit any declarations from |
| the gcc.attribute module. |
| (StructDeclaration::toObjFile): Call output_declaration_p. |
| * d-glue.cc (verror): Only call vasprintf on the initial format string. |
| |
| 2014-07-17 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-lang.cc (d_init_options_struct): Set flag_wrapv as on by default. |
| |
| 2014-07-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-elem.cc (NewExp::toElem): Don't initialise a new'd struct at the |
| caller. The callee ensures this is done. |
| |
| 2014-07-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-objfile.cc (d_finish_symbol): Always set TREE_STATIC for symbols |
| being sent to the backend here. |
| |
| 2014-07-12 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-objfile.cc (d_finish_symbol): Don't set DECL_INITIAL if the |
| initialiser is all zeros. |
| |
| 2014-07-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-builtins.cc (lookup_ctype_name): Remove function. |
| (string_type_node): Move to static declaration from d_global_trees. |
| (const_string_type_node): Likewise. |
| (wint_type_node): Likewise. |
| (intmax_type_node): Likewise. |
| (uintmax_type_node): Likewise. |
| (signed_size_type_node): Likewise. |
| (d_init_builtins): Update. |
| * d-lang.cc (d_type_for_mode): Return only fixed size types. |
| (d_type_for_size): Likewise. |
| (d_signed_or_unsigned_type): Likewise. |
| (d_unsigned_type): Remove duplicated code from |
| d_signed_or_unsigned_type. |
| (d_signed_type): Likewise. |
| |
| 2014-07-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-objfile.cc (finish_thunk): Use set_decl_section_name, copy the |
| implicit section flag. |
| (setup_symbol_storage): Use decl_default_tls_model. |
| |
| 2014-06-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.h (d_types_compatible): Remove function. |
| (d_types_same): Use more conservative approach to type equality. |
| * d-codegen.cc (get_libcall): Allow backend to be able to optimise |
| closure memory allocations. |
| (convert_for_assignment): Use d_types_same. |
| * d-elem.cc (CatExp::toElem): Likewise. |
| (BinExp::toElemBin): Likewise. |
| (CatAssignExp::toElem): Likewise. |
| (StructLiteralExp::toElem): Likewise. |
| |
| 2014-06-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-elem.cc (CondExp::toElem): Handle void type condition expressions. |
| (AssignExp::toElem): Use ismemset to test for initialising arrays with |
| a single value. |
| (StructLiteralExp::toElem): Build static initialiser if a symbol was |
| created by the front-end. |
| * d-codegen.h (d_types_compatible): First check equality of types, then |
| implicit compatibility. |
| * d-convert.cc (d_default_conversion): Remove function, fold |
| implementation into... |
| (d_truthvalue_conversion): ... here. |
| |
| 2014-06-12 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-convert.cc (d_scalar_conversion): Remove function. |
| (d_build_truthvalue_op): Update. |
| (d_truthvalue_conversion): Update. |
| |
| * d-codegen.cc (get_frame_for_symbol): Remove glue-specific error |
| messages and refactor. |
| (build_vthis): Likewise. |
| (get_framedecl): Likewise. |
| * d-elem.cc (AssignExp::toElem): Update call to build_vthis. |
| (NewExp::toElem): Likewise. |
| (StructLiteralExp::toElem): Likewise. |
| * d-objfile.cc (Dsymbol::toObjFile): Fix build warning. |
| |
| * d-codegen.cc (d_decl_context): Always return parent context for |
| functions nested in functions. |
| (is_degenerate_closure): Remove function. |
| (needs_static_chain): Remove function. |
| * d-decls.cc (FuncDeclaration::toSymbol): Remove workaround for cgraph |
| nesting structure, saving the original context decl. |
| * d-lang.h (D_DECL_STATIC_CHAIN): Remove macro. |
| * d-objfile.cc (Symbol::Symbol): Remove ScontextDecl field. |
| (FuncDeclaration::toObjFile): Remove workaround for cgraph nesting |
| structure, restoring the original context decl. Delay building the |
| cgraph node until... |
| (d_finish_function): ... here, where the function is unnested. |
| |
| 2014-06-11 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-objfile.cc (d_finish_function): Update the callgraph to reflect |
| unnesting of the function, as unravelling has already been handled by |
| the frontend. Do not delay calling cgraph_finalize_function. |
| |
| 2014-06-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-objfile.cc (d_comdat_group): Return a decl. |
| * d-decl.cc (FuncDeclaration::toThunkSymbol): Don't set comdat group. |
| * d-elem.cc (EqualExp::toElem): Always store temporaries when comparing |
| two dynamic arrays. |
| |
| 2014-06-08 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-decls.cc (TypeInfoDeclaration::toSymbol): Add assert that Error |
| types never reach the backend. |
| * d-typinf.cc (Type::getTypeInfo): Likewise. |
| |
| 2014-06-08 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dfrontend: Update to D front-end version 2.065. |
| |
| * d-codegen.cc (d_build_call): Evaluate side effects of the object |
| parameter for method or delegate calls before passing. |
| (libcall_ids): Rename _d_array_bounds to _d_arraybounds. |
| (get_libcall): Update parameter types for _d_arraycopy. |
| (finish_aggregate_type): Update for frontend UDA changes. |
| * d-ctype.cc (TypeTypedef::toCtype): Update for frontend UDA changes. |
| (TypeEnum::toCtype): Likewise. |
| (TypeStruct::toCtype): Likewise. |
| (TypeClass::toCtype): Likewise. |
| * d-elem.cc (BoolExp::toElem): New function. |
| * d-lang.cc (rootmodule): New declaration for frontend entrypoint |
| changes. |
| (genCmain): Update for frontend entrypoint changes. |
| (d_handle_option): Don't duplicate memory for argument values. |
| (d_parse_file): Don't duplicate memory for source filenames. |
| * d-objfile.cc (VarDeclaration::toObjFile): Don't emit instantiated |
| manifest constants to debug. |
| (TemplateInstance::toObjFile): Update for frontend changes. |
| (output_template_p): Remove function. |
| (output_declaration_p): Update for frontend changes. |
| (setup_symbol_storage): Update for frontend UDA changes. |
| * d-target.cc (Target::reverseCppOverloads): New declaration. |
| * d-typinf.cc (Type::getInternalTypeInfo): Update for frontend changes. |
| (Type::getTypeInfo, Type::getTypeInfoDeclaration): Likewise. |
| (TypeTypedef::getTypeInfoDeclaration): Likewise. |
| (TypePointer::getTypeInfoDeclaration): Likewise. |
| (TypeDArray::getTypeInfoDeclaration): Likewise. |
| (TypeSArray::getTypeInfoDeclaration): Likewise. |
| (TypeAArray::getTypeInfoDeclaration): Likewise. |
| (TypeStruct::getTypeInfoDeclaration): Likewise. |
| (TypeClass::getTypeInfoDeclaration): Likewise. |
| (TypeVector::getTypeInfoDeclaration): Likewise. |
| (TypeEnum::getTypeInfoDeclaration): Likewise. |
| (TypeFunction::getTypeInfoDeclaration): Likewise. |
| (TypeDelegate::getTypeInfoDeclaration): Likewise. |
| (TypeTuple::getTypeInfoDeclaration): Likewise. |
| (createTypeInfoArray): Likewise. |
| |
| * d-intrinsics.def: New file for declaring D intrinsics. |
| |
| * d-builtins.cc (std_intrinsic_module, std_math_module) |
| (core_math_module, va_arg_template, va_arg2_template) |
| (va_start_template): Remove declarations. |
| (is_intrinsic_module_p, is_math_module_p, is_builtin_va_arg_p) |
| (is_builtin_va_start_p, d_gcc_magic_stdarg_check) |
| (d_gcc_magic_stdarg_module): Remove functions. |
| (d_gcc_magic_builtins_module): Rename to d_build_builtins_module. |
| (d_gcc_magic_libbuiltins_module): Rename to maybe_set_builtin. |
| (d_gcc_magic_libbuiltins_check): Rename to maybe_set_builtin_1. |
| (gcc_type_to_d_type): Rename to build_dtype. |
| (gcc_cst_to_d_expr): Rename to build_expression. |
| (d_gcc_eval_builtin): Remove function. |
| (eval_builtin): Moved to... |
| * d-glue.cc (eval_builtin): New function, updated for glue changes. |
| (FuncDeclaration::isBuiltin): New function to determine whether a |
| given function symbol is a compiler intrinsic. |
| * d-codegen.cc (maybe_expand_builtin): Rename to expand_intrinsic. |
| (Intrinsic): Remove enum declaration, replaced with... |
| (intrinsic_code): New enum for compiler intrinsics. |
| (intrinsic_decls): New declaration for store intrinsic information. |
| (expand_intrinsic_bt): Update signature. |
| (maybe_set_intrinsic): New function to replace... |
| (maybe_set_builtin_frontend): Remove function. |
| * d-decls.cc (FuncDeclaration::toSymbol): Update for glue changes. |
| |
| * d-builtins.c: Rename to d-builtins.cc |
| * d-gt.c: Rename to d-gt.cc |
| * d-spec.c: Rename to d-spec.cc |
| |
| * d-toir.cc: Renamed to toir.cc |
| * toir.cc: New file, re-implement toIR methods as a visitor. |
| |
| * d-codegen.cc (insert_type_modifiers): Handle MODwildconst modifiers. |
| (build_ir): New function. |
| * d-objfile.cc (FuncDeclaration::toObjFile): Use build_ir to walk |
| front-end IR trees. |
| * d-decls.cc (VarDeclaration::toSymbol): Mark compiler temporaries as |
| DECL_ARTIFICIAL. |
| (ClassDeclaration::toVtblSymbol): Update for front-end changes. |
| * d-builtins.c (gcc_type_to_d_type): Likewise. |
| * d-elem.cc (CatAssignExp::toElem): Likewise. |
| (ArrayLiteralExp::toElem): Likewise. |
| (BoolExp::toElem): Remove function. |
| (ComExp::toElem): Assert that unhandled array operations no longer |
| leak from the front-end. |
| (NegExp::toElem): Likewise. |
| * d-glue.cc (Global::init): Initialise new member run_noext. |
| * d-incpath (add_import_path): Update for front-end changes. |
| * d-lang.cc (d_add_builtin_version): Likewise. |
| * d-todt.cc (StructDeclaration::toDt): Likewise. |
| * d-toir.cc (LabelStatement::toIR): Don't delete forward references. |
| (GotoStatement::toIR): Assert that undefined labels no longer leak |
| from the front-end. |
| |
| 2014-05-31 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-todt.cc (dt_container): Properly handle zero length static arrays. |
| * d-codegen.h (build_dtype): Rename to lang_dtype. |
| (build_ddecl): Rename to lang_ddecl. |
| |
| 2014-05-21 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-builtins.c (d_init_builtins): Use void_node instead of |
| d_void_zero_node. |
| * d-lang.h (d_void_zero_node): Remove. |
| * d-elem.cc (AndAndExp::toElem): Adjust. |
| (OrOrExp::toElem): Likewise. |
| (AssertExp::toElem): Likewise. |
| (TupleExp::toElem): Likewise. |
| |
| * d-builtins.c (d_init_builtins): Use null_pointer_node instead of |
| d_null_pointer. |
| * d-lang.h (d_null_pointer): Remove. |
| * d-codegen.cc (convert_expr): Adjust. |
| (get_frame_for_symbol): Likewise. |
| (build_vthis): Likewise. |
| (get_framedecl): Likewise. |
| * d-elem.cc (DeleteExp::toElem): Likewise. |
| (CallExp::toElem): Likewise. |
| (AssertExp::toElem): Likewise. |
| (NewExp::toElem): Likewise. |
| (ArrayLiteralExp::toElem): Likewise. |
| (NullExp::toElem): Likewise. |
| * d-objfile.cc (ClassDeclaration::toObjFile): Likewise. |
| (InterfaceDeclaration::toObjFile): Likewise. |
| (FuncDeclaration::toObjFile): Likewise. |
| (build_moduleinfo): Likewise. |
| * d-todt.cc (TypeInfoTypedefDeclaration::toDt): Likewise. |
| (TypeInfoEnumDeclaration::toDt): Likewise. |
| (TypeInfoStructDeclaration::toDt): Likewise. |
| |
| 2014-05-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-longdouble.cc (longdouble::from_shwi): Rename to from_int. |
| (longdouble::from_uhwi): Rename to from_uint. |
| (longdouble::to_shwi): Rename to to_int. |
| (longdouble::to_uhwi): Rename to to_uint. |
| (longdouble::set): Adjust. |
| (longdouble::operator): Likewise. |
| |
| * d-lang.cc (alloc_binding_level): Adjust. |
| (build_d_type_lang_specific): Likewise. |
| (build_d_decl_lang_specific): Likewise. |
| * d-lang.h (lang_type): Don't use variable_size gty attribute. |
| * d-codegen.cc (cst_to_hwi): Remove function. |
| * d-codegen.cc (tree_to_hwi): Remove function. |
| * d-builtins.c (gcc_type_to_d_type): Adjust. |
| (gcc_cst_to_d_expr): Likewise. |
| * d-convert.cc (d_truthvalue_conversion): Use integer_zerop. |
| (get_nonnull_operand): Use tree_fits_uhwi_p. |
| * d-longdouble.cc (longdouble::from_int): Adjust. |
| (longdouble::from_uint): Likewise. |
| (longdouble::to_int): Likewise. |
| |
| 2014-04-30 Johannes Pfau <johannespfau@gmail.com> |
| |
| * d-lang.cc (d_init): Define GNU_SEH_Exceptions and |
| GNU_DWARF2_Exceptions versions. |
| |
| 2014-04-21 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-lang.cc (d_init_options): Default deprecation warnings to off. |
| * d-ctype.cc (TypeDelegate::toCtype): Propogate TREE_ADDRESSABLE from |
| the base function to the delegatised copy. |
| |
| 2014-04-15 Johannes Pfau <johannespfau@gmail.com> |
| |
| * d-lang.cc (d_handle_noclone_attribute): New function to handle |
| noclone attribute. noclone is required by the naked attribute. |
| * d-elem.cc (SymbolExp::toElem): Convert symbols to the expression |
| type. |
| |
| 2014-04-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (get_frameinfo): Don't copy the node for frame record. |
| * d-irstate.cc (IRState::endCatches): Rebuild the STATEMENT_LIST of |
| catches in a TRY_CATCH_EXPR if it gets optimised away by |
| IRState::popStatement. |
| * d-codegen.cc (d_attribute_p): Provide access to target attributes. |
| |
| 2014-03-31 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (error_mark_p): Removed function, replace uses with |
| error_operand_p. |
| (error_mark): Removed function, replace uses with error_mark_node. |
| * d-ctype.cc (Type::toCtype): Return d_unknown_type_node for frontend |
| error types. |
| * d-objfile.cc (VarDeclaration::toObjFile): Don't build CONST_DECLs for |
| non-scalar manifests. |
| |
| 2014-03-23 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-decls.cc (Dsymbol::toImport): Prevent GC from collecting |
| IMPORTED_DECL nodes whilst front-end compilation in progress. |
| |
| 2014-03-19 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (AggLayout::visit): Rename to layout_aggregate_type. |
| (AggLayout::doFields, AggLayout::doInterfaces): Remove function and |
| move implementation into layout_aggregate_type. |
| (AggLayout::addField): Rename to insert_aggregate_field. |
| (AggLayout::finish): Rename to finish_aggregate_type. |
| * d-codegen.h (AggLayout): Update definition. |
| * d-ctype.cc (TypeStruct::toCtype): Update for glue changes. |
| (TypeFunction::toCtype): Fix ICE on generic function types. |
| (TypeClass::toCtype): Move generation of vptr and monitor fields into |
| layout_aggregate_type. Moved generation of TYPE_METHODS from ... |
| * d-objfile.cc (FuncDeclaration::toObjFile): ... here into |
| TypeClass::toCtype. Don't build up TYPE_METHODS on a per-function |
| basis, generate the entire vtable. |
| |
| 2014-03-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-decls.cc (Dsymbol::toSymbolX): Set the symbol prettyIdent. |
| (Dsymbol::toImport): Emit packages as their fully qualified names. |
| (ClassDeclaration::toSymbol): Distinguish between the classinfo |
| assembler and decl name. |
| (InterfaceDeclaration::toSymbol): Likewise for interface symbol. |
| (Module::toSymbol): Likewise for moduleinfo symbol. |
| (ClassDeclaration::toVtblSymbol): Likewise for class vtable symbol. |
| (AggregateDeclaration::toInitializer) |
| (TypedefDeclaration::toInitializer, EnumDeclaration::toInitializer): |
| Likewise for default initialisers. |
| * d-objfile.cc (Module::genobjfile): Don't set-up moduleinfo symbol |
| storage twice. |
| |
| 2014-03-17 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (d_decl_context): Fix null pointer dereference. |
| * d-objfile.cc (FuncDeclaration::toObjFile): Don't override the setting |
| of DECL_CONTEXT on the declaration here. |
| (d_finish_symbol): Likewise. |
| * d-objfile.cc (VarDeclaration::toObjFile): Move the generation of |
| manifest constants to ... |
| * d-decls.cc (VarDeclaration::toSymbol): ... here, and emit them as |
| CONST_DECLs. Set the DECL_CONTEXT for all variable symbols. |
| |
| * d-builtins.cc (d_gcc_magic_builtins_module): Don't store compiler |
| generated builtins in Symbol::isym, use Symbol::csym instead. |
| (d_gcc_magic_libbuiltins_check): Likewise. |
| * d-codegen.cc (d_decl_context): Return the imported symbol tree of |
| modules where the NAMESPACE_DECL is now stored. |
| (d_build_module): Remove function. Move implementation to ... |
| * d-decls.cc (Dsymbol::toImport): ... here. Build an IMPORTED_DECL for |
| all imported declarations. |
| (FuncDeclaration::toSymbol): Remove special handling of Symbol::isym. |
| (Module::toSymbol): Remove call to d_build_module. |
| * d-objfile.cc (Dsymbol::toObjFile): Handle emission of IMPORTED_DECL |
| symbols to debug. |
| |
| 2014-03-16 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (build_attributes): Ensure D-specific attributes have |
| their value interpreted through CTFE. |
| |
| 2014-02-21 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (d_build_module): Update signature to accept a Loc |
| location to the module declaration. |
| * d-decls.cc (Module::toSymbol): Update call to d_build_module. |
| Set TREE_PUBLIC/DECL_EXTERNAL to distingush which modules are being |
| compiled. |
| * d-objfile.cc (Dsymbol::toObjFile): Handle Import symbols, and emit |
| debug information for imported modules. |
| (ImportStatement::toIR): Likewise. |
| (set_input_location): New function to implement the equivalent of |
| set_decl_location, but instead sets input_location. |
| |
| 2014-02-19 Johannes Pfau <johannespfau@gmail.com> |
| |
| * d-objfile.cc (build_call_function): Call set_input_location |
| to set debug info correctly |
| |
| 2014-02-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-objfile.cc (VarDeclaration::toObjFile): Remove toplevel check. |
| DECL_CONTEXT is never set on manifest constants. |
| (d_finish_compilation): Remove fancy check on force outputting |
| symbols to object file. |
| (build_type_decl): Don't emit the qualified identifier in debug |
| information. The fully qualified name is now determined through the |
| NAMESPACE_DECL context chain. |
| * d-ctype.cc (TypeEnum::toCtype): Likewise for enum members. |
| (VarDeclaration::toSymbol): Likewise for static variables. |
| (FuncDeclaration::toSymbol): Likewise for functions. |
| |
| * d-decls.cc (FuncDeclaration::toSymbol): Don't emit the 'D main' |
| symbol to debug as plain 'main'. |
| * d-objfile.cc (VarDeclaration::toObjFile): Don't emit the qualified |
| identifier of manifest constants in debug information. |
| |
| 2014-02-17 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (d_build_module): New function. |
| * d-decls.cc (Module::toSymbol): Use d_build_module to build up the |
| qualified module namespace. |
| |
| * d-codegen.cc (expand_intrinsic_op, expand_intrinsic_op2): New |
| functions to build a call to a builtin code. |
| (expand_intrinsic_bsr, expand_intrinsic_bt): New functions to expand a |
| BUILTIN_FRONTEND call to core.bitop intrinsics. |
| (expand_intrinsic_vaarg, expand_intrinsic_vastart): New functions to |
| expand a BUILTIN_FRONTEND call to core.vararg intrinsics. |
| (maybe_expand_builtin): Update. |
| |
| 2014-02-16 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-decls.cc (Module::toSymbol): Build a NAMESPACE_DECL to populate the |
| DECL_CONTEXT of toplevel functions. |
| * d-codegen.cc (d_decl_context): Return the enclosing module |
| NAMESPACE_DECL as the decl context only when the symbol is extern(D) |
| and not D main. |
| |
| 2014-02-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-decls.cc (VarDeclaration::toSymbol): Don't call |
| setup_symbol_storage until after SET_DECL_ASSEMBLER_NAME has been set. |
| |
| * d-decls.cc (VarDeclaration::toSymbol): Give prettyIdent precedence |
| for the DECL_NAME over the simple identifier. |
| (FuncDeclaration::toSymbol): Likewise. |
| * d-objfile.cc (d_finish_symbol): Remove setting DECL_NAME as |
| prettyIdent, this has already been done in Declaration::toSymbol. |
| (d_finish_function): Likewise. |
| |
| * d-decls.cc (VarDeclaration::toSymbol): Call set_user_assembler_name |
| if pragma(mangle) was seen. |
| (FuncDeclaration::toSymbol): Likewise. |
| |
| 2014-02-12 Johannes Pfau <johannespfau@gmail.com> |
| |
| * d-decls.cc (FuncDeclaration::toSymbol): Do not set TREE_NOTHROW on |
| nothrow functions. |
| * d-decls.cc (TypeInfoDeclaration::toSymbol): Call relayout_decl after |
| changing the type. |
| |
| 2014-02-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| |
| * d-codegen.cc (d_build_call): Remove special handling of |
| flag_split_darrays switch. |
| (maybe_expand_builtin): Likewise. |
| * d-elem.cc (CatExp::toElem): Likewise. |
| * lang.opt (fsplit-dynamic-arrays): Remove. |
| |
| 2014-02-02 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-glue.cc (readFile, writeFile, ensurePathToNameExists): Define. |
| * d-incpath.cc (add_import_path): Update for frontend changes. |
| (add_fileimp_path): Likewise. |
| * d-lang.cc (deps_write): Likewise. |
| (d_parse_file): Likewise. |
| * d-todt.cc (Dts): Update define for frontend changes. |
| * d-decls.cc (ClassDeclaration::toVtblSymbol): Don't mark __vtbl |
| symbols as virtual. They are global static symbols. |
| |
| 2014-01-12 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-decls.cc (EnumDeclaration::toDebug): Build TYPE_DECL only for |
| enumeral types. |
| |
| 2014-01-06 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-ctype.cc (TypeClass::toCtype): Don't add __monitor field for |
| extern(C++) classes. |
| |
| * d-builtins.c (d_gcc_magic_module): Remove tdata. |
| * d-codegen.cc (build_interface_binfo): Likewise. |
| * d-ctype.cc (TypeEnum::toCtype): Likewise. |
| (TypeClass::toCtype): Likewise. |
| * d-lang.cc (deps_write): Likewise. |
| |
| 2014-01-05 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-ctype.cc (TypeEnum::toCtype): Don't push CONST_DECLs into current |
| function. |
| * d-decls.cc (FuncDeclaration::toThunkSymbol): Don't mark symbol as |
| TREE_PRIVATE, just TREE_PUBLIC as false. |
| (StructLiteralExp::toSymbol): Likewise. |
| (ClassReferenceExp::toSymbol): Likewise. |
| * d-objfile.cc (d_comdat_linkage): Likewise. |
| (d_finish_symbol): Likewise. |
| (build_moduleinfo): Likewise. |
| |
| * config-lang.in: Add d-lang.cc to gtfiles. |
| * d-irstate.h (IRState::varsInScope): Change from Array to vec<> type. |
| (IRState::statementList_): Likewise. |
| (IRState::scopes_): Likewise. |
| (IRState::loops_): Likewise. |
| (IRState::labels_): Likewise. |
| * d-lang.h (d_bi_builtin_func): Remove declaration. |
| (d_bi_builtin_type): Likewise. |
| (d_keep_list): Likewise. |
| * d-objfile.h (Symbol::thunks): Change from Array to vec<> type. |
| (ModuleInfo::classes): Likewise. |
| (ModuleInfo::ctors): Likewise. |
| (ModuleInfo::dtors): Likewise. |
| (ModuleInfo::ctorgates): Likewise. |
| (ModuleInfo::sharedctors): Likewise. |
| (ModuleInfo::shareddtors): Likewise. |
| (ModuleInfo::sharedctorgates): Likewise. |
| (ModuleInfo::unitTests): Likewise. |
| (build_simple_function): Remove declaration. |
| (build_call_function): Likewise. |
| (build_ctor_function): Likewise. |
| (build_dtor_function): Likewise. |
| (build_unittest_function): Likewise. |
| * d-builtins.c (bi_fn_list): Rename to gcc_builtins_functions. |
| (bi_lib_list): Rename to gcc_builtins_libfuncs. |
| (bi_type_list): Rename to gcc_builtins_types. |
| (builtin_converted_types): Remove. |
| (builtin_converted_decls): Change from Array to vec<> type. |
| (gcc_type_to_d_type): Update. |
| (d_bi_builtin_func): Remove and move to d_builtin_function. |
| (d_bi_builtin_type): Remove and move to d_register_builtin_type. |
| (d_gcc_magic_builtins_module): Update. |
| * d-ctype.cc (TypeClass::toCtype): Remove unused var. |
| * d-decls.cc (FuncDeclaration::toThunkSymbol): Update for change to |
| vec<> type. |
| * d-elem.cc (CatExp::toElem): Change stashed vars from Array to vec<>. |
| (Expression::toElemDtor): Update for change to vec<> type. |
| * d-irstate.cc (IRState::startFunction): Likewise. |
| (IRState::endFunction): Likewise. |
| (IRState::addExp): Likewise. |
| (IRState::pushStatementList): Likewise. |
| (IRState::popStatementList): Likewise. |
| (IRState::getLabelBlock): Likewise. |
| (IRState::getLoopForLabel): Likewise. |
| (IRState::beginFlow): Likewise. |
| (IRState::endFlow): Likewise. |
| (IRState::startScope): Likewise. |
| (IRState::pushLabel): Likewise. |
| (IRState::checkGoto): Likewise. |
| (IRState::checkPreviousGoto): Change from Array to Blocks type. |
| * d-lang.cc (global_declarations): Change from Array to vec<> type. |
| (d_add_global_declaration): Update for change to vec<> type. |
| (d_write_global_declarations): Likewise. |
| (d_keep_list): Make static to source file. |
| * d-objfile.cc (static_ctor_list): Change from Array to vec<> type. |
| (static_dtor_list): Likewise. |
| (Module::genobjfile): Update for change to vec<> type. |
| (d_finish_module): Likewise. |
| (d_finish_function): Likewise. |
| (deferred_thunks): Change from ArrayBase<> to vec<> type. |
| (write_deferred_thunks): Update for change to vec<> type. |
| (use_thunk): Likewise. |
| (build_simple_function): Make static to source file. |
| (build_call_function): Likewise. |
| (build_ctor_function): Likewise. |
| (build_dtor_function): Likewise. |
| (build_unittest_function): Likewise. |
| |
| 2014-01-02 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-objfile.cc (setup_symbol_storage): Use output_module_p on template |
| instantiating module to determine if symbol is externally compiled. |
| (d_finish_function): Set function local if function body was compiled. |
| * d-decls.cc (Dsymbol::toSymbolX): Use unsigned integer format for the |
| prefix string length. |
| |
| |
| Copyright (C) 2014 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |