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 | 0afce43be124b77e5efa7907cc150f1d80ac3f1d (patch) | |
tree | 491cbe619b71815e94c986bad4256d691ea436fc /clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | |
parent | 210de57694db145c25f7c3d7b1ba04776a732232 (diff) | |
download | bcm5719-llvm-0afce43be124b77e5efa7907cc150f1d80ac3f1d.tar.gz bcm5719-llvm-0afce43be124b77e5efa7907cc150f1d80ac3f1d.zip |
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.
llvm-svn: 178147
Diffstat (limited to 'clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions