- Sep 08, 2011
-
-
Caitlin Sadowski authored
llvm-svn: 139307
-
Caitlin Sadowski authored
llvm-svn: 139306
-
Douglas Gregor authored
Expr::Ignore* methods that also look through implicit casts. llvm-svn: 139303
-
Caitlin Sadowski authored
This patch was written by DeLesley Hutchins. llvm-svn: 139302
-
Caitlin Sadowski authored
class scope. This patch was also written by DeLesley Hutchins. llvm-svn: 139301
-
Douglas Gregor authored
llvm-svn: 139299
-
Argyrios Kyrtzidis authored
for a builtin macro expansion. llvm-svn: 139298
-
Douglas Gregor authored
Objective-C. The @encode'ing of such an enumeration type is the same as its underlying type. <rdar://problem/5276348>. llvm-svn: 139297
-
Eric Christopher authored
llvm-svn: 139296
-
Eric Christopher authored
including some source examples. llvm-svn: 139295
-
Abramo Bagnara authored
llvm-svn: 139291
-
David Blaikie authored
llvm-svn: 139282
-
Douglas Gregor authored
'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
-
Chad Rosier authored
filtered. This happenis when -save-temps is specified. <rdar://problem/10088387> llvm-svn: 139269
-
Douglas Gregor authored
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
-
- Sep 07, 2011
-
-
Argyrios Kyrtzidis authored
llvm-svn: 139262
-
Argyrios Kyrtzidis authored
to meet the requirements of the InputIterator concept. llvm-svn: 139261
-
Richard Trieu authored
Change diagnoseAddressOfInvalidType() to use an enum to determine what error 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
-
Douglas Gregor authored
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
-
Kaelyn Uhrain authored
llvm-svn: 139252
-
Peter Collingbourne authored
llvm-svn: 139248
-
James Molloy authored
llvm-svn: 139238
-
Fariborz Jahanian authored
in GC mode. // rdar://10073896 llvm-svn: 139235
-
Chandler Carruth authored
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
-
Chandler Carruth authored
CaretDiagnostic. It's completely generic, with nothing to do with the diagnostic client or info APIs. llvm-svn: 139227
-
Chandler Carruth authored
llvm-svn: 139226
-
Chandler Carruth authored
llvm-svn: 139225
-
Eli Friedman authored
llvm-svn: 139224
-
Argyrios Kyrtzidis authored
llvm-svn: 139223
-
Argyrios Kyrtzidis authored
are returning a pointer to pointer. llvm-svn: 139222
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: DiagnoseLogicalAndInLogicalOrLHS() DiagnoseBinOpPrecedence() ActOnBinOp() BuildBinOp() llvm-svn: 139219
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: CreateBuiltinBinOp() DiagnoseBitwisePrecedence() llvm-svn: 139218
-
Chandler Carruth authored
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
-
Eli Friedman authored
Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics (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
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: CheckAssignmentOperands() DiagnoseSelfAssignment() checkArithmeticNull() llvm-svn: 139215
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: CheckVectorCompareOperands() CheckBitwiseOperands() CheckLogicalOperands() llvm-svn: 139214
-
Richard Trieu authored
Change the self-reference visitor (which gives the warning for 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
-
Fariborz Jahanian authored
to be 'weak'. This prevents a crash and should probably be flagged as error - later to come. llvm-svn: 139211
-
Francois Pichet authored
In Microsoft mode, if we are inside a template class member function and we 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
-
Chad Rosier authored
preprocessor output) with multiple -arch options. llvm-svn: 139207
-