| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 163147
|
|
|
|
| |
llvm-svn: 163099
|
|
|
|
|
|
| |
Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review.
llvm-svn: 163083
|
|
|
|
| |
llvm-svn: 163072
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
code-recursively.
This can blow the stack with extremely deep hierarchies. Switch it to data-recursive.
This is implemented by introducing a post-children visitation callback that the
CursorVisitor is calling after child nodes of a cursor have been visited.
This is used by the annotate-tokens visitor to do extra work at that point.
rdar://11979525.
llvm-svn: 163071
|
|
|
|
|
|
|
| |
This is similar to how we divide up the StaticAnalyzer libraries to separate
core functionality to what is clearly associated with Frontend actions.
llvm-svn: 163050
|
|
|
|
| |
llvm-svn: 163032
|
|
|
|
| |
llvm-svn: 163024
|
|
|
|
|
|
| |
instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins.
llvm-svn: 163013
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ivars otherwise
if we have something like:
@synthesize prop = _prop;
and '_prop' is not declared, we will encounter a '_prop' ivar before
encountering the 'prop' synthesize declaration and we will think that
we passed the region-of-interest, missing the cursor for 'prop'.
rdar://12172700
llvm-svn: 162715
|
|
|
|
|
|
| |
change intended.
llvm-svn: 162710
|
|
|
|
|
|
| |
No functional change intended.
llvm-svn: 162632
|
|
|
|
| |
llvm-svn: 162452
|
|
|
|
|
|
|
|
| |
Not only look for the comment near the declaration itself, but also walk the
redeclaration chain: the previous declaration might have had a documentation
comment.
llvm-svn: 161722
|
|
|
|
|
|
| |
as their argument. For example, \fn, \function, \typedef, \method, \class etc.
llvm-svn: 161601
|
|
|
|
|
|
|
| |
This also fixes a bug in comment to XML conversion: \result was just an
ordinary paragraph, not an alias for \returns.
llvm-svn: 161596
|
|
|
|
|
|
| |
inline assembly.
llvm-svn: 161594
|
|
|
|
|
|
| |
not compress spaces in verbatim content.
llvm-svn: 161531
|
|
|
|
| |
llvm-svn: 161498
|
|
|
|
|
|
| |
Comment XML: add a root node kind for enums.
llvm-svn: 161442
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation also includes a Relax NG schema and tests for the schema
itself. The schema is used in c-index-test to verify that XML documents we
produce are valid. In order to do the validation, we add an optional libxml2
dependency for c-index-test.
Credits for CMake part go to Doug Gregor. Credits for Autoconf part go to Eric
Christopher. Thanks!
llvm-svn: 161431
|
|
|
|
| |
llvm-svn: 161145
|
|
|
|
|
|
| |
semantic parts -- this will be reused for comment to XML conversion.
llvm-svn: 161139
|
|
|
|
| |
llvm-svn: 161096
|
|
|
|
| |
llvm-svn: 161094
|
|
|
|
|
|
|
|
|
|
| |
The only caveat is renumbering CXCommentKind enum for aesthetic reasons -- this
breaks libclang binary compatibility, but should not be a problem since API is
so new.
This also fixes PR13372 as a side-effect.
llvm-svn: 161087
|
|
|
|
| |
llvm-svn: 160980
|
|
|
|
| |
llvm-svn: 160971
|
|
|
|
|
|
| |
called unless index is valid.
llvm-svn: 160970
|
|
|
|
| |
llvm-svn: 160849
|
|
|
|
| |
llvm-svn: 160738
|
|
|
|
|
|
|
| |
when a \param command does not have a parameter name, just return an empty
string instead.
llvm-svn: 160638
|
|
|
|
|
|
|
|
| |
rendering mode for clients that don't want to interpret Doxygen commands.
Also add a libclang API to query this information.
llvm-svn: 160633
|
|
|
|
|
|
|
| |
by index. This is useful if the user does not document all arguments, and we
can't find a particular argument by index via :nth-of-type() CSS selector.
llvm-svn: 160595
|
|
|
|
|
|
|
|
|
|
|
| |
HTML fragment.
For testing, c-index-test now has even more output:
* HTML rendering of a comment
* comment AST tree dump in S-expressions like Comment::dump(), but implemented
* with libclang APIs.
llvm-svn: 160577
|
|
|
|
| |
llvm-svn: 160331
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as "volatile", meaning there's a high enough chance that they may
change while we are trying to use them.
This flag is only enabled by libclang.
Currently "volatile" source files will be stat'ed immediately
before opening them, because the file size stat info
may not be accurate since when we got it (e.g. from the PCH).
This avoids crashes when trying to reference mmap'ed memory
from a file whose size is not what we expect.
Note that there's still a window for a racing issue to occur
but the window for it should be way smaller than before.
We can consider later on to avoid mmap completely on such files.
rdar://11612916
llvm-svn: 160074
|
|
|
|
|
|
|
| |
- Split pedantic driver flag test into separate test file, and XFAIL on cygwin,mingw32
- Fix bug in tablegen logic where a missing '{' caused errors to be included in -Wpedantic.
llvm-svn: 159892
|
|
|
|
|
|
|
|
|
|
| |
-Weverything." It broke several builds.
I suspect FileCheck might match assertion failure, even if clang/test/Misc/warning-flags.c passed the test.
> 0. Program arguments: bin/./clang -### -pedantic -Wpedantic clang/test/Driver/warning-options.cpp
llvm-svn: 159886
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces some magic in tablegen to create a "Pedantic" diagnostic
group which automagically includes all warnings that are extensions. This
allows a user to suppress specific warnings traditionally under -pedantic used
an ordinary warning flag. This also allows users to use #pragma to silence
specific -pedantic warnings, or promote them to errors, within blocks of text
(just like any other warning).
-Wpedantic is NOT an alias for -pedantic. Instead, it provides another way
to (a) activate -pedantic warnings and (b) disable them. Where they differ
is that -pedantic changes the behavior of the preprocessor slightly, whereas
-Wpedantic does not (it just turns on the warnings).
The magic in the tablegen diagnostic emitter has to do with computing the minimal
set of diagnostic groups and diagnostics that should go into -Wpedantic, as those
diagnostics that already members of groups that themselves are (transitively) members
of -Wpedantic do not need to be included in the Pedantic group directly. I went
back and forth on whether or not to magically generate this group, and the invariant
was that we always wanted extension warnings to be included in -Wpedantic "some how",
but the bookkeeping would be very onerous to manage by hand.
-no-pedantic (and --no-pedantic) is included for completeness, and matches many of the
same kind of flags the compiler already supports. It does what it says: cancels out
-pedantic. One discrepancy is that if one specifies --no-pedantic and -Weverything or
-Wpedantic the pedantic warnings are still enabled (essentially the -W flags win). We
can debate the correct behavior here.
Along the way, this patch nukes some code in TextDiagnosticPrinter.cpp and CXStoredDiagnostic.cpp
that determine whether to include the "-pedantic" flag in the warning output. This is
no longer needed, as all extensions now have a -W flag.
This patch also significantly reduces the number of warnings not under flags from 229
to 158 (all extension warnings). That's a 31% reduction.
llvm-svn: 159875
|
|
|
|
| |
llvm-svn: 159682
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
given a cursor pointing to a C++ method call or an ObjC message,
returns non-zero if the method/message is "dynamic", meaning:
For a C++ method: the call is virtual.
For an ObjC message: the receiver is an object instance, not 'super' or a
specific class.
rdar://11779185
llvm-svn: 159627
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attached to a declaration in the completion string.
Since extracting comments isn't free, a new code completion option is
introduced.
A new code completion option that enables including brief comments
into CodeCompletionString should be a, err, code completion option.
But because ASTUnit caches global declarations during parsing before
even completion consumer is created, the option is duplicated as a
translation unit option (in both libclang and ASTUnit, like the option
to cache code completion results).
llvm-svn: 159539
|
|
|
|
|
|
| |
CXCompilationDatabase
llvm-svn: 159493
|
|
|
|
| |
llvm-svn: 159490
|
|
|
|
| |
llvm-svn: 159484
|
|
|
|
|
|
|
|
| |
It may end up pointing at garbage.
Fixes the MSVC debug build. rdar://11703319
llvm-svn: 159377
|
|
|
|
| |
llvm-svn: 159355
|
|
|
|
| |
llvm-svn: 159223
|
|
|
|
|
|
|
|
|
| |
express library-level dependencies within Clang.
This is no more verbose really, and plays nicer with the rest of the
CMake facilities. It should also have no change in functionality.
llvm-svn: 158888
|