From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27682 invoked by alias); 7 Jul 2011 10:11:12 -0000 Received: (qmail 27674 invoked by uid 22791); 7 Jul 2011 10:11:11 -0000 X-SWARE-Spam-Status: No, hits=-1.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from 6.mo2.mail-out.ovh.net (HELO mo2.mail-out.ovh.net) (87.98.165.38) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 07 Jul 2011 10:10:52 +0000 Received: from mail626.ha.ovh.net (b6.ovh.net [213.186.33.56]) by mo2.mail-out.ovh.net (Postfix) with SMTP id 43938DC55DD for ; Thu, 7 Jul 2011 12:11:34 +0200 (CEST) Received: from b0.ovh.net (HELO queueout) (213.186.33.50) by b0.ovh.net with SMTP; 7 Jul 2011 12:15:27 +0200 Received: from unknown (HELO ?172.25.1.160?) (piervit@pvittet.com@193.52.208.97) by ns0.ovh.net with SMTP; 7 Jul 2011 12:15:25 +0200 Message-ID: <4E158616.8030102@pvittet.com> Date: Thu, 07 Jul 2011 10:14:00 -0000 From: Pierre Vittet User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100515 Lightning/1.0b1 Icedove/3.0.4 MIME-Version: 1.0 To: gcc-patches@gcc.gnu.org X-Ovh-Mailout: 178.32.228.2 (mo2.mail-out.ovh.net) Subject: [PATCH, MELT] new function register_data_handler Content-Type: multipart/mixed; boundary="------------010507050900030804000807" X-Ovh-Tracer-Id: 9744945170810077342 X-Ovh-Remote: 193.52.208.97 () X-Ovh-Local: 213.186.33.20 (ns0.ovh.net) X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: Vade Retro 01.322.28 AV+AS Profile: OVH; Bailout: 300; X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-07/txt/msg00444.txt.bz2 This is a multi-part message in MIME format. --------------010507050900030804000807 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 741 Hi, this patch add a new function allowing to add a pragma handler more easily. In the past, we were directly modifying the :sysdata_meltpragmas field of initial_system_data. The pragma handler take a list of new pragma handler that we want to add. The reason is that the field :sysdata_meltpragmas is a tuple (fixed size, this is a mandatory because we uses index to recognize the handler later). Each time we call register_data_handler, we recreate the tuple, so we try to give a list of handler to call it not to often. This function should works with a GCC 4.6 but should be used with care, as we can only register a single pragma named "melt" (maybe we could use another function specially for 4.6 ?). Thanks! Pierre Vittet --------------010507050900030804000807 Content-Type: text/plain; name="defun_register_data_handler-175906.ChangeLog" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="defun_register_data_handler-175906.ChangeLog" Content-length: 163 MjAxMS0wNy0wNyAgUGllcnJlIFZpdHRldCAgPHBpZXJ2aXRAcHZpdHRldC5j b20+CgoJKiBtZWx0L3dhcm1lbHQtYmFzZS5tZWx0IChyZWdpc3Rlcl9wcmFn bWFfaGFuZGxlciApOiBuZXcgZnVuY3Rpb24uCg== --------------010507050900030804000807 Content-Type: text/plain; name="defun_register_data_handler-175906.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="defun_register_data_handler-175906.diff" Content-length: 2851 SW5kZXg6IGdjYy9tZWx0L3dhcm1lbHQtYmFzZS5tZWx0Cj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGdjYy9tZWx0L3dhcm1lbHQtYmFzZS5tZWx0CShy ZXZpc2lvbiAxNzU5MDYpCisrKyBnY2MvbWVsdC93YXJtZWx0LWJhc2UubWVs dAkod29ya2luZyBjb3B5KQpAQCAtMTEzNSw2ICsxMTM1LDQyIEBAIHJlZ2lz dGVyZWQgd2l0aCAkUkVHSVNURVJfUEFTU19FWEVDVVRJT05fSE9PSy59Iwog CQkgICAgICAgfSMpCiApKSkKIAorOztyZWdpc3RlciBhIG5ldyBwcmFnbWEg aGFuZGxlci4KKyhkZWZ1biByZWdpc3Rlcl9wcmFnbWFfaGFuZGxlciAobHN0 aGFuZGxlcikKKyAgOmRvYyAje3JlZ2lzdGVyIGEgbGlzdCBvZiBuZXcgcHJh Z21hIGhhbmRsZXJzLiAgQXMgOnN5c2RhdGFfbWVsdHByYWdtYXMgbXVzdAor ICBiZSBhIHR1cGxlICh3ZSB1c2UgYW4gaW5kZXggdG8gcmVjb2duaXplIGhh bmRsZXJzKSwgd2UgaGF2ZSB0byByZWNyZWF0ZSB0aGlzCisgIHR1cGxlIGVh Y2ggdGltZSB3ZSBjYWxsIHRoaXMgZnVuY3Rpb24uICBUaGF0IHdoeSAkTFNU SEFORExFUiBpcyBhIGxpc3Qgb2YKKyAgaGFuZGxlcnMgKGNsYXNzX2djY19w cmFnbWEpIGFuZCBub3QgYSBzaW5nbGUgb2JqZWN0LiAgfSMKKyAgKGFzc2Vy dF9tc2cgInJlZ2lzdGVyX3ByYWdtYV9oYW5kbGVyIHRha2VzIGEgbGlzdCBh cyBhcmd1bWVudC4iIAorICAgIChpc19saXN0IGxzdGhhbmRsZXIpKQorICAo bGV0ICgob2xkdHVwbGUgKGdldF9maWVsZCA6c3lzZGF0YV9tZWx0cHJhZ21h cyBpbml0aWFsX3N5c3RlbV9kYXRhKSkKKyAgICAgICAgKDpsb25nIG9sZHNp emUgMCkpCisgICAgKGlmIG5vdG51bGwgb2xkdHVwbGUpCisgICAgICAoc2V0 cSBvbGRzaXplIChtdWx0aXBsZV9sZW5ndGggb2xkdHVwbGUpKQorICAgIChs ZXQgKCg6bG9uZyBuZXdzaXplICgraSAobXVsdGlwbGVfbGVuZ3RoIG9sZHR1 cGxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdF9sZW5ndGgg bHN0aGFuZGxlcikpKQorICAgICAgICAgIChuZXd0dXBsZSAobWFrZV9tdWx0 aXBsZSBkaXNjcl9tdWx0aXBsZSBuZXdzaXplKSkKKyAgICAgICAgICAoOmxv bmcgaSAwKSkKKyAgICA7O2NvcHkgaW4gb2xkaGFuZGxlcnMgaW4gdGhlIG5l d3R1cGxlCisgICAgKGZvcmVhY2hfaW5fbXVsdGlwbGUKKyAgICAob2xkdHVw bGUpCisgICAgKGN1cmhhbmRlciA6bG9uZyBpdW51c2VkKQorICAgICAgKG11 bHRpcGxlX3B1dF9udGggbmV3dHVwbGUgaSBjdXJoYW5kZXIpCisgICAgICAo c2V0cSBpICgraSBpIDEpKQorICAgICkKKyAgICA7O2FkZCBuZXcgaGFuZGxl ciBmcm9tIGxzdGhhbmRsZXIKKyAgICAoZm9yZWFjaF9pbl9saXN0CisgICAg KGxzdGhhbmRsZXIpCisgICAgKGN1cnBhaXIgY3VyaGFuZGxlcikKKyAgICAg IChhc3NlcnRfbXNnICJyZWdpc3Rlcl9wcmFnbWFfaGFuZGxlciBtdXN0IGJl IGEgbGlzdCBvZiBjbGFzc19nY2NfcHJhZ21hLiIKKyAgICAgICAgKGlzX2Eg Y3VyaGFuZGxlciBjbGFzc19nY2NfcHJhZ21hKSkKKyAgICAgIChtdWx0aXBs ZV9wdXRfbnRoIG5ld3R1cGxlIGkgY3VyaGFuZGxlcikKKyAgICAgIChzZXRx IGkgKCtpIGkgMSkpCisgICAgKQorICAgIChwdXRfZmllbGRzIGluaXRpYWxf c3lzdGVtX2RhdGEgOnN5c2RhdGFfbWVsdHByYWdtYXMgbmV3dHVwbGUpCisg ICAgKSkKKykKKwogOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwogOzs7OyB0aGUgZGVz Y3JpcHRpb25zIG9mIHZhbHVlcyB3aGljaCBhcmUgbm90IGN0eXBlIHJlbGF0 ZWQuCiAoZGVmY2xhc3MgY2xhc3NfdmFsdWVfZGVzY3JpcHRvcgpAQCAtMjM2 MSw2ICsyMzk3LDcgQEAgcG9seWhlZHJvbiB2YWx1ZXMufSMKICBwcHN0cmJ1 Zl9taXhiaWdpbnQKICByZWFkX2ZpbGUKICByZWdpc3Rlcl9wYXNzX2V4ZWN1 dGlvbl9ob29rCisgcmVnaXN0ZXJfcHJhZ21hX2hhbmRsZXIKICByZXRyaWV2 ZV92YWx1ZV9kZXNjcmlwdG9yX2xpc3QKICBzb21lX2ludGVnZXJfZ3JlYXRl cl90aGFuCiAgc29tZV9pbnRlZ2VyX211bHRpcGxlCg== --------------010507050900030804000807--