| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
|  | 
llvm-svn: 100098
 | 
| | 
| 
| 
|  | 
llvm-svn: 100093
 | 
| | 
| 
| 
|  | 
llvm-svn: 100080
 | 
| | 
| 
| 
|  | 
llvm-svn: 100079
 | 
| | 
| 
| 
|  | 
llvm-svn: 100077
 | 
| | 
| 
| 
| 
| 
|  | 
array values with a non-zero offset would get prematurely pruned from the store.
llvm-svn: 100067
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
nested-name-specifier (e.g., "class T::foo") fails to find a tag
member in the scope nominated by the
nested-name-specifier. Previously, we gave a bland
  error: 'Nested' does not name a tag member in the specified scope
which didn't actually say where we were looking, which was rather
horrible when the nested-name-specifier was instantiated. Now, we give
something a bit better:
  error: no class named 'Nested' in 'NoDepBase<T>'
llvm-svn: 100060
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
(such as "class T::foo") from an ElaboratedType of a TypenameType to a
DependentNameType, which more accurately models the underlying
concept.
Improve template instantiation for DependentNameType nodes that
represent nested-name-specifiers, by performing tag name lookup and
checking the resulting tag appropriately. Fixes PR5681.
There is still much testing and cleanup to do in this area.
llvm-svn: 100054
 | 
| | 
| 
| 
| 
| 
|  | 
ares are not separated by ':' (radar 7030268).
llvm-svn: 100040
 | 
| | 
| 
| 
| 
| 
| 
|  | 
this was parsed as a typename-specifier, elaborated-type-specifier
(including the kind), or just a dependent qualified type name.
llvm-svn: 100039
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This more likely matches with the ideal order the blocks should be visited.
This shaves another 1% off the -fsyntax-only time for compare.c (403.gcc).
llvm-svn: 100030
 | 
| | 
| 
| 
| 
| 
| 
|  | 
instantiating a template, which ensures the destructor is called. This fixes
PR6671.
llvm-svn: 100029
 | 
| | 
| 
| 
| 
| 
| 
|  | 
on unimplemented methods in protocols adopted by a class.
(radar 7056600).
llvm-svn: 100028
 | 
| | 
| 
| 
|  | 
llvm-svn: 100027
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
and a DenseSet for caching instead of using a single SmallPtrSet.
This makes the behavior of the DataFlowSolver more deterministic, and
reduces the -fsyntax-only time on compare.c (403.gcc) by 1%.
llvm-svn: 100026
 | 
| | 
| 
| 
| 
| 
|  | 
the C-only "optimization".
llvm-svn: 100022
 | 
| | 
| 
| 
| 
| 
|  | 
refactoring work in this area.
llvm-svn: 100019
 | 
| | 
| 
| 
|  | 
llvm-svn: 100018
 | 
| | 
| 
| 
| 
| 
| 
|  | 
term "fix-it" everywhere and even *I* get tired of long names
sometimes. No functionality change.
llvm-svn: 100008
 | 
| | 
| 
| 
|  | 
llvm-svn: 100007
 | 
| | 
| 
| 
|  | 
llvm-svn: 99990
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
addition to the inherent win, this eliminates the pointless
cost of going through the name -> mdkind stringmap that we
were paying.
llvm-svn: 99983
 | 
| | 
| 
| 
| 
| 
|  | 
a lot for me on selfhosts, I dunno why.
llvm-svn: 99981
 | 
| | 
| 
| 
|  | 
llvm-svn: 99980
 | 
| | 
| 
| 
|  | 
llvm-svn: 99979
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
of CodeGenTypes, to per-record CGRecordLayout structures.
 - I did a cursory check that this was perf neutral, FWIW.
llvm-svn: 99978
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
field and bit-field info as structs.
 - Anders, please check.
llvm-svn: 99977
 | 
| | 
| 
| 
|  | 
llvm-svn: 99973
 | 
| | 
| 
| 
|  | 
llvm-svn: 99972
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
the existing (and already well-tested) linkage computation for types,
with minor tweaks for dynamic classes and (pointers to) incomplete
types. Fixes PR6597.
llvm-svn: 99968
 | 
| | 
| 
| 
|  | 
llvm-svn: 99967
 | 
| | 
| 
| 
|  | 
llvm-svn: 99964
 | 
| | 
| 
| 
| 
| 
| 
|  | 
null checks, and make sure we elide null checks when accessing base class
members.
llvm-svn: 99963
 | 
| | 
| 
| 
| 
| 
|  | 
instruction.
llvm-svn: 99962
 | 
| | 
| 
| 
|  | 
llvm-svn: 99960
 | 
| | 
| 
| 
| 
| 
|  | 
on retain properties. (radar 7809468).
llvm-svn: 99951
 | 
| | 
| 
| 
|  | 
llvm-svn: 99949
 | 
| | 
| 
| 
|  | 
llvm-svn: 99947
 | 
| | 
| 
| 
|  | 
llvm-svn: 99946
 | 
| | 
| 
| 
|  | 
llvm-svn: 99945
 | 
| | 
| 
| 
|  | 
llvm-svn: 99944
 | 
| | 
| 
| 
|  | 
llvm-svn: 99942
 | 
| | 
| 
| 
| 
| 
|  | 
Fixes PR3782.
llvm-svn: 99940
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
may be tokens left in the token stream
that will interfere (they will be parsed as if they are after the class' '}') and a crash will occur because
the CachedTokens that holds them will be deleted while the lexer is still using them.
Make sure that the tokens of default args are removed from the token stream.
Fixes PR6647.
llvm-svn: 99939
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
name in the outermost block of a if/else that declares the same name
is ill-formed. Turns out that Clang and MSVC were right about PR6739;
GCC is too lax.
llvm-svn: 99937
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
the underlying/instantiated decl) through a lot of API, including "intermediate"
MemberExprs required for (e.g.) template instantiation.  This is necessary
because of the access semantics of member accesses to using declarations:
only the base class *containing the using decl* need be accessible from the
naming class.
This allows us to complete an access-controlled selfhost, if there are no
recent regressions.
llvm-svn: 99936
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
double 0.000000e+000
instead of
double 0.000000e+00
llvm-svn: 99932
 | 
| | 
| 
| 
| 
| 
|  | 
memmove, and memset
llvm-svn: 99930
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
involving substitution of deduced template arguments into a class
template partial specialization or function template, or when
substituting explicitly-specific template arguments into a function
template. We now print the actual deduced argument bindings so the
user can see what got deduced.
llvm-svn: 99923
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
'const'.
Fixes a false positive reported in PR 6288.
llvm-svn: 99922
 |