- Aug 05, 2011
-
-
Anna Zaks authored
KeychainAPI checker: Generate an error on double allocation. Pull out getAsPointeeMemoryRegion so that it could be reused. llvm-svn: 136952
-
Matt Beaumont-Gay authored
llvm-svn: 136950
-
John McCall authored
releasing the collection. llvm-svn: 136949
-
Kaelyn Uhrain authored
functions when performing function overload resolution. llvm-svn: 136948
-
Fariborz Jahanian authored
argument to bool. // rdar://9899834 llvm-svn: 136946
-
Kaelyn Uhrain authored
when performing typo correction involving any overloaded template functions. The added test cases, while currently demontrating sub-optimal behavior, will not trigger any messages without the 1-line change to SemaExpr.cpp. llvm-svn: 136943
-
Ted Kremenek authored
llvm-svn: 136939
-
Anna Zaks authored
llvm-svn: 136938
-
- Aug 04, 2011
-
-
Fariborz Jahanian authored
situation. When a class explicitly or implicitly (through inheritance) "conformsTo" two protocols which conflict (have methods which conflict). This is 2nd part of // rdar://6191214. llvm-svn: 136927
-
Chad Rosier authored
llvm-svn: 136924
-
Douglas Gregor authored
cursor, from Connor Wakamo! Addresses <rdar://problem/9087798>. llvm-svn: 136911
-
Kaelyn Uhrain authored
Having a function declaration and definition with different types for a parameter where the types have same (textual) name can occur when an unqualified type name resolves to types in different namespaces in each location. The error messages have been extended by adding notes that point to the first parameter of the function definition that doesn't match the declaration, instead of a generic "member declaration nearly matches". The generic message is still used in cases where the mismatch is not in the paramenter list, such as mismatched cv qualifiers on the member function itself. llvm-svn: 136891
-
Douglas Gregor authored
David Blaikie! llvm-svn: 136876
-
Ted Kremenek authored
llvm-svn: 136864
-
Chad Rosier authored
alignment. This fixes cases where the anonymous bitfield is followed by a non-bitfield member. E.g., struct t4 { int foo : 1; long : 0; char bar; }; Part of rdar://9859156 llvm-svn: 136858
-
John McCall authored
Patch by Craig Topper and Sundeep! llvm-svn: 136856
-
Anna Zaks authored
KeychainAPI checker: Add basic diagnostics. Track MemoryRegion istead of SymbolicRef since the address might not be a symbolic value in some cases, for example in fooOnlyFree() test. llvm-svn: 136851
-
Ted Kremenek authored
llvm-svn: 136850
-
Chad Rosier authored
structures. Alignment can be enforced with the use of anonymous bitfields (e.g., int :0), but this is not currently supported. Add this test case to document the current state, which will hopefully be fixed shortly. llvm-svn: 136848
-
Chandler Carruth authored
designed to be executed, and its output inspected for correct values, but we aren't executing it. We're just compiling it, and dumping it to /dev/null. It also isn't freestanding. If there is a desire to have this test actually stick around, complain and I'll revert this and try to add the file checks necessary to make this actually test things. llvm-svn: 136846
-
Ted Kremenek authored
[analyzer] rename all experimental checker packages to have 'experimental' be the common root package. llvm-svn: 136835
-
John McCall authored
own, incorrectly, for releasing objects at the end of a full-expression. llvm-svn: 136823
-
- Aug 03, 2011
-
-
Kaelyn Uhrain authored
Change TypoCorrection to store a set of NamedDecls instead of a single NamedDecl. Also add initial support for performing function overload resolution to Sema::DiagnoseEmptyLookup. llvm-svn: 136807
-
Ted Kremenek authored
[analyzer] Introduce MallocOverflowSecurityChecker, a simple flow-sensitive checker that may be useful for security auditing. This checker is currently too noisy to be on by default. llvm-svn: 136804
-
Fariborz Jahanian authored
those declated in its protocols. First half or // rdar://6191214 llvm-svn: 136794
-
John McCall authored
unless done in a context where the value is used retained. llvm-svn: 136769
-
Bob Wilson authored
A homogeneous aggregate is an aggregate data structure where after flattening any nesting there are 1 to 4 elements of the same base type that is either a float, double, or Neon vector. All Neon vectors of the same size, either 64 or 128 bits, are treated as equivalent for this purpose. When using the AAPCS-VFP ABI, check for homogeneous aggregates and pass them as arguments by expanding them into a sequence of their base types. This requires extending the existing support for expanded arguments to handle not only structs, but also constant arrays and complex types. llvm-svn: 136767
-
John McCall authored
function, be sure to drop parameter attributes when dropping their associated arguments. Patch by Aaron Landwehr! llvm-svn: 136753
-
Eli Friedman authored
1. Be more tolerant of comments in -CC (comment-preserving) mode. We were missing a few cases. 2. Make sure to expand the second FOO in "#if defined FOO FOO". (See also r97253, which addressed the case of "#if defined(FOO FOO".) Fixes PR10286. llvm-svn: 136748
-
Rafael Espindola authored
Patch by Jim (Ningjie) Chen. llvm-svn: 136734
-
- Aug 02, 2011
-
-
Chris Lattner authored
has a single element. This disables the warning in cases where there is a clear bug, but this is really rare (who uses arrays with one element?) and it also silences a large class of false positive issues with C89 code that is using tail padding in structs. A better version of this patch would detect when an array is in a tail position in a struct, but at least patch fixes the huge false positives that are hitting postgres and other code. llvm-svn: 136724
-
Fariborz Jahanian authored
statement inside a block. // rdar://9878420 llvm-svn: 136717
-
Douglas Gregor authored
by eliminating the type ID from constructor, destructor, and conversion function names. There are several reasons for this change: - A given type (say, int*) isn't guaranteed to have a single, unique type ID within a chain of PCH files. Hence, we could end up hashing based on the wrong type ID, causing name lookup to fail. - The mapping from types back to type IDs required one DenseMap entry for every type that was ever deserialized, which was an unacceptable cost to support just the name lookup of constructors, destructors, and conversion functions. Plus, this mapping could never actually work with chained or multiple PCH, based on the first bullet. Once we have eliminated the type from the hash function, these problems go away, as does my horrible "reverse type remap" hack, which was doomed from the start (see bullet #1 above) and far too complicated. However, note that removing the type from the hash function means that all constructors, destructors, and conversion functions have the same hash key, so I've updated the caller to double-check that the declarations found have the appropriate name. llvm-svn: 136708
-
Eli Friedman authored
llvm-svn: 136703
-
Anna Zaks authored
KeychainAPI checker: only check the paths on which the allocator function returned noErr. (+ minor cleanup) llvm-svn: 136694
-
Anna Zaks authored
Add a skeleton for the Keychain Services API Checker. Register it as OSX experimental for now. Note, the checker still does not handle tracking of escaped values, taking into account the return value of the allocator functions, nor the actual bug reporting.. llvm-svn: 136659
-
-
- Jul 31, 2011
-
-
- Jul 30, 2011
-
-
Argyrios Kyrtzidis authored
broken because the end location of the parameter was the end location of the default arg, resulting in a source range that could begin in one file and end in another. llvm-svn: 136572
-
Douglas Gregor authored
appropriate sentinel at the end of the argument list. Also, put the sentinel warnings under -Wsentinel. Fixes <rdar://problem/8764236>. llvm-svn: 136566
-