From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19456 invoked by alias); 7 Jan 2015 06:47:41 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 19439 invoked by uid 89); 7 Jan 2015 06:47:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail-ob0-f181.google.com Received: from mail-ob0-f181.google.com (HELO mail-ob0-f181.google.com) (209.85.214.181) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 07 Jan 2015 06:47:38 +0000 Received: by mail-ob0-f181.google.com with SMTP id gq1so1788581obb.12 for ; Tue, 06 Jan 2015 22:47:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=e4FW83QsjGgvReyhcz/qHzqBAsDAc+5rAALTMPqmwa0=; b=Yr5dGAbIcoAn7md97y2btvPM0IjCvbpZn0RchXgnYYikOcJ4Ci2W4+2Esp81nmDuL3 XZOFzzb0ba/itr2MZtDHpgsup1HZN7IoR5r4cdP39JgyOVJ8ELw2pCd3nqR877d/5+Kv 9VZXrm+BH8gG1fs6bSsePMOhS/Q02E9ShM0gqQ3TknmJzAC9H/xX6g/6C+3cJURqDDjv rVByMHRPYrhVNbbaciaQU18WD1VRzLzya3udEj/fF+dGvMcKDGXZ/m9HwkgYTyNrhVzd l3pmZi/yobaCZC/nv/PjTzh8ePTJ4f8B5NOAqSaaj5hHB6V+zCJOsEy3EwSLfyr/Qx3k WJWA== X-Gm-Message-State: ALoCoQm5Qp3tiYKwydn+C3JhN2zxiHrw+duMfxy+7vMbVhR34eZDqyYbzs4a95//+2ow06xw/pZj MIME-Version: 1.0 X-Received: by 10.60.63.5 with SMTP id c5mr902922oes.35.1420613256625; Tue, 06 Jan 2015 22:47:36 -0800 (PST) Received: by 10.202.197.133 with HTTP; Tue, 6 Jan 2015 22:47:36 -0800 (PST) In-Reply-To: References: Date: Wed, 07 Jan 2015 06:47:00 -0000 Message-ID: Subject: Re: [PATCH] Remove unwanted spaces when looking up builtin types From: Siva Chandra To: gdb-patches Content-Type: multipart/mixed; boundary=047d7b5d8a29867fad050c0a4caa X-IsSubscribed: yes X-SW-Source: 2015-01/txt/msg00093.txt.bz2 --047d7b5d8a29867fad050c0a4caa Content-Type: text/plain; charset=UTF-8 Content-length: 1253 On Wed, Oct 29, 2014 at 11:50 AM, Siva Chandra wrote: > Currently, if we do something like gdb.lookup_type(" unsigned long "), > GDB errors out because of the leading and trailing spaces. The > attached patch fixes this problem. > > A practical situation where this problem is hit is when invoking > template methods. Its not uncommon to do things like this: > > (gdb) p foo.bar< unsigned long >() > > If "bar" happens to be an xmethod, then its implementation will > typically need to parse the name of the method ("bar< unsigned long >" > in the above example) to get the template argument and lookup the > type. GDB currently fails for such cases. One could of course > sanitize/fix such inputs in Python before calling lookup_type, but I > think it is better done on the GDB side as having white spaces is > valid syntax. This is still relevant, but required a rebase over the recent changes to language.c. 2015-01-06 Siva Chandra Reddy gdb/ChangeLog: * language.c (language_lookup_primitive_type_1): Remove unwanted space in the type name before looking it up. (whitespace_p): New function. gdb/testsuite/ChangeLog: * gdb.python/py-type.exp: Add new tests. --047d7b5d8a29867fad050c0a4caa Content-Type: text/plain; charset=US-ASCII; name="unwanted_space_v2.txt" Content-Disposition: attachment; filename="unwanted_space_v2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i4mcg5oy1 Content-length: 3274 ZGlmZiAtLWdpdCBhL2dkYi9sYW5ndWFnZS5jIGIvZ2RiL2xhbmd1YWdlLmMK aW5kZXggMWU2Yjk4My4uMGMxMzIxOSAxMDA2NDQKLS0tIGEvZ2RiL2xhbmd1 YWdlLmMKKysrIGIvZ2RiL2xhbmd1YWdlLmMKQEAgLTk4Nyw2ICs5ODcsMTcg QEAgbGFuZ3VhZ2VfYm9vbF90eXBlIChjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2Vf ZGVmbiAqbGEsCiAgIHJldHVybiBsZC0+YXJjaF9pbmZvW2xhLT5sYV9sYW5n dWFnZV0uYm9vbF90eXBlX2RlZmF1bHQ7CiB9CiAKKy8qIFJldHVybiAxIGlm IEMgaXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3RlciwgMCBvdGhlcndpc2UuICAq LworCitzdGF0aWMgaW50Cit3aGl0ZXNwYWNlX3AgKGNvbnN0IGNoYXIgYykK K3sKKyAgaWYgKGMgPT0gJyAnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdcdCcp CisgICAgcmV0dXJuIDE7CisgIGVsc2UKKyAgICByZXR1cm4gMDsKK30KKwog LyogSGVscGVyIGZ1bmN0aW9uIGZvciBwcmltaXRpdmUgdHlwZSBsb29rdXAu ICAqLwogCiBzdGF0aWMgc3RydWN0IHR5cGUgKioKQEAgLTk5NCwxMyArMTAw NSwzOSBAQCBsYW5ndWFnZV9sb29rdXBfcHJpbWl0aXZlX3R5cGVfMSAoY29u c3Qgc3RydWN0IGxhbmd1YWdlX2FyY2hfaW5mbyAqbGFpLAogCQkJCSAgY29u c3QgY2hhciAqbmFtZSkKIHsKICAgc3RydWN0IHR5cGUgKipwOworICBpbnQg bGVuID0gc3RybGVuIChuYW1lKTsKKyAgaW50IGksIGo7CisgIGNoYXIgKmNs ZWFuX25hbWUgPSAoY2hhciAqKSB4bWFsbG9jIChzaXplb2YgKGNoYXIpICog bGVuICsgMSk7CisKKyAgLyogUmVtb3ZlIHVud2FudGVkIHdoaXRlc3BhY2Ug aW4gdGhlIHR5cGVuYW1lLiAgVGhpcyBjb3VsZCBoYXBwZW4sIGZvcgorICAg ICBleGFtcGxlLCBpZiBvbmUgZG9lcyBnZGIubG9va3VwX3R5cGUoJyB1bnNp Z25lZCBsb25nICcpIGluIFB5dGhvbi4gICovCisgIGZvciAoaSA9IDAsIGog PSAwOyBpIDwgbGVuOyBpKyspCisgICAgeworICAgICAgaWYgKHdoaXRlc3Bh Y2VfcCAobmFtZVtpXSkpCisJeworCSAgaWYgKGogPT0gMCB8fCBjbGVhbl9u YW1lW2ogLSAxXSA9PSAnICcpCisJICAgIGNvbnRpbnVlOworCX0KKworICAg ICAgaWYgKHdoaXRlc3BhY2VfcCAobmFtZVtpXSkpCisJY2xlYW5fbmFtZVtq XSA9ICcgJzsKKyAgICAgIGVsc2UKKwljbGVhbl9uYW1lW2pdID0gbmFtZVtp XTsKKworICAgICAgaisrOworICAgIH0KKyAgaWYgKGogPiAwICYmIGNsZWFu X25hbWVbaiAtIDFdID09ICcgJykKKyAgICBqLS07CisgIGNsZWFuX25hbWVb al0gPSAnXDAnOwogCiAgIGZvciAocCA9IGxhaS0+cHJpbWl0aXZlX3R5cGVf dmVjdG9yOyAoKnApICE9IE5VTEw7IHArKykKICAgICB7Ci0gICAgICBpZiAo c3RyY21wIChUWVBFX05BTUUgKCpwKSwgbmFtZSkgPT0gMCkKLQlyZXR1cm4g cDsKKyAgICAgIGlmIChzdHJjbXAgKFRZUEVfTkFNRSAoKnApLCBjbGVhbl9u YW1lKSA9PSAwKQorCWJyZWFrOwogICAgIH0KLSAgcmV0dXJuIE5VTEw7Cisg IHhmcmVlIChjbGVhbl9uYW1lKTsKKworICByZXR1cm4gcDsKIH0KIAogLyog U2VlIGxhbmd1YWdlLmguICAqLwpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uL3B5LXR5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXR5cGUuZXhwCmluZGV4IGM0YzhkOWYuLjBjNDVlYzkgMTAw NjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS10eXBlLmV4 cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZS5leHAK QEAgLTI3MCwzICsyNzAsMTUgQEAgd2l0aF90ZXN0X3ByZWZpeCAibGFuZ19j cHAiIHsKICAgICB0ZXN0X3RlbXBsYXRlCiAgICAgdGVzdF9lbnVtcwogfQor CisjIFRlc3RzIHRvIGxvb2t1cCBidWlsdGluIHR5cGVzCitnZGJfdGVzdCAi cHl0aG9uIHByaW50IGdkYi5sb29rdXBfdHlwZSAoJ3Vuc2lnbmVkIGludCcp IiAidW5zaWduZWQgaW50IiBcCisgICAgImxvb2t1cCB1bnNpZ25lZCBpbnQi CitnZGJfdGVzdCAicHl0aG9uIHByaW50IGdkYi5sb29rdXBfdHlwZSAoJyB1 bnNpZ25lZCBsb25nICcpIiAidW5zaWduZWQgbG9uZyIgXAorICAgICJsb29r dXAgdW5zaWduZWQgbG9uZyIKK2dkYl90ZXN0ICJweXRob24gcHJpbnQgZ2Ri Lmxvb2t1cF90eXBlICgnIHVuc2lnbmVkICBjaGFyICcpIiAidW5zaWduZWQg Y2hhciIgXAorICAgICJsb29rdXAgdW5zaWduZWQgY2hhciIKK2dkYl90ZXN0 ICJweXRob24gcHJpbnQgZ2RiLmxvb2t1cF90eXBlICgnIHVuc2lnbmVkXFxu IGNoYXIgJykiICJ1bnNpZ25lZCBjaGFyIiBcCisgICAgImxvb2t1cCB1bnNp Z25lZCBjaGFyIgorZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBnZGIubG9va3Vw X3R5cGUgKCcgdW5zaWduZWRcXHRsb25nICcpIiAidW5zaWduZWQgbG9uZyIg XAorICAgICJsb29rdXAgdW5zaWduZWQgbG9uZyIK --047d7b5d8a29867fad050c0a4caa--