| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
consistency.
llvm-svn: 174645
|
|
|
|
|
|
| |
latter is rather a mess to type.
llvm-svn: 169919
|
|
|
|
|
|
|
| |
statement starts with an identifier for which name lookup will fail either way,
look at later tokens to disambiguate in order to improve error recovery.
llvm-svn: 162464
|
|
|
|
|
|
|
|
| |
commit to a particular syntax for modules,
and don't have time to push it forward in the near future.
llvm-svn: 151841
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
modules. This leaves us without an explicit syntax for importing
modules in C/C++, because such a syntax needs to be discussed
first. In Objective-C/Objective-C++, the @import syntax is used to
import modules.
Note that, under -fmodules, C/C++ programs can import modules via the
#include mechanism when a module map is in place for that header. This
allows us to work with modules in C/C++ without committing to a syntax.
llvm-svn: 147467
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
visibility restrictions. This ensures that all declarations of the
same entity end up in the same redeclaration chain, even if some of
those declarations aren't visible. While this may seem unfortunate to
some---why can't two C modules have different functions named
'f'?---it's an acknowedgment that a module does not introduce a new
"namespace" of names.
As part of this, stop merging the 'module-private' bit from previous
declarations to later declarations, because we want each declaration
in a module to stand on its own because this can effect, for example,
submodule visibility.
Note that this notion of names that are invisible to normal name
lookup but are available for redeclaration lookups is how we should
implement friend declarations and extern declarations within local
function scopes. I'm not tackling that problem now.
llvm-svn: 146980
|
|
|
|
|
|
|
| |
source file (e.g., a header). Immediately steal this useful option
name for building modules from a module map file.
llvm-svn: 145444
|
|
|
|
| |
llvm-svn: 144779
|
|
|
|
|
|
|
|
|
| |
target triple to separate modules built under different
conditions. The hash is used to create a subdirectory in the module
cache path where other invocations of the compiler (with the same
version, language options, etc.) can find the precompiled modules.
llvm-svn: 139662
|
|
|
|
| |
llvm-svn: 139597
|
|
|
|
|
|
|
|
| |
where the compiler will look for module files. Eliminates the
egregious hack where we looked into the header search paths for
modules.
llvm-svn: 139538
|
|
|
|
| |
llvm-svn: 139519
|
|
|
|
| |
llvm-svn: 139499
|
|
|
|
|
|
|
| |
declaration may be the first declaration, we want the ability to that
declaration to be marked module-private.
llvm-svn: 139497
|
|
|
|
| |
llvm-svn: 139411
|
|
|
|
| |
llvm-svn: 139406
|
|
|
|
|
|
| |
must also be present of the first declaration of that entity.
llvm-svn: 139384
|
|
|
|
|
|
| |
declarations.
llvm-svn: 139380
|
|
indicates that a declaration is only visible within the module it is
declared in.
llvm-svn: 139348
|