summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Inline a special case of EmitAggregateCopy into EmitNullInitializationJohn McCall2010-08-071-27/+41
| | | | | | | | | to avoid the awesome-but-wrong-in-this-case assertion in the canon EAC. Fixes PR7834. Also fix a subtle address-space bug in the memset path. llvm-svn: 110511
* Note that a CXXConstructExpr is zeroing when dumping it.John McCall2010-08-071-0/+2
| | | | llvm-svn: 110510
* Store inheritance paths after CastExprs instead of inside them.John McCall2010-08-0725-175/+363
| | | | | | | | | | | | | | | This takes some trickery since CastExpr has subclasses (and indeed, is abstract). Also, smoosh the CastKind into the bitfield from Expr. Drops two words of storage from Expr in the common case of expressions which don't need inheritance paths. Avoids a separate allocation and another word of overhead in cases needing inheritance paths. Also has the advantage of not leaking memory, since destructors for AST nodes are never run. llvm-svn: 110507
* Correct -ftrapv to trap on errors, instead of calling theChris Lattner2010-08-071-43/+10
| | | | | | | | | | | | | | | | __overflow_handler entrypoint that David Chisnall made up. Calling __overflow_handler is not part of the contract of -ftrapv provided by GCC, and should never have been checked in in the first place. According to: http://permalink.gmane.org/gmane.comp.compilers.clang.devel/8699 David is using this for some of arbitrary precision integer stuff or something, which is not an appropriate thing to implement on this. llvm-svn: 110490
* PR7837: For qualified id's, make sure the decl context is complete if notEli Friedman2010-08-061-20/+18
| | | | | | | dependent in ActOnIdExpression. (This issue only shows up with member operators because an operator is never a type.) llvm-svn: 110486
* Removed IdempotentOperationChecker from default analysis and returned back ↵Tom Care2010-08-066-3/+12
| | | | | | | | | to a flag (-analyzer-check-idempotent-operations) - Added IdempotentOperationChecker to experimental analyses for testing purposes - Updated test cases to explictly call the checker llvm-svn: 110482
* Fix 80 col. violations.Ted Kremenek2010-08-061-6/+14
| | | | llvm-svn: 110473
* Nest variable declaration into into 'if' condition, thus restricting the ↵Ted Kremenek2010-08-061-7/+3
| | | | | | scope of the variable and condensing the code. llvm-svn: 110472
* Use 'GenerateNode()' instead of 'GenerateSink()' when reporting a leak. A ↵Ted Kremenek2010-08-061-3/+3
| | | | | | leak is not a hard enough bug to stop analyzing a path. llvm-svn: 110471
* Initialize variable to work around warning; unfortunately, there isn't anyEli Friedman2010-08-061-3/+3
| | | | | | way to tell gcc "really, values outside the enum aren't valid". llvm-svn: 110450
* Finishing up block variable layout API by supporting Fariborz Jahanian2010-08-061-8/+10
| | | | | | | union type variables and their nesting inside other aggregate types. llvm-svn: 110448
* The pre-increment/pre-decrement grammar in C++ differs from that in C,Douglas Gregor2010-08-061-4/+8
| | | | | | | but we were parsing the C grammar. Handle the C++ grammar appropriately. Fixes PR7794. llvm-svn: 110445
* Remove some incorrect assertions when deduction template arguments inDouglas Gregor2010-08-061-2/+0
| | | | | | | | a template-argument-list. When template template parameters are involved, we won't already have checked the template-argument-list (it may not be known yet!). Fixes PR7807. llvm-svn: 110444
* Make sure that we diagnose attribute((overloadable)) functions withoutDouglas Gregor2010-08-061-19/+15
| | | | | | prototypes. Fixes PR7738. llvm-svn: 110443
* Define _INTEGRAL_MAX_BITS for the win32 and win64 targets, from Per Lindén!Douglas Gregor2010-08-061-0/+2
| | | | llvm-svn: 110442
* Template keyword should not be ignored building a QualifiedTemplateName.Abramo Bagnara2010-08-066-12/+23
| | | | llvm-svn: 110441
* Fix the #include search path when reading from stdin, from Jon Simons!Douglas Gregor2010-08-062-28/+50
| | | | | | Fixes PR4897. llvm-svn: 110440
* Diagnose the use of "inline" on block-scope function declarations inDouglas Gregor2010-08-061-0/+11
| | | | | | C++, from Andrea Nall! llvm-svn: 110439
* Introduce implicit conversions between AltiVec vectors and GCCDouglas Gregor2010-08-063-19/+54
| | | | | | vectors, from Anton Yartsev! llvm-svn: 110437
* Introduce a new token kind 'cxx_defaultarg_end' to mark the end of C++ ↵Argyrios Kyrtzidis2010-08-062-2/+14
| | | | | | | | | | | | | | | | default arguments that were part of lexed method declarations. This avoid interference with tokens coming after the point where the default arg tokens were 'injected', e.g. for typedef struct Inst { void m(int x=0); } *InstPtr; when parsing '0' the next token would be '*' and things would be messed up. llvm-svn: 110436
* Remove ElseScope which is also dead code now.Nick Lewycky2010-08-061-6/+0
| | | | llvm-svn: 110433
* Remove the DeclaredInCondition bit now that it's no longer used.Nick Lewycky2010-08-064-7/+0
| | | | llvm-svn: 110432
* If all nodes are sunk, bail out early. This make the later check for ↵Zhongxing Xu2010-08-061-1/+4
| | | | | | checkersEvaluated really meaningful. llvm-svn: 110430
* vdup_lane was missingNate Begeman2010-08-062-2/+11
| | | | | | <rdar://problem/8278732> llvm-svn: 110420
* Attempt to fix uninitialized value warning reported on cfe-commits.Eli Friedman2010-08-061-2/+1
| | | | llvm-svn: 110418
* Properly pop out of Objective-C method declarations when they are (ill-formedly)John McCall2010-08-061-1/+3
| | | | | | found within contexts other than the translation unit. llvm-svn: 110417
* Add an environment variable that makes libclang use chaining for PCH.Sebastian Redl2010-08-061-1/+3
| | | | llvm-svn: 110414
* Don't assert on a file stream if its state is not tracked. Fix pr7831.Zhongxing Xu2010-08-051-1/+4
| | | | llvm-svn: 110392
* When checking if a buffer access is valid, first make sure the buffer has a ↵Jordy Rose2010-08-051-11/+15
| | | | | | valid Loc. Fixes PR7830. llvm-svn: 110390
* Fix AVX 256-bit intrinsics headers by using the right cast type while ↵Bruno Cardoso Lopes2010-08-051-8/+8
| | | | | | dealing with logical ops llvm-svn: 110389
* Don't crash when mangling empty anonymous unions. We never actually *need*John McCall2010-08-051-1/+5
| | | | | | | these, but it's convenient to mangle them when deferring them (in the 99.99% case where it's not an anonymous union, of course). llvm-svn: 110381
* Collect namespaces that need updating in a PCH chain. WIPSebastian Redl2010-08-051-0/+5
| | | | llvm-svn: 110378
* Add support for block imported struct variable layout info.Fariborz Jahanian2010-08-051-2/+10
| | | | | | (objc gc and blocks in NeXt runtime). llvm-svn: 110377
* It turns out that linkers (at least, the Darwin linker) don't necessarilyJohn McCall2010-08-052-16/+19
| | | | | | | | | | | do the right thing with mixed-visibility symbols, so disable the visibility optimization where that's possible, i.e. with template classes (since it's possible that an arbitrary template might be subject to an explicit instantiation elsewhere). 447.dealII actually does this. I've put the code under an option that's currently not hooked up to anything. llvm-svn: 110374
* fix the va_list definition for vc++64, patch by Cameron Esfahani!Chris Lattner2010-08-051-3/+0
| | | | llvm-svn: 110370
* Write various C++-specific records to chained PCHs. Tests will come later.Sebastian Redl2010-08-052-22/+87
| | | | llvm-svn: 110357
* Argument evaluation order is not guaranteed. Split these out to force an order.John McCall2010-08-051-6/+7
| | | | llvm-svn: 110354
* Fixed logic error in UnreachableCodeChecker's marking algorithm that would ↵Tom Care2010-08-051-3/+6
| | | | | | sometimes allow for multiple sequential statements to be flagged. llvm-svn: 110353
* Fix a major bug with -ftrapv and ++/--. Patch by David Keaton!John McCall2010-08-051-1/+2
| | | | llvm-svn: 110347
* Allow multiple __declspec attributes after a class-key.John McCall2010-08-051-1/+1
| | | | | | Patch by Francois Pichet! llvm-svn: 110344
* For now skip over aggregate non-byref block variables.Fariborz Jahanian2010-08-051-1/+4
| | | | | | (objc gc specific). llvm-svn: 110340
* Trying to unbreak buildbot.Fariborz Jahanian2010-08-051-1/+2
| | | | llvm-svn: 110339
* Revert r110317, and add a comment why the assertion is not an invariant.Ted Kremenek2010-08-051-4/+4
| | | | llvm-svn: 110330
* Flip the switch to use OffsetOfExpr unconditionally; feel free to revert ifEli Friedman2010-08-051-129/+5
| | | | | | | | this breaks something. I'll wait a few days before cleaning out UnaryOperator::OffsetOf. llvm-svn: 110328
* PR7769: Fix references to anonymous structs/unions in base classes inEli Friedman2010-08-051-7/+12
| | | | | | offsetof expressions. llvm-svn: 110327
* Add IRGen support for non-constant OffsetOfExpr.Eli Friedman2010-08-051-14/+90
| | | | llvm-svn: 110326
* Store the pending implicit instantiations in the PCH and perform them at the ↵Argyrios Kyrtzidis2010-08-053-20/+58
| | | | | | | | end of the translation unit that included the PCH, as God intended. llvm-svn: 110324
* Support #pragma weak for PCH.Argyrios Kyrtzidis2010-08-053-3/+46
| | | | llvm-svn: 110323
* Make sure C++ variable definitions are actually passed to the consumer when ↵Argyrios Kyrtzidis2010-08-051-1/+2
| | | | | | loaded from PCH. llvm-svn: 110322
* Make checker recognize OffsetOfExpr as a form of __builtin_offsetof.Eli Friedman2010-08-051-1/+4
| | | | llvm-svn: 110320
OpenPOWER on IntegriCloud