summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* When instantiating a new-expression, force a rebuild if there were defaultJohn McCall2010-10-052-21/+42
| | | | | | | | arguments in either the placement or constructor arguments. This is important if the default arguments refer to a declaration or create a temporary. llvm-svn: 115700
* Method declaration and its implementation must match in all their types.Fariborz Jahanian2010-10-055-14/+47
| | | | | | | Previously, compiler warned only if it was unsafe if types did not match. Fixes // rdar: //7933061 llvm-svn: 115683
* ...without leaving a temporary file behind.John McCall2010-10-051-1/+1
| | | | llvm-svn: 115671
* Er, this test should actually run IR generation.John McCall2010-10-051-1/+1
| | | | llvm-svn: 115670
* Teach PopCleanupBlock to correctly handle the possibility of branching throughJohn McCall2010-10-052-9/+43
| | | | | | | a EH-only cleanup as part of a fallthrough branch-through. That this happens for this test case is actually a separate bug. llvm-svn: 115668
* Serialize the "inline" bit for namespaces. Fixes <rdar://problem/8515069>.Douglas Gregor2010-10-054-0/+9
| | | | llvm-svn: 115667
* Fix a marvelous chained AST writing bug, where we end up with theDouglas Gregor2010-10-056-7/+45
| | | | | | | | | | | | | | | | | | | | | | | following amusing sequence: - AST writing schedules writing a type X* that it had never seen before - AST writing starts writing another declaration, ends up deserializing X* from a prior AST file. Now we have two type IDs for the same type! - AST writer tries to write X*. It only has the lower-numbered ID from the the prior AST file, so references to the higher-numbered ID that was scheduled for writing go off into lalaland. To fix this, keep the higher-numbered ID so we end up writing the type twice. Since this issue occurs so rarely, and type records are generally rather small, I deemed this better than the alternative: to keep a separate mapping from the higher-numbered IDs to the lower-numbered IDs, which we would end up having to check whenever we want to deserialize any type. Fixes <rdar://problem/8511624>, I think. llvm-svn: 115647
* Fix a block rewriter bug where copy/dispose entries in Fariborz Jahanian2010-10-053-1/+24
| | | | | | | | block descriptor for outer block was missing even though the block was importing objects into its inner blocks. //rdar://84995992 llvm-svn: 115644
* Fix handling of the 'Invalid' argument in SourceManager's methods (patch by ↵Zhanyong Wan2010-10-051-5/+14
| | | | | | Dean Sturtevant, reviewed by chandlerc and Sebastian Redl). llvm-svn: 115638
* Give every file that ASTReader loads a type: module, PCH, precompiled ↵Sebastian Redl2010-10-056-21/+34
| | | | | | preamble or main file. Base Decls' PCHLevel on this to make it more sane. llvm-svn: 115626
* Thread PerFileData through the ASTReader again, this time with the LLVM changes.Sebastian Redl2010-10-054-508/+562
| | | | llvm-svn: 115625
* Register the __builtin_va_list_type node when we parse it, rather thanDouglas Gregor2010-10-054-24/+2
| | | | | | | | waiting until we think we need it: we didn't catch all of the places where we actually needed it, and we probably wouldn't ever. Fixes a C++ PCH crasher. llvm-svn: 115621
* Remove a rogue typoDouglas Gregor2010-10-051-1/+1
| | | | llvm-svn: 115618
* Register the __builtin_va_list_type node when we parse it, rather thanDouglas Gregor2010-10-053-1/+19
| | | | | | | | waiting until we think we need it: we didn't catch all of the places where we actually needed it, and we probably wouldn't ever. Fixes a C++ PCH crasher. llvm-svn: 115617
* * Simplify codeZhongxing Xu2010-10-051-10/+10
| | | | | | * Fix dump() to make it consistent with the test case. llvm-svn: 115609
* Added support for base and member destructors in destructor.Marcin Swiderski2010-10-053-2/+134
| | | | llvm-svn: 115592
* Add test case for r115588.Argyrios Kyrtzidis2010-10-051-0/+13
| | | | llvm-svn: 115590
* In Sema's TryRefInitWithConversionFunction, suppress user conversions for ↵Argyrios Kyrtzidis2010-10-052-3/+5
| | | | | | | | | the overload candidates. Fixes an infinite recursion in overload resolution for rdar://8499524. Many thanks to Doug! llvm-svn: 115588
* If we're resolving all outstanding fixups, and there are multiple fixupsJohn McCall2010-10-051-3/+4
| | | | | | | | | for the same destination, then we must potentially rewrite the initial branch of every fixup. Without this patch, a short-circuit check meant to prevent a switch case from being redundantly added was preventing later fixups from being processed. Fixes PR8175 (again). llvm-svn: 115586
* In the fragile ObjC ABI, save the caught exception to the side if there areJohn McCall2010-10-042-6/+89
| | | | | | | both @catches and a @finally, because the second call to @objc_exception_try_enter will clobber the exception slot. Fixes rdar://problem/8440970. llvm-svn: 115575
* dyn_cast is more appropriate here.Devang Patel2010-10-041-1/+1
| | | | llvm-svn: 115569
* Add missing '}' :)Devang Patel2010-10-041-0/+1
| | | | llvm-svn: 115568
* Emit debug info for an aggregate while processing MemberExpr if the ↵Devang Patel2010-10-041-0/+12
| | | | | | aggregate's debug info was delayed untill now. llvm-svn: 115564
* Fix filename in header comment.Devang Patel2010-10-041-1/+1
| | | | llvm-svn: 115561
* When a type comes from a previously-loaded PCH/AST file, don't try to write ↵Douglas Gregor2010-10-041-0/+5
| | | | | | it into a chained PCH file. llvm-svn: 115527
* www: Add a "Clang Related Projects" page, to collect links to external projectsDaniel Dunbar2010-10-042-0/+56
| | | | | | using Clang in one way or another. Additions welcome! llvm-svn: 115508
* Added support for C++ initializers in CFG.Marcin Swiderski2010-10-043-7/+128
| | | | llvm-svn: 115493
* Change to match 115473.Chris Lattner2010-10-031-1/+1
| | | | llvm-svn: 115474
* Do x86_64.Bill Wendling2010-10-031-1/+1
| | | | llvm-svn: 115460
* Test to verify that all of the MMX builtins are handled by the front-end.Bill Wendling2010-10-031-0/+448
| | | | llvm-svn: 115459
* When providing a block literal as a code completion for aDouglas Gregor2010-10-022-5/+20
| | | | | | | | function/method argument, include the parameter name and always include parentheses (even for zero-parameter blocks). Otherwise, the block literal placeholder '^' can look very weird. llvm-svn: 115444
* Introduce a new libclang function, clang_getCursorDisplayName(), whichDouglas Gregor2010-10-026-2/+127
| | | | | | | | produces a simple "display" name that captures the arguments/parameters for a function, function template, class template, or class template specialization. llvm-svn: 115428
* Teach clang_getCursorType() about base specifiers and other referencesDouglas Gregor2010-10-023-18/+85
| | | | | | | | | | | to types. Also, teach clang_getTypeDeclaration() about template specializations, injected-class-names, and elaborated types. Fixes <rdar://problem/8506460>. llvm-svn: 115425
* the mmx intrinsic for pshufw should map to the IR intrinsic, notChris Lattner2010-10-022-3/+2
| | | | | | | to a shufflevector. Otherwise it doesn't turn into a pshufw. This bug was introduced in the mmx rewrite. llvm-svn: 115423
* When we insert a category (or class extension) into an interface, markDouglas Gregor2010-10-024-0/+25
| | | | | | | | the interface as having changed since it was originally serialized. This ensures that we see class extensions/categories in chained PCH files. llvm-svn: 115421
* Don't add -fno-spell-checking in libclang if a spell-checking-related ↵Douglas Gregor2010-10-021-3/+11
| | | | | | argument is already in the command-line arguments llvm-svn: 115420
* Provide proper source location and range information for C++ baseDouglas Gregor2010-10-022-8/+15
| | | | | | | specifier cursors in libclang. FIXME -=2, fixes the rest of <rdar://problem/8274883>. llvm-svn: 115419
* Implement chained PCH support for the macro definitions stored withinDouglas Gregor2010-10-027-25/+66
| | | | | | the "detailed" preprocessing record. llvm-svn: 115417
* Use ParseObjCSelectorPiece for parsing getter and setter names in @property ↵Anders Carlsson2010-10-024-14/+27
| | | | | | declarations. Fixes PR8169. llvm-svn: 115411
* Rename a test in preparation for fixing PR8169.Anders Carlsson2010-10-022-35/+41
| | | | llvm-svn: 115410
* when expanding a builtin, if the argument is required to be a constant,Chris Lattner2010-10-021-3/+40
| | | | | | | | | force it to be a constant instead of emitting with EmitScalarExpr. In -ftrapv mode, they are not the same. This fixes rdar://8478728 + PR8221 llvm-svn: 115388
* Don't add an imported function into its lexical context until *after*Douglas Gregor2010-10-013-2/+12
| | | | | | | we've set all of its parameters. Fixes <rdar://problem/8499598>; thanks to Sean for the diagnosis. llvm-svn: 115387
* tidyChris Lattner2010-10-011-3/+3
| | | | llvm-svn: 115383
* kill off CheckX86BuiltinFunctionCallChris Lattner2010-10-012-10/+0
| | | | llvm-svn: 115382
* move imperative code to declarative definitions.Chris Lattner2010-10-012-25/+3
| | | | llvm-svn: 115381
* Mark explict methods as explict in debug info.Devang Patel2010-10-012-1/+24
| | | | llvm-svn: 115379
* diagnose errors when a builtin that require constant arguments don't have them.Chris Lattner2010-10-012-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | For example, on: #include <emmintrin.h> int foo(int N) { __m128i white2; white2 = _mm_slli_si128(white2, N); return 0; } we used to get: fatal error: error in backend: Cannot yet select: intrinsic %llvm.x86.sse2.psll.dq now we get: /Users/sabre/t.c:4:11: error: argument to '__builtin_ia32_pslldqi128' must be a constant integer white2 = _mm_slli_si128(white2, N); ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /Users/sabre/t.c:1: /Volumes/Projects/cvs/llvm/Debug+Asserts/lib/clang/2.9/include/emmintrin.h:781:13: note: instantiated from: ((__m128i)__builtin_ia32_pslldqi128((__m128i)(VEC), (IMM)*8)) ^ ~~~~~~~ 1 error generated. llvm-svn: 115374
* enhance ASTContext::GetBuiltinType to return a bitmask indicating which ↵Chris Lattner2010-10-012-14/+35
| | | | | | | | arguments are required to be ICE's. No clients of this new functionality yet! llvm-svn: 115366
* random cleanups, no functionality change.Chris Lattner2010-10-011-41/+42
| | | | llvm-svn: 115361
* Doug's feedbackGabor Greif2010-10-011-1/+1
| | | | llvm-svn: 115356
OpenPOWER on IntegriCloud