| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
conflicts between declarations and definitions from this and previous refactorings.
llvm-svn: 139346
|
|
|
|
| |
llvm-svn: 139334
|
|
|
|
|
|
|
|
| |
these should be in stdint.h - and they already are.
Fixes rdar://10097036.
llvm-svn: 139332
|
|
|
|
|
|
| |
from earlier commit
llvm-svn: 139331
|
|
|
|
| |
llvm-svn: 139326
|
|
|
|
|
|
| |
shared variables, while Locks are the objects that acquire and release Mutexes. We switch to this new terminology.
llvm-svn: 139321
|
|
|
|
| |
llvm-svn: 139310
|
|
|
|
| |
llvm-svn: 139308
|
|
|
|
| |
llvm-svn: 139307
|
|
|
|
|
|
| |
Expr::Ignore* methods that also look through implicit casts.
llvm-svn: 139303
|
|
|
|
|
|
| |
This patch was written by DeLesley Hutchins.
llvm-svn: 139302
|
|
|
|
|
|
|
|
| |
class scope.
This patch was also written by DeLesley Hutchins.
llvm-svn: 139301
|
|
|
|
|
|
| |
for a builtin macro expansion.
llvm-svn: 139298
|
|
|
|
|
|
|
| |
Objective-C. The @encode'ing of such an enumeration type is the same
as its underlying type. <rdar://problem/5276348>.
llvm-svn: 139297
|
|
|
|
| |
llvm-svn: 139296
|
|
|
|
| |
llvm-svn: 139291
|
|
|
|
| |
llvm-svn: 139282
|
|
|
|
|
|
|
|
|
|
| |
'id' that can be used (only!) via a contextual keyword as the result
type of an Objective-C message send. 'instancetype' then gives the
method a related result type, which we have already been inferring for
a variety of methods (new, alloc, init, self, retain). Addresses
<rdar://problem/9267640>.
llvm-svn: 139275
|
|
|
|
|
|
|
| |
filtered. This happenis when -save-temps is specified.
<rdar://problem/10088387>
llvm-svn: 139269
|
|
|
|
|
|
|
|
|
|
|
|
| |
keyword. We now handle this keyword in HandleIdentifier, making a note
for ourselves when we've seen the __import_module__ keyword so that
the next lexed token can trigger a module import (if needed). This
greatly simplifies Preprocessor::Lex(), and completely erases the 5.5%
-Eonly slowdown Argiris noted when I originally implemented
__import_module__. Big thanks to Argiris for noting that horrible
regression!
llvm-svn: 139265
|
|
|
|
|
|
| |
message to display. Also, move the function call into on location instead of having it spread among many places in the if/else statements.
llvm-svn: 139260
|
|
|
|
|
|
|
|
| |
ctor-initializer, remember to call the Sema action to generate default
ctor-initializers. What a delightful little miscompile. Fixes PR10578
/ <rdar://problem/9877267>.
llvm-svn: 139253
|
|
|
|
| |
llvm-svn: 139252
|
|
|
|
| |
llvm-svn: 139248
|
|
|
|
|
|
| |
in GC mode. // rdar://10073896
llvm-svn: 139235
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
function. This is really the beginning of the second phase of
refactorings here. The end goal is to have (roughly) three interfaces:
1) Base class to format a single diagnostic suitable for display on the
console.
2) Extension of the base class which also displays a caret diagnostic
suitable for display on the console.
3) An adaptor that implements the DiagnosticClient by delegating to #1
and/or #2 as appropriate.
Once we have these, things like libclang's formatDiagnostic can use #1
and #2 to provide really well formatted (and consistently formatted!)
textual formatting of diagnostics.
Getting there is going to be quite a bit of shuffling. I'm basically
sketching out where the interface boundaries can be drawn for #1 and #2
within the existing classes. That lets me shuffle with a minimum of fuss
and delta. Once that's done, and any of the related interfaces that need
to change are updated, I'll hoist these into separate headers and
re-implement libclang in terms of their interfaces. Long WIP, but
comments at each step welcome. =D
llvm-svn: 139228
|
|
|
|
|
|
|
| |
CaretDiagnostic. It's completely generic, with nothing to do with the
diagnostic client or info APIs.
llvm-svn: 139227
|
|
|
|
| |
llvm-svn: 139226
|
|
|
|
| |
llvm-svn: 139225
|
|
|
|
|
|
| |
ParmVarDecl's. PR10878.
llvm-svn: 139224
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
DiagnoseLogicalAndInLogicalOrLHS()
DiagnoseBinOpPrecedence()
ActOnBinOp()
BuildBinOp()
llvm-svn: 139219
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
CreateBuiltinBinOp()
DiagnoseBitwisePrecedence()
llvm-svn: 139218
|
|
|
|
|
|
|
|
|
|
|
|
| |
a stack array of a magical size with an assert() that we never
overflowed it. That seems incredibly risky. We also have a very nice API
for bundling up a vector we expect to usually have a small size without
loss of functionality or security if the size is excessive.
The fallout is to remove the last pointer+size parameter pair that are
traced through the recursive caret diagnostic emission.
llvm-svn: 139217
|
|
|
|
|
|
|
|
|
|
| |
(which will go away). LLVM CodeGen does almost exactly the same thing with these and the old intrinsics, so I'm reasonably confident this will not break anything.
There are still a few issues which need to be resolved with code generation for atomic load and store, so I'm not converting the places which need those for now.
I'm not entirely sure what to do about __builtin_llvm_memory_barrier: the fence instruction doesn't expose all the possibilities which can be expressed by __builtin_llvm_memory_barrier. I would appreciate hearing from anyone who is using this intrinsic.
llvm-svn: 139216
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
CheckAssignmentOperands()
DiagnoseSelfAssignment()
checkArithmeticNull()
llvm-svn: 139215
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
CheckVectorCompareOperands()
CheckBitwiseOperands()
CheckLogicalOperands()
llvm-svn: 139214
|
|
|
|
|
|
|
|
| |
self-reference oninitalization warning of -Wuninitialized) to exclude member variables that can decay into pointers. This will cause it to no longer warn on this code:
struct foo { char a[100], *e; } bar = { .e = bar.a };
llvm-svn: 139213
|
|
|
|
|
|
|
| |
to be 'weak'. This prevents a crash and should
probably be flagged as error - later to come.
llvm-svn: 139211
|
|
|
|
|
|
|
|
| |
can't resolve a function call then create a type-dependent CallExpr even if the function has no type dependent arguments. The goal is to postpone name lookup to instantiation time to be able to search into type dependent base classes.
With this patch in, clang will generate only 37 errors (down from 212) when parsing a typical MFC source file.
llvm-svn: 139210
|
|
|
|
|
|
| |
preprocessor output) with multiple -arch options.
llvm-svn: 139207
|
|
|
|
|
|
| |
// rdar://10073896
llvm-svn: 139203
|
|
|
|
| |
llvm-svn: 139197
|
|
|
|
|
|
| |
inspection.
llvm-svn: 139196
|
|
|
|
|
|
|
| |
Clean up loops over the hints to use the more idiomatic iterator form in
LLVM and Clang.
llvm-svn: 139195
|
|
|
|
|
|
|
|
|
|
|
|
| |
a defined interface. This isn't as nice as the previous one, but should
get better as I push through better data types in all these functions.
Also, I'm hoping to pull some aspects of this out into a common routine
(such as tab expansion).
Again, WIP, comments welcome as I'm going through.
llvm-svn: 139190
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
CheckCompareOperands()
llvm-svn: 139187
|
|
|
|
|
|
|
|
|
|
| |
to look through SubstNonTypeTemplateParmExprs. Then, update the IR
generation of CallExprs to actually use CallExpr::getCalleeDecl()
rather than attempting to mimick its behavior (badly).
Fixes <rdar://problem/10063539>.
llvm-svn: 139185
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
checkEnumComparison()
diagnoseDistinctPointerComparison()
convertPointersToCompositeType()
diagnoseFunctionPointerToVoidComparison()
llvm-svn: 139184
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
DiagnoseBadShiftValues()
CheckShiftOperands()
llvm-svn: 139183
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
diagnoseArithmeticOnTwoVoidPointers()
checkArithmeticBinOpPointerOperands()
diagnosePointerIncompatibility()
CheckAdditionOperands()
CheckSubtractionOperands()
llvm-svn: 139182
|