diff options
| author | Edwin Vane <edwin.vane@intel.com> | 2013-03-04 16:56:04 +0000 |
|---|---|---|
| committer | Edwin Vane <edwin.vane@intel.com> | 2013-03-04 16:56:04 +0000 |
| commit | 529e3c7c5767a53f55ae7b1b5b42cae944da01ac (patch) | |
| tree | 290bd027525646a985d803f95b9439ad4133d8f0 /clang-tools-extra/test/cpp11-migrate/LoopConvert/Inputs/structures.h | |
| parent | 2f43085b469c739ecd0a98c720aba254ceda018c (diff) | |
| download | bcm5719-llvm-529e3c7c5767a53f55ae7b1b5b42cae944da01ac.tar.gz bcm5719-llvm-529e3c7c5767a53f55ae7b1b5b42cae944da01ac.zip | |
Adding failing LoopConvert testcase
LoopConvert isn't properly handling iterators whose dereference operator
returns by value. This test case demonstrates the failure.
See PR15437.
llvm-svn: 176437
Diffstat (limited to 'clang-tools-extra/test/cpp11-migrate/LoopConvert/Inputs/structures.h')
| -rw-r--r-- | clang-tools-extra/test/cpp11-migrate/LoopConvert/Inputs/structures.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang-tools-extra/test/cpp11-migrate/LoopConvert/Inputs/structures.h b/clang-tools-extra/test/cpp11-migrate/LoopConvert/Inputs/structures.h index 2507b34200c..3379b05ac1e 100644 --- a/clang-tools-extra/test/cpp11-migrate/LoopConvert/Inputs/structures.h +++ b/clang-tools-extra/test/cpp11-migrate/LoopConvert/Inputs/structures.h @@ -137,4 +137,17 @@ struct Nested { iterator end(); }; +// Like llvm::SmallPtrSet, the iterator has a dereference operator that returns +// by value instead of by reference. +template <typename T> +struct PtrSet { + struct iterator { + bool operator!=(const iterator &other) const; + const T operator*(); + iterator &operator++(); + }; + iterator begin() const; + iterator end() const; +}; + #endif // STRUCTURES_H |

