Richard Smith
fd8b64eea0
[modules] Support merging a parsed default argument with an imported hidden one for non-type and template template parameters too.
...
llvm-svn: 237815
2015-05-20 18:24:21 +00:00
Richard Smith
c7d48d1a16
[modules] Support merging a parsed default function/template argument with an imported but hidden one.
...
llvm-svn: 237814
2015-05-20 17:50:35 +00:00
Richard Smith
82e57fb1e8
[modules] Support for merging a parsed definition of a static data member of a class template into an imported but hidden definition.
...
llvm-svn: 237647
2015-05-19 00:49:29 +00:00
Richard Smith
c7e6ff02d5
[modules] Support for merging a parsed class template specialization definition into an imported but hidden definition.
...
llvm-svn: 237612
2015-05-18 20:36:47 +00:00
Richard Smith
d9ba224f66
[modules] Suport for merging a parsed enum definition into an existing imported but not visible definition.
...
llvm-svn: 236690
2015-05-07 03:54:19 +00:00
Richard Smith
d6aab59ad1
[modules] Allow a function template definition if we have a pre-existing but not visible definition of the same template.
...
llvm-svn: 233430
2015-03-27 21:57:41 +00:00
Richard Smith
9a71c99844
[modules] Allow a function to be redefined if the old definition is not visible.
...
llvm-svn: 233407
2015-03-27 20:16:58 +00:00
Richard Smith
a523022b53
[modules] Handle defining a tag with a typedef name for linkage purposes on top of an existing imported-but-not-visible definition.
...
llvm-svn: 233345
2015-03-27 01:37:43 +00:00
Richard Smith
be3980b73c
[modules] Handle defining a class template on top of an existing imported-but-not-visible definition.
...
llvm-svn: 233341
2015-03-27 00:41:57 +00:00
Richard Smith
65ebb4ac8a
[modules] If we reach a definition of a class for which we already have a
...
non-visible definition, skip the new definition and make the old one visible
instead of trying to parse it again and failing horribly. C++'s ODR allows
us to assume that the two definitions are identical.
llvm-svn: 233250
2015-03-26 04:09:53 +00:00