--b1_5a99b7bbc483b77e0430e5de9fb8d370 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: quoted-printable This revision was automatically updated to reflect the committed changes. Closed by commit rL245810: Instantiate function declarations in instantiate= d functions. (authored by sepavloff). Changed prior to commit: http://reviews.llvm.org/D11194?vs=3D32597&id=3D32923#toc Repository: rL LLVM http://reviews.llvm.org/D11194 Files: cfe/trunk/include/clang/AST/DeclBase.h cfe/trunk/lib/AST/DeclBase.cpp cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp cfe/trunk/test/CXX/expr/expr.prim/expr.prim.lambda/default-arguments.cpp cfe/trunk/test/SemaTemplate/default-arguments.cpp cfe/trunk/test/SemaTemplate/instantiate-exception-spec-cxx11.cpp --b1_5a99b7bbc483b77e0430e5de9fb8d370 Content-Type: text/x-patch; charset=utf-8; name="D11194.32923.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D11194.32923.patch" SW5kZXg6IGNmZS90cnVuay9pbmNsdWRlL2NsYW5nL0FTVC9EZWNsQmFzZS5o Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNmZS90cnVuay9pbmNsdWRl L2NsYW5nL0FTVC9EZWNsQmFzZS5oCisrKyBjZmUvdHJ1bmsvaW5jbHVkZS9j bGFuZy9BU1QvRGVjbEJhc2UuaApAQCAtNzI4LDYgKzcyOCwxNSBAQAogICAg IHJldHVybiBnZXRQYXJlbnRGdW5jdGlvbk9yTWV0aG9kKCkgPT0gbnVsbHB0 cjsKICAgfQogCisgIC8vLyBcYnJpZWYgUmV0dXJucyB0cnVlIGlmIHRoaXMg ZGVjbGFyYXRpb24gbGV4aWNhbGx5IGlzIGluc2lkZSBhIGZ1bmN0aW9uLgor ICAvLy8gSXQgcmVjb2duaXplcyBub24tZGVmaW5pbmcgZGVjbGFyYXRpb25z IGFzIHdlbGwgYXMgbWVtYmVycyBvZiBsb2NhbAorICAvLy8gY2xhc3NlczoK KyAgLy8vIFxjb2RlCisgIC8vLyAgICAgdm9pZCBmb28oKSB7IHZvaWQgYmFy KCk7IH0KKyAgLy8vICAgICB2b2lkIGZvbzIoKSB7IGNsYXNzIEFCQyB7IHZv aWQgYmFyKCk7IH07IH0KKyAgLy8vIFxlbmRjb2RlCisgIGJvb2wgaXNMZXhp Y2FsbHlXaXRoaW5GdW5jdGlvbk9yTWV0aG9kKCkgY29uc3Q7CisKICAgLy8v IFxicmllZiBJZiB0aGlzIGRlY2wgaXMgZGVmaW5lZCBpbnNpZGUgYSBmdW5j dGlvbi9tZXRob2QvYmxvY2sgaXQgcmV0dXJucwogICAvLy8gdGhlIGNvcnJl c3BvbmRpbmcgRGVjbENvbnRleHQsIG90aGVyd2lzZSBpdCByZXR1cm5zIG51 bGwuCiAgIGNvbnN0IERlY2xDb250ZXh0ICpnZXRQYXJlbnRGdW5jdGlvbk9y TWV0aG9kKCkgY29uc3Q7CkluZGV4OiBjZmUvdHJ1bmsvdGVzdC9DWFgvZXhw ci9leHByLnByaW0vZXhwci5wcmltLmxhbWJkYS9kZWZhdWx0LWFyZ3VtZW50 cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2ZlL3RydW5rL3Rl c3QvQ1hYL2V4cHIvZXhwci5wcmltL2V4cHIucHJpbS5sYW1iZGEvZGVmYXVs dC1hcmd1bWVudHMuY3BwCisrKyBjZmUvdHJ1bmsvdGVzdC9DWFgvZXhwci9l eHByLnByaW0vZXhwci5wcmltLmxhbWJkYS9kZWZhdWx0LWFyZ3VtZW50cy5j cHAKQEAgLTI2LDIzICsyNiwyNiBAQAogfTsKIAogc3RydWN0IE5vRGVmYXVs dEN0b3IgewotICBOb0RlZmF1bHRDdG9yKGNvbnN0IE5vRGVmYXVsdEN0b3Im KTsgLy8gZXhwZWN0ZWQtbm90ZXt7Y2FuZGlkYXRlIGNvbnN0cnVjdG9yfX0K KyAgTm9EZWZhdWx0Q3Rvcihjb25zdCBOb0RlZmF1bHRDdG9yJik7IC8vIGV4 cGVjdGVkLW5vdGV7e2NhbmRpZGF0ZSBjb25zdHJ1Y3Rvcn19IFwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGV4cGVjdGVk LW5vdGV7e2NhbmRpZGF0ZSBjb25zdHJ1Y3RvciBub3QgdmlhYmxlOiByZXF1 aXJlcyAxIGFyZ3VtZW50LCBidXQgMCB3ZXJlIHByb3ZpZGVkfX0KICAgfk5v RGVmYXVsdEN0b3IoKTsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiB2 b2lkIGRlZmFyZ3NfaW5fdGVtcGxhdGVfdW51c2VkKFQgdCkgewotICBhdXRv IGwxID0gW10oY29uc3QgVCYgdmFsdWUgPSBUKCkpIHsgfTsKKyAgYXV0byBs MSA9IFtdKGNvbnN0IFQmIHZhbHVlID0gVCgpKSB7IH07ICAvLyBleHBlY3Rl ZC1lcnJvcnt7bm8gbWF0Y2hpbmcgY29uc3RydWN0b3IgZm9yIGluaXRpYWxp emF0aW9uIG9mICdOb0RlZmF1bHRDdG9yJ319CiAgIGwxKHQpOwogfQogCiB0 ZW1wbGF0ZSB2b2lkIGRlZmFyZ3NfaW5fdGVtcGxhdGVfdW51c2VkKE5vblBP RCk7Ci10ZW1wbGF0ZSB2b2lkIGRlZmFyZ3NfaW5fdGVtcGxhdGVfdW51c2Vk KE5vRGVmYXVsdEN0b3IpOwordGVtcGxhdGUgdm9pZCBkZWZhcmdzX2luX3Rl bXBsYXRlX3VudXNlZChOb0RlZmF1bHRDdG9yKTsgIC8vIGV4cGVjdGVkLW5v dGV7e2luIGluc3RhbnRpYXRpb24gb2YgZnVuY3Rpb24gdGVtcGxhdGUgc3Bl Y2lhbGl6YXRpb24gJ2RlZmFyZ3NfaW5fdGVtcGxhdGVfdW51c2VkPE5vRGVm YXVsdEN0b3I+JyByZXF1ZXN0ZWQgaGVyZX19CiAKIHRlbXBsYXRlPHR5cGVu YW1lIFQ+CiB2b2lkIGRlZmFyZ3NfaW5fdGVtcGxhdGVfdXNlZCgpIHsKLSAg YXV0byBsMSA9IFtdKGNvbnN0IFQmIHZhbHVlID0gVCgpKSB7IH07IC8vIGV4 cGVjdGVkLWVycm9ye3tubyBtYXRjaGluZyBjb25zdHJ1Y3RvciBmb3IgaW5p dGlhbGl6YXRpb24gb2YgJ05vRGVmYXVsdEN0b3InfX0KLSAgbDEoKTsgLy8g ZXhwZWN0ZWQtbm90ZXt7aW4gaW5zdGFudGlhdGlvbiBvZiBkZWZhdWx0IGZ1 bmN0aW9uIGFyZ3VtZW50IGV4cHJlc3Npb24gZm9yICdvcGVyYXRvcigpPE5v RGVmYXVsdEN0b3I+JyByZXF1aXJlZCBoZXJlfX0KKyAgYXV0byBsMSA9IFtd KGNvbnN0IFQmIHZhbHVlID0gVCgpKSB7IH07IC8vIGV4cGVjdGVkLWVycm9y e3tubyBtYXRjaGluZyBjb25zdHJ1Y3RvciBmb3IgaW5pdGlhbGl6YXRpb24g b2YgJ05vRGVmYXVsdEN0b3InfX0gXAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gZXhwZWN0ZWQtbm90ZXt7Y2FuZGlk YXRlIGZ1bmN0aW9uIG5vdCB2aWFibGU6IHJlcXVpcmVzIHNpbmdsZSBhcmd1 bWVudCAndmFsdWUnLCBidXQgbm8gYXJndW1lbnRzIHdlcmUgcHJvdmlkZWR9 fSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBleHBlY3RlZC1ub3Rle3tjb252ZXJzaW9uIGNhbmRpZGF0ZSBvZiB0 eXBlICd2b2lkICgqKShjb25zdCBOb0RlZmF1bHRDdG9yICYpJ319CisgIGwx KCk7IC8vIGV4cGVjdGVkLWVycm9ye3tubyBtYXRjaGluZyBmdW5jdGlvbiBm b3IgY2FsbCB0byBvYmplY3Qgb2YgdHlwZSAnKGxhbWJkYSBhdCB9fQogfQog CiB0ZW1wbGF0ZSB2b2lkIGRlZmFyZ3NfaW5fdGVtcGxhdGVfdXNlZDxOb25Q T0Q+KCk7CkluZGV4OiBjZmUvdHJ1bmsvdGVzdC9TZW1hVGVtcGxhdGUvaW5z dGFudGlhdGUtZXhjZXB0aW9uLXNwZWMtY3h4MTEuY3BwCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGNmZS90cnVuay90ZXN0L1NlbWFUZW1wbGF0ZS9p bnN0YW50aWF0ZS1leGNlcHRpb24tc3BlYy1jeHgxMS5jcHAKKysrIGNmZS90 cnVuay90ZXN0L1NlbWFUZW1wbGF0ZS9pbnN0YW50aWF0ZS1leGNlcHRpb24t c3BlYy1jeHgxMS5jcHAKQEAgLTE3OCwzICsxNzgsMTEgQEAKICAgfQogCiB9 CisKK25hbWVzcGFjZSBOb25kZWZEZWNscyB7CisgIHRlbXBsYXRlPHR5cGVu YW1lIFQ+IHZvaWQgZjEoKSB7CisgICAgaW50IGcxKGludCkgbm9leGNlcHQo VDo6ZXJyb3IpOyAvLyBleHBlY3RlZC1lcnJvcnt7dHlwZSAnaW50JyBjYW5u b3QgYmUgdXNlZCBwcmlvciB0byAnOjonIGJlY2F1c2UgaXQgaGFzIG5vIG1l bWJlcnN9fQorICB9CisgIHRlbXBsYXRlIHZvaWQgZjE8aW50PigpOyAvLyBl eHBlY3RlZC1ub3Rle3tpbiBpbnN0YW50aWF0aW9uIG9mIGZ1bmN0aW9uIHRl bXBsYXRlIHNwZWNpYWxpemF0aW9uICdOb25kZWZEZWNsczo6ZjE8aW50Picg cmVxdWVzdGVkIGhlcmV9fQorfQorCkluZGV4OiBjZmUvdHJ1bmsvdGVzdC9T ZW1hVGVtcGxhdGUvZGVmYXVsdC1hcmd1bWVudHMuY3BwCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGNmZS90cnVuay90ZXN0L1NlbWFUZW1wbGF0ZS9k ZWZhdWx0LWFyZ3VtZW50cy5jcHAKKysrIGNmZS90cnVuay90ZXN0L1NlbWFU ZW1wbGF0ZS9kZWZhdWx0LWFyZ3VtZW50cy5jcHAKQEAgLTE1OSwzICsxNTks MTAgQEAKIAogICBpbnQgZygpIHsgWDxpbnQ+OjpmKDApOyB9IC8vIGV4cGVj dGVkLW5vdGUge3tpbiBpbnN0YW50aWF0aW9uIG9mIHRlbXBsYXRlIGNsYXNz ICdEUjE2MzU6Olg8aW50PicgcmVxdWVzdGVkIGhlcmV9fQogfQorCituYW1l c3BhY2UgTm9uZGVmRGVjbHMgeworICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2 b2lkIGYxKCkgeworICAgIGludCBnMShpbnQgZGVmYXJnID0gVDo6ZXJyb3Ip OyAgLy8gZXhwZWN0ZWQtZXJyb3J7e3R5cGUgJ2ludCcgY2Fubm90IGJlIHVz ZWQgcHJpb3IgdG8gJzo6JyBiZWNhdXNlIGl0IGhhcyBubyBtZW1iZXJzfX0K KyAgfQorICB0ZW1wbGF0ZSB2b2lkIGYxPGludD4oKTsgIC8vIGV4cGVjdGVk LW5vdGV7e2luIGluc3RhbnRpYXRpb24gb2YgZnVuY3Rpb24gdGVtcGxhdGUg c3BlY2lhbGl6YXRpb24gJ05vbmRlZkRlY2xzOjpmMTxpbnQ+JyByZXF1ZXN0 ZWQgaGVyZX19Cit9CkluZGV4OiBjZmUvdHJ1bmsvbGliL0FTVC9EZWNsQmFz ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2ZlL3RydW5rL2xp Yi9BU1QvRGVjbEJhc2UuY3BwCisrKyBjZmUvdHJ1bmsvbGliL0FTVC9EZWNs QmFzZS5jcHAKQEAgLTI2Niw2ICsyNjYsMTggQEAKICAgfQogfQogCitib29s IERlY2w6OmlzTGV4aWNhbGx5V2l0aGluRnVuY3Rpb25Pck1ldGhvZCgpIGNv bnN0IHsKKyAgY29uc3QgRGVjbENvbnRleHQgKkxEQyA9IGdldExleGljYWxE ZWNsQ29udGV4dCgpOworICBkbyB7CisgICAgaWYgKExEQy0+aXNGdW5jdGlv bk9yTWV0aG9kKCkpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoIWlz YTxUYWdEZWNsPihMREMpKQorICAgICAgcmV0dXJuIGZhbHNlOworICAgIExE QyA9IExEQy0+Z2V0UGFyZW50KCk7CisgIH0gd2hpbGUgKExEQyk7CisgIHJl dHVybiBmYWxzZTsKK30KKwogYm9vbCBEZWNsOjppc0luQW5vbnltb3VzTmFt ZXNwYWNlKCkgY29uc3QgewogICBjb25zdCBEZWNsQ29udGV4dCAqREMgPSBn ZXREZWNsQ29udGV4dCgpOwogICBkbyB7CkluZGV4OiBjZmUvdHJ1bmsvbGli L1NlbWEvU2VtYVRlbXBsYXRlSW5zdGFudGlhdGVEZWNsLmNwcAo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBjZmUvdHJ1bmsvbGliL1NlbWEvU2VtYVRl bXBsYXRlSW5zdGFudGlhdGVEZWNsLmNwcAorKysgY2ZlL3RydW5rL2xpYi9T ZW1hL1NlbWFUZW1wbGF0ZUluc3RhbnRpYXRlRGVjbC5jcHAKQEAgLTMyNDcs MTYgKzMyNDcsMTEgQEAKICAgICAvLyBleGNlcHRpb24gc3BlY2lmaWNhdGlv bi4KICAgICAvLyBEUjE0ODQ6IExvY2FsIGNsYXNzZXMgYW5kIHRoZWlyIG1l bWJlcnMgYXJlIGluc3RhbnRpYXRlZCBhbG9uZyB3aXRoIHRoZQogICAgIC8v IGNvbnRhaW5pbmcgZnVuY3Rpb24uCi0gICAgYm9vbCBSZXF1aXJlSW5zdGFu dGlhdGlvbiA9IGZhbHNlOwotICAgIGlmIChDWFhSZWNvcmREZWNsICpDbHMg PSBkeW5fY2FzdDxDWFhSZWNvcmREZWNsPihUbXBsLT5nZXREZWNsQ29udGV4 dCgpKSkgewotICAgICAgaWYgKENscy0+aXNMb2NhbENsYXNzKCkpCi0gICAg ICAgIFJlcXVpcmVJbnN0YW50aWF0aW9uID0gdHJ1ZTsKLSAgICB9CiAgICAg aWYgKFNlbWFSZWYuZ2V0TGFuZ09wdHMoKS5DUGx1c1BsdXMxMSAmJgogICAg ICAgICBFUEkuRXhjZXB0aW9uU3BlYy5UeXBlICE9IEVTVF9Ob25lICYmCiAg ICAgICAgIEVQSS5FeGNlcHRpb25TcGVjLlR5cGUgIT0gRVNUX0R5bmFtaWNO b25lICYmCiAgICAgICAgIEVQSS5FeGNlcHRpb25TcGVjLlR5cGUgIT0gRVNU X0Jhc2ljTm9leGNlcHQgJiYKLSAgICAgICAgIVJlcXVpcmVJbnN0YW50aWF0 aW9uKSB7CisgICAgICAgICFUbXBsLT5pc0xleGljYWxseVdpdGhpbkZ1bmN0 aW9uT3JNZXRob2QoKSkgewogICAgICAgRnVuY3Rpb25EZWNsICpFeGNlcHRp b25TcGVjVGVtcGxhdGUgPSBUbXBsOwogICAgICAgaWYgKEVQSS5FeGNlcHRp b25TcGVjLlR5cGUgPT0gRVNUX1VuaW5zdGFudGlhdGVkKQogICAgICAgICBF eGNlcHRpb25TcGVjVGVtcGxhdGUgPSBFUEkuRXhjZXB0aW9uU3BlYy5Tb3Vy Y2VUZW1wbGF0ZTsKSW5kZXg6IGNmZS90cnVuay9saWIvU2VtYS9TZW1hVGVt cGxhdGVJbnN0YW50aWF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gY2ZlL3RydW5rL2xpYi9TZW1hL1NlbWFUZW1wbGF0ZUluc3RhbnRpYXRl LmNwcAorKysgY2ZlL3RydW5rL2xpYi9TZW1hL1NlbWFUZW1wbGF0ZUluc3Rh bnRpYXRlLmNwcApAQCAtMTY4MiwxMSArMTY4MiwxMCBAQAogICAgIFVucGFy c2VkRGVmYXVsdEFyZ0luc3RhbnRpYXRpb25zW09sZFBhcm1dLnB1c2hfYmFj ayhOZXdQYXJtKTsKICAgfSBlbHNlIGlmIChFeHByICpBcmcgPSBPbGRQYXJt LT5nZXREZWZhdWx0QXJnKCkpIHsKICAgICBGdW5jdGlvbkRlY2wgKk93bmlu Z0Z1bmMgPSBjYXN0PEZ1bmN0aW9uRGVjbD4oT2xkUGFybS0+Z2V0RGVjbENv bnRleHQoKSk7Ci0gICAgQ1hYUmVjb3JkRGVjbCAqQ2xhc3NEID0gZHluX2Nh c3Q8Q1hYUmVjb3JkRGVjbD4oT3duaW5nRnVuYy0+Z2V0RGVjbENvbnRleHQo KSk7Ci0gICAgaWYgKENsYXNzRCAmJiBDbGFzc0QtPmlzTG9jYWxDbGFzcygp ICYmICFDbGFzc0QtPmlzTGFtYmRhKCkpIHsKLSAgICAgIC8vIElmIHRoaXMg aXMgYSBtZXRob2Qgb2YgYSBsb2NhbCBjbGFzcywgYXMgcGVyIERSMTQ4NCBp dHMgZGVmYXVsdAotICAgICAgLy8gYXJndW1lbnRzIG11c3QgYmUgaW5zdGFu dGlhdGVkLgotICAgICAgU2VtYTo6Q29udGV4dFJBSUkgU2F2ZWRDb250ZXh0 KCp0aGlzLCBDbGFzc0QpOworICAgIGlmIChPd25pbmdGdW5jLT5pc0xleGlj YWxseVdpdGhpbkZ1bmN0aW9uT3JNZXRob2QoKSkgeworICAgICAgLy8gSW5z dGFudGlhdGUgZGVmYXVsdCBhcmd1bWVudHMgZm9yIG1ldGhvZHMgb2YgbG9j YWwgY2xhc3NlcyAoRFIxNDg0KQorICAgICAgLy8gYW5kIG5vbi1kZWZpbmlu ZyBkZWNsYXJhdGlvbnMuCisgICAgICBTZW1hOjpDb250ZXh0UkFJSSBTYXZl ZENvbnRleHQoKnRoaXMsIE93bmluZ0Z1bmMpOwogICAgICAgTG9jYWxJbnN0 YW50aWF0aW9uU2NvcGUgTG9jYWwoKnRoaXMpOwogICAgICAgRXhwclJlc3Vs dCBOZXdBcmcgPSBTdWJzdEV4cHIoQXJnLCBUZW1wbGF0ZUFyZ3MpOwogICAg ICAgaWYgKE5ld0FyZy5pc1VzYWJsZSgpKQo= --b1_5a99b7bbc483b77e0430e5de9fb8d370 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KY2ZlLWNvbW1p dHMgbWFpbGluZyBsaXN0CmNmZS1jb21taXRzQGxpc3RzLmxsdm0ub3JnCmh0dHA6Ly9saXN0cy5s bHZtLm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vY2ZlLWNvbW1pdHMK --b1_5a99b7bbc483b77e0430e5de9fb8d370--