[PATCH] D77962: PR38490: Support reading values out of __uuidof(X) expressions during constant evaluation.

2020-04-15 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith abandoned this revision. rsmith added a comment. Superseded by https://reviews.llvm.org/D78171. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77962/new/ https://reviews.llvm.org/D77962 ___ cfe-c

[PATCH] D77962: PR38490: Support reading values out of __uuidof(X) expressions during constant evaluation.

2020-04-13 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith marked 2 inline comments as done. rsmith added a comment. In D77962#1978668 , @rnk wrote: > This code is very string-y. Should clang be parsing uuids into > u32-u16-u16-u8[8] earlier, so that we can get the semantic form directly from > the UuidAt

[PATCH] D77962: PR38490: Support reading values out of __uuidof(X) expressions during constant evaluation.

2020-04-13 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. Thanks for looking into this. This code is very string-y. Should clang be parsing uuids into u32-u16-u16-u8[8] earlier, so that we can get the semantic form directly from the UuidAttr? Based on the test cases you had to pass, is there any reason that would be difficult?

[PATCH] D77962: PR38490: Support reading values out of __uuidof(X) expressions during constant evaluation.

2020-04-13 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:3949 + // Special-case reading from __uuidof expressions so we don't have to + // construct an APValue for the whole uuid. + if (LVal.Designator.isOnePastTheEnd()) { For my

[PATCH] D77962: PR38490: Support reading values out of __uuidof(X) expressions during constant evaluation.

2020-04-11 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith created this revision. rsmith added reviewers: aeubanks, rnk. Herald added a project: clang. Herald added a subscriber: cfe-commits. We try to avoid materializing a full _GUID APValue wherever possible; instead, when accessing an individual field, we only extract the corresponding portion o