Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <42A5BC55.2020600@familiehaase.de> Date: Tue, 07 Jun 2005 17:25:09 +0200 From: "Gerrit P. Haase" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.8) Gecko/20050511 MIME-Version: 1.0 Newsgroups: D.gnu To: cygwin CC: David Friedman Subject: Re: Assembler problem while trying to integrate D iompiler in GCC suite References: <42A57DF4 DOT 3030705 AT familiehaase DOT de> In-Reply-To: <42A57DF4.3030705@familiehaase.de> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Gerrit P. Haase wrote: > Hi all, > > I'm trying to integrate the D frontend for GCC in the GCC 3.4.4 release, > I'm in contact with the maintainer David Friedman, he successfully > compiled the current (0.12.1) sources with MinGW and I expect that he > also has tested it with other supported platforms, however I get this > error now and I have not really an idea what the reason may be. [...] > What is new in the source regarding this problem is this patch which > gives me the error cited below: [...] This part is 1:1 from C++/methods.c, besides the commented lines, these are ncluded in the C++ compiler, so it seems that one or more of these comments here are too much because the C++ compiler is working: > diff -cr d-0.12/d-codegen.cc d-0.12.1/d-codegen.cc > *** d-0.12/d-codegen.cc Sat May 28 18:00:56 2005 > --- d-0.12.1/d-codegen.cc Sun Jun 5 19:27:36 2005 > *************** > *** 1743,1748 **** > --- 1743,1805 ---- > return call_exp; > } > > + > + #if D_GCC_VER >= 34 > + #ifdef ASM_OUTPUT_DEF > + static int thunk_labelno; > + > + /* Create a static alias to function. */ > + > + static tree > + make_alias_for_thunk (tree function) > + { > + tree alias; > + char buf[256]; > + > + #if defined (TARGET_IS_PE_COFF) > + if (DECL_ONE_ONLY (function)) > + return function; > + #endif > + > + ASM_GENERATE_INTERNAL_LABEL (buf, "LTHUNK", thunk_labelno); > + thunk_labelno++; > + alias = build_decl (FUNCTION_DECL, get_identifier (buf), > + TREE_TYPE (function)); > + //DECL_LANG_SPECIFIC (alias) = DECL_LANG_SPECIFIC (function); > + //cxx_dup_lang_specific_decl (alias); > + DECL_CONTEXT (alias) = NULL; > + TREE_READONLY (alias) = TREE_READONLY (function); > + TREE_THIS_VOLATILE (alias) = TREE_THIS_VOLATILE (function); > + TREE_PUBLIC (alias) = 0; > + //DECL_INTERFACE_KNOWN (alias) = 1; > + //DECL_NOT_REALLY_EXTERN (alias) = 1; > + //DECL_THIS_STATIC (alias) = 1; > + //DECL_SAVED_FUNCTION_DATA (alias) = NULL; > + //DECL_DESTRUCTOR_P (alias) = 0; > + //DECL_CONSTRUCTOR_P (alias) = 0; > + //DECL_CLONED_FUNCTION (alias) = NULL_TREE; > + DECL_EXTERNAL (alias) = 0; > + DECL_ARTIFICIAL (alias) = 1; > + DECL_NO_STATIC_CHAIN (alias) = 1; > + //DECL_PENDING_INLINE_P (alias) = 0; > + DECL_INLINE (alias) = 0; > + DECL_DECLARED_INLINE_P (alias) = 0; > + //DECL_DEFERRED_FN (alias) = 0; > + //DECL_USE_TEMPLATE (alias) = 0; > + //DECL_TEMPLATE_INSTANTIATED (alias) = 0; > + //DECL_TEMPLATE_INFO (alias) = NULL; > + //DECL_INITIAL (alias) = error_mark_node; > + TREE_ADDRESSABLE (alias) = 1; > + TREE_USED (alias) = 1; > + SET_DECL_ASSEMBLER_NAME (alias, DECL_NAME (alias)); > + TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias)) = 1; > + if (!flag_syntax_only) > + assemble_alias (alias, DECL_ASSEMBLER_NAME (function)); > + return alias; > + } > + #endif > + #endif > + > // Can't output thunks while a function is being compiled. Called from > // d-decls.cc (no cur_irs) > static Array deferredThunks; Gerrit -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/