diff options
| author | Edwin Vane <edwin.vane@intel.com> | 2013-03-07 16:22:05 +0000 |
|---|---|---|
| committer | Edwin Vane <edwin.vane@intel.com> | 2013-03-07 16:22:05 +0000 |
| commit | 4f05d7143f5cf831e39e5ed16d33a19dc6da9dcd (patch) | |
| tree | ac54e7b59594fe75c9df0e38e5ca4c98303343a5 /clang-tools-extra/cpp11-migrate/LoopConvert/LoopMatchers.h | |
| parent | 2a760d02f718751c76db2ed3058f3624ac6ed0d4 (diff) | |
| download | bcm5719-llvm-4f05d7143f5cf831e39e5ed16d33a19dc6da9dcd.tar.gz bcm5719-llvm-4f05d7143f5cf831e39e5ed16d33a19dc6da9dcd.zip | |
Have LoopConvert use 'auto &&' where necessary
For iterators where the dereference operator returns by value, LoopConvert
should use 'auto &&' in the range-based for loop expression.
If the dereference operator returns an rvalue reference, this is deemed too
strange and the for loop is not converted.
Moved test case from iterator_failing.cpp to iterator.cpp and added extra
tests.
Fixes PR15437.
Reviewer: gribozavr
llvm-svn: 176631
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/LoopConvert/LoopMatchers.h')
| -rw-r--r-- | clang-tools-extra/cpp11-migrate/LoopConvert/LoopMatchers.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang-tools-extra/cpp11-migrate/LoopConvert/LoopMatchers.h b/clang-tools-extra/cpp11-migrate/LoopConvert/LoopMatchers.h index 4a3989c023e..7824a82ad48 100644 --- a/clang-tools-extra/cpp11-migrate/LoopConvert/LoopMatchers.h +++ b/clang-tools-extra/cpp11-migrate/LoopConvert/LoopMatchers.h @@ -30,6 +30,7 @@ extern const char InitVarName[]; extern const char EndExprName[]; extern const char EndCallName[]; extern const char EndVarName[]; +extern const char DerefByValueResultName[]; clang::ast_matchers::StatementMatcher makeArrayLoopMatcher(); clang::ast_matchers::StatementMatcher makeIteratorLoopMatcher(); |

