| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 59482
|
| |
|
|
|
|
|
| |
Performance tests on Cocoa.h (using the regular Lexer) shows no performance
difference.
llvm-svn: 59479
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is because the PTHLexer will not support this method. Performance testing
on preprocessing Cocoa.h shows that this results in a negligible performance
difference (less than 1%).
I tried making Lexer::SetCommentRetentionState() an out-of-line function (a
precursor to making it a virtual function in PreprocessorLexer) and noticed a 1%
decrease in speed (it is called in a hot part of the Preprocessor).
llvm-svn: 59477
|
| |
|
|
|
|
|
|
| |
alias for the current PreprocessorLexer. No functionality change. Performance
testing shows this results in no performance degradation when preprocessing
Cocoa.h.
llvm-svn: 59474
|
| |
|
|
|
|
|
|
|
| |
PreprocessorLexer, which will either be a 'Lexer' or 'PTHLexer'.
- Added stub field 'CurPTHLexer' to keep track of the current PTHLexer.
- Modified IncludeStackInfo to track both the current PTHLexer and
current PreprocessorLexer.
llvm-svn: 59472
|
| |
|
|
| |
llvm-svn: 59470
|
| |
|
|
|
|
|
|
|
| |
destructors, and conversion functions. The placeholders were used to
work around the fact that the parser and some of Sema really wanted
declarators to have simple identifiers; now, the code that deals with
declarators will use DeclarationNames.
llvm-svn: 59469
|
| |
|
|
|
|
|
|
| |
where the control reaches the end of a non-void function and also allows the
compiler to generate better code. When this assertion is false we can easily
add more else cases.
llvm-svn: 59468
|
| |
|
|
|
|
| |
Missing special lookup rule in Sema::ActOnInstanceMessage().
llvm-svn: 59467
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++ constructors, destructors, and conversion functions now have a
FETokenInfo field that IdentifierResolver can access, so that these
special names are handled just like ordinary identifiers. A few other
Sema routines now use DeclarationNames instead of IdentifierInfo*'s.
To validate this design, this code also implements parsing and
semantic analysis for id-expressions that name conversion functions,
e.g.,
return operator bool();
The new parser action ActOnConversionFunctionExpr takes the result of
parsing "operator type-id" and turning it into an expression, using
the IdentifierResolver with the DeclarationName of the conversion
function. ActOnDeclarator pushes those conversion function names into
scope so that the IdentifierResolver can find them, of course.
llvm-svn: 59462
|
| |
|
|
|
|
|
| |
are trying to use the old GCC "casts as lvalue" extension. We don't and
will hopefully never support this.
llvm-svn: 59460
|
| |
|
|
|
|
| |
qualified id.
llvm-svn: 59459
|
| |
|
|
| |
llvm-svn: 59444
|
| |
|
|
| |
llvm-svn: 59443
|
| |
|
|
|
|
| |
operators
llvm-svn: 59442
|
| |
|
|
|
|
|
|
| |
representing the names of declarations in the C family of
languages. DeclarationName is used in NamedDecl to store the name of
the declaration (naturally), and ObjCMethodDecl is now a NamedDecl.
llvm-svn: 59441
|
| |
|
|
|
|
| |
moment.
llvm-svn: 59435
|
| |
|
|
| |
llvm-svn: 59433
|
| |
|
|
| |
llvm-svn: 59430
|
| |
|
|
|
|
| |
comment)
llvm-svn: 59429
|
| |
|
|
| |
llvm-svn: 59428
|
| |
|
|
| |
llvm-svn: 59426
|
| |
|
|
| |
llvm-svn: 59425
|
| |
|
|
| |
llvm-svn: 59424
|
| |
|
|
|
|
| |
Eli please take a look, as I'm not sure if this gets the extension warning in the right place
llvm-svn: 59422
|
| |
|
|
| |
llvm-svn: 59421
|
| |
|
|
|
|
| |
have a look at this.
llvm-svn: 59420
|
| |
|
|
|
|
|
| |
defined in a system header should be treated as system header tokens
even if they are instantiated in a different place.
llvm-svn: 59418
|
| |
|
|
| |
llvm-svn: 59411
|
| |
|
|
|
|
| |
as operands.
llvm-svn: 59408
|
| |
|
|
|
|
| |
environment.
llvm-svn: 59407
|
| |
|
|
| |
llvm-svn: 59405
|
| |
|
|
| |
llvm-svn: 59404
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- RegionView and RegionViewMap is introduced to assist back-mapping from
super region to subregions.
- GDM is used to carry RegionView information.
- AnonTypedRegion is added to represent a typed region introduced by pointer
casting. Later AnonTypedRegion can be used in other similar cases, e.g.,
malloc()'ed region.
- The specific conversion is delegated to store manager.
llvm-svn: 59382
|
| |
|
|
|
|
| |
Patch by Fariborz!
llvm-svn: 59377
|
| |
|
|
| |
llvm-svn: 59375
|
| |
|
|
| |
llvm-svn: 59372
|
| |
|
|
| |
llvm-svn: 59371
|
| |
|
|
| |
llvm-svn: 59359
|
| |
|
|
| |
llvm-svn: 59358
|
| |
|
|
| |
llvm-svn: 59356
|
| |
|
|
| |
llvm-svn: 59354
|
| |
|
|
|
|
|
|
|
|
| |
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20081110/009243.html
In that patch I added a bogus type promotion for unary '!'.
The real bug was more fallout from edges cases with compound assignments and conjured symbolic values. Now the conjured value has the type of the LHS expression, and we do a promotion to the computation type. We also now correctly do a conversion from the computation type back to the LHS type.
llvm-svn: 59349
|
| |
|
|
| |
llvm-svn: 59348
|
| |
|
|
| |
llvm-svn: 59345
|
| |
|
|
| |
llvm-svn: 59343
|
| |
|
|
|
|
| |
conversions caused by the '!' operator. This required adding some logic to GRSimpleVals to reason about nonloc::LocAsInteger SVals. This code appears to work fine, but it should eventually be cleaned up.
llvm-svn: 59335
|
| |
|
|
| |
llvm-svn: 59334
|
| |
|
|
|
|
| |
Thanks to Doug for the review. Actual effects of mutable to follow.
llvm-svn: 59331
|
| |
|
|
|
|
| |
Thanks to Sebastian for the suggestion.
llvm-svn: 59330
|