Douglas Gregor
c147b0bc31
Provide Decl::getOwningModule(), which determines the (sub)module in
...
which a particular declaration resides. Use this information to
customize the "definition of 'blah' must be imported from another
module" diagnostic with the module the user actually has to
import. Additionally, recover by importing that module, so we don't
complain about other names in that module.
Still TODO: coming up with decent Fix-Its for these cases, and expand
this recovery approach for other name lookup failures.
llvm-svn: 172290
2013-01-12 01:29:50 +00:00
Douglas Gregor
c50d4924eb
Use @import rather than @__experimental_modules_import, since the
...
latter is rather a mess to type.
llvm-svn: 169919
2012-12-11 22:11:52 +00:00
Ted Kremenek
c1e4dd0e8e
Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules,
...
and don't have time to push it forward in the near future.
llvm-svn: 151841
2012-03-01 22:07:04 +00:00
Douglas Gregor
0bf886d41a
Under -fmodules, accept #public <macroname> and #private <macroname>
...
to make a macro public (the default for headers) or private,
respectively.
llvm-svn: 147455
2012-01-03 18:24:14 +00:00
Douglas Gregor
22d0974b40
Introduce a non-uglified syntax for module imports in Objective-C:
...
@import identifier [. identifier]* ;
llvm-svn: 147452
2012-01-03 18:04:46 +00:00
Douglas Gregor
5dbf4eb66b
Diagnose cases where the definition of a particular type is required,
...
is known (to Clang), but is not visible because the module has not yet
been imported.
llvm-svn: 147436
2012-01-02 17:18:37 +00:00
Douglas Gregor
95ab186240
When name lookup finds a module-private Objective-C class declaration,
...
check whether any previous declarations of the class were visible.
llvm-svn: 146680
2011-12-15 20:36:27 +00:00
Douglas Gregor
4a814568b2
When name lookup comes across a declaration that is in a module that
...
is not visible, look for any previous declarations of that entity that
might be visible.
llvm-svn: 146563
2011-12-14 16:03:29 +00:00