Skip to content
This repository was archived by the owner on Jun 20, 2019. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
132 changes: 132 additions & 0 deletions gcc/d/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,135 @@
2015-01-18 Iain Buclaw <ibuclaw@gdcproject.org>

* Make-lang.in: Update for D frontend changes.
* d-asmstmt.cc: Remove file.
* d-builtins.cc(build_dtype): No longer set struct handle.
(d_gcc_paint_type): Move to Target::paintAsType.
* d-codegen.cc(convert_expr): No longer call getImpl on associative
array conversions. Add case for converting void pointers to delegates.
(unhandled_arrayop_p): Remove.
(build_two_field_type): Use layout_type instead of building
TYPE_STUB_DECL and calling rest_of_decl_compilation.
(build_binop_assignment): New function.
(libcall_ids): Remove static variable.
(get_libcall): New function.
(maybe_set_intrinsic): Remove druntime library call handling.
(expand_intrinsic_vaarg): Dereference ref va_list parameters.
(build_closure): New function.
(WrappedExp::WrappedExp): Move to frontend sources.
(WrappedExp::toCBuffer): Ditto.
* d-codegen.h(LibCallFlag): New enum.
(LibCall): Use runtime.def macro to define members.
* d-ctype.cc(Type::toCParamtype): Remove function.
(TypeTypedef::toCParamtype): Ditto.
(TypeClass::toSymbol): Ditto.
(TypeFunction::retStyle): Move to retStyle.
(TypeSArray::toCParamtype): Ditto.
(Type::toSymbol): Ditto.
(Type::totym): Ditto.
(TypeFunction::totym): Ditto.
* d-decls.cc(Dsymbol::toSymbolX): Update for frontend changes.
(Dsymbol::toImport): Ditto.
(VarDeclaration::toSymbol): Ditto.
(FuncDeclaration::toSymbol): Ditto.
(InterfaceDeclaration::toSymbol): Use TREE_READONLY instead of
(EnumDeclaration::toDebug): Only call rest_of_type_compilation on
ENUMERAL_TYPE types.
TREE_CONSTANT to declare that the symbol cannot be modified.
(ClassDeclaration::toVtblSymbol): Ditto.
(AggregateDeclaration::toInitializer): Ditto.
(EnumDeclaration::toInitializer): Ditto.
(TypedefDeclaration::toInitializer): Remove function.
(TypedefDeclaration::toDebug): Ditto.
(Dsymbol::cvMember): Remove stub function.
(EnumDeclaration::cvMember): Ditto.
(FuncDeclaration::cvMember): Ditto.
(VarDeclaration::cvMember): Ditto.
(TypedefDeclaration::cvMember): Ditto.
* d-elem.cc(XorExp::toElem): Remove call to unhandled_arrayop_p.
(OrExp::toElem): Ditto.
(AndExp::toElem): Ditto.
(UshrExp::toElem): Ditto.
(ShrExp::toElem): Ditto.
(ShlExp::toElem): Ditto.
(ModExp::toElem): Ditto.
(DivExp::toElem): Ditto.
(MulExp::toElem): Ditto.
(MinExp::toElem): Ditto.
(AddExp::toElem): Ditto.
(XorAssignExp::toElem): Ditto.
(OrAssignExp::toElem): Ditto.
(AndAssignExp::toElem): Ditto.
(UshrAssignExp::toElem): Ditto.
(ShrAssignExp::toElem): Ditto.
(ShlAssignExp::toElem): Ditto.
(ModAssignExp::toElem): Ditto.
(DivAssignExp::toElem): Ditto.
(MulAssignExp::toElem): Ditto.
(PowAssignExp::toElem): Ditto.
(MinAssignExp::toElem): Ditto.
(AddAssignExp::toElem): Ditto.
(BinExp::toElemBin): Move to build_binop_assignment.
(AssignExp::toElem): Update for frontend changes.
(DelegatePtrExp::toElem): New function.
(DelegateFuncptrExp::toElem): New function.
(DelegateExp::toElem): Update for frontend changes.
(FuncExp::toElem): Ditto.
(NewExp::toElem): Ditto.
(StringExp::toElem): Don't set TREE_READONLY on string literals.
(AssocArrayLiteralExp::toElem): Remove codegen rewrite for new
associative array implementation.
* d-glue.cc(Global::isSpeculativeGagging): Remove function.
(Dsymbol::ungagSpeculative): Ditto.
(Ungag::~Ungag): Ditto.
(Loc::toChars): Update for new column diagnostic support.
(Loc::Loc): Ditto.
(Loc::equals): Ditto.
(error): Ditto.
(binary): Remove function.
(asmSemantic): New function.
(retStyle): New function.
(FuncDeclaration::isBuiltin): Rename to isBuiltin.
* d-intrinsics.def: Rename to intrinsics.def.
* d-irstate.cc(IRState::addExp): Remove old warning to catch statements
with no side effects. Now handled in frontend.
* d-lang.cc(d_init_options): Update for frontend changes.
(d_initialize_diagnostics): Remove function.
(d_add_builtin_version): Update for frontend changes.
(d_init): Ditto.
(d_handle_option): Ditto.
(d_post_options): Ditto.
(d_parse_file): Ditto.
* d-objfile.cc(Nspace::toObjFile): New function.
(StructDeclaration::toObjFile): Update for frontend changes.
(TypedefDeclaration::toObjFile): Remove function.
(TemplateInstance::toObjFile): Update for frontend changes.
(TemplateMixin::toObjFile): Ditto.
(unnest_function): New function.
(output_declaration_p): Update for frontend changes.
(FuncDeclaration::toObjFile): Ditto.
(FuncDeclaration::buildClosure): Move to buildClosure.
(get_linemap): Update for frontend changes.
(build_simple_function): Ditto.
(build_call_function): Ditto.
* d-target.cc(Target::va_listType): New function.
(Target::paintAsType): Ditto.
* d-todt.cc(dt_container2): Do not set TREE_READONLY on initialisers.
(dt_container): Ditto.
(ClassReferenceExp::toDt2): Update for C++ class support.
(ClassReferenceExp::toInstanceDt): Ditto.
(TypeTypedef::toDt): Remove function.
(TypeInfoTypedefDeclaration::toDt): Ditto.
(TypeInfoAssociativeArrayDeclaration::toDt): Update typeinfo size.
(TypeInfoAssociativeArrayDeclaration::toDt): Remove reference to impl
field in TypeInfo struct.
(TypeInfoStructDeclaration::toDt): Update for frontend changes.
* d-typinf.cc(Type::getTypeInfo): Update for frontend changes.
(TypeTypedef::getTypeInfoDeclaration): Remove function.
(createTypeInfoArray): Remove function.
* runtime.def: New file.
* toir.cc(IRVisitor::visit::DtorExpStatement): Remove function.
(IRVisitor::visit::ExtAsmStatement): Update for frontend changes.

2015-01-17 Iain Buclaw <ibuclaw@gdcproject.org>

* d-elem.cc(UshrAssignExp::toElem): Remove integer promotion on left
Expand Down
33 changes: 17 additions & 16 deletions gcc/d/Make-lang.in
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,16 @@ D_DMD_H := \
d/dfrontend/import.h d/dfrontend/init.h d/dfrontend/intrange.h \
d/dfrontend/json.h d/dfrontend/lexer.h d/dfrontend/macro.h \
d/dfrontend/mars.h d/dfrontend/module.h d/dfrontend/mtype.h \
d/dfrontend/object.h d/dfrontend/outbuffer.h d/dfrontend/parse.h \
d/dfrontend/port.h d/dfrontend/rmem.h d/dfrontend/root.h \
d/dfrontend/scope.h d/dfrontend/speller.h d/dfrontend/statement.h \
d/dfrontend/staticassert.h d/dfrontend/stringtable.h \
d/dfrontend/target.h d/dfrontend/template.h d/dfrontend/utf.h \
d/dfrontend/nspace.h d/dfrontend/object.h d/dfrontend/outbuffer.h \
d/dfrontend/parse.h d/dfrontend/port.h d/dfrontend/rmem.h \
d/dfrontend/root.h d/dfrontend/scope.h d/dfrontend/speller.h \
d/dfrontend/statement.h d/dfrontend/staticassert.h \
d/dfrontend/stringtable.h d/dfrontend/target.h \
d/dfrontend/template.h d/dfrontend/utf.h \
d/dfrontend/version.h d/dfrontend/visitor.h \
d/d-dmd-gcc.h d/longdouble.h d/id.h d/verstr.h

D_TREE_H = $(TREE_H) $(D_DMD_H) d/d-intrinsics.def d/d-tree.def \
D_TREE_H = $(TREE_H) $(D_DMD_H) d/intrinsics.def d/runtime.def d/d-tree.def \
d/d-lang.h d/d-codegen.h d/d-objfile.h d/d-irstate.h \
d/d-dmd-gcc.h d/d-system.h d/longdouble.h coretypes.h function.h \
$(VARRAY_H) $(SYSTEM_H) $(CONFIG_H) $(TARGET_H) $(GGC_H) \
Expand Down Expand Up @@ -80,7 +81,7 @@ ALL_D_COMPILER_FLAGS = $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
$(INCLUDES) $(D_INCLUDES) $(D_EXTRA_DEFINES)

# D Frontend has slightly relaxed warnings compared to rest of GDC.
DMD_WARN_CFLAGS = -Wno-deprecated -Wstrict-aliasing
DMD_WARN_CFLAGS = -Wno-deprecated -Wstrict-aliasing -Wuninitialized
DMD_CXXFLAGS = $(filter-out $(WARN_CXXFLAGS), $(ALL_COMPILERFLAGS)) $(DMD_WARN_CFLAGS)

# %% Ditto
Expand All @@ -107,17 +108,18 @@ D_DMD_OBJS := \
d/canthrow.dmd.o d/cast.dmd.o d/class.dmd.o \
d/clone.dmd.o d/cond.dmd.o d/constfold.dmd.o d/cppmangle.dmd.o \
d/ctfeexpr.dmd.o d/declaration.dmd.o d/delegatize.dmd.o d/doc.dmd.o \
d/dsymbol.dmd.o d/dump.dmd.o d/entity.dmd.o d/enum.dmd.o \
d/dsymbol.dmd.o d/entity.dmd.o d/enum.dmd.o \
d/expression.dmd.o d/file.dmd.o d/filename.dmd.o d/func.dmd.o \
d/hdrgen.dmd.o d/identifier.dmd.o d/imphint.dmd.o d/import.dmd.o \
d/init.dmd.o d/inline.dmd.o d/interpret.dmd.o d/intrange.dmd.o \
d/json.dmd.o d/lexer.dmd.o d/macro.dmd.o d/mangle.dmd.o \
d/mtype.dmd.o d/module.dmd.o d/object.dmd.o d/opover.dmd.o \
d/optimize.dmd.o d/outbuffer.dmd.o d/parse.dmd.o d/rmem.dmd.o \
d/sapply.dmd.o d/scope.dmd.o d/sideeffect.dmd.o \
d/speller.dmd.o d/statement.dmd.o d/staticassert.dmd.o \
d/stringtable.dmd.o d/struct.dmd.o d/template.dmd.o d/traits.dmd.o \
d/unittests.dmd.o d/utf.dmd.o d/version.dmd.o
d/mtype.dmd.o d/module.dmd.o d/nogc.dmd.o d/nspace.dmd.o \
d/object.dmd.o d/opover.dmd.o d/optimize.dmd.o d/outbuffer.dmd.o \
d/parse.dmd.o d/rmem.dmd.o d/sapply.dmd.o d/scope.dmd.o \
d/sideeffect.dmd.o d/speller.dmd.o d/statement.dmd.o \
d/staticassert.dmd.o d/stringtable.dmd.o d/struct.dmd.o \
d/template.dmd.o d/traits.dmd.o d/unittests.dmd.o \
d/utf.dmd.o d/version.dmd.o

D_GENERATED_SRCS = d/id.c d/id.h d/impcnvtab.c
D_GENERATED_OBJS = d/id.gen.o d/impcnvtab.gen.o
Expand All @@ -126,7 +128,7 @@ D_GENERATED_OBJS = d/id.gen.o d/impcnvtab.gen.o
D_GLUE_OBJS = d/d-lang.glue.o d/d-decls.glue.o d/d-codegen.glue.o \
d/d-objfile.glue.o d/d-irstate.glue.o \
d/d-convert.glue.o d/d-todt.glue.o d/d-longdouble.glue.o \
d/d-gt.cglue.o d/d-builtins.glue.o d/d-asmstmt.glue.o \
d/d-gt.cglue.o d/d-builtins.glue.o \
d/d-incpath.glue.o d/d-ctype.glue.o d/d-elem.glue.o \
d/toir.glue.o d/d-typinf.glue.o d/d-port.glue.o \
d/d-target.glue.o d/d-glue.glue.o
Expand Down Expand Up @@ -187,7 +189,6 @@ d/d-todt.glue.o: d/d-todt.cc $(D_TREE_H)
d/d-typinf.glue.o: d/d-typinf.cc $(D_TREE_H)
d/d-longdouble.glue.o: d/d-longdouble.cc d/longdouble.h $(D_TREE_H)
d/d-port.glue.o: d/d-port.cc d/dfrontend/port.h $(D_TREE_H)
d/d-asmstmt.glue.o: d/d-asmstmt.cc $(D_TREE_H)
d/d-gt.cglue.o: d/d-gt.cc $(D_TREE_H)
d/d-builtins.glue.o: d/d-builtins.cc $(D_TREE_H)

Expand Down
2 changes: 1 addition & 1 deletion gcc/d/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"2.065"
"2.066.1"
Loading