summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a test case test_process_info_with_no_arg(self) to 'class ↵Johnny Chen2011-05-091-0/+5
| | | | | | | | PlatformCommandTestCase' for http://llvm.org/viewvc/llvm-project?rev=131089&view=rev. llvm-svn: 131100
* When determining whether we need to instantiate a function type,Douglas Gregor2011-05-092-0/+28
| | | | | | | also consider whether any of the parameter types (as written, prior to decay) are dependent. Fixes PR9880 and <rdar://problem/9408413>. llvm-svn: 131099
* Check architectures to make sure that we can build for all of themEric Christopher2011-05-091-4/+17
| | | | | | | | before we try to. Patch by Patrick Walton! llvm-svn: 131098
* Revert some unintended project changes from my last checkin.Greg Clayton2011-05-092-15/+6
| | | | llvm-svn: 131097
* While implementing unwind information using UnwindAssemblyInstEmulation I ranGreg Clayton2011-05-0939-1803/+2610
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into some cleanup I have been wanting to do when reading/writing registers. Previously all RegisterContext subclasses would need to implement: virtual bool ReadRegisterBytes (uint32_t reg, DataExtractor &data); virtual bool WriteRegisterBytes (uint32_t reg, DataExtractor &data, uint32_t data_offset = 0); There is now a new class specifically designed to hold register values: lldb_private::RegisterValue The new register context calls that subclasses must implement are: virtual bool ReadRegister (const RegisterInfo *reg_info, RegisterValue &reg_value) = 0; virtual bool WriteRegister (const RegisterInfo *reg_info, const RegisterValue &reg_value) = 0; The RegisterValue class must be big enough to handle any register value. The class contains an enumeration for the value type, and then a union for the data value. Any integer/float values are stored directly in an appropriate host integer/float. Anything bigger is stored in a byte buffer that has a length and byte order. The RegisterValue class also knows how to copy register value bytes into in a buffer with a specified byte order which can be used to write the register value down into memory, and this does the right thing when not all bytes from the register values are needed (getting a uint8 from a uint32 register value..). All RegiterContext and other sources have been switched over to using the new regiter value class. llvm-svn: 131096
* Tidy up. 80-column and whitespace.Jim Grosbach2011-05-093-72/+73
| | | | llvm-svn: 131094
* Look through struct wrapped types for inline asm statments.Eric Christopher2011-05-092-0/+12
| | | | | | Patch by Evan Cheng. llvm-svn: 131093
* Updated type_traits and the type_traits design doc with recent work done in ↵Howard Hinnant2011-05-092-41/+67
| | | | | | clang. llvm-svn: 131090
* Fix the wrong error message for "platform process info", i.e., with no ↵Johnny Chen2011-05-091-2/+2
| | | | | | pid(s) specified for the command. llvm-svn: 131089
* Change a few std::maps to DenseMaps.Dan Gohman2011-05-092-7/+7
| | | | llvm-svn: 131088
* Rename "hasTrivialConstructor" to "hasTrivialDefaultConstructor" andAlexis Hunt2011-05-0917-72/+95
| | | | | | | modify the semantics slightly to accomodate default constructors (I hope). llvm-svn: 131087
* Fix td file comments for Mips.Eric Christopher2011-05-093-3/+7
| | | | | | Patch by Liu <proljc@gmail.com>! llvm-svn: 131086
* Fixed MC encoding for index_align for VLD1/VST1 (single element from one ↵Mon P Wang2011-05-095-2/+61
| | | | | | lane) for size 32 llvm-svn: 131085
* Driver/Darwin: Put dsymutil -o arguments first, so that dysmutil doesn't barfDaniel Dunbar2011-05-092-5/+5
| | | | | | | when POSIXLY_COMPLIANT is set. - Patch by Dave Vasilevsky! llvm-svn: 131084
* Indent properly, no functionality change.Duncan Sands2011-05-091-12/+12
| | | | llvm-svn: 131082
* Fixed an issue with the MacOSX backchain register context where the pc wasGreg Clayton2011-05-091-1/+1
| | | | | | being returned for both the PC and FP. llvm-svn: 131081
* __builtin_va_list is void* on ARM, not char*.John McCall2011-05-092-1/+6
| | | | | | rdar://problem/9391966 llvm-svn: 131080
* Change an unconditional log to a conditional one.Jim Ingham2011-05-091-2/+2
| | | | llvm-svn: 131079
* Eliminate an unused line to fix a warning.NAKAMURA Takumi2011-05-081-1/+0
| | | | llvm-svn: 131078
* Fix test.Francois Pichet2011-05-081-2/+1
| | | | llvm-svn: 131077
* Allow implicit conversion from function pointer to void* in Microsoft mode. Francois Pichet2011-05-082-1/+20
| | | | | | Necessary to parse MFC code. llvm-svn: 131076
* Move code to emit the callee of an CXXOperatorCallExpr out into a separate ↵Anders Carlsson2011-05-083-12/+137
| | | | | | function in CGClass.cpp llvm-svn: 131075
* Restore an accidentally-deleted word.Alexis Hunt2011-05-081-1/+1
| | | | llvm-svn: 131074
* Remove an assertion to fix PR9872.Jakob Stoklund Olesen2011-05-082-1/+6
| | | | | | | | | | | | | | | | | | | | It can happen that a live debug variable is the last use of a sub-register, and the register allocator will pick a larger register class for the virtual register. If the allocated register doesn't support the sub-register index, just use %noreg for the debug variables instead of asserting. In PR9872, a debug variable ends up in the sub_8bit_hi part of a GR32_ABCD register. The register is split and one part is inflated to GR32 and assigned %ESI because there are no more normal uses of sub_8bit_hi. Since %ESI doesn't have that sub-register, substPhysReg asserted. Now it will simply insert a %noreg instead, and the debug variable will be marked unavailable in that range. We don't currently have a way of saying: !"value" is in bits 8-15 of %ESI, I don't know if DWARF even supports that. llvm-svn: 131073
* Fix docstring.Johnny Chen2011-05-081-1/+1
| | | | llvm-svn: 131072
* X86: Add a bunch of peeps for add and sub of SETB.Benjamin Kramer2011-05-083-4/+109
| | | | | | | | | | | | | | | | "b + ((a < b) ? 1 : 0)" compiles into cmpl %esi, %edi adcl $0, %esi instead of cmpl %esi, %edi sbbl %eax, %eax andl $1, %eax addl %esi, %eax This saves a register, a false dependency on %eax (Intel's CPUs still don't ignore it) and it's shorter. llvm-svn: 131070
* Add test scenario to verify 'eax' register is available when launching the ↵Johnny Chen2011-05-082-0/+33
| | | | | | | | | | i386 slice of a universal binary and 'rax' register is available when launching the x86_64 slice. rdar://problem/9403437 llvm-svn: 131069
* Don't emit complete constructors for abstract classes. Also, don't emitAnders Carlsson2011-05-082-2/+25
| | | | | | | complete destructors for abstract classes unless the destructor is virtual and thus needs to be in the vtable. llvm-svn: 131068
* Don't force relaxation of AdvanceLoc instructions on OS X. gdb is happy withRafael Espindola2011-05-083-15/+7
| | | | | | | the smaller encoding and this cuts 270336 bytes from a release version of clang and 1246272 bytes from a debug build. llvm-svn: 131067
* Look at all the record redeclaration when looking for a uuid attribute.Francois Pichet2011-05-081-4/+5
| | | | llvm-svn: 131066
* Relax the conversion rules for Objective-C GC qualifiers aDouglas Gregor2011-05-085-5/+62
| | | | | | | | | | | | | | | | | | | | | | bit by allowing __weak and __strong to be added/dropped as part of implicit conversions (qualification conversions in C++). A little history: GCC lets one add/remove/change GC qualifiers just about anywhere, implicitly. Clang did roughly the same before, but we recently normalized the semantics of qualifiers across the board to get a semantics that we could reason about (yay). Unfortunately, this tightened the screws a bit too much for GC qualifiers, where it's common to add/remove these qualifiers at will. Overall, we're still in better shape than we were before: we don't permit directly changing the GC qualifier (e.g., __weak -> __strong), so type safety is improved. More importantly, we're internally consistent in our handling of qualifiers, and the logic that allows adding/removing GC qualifiers (but not adding/removing address spaces!) only touches two obvious places. Fixes <rdar://problem/9402499>. llvm-svn: 131065
* Fixed not being able to launch the i386 slice of a universal binary by addingGreg Clayton2011-05-085-0/+35
| | | | | | | | a new "QLaunchArch:<arch-name>" where <arch-name> is the architecture name. This allows us to remotely launch a debugserver and then set the architecture for the binary we will launch. llvm-svn: 131064
* Added support for reading untyped symbols. Right nowSean Callanan2011-05-084-49/+223
| | | | | | | they are treated as pointers of type (void*). This allows reading of environ, for instance. llvm-svn: 131063
* PR9869: Add explicit destructor declarations to Operator subclasses, to allowEli Friedman2011-05-081-8/+26
| | | | | | compiling Operator.h with gcc 4.6 in C++0x mode. llvm-svn: 131062
* StepUntil should check whether the target of the step until is in the currentJim Ingham2011-05-082-12/+64
| | | | | | function and if not return an error. llvm-svn: 131061
* In C++, allow us to emit a global as 'constant' even if it has classDouglas Gregor2011-05-072-7/+20
| | | | | | | type, so long as it is known to have a constant initializer and the class type is a POD class. Fixes <rdar://problem/9306265>. llvm-svn: 131060
* Eliminate the ARM sub-register indexes that are not needed by the sources.Jakob Stoklund Olesen2011-05-071-33/+6
| | | | | | | Tablegen will invent its own names for these indexes, and the register file is a bit simpler. llvm-svn: 131059
* Teach TableGen to automatically generate missing SubRegIndex instances.Jakob Stoklund Olesen2011-05-073-22/+47
| | | | | | | The RegisterInfo.td file should only specify the indexes that sources need to refer to. The rest is inferred. llvm-svn: 131058
* Revert r130717, which caused a regression (<rdar://problem/9402621>).Douglas Gregor2011-05-073-38/+4
| | | | llvm-svn: 131057
* Fix comments per Duncan's review.Eli Friedman2011-05-071-3/+3
| | | | llvm-svn: 131055
* Zap unnecessary svn:ignore.Eli Friedman2011-05-070-0/+0
| | | | llvm-svn: 131054
* Don't fail at parsing __declspec(property(get=get_func_name)). Just skip ↵Francois Pichet2011-05-071-0/+8
| | | | | | everything inside property() for now while we wait for the BoostPro people to provide a complete patch. llvm-svn: 131053
* PR9866: Fix the implementation of _mm_loadl_pd and _mm_loadh_pd to not makeEli Friedman2011-05-071-2/+2
| | | | | | bad assumptions about the alignment of the double* argument. llvm-svn: 131052
* Temporary preprocessor hack to get around the Microsoft __identifier(x) ↵Francois Pichet2011-05-072-0/+4
| | | | | | | | | | | extension. http://msdn.microsoft.com/en-us/library/hzc8ytsz(v=VS.100).aspx Microsoft doc claims this is a C++/CLI feature but it is really always enabled. This removes 2 error when parsing MFC code with clang. llvm-svn: 131051
* Add support for _if_exists and __if_not_exists at namespace/global scope.Francois Pichet2011-05-074-43/+105
| | | | llvm-svn: 131050
* The comparision "max(x,y)==x" is equivalent to "x>=y". Since the max isDuncan Sands2011-05-072-10/+92
| | | | | | | often expressed as "x >= y ? x : y", there is a good chance we can extract the existing "x >= y" from it and use that as a replacement for "max(x,y)==x". llvm-svn: 131049
* Fix the non-MC encoding of pkhbt and pkhtb.Eric Christopher2011-05-071-0/+6
| | | | | | Patch by Stephen Hines. llvm-svn: 131045
* Revert ExecutionEngine patches, they either failed to build or broke unit tests.Jakob Stoklund Olesen2011-05-0711-59/+176
| | | | | | Please ensure the build is clean and tests are passing when recommitting. llvm-svn: 131044
* Patch for PR 7409 - only error on definition of invalid typedefs. Suppress ↵Richard Trieu2011-05-072-3/+38
| | | | | | errors for additional uses of this invalid typedef. llvm-svn: 131043
* Made expressions that are just casts of pointer Sean Callanan2011-05-0713-159/+384
| | | | | | | | | | | | variables be evaluated statically. Also fixed a bug that caused the results of statically-evaluated expressions to be materialized improperly. This bug also removes some duplicate code. llvm-svn: 131042
OpenPOWER on IntegriCloud