aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopSimplify.cpp
diff options
context:
space:
mode:
authorAlex Denisov <1101.debian@gmail.com>2015-03-04 17:55:52 +0000
committerAlex Denisov <1101.debian@gmail.com>2015-03-04 17:55:52 +0000
commite1d882c726b53eebe4dbece9fdf7fb8dc6469f72 (patch)
tree60507712962fd8ed3cca070487229c64a1052884 /llvm/lib/Transforms/Utils/LoopSimplify.cpp
parent4d9347993bbaaf9278df52d14e71e460a4afbd9f (diff)
downloadllvm-e1d882c726b53eebe4dbece9fdf7fb8dc6469f72.zip
llvm-e1d882c726b53eebe4dbece9fdf7fb8dc6469f72.tar.gz
llvm-e1d882c726b53eebe4dbece9fdf7fb8dc6469f72.tar.bz2
New ObjC warning: circular containers.
This commit adds new warning to prevent user from creating 'circular containers'. Mutable collections from NSFoundation allows user to add collection to itself, e.g.: NSMutableArray *a = [NSMutableArray new]; [a addObject:a]; The code above leads to really weird behaviour (crashes, 'endless' recursion) and retain cycles (collection retains itself) if ARC enabled. Patch checks the following collections: - NSMutableArray, - NSMutableDictionary, - NSMutableSet, - NSMutableOrderedSet, - NSCountedSet. llvm-svn: 231265
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopSimplify.cpp')
0 files changed, 0 insertions, 0 deletions