| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
of arguments both seen and expected.
Fixes PR6501.
llvm-svn: 101441
|
| |
|
|
|
|
|
|
| |
libCIndex also has a CMakeLists.txt file which has its own code for using
the exports file. To preserve existing functionality, create a separate
darwin-specific exports file for use by this CMakeLists.txt code.
llvm-svn: 101440
|
| |
|
|
|
|
|
|
| |
source line wider than the terminal where the associated fix-it line
is longer than the caret line. Previously, we would crash in this
case, which was rather unfortunate. Fixes <rdar://problem/7856226>.
llvm-svn: 101426
|
| |
|
|
|
|
|
|
|
|
|
| |
intended for redeclarations, fixing those that need it. Fixes PR6831.
This uncovered an issue where the C++ type-specifier-seq parsing logic
would try to perform name lookup on an identifier after it already had
a type-specifier, which could also lead to spurious ambiguity errors
(as in PR6831, but with a different test case).
llvm-svn: 101419
|
| |
|
|
|
|
|
|
| |
in case it ends up doing something that might trigger diagnostics
(template instantiation, ambiguity reporting, access
reporting). Noticed while working on PR6831.
llvm-svn: 101412
|
| |
|
|
|
|
|
|
| |
where
the tag was declared. WIP.
llvm-svn: 101403
|
| |
|
|
|
|
|
|
| |
deposit the file
in the original source directory.
llvm-svn: 101402
|
| |
|
|
|
|
|
|
| |
structs, typedefs.
Those still need work to disambiguate them across translation units.
llvm-svn: 101401
|
| |
|
|
| |
llvm-svn: 101384
|
| |
|
|
| |
llvm-svn: 101381
|
| |
|
|
|
|
|
|
|
|
| |
the default
case in GRExprEngine::Visit (in r101129). Instead, enumerate all Stmt cases and have
no 'default' case in the switch statement. When we encounter a Stmt we don't handle,
we should explicitly add it to the switch statement.
llvm-svn: 101378
|
| |
|
|
|
|
| |
fixes a bug where we would lay out virtual bases in the wrong order.
llvm-svn: 101373
|
| |
|
|
|
|
|
|
|
|
| |
ASTContext::getTypeSize() rather than ASTContext::getIntWidth() for
the width of an integral type. The former includes padding for bools
(to the target's size) while the latter does not, so we woud end up
zero-extending bools to the target width when we shouldn't. Fixes a
crash-on-valid in the included test.
llvm-svn: 101372
|
| |
|
|
| |
llvm-svn: 101370
|
| |
|
|
| |
llvm-svn: 101369
|
| |
|
|
|
|
| |
-fixit-at specified a particular fixit to fix, or the -o flag was used.
llvm-svn: 101359
|
| |
|
|
| |
llvm-svn: 101358
|
| |
|
|
| |
llvm-svn: 101357
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Used to determine whether the alignment of the type in a bit-field is
respected when laying out structures. The default is true, targets can
override this as needed.
- This is designed to correspond to the PCC_BITFIELD_TYPE_MATTERS macro in
gcc. The AST/Sema implementation only affects one line, unless I have
forgotten something. I'd appreciate further review.
- IRgen still needs to be updated to fully support this (which is effectively
PR5591).
llvm-svn: 101356
|
| |
|
|
|
|
|
|
| |
option parser.
- Note that this is a behavior change, previously -mllvm at the driver level forwarded to clang -cc1. The driver does a little magic to make sure that '-mllvm -disable-llvm-optzns' works correctly, but other users will need to be updated to use -Xclang.
llvm-svn: 101354
|
| |
|
|
|
|
|
|
| |
arguments, it is now an immutable object.
Also, add some checking of various invariants that should hold on the CGBitFieldInfo access.
llvm-svn: 101345
|
| |
|
|
| |
llvm-svn: 101344
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use new CGBitfieldInfo::AccessInfo decomposition, instead of computing the access policy itself.
- Sadly, this doesn't seem to give any .ll size win so far. It is possible to make this routine significantly smarter & avoid various shifting, masking, and zext/sext, but I'm not really convinced it is worth it. It is tricky, and this is really instcombine's job.
- No intended functionality change; the test case is just to increase coverage & serves as a demo file, it worked before this commit.
The new fixes from r101222 are:
1. The shift to the target position needs to occur after the value is extended to the correct size. This broke Clang bootstrap, among other things no doubt.
2. Swap the order of arguments to OR, to get a tad more constant folding.
llvm-svn: 101339
|
| |
|
|
|
|
|
|
|
| |
Stop multiplying constant by 8 accordingly in the header and change
intrinsic definition for what types we expect.
Add to existing palignr test to check that we're emitting the correct things.
llvm-svn: 101332
|
| |
|
|
|
|
|
|
| |
hopefully fixes
a crash in InitListExpr's ctor.
llvm-svn: 101328
|
| |
|
|
| |
llvm-svn: 101327
|
| |
|
|
|
|
|
|
|
| |
packet
containing the time taken for the code completion to be sent to a designated server
(which is specified using a compile-time -D flag).
llvm-svn: 101326
|
| |
|
|
|
|
|
| |
that have reference or const scalar members, since those members can
never be initializer or modified. Fixes <rdar://problem/7804350>.
llvm-svn: 101316
|
| |
|
|
|
|
|
|
|
|
| |
ResolveAddressOfOverloadedFunction when asked to complain. Previously,
we had some weird handshake where ResolveAddressOfOverloadedFunction
expected its caller to handle some of the diagnostics but not others,
and yet there was no way for the caller to know which case we were
in. Eliminate this madness, fixing <rdar://problem/7765884>.
llvm-svn: 101312
|
| |
|
|
| |
llvm-svn: 101311
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
separate count of "suppressed" errors. This way, semantic analysis
bits that depend on the error count to determine whether problems
occured (e.g., some template argument deduction failures, jump-scope
checking) will not get confused.
The actual problem here is that a missing #include (which is a fatal
error) could cause the jump-scope checker to run on invalid code,
which it is not prepared to do. Trivial fix for both
<rdar://problem/7775941> and <rdar://problem/7775709>.
llvm-svn: 101297
|
| |
|
|
|
|
| |
CXLanguageKind.
llvm-svn: 101287
|
| |
|
|
| |
llvm-svn: 101284
|
| |
|
|
|
|
| |
Anton Yartsev!
llvm-svn: 101281
|
| |
|
|
|
|
|
| |
correction find names when a call failed. Fixes
<rdar://problem/7853795>.
llvm-svn: 101278
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
generally recover from typos in keywords (since we would effectively
have to mangle the token stream). However, there are still benefits to
typo-correcting with keywords:
- We don't make stupid suggestions when the user typed something
that is similar to a keyword.
- We can suggest the keyword in a diagnostic (did you mean
"static_cast"?), even if we can't recover and therefore don't have
a fix-it.
llvm-svn: 101274
|
| |
|
|
|
|
|
|
| |
than just a bool indicating that correction occurred. No actual
functionality change (it's still always used like a bool), but this
refactoring will be used to support typo correction to keywords.
llvm-svn: 101259
|
| |
|
|
|
|
| |
IRgen record layout, which this code doesn't need to depend on.
llvm-svn: 101257
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that adds parentheses from the main diagnostic down to a new
note. This way, when the fix-it represents a choice between two
options, each of the options is associted with a note. There is no
default option in such cases. For example:
/Users/dgregor/t.c:2:9: warning: & has lower precedence than ==; ==
will be
evaluated first [-Wparentheses]
if (x & y == 0) {
^~~~~~~~
/Users/dgregor/t.c:2:9: note: place parentheses around the &
expression to
evaluate it first
if (x & y == 0) {
^
( )
/Users/dgregor/t.c:2:9: note: place parentheses around the ==
expression to
silence this warning
if (x & y == 0) {
^
( )
llvm-svn: 101249
|
| |
|
|
| |
llvm-svn: 101239
|
| |
|
|
| |
llvm-svn: 101238
|
| |
|
|
| |
llvm-svn: 101236
|
| |
|
|
|
|
| |
CGBitfieldInfo::AccessInfo decomposition, instead of computing the access policy itself.", I think it might be breaking bootstrap.
llvm-svn: 101235
|
| |
|
|
| |
llvm-svn: 101226
|
| |
|
|
| |
llvm-svn: 101224
|
| |
|
|
|
|
|
|
|
|
| |
CGBitfieldInfo::AccessInfo decomposition, instead of computing the access policy itself.
- Sadly, this doesn't seem to give any .ll size win so far. It is possible to make this routine significantly smarter & avoid various shifting, masking, and zext/sext, but I'm not really convinced it is worth it. It is tricky, and this is really instcombine's job.
- No intended functionality change; the test case is just to increase coverage & serves as a demo file, it worked before this commit.
llvm-svn: 101222
|
| |
|
|
| |
llvm-svn: 101221
|
| |
|
|
|
|
| |
when avoiding paste. Patch by David Peixotto!
llvm-svn: 101218
|
| |
|
|
| |
llvm-svn: 101215
|
| |
|
|
| |
llvm-svn: 101212
|