summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2012-05-15 02:01:59 +0000
committerJohn McCall <rjmccall@apple.com>2012-05-15 02:01:59 +0000
commit8b3f5ffb0aa202e77d61bfb5abf70f730a109038 (patch)
tree33debe0c37d4c8ce3a748a072792225ecd4e045b /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
parentbd5a7a9f0358f0730923126813002ba53834826d (diff)
downloadbcm5719-llvm-8b3f5ffb0aa202e77d61bfb5abf70f730a109038.tar.gz
bcm5719-llvm-8b3f5ffb0aa202e77d61bfb5abf70f730a109038.zip
Change the mangling of a ref-qualifier on a function type so that
it is placed in a position which is never ambiguous with a reference-to-function type. This follows some recent discussion and ensuing proposal on cxx-abi-dev. It is not necessary to change the mangling of CV-qualifiers because you cannot apply CV-qualification in the normal sense to a function type. It is not necessary to change the mangling of ref-qualifiers on method declarations because they appear in an unambiguous location. In addition, mangle CV-qualifiers and ref-qualifiers on function types when they occur in positions other than member pointers (that is, when they appear as template arguments). This is a minor ABI break with previous releases of clang. It is not considered critical because (1) ref-qualifiers are relatively rare, since AFAIK we're the only implementing compiler, and (2) they're particularly likely to come up in contexts that do not rely on the ODR for correctness. We apologize for any inconvenience; this is the right thing to do. llvm-svn: 156794
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud