phosek added a comment.
This seems to be failing on aarch64-linux-gnu:
TEST 'Clang ::
CodeGenCXX/mangle-ptr-size-address-space.cpp' FAILED
Script:
--
: 'RUN: at line 1';
/b/s/w/ir/k/recipe_cleanup/clangdgOoVq/llvm_build_dir/bin/clang -cc1
This revision was automatically updated to reflect the committed changes.
Closed by commit rGa85f5efd9597: Add support for the MS qualifiers __ptr32,
__ptr64, __sptr, __uptr. (authored by akhuang).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
rnk accepted this revision.
rnk added a comment.
This revision is now accepted and ready to land.
Looks great to me.
This has the potential to break some existing code, though. I would suggest
either landing it early in the day, watching for breakage, and hoping for the
best, or you could try
akhuang added inline comments.
Comment at: clang/include/clang/AST/Type.h:477-479
+ ((isPtrSizeAddressSpace(A) && B == LangAS::Default) ||
+(isPtrSizeAddressSpace(B) && A == LangAS::Default) ||
+(isPtrSizeAddressSpace(A) &&
akhuang updated this revision to Diff 234125.
akhuang marked 8 inline comments as done.
akhuang added a comment.
- Added docs for __ptr32, __ptr64, __sptr, __utr
- Moved some functions into ASTContext
- and addressed other comments
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST
aaron.ballman added a comment.
Can you also add documentation to the attribute in AttrDocs.td and hook it up
to the attribute in Attr.td now that we're actually processing these attributes
rather than ignoring them?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
rnk added a comment.
Sorry for the delay, overall this seems like the right approach.
Comment at: clang/include/clang/AST/Type.h:477-479
+ ((isPtrSizeAddressSpace(A) && B == LangAS::Default) ||
+(isPtrSizeAddressSpace(B) && A == LangAS::Default) ||
+
akhuang created this revision.
akhuang added reviewers: rnk, rsmith.
Herald added subscribers: cfe-commits, nhaehnle, jvesely, jholewinski.
Herald added a project: clang.
This adds parsing of the qualifiers __ptr32, __ptr64, __sptr, and __uptr and
lowers them to the corresponding address space