| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 116595
|
| |
|
|
| |
llvm-svn: 116593
|
| |
|
|
|
|
|
|
|
| |
we did was an acceptable lookup. If it is, then we can re-use that
lookup result. If it isn't, we have to perform the lookup again. This
is almost surely the cause behind the mysterious typo.m failures on
some builders; we were getting the wrong lookup results returned.
llvm-svn: 116586
|
| |
|
|
|
|
|
| |
typo correction prefers "super" over other, equivalent completions. I
believe this will fix the regression on the buildbot.
llvm-svn: 116574
|
| |
|
|
|
|
| |
as the class itself. Fixes PR7082.
llvm-svn: 116573
|
| |
|
|
| |
llvm-svn: 116570
|
| |
|
|
| |
llvm-svn: 116569
|
| |
|
|
|
|
| |
ambiguous context.
llvm-svn: 116567
|
| |
|
|
|
|
| |
initialized. Fixes PR7076.
llvm-svn: 116553
|
| |
|
|
|
|
| |
list, complain about it! Fixes PR7053.
llvm-svn: 116551
|
| |
|
|
|
|
| |
types, from Alp Toker! Fixes PR8344.
llvm-svn: 116549
|
| |
|
|
| |
llvm-svn: 116548
|
| |
|
|
| |
llvm-svn: 116544
|
| |
|
|
|
|
| |
Also, handle unknown types conservatively.
llvm-svn: 116541
|
| |
|
|
|
|
| |
its RHS is an ivar. Fixes //rdar: //8541517.
llvm-svn: 116539
|
| |
|
|
|
|
|
| |
This enables metadata generation by default, however the TBAA pass
in the optimizer is still disabled for now.
llvm-svn: 116536
|
| |
|
|
|
|
|
|
| |
class, for AT_containing_type.
This is tested by virtfunc.exp in gdb testsuite.
llvm-svn: 116535
|
| |
|
|
|
|
| |
to CodeGenOption flags.
llvm-svn: 116530
|
| |
|
|
| |
llvm-svn: 116529
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
identifiers to determine good typo-correction candidates. Once we've
identified those candidates, we perform name lookup on each of them
and the consider the results.
This optimization makes typo correction > 2x faster on a benchmark
example using a single typo (NSstring) in a tiny file that includes
Cocoa.h from a precompiled header, since we are deserializing far less
information now during typo correction.
There is a semantic change here, which is interesting. The presence of
a similarly-named entity that is not visible can now affect typo
correction. This is both good (you won't get weird corrections if the
thing you wanted isn't in scope) and bad (you won't get good
corrections if there is a similarly-named-but-completely-unrelated
thing). Time will tell whether it was a good choice or not.
llvm-svn: 116528
|
| |
|
|
| |
llvm-svn: 116527
|
| |
|
|
| |
llvm-svn: 116524
|
| |
|
|
| |
llvm-svn: 116519
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
solely based on the names it sees, rather than actual declarations it
gets. In essence, we determine the set of names that are "close
enough" to the typo'd name. Then, we perform name lookup for each of
those names, filtering out those that aren't actually visible, and
typo-correct from the remaining results.
Overall, there isn't much of a change in the behavior of typo
correction here. The only test-suite change comes from the fact that
we make good on our promise to require that the user type 3 characters
for each 1 character corrected.
The real intent behind this change is to set the stage for an
optimization to typo correction (so that we don't need to deserialize
all declarations in a translation unit) and future work in finding
missing qualification ("'vector' isn't in scope; did you mean
'std::vector'?). Plus, the code is cleaner this way.
llvm-svn: 116511
|
| |
|
|
|
|
|
|
| |
complete declaration context in order to compute it.
Progress for rdar://7260160.
llvm-svn: 116508
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
iterate over them,
instead of deserializing the complete declaration context of the record.
Iterating over the fields of a record is very common (e.g to determine the layout), unfortunately we needlessly deserialize every declaration
that the declaration context of the record contains; this can be bad for large C++ classes that contain a lot of methods.
Fix this by allow deserialization of just the fields when we want to iterate over them.
Progress for rdar://7260160.
llvm-svn: 116507
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 116506
|
| |
|
|
|
|
|
|
|
|
| |
accompanied by a name
and emits an error if a declaration with this name is deserialized from PCH.
This is for testing, to make sure that we don't deserialize stuff needlessly.
llvm-svn: 116505
|
| |
|
|
|
|
|
|
| |
should contain actual redeclarations, not implicits.
As a bonus, now we don't deserialize it unless we need it.
llvm-svn: 116504
|
| |
|
|
|
|
| |
print the PCH decls that got deserialized, for testing purposes.
llvm-svn: 116503
|
| |
|
|
|
|
|
| |
'super' as receiver of property or a setter/getter
methods. //rdar: //8525788
llvm-svn: 116483
|
| |
|
|
| |
llvm-svn: 116478
|
| |
|
|
| |
llvm-svn: 116473
|
| |
|
|
|
|
| |
ObjCObjectType into Type.
llvm-svn: 116472
|
| |
|
|
| |
llvm-svn: 116470
|
| |
|
|
|
|
| |
not a decl.
llvm-svn: 116469
|
| |
|
|
| |
llvm-svn: 116468
|
| |
|
|
|
|
| |
by Martin Vejnar!
llvm-svn: 116460
|
| |
|
|
|
|
| |
into APInt.
llvm-svn: 116453
|
| |
|
|
|
|
| |
in a base class. Fixes PR8168.
llvm-svn: 116448
|
| |
|
|
|
|
|
|
| |
members. Provide a hard error when the qualification doesn't match the
current class type, or a warning + Fix-it if it does match the current
class type. Fixes PR8159.
llvm-svn: 116445
|
| |
|
|
| |
llvm-svn: 116436
|
| |
|
|
|
|
|
|
|
| |
that the class type into which the pointer points be complete, even
though the standard requires it. GCC/EDG do not require a complete
type here, so we're calling this a problem with the standard. Fixes
PR8328.
llvm-svn: 116429
|
| |
|
|
| |
llvm-svn: 116422
|
| |
|
|
|
|
|
|
|
|
|
| |
unnamed or local types within that type. This bit is cached along with
the linkage of a type, so that it can be recomputed (e.g., when we see
that a typedef has given a name to an anonymous declaration).
Use this bit when checking C++03 [temp.arg.type]p2, so that we don't
walk template argument types repeatedly.
llvm-svn: 116413
|
| |
|
|
|
|
|
| |
SFINAE context, where we weren't getting the right diagnostic argument
count. I blame DiagnosticBuilder's weirdness. Fixes PR8372.
llvm-svn: 116411
|
| |
|
|
|
|
|
| |
rather than walking the type's structure every time we request this
information. Performance optimization; no functionality change.
llvm-svn: 116409
|
| |
|
|
| |
llvm-svn: 116408
|
| |
|
|
|
|
| |
declaration, because we'll need it later. Hopefully fixed self-host.
llvm-svn: 116399
|
| |
|
|
|
|
|
|
| |
Fixes a crash and diagnoses the error condition of an unqualified
friend which doesn't resolve to something. I'm still not certain how
this is useful.
llvm-svn: 116393
|