- Apr 02, 2013
-
-
Howard Hinnant authored
The cmake script is failing to copy cxxabi.h to the right place because it was generating to destination path like so /include// and dstdir can legally be blank from my interpretation of the script, and this would then generate a path like libcxx/include// which is illegal. llvm-svn: 178579
-
Enrico Granata authored
- make an overload of Launch() that takes an init list of const char* if all you need to tweak in the launch info are the command-line arguments - make Run() return an int that you can use as an exit-code - make dynamic values work properly when recursing in FetchVariables() - make the po output more obvious in verbose mode llvm-svn: 178578
-
rdar://problem/13415737Enrico Granata authored
Fixing a bug where LLDB was not handling correctly CFStrings that have an explicit length but no NULL terminator The data formatter was showing garbled data as part of the summary The fix is to explicitly figure out the explicit length if we need to (bitfields tell us when that is the case) and use that as a size delimiter llvm-svn: 178577
-
Howard Hinnant authored
implementation of std::is_polymorphic does this: template <class _Tp> struct __is_polymorphic1 : public _Tp {}; ... and that g++ rejects this if _Tp has an inaccessible virtual destructor (because __is_polymorphic1<_Tp> would have a deleted virtual destructor overriding _Tp's non-deleted destructor). Clang was failing to reject this; I've fixed that in r178563, but that causes libc++'s corresponding test case to fail with both clang and gcc when using the fallback implementation. The fallback code also incorrectly rejects final types. The attached patch fixes the fallback implementation of is_polymorphic; we now use dynamic_cast's detection of polymorphic class types rather than trying to determine if adding a virtual function makes the type larger: enable_if<sizeof((_Tp*)dynamic_cast<const volatile void*>(declval<_Tp*>())) != 0, ...> Two things of note here: * the (_Tp*) cast is necessary to work around bugs in Clang and g++ where we otherwise don't instantiate the dynamic_cast (filed as PR15656) * the 'const volatile' is here to treat is_polymorphic<cv T> as true for a polymorphic class type T -- my reading of the standard suggests this is incorrect, but it matches our builtin __is_polymorphic and gcc llvm-svn: 178576
-
Edwin Vane authored
For variable declarations initialized with new expressions, use 'auto' for the type specifier. The 'auto' replacement happens only when the type of the VarDecl exactly matches the type of the initializer and the VarDecl is *not* CV-qualified. The only case that is currently handled is if the pointer type of the VarDecl is itself CV qualified. Some improvements need to be made to Clang's TypeLoc information in order for other CV qualifier cases to be successfully handled. See the new test suite new_cv_failing.cpp for examples of usages that could be handled with such an improvement. Function pointers are, for now, not transformed until the identifier info can be extracted. Reviewer: klimek llvm-svn: 178575
-
rdar://problem/13516463Greg Clayton authored
Don't crash when there is no register context for a thread with kernel debugging. The kernel debugging uses the OperatingSystemPlugin that may behave badly when trying to get thread state, so be prepared to have invalid register contexts in threads. llvm-svn: 178574
-
Sean Callanan authored
when we changed "rb" to "rbreak". <rdar://problem/13552724> llvm-svn: 178573
-
Stefanus Du Toit authored
llvm-svn: 178572
-
Daniel Malea authored
llvm-svn: 178569
-
Chad Rosier authored
llvm-svn: 178568
-
Jakub Staszak authored
llvm-svn: 178567
-
Chad Rosier authored
qualifiers. This patch only adds support for parsing these identifiers in the X86AsmParser. The front-end interface isn't capable of looking up these identifiers at this point in time. The end result is the compiler now errors during object file emission, rather than at parse time. Test case coming shortly. Part of rdar://13499009 and PR13340 llvm-svn: 178566
-
Howard Hinnant authored
llvm-svn: 178565
-
Manman Ren authored
Add utilities to create struct nodes in TBAA type DAG and to create path-aware tags. The format of struct nodes in TBAA type DAG: a unique name, a list of fields with field offsets and field types. The format of path-aware tags: a base type in TBAA type DAG, an access type and an offset relative to the base type. llvm-svn: 178564
-
Richard Smith authored
overriding a non-deleted virtual function. The existing check for this doesn't catch this case, because it fires before we mark the method as deleted. llvm-svn: 178563
-
Fariborz Jahanian authored
about 'isa' ivar being explicitely accessed when base is a user class object reference. // rdar://13503456 llvm-svn: 178562
-
Richard Smith authored
llvm-svn: 178561
-
Bill Schmidt authored
When doing a partword atomic operation, a lwarx was being paired with a stdcx. instead of a stwcx. when compiling for a 64-bit target. The target has nothing to do with it in this case; we always need a stwcx. Thanks to Kai Nacke for reporting the problem. llvm-svn: 178559
-
Jakob Stoklund Olesen authored
This should fix the PPC buildbots. llvm-svn: 178558
-
Edwin Vane authored
Updated tests and docs. llvm-svn: 178556
-
Alexander Kornienko authored
llvm-svn: 178554
-
Jakob Stoklund Olesen authored
The new instruction scheduling models provide information about the number of cycles consumed on each processor resource. This makes it possible to estimate ILP more accurately than simply counting instructions / issue width. The functions getResourceDepth() and getResourceLength() now identify the limiting processor resource, and return a cycle count based on that. This gives more precise resource information, particularly in traces that use one resource a lot more than others. llvm-svn: 178553
-
Greg Clayton authored
llvm-svn: 178552
-
Reid Kleckner authored
The IHM_ prefix was a fairly gross abbreviation to try to hit three characters for uniqueness. llvm-svn: 178551
-
Reid Kleckner authored
llvm-svn: 178550
-
Chad Rosier authored
llvm-svn: 178549
-
Reid Kleckner authored
Summary: This makes it possible to share code between lib/AST/MicrosoftCXXABI.cpp and lib/CodeGen/MicrosoftCXXABI.cpp. No functionality change. Also adds comments about the layout of the member pointer structs as I currently understand them. Reviewers: rjmccall CC: timurrrr, cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D590 llvm-svn: 178548
-
Arnold Schwaighofer authored
This is helps on architectures where i8,i16 are not legal but we have byte, and short loads/stores. Allowing us to merge copies like the one below on ARM. copy(char *a, char *b, int n) { do { int t0 = a[0]; int t1 = a[1]; b[0] = t0; b[1] = t1; radar://13536387 llvm-svn: 178546
-
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077132.htmlHoward Hinnant authored
llvm-svn: 178545
-
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077131.htmlHoward Hinnant authored
llvm-svn: 178544
-
Alexander Kornienko authored
case when [[clang::fallthrough]]; is used in a method of a local class. llvm-svn: 178543
-
Daniel Jasper authored
Basically we have always special-cased the top-level statement of an unwrapped line (the one with ParenLevel == 0) and that lead to several inconsistencies. All added tests were formatted in a strange way, for example: Before: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(); if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()) { } After: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(); if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()) { } llvm-svn: 178542
-
Preston Gurd authored
call memory indirect (32 and 64 bit). llvm-svn: 178541
-
Benjamin Kramer authored
Fixes PR15642. llvm-svn: 178540
-
Benjamin Kramer authored
llvm-svn: 178539
-
Alexey Samsonov authored
llvm-svn: 178538
-
Alexander Kornienko authored
Summary: Store comments in ScopedLineState Reviewers: klimek, djasper Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D609 llvm-svn: 178537
-
Justin Holewinski authored
llvm-svn: 178536
-
Alexander Potapenko authored
WTFAnnotateBenignRaceSized and AnnotateBenignRaceSized. llvm-svn: 178534
-
Bill Wendling authored
The iterator could be invalidated when it's recursively deleting a whole bunch of constant expressions in a constant initializer. Note: This was only reproducible if `opt' was run on a `.bc' file. If `opt' was run on a `.ll' file, it wouldn't crash. This is why the test first pushes the `.ll' file through `llvm-as' before feeding it to `opt'. PR15440 llvm-svn: 178531
-