| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 172808
|
| |
|
|
|
|
|
| |
complicated modules (<rdar://problem/13038265>). Unfortunately, this
un-fixes <rdar://problem/13016031>.
llvm-svn: 172783
|
| |
|
|
|
|
| |
not supported.
llvm-svn: 172732
|
| |
|
|
|
|
|
| |
echristo already fixed this in r172649, but I'll leave the reformatting in
since I'm in the blame history for it now anyway.
llvm-svn: 172672
|
| |
|
|
|
|
| |
Rewrapping courtesy of clang-format.
llvm-svn: 172668
|
| |
|
|
|
|
| |
initializations to fix Wreorder warning.
llvm-svn: 172649
|
| |
|
|
|
|
| |
is used outside of a preprocessor directive. This fixes PR14837.
llvm-svn: 172639
|
| |
|
|
|
|
|
|
| |
defined.
Patch by Enea Zaffanella!
llvm-svn: 172623
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would serialize the macro redefinitions as a list, part of
the identifier, and try to chain them together across modules individually
without having the info that they were already chained at definition time.
Change this by serializing the macro redefinition chain and then try
to synthesize the chain parts across modules. This allows us to correctly
pinpoint when 2 different definitions are ambiguous because they came from
unrelated modules.
Fixes bogus "ambiguous expansion of macro" warning when a macro in a PCH
is redefined without undef'ing it first.
rdar://13016031
llvm-svn: 172620
|
| |
|
|
| |
llvm-svn: 172555
|
| |
|
|
|
|
|
|
| |
will have a shared library with the same name as its framework (and no
suffix!) within its .framework directory. Detect this both when
inferring the whole top-level framework and when parsing a module map.
llvm-svn: 172439
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
metadata for linking against the libraries/frameworks for imported
modules.
The module map language is extended with a new "link" directive that
specifies what library or framework to link against when a module is
imported, e.g.,
link "clangAST"
or
link framework "MyFramework"
Importing the corresponding module (or any of its submodules) will
eventually link against the named library/framework.
For now, I've added some placeholder global metadata that encodes the
imported libraries/frameworks, so that we can test that this
information gets through to the IR. The format of the data is still
under discussion.
llvm-svn: 172437
|
| |
|
|
|
|
| |
callers, removing unneeded const_cast
llvm-svn: 172372
|
| |
|
|
|
|
| |
brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
|
| |
|
|
|
|
| |
uniformly with symlinks between top-level and embedded frameworks.
llvm-svn: 172030
|
| |
|
|
|
|
|
|
|
|
|
|
| |
cases when
there are macro expansions inside macro arguments where the arguments are
not expanded in the same order as listed; don't assert that all macro expansions
are in source order.
rdar://12397063
llvm-svn: 172018
|
| |
|
|
|
|
| |
<rdar://problem/12748859>.
llvm-svn: 171939
|
| |
|
|
|
|
|
|
| |
Lexer::getRawToken().
No functionality change.
llvm-svn: 171771
|
| |
|
|
| |
llvm-svn: 171516
|
| |
|
|
|
|
|
|
| |
keyword for ObjC properties.
Fixes <rdar://problem/12953378>.
llvm-svn: 171504
|
| |
|
|
| |
llvm-svn: 171497
|
| |
|
|
| |
llvm-svn: 171367
|
| |
|
|
|
|
| |
reached EOF and did not expand the argument into the source context.
llvm-svn: 170980
|
| |
|
|
| |
llvm-svn: 170903
|
| |
|
|
|
|
| |
a not-fully-formed macro invocation during code-completion.
llvm-svn: 170833
|
| |
|
|
|
|
|
|
| |
the macro invocation is not fully formed.
rdar://11290992
llvm-svn: 170824
|
| |
|
|
|
|
| |
which is wrong here.
llvm-svn: 170721
|
| |
|
|
| |
llvm-svn: 170686
|
| |
|
|
|
|
|
|
| |
make sure they came from the same kind of FileIDs.
Thanks to Abramo Bagnara for providing the test case.
llvm-svn: 170616
|
| |
|
|
|
|
| |
single attribute in the future.
llvm-svn: 170500
|
| |
|
|
| |
llvm-svn: 170314
|
| |
|
|
|
|
| |
a note about where the macro is defined.
llvm-svn: 170228
|
| |
|
|
|
|
| |
function-like macro which isn't immediately followed by '('. FreeBSD's stdio.h #defines foo(x) to (foo)(x), apparently.
llvm-svn: 169960
|
| |
|
|
|
|
| |
latter is rather a mess to type.
llvm-svn: 169919
|
| |
|
|
|
|
|
|
|
|
| |
a file or directory, allowing just a stat call if a file descriptor
is not needed.
Doing just 'stat' is faster than 'open/fstat/close'.
This has the effect of cutting down system time for validating the input files of a PCH.
llvm-svn: 169831
|
| |
|
|
|
|
| |
was #import'ed.
llvm-svn: 169761
|
| |
|
|
|
|
|
|
|
|
| |
directive as a macro expansion.
This is more of a "macro reference" than a macro expansion but it's close enough
for libclang's purposes. If it causes issues we can revisit and introduce a new
kind of cursor.
llvm-svn: 169666
|
| |
|
|
|
|
| |
a MacroInfo object if the identifier was a macro name.
llvm-svn: 169665
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
uncovered.
This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.
I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
|
| |
|
|
| |
llvm-svn: 169233
|
| |
|
|
|
|
|
|
|
| |
PreprocessingRecord and into its own class, PPConditionalDirectiveRecord.
Decoupling allows a client to use the functionality of PPConditionalDirectiveRecord
without needing a PreprocessingRecord.
llvm-svn: 169229
|
| |
|
|
|
|
|
|
| |
regions
use the SourceLocation at the start of the respective region, instead of a unique integer.
llvm-svn: 169228
|
| |
|
|
|
|
|
|
|
| |
consistent.
Fixes a crash printing diagnostics on the gcc testsuite, and also makes
diagnostic range printing print nicer results for token pastes.
llvm-svn: 169068
|
| |
|
|
| |
llvm-svn: 169030
|
| |
|
|
|
|
| |
to pravic!
llvm-svn: 169028
|
| |
|
|
|
|
|
|
|
|
|
|
| |
import of that module elsewhere, don't try to build the module again:
it won't work, and the experience is quite dreadful. We track this
information somewhat globally, shared among all of the related
CompilerInvocations used to build modules on-the-fly, so that a
particular Clang instance will only try to build a given module once.
Fixes <rdar://problem/12552849>.
llvm-svn: 168961
|
| |
|
|
| |
llvm-svn: 168778
|
| |
|
|
|
|
|
|
| |
string literal needs cleaning (because it contains line-splicing in the
encoding prefix or in the ud-suffix), do not clean the section between the
double-quotes -- that's the "raw" bit!
llvm-svn: 168776
|
| |
|
|
| |
llvm-svn: 168274
|
| |
|
|
|
|
|
| |
This makes LexCharConstant() look more like LexStringLiteral(), which doesn't
have this bug. Add tests for eof after \ for several other cases.
llvm-svn: 168269
|