[PATCH] D62574: Initial draft of target-configurable address spaces.
Bevin Hansson via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 29 02:12:27 PDT 2019
ebevhan created this revision.
ebevhan added reviewers: Anastasia, rjmccall.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
This is an initial draft of the support for target-configurable
Original RFC: http://lists.llvm.org/pipermail/cfe-dev/2019-March/061541.html
After thinking about Anastasia's input on the RFC regarding
the superspace/subspace model, I decided to go a different
route with the design of the interface. Instead of having
accessors for implicit casts and explicit casts, I kept the
subspace accessor and added an accessor for overriding
the behavior of explicit casts only.
This lets us keep the overlap model and support the default
Embedded-C functionality while still letting targets
configure their behavior reasonably.
This patch does not address the issue with the accessors
on Qualifiers (isAddressSpaceSupersetOf, compatiblyIncludes),
because I don't know how to solve it without breaking a ton of
rather nice encapsulation. Either, every mention of compatiblyIncludes
must be replaced with a call to a corresponding ASTContext method,
Qualifiers must have a handle to ASTContext, or ASTContext must be
passed to every such call. This revision mentions the issue in a comment:
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 18416 bytes
Desc: not available
More information about the cfe-commits