|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | MSVC2010's pair class has a move assignment operator but no explicit copy
constructor, which makes it unusable without this change.
For symmetry, let move copy constructors not mark the default assignment
operator as deleted either. Both changes match cl.exe's behavior.  Fixes
pr11826.
Also update the standard excerpt to point to the right paragraph.
llvm-svn: 148675 | 
| | 
| 
| 
| 
| 
| | appropriate.
llvm-svn: 148673 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | For consistency with GCC & reasonable sanity. The FIXME suggests that the
original author was perhaps using the default check for some other purpose,
not realizing the more obvious limitation/false-negatives it creates, but this
doesn't seem to produce any regressions & fixes the included test.
llvm-svn: 148649 | 
| | 
| 
| 
| 
| 
| | enumerator that were introduced with r148439. Otherwise MSVC headers won't compile in C++ 11 mode.
llvm-svn: 148642 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | This warning acts as the complement to the main -Wswitch-enum warning (which
warns whenever a switch over enum without a default doesn't cover all values of
 the enum) & has been an an-doc coding convention in LLVM and Clang in my
experience. The purpose is to ensure there's never a "dead" default in a
switch-over-enum because this would hide future -Wswitch-enum errors.
The name warning has a separate flag name so it can be disabled but it's grouped
under -Wswitch-enum & is on-by-default because of this.
The existing violations of this rule in test cases have had the warning disabled
& I've added a specific test for the new behavior (many negative cases already
exist in the same test file - and none regressed - so I didn't add more).
Reviewed by Ted Kremenek ( http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120116/051690.html )
llvm-svn: 148640 | 
| | 
| 
| 
| | llvm-svn: 148637 | 
| | 
| 
| 
| | llvm-svn: 148636 | 
| | 
| 
| 
| 
| 
| | Loc value. When this happens, use the default type.
llvm-svn: 148631 | 
| | 
| 
| 
| | llvm-svn: 148628 | 
| | 
| 
| 
| 
| 
| | Also, slightly modify the diagnostic message in ArrayBound and DivZero (still use 'taint', which might not mean much to the user, but plan on changing it later).
llvm-svn: 148626 | 
| | 
| 
| 
| 
| 
| | variable.  The assertion doesn't cover quite as much as it should, but it's a good start, at least.
llvm-svn: 148625 | 
| | 
| 
| 
| 
| 
| | couple of uses of ConstantEvaluated which don't make sense.
llvm-svn: 148624 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | function body.  This keeps the brace count accurate to prevent
additional errors.  Also, moved the caret from the brace to the function
name.
Code:
class F{ int Foo{ return 1; } };
Fixed error:
parameters.cc:1:14: error: function definition does not declare parameters
class F{ int Foo{ return 1; } };
             ^
1 error generated.
Old errors:
parameters.cc:1:17: error: function definition does not declare parameters
class F{ int Foo{ return 1; } };
                ^
parameters.cc:1:30: error: expected ';' after class
class F{ int Foo{ return 1; } };
                             ^
                             ;
parameters.cc:1:31: error: expected external declaration
class F{ int Foo{ return 1; } };
                              ^
3 errors generated.
llvm-svn: 148621 | 
| | 
| 
| 
| | llvm-svn: 148611 | 
| | 
| 
| 
| 
| 
| | correctly, similar to what we already do with typeid.
llvm-svn: 148610 | 
| | 
| 
| 
| 
| 
| | to "strong" when migrating from GC. // rdar://10532449
llvm-svn: 148607 | 
| | 
| 
| 
| 
| 
| 
| | argument, which was broken and very ugly (and even had a test case to
make *sure* it was broken and ugly). Fixes <rdar://problem/10609117>.
llvm-svn: 148606 | 
| | 
| 
| 
| 
| 
| | declarations.
llvm-svn: 148599 | 
| | 
| 
| 
| | llvm-svn: 148595 | 
| | 
| 
| 
| | llvm-svn: 148592 | 
| | 
| 
| 
| | llvm-svn: 148586 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | a forward declaration unless we already have a type. We can fill it in
later if it's actually used.
Fixes PR11345
llvm-svn: 148584 | 
| | 
| 
| 
| | llvm-svn: 148582 | 
| | 
| 
| 
| | llvm-svn: 148577 | 
| | 
| 
| 
| 
| 
| | this oversight for scanf functions.
llvm-svn: 148573 | 
| | 
| 
| 
| | llvm-svn: 148567 | 
| | 
| 
| 
| | llvm-svn: 148566 | 
| | 
| 
| 
| 
| 
| 
| | which have same semantics in mrr as well as arr.
// rdar://10688312
llvm-svn: 148559 | 
| | 
| 
| 
| | llvm-svn: 148554 | 
| | 
| 
| 
| 
| 
| 
| | expansion, in which case it returns a file range in the location where the
argument was spelled.
llvm-svn: 148551 | 
| | 
| 
| 
| | llvm-svn: 148549 | 
| | 
| 
| 
| 
| 
| 
| | the front end into its own class, FrontendInputFile, to make it easier
to introduce new per-input data. No functionality change.
llvm-svn: 148546 | 
| | 
| 
| 
| 
| 
| | Found by the clang static analyzer.
llvm-svn: 148544 | 
| | 
| 
| 
| 
| 
| | Found by clang's own static analyzer.
llvm-svn: 148542 | 
| | 
| 
| 
| 
| 
| | IdempotentOperationsChecker to the 'experimental' category.  Fixes <rdar://problem/10146347>.
llvm-svn: 148533 | 
| | 
| 
| 
| 
| 
| | fewer than 6 Xs.  Implements <rdar://problem/6336672>.
llvm-svn: 148531 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | APIs.  Now
multiple checks are exposed as separate checkers, but CheckerManager only creates
one Checker object.
llvm-svn: 148525 | 
| | 
| 
| 
| 
| 
| | and less error-prone way of handling the relevant cases.  Towards marking of whether a declaration is used more accurately.
llvm-svn: 148522 | 
| | 
| 
| 
| | llvm-svn: 148518 | 
| | 
| 
| 
| 
| 
| | printing.
llvm-svn: 148517 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | at the given location. 
This could be useful when checkers' logic depends on whether a function
is called with a given macro argument.
llvm-svn: 148516 | 
| | 
| 
| 
| 
| 
| | constexpr.
llvm-svn: 148505 | 
| | 
| 
| 
| 
| 
| | !=, %=, ^=, &=, *=, -=, |=, /=, <<=, <=, >=, and >>= to =.
llvm-svn: 148499 | 
| | 
| 
| 
| 
| 
| | that the given source range encompasses.
llvm-svn: 148481 | 
| | 
| 
| 
| 
| 
| | and returns a character range with file locations.
llvm-svn: 148480 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | start/end location.
It is commonly needed after calling the function; with this way we avoid
recalculating it.
llvm-svn: 148479 | 
| | 
| 
| 
| 
| 
| 
| | These declarations come from the sample code in the
"Exception Handling ABI for the ARM Architecture" document.
llvm-svn: 148469 | 
| | 
| 
| 
| 
| 
| 
| | Change CheckVectorLogicalOperands to pass params by ref.
Add another test case.
llvm-svn: 148452 | 
| | 
| 
| 
| | llvm-svn: 148441 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | values and non-type template arguments of integral and enumeration types.
This change causes some legal C++98 code to no longer compile in C++11 mode, by
enforcing the C++11 rule that narrowing integral conversions are not permitted
in the final implicit conversion sequence for the above cases.
llvm-svn: 148439 |