- Oct 21, 2013
-
-
Nick Lewycky authored
llvm-svn: 193063
-
David Majnemer authored
llvm-svn: 193062
-
David Majnemer authored
llvm-svn: 193061
-
- Oct 20, 2013
-
-
Peter Collingbourne authored
Differential Revision: http://llvm-reviews.chandlerc.com/D1339 llvm-svn: 193060
-
Peter Collingbourne authored
llvm-svn: 193059
-
Peter Collingbourne authored
This uses function prefix data to store function type information at the function pointer. Differential Revision: http://llvm-reviews.chandlerc.com/D1338 llvm-svn: 193058
-
Peter Collingbourne authored
llvm-svn: 193057
-
Alp Toker authored
The convention is LF unless specifically testing line endings. llvm-svn: 193056
-
Alp Toker authored
ResolveSingleFunctionTemplateSpecialization() returns 0 and doesn't emit diags unless the expression has template-ids, so we must null check the result. Also add a better diag noting which overloads are causing the problem. Reviewed by Aaron Ballman. llvm-svn: 193055
-
Daniel Jasper authored
Before: auto PointerBinding = [](const char * S) {}; After: auto PointerBinding = [](const char *S) {}; This fixes llvm.org/PR17618. llvm-svn: 193054
-
Joerg Sonnenberger authored
llvm-svn: 193053
-
Joerg Sonnenberger authored
llvm-svn: 193052
-
Daniel Jasper authored
Before: DEBUG({ // Comment that used to confuse clang-format. fdafas(); }); Before: DEBUG({ // Comments are now fine. fdafas(); }); This fixed llvm.org/PR17619. llvm-svn: 193051
-
Daniel Jasper authored
Before (note the missing space before "..." which can lead to compile errors): switch (x) { case 'A'... 'Z': case 1... 5: break; } After: switch (x) { case 'A' ... 'Z': case 1 ... 5: break; } llvm-svn: 193050
-
Daniel Jasper authored
Before: NSDictionary *d = @{ @"nam" : NSUserNam(), @"dte" : [NSDate date], @"processInfo" : [NSProcessInfo processInfo] }; After: NSDictionary *d = @{ @"nam" : NSUserNam(), @"dte" : [NSDate date], @"processInfo" : [NSProcessInfo processInfo] }; llvm-svn: 193049
-
Benjamin Kramer authored
Driver: libubsan_cxx depends on libubsan. Preserve the topological ordering, some linkers depend on it. llvm-svn: 193048
-
Benjamin Kramer authored
llvm-svn: 193047
-
Benjamin Kramer authored
llvm-svn: 193046
-
Michael Gottesman authored
One optimization simplify-cfg performs is the converting of switches to lookup tables if the switch has > 4 cases. This is done by: 1. Finding the max/min case value and calculating the switch case range. 2. Create a lookup table basic block. 3. Perform a check in the switch's BB to see if the input value is in the switch's case range. If the input value satisfies said predicate branch to the lookup table BB, otherwise branch to the switch's default destination BB using the default value as the result. The conditional check consists of subtracting the min case value of the table from any input iN value and then ensuring that said value is unsigned less than the size of the lookup table represented as an iN value. If the lookup table is a covered lookup table, the size of the table will be N which is 0 as an iN value. Thus the comparison will be an `icmp ult` of an iN value against 0 which is always false yielding the incorrect result. This patch fixes this problem by recognizing if we have a covered lookup table and if we do, unconditionally jumps to the lookup table BB since the covering property of the lookup table implies no input values could not be handled by said BB. rdar://15268442 llvm-svn: 193045
-
David Majnemer authored
This fixes PR17591. N.B. This actually goes beyond what the standard mandates by requiring the restriction to hold for declarations instead of definitions. This is believed to be a defect in the standard and an LWG issue has been submitted. llvm-svn: 193044
-
Peter Collingbourne authored
llvm-svn: 193043
-
Peter Collingbourne authored
This ensures that the prefix data is treated as part of the function for the purpose of debug info. This provides a better debugging experience, among other things by allowing a debug info client to correctly look up a function in debug info given a function pointer. llvm-svn: 193042
-
Peter Collingbourne authored
r182712 attempted to do this, but it failed to handle data emitted via EmitBytes. llvm-svn: 193041
-
- Oct 19, 2013
-
-
Rafael Espindola authored
llvm-svn: 193040
-
Rafael Espindola authored
* NamedDecl and CXXMethodDecl were missing getMostRecentDecl. * The const version can just forward to the non const. * getMostRecentDecl can use cast instead of cast_or_null. This then removes some casts from the callers. llvm-svn: 193039
-
Benjamin Kramer authored
llvm-svn: 193038
-
Rafael Espindola authored
Thanks to David Blaikie for noticing it. llvm-svn: 193037
-
Rafael Espindola authored
Thanks to Sean Silva for the suggestion. llvm-svn: 193036
-
Bill Wendling authored
If the predecessor's being spliced into a landing pad, then we need the PHIs to come first and the rest of the predecessor's code to come *after* the landing pad instruction. llvm-svn: 193035
-
Yaron Keren authored
llvm-svn: 193034
-
Yaron Keren authored
llvm-svn: 193033
-
Bill Wendling authored
llvm-svn: 193032
-
Yaron Keren authored
llvm-svn: 193031
-
Rui Ueyama authored
llvm-svn: 193030
-
Rui Ueyama authored
This patch fixes a bug in r190608. The results of a comparison function passed to std::sort must be transitive, which is, if a < b and b < c, and if a != b, a < c must be also true. CompareAtoms::compare did not actually guarantee the transitivity. As a result the sort results were sometimes just wrong. Consider there are three atoms, X, Y, and Z, whose file ordinals are 1, 2, 3, respectively. Z has a property "layout-after X". In this case, all the following conditionals become true: X < Y because X's ordinal is less than Y's Y < Z because Y's ordinal is less than Z's Z < X because of the layout-after relationship This is not of course transitive. The reason why this happened is because we used follow-on relationships for comparison if two atoms falls in the same follow-on chain, but we used each atom's properties if they did not. This patch fixes the issue by using follow-on root atoms for comparison to get consistent results. Differential Revision: http://llvm-reviews.chandlerc.com/D1980 llvm-svn: 193029
-
Rafael Espindola authored
llvm-svn: 193028
-
Rafael Espindola authored
Redeclarable already had a isFirstDecl, but it was missing from DeclBase. llvm-svn: 193027
-
Rafael Espindola authored
llvm-svn: 193026
-
Rafael Espindola authored
llvm-svn: 193025
-
Eric Christopher authored
llvm-svn: 193024
-