summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Hexagon: enable assembler output through the MC layer.Evandro Menezes2012-04-1216-376/+685
| | | | llvm-svn: 154597
* Compute standard conversion sequences for conversions to atomicDouglas Gregor2012-04-123-11/+76
| | | | | | | | | | | | types. The second and third conversions in the sequence are based on the conversion for the underlying type, so that we get sensible overloading behavior for, e.g., _Atomic(int) vs. _Atomic(float). As part of this, actually implement the lvalue-to-rvalue conversion for atomic types. There is probably a pile of code in SemaExpr that can now be deleted, but I haven't tracked it down yet. llvm-svn: 154596
* objective-c numeric literal: type of boolean isFariborz Jahanian2012-04-123-2/+54
| | | | | | | that of typedef BOOL if found. // rdar://11231426 llvm-svn: 154595
* Make sure frozen_sp for a ClangExpressionVariableSean Callanan2012-04-121-1/+2
| | | | | | is non-NULL before asking for its name. llvm-svn: 154593
* modern objective-c translator. ifdef'out Fariborz Jahanian2012-04-122-1/+11
| | | | | | | __weak and __block when rewriting. // rdar://11236342 llvm-svn: 154592
* Fix the signatures for the _mm256_storeu2_* intrinsics.Chad Rosier2012-04-121-3/+3
| | | | | | PR12532 llvm-svn: 154591
* Add DFA generator for VLIW targets to ReleaseNotes.html and CREDITS.TXT.Anshuman Dasgupta2012-04-122-0/+10
| | | | llvm-svn: 154590
* [asan] minor fix: pass flag -g to output tests as a part of CXXFLAGSAlexey Samsonov2012-04-121-3/+3
| | | | llvm-svn: 154589
* Remove README entry obsoleted by register masks.Benjamin Kramer2012-04-121-16/+0
| | | | llvm-svn: 154588
* Remove a remaining reference to the obsolete C backend in configureJean-Daniel Dupas2012-04-122-2/+2
| | | | llvm-svn: 154587
* CodeGen: Generate scalar code if vector instructions cannot be generatedTobias Grosser2012-04-124-7/+194
| | | | | | | | This fixes two crashes that appeared in case of: - A load of a non vectorizable type (e.g. float**) - An instruction that is not vectorizable (e.g. call) llvm-svn: 154586
* Changed all direct calls to CompletionConsumer.reset(..) to go callErik Verbruggen2012-04-121-4/+4
| | | | | | | | CompilerInstance::setCodeCompletionConsumer instead, in order to change the SkipFunctionBodies flag accordingly. Also fixed setCodeCompletionConsumer to take a reset() to null into account. llvm-svn: 154585
* Added a flag to the parser to skip method bodies.Erik Verbruggen2012-04-1215-34/+106
| | | | llvm-svn: 154584
* Don't build atomic.c when building compiler-rt using makeAlexey Samsonov2012-04-121-1/+6
| | | | llvm-svn: 154583
* There's some code in the PCH reader that looks like it's needlessly complex, butNick Lewycky2012-04-124-0/+21
| | | | | | | turns out that it's actually needed for C++ modules support. Since simplifying it didn't cause any test failures, I'll add a test for it. llvm-svn: 154582
* [ASan] fix output tests - r154570 changed debug info for static functions ↵Alexey Samsonov2012-04-121-1/+1
| | | | | | and now they are symbolized a bit differently llvm-svn: 154581
* Fix 128-bit ptest intrinsics to take v2i64 instead of v4f32 since these are ↵Craig Topper2012-04-124-25/+25
| | | | | | integer instructions. llvm-svn: 154580
* Implement support for 18 of the GNU-compatible __atomic builtins.Richard Smith2012-04-1211-281/+732
| | | | | | | | | | | | This is not quite sufficient for libstdc++'s <atomic>: we still need __atomic_test_and_set and __atomic_clear, and may need a more complete __atomic_is_lock_free implementation. We are also missing an implementation of __atomic_always_lock_free, __atomic_nand_fetch, and __atomic_fetch_nand, but those aren't needed for libstdc++. llvm-svn: 154579
* These functions too have no prototypes. Audited the rest of Sema forEric Christopher2012-04-122-4/+4
| | | | | | | | FunctionDecl::Create calls as well. rdar://11079003 llvm-svn: 154578
* ARM 'adr' fixups don't need the interworking addend tweaking.Jim Grosbach2012-04-121-0/+3
| | | | | | | | They reference the PC directly, so things work properly that way. rdar://11231229 llvm-svn: 154576
* Make the default architectures to run as both 64 and 32-bit.Johnny Chen2012-04-121-1/+1
| | | | | | rdar://problem/11031264 llvm-svn: 154573
* Testcase for previous commit.Eric Christopher2012-04-121-0/+10
| | | | | | rdar://11079003 llvm-svn: 154571
* static functions have a need for mangled name debug information too.Eric Christopher2012-04-121-3/+4
| | | | | | | | | The mangler doesn't like non-prototyped functions so only use a mangled name for prototyped functions. rdar://11079003 llvm-svn: 154570
* The copy and destroy helper functions aren't prototyped, don't call themEric Christopher2012-04-122-3/+3
| | | | | | so. llvm-svn: 154569
* Implement clang_getDiagnosticCategoryText() to provide a way for a client of ↵Ted Kremenek2012-04-129-8/+65
| | | | | | | | | libclang to accurately get the diagnostic category name from a serialized diagnostic when the version of libclang used to read the diagnostic file is newer than the clang that emitted the diagnostic file. llvm-svn: 154567
* modern objective-c translator. Fixes a mis-translation whenFariborz Jahanian2012-04-112-0/+22
| | | | | | of a __block struct object. // rdar://11230308 llvm-svn: 154566
* Add test for a construct we currently reject, constant-evaluating a load ↵Eli Friedman2012-04-111-0/+4
| | | | | | from a constant string. Given that gcc doesn't accept this, we should continue to not accept it, even though it was accidentally supported by clang for a brief period. llvm-svn: 154564
* Revert changes that were accidentally committed.Akira Hatanaka2012-04-111-2/+1
| | | | llvm-svn: 154563
* Fix string that is being checked.Akira Hatanaka2012-04-111-5/+6
| | | | llvm-svn: 154547
* Emit neg.s or neg.d only if -enable-no-nans-fp-math is supplied by user,Akira Hatanaka2012-04-113-3/+26
| | | | | | otherwise expand FNEG during legalization. llvm-svn: 154546
* Emit abs.s or abs.d only if -enable-no-nans-fp-math is supplied by user.Akira Hatanaka2012-04-114-0/+117
| | | | | | Invalid operation is signaled if the operand of these instructions is NaN. llvm-svn: 154545
* Fixed a case of ARM disassembly getting an assert on a bad encodingKevin Enderby2012-04-112-0/+15
| | | | | | of a VST instruction. llvm-svn: 154544
* [analyzer] Another dynamic_cast false positive/negative.Anna Zaks2012-04-111-0/+7
| | | | llvm-svn: 154543
* [analyzer] dynamic_cast Simplify null value generation.Anna Zaks2012-04-111-8/+2
| | | | | | | | As per Jordy's review. Creating a symbol here is more flexible; however I could not come up with an example where it was needed. (What constrains can be added on of the symbol constrained to 0?) llvm-svn: 154542
* [analyzer] Better test cases for explaining where tracking types ofAnna Zaks2012-04-111-5/+35
| | | | | | | | symbolic regions would help. Thanks to Richard Smith. llvm-svn: 154541
* Fix bugs in lowering of FCOPYSIGN nodes.Akira Hatanaka2012-04-113-95/+183
| | | | | | | | | | - FCOPYSIGN nodes that have operands of different types were not handled. - Different code was generated depending on the endianness of the target. Additionally, code is added that emits INS and EXT instructions, if they are supported by target (they are R2 instructions). llvm-svn: 154540
* Fixed a crash in Clang when a superclass of anSean Callanan2012-04-111-0/+15
| | | | | | | Objective-C class doesn't have a definition but Clang tries to read through its protocols anyway. llvm-svn: 154538
* Cleaned up code that was getting SBData for an SBInstruction.Greg Clayton2012-04-114-34/+77
| | | | llvm-svn: 154535
* modern objective-c translator. Fixes a translation bug when Fariborz Jahanian2012-04-112-18/+34
| | | | | | | first ivar in the list is a bitfield. // rdar://11229770 llvm-svn: 154534
* Remove incorrect comment.Jim Grosbach2012-04-111-1/+1
| | | | llvm-svn: 154533
* Tidy up. Remove hard tab characters.Jim Grosbach2012-04-111-28/+28
| | | | llvm-svn: 154532
* Tidy up. Whitespace.Jim Grosbach2012-04-112-5/+5
| | | | llvm-svn: 154531
* Part of PR10101: after a parse error in a declaration, try harder to find theRichard Smith2012-04-114-6/+110
| | | | | | | right place to pick up parsing. In C++, this had a tendency to skip everything declared within headers if the TU starts with garbage. llvm-svn: 154530
* Fix pasto.Benjamin Kramer2012-04-111-1/+1
| | | | llvm-svn: 154527
* Apply noexcept and constexpr to <atomic>.Howard Hinnant2012-04-111-323/+323
| | | | llvm-svn: 154526
* [libclang] Apparently it's important to build in C89, sigh..Argyrios Kyrtzidis2012-04-111-1/+2
| | | | llvm-svn: 154525
* [libclang] Introduce a couple of functions to make it convenientArgyrios Kyrtzidis2012-04-117-8/+71
| | | | | | | | | | | to get at the parameters (and their types) of a function or objc method cursor. int clang_Cursor_getNumArguments(CXCursor C); CXCursor clang_Cursor_getArgument(CXCursor C, unsigned i); rdar://11201527 llvm-svn: 154523
* Typo.Chad Rosier2012-04-111-1/+1
| | | | llvm-svn: 154522
* Switch libc++ from __atomic_* builtins to __c11_atomic_* builtins.Richard Smith2012-04-111-38/+38
| | | | | | | | | | Per discussion with Howard, we are not interested in maintaining compatibility with older versions of clang. All tests pass with ToT clang, except for two which assert due to a pre-existing, unrelated bug. llvm-svn: 154521
* Cleaned up the code and we now also dump the dynamic object for the malloc ↵Greg Clayton2012-04-111-88/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | block. Using this on the lldb/test/lang/objc/foundation test we can see this in action: First we can load the module: (lldb) command script import /Volumes/work/gclayton/Documents/src/lldb/examples/darwin/heap_find/heap.py Loading "/Volumes/work/gclayton/Documents/src/lldb/examples/darwin/heap_find/libheap.dylib"...ok Image 0 loaded. "heap_ptr_refs" and "heap_cstr_refs" commands have been installed, use the "--help" options on these commands for detailed help. Lets take a look at the variable "my": (lldb) fr var *my (MyString) *my = { MyBase = { NSObject = { isa = MyString } propertyMovesThings = 0 } str = 0x0000000100301a60 date = 0x0000000100301e60 _desc_pauses = NO } We can see that this contains an ivar "str" which has a pointer value of "0x0000000100301a60". Lets search the heap for this pointer and see what we find: (lldb) heap_ptr_refs 0x0000000100301a60 found pointer 0x0000000100301a60: block = 0x103800270, size = 384, offset = 168, type = 'void *' found pointer 0x0000000100301a60: block = 0x100301cf0, size = 48, offset = 16, type = 'MyString *', ivar = 'str' (MyString) *addr = { MyBase = { NSObject = { isa = MyString } propertyMovesThings = 0 } str = 0x0000000100301a60 date = 0x0000000100301e60 _desc_pauses = NO } found pointer 0x0000000100301a60: block = 0x100820000, size = 4096, offset = 96, type = (autorelease object pool) found pointer 0x0000000100301a60: block = 0x100820000, size = 4096, offset = 104, type = (autorelease object pool) Note that it used dynamic type info to find that it was in "MyString" at offset 16 and it also found the ivar "str"! We can also look for C string values on the heap. Lets look for "a.out": (lldb) heap_cstr_refs "a.out" found cstr a.out: block = 0x10010ce00, size = 96, offset = 85, type = '__NSCFString *' found cstr a.out: block = 0x100112d90, size = 80, offset = 68, type = 'void *' found cstr a.out: block = 0x100114490, size = 96, offset = 85, type = '__NSCFString *' found cstr a.out: block = 0x100114530, size = 112, offset = 97, type = '__NSCFString *' found cstr a.out: block = 0x100114e40, size = 32, offset = 17, type = '__NSCFString *' found cstr a.out: block = 0x100114fa0, size = 32, offset = 17, type = '__NSCFString *' found cstr a.out: block = 0x100300780, size = 160, offset = 128, type = '__NSCFData *' found cstr a.out: block = 0x100301a60, size = 112, offset = 97, type = '__NSCFString *' found cstr a.out: block = 0x100821000, size = 4096, offset = 100, type = 'void *' We see we have some objective C classes that contain this, so lets "po" all of the results by adding the --po option: (lldb) heap_cstr_refs a.out --po found cstr a.out: block = 0x10010ce00, size = 96, offset = 85, type = '__NSCFString *' (__NSCFString *) 0x10010ce00 /Volumes/work/gclayton/Documents/src/lldb/test/lang/objc/foundation/a.out found cstr a.out: block = 0x100112d90, size = 80, offset = 68, type = 'void *' found cstr a.out: block = 0x100114490, size = 96, offset = 85, type = '__NSCFString *' (__NSCFString *) 0x100114490 /Volumes/work/gclayton/Documents/src/lldb/test/lang/objc/foundation/a.out found cstr a.out: block = 0x100114530, size = 112, offset = 97, type = '__NSCFString *' (__NSCFString *) 0x100114530 Hello from '/Volumes/work/gclayton/Documents/src/lldb/test/lang/objc/foundation/a.out' found cstr a.out: block = 0x100114e40, size = 32, offset = 17, type = '__NSCFString *' (__NSCFString *) 0x100114e40 a.out.dSYM found cstr a.out: block = 0x100114fa0, size = 32, offset = 17, type = '__NSCFString *' (__NSCFString *) 0x100114fa0 a.out found cstr a.out: block = 0x100300780, size = 160, offset = 128, type = '__NSCFData *' (__NSCFData *) 0x100300780 <48656c6c 6f206672 6f6d2027 2f566f6c 756d6573 2f776f72 6b2f6763 6c617974 6f6e2f44 6f63756d 656e7473 2f737263 2f6c6c64 622f7465 73742f6c 616e672f 6f626a63 2f666f75 6e646174 696f6e2f 612e6f75 742700> found cstr a.out: block = 0x100301a60, size = 112, offset = 97, type = '__NSCFString *' (__NSCFString *) 0x100301a60 Hello from '/Volumes/work/gclayton/Documents/src/lldb/test/lang/objc/foundation/a.out' found cstr a.out: block = 0x100821000, size = 4096, offset = 100, type = 'void *' llvm-svn: 154519
OpenPOWER on IntegriCloud