summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* improve the diagnostic for uses of the GCC "global variable in a register" ↵Chris Lattner2009-05-123-1/+16
| | | | | | | | extension. This implements rdar://6880449 - improve diagnostic for usage of "global register variable" GCC extension llvm-svn: 71599
* Parser::ParseDeclarationOrFunctionDefinition no longer needs to acceptDouglas Gregor2009-05-123-5/+5
| | | | | | template parameters. llvm-svn: 71598
* Method attributes may only be specified on methodFariborz Jahanian2009-05-124-1/+30
| | | | | | declarations. llvm-svn: 71597
* Refactor the parsing of declarations so that template declarations canDouglas Gregor2009-05-127-93/+239
| | | | | | | | | | 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. llvm-svn: 71596
* implement l-value codegen of comma exprChris Lattner2009-05-122-0/+18
| | | | llvm-svn: 71595
* push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner2009-05-127-71/+72
| | | | | | | | | 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. llvm-svn: 71594
* add an initial stab at emitting deferred c++ inline functions. This handles ↵Chris Lattner2009-05-122-2/+35
| | | | | | | | | static functions and methods declared inline, but not ctors/dtors or methods not declared inline (apparently my previous patch wasn't good enough). llvm-svn: 71591
* cleanups, no functionality change.Chris Lattner2009-05-121-3/+5
| | | | llvm-svn: 71590
* Method who have definitions in structs/classes are semantically inline.Chris Lattner2009-05-121-0/+7
| | | | | | | 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. llvm-svn: 71589
* static methods don't get this pointers.Chris Lattner2009-05-121-4/+4
| | | | llvm-svn: 71586
* revert my previous patch, I committed the wrong file.Chris Lattner2009-05-121-10/+2
| | | | llvm-svn: 71585
* Diagnostic wording fix, from Anders JohnsenDouglas Gregor2009-05-121-1/+1
| | | | llvm-svn: 71584
* static methods don't get this pointers.Chris Lattner2009-05-121-2/+10
| | | | llvm-svn: 71583
* Fix: <rdar://problem/6320065> false positive - init method returns an object ↵Ted Kremenek2009-05-122-22/+89
| | | | | | | | | owned by caller Now 'init' methods are treated by the retain/release checker as claiming their receiver and allocating a new object. llvm-svn: 71579
* Fixed typos, used DenseSet for keeping track ofFariborz Jahanian2009-05-121-34/+48
| | | | | | | selectors which need use Nonfrgile API for message dispatch. llvm-svn: 71578
* Align the N/A in the C++ status table, from Anders JohnsenDouglas Gregor2009-05-121-2/+2
| | | | llvm-svn: 71576
* accept "#pragma clang foo" where we accept "#pragma GCC foo".Chris Lattner2009-05-122-3/+14
| | | | llvm-svn: 71572
* Patch to implement ivar synthesis of properties declared in protocolsFariborz Jahanian2009-05-124-29/+97
| | | | | | only and used in class imllementations (objc2 Nonfragile ABI specific). llvm-svn: 71571
* Make scan-build process of --use-cc and --html-title more robust.Ted Kremenek2009-05-121-3/+3
| | | | llvm-svn: 71567
* Fill in more C++ status. We're now using the check mark to mean,Douglas Gregor2009-05-121-378/+697
| | | | | | "complete, and we have tests for every paragraph". llvm-svn: 71564
* Darwin x86-32 ABI: Now that structure passing is farther along, weDaniel Dunbar2009-05-122-12/+8
| | | | | | don't need special treatment for unions. llvm-svn: 71559
* x86-64 ABI: clang incorrectly passes union { long double, float } inDaniel Dunbar2009-05-122-1/+5
| | | | | | | register. - Merge algorithm was returning MEMORY as it should. llvm-svn: 71556
* Add logic for invalidating array region to CFRefCount.cpp. When invalidatingZhongxing Xu2009-05-127-14/+77
| | | | | | | | | 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. llvm-svn: 71548
* Fix <rdar://problem/6877235> Classes typedef-ed to CF objects should get the ↵Ted Kremenek2009-05-122-3/+32
| | | | | | | | same treatment as CF objects This was accomplished by having 'isTypeRef' recursively walk the typedef stack. llvm-svn: 71538
* Make precompiled headers work with -E. When we're only preprocessingDouglas Gregor2009-05-128-16/+173
| | | | | | | (with -E), we turn the PCH include into an implicit include of the file from which the PCH file was generated. llvm-svn: 71534
* wrap up a version of the man page that is minimally helpful, but somewhat ↵Chris Lattner2009-05-121-45/+31
| | | | | | complete. llvm-svn: 71524
* Update checker build.Ted Kremenek2009-05-121-1/+1
| | | | llvm-svn: 71523
* add some more content.Chris Lattner2009-05-121-80/+182
| | | | llvm-svn: 71518
* Encapsulate template arguments lists in a new class,Douglas Gregor2009-05-119-143/+177
| | | | | | | | TemplateArgumentList. This avoids the need to pass around pointer/length pairs of template arguments lists, and will eventually make it easier to introduce member templates and variadic templates. llvm-svn: 71517
* BugReport::getEndPath() - Only add a Stmt's range to the constructed ↵Ted Kremenek2009-05-112-9/+13
| | | | | | PathDiagnosticEventPiece if the BugReport contained no explicit ranges. llvm-svn: 71516
* Factor code that's common to EmitCXXMemberCallExpr and ↵Anders Carlsson2009-05-112-27/+41
| | | | | | EmitCXXConstructorCall out into a EmitCXXMemberCall function. llvm-svn: 71514
* Use Text::ParseWords to make 'clang -###' parsing more robust.Ted Kremenek2009-05-111-8/+5
| | | | llvm-svn: 71504
* Tweak this non-default test so it still works w/ x86 feature support.Daniel Dunbar2009-05-111-1/+6
| | | | llvm-svn: 71494
* Test for x86 target features, I forgot to commit this.Daniel Dunbar2009-05-111-0/+3
| | | | llvm-svn: 71492
* Darwin x86-32: Multi-dimensional arrays were not handled correctly,Daniel Dunbar2009-05-112-9/+18
| | | | | | spotted by Eli! llvm-svn: 71490
* Friend declarations are only valid inside class definitions.Anders Carlsson2009-05-114-0/+21
| | | | llvm-svn: 71489
* When stripping element regions for invalidating region values, treat ↵Ted Kremenek2009-05-111-4/+7
| | | | | | FieldRegions and ObjCIvarRegions as "base" regions in addition to VarRegions. llvm-svn: 71488
* pull a bunch of options out of clang-cc.cpp. This doesn't includeChris Lattner2009-05-112-18/+142
| | | | | | options that the driver swizzles. llvm-svn: 71487
* Fix test case by always setting the type spec type, even for friend decls.Anders Carlsson2009-05-111-5/+4
| | | | llvm-svn: 71486
* Make cleanup-stack.c test stronger, and work in release-asserts mode.Daniel Dunbar2009-05-111-11/+21
| | | | llvm-svn: 71484
* Add an ActOnFriendDecl and call it for friend class decls.Anders Carlsson2009-05-113-3/+19
| | | | llvm-svn: 71482
* For friend class decls, always use TK_Reference so we'll try to look up ↵Anders Carlsson2009-05-112-1/+13
| | | | | | existing class decls first. llvm-svn: 71481
* EdgeBuilder: DeclStmts and BinaryOperators are not the enclosing location ↵Ted Kremenek2009-05-111-1/+26
| | | | | | context when they are used as initialization code for loops. llvm-svn: 71480
* EdgeBuilder::cleanUpLocation() should used the PathDiagnosticLocation ↵Ted Kremenek2009-05-111-16/+31
| | | | | | constructor for a single point, not a range. llvm-svn: 71477
* ccc-analyzer should only analyze C and Objective-C files.Ted Kremenek2009-05-111-0/+7
| | | | llvm-svn: 71474
* Implement the notions of the "current instantiation" and "unknownDouglas Gregor2009-05-1110-35/+235
| | | | | | | | | | | | | | | | | | specialization" within a C++ template, and permit name lookup into the current instantiation. For example, given: template<typename T, typename U> struct X { typedef T type; X* x1; // current instantiation X<T, U> *x2; // current instantiation X<U, T> *x3; // not current instantiation ::X<type, U> *x4; // current instantiation X<typename X<type, U>::type, U>: *x5; // current instantiation }; llvm-svn: 71471
* BugReporter (extensive diagnostics): Add EdgeBuilder::cleanUpLocation for ↵Ted Kremenek2009-05-111-28/+34
| | | | | | canonicalization locations and use this in both popLocation and rawAddEdge. llvm-svn: 71470
* Add ParentMap:getParentIgnoreParens().Ted Kremenek2009-05-112-2/+12
| | | | llvm-svn: 71469
* Patch to allow Nonfragile ABI to use 32-bit style legacyFariborz Jahanian2009-05-112-110/+222
| | | | | | | | message dispage API for all but a few messages. This is a runtime performance improvement and there is not meant to be a functional change. llvm-svn: 71467
* Update checker build.Ted Kremenek2009-05-111-1/+1
| | | | llvm-svn: 71463
OpenPOWER on IntegriCloud