From patchwork Tue Aug 2 10:31:10 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Romain Geissler X-Patchwork-Id: 107885 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 4FFA5B71C6 for ; Tue, 2 Aug 2011 20:31:28 +1000 (EST) Received: (qmail 28499 invoked by alias); 2 Aug 2011 10:31:27 -0000 Received: (qmail 28490 invoked by uid 22791); 2 Aug 2011 10:31:26 -0000 X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL, BAYES_50, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-ew0-f47.google.com (HELO mail-ew0-f47.google.com) (209.85.215.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 02 Aug 2011 10:31:11 +0000 Received: by ewy5 with SMTP id 5so3895110ewy.20 for ; Tue, 02 Aug 2011 03:31:10 -0700 (PDT) MIME-Version: 1.0 Received: by 10.14.99.70 with SMTP id w46mr1721840eef.73.1312281070270; Tue, 02 Aug 2011 03:31:10 -0700 (PDT) Received: by 10.14.127.6 with HTTP; Tue, 2 Aug 2011 03:31:10 -0700 (PDT) In-Reply-To: <20110802105259.d0daf16c041cca332ddca288@starynkevitch.net> References: <20110802103647.a4a0e286a81deb85ce6e77d3@starynkevitch.net> <20110802105259.d0daf16c041cca332ddca288@starynkevitch.net> Date: Tue, 2 Aug 2011 12:31:10 +0200 Message-ID: Subject: Re: [GCC-MELT-137] Re: [MELT] split_string_* functions now take a value From: Romain Geissler To: Basile Starynkevitch Cc: gcc-melt@googlegroups.com, gcc-patches@gcc.gnu.org, Pierre Vittet X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Here is the fix git patch. 2011/8/2 Basile Starynkevitch : > On Tue, 2 Aug 2011 10:46:38 +0200 > Romain Geissler wrote: > >> 2011/8/2 Basile Starynkevitch : >> > Please use capitals for macrovariables in >> > macrostrings >> >> Ok. >> >> Can i have more details about that: is it just a Melt convention or is >> it an implementation requirement (in other word, does melt awaits >> macrovariables to be upper case ?) > > > Just a coding (social) convention. Macrovariables are very important, and my editor > (emacs) and mode (lisp-mode) don't highlight them. > > Since macrovariables are really MELT symbols, their case don't matter (the MELT reader > force them to upper cases). But they are more human-readable in upper cases. > > Cheers. > > -- > Basile STARYNKEVITCH         http://starynkevitch.net/Basile/ > email: basilestarynkevitchnet mobile: +33 6 8501 2359 > 8, rue de la Faiencerie, 92340 Bourg La Reine, France > *** opinions {are only mine, sont seulement les miennes} *** > From 3e9b3fbbc25634a1f2e0b2b2e1a13c0e3927be31 Mon Sep 17 00:00:00 2001 From: Romain Geissler Date: Thu, 28 Jul 2011 12:43:59 +0200 Subject: [PATCH] split_string_* functions now require a value string instead of a :cstring. --- gcc/melt/warmelt-base.melt | 24 ++++++++++++------------ gcc/melt/warmelt-outobj.melt | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gcc/melt/warmelt-base.melt b/gcc/melt/warmelt-base.melt index 8a6ff9d..3b068db 100644 --- a/gcc/melt/warmelt-base.melt +++ b/gcc/melt/warmelt-base.melt @@ -570,25 +570,25 @@ an integer $I if $I is lower than $N.}# #{(meltgc_string_hex_md5sum_file_sequence ((melt_ptr_t) $PATHSEQ))}#) -(defprimitive split_string_space (dis :cstring cs) :value - :doc #{Split a cstring $CS into a list of space separated strings of +(defprimitive split_string_space (dis s) :value + :doc #{Split a string value $S into a list of space separated strings of discriminant $DIS.}# -#{meltgc_new_split_string($cs, ' ', (melt_ptr_t) $dis)}#) +#{meltgc_new_split_string (melt_string_str ($S), ' ', (melt_ptr_t) $DIS)}#) -(defprimitive split_string_comma (dis :cstring cs) :value - :doc #{Split a cstring $CS into a list of comma separated strings of +(defprimitive split_string_comma (dis s) :value + :doc #{Split a string value $S into a list of comma separated strings of discriminant $DIS.}# -#{meltgc_new_split_string($cs, ',', (melt_ptr_t) $dis)}#) +#{meltgc_new_split_string (melt_string_str ($S), ',', (melt_ptr_t) $DIS)}#) -(defprimitive split_string_colon (dis :cstring cs) :value - :doc #{Split a cstring $CS into a list of colon separated strings of +(defprimitive split_string_colon (dis s) :value + :doc #{Split a string value $S into a list of colon separated strings of discriminant $DIS.}# -#{meltgc_new_split_string($cs, ':', (melt_ptr_t)$dis)}#) +#{meltgc_new_split_string (melt_string_str ($S), ':', (melt_ptr_t) $DIS)}#) -(defprimitive split_string_equal (dis :cstring cs) :value - :doc #{Split a cstring $CS into a list of equal separated strings of +(defprimitive split_string_equal (dis s) :value + :doc #{Split a string value $S into a list of equal separated strings of discriminant $DIS.}# -#{meltgc_new_split_string($cs, '=', (melt_ptr_t)$dis)}#) +#{meltgc_new_split_string (melt_string_str ($S), '=', (melt_ptr_t) $DIS)}#) ;;; convert a strbuf into a string (defprimitive strbuf2string (dis sbuf) :value diff --git a/gcc/melt/warmelt-outobj.melt b/gcc/melt/warmelt-outobj.melt index dd1cdde..df4cf06 100644 --- a/gcc/melt/warmelt-outobj.melt +++ b/gcc/melt/warmelt-outobj.melt @@ -4671,7 +4671,7 @@ has basic debug support thru debug_msg, assert_msg..." (inarg (cond ( progarg (make_stringconst discr_string progarg)) ( progarglist - (split_string_comma discr_string progarglist) + (split_string_comma discr_string (make_stringconst discr_string progarglist)) ) (:else (errormsg_plain "invalid arg or arglist to translateinit mode") @@ -5800,7 +5800,7 @@ has basic debug support thru debug_msg, assert_msg..." (let ( (parmodenv (parent_module_environment)) (curenv (if moduldata moduldata initial_environment)) - (arglist (split_string_comma discr_string (melt_argument "arglist"))) + (arglist (split_string_comma discr_string (make_stringconst discr_string (melt_argument "arglist")))) (outarg (make_stringconst discr_string (melt_argument "output"))) (rlist (make_list discr_list)) (mdinfo -- 1.7.6