aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-05-13Fix crasher reported in PR 4209 caused by an invalid summaryTed Kremenek
generation when EvalObjCMessageExpr() did not resolve the ObjCInterfaceDecl* for a receiver when the receiver's symbolic value wasn't being explicitly tracked. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Some early declarations to support sentinel attribute onFariborz Jahanian
message dispatches (and function calls later). No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71683 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13remove the obsolete -fprint-source-range-info optionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71675 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Removed 4-letter :) word in comment.Fariborz Jahanian
Used simple array for Selector build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71674 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Fix <rdar://problem/6880975> [format string] Assertion failed: (Arg < ↵Ted Kremenek
NumArgs && "Arg access out of range!"). For format string checking, only check the type of the format specifier for non-vararg functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71672 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Fix crasher in CFRefCount.cpp reported by Nikita Zhuk due to recently added ↵Ted Kremenek
autorelease tracking. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71647 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Fix rdar://6880630 - # in _Pragma does not start a preprocessor directive.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13convert test to use -verify Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71642 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13rename testChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71641 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Fix rdar://6880951 by rejecting vectors of vectors.Chris Lattner
It seems dubious to me that isIntegerType() returns true for vectors of integers, but not complex integers. This should probably be rethought, I'll file a bugzilla. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71640 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13reject use of the GNU _Decimal32 extension with a diagnostic, not an abort.Chris Lattner
rdar://6880104 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71639 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13eli correctly points out that this code is dead, just rip it out forChris Lattner
now until someone does it right git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71638 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13implement __sync_synchronize and __sync_lock_release,Chris Lattner
rdar://6880573 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71637 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13add support for __sync_nand_and_fetch and __sync_fetch_and_nand,Chris Lattner
rdar://6880573 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71636 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Fix rdar://6880874 - [sema] crash on array types with different index sizesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71634 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Fix rdar://6881069, a crash on a form of vector_size that weChris Lattner
don't support. While it would be nice to support this eventually, this form is not common at all (just seen in gcc testsuite) and it might be better to model vector_size as a type attribute anyway. For now just emit a nice error on it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71633 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Fix rdar://6880259 - invalid function name in block call ↵Chris Lattner
(__NSConcreteGlobalBlock2) by using the appropriate CGM interface instead of directly creating a global. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71617 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13When we expect two arguments but have zero, make sure to addChris Lattner
two empty arguments. Also, add an assert so that this bug manifests as an assertion failure, not a valgrind problem. This fixes rdar://6880648 - [cpp] crash in ArgNeedsPreexpansion git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71616 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Changed wording of warning when attribute is onFariborz Jahanian
method definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71615 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Semantic analysis for explicit instantiation of class templates. WeDouglas Gregor
still aren't instantiating the definitions of class template members, and core issues 275 and 259 will both affect the checking that we do for explicit instantiations (but are not yet implemented). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71613 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13Tweak wordingDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71611 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Implement parsing for explicit instantiations of class templates, e.g.,Douglas Gregor
template class X<int>; This also cleans up the propagation of template information through declaration parsing, which is used to improve some diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71608 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Note a few more unsupported language extensions.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71607 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71605 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12improve the diagnostic for uses of the GCC "global variable in a register" ↵Chris Lattner
extension. This implements rdar://6880449 - improve diagnostic for usage of "global register variable" GCC extension git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71599 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Parser::ParseDeclarationOrFunctionDefinition no longer needs to acceptDouglas Gregor
template parameters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71598 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Method attributes may only be specified on methodFariborz Jahanian
declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Refactor the parsing of declarations so that template declarations canDouglas Gregor
parse just a single declaration and provide a reasonable diagnostic when the "only one declarator per template declaration" rule is violated. This eliminates some ugly, ugly hackery where we used to require thatn the layout of a DeclGroup of a single element be the same as the layout of a single declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12implement l-value codegen of comma exprChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner
to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12add an initial stab at emitting deferred c++ inline functions. This handles ↵Chris Lattner
static functions and methods declared inline, but not ctors/dtors or methods not declared inline (apparently my previous patch wasn't good enough). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71591 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12cleanups, no functionality change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71590 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Method who have definitions in structs/classes are semantically inline.Chris Lattner
Per the FIXME, it might be interesting to track whether the inline keyword was also used on the method, but for now we don't do this. Testcase pending. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71589 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12static methods don't get this pointers.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12revert my previous patch, I committed the wrong file.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71585 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Diagnostic wording fix, from Anders JohnsenDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12static methods don't get this pointers.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Fix: <rdar://problem/6320065> false positive - init method returns an object ↵Ted Kremenek
owned by caller Now 'init' methods are treated by the retain/release checker as claiming their receiver and allocating a new object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71579 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Fixed typos, used DenseSet for keeping track ofFariborz Jahanian
selectors which need use Nonfrgile API for message dispatch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71578 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Align the N/A in the C++ status table, from Anders JohnsenDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71576 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12accept "#pragma clang foo" where we accept "#pragma GCC foo".Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Patch to implement ivar synthesis of properties declared in protocolsFariborz Jahanian
only and used in class imllementations (objc2 Nonfragile ABI specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71571 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Make scan-build process of --use-cc and --html-title more robust.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71567 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Fill in more C++ status. We're now using the check mark to mean,Douglas Gregor
"complete, and we have tests for every paragraph". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71564 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Darwin x86-32 ABI: Now that structure passing is farther along, weDaniel Dunbar
don't need special treatment for unions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71559 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12x86-64 ABI: clang incorrectly passes union { long double, float } inDaniel Dunbar
register. - Merge algorithm was returning MEMORY as it should. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71556 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Add logic for invalidating array region to CFRefCount.cpp. When invalidatingZhongxing Xu
array region, set its default value to conjured symbol. When retrieving its element, create new region value symbol for the element. Also fix some 80 columns violations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71548 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Fix <rdar://problem/6877235> Classes typedef-ed to CF objects should get the ↵Ted Kremenek
same treatment as CF objects This was accomplished by having 'isTypeRef' recursively walk the typedef stack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71538 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12Make precompiled headers work with -E. When we're only preprocessingDouglas Gregor
(with -E), we turn the PCH include into an implicit include of the file from which the PCH file was generated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71534 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12wrap up a version of the man page that is minimally helpful, but somewhat ↵Chris Lattner
complete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71524 91177308-0d34-0410-b5e6-96231b3b80d8