diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-03-27 16:43:11 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-03-27 16:43:11 +0000 |
commit | 7fe65d691dcce550d53ec9310913aab67ab6d654 (patch) | |
tree | 50611d2f2aefa633c6eff80dab109c6a15e27a6a /bindings | |
parent | 00b3b5fbf4d07cd4c846daebda32686cbb1d9952 (diff) | |
download | external_llvm-7fe65d691dcce550d53ec9310913aab67ab6d654.zip external_llvm-7fe65d691dcce550d53ec9310913aab67ab6d654.tar.gz external_llvm-7fe65d691dcce550d53ec9310913aab67ab6d654.tar.bz2 |
Cleanup the simplify_type implementation.
As far as simplify_type is concerned, there are 3 kinds of smart pointers:
* const correct: A 'const MyPtr<int> &' produces a 'const int*'. A
'MyPtr<int> &' produces a 'int *'.
* always const: Even a 'MyPtr<int> &' produces a 'const int*'.
* no const: Even a 'const MyPtr<int> &' produces a 'int*'.
This patch then does the following:
* Removes the unused specializations. Since they are unused, it is hard
to know which kind should be implemented.
* Make sure we don't drop const.
* Fix the default forwarding so that const correct pointer only need
one specialization.
* Simplifies the existing specializations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178147 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'bindings')
0 files changed, 0 insertions, 0 deletions