From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8658 invoked by alias); 3 Nov 2003 22:39:41 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 8650 invoked from network); 3 Nov 2003 22:39:40 -0000 Received: from unknown (HELO frothingslosh.sfbay.redhat.com) (66.187.237.200) by sources.redhat.com with SMTP; 3 Nov 2003 22:39:40 -0000 Received: from frothingslosh.sfbay.redhat.com (localhost.localdomain [127.0.0.1]) by frothingslosh.sfbay.redhat.com (8.12.8/8.12.8) with ESMTP id hA3MdbOG019536; Mon, 3 Nov 2003 14:39:37 -0800 Received: (from rth@localhost) by frothingslosh.sfbay.redhat.com (8.12.8/8.12.8/Submit) id hA3Mdbs3019534; Mon, 3 Nov 2003 14:39:37 -0800 X-Authentication-Warning: frothingslosh.sfbay.redhat.com: rth set sender to rth@redhat.com using -f Date: Mon, 03 Nov 2003 22:39:00 -0000 From: Richard Henderson To: Richard Kenner Cc: apinski@apple.com, gcc@gcc.gnu.org Subject: Re: Need GC help Message-ID: <20031103223937.GB19377@redhat.com> Mail-Followup-To: Richard Henderson , Richard Kenner , apinski@apple.com, gcc@gcc.gnu.org References: <10311032140.AA24055@vlsi1.ultra.nyu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <10311032140.AA24055@vlsi1.ultra.nyu.edu> User-Agent: Mutt/1.4i X-SW-Source: 2003-11/txt/msg00097.txt.bz2 On Mon, Nov 03, 2003 at 04:40:41PM -0500, Richard Kenner wrote: > > Look at ada/ada-tree.h at the TYPE_DIGITS_VALUE macro. > > How do I tell GC that that isn't a pointer? > > You do not, use a struct for the long, just like all other front-ends. > > Sorry, I don't follow you. Can you point me to an example? struct lang_type GTY(()) { union { union lang_tree_node GTY((desc ("TREE_CODE (&%h.generic) == GNAT_LOOP_ID"), tag ("0"))) t; long GTY((tag ("1"))) digits_value; } GTY ((desc (""))) u; }; #define TYPE_CI_CO_LIST(NODE) \ (&TYPE_LANG_SPECIFIC (FUNCTION_TYPE_CHECK (NODE))->u.t.generic) ... #define TYPE_DIGITS_VALUE(NODE) \ (TYPE_LANG_SPECIFIC (INTEGER_TYPE_CHECK (NODE))->u.digits_value) r~