| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
DiagnoseConditionalForNull()
CheckConditionalOperands()
IsArithmeticBinaryExpr()
DiagnoseConditionalPrecedence()
llvm-svn: 139167
|
| |
|
|
| |
llvm-svn: 139165
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
handleIntegerConversion()
UsualArithmeticConversions()
llvm-svn: 139164
|
| |
|
|
|
|
| |
happen when RecordLayoutBuilder is used by Codegen, not Sema.
llvm-svn: 139162
|
| |
|
|
|
|
| |
exception is thrown constructing the array elements in an array new expression. Fixes PR10870.
llvm-svn: 139158
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
handleFloatConversion()
handleComplexIntConvsersion()
llvm-svn: 139153
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
handleComplexFloatToComplexFloatConverstion()
handleComplexFloatConversion()
llvm-svn: 139151
|
| |
|
|
|
|
|
|
| |
Jean-Daniel Dupas!
Also provide a modicum of test coverage for ranged for in C++98.
llvm-svn: 139149
|
| |
|
|
|
|
|
| |
needed for implicit move constructors and move assignment
operators. Fixes PR10847.
llvm-svn: 139144
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
synthesized move assignment within an implicitly-defined move
assignment operator, be sure to treat the derived-to-base cast as an
xvalue (rather than an lvalue). Otherwise, we'll end up getting the
wrong constructor.
Optimize a direct call to a trivial move assignment operator to an
aggregate copy, as we do for trivial copy assignment operators, and
update the the assertion in CodeGenFunction::EmitAggregateCopy() to
cope with this optimization.
Fixes PR10860.
llvm-svn: 139143
|
| |
|
|
|
|
| |
Spotted by Ninja.
llvm-svn: 139129
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
as well as the search path printed by -print-search-dirs.
The main purpose of this change is to cause -print-file-name=include
to print the path to the include directory under Clang's resource
directory, instead of the system compiler's include directory, whose
header files Clang may not be able to parse. Some build scripts will
do something like:
$(CC) -nostdinc -I`$(CC) -print-file-name=include`
to exclude all header paths except the compiler's.
llvm-svn: 139127
|
| |
|
|
|
|
|
|
| |
scannig backwards to see if the newline is escaped.
3% speedup in preprocessing all of clang with -Eonly. Also includes a small testcase for coverage.
llvm-svn: 139116
|
| |
|
|
| |
llvm-svn: 139115
|
| |
|
|
|
|
| |
whether a class is an aggregate in C++0x, treat all functions which are neither deleted nor defaulted as user-provided, not just special member functions. The wording of the standard only defines the term "user-provided" for special member functions, but the intent seems to be that any function can be user-provided.
llvm-svn: 139111
|
| |
|
|
|
|
|
|
| |
CXXDependentScopeMemberExpr to handle a "this->" fixit (lookup into dependent bases of class template)
Otherwise the fixit doesn't really work for subsequent lookup.
llvm-svn: 139105
|
| |
|
|
| |
llvm-svn: 139104
|
| |
|
|
|
|
| |
C++98: permit it within type-ids.
llvm-svn: 139103
|
| |
|
|
|
|
| |
for-range and auto with an ExtWarn, and produce a -Wc++0x-compat warning in C++98 mode when auto is used as a storage class.
llvm-svn: 139102
|
| |
|
|
|
|
|
|
| |
Fix bug this uncovered.
Address minor comments from Doug.
Enable cxx_implicit_moves feature.
llvm-svn: 139101
|
| |
|
|
|
|
| |
Fixes http://llvm.org/PR10826.
llvm-svn: 139087
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would cut off the source file buffer at the code-completion
point; this impeded code-completion inside C++ inline methods and,
recently, with buffering ObjC methods.
Have the code-completion inserted into the source buffer so that it can
be buffered along with a method body. When we actually hit the code-completion
point the cut-off lexing or parsing.
Fixes rdar://10056932&8319466
llvm-svn: 139086
|
| |
|
|
|
|
|
|
| |
The function was only counting lines that included tokens and not empty lines,
but MaxLines (mainly initiated to the line where the code-completion point resides)
is a count of overall lines (even empty ones).
llvm-svn: 139085
|
| |
|
|
| |
llvm-svn: 139080
|
| |
|
|
| |
llvm-svn: 139078
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
well.
Also, clean up the flow of the code a bit, and factor things more
nicely.
Finally, add the test case that was missing from my previous
commit (sorry), with new tests added to cover temporaries and other fun
cases.
llvm-svn: 139077
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reference members of classes. We've had several bugs reported because of
this, and there's no reason not to flag it right away in the compiler.
Comments especially welcome on the strategy for implementing this
warning (IE, what should trigger this?) and on the text of the warning
itself.
I'm going to extend this to cover obvious cases with temporaries and
beef up the test cases some in subsequent patches. I'll then run it over
a large codebase and make sure its not misbehaving before I add it to
-Wall or turn it on by default. I think this one might be a good
candidate for on by default.
llvm-svn: 139075
|
| |
|
|
| |
llvm-svn: 139042
|
| |
|
|
|
|
| |
// rdar://10033896
llvm-svn: 139041
|
| |
|
|
| |
llvm-svn: 139033
|
| |
|
|
| |
llvm-svn: 139029
|
| |
|
|
|
|
| |
dead code. Fixes <rdar://problem/10060250>.
llvm-svn: 139027
|
| |
|
|
|
|
| |
// rdar://10033896
llvm-svn: 139020
|
| |
|
|
|
|
| |
Fix the cast kind for a cast from floating-point to enum type. (The difference isn't actually visible, but that's just because IRGen is overly forgiving.) Per report by Enea Zaffanella on cfe-dev.
llvm-svn: 139011
|
| |
|
|
|
|
| |
And with that, TransferFuncs is gone!
llvm-svn: 139003
|
| |
|
|
|
|
| |
to RetainCountChecker...and clean up the file while I'm at it.
llvm-svn: 139002
|
| |
|
|
|
|
| |
and reducing indentation through the clever use of early exits. ;]
llvm-svn: 139001
|
| |
|
|
|
|
| |
in a leak. There's room for improvement here...
llvm-svn: 139000
|
| |
|
|
| |
llvm-svn: 138999
|
| |
|
|
|
|
|
|
|
|
| |
current analysis from CFRefCount to ExprEngine.
Remove TransferFuncs from ExprEngine and AnalysisConsumer.
Demote RetainReleaseChecker to a regular checker, and give it the name osx.cocoa.RetainCount (class name change coming shortly). Update tests accordingly.
llvm-svn: 138998
|
| |
|
|
|
|
| |
NULL as a non-pointer in a binary operation into separate functions.
llvm-svn: 138995
|
| |
|
|
| |
llvm-svn: 138994
|
| |
|
|
|
|
| |
checking functions, into its own function.
llvm-svn: 138993
|
| |
|
|
|
|
| |
functions making a slimmer function.
llvm-svn: 138992
|
| |
|
|
|
|
| |
hard coding strings from SemaExpr.cpp to DiagnosticSemaKinds.td.
llvm-svn: 138987
|
| |
|
|
|
|
|
|
|
| |
Preprocessor, eliminating the constructor that was used by ASTUnit
(which didn't provide an ASTContext or Prepreprocessor). Ensuring that
both objects are non-NULL will simplify module loading (but none of
that is done yet).
llvm-svn: 138986
|
| |
|
|
|
|
|
|
| |
builtin types (When requested). This is another step toward making
ASTUnit build the ASTContext as needed when loading an AST file,
rather than doing so after the fact. No actual functionality change (yet).
llvm-svn: 138985
|
| |
|
|
|
|
|
|
| |
and language-specific initialization. Use this to allow ASTUnit to
create a preprocessor object *before* loading the AST file. No actual
functionality change.
llvm-svn: 138983
|
| |
|
|
|
|
| |
CheckIncrementDecrementOperand() in SemaExpr.cpp to move reused code to separate functions.
llvm-svn: 138975
|
| |
|
|
|
|
| |
in the face of buffering C++/ObjC method bodies.
llvm-svn: 138972
|