From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17433 invoked by alias); 22 Dec 2010 13:42:18 -0000 Received: (qmail 17424 invoked by uid 22791); 22 Dec 2010 13:42:16 -0000 X-SWARE-Spam-Status: No, hits=0.9 required=5.0 tests=AWL,BAYES_80,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,TW_CX X-Spam-Check-By: sourceware.org Received: from mail-qy0-f175.google.com (HELO mail-qy0-f175.google.com) (209.85.216.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 22 Dec 2010 13:42:11 +0000 Received: by qyk8 with SMTP id 8so6159546qyk.20 for ; Wed, 22 Dec 2010 05:42:09 -0800 (PST) MIME-Version: 1.0 Received: by 10.229.91.13 with SMTP id k13mr6131198qcm.95.1293025329270; Wed, 22 Dec 2010 05:42:09 -0800 (PST) Received: by 10.229.137.136 with HTTP; Wed, 22 Dec 2010 05:42:09 -0800 (PST) In-Reply-To: <4D1204AB.40603@gmail.com> References: <4D1204AB.40603@gmail.com> Date: Wed, 22 Dec 2010 15:11:00 -0000 Message-ID: Subject: Re: [patch c,c++,i386]:PR/15774 - Conflicting function decls not diagnosed From: Kai Tietz To: Dave Korn Cc: GCC Patches , "Joseph S. Myers" , Jason Merrill , Richard Henderson Content-Type: multipart/mixed; boundary=0016361e81346fd1830497ffeb2e 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: 2010-12/txt/msg01693.txt.bz2 --0016361e81346fd1830497ffeb2e Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1831 2010/12/22 Dave Korn : > On 22/12/2010 13:25, Kai Tietz wrote: > >> =A0 =A0 =A0 PR c++/15774 >> =A0 =A0 =A0 * c-family/c-pretty-print.c: Add target.h include. >> =A0 =A0 =A0 (pp_c_specifier_qualifier_list): Call >> =A0 =A0 =A0 pp_c_attributes_calling_convention for (*). >> =A0 =A0 =A0 (pp_c_attributes_calling_convention): New. >> =A0 =A0 =A0 * c-family/c-pretty-print.h (pp_c_attributes_calling_convent= ion): >> =A0 =A0 =A0 New prototype. >> =A0 =A0 =A0 * cp/error.c (dump_type_prefix): Call >> =A0 =A0 =A0 pp_c_attributes_calling_convention for (*). >> =A0 =A0 =A0 * config/i386/i386.c (ix86_attribute_affects_calling_convent= ion): >> =A0 =A0 =A0 New hook. >> =A0 =A0 =A0 (TARGET_ATTRIBUTE_AFFECTS_CALLING_CONVENTION): Define. >> =A0 =A0 =A0 * doc/tm.texi.in (TARGET_ATTRIBUTE_AFFECTS_CALLING_CONVENTIO= N): Add. >> =A0 =A0 =A0 * doc/tm.texi: Regenerated. > > =A0You've omitted the diffs for target.def et. al. > > =A0 =A0cheers, > =A0 =A0 =A0DaveK > > Yes, thanks. I missed to attached it to patch, well busy times. Additional I corrected the place of documentation in tm.texi ChangeLog 2010-12-22 Kai Tietz PR c++/15774 * c-family/c-pretty-print.c: Add target.h include. (pp_c_specifier_qualifier_list): Call pp_c_attributes_calling_convention for (*). (pp_c_attributes_calling_convention): New. * c-family/c-pretty-print.h (pp_c_attributes_calling_convention): New prototype. * cp/error.c (dump_type_prefix): Call pp_c_attributes_calling_convention for (*). * config/i386/i386.c (ix86_attribute_affects_calling_convention): New hook. (TARGET_ATTRIBUTE_AFFECTS_CALLING_CONVENTION): Define. * target.def (attribute_affects_calling_convention): New hook definition. * doc/tm.texi.in (TARGET_ATTRIBUTE_AFFECTS_CALLING_CONVENTION): Add. * doc/tm.texi: Regenerated. Regards, Kai --0016361e81346fd1830497ffeb2e Content-Type: text/plain; charset=US-ASCII; name="dispcallcvt.txt" Content-Disposition: attachment; filename="dispcallcvt.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gi09uvj00 Content-length: 9427 SW5kZXg6IGdjYy9nY2MvYy1mYW1pbHkvYy1wcmV0dHktcHJpbnQuYwo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBnY2Mub3JpZy9nY2MvYy1mYW1pbHkv Yy1wcmV0dHktcHJpbnQuYwkyMDEwLTEyLTIyIDEzOjQzOjUzLjY1MTQzOTAw MCArMDEwMAorKysgZ2NjL2djYy9jLWZhbWlseS9jLXByZXR0eS1wcmludC5j CTIwMTAtMTItMjIgMTQ6MDQ6MzIuODA3Njg5MDAwICswMTAwCkBAIC0yOSw2 ICsyOSw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlO RzMuICAKICNpbmNsdWRlICJ0cmVlLXByZXR0eS1wcmludC5oIgogI2luY2x1 ZGUgInRyZWUtaXRlcmF0b3IuaCIKICNpbmNsdWRlICJkaWFnbm9zdGljLmgi CisjaW5jbHVkZSAidGFyZ2V0LmgiCiAKIC8qIFRyYW5zbGF0ZSBpZiBiZWlu ZyB1c2VkIGZvciBkaWFnbm9zdGljcywgYnV0IG5vdCBmb3IgZHVtcCBmaWxl cyBvcgogICAgX19QUkVUVFlfRlVOQ1RJT04uICAqLwpAQCAtNDYwLDYgKzQ2 MSw3IEBAIHBwX2Nfc3BlY2lmaWVyX3F1YWxpZmllcl9saXN0IChjX3ByZXR0 eV8KIAkgIHsKIAkgICAgcHBfY193aGl0ZXNwYWNlIChwcCk7CiAJICAgIHBw X2NfbGVmdF9wYXJlbiAocHApOworCSAgICBwcF9jX2F0dHJpYnV0ZXNfY2Fs bGluZ19jb252ZW50aW9uIChwcCwgVFlQRV9BVFRSSUJVVEVTIChwb2ludGVl KSk7CiAJICB9CiAJZWxzZSBpZiAoIWNfZGlhbGVjdF9jeHggKCkpCiAJICBw cF9jX3doaXRlc3BhY2UgKHBwKTsKQEAgLTc5MCw2ICs3OTIsNDUgQEAgcHBf Y19hdHRyaWJ1dGVzIChjX3ByZXR0eV9wcmludGVyICpwcCwgdAogICBwcF9j X3JpZ2h0X3BhcmVuIChwcCk7CiB9CiAKKy8qIFByZXR0eS1wcmludCBBVFRS SUJVVEVTIHVzaW5nIEdOVSBDIGV4dGVuc2lvbiBzeW50YXggZm9yIGNhbGxp bmcKKyAgIGNvbnZlbnRpb24gYWZmZWN0aW5nIGF0dHJpYnV0ZXMuICAqLwor Cit2b2lkCitwcF9jX2F0dHJpYnV0ZXNfY2FsbGluZ19jb252ZW50aW9uIChj X3ByZXR0eV9wcmludGVyICpwcCwgdHJlZSBhKQoreworICBpbnQgaXNfZmly c3QgPSAxOworCisgIGlmIChhID09IE5VTExfVFJFRSkKKyAgICByZXR1cm47 CisKKyAgZm9yICg7IGEgIT0gTlVMTF9UUkVFOyBhID0gVFJFRV9DSEFJTiAo YSkpCisgICAgeworICAgICAgaWYgKCF0YXJnZXRtLmF0dHJpYnV0ZV9hZmZl Y3RzX2NhbGxpbmdfY29udmVudGlvbiAoVFJFRV9QVVJQT1NFIChhKSkpCisg ICAgICAgIGNvbnRpbnVlOworICAgICAgaWYgKGlzX2ZpcnN0KQorCXsKKwkg IHBwX2Nfd3Nfc3RyaW5nIChwcCwgIl9fYXR0cmlidXRlX18iKTsKKwkgIHBw X2NfbGVmdF9wYXJlbiAocHApOworCSAgcHBfY19sZWZ0X3BhcmVuIChwcCk7 CisJICBpc19maXJzdCA9IDA7CisJfQorICAgICAgZWxzZQorCXsKKwkgIHBw X3NlcGFyYXRlX3dpdGggKHBwLCAnLCcpOworCX0KKyAgICAgIHBwX3RyZWVf aWRlbnRpZmllciAocHAsIFRSRUVfUFVSUE9TRSAoYSkpOworICAgICAgaWYg KFRSRUVfVkFMVUUgKGEpKQorCXBwX2NfY2FsbF9hcmd1bWVudF9saXN0IChw cCwgVFJFRV9WQUxVRSAoYSkpOworICAgIH0KKworICBpZiAoIWlzX2ZpcnN0 KQorICAgIHsKKyAgICAgIHBwX2NfcmlnaHRfcGFyZW4gKHBwKTsKKyAgICAg IHBwX2NfcmlnaHRfcGFyZW4gKHBwKTsKKyAgICAgIHBwX2Nfd2hpdGVzcGFj ZSAocHApOworICAgIH0KK30KKwogLyogZnVuY3Rpb24tZGVmaW5pdGlvbjoK ICAgICAgIGRlY2xhcmF0aW9uLXNwZWNpZmllcnMgZGVjbGFyYXRvciBjb21w b3VuZC1zdGF0ZW1lbnQgICovCiAKSW5kZXg6IGdjYy9nY2MvY3AvZXJyb3Iu Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2Mub3JpZy9nY2MvY3Av ZXJyb3IuYwkyMDEwLTEyLTIyIDEzOjQzOjUzLjY4MTQzOTAwMCArMDEwMAor KysgZ2NjL2djYy9jcC9lcnJvci5jCTIwMTAtMTItMjIgMTQ6MDU6MzguNTI2 NDM5MDAwICswMTAwCkBAIC02NjEsNiArNjYxLDggQEAgZHVtcF90eXBlX3By ZWZpeCAodHJlZSB0LCBpbnQgZmxhZ3MpCiAJICB7CiAJICAgIHBwX2N4eF93 aGl0ZXNwYWNlIChjeHhfcHApOwogCSAgICBwcF9jeHhfbGVmdF9wYXJlbiAo Y3h4X3BwKTsKKwkgICAgcHBfY19hdHRyaWJ1dGVzX2NhbGxpbmdfY29udmVu dGlvbiAocHBfY19iYXNlIChjeHhfcHApLAorCQkJCQkJVFlQRV9BVFRSSUJV VEVTIChzdWIpKTsKIAkgIH0KIAlpZiAoVFJFRV9DT0RFICh0KSA9PSBQT0lO VEVSX1RZUEUpCiAJICBwcF9jaGFyYWN0ZXIoY3h4X3BwLCAnKicpOwpJbmRl eDogZ2NjL2djYy9jLWZhbWlseS9jLXByZXR0eS1wcmludC5oCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGdjYy5vcmlnL2djYy9jLWZhbWlseS9jLXBy ZXR0eS1wcmludC5oCTIwMTAtMTItMjIgMTM6NDM6NTMuNjc2NDM5MDAwICsw MTAwCisrKyBnY2MvZ2NjL2MtZmFtaWx5L2MtcHJldHR5LXByaW50LmgJMjAx MC0xMi0yMiAxMzo0NTo0OS40Nzk1NjQwMDAgKzAxMDAKQEAgLTE3Niw2ICsx NzYsNyBAQCB2b2lkIHBwX2Nfc3BhY2VfZm9yX3BvaW50ZXJfb3BlcmF0b3Ig KGNfCiB2b2lkIHBwX2NfdHJlZV9kZWNsX2lkZW50aWZpZXIgKGNfcHJldHR5 X3ByaW50ZXIgKiwgdHJlZSk7CiB2b2lkIHBwX2NfZnVuY3Rpb25fZGVmaW5p dGlvbiAoY19wcmV0dHlfcHJpbnRlciAqLCB0cmVlKTsKIHZvaWQgcHBfY19h dHRyaWJ1dGVzIChjX3ByZXR0eV9wcmludGVyICosIHRyZWUpOwordm9pZCBw cF9jX2F0dHJpYnV0ZXNfY2FsbGluZ19jb252ZW50aW9uIChjX3ByZXR0eV9w cmludGVyICosIHRyZWUpOwogdm9pZCBwcF9jX2N2X3F1YWxpZmllcnMgKGNf cHJldHR5X3ByaW50ZXIgKnBwLCBpbnQgcXVhbGlmaWVycywgYm9vbCBmdW5j X3R5cGUpOwogdm9pZCBwcF9jX3R5cGVfcXVhbGlmaWVyX2xpc3QgKGNfcHJl dHR5X3ByaW50ZXIgKiwgdHJlZSk7CiB2b2lkIHBwX2NfcGFyYW1ldGVyX3R5 cGVfbGlzdCAoY19wcmV0dHlfcHJpbnRlciAqLCB0cmVlKTsKSW5kZXg6IGdj Yy9nY2MvY29uZmlnL2kzODYvaTM4Ni5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIGdjYy5vcmlnL2djYy9jb25maWcvaTM4Ni9pMzg2LmMJMjAxMC0x Mi0yMiAxMzo0Mzo1My42Nzk0MzkwMDAgKzAxMDAKKysrIGdjYy9nY2MvY29u ZmlnL2kzODYvaTM4Ni5jCTIwMTAtMTItMjIgMTQ6MTk6MjEuMDkxODkwNjAw ICswMTAwCkBAIC01MTE2LDYgKzUxMTYsNDYgQEAgaXg4Nl9mdW5jdGlvbl9v a19mb3Jfc2liY2FsbCAodHJlZSBkZWNsLAogICByZXR1cm4gdHJ1ZTsKIH0K IAorc3RhdGljIGJvb2wKK2l4ODZfYXR0cmlidXRlX2FmZmVjdHNfY2FsbGlu Z19jb252ZW50aW9uICh0cmVlIG5hbWUpCit7CisgIGludCBpZGVudF9sZW47 CisgIGNvbnN0IGNoYXIgKnA7CisKKyAgZ2NjX2Fzc2VydCAoVFJFRV9DT0RF IChuYW1lKSA9PSBJREVOVElGSUVSX05PREUpOworICBwID0gSURFTlRJRklF Ul9QT0lOVEVSIChuYW1lKTsKKyAgaWRlbnRfbGVuID0gSURFTlRJRklFUl9M RU5HVEggKG5hbWUpOworCisgIGlmIChpZGVudF9sZW4gPiA0ICYmIHBbMF0g PT0gJ18nICYmIHBbMV0gPT0gJ18nICYmIHBbaWRlbnRfbGVuIC0gMV0gPT0g J18nCisgICAgICAmJiBwW2lkZW50X2xlbiAtIDJdID09ICdfJykKKyAgICB7 CisgICAgICBpZGVudF9sZW4gLT0gNDsKKyAgICAgIHAgKz0gMjsKKyAgICB9 CisgIHN3aXRjaCAoaWRlbnRfbGVuKQorICAgIHsKKyAgICBjYXNlIDU6Cisg ICAgICBpZiAoIXN0cm5jbXAgKHAsICJjZGVjbCIsIDUpKQorICAgICAgICBy ZXR1cm4gdHJ1ZTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgNjoKKyAgICAg IGlmICghc3RybmNtcCAocCwgIm1zX2FiaSIsIDYpKQorICAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgNzoKKyAgICAgIGlm ICghc3RybmNtcCAocCwgInJlZ3Bhcm0iLCA3KSB8fCAhc3RybmNtcCAocCwg InN0ZGNhbGwiLCA3KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICBi cmVhazsKKyAgICBjYXNlIDg6CisgICAgICBpZiAoIXN0cm5jbXAgKHAsICJ0 aGlzY2FsbCIsIDgpIHx8ICFzdHJuY21wIChwLCAiZmFzdGNhbGwiLCA4KQor ICAgICAgICAgIHx8ICFzdHJuY21wIChwLCAic3lzdl9hYmkiLCA4KSkKKyAg ICAgICAgcmV0dXJuIHRydWU7CisgICAgICBicmVhazsKKyAgICB9CisKKyAg cmV0dXJuIGZhbHNlOworfQorCiAvKiBIYW5kbGUgImNkZWNsIiwgInN0ZGNh bGwiLCAiZmFzdGNhbGwiLCAicmVncGFybSIsICJ0aGlzY2FsbCIsCiAgICBh bmQgInNzZXJlZ3Bhcm0iIGNhbGxpbmcgY29udmVudGlvbiBhdHRyaWJ1dGVz OwogICAgYXJndW1lbnRzIGFzIGluIHN0cnVjdCBhdHRyaWJ1dGVfc3BlYy5o YW5kbGVyLiAgKi8KQEAgLTM0ODEzLDYgKzM0ODUzLDEwIEBAIGl4ODZfYXV0 b3ZlY3Rvcml6ZV92ZWN0b3Jfc2l6ZXMgKHZvaWQpCiAjdW5kZWYgVEFSR0VU X0NPTkRJVElPTkFMX1JFR0lTVEVSX1VTQUdFCiAjZGVmaW5lIFRBUkdFVF9D T05ESVRJT05BTF9SRUdJU1RFUl9VU0FHRSBpeDg2X2NvbmRpdGlvbmFsX3Jl Z2lzdGVyX3VzYWdlCiAKKyN1bmRlZiBUQVJHRVRfQVRUUklCVVRFX0FGRkVD VFNfQ0FMTElOR19DT05WRU5USU9OCisjZGVmaW5lIFRBUkdFVF9BVFRSSUJV VEVfQUZGRUNUU19DQUxMSU5HX0NPTlZFTlRJT04gXAorICBpeDg2X2F0dHJp YnV0ZV9hZmZlY3RzX2NhbGxpbmdfY29udmVudGlvbgorCiBzdHJ1Y3QgZ2Nj X3RhcmdldCB0YXJnZXRtID0gVEFSR0VUX0lOSVRJQUxJWkVSOwogDAogI2lu Y2x1ZGUgImd0LWkzODYuaCIKSW5kZXg6IGdjYy9nY2MvZG9jL3RtLnRleGkK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjLm9yaWcvZ2NjL2RvYy90 bS50ZXhpCTIwMTAtMTItMjIgMTM6NDM6NTMuNjgzNDM5MDAwICswMTAwCisr KyBnY2MvZ2NjL2RvYy90bS50ZXhpCTIwMTAtMTItMjIgMTQ6MzU6NDQuOTgx MDIxOTAwICswMTAwCkBAIC05NzY1LDYgKzk3NjUsMTAgQEAgdG8gcGVyZm9y bSBpbml0aWFsIHByb2Nlc3Npbmcgb2YgdGhlIEBzYQogQGZpbGV7aTM4Ni9p Mzg2LmN9LCBmb3IgZXhhbXBsZS4KIEBlbmQgZGVmdHlwZWZuCiAKK0BkZWZ0 eXBlZm4ge1RhcmdldCBIb29rfSBib29sIFRBUkdFVF9BVFRSSUJVVEVfQUZG RUNUU19DQUxMSU5HX0NPTlZFTlRJT04gKGNvbnN0X3RyZWUgQHZhcntuYW1l fSkKK1JldHVybnMgQGNvZGV7dHJ1ZX0gaWYgZ2l2ZW4gYXR0cmlidXRlIGJ5 IGl0cyBAdmFye25hbWV9IGFmZmVjdHMgY2FsbGluZyBjb252ZW50aW9uLCBv dGhlcndpc2UgQGNvZGV7ZmFsc2V9LgorQGVuZCBkZWZ0eXBlZm4KKwogQGRl ZnR5cGVmbiB7VGFyZ2V0IEhvb2t9IGJvb2wgVEFSR0VUX1ZBTElEX0RMTElN UE9SVF9BVFRSSUJVVEVfUCAoY29uc3RfdHJlZSBAdmFye2RlY2x9KQogQHZh cntkZWNsfSBpcyBhIHZhcmlhYmxlIG9yIGZ1bmN0aW9uIHdpdGggQGNvZGV7 X19hdHRyaWJ1dGVfXygoZGxsaW1wb3J0KSl9IHNwZWNpZmllZC4gIFVzZSB0 aGlzIGhvb2sgaWYgdGhlIHRhcmdldCBuZWVkcyB0byBhZGQgZXh0cmEgdmFs aWRhdGlvbiBjaGVja3MgdG8gQGNvZGV7aGFuZGxlX2RsbF9hdHRyaWJ1dGV9 LgogQGVuZCBkZWZ0eXBlZm4KSW5kZXg6IGdjYy9nY2MvZG9jL3RtLnRleGku aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjLm9yaWcvZ2NjL2Rv Yy90bS50ZXhpLmluCTIwMTAtMTItMjIgMTM6NDM6NTMuMDAwMDAwMDAwICsw MTAwCisrKyBnY2MvZ2NjL2RvYy90bS50ZXhpLmluCTIwMTAtMTItMjIgMTQ6 MzQ6NTMuNjk5NDQzNzAwICswMTAwCkBAIC05NzI5LDYgKzk3MjksOCBAQCB0 byBwZXJmb3JtIGluaXRpYWwgcHJvY2Vzc2luZyBvZiB0aGUgQHNhCiBAZmls ZXtpMzg2L2kzODYuY30sIGZvciBleGFtcGxlLgogQGVuZCBkZWZ0eXBlZm4K IAorQGhvb2sgVEFSR0VUX0FUVFJJQlVURV9BRkZFQ1RTX0NBTExJTkdfQ09O VkVOVElPTgorCiBAaG9vayBUQVJHRVRfVkFMSURfRExMSU1QT1JUX0FUVFJJ QlVURV9QCiAKIEBkZWZtYWMgVEFSR0VUX0RFQ0xTUEVDCkluZGV4OiBnY2Mv Z2NjL3RhcmdldC5kZWYKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2Nj Lm9yaWcvZ2NjL3RhcmdldC5kZWYJMjAxMC0xMi0yMiAxNDozNzo1OS4wMDAw MDAwMDAgKzAxMDAKKysrIGdjYy9nY2MvdGFyZ2V0LmRlZgkyMDEwLTEyLTIy IDE0OjM4OjI2LjYwNzA1NjMwMCArMDEwMApAQCAtMTExMyw2ICsxMTEzLDE0 IEBAIERFRkhPT0sKICB0cmVlLCAodHJlZSBvbGRkZWNsLCB0cmVlIG5ld2Rl Y2wpLAogIG1lcmdlX2RlY2xfYXR0cmlidXRlcykKIAorLyogUmV0dXJuIHRy dWUgaWZmIGF0dHJpYnV0ZSBOQU1FIGFmZmVjdHMgY2FsbGluZyBjb252ZW50 aW9uLiAqLworREVGSE9PSworKGF0dHJpYnV0ZV9hZmZlY3RzX2NhbGxpbmdf Y29udmVudGlvbiwKKyAiUmV0dXJucyBAY29kZXt0cnVlfSBpZiBnaXZlbiBh dHRyaWJ1dGUgYnkgaXRzIEB2YXJ7bmFtZX0gYWZmZWN0cyBjYWxsaW5nXAor IGNvbnZlbnRpb24sIG90aGVyd2lzZSBAY29kZXtmYWxzZX0uIiwKKyBib29s LCAoY29uc3RfdHJlZSBuYW1lKSwKKyBob29rX2Jvb2xfY29uc3RfdHJlZV9m YWxzZSkKKwogLyogR2l2ZW4gdHdvIHR5cGVzLCBtZXJnZSB0aGVpciBhdHRy aWJ1dGVzIGFuZCByZXR1cm4gdGhlIHJlc3VsdC4gICovCiBERUZIT09LCiAo bWVyZ2VfdHlwZV9hdHRyaWJ1dGVzLAo= --0016361e81346fd1830497ffeb2e--