Richard Smith
|
f81c2cc6ca
|
[modules] For an inheriting constructor, the inherited constructor is stored in
a map keyed off the canonical declaration. Don't try to set it if we're loading
some non-canonical merged declaration.
llvm-svn: 230716
|
2015-02-27 01:57:00 +00:00 |
Richard Smith
|
f463436d9c
|
[modules] Make NamespaceAliasDecl redeclarable, as it should be. This fixes
merging of namespace aliases across modules and improves source fidelity.
Incidentally also fixes PR20816.
llvm-svn: 217103
|
2014-09-03 23:11:22 +00:00 |
Richard Smith
|
70d5850955
|
[modules] Fix deserialization cycle when loading a tag declaration with a typedef name for linkage purposes. When loading the type, delay loading its typedef until we've finished loading and merging the type. In its place, save out the name of the typedef, which we need for merging purposes.
llvm-svn: 216806
|
2014-08-30 00:04:23 +00:00 |
Richard Smith
|
b602c7f843
|
Add some missing test coverage for merging 'extern "C"' functions with modules.
llvm-svn: 216796
|
2014-08-29 22:33:38 +00:00 |
Richard Smith
|
b1108739e4
|
[modules] Don't assert when merging virtual functions that override other
functions. Also don't needlessly pull in non-canonical declarations of the
overridden virtual functions.
llvm-svn: 216503
|
2014-08-26 23:29:11 +00:00 |
Richard Smith
|
88ebade8d9
|
[modules] When merging a tag declaration that has a typedef name for linkage
purposes, look for other typedefs with that same name and merge into their
named tag declaration if there is one.
llvm-svn: 216312
|
2014-08-23 01:45:27 +00:00 |
Richard Smith
|
675d279af4
|
[modules] When we merge redecl chains or mark a decl used with an update
record, mark all subsequent decls as 'used' too, to maintain the AST invariant
that getPreviousDecl()->Used implies this->Used.
llvm-svn: 211050
|
2014-06-16 20:26:19 +00:00 |