delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/06/07/11:25:22

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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" <gerrit AT familiehaase DOT de>
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 <cygwin AT cygwin DOT com>
CC: David Friedman <d3rdclsmail AT earthlink DOT net>
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>
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019