summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Add a statistic for maximum CFG size and a script to summarize ↵Anna Zaks2012-07-051-0/+7
| | | | | | analyzer stats from scan-build output. llvm-svn: 159776
* MIPS: Define __mips_dsp_rev / __mips_dspr2 / __mips_dsp macrosSimon Atanasyan2012-07-051-0/+23
| | | | | | if -mdsp or -mdspr2 options are provided. llvm-svn: 159774
* objective-c++ parsing. Turn off delayed parsingFariborz Jahanian2012-07-052-4/+4
| | | | | | | | | of out-of-line c++ method definition which happens to be inside an objc class implementation until I can figure out how to do it. This is to fix a broken project. llvm-svn: 159772
* MIPS: Add -mdsp/-mno-dsp and -mdspr2/-mno-dspr2 command line options support.Simon Atanasyan2012-07-052-1/+7
| | | | llvm-svn: 159769
* MIPS: Factor out the code converting command line options to target features.Simon Atanasyan2012-07-051-8/+17
| | | | llvm-svn: 159767
* Adapts the FrontendAction convenience functions so that it can beManuel Klimek2012-07-051-1/+0
| | | | | | | | used with classes that generate ASTConsumers; this allows decoupling the ASTConsumer generation from the Frontend library (like, for example, the MatchFinder in the upcoming ASTMatcher patch). llvm-svn: 159760
* MIPS: Define __mips16 macro if -mips16 option is provided.Simon Atanasyan2012-07-051-0/+8
| | | | llvm-svn: 159753
* MIPS: Replace the pair of boolean flags by enumeration to hold selected ↵Simon Atanasyan2012-07-051-24/+26
| | | | | | float ABI. llvm-svn: 159752
* MIPS: Add -mips16 / -mno-mips16 command line support.Simon Atanasyan2012-07-052-1/+11
| | | | llvm-svn: 159747
* PR13273: When performing list-initialization with an empty initializer list,Richard Smith2012-07-051-109/+102
| | | | | | | | | | | actually perform value initialization rather than trying to fake it with a call to the default constructor. Fixes various bugs related to the previously-missing zero-initialization in this case. I've also moved this and the other list initialization 'special case' from TryConstructorInitialization into TryListInitialization where they belong. llvm-svn: 159733
* Drop the ASTContext.h include from DeclFriend.h and DeclTemplate.h.Benjamin Kramer2012-07-0420-10/+35
| | | | llvm-svn: 159723
* Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used ↵Benjamin Kramer2012-07-0411-18/+23
| | | | | | | | instead. No functionality change. llvm-svn: 159719
* Drop the ASTContext.h include from Stmt.h and fix up transitive users.Benjamin Kramer2012-07-0414-2/+45
| | | | | | | | | | | | | | This required moving the ctors for IntegerLiteral and FloatingLiteral out of line which shouldn't change anything as they are usually called through Create methods that are already out of line. ASTContext::Deallocate has been a nop for a long time, drop it from ASTVector and make it independent from ASTContext.h Pass the StorageAllocator directly to AccessedEntity so it doesn't need to have a definition of ASTContext around. llvm-svn: 159718
* Split out the "empty" case for compound statement into a separate ctor.Benjamin Kramer2012-07-043-7/+20
| | | | | | Move the ASTContext-dependent version out of line. llvm-svn: 159717
* CXXRecordDecl: Split getBases/getVBases into a slow and a fast path.Benjamin Kramer2012-07-041-0/+8
| | | | | | | This avoids costly computation of getASTContext() and drops the header dependency from DeclCXX.h to ASTContext.h. llvm-svn: 159716
* Hoist the logic for selecting the Objective-C dispatch method into the runtimeDavid Chisnall2012-07-042-30/+2
| | | | | | class, from the target. No functionality change, just less duplicated logic. llvm-svn: 159710
* A few more cleanups for the GNU family of ObjC runtimes.David Chisnall2012-07-042-2/+10
| | | | llvm-svn: 159708
* Renamed RawComment kinds to avoid name clash.Abramo Bagnara2012-07-042-13/+13
| | | | llvm-svn: 159706
* Move a comment from the commit message into the code.Bob Wilson2012-07-041-0/+5
| | | | llvm-svn: 159696
* Obj-C++11 parser: handle a fall out of delayed Fariborz Jahanian2012-07-031-1/+1
| | | | | | | c-function parsing when a declaration with C++0x braced-init-list is inside an @implementation. llvm-svn: 159693
* [analyzer] For now, don't inline non-static member overloaded operators.Jordan Rose2012-07-033-8/+51
| | | | | | | | | | | | | | Our current inlining support (specifically RegionStore::enterStackFrame) doesn't know that calls to overloaded operators may be calls to non-static member functions, and that in these cases the first argument should be treated as 'this'. This caused incorrect results and sometimes crashes. The long-term fix will be to rewrite RegionStore::enterStackFrame to use CallEvent and its subclasses, but for now we can just disable these problematic calls by classifying them under a new CallEvent, CXXMemberOperatorCall. llvm-svn: 159692
* Obj-C++11 parser: fix broken parsing of c-functionFariborz Jahanian2012-07-032-5/+3
| | | | | | defined in class implementations. llvm-svn: 159691
* Obj-C++11 parser: turn off buffering ofFariborz Jahanian2012-07-032-1/+4
| | | | | | | c-function defined in objc class implementation for now. llvm-svn: 159690
* objective-c: Refactor parse/sema portion ofFariborz Jahanian2012-07-033-35/+44
| | | | | | | objective-c's fast enumeration statement, for more work to come. llvm-svn: 159689
* Rename the GCC Objective-C runtime to gcc from gnu-fragile and the GNUstepDavid Chisnall2012-07-037-20/+21
| | | | | | runtime to gnustep from gnu. Fix EH for the GCC runtime. llvm-svn: 159684
* When using -pg targeting OS X 10.8, pass -no_new_main to the linker.Bob Wilson2012-07-031-0/+3
| | | | | | | | | | By default on OS X 10.8, we don't link with a crt1.o file and the linker knows to use _main as the entry point. But, when compiling with -pg, we need to link with the gcrt1.o file, and the linker needs to be told to use the "start" symbol as the entry point. The -no_new_main linker option does that last part. <rdar://problem/11491405> llvm-svn: 159683
* Thread safety analysis: improve handling of smart pointers.DeLesley Hutchins2012-07-031-0/+19
| | | | llvm-svn: 159679
* Make the following changes in the way Mips handles vector arguments and returnAkira Hatanaka2012-07-031-32/+31
| | | | | | | | | | | values: - Return integer vectors in integer registers. - Pass vector arguments in integer registers. - Set an upper bound for argument alignment. The largest alignment is 8-byte for O32 and 16-byte for N32/64. llvm-svn: 159676
* Thread Safety Analysis: handle expressions involving temporaries,DeLesley Hutchins2012-07-031-8/+14
| | | | | | e.g. ExprWithCleanups. llvm-svn: 159674
* CommentBriefParser: remove dead store. Found by Clang Analyzer.Dmitri Gribenko2012-07-031-6/+2
| | | | llvm-svn: 159673
* Add additional architecture defines for PPC targets.Hal Finkel2012-07-031-9/+49
| | | | | | Patch by Andy Gibbs. llvm-svn: 159665
* [libclang] Protect against a race condition where a threadArgyrios Kyrtzidis2012-07-031-1/+2
| | | | | | | | | may be destroying an ASTUnit while cleanupOnDiskMapAtExit is getting called. rdar://11781241 llvm-svn: 159664
* Silence warning in -Asserts buildMatt Beaumont-Gay2012-07-031-0/+1
| | | | llvm-svn: 159635
* Share ConvertUTF8toWide() between Lex and CodeGen.Nico Weber2012-07-034-73/+58
| | | | llvm-svn: 159634
* Rename -Wself-assign-memvar to -Wself-assign-field to improve local ↵Nico Weber2012-07-031-8/+8
| | | | | | | | consistency a bit. (cf -Wunused-private-field and several other existing -field diagnostics.) llvm-svn: 159633
* Remove a redundant assignment to the FDecl variable from *inside* it'sChandler Carruth2012-07-031-1/+1
| | | | | | | | | | | initializer. I really feel like Clang should warn about this, but I can't describe a good reason. GCC will warn on this in some cases under -Wsequence-point, but it actually seems like a false positive for that warning.... llvm-svn: 159631
* Significantly simplify CGExprAgg's logic about ignored results:John McCall2012-07-024-95/+182
| | | | | | | | | | | | if we want to ignore a result, the Dest will be null. Otherwise, we must copy into it. This means we need to ensure a slot when loading from a volatile l-value. With all that in place, fix a bug with chained assignments into __block variables of aggregate type where we were losing insight into the actual source of the value during the second assignment. llvm-svn: 159630
* Documentation cleanup: Delete a duplicated/malformed doc comment.James Dennett2012-07-021-2/+0
| | | | llvm-svn: 159628
* objective-c: just as we have done for method definitions,Fariborz Jahanian2012-07-024-29/+82
| | | | | | | | c-functions declared in implementation should have their parsing delayed until the end so, they can access forward declared private methods. // rdar://10387088 llvm-svn: 159626
* -Wuninitialized: assume that an __attribute__((returns_twice)) function mightRichard Smith2012-07-021-0/+18
| | | | | | | initialize any variable. This is extremely conservative, but is sufficient for now. llvm-svn: 159620
* Thread safety analysis: fixed bug that occurs when very silly peopleDeLesley Hutchins2012-07-021-14/+33
| | | | | | | use scoped_lockable without putting unlock_function on the destructor. llvm-svn: 159609
* [analyzer] Introduce CXXAllocatorCall to handle placement arg invalidation.Jordan Rose2012-07-023-165/+28
| | | | | | | This is NOT full-blown support for operator new, but removes some nasty duplicated code introduced in r158784. llvm-svn: 159608
* Thread safety analysis: fixed incorrect error message at the end of a ↵DeLesley Hutchins2012-07-022-6/+18
| | | | | | locks_required function. llvm-svn: 159607
* Thread safety analysis: don't warn in case of duplicate annotation.DeLesley Hutchins2012-07-021-8/+11
| | | | llvm-svn: 159606
* Thread Safety Analysis: turn off checking within trylock functions.DeLesley Hutchins2012-07-021-0/+6
| | | | llvm-svn: 159601
* [analyzer] If 'super' is known to be nil, we can still mark its range.Jordan Rose2012-07-021-1/+1
| | | | llvm-svn: 159596
* Revert "Remove unused member (& consequently unused parameter) in SA's Call ↵Jordan Rose2012-07-021-2/+3
| | | | | | | | | | | | | code." ...and instead add an accessor. We're not using this today, but it's something that should probably stay in the source for potential clients, and it doesn't cost a lot. (ObjCPropertyAccess is only created on the stack, and right now there's only ever one alive at a time.) This reverts r159581 / commit 8e674e1da34a131faa7d43dc3fcbd6e49120edbe. llvm-svn: 159595
* Include -D files in crash report repro scripts. (PR13255)David Blaikie2012-07-021-1/+0
| | | | | | | | | | | | Now that we're only using -frewrite-includes rather than full preprocessing when producing repro source files, we should also include command line macro definitions in the repro script. I don't have a test case for this because I'm not sure if/how I can open the crash report file when the name is only known by scraping the crash report output. Suggestions welcome if anyone thinks it'd be helpful. llvm-svn: 159592
* In blocks, only pretend that enum constants have enum type if necessary.Jordan Rose2012-07-024-47/+174
| | | | | | | | | | | | | | | | | | In C, enum constants have the type of the enum's underlying integer type, rather than the type of the enum. (This is not true in C++.) Thus, when a block's return type is inferred from an enum constant, it is incompatible with expressions that return the enum type. In r158899, I told block returns to pretend that enum constants have enum type, like in C++. Doug Gregor pointed out that this can break existing code. Now, we don't check the types of return statements until the end of the block. This lets us go back and add implicit casts in blocks with mixed enum constants and enum-typed expressions. <rdar://problem/11662489> (again) llvm-svn: 159591
* When we're looking for redeclarations which might provide a definition in ↵Eli Friedman2012-07-021-0/+1
| | | | | | CodeGen, make sure we examine all the redeclarations. PR13252. llvm-svn: 159586
OpenPOWER on IntegriCloud