- Mar 06, 2013
-
-
Howard Hinnant authored
llvm-svn: 176568
-
Argyrios Kyrtzidis authored
Stat'ing all the headers from the PCH to make sure they are up-to-date takes significant time. In a particular source file (whose PCH file included Cocoa.h) from total -fsyntax-only time 12% was just stat calls. Change pre-validation to only check non-system headers. There are some notable disadvantages: -If a system header, that is not include-guarded, changes after the PCH was created, we will not find it in the header info table and we will #import it, effectively #importing it twice, thus we will emit some error due to a multiple definition and after that the "header was modified" error will likely be emitted, for example something like: NSDictionary.h:12:1: error: duplicate interface definition for class 'NSDictionary' @interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration> ^ NSDictionary.h:12:12: note: previous definition is here @interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration> ^ fatal error: file 'NSDictionary.h' has been modified since the precompiled header was built Though we get the "header was modified" error, this is a bit confusing. -Theoretically it is possible that such a system header will cause no errors but it will just cause an unfortunate semantic change, though I find this rather unlikely. The advantages: -Reduces compilation time when using a huge PCH like the Cocoa ones -System headers change very infrequent and when they do, users/build systems should be able to know that re-building from scratch is needed. Addresses rdar://13056262 llvm-svn: 176567
-
Argyrios Kyrtzidis authored
Previously the hash would be the filename portion of the path, which could be different for a filename with different case or a symbolic link with a different name completely. This did not actually create any issue so far because by validating all headers in the PCH we created uniqued FileEntries based on inodes, so an #include of a symbolic link (refering to a file from the PCH) would end up with a FileEntry with filename same as the one recorded in the PCH. llvm-svn: 176566
-
Argyrios Kyrtzidis authored
We can just re-use the one from HeaderFileInfoLookupTable. llvm-svn: 176565
-
Argyrios Kyrtzidis authored
[PCH] Remove a couple of fields from serialization::reader::HeaderFileInfoTrait that are not used for anything. llvm-svn: 176564
-
Fariborz Jahanian authored
llvm-svn: 176563
-
Shuxin Yang authored
The "invariant.load" metadata indicates the memory unit being accessed is immutable. A load annotated with this metadata can be moved across any store. As I am not sure if it is legal to move such loads across barrier/fence, this change dose not allow such transformation. rdar://11311484 Thank Arnold for code review. llvm-svn: 176562
-
Fariborz Jahanian authored
several diagnostics into one. // rdar://13094352 llvm-svn: 176560
-
Howard Hinnant authored
The bitset(unsigned long long) constructor was broken by the constexpr additions only on 32 bit platforms. Fixed. This addresses http://llvm.org/bugs/show_bug.cgi?id=15444. llvm-svn: 176559
-
Matt Kopec authored
Patch by Ashok Thirumurthi. llvm-svn: 176558
-
Dmitri Gribenko authored
Patch by Sanne Wouda. llvm-svn: 176557
-
Edwin Vane authored
Added two new narrowing matchers: * hasMethod: aplies a matcher to a CXXRecordDecl's methods until a match is made or there are no more methods. * hasCanonicalType: applies a matcher to a QualType's canonicalType. Enhanced hasOverloadedOperatorName to work on CXXMethodDecl as well as CXXOperatorCallExpr. Updated tests and docs. Reviewers: klimek, gribozavr llvm-svn: 176556
-
Reid Kleckner authored
Summary: I'm hitting a big recursive report from: uninit on strlen -> __msan::PrintWarningWithOrigin() -> __msan::GetStackTrace() -> __sanitizer::StackTrace::SlowUnwindStack() -> _Unwind_Backtrace() -> ... libgcc calls -> uninit on strlen() -> ... repeats Reviewers: eugenis Differential Revision: http://llvm-reviews.chandlerc.com/D497 llvm-svn: 176555
-
Reid Kleckner authored
pthread_join() returns an error code, not the result of the pthread_create() function like I thought. llvm-svn: 176554
-
Stefanus Du Toit authored
The use-null-ptr transform will transform calls to functions that return a nullptr_t. Even if the function were to only return a null pointer and do nothing else, this replacement would still be undesired as the behavior and signature of the function could change in the future. This adds an XFAILed test case to demonstrate the issue. Reviewed by: Edwin Vane, Tareq Siraj llvm-svn: 176553
-
Reid Kleckner authored
Summary: Adds a test for this case, which was reduced from a chromium build of WebKit's DumpRenderTree. Reviewers: eugenis CC: glider Differential Revision: http://llvm-reviews.chandlerc.com/D495 llvm-svn: 176552
-
Edwin Vane authored
Before fix, the paren expression was being replaced resulting in returnnullptr. ParenExpr and implicit casts now ignored so we get return(nullptr) instead. Added new test cases. Fixes PR15398 Author: Ariel Bernal <ariel.j.bernal@intel.com> llvm-svn: 176551
-
Alexey Samsonov authored
[Sanitize] Don't emit function attribute sanitize_address/thread/memory if the function is blacklisted. llvm-svn: 176550
-
Greg Clayton authored
Fixed enum printing for negative enums. There previously was no testing to validate that enum values were being displayed correctly. Also added C++11 enum test cases to cover enums as int8_t, int16_t int32_t, int64_t, uint8_t, uint16_t, uint32_t, and uint64_t both for DWARF and dSYM cases. The DWARF being emitted by clang is missing the enum integer type, but the code is now ready to accept and deal with the integral type if it is supplied. llvm-svn: 176548
-
Jim Grosbach authored
When considering folding a bitcast of an alloca into the alloca itself, make sure we don't shrink the amount of memory being allocated, or things rapidly go sideways. rdar://13324424 llvm-svn: 176547
-
Greg Clayton authored
llvm-svn: 176546
-
Greg Clayton authored
Now that "settings set" will strip leading and trailing spaces, we need a way to be able to specify string values that contain spaces. So now settings setting <property> <value>" can have a <value> that is quoted: settings set prompt "(lldb2) " llvm-svn: 176545
-
Weiming Zhao authored
llvm-svn: 176544
-
Akira Hatanaka authored
llvm-svn: 176543
-
Richard Smith authored
can't have default arguments even though it's a parameter-declaration-clause in a function declaration. llvm-svn: 176542
-
Greg Clayton authored
llvm-svn: 176541
-
Richard Smith authored
continue parsing the directive rather than silently discarding it. Allowing undef or redef of __TIME__ and __DATE__ is important to folks who want stable, reproducible builds. llvm-svn: 176540
-
Fariborz Jahanian authored
using object subscripting without declaring objectForKeyedSubscript: // rdar://13333205 llvm-svn: 176539
-
Michael Liao authored
- Clear 'mayStore' flag when loading from the atomic variable before the spin loop - Clear kill flag from one use to multiple use in registers forming the address to that atomic variable - don't use a physical register as live-in register in BB (neither entry nor landing pad.) by copying it into virtual register (patch by Cameron Zwarich) llvm-svn: 176538
-
Jakub Staszak authored
llvm-svn: 176537
-
Jakub Staszak authored
llvm-svn: 176536
-
Douglas Gregor authored
llvm-svn: 176535
-
Jordan Rose authored
This patch is designed for minimal intrusion into normal preprocessing and compilation; under -E -traditional-cpp, the lexer will still generate tok::comment nodes since it is preserving all whitespace, but the output printer will then throw it away. <rdar://problem/13338680> llvm-svn: 176534
-
rdar://problem/13341472Greg Clayton authored
LLDB wasn't printing the names for negative enums. Fixed the signed extraction of enumerators and how they were registered with clang's type system. llvm-svn: 176533
-
rdar://problem/13184855Greg Clayton authored
Spaces in "settings set" value strings no longer cause setting failures. llvm-svn: 176532
-
Weiming Zhao authored
When both Triple and -mabi are used, it may result into conflicting ABI value. llvm-svn: 176531
-
Akira Hatanaka authored
This calling convention was added just to handle functions which return vector of floats. The fix committed in r165585 solves the problem. llvm-svn: 176530
-
Fariborz Jahanian authored
// rdar://13094352 llvm-svn: 176529
-
- Mar 05, 2013
-
-
Daniel Malea authored
llvm-svn: 176528
-
Akira Hatanaka authored
returned in registers $2 and $4. llvm-svn: 176527
-