| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some valid pre-C++11 constructs change meaning when lexed in C++11
mode, e.g.
#define x(_a) printf("foo"_a);
(example from http://llvm.org/bugs/show_bug.cgi?id=16342). "foo"_a is treated as
a user-defined string literal when parsed in C++11 mode.
In order to deal with this correctly, we need to set lexing mode according to
which standard the code conforms to. We already have a configuration value for
this (FormatStyle.Standard), which seems to be appropriate to use in this case
as well.
Reviewers: klimek
CC: cfe-commits, gribozavr
Differential Revision: http://llvm-reviews.chandlerc.com/D1028
llvm-svn: 185149
|
|
|
|
| |
llvm-svn: 184940
|
|
|
|
| |
llvm-svn: 184939
|
|
|
|
| |
llvm-svn: 184938
|
|
|
|
| |
llvm-svn: 184937
|
|
|
|
| |
llvm-svn: 184915
|
|
|
|
| |
llvm-svn: 184794
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal of this sugar node is to be able to look at an arbitrary
FunctionType and tell if any of the parameters were decayed from an
array or function type. Ultimately this is necessary to implement
Microsoft's C++ name mangling scheme, which mangles decayed arrays
differently from normal pointers.
Reviewers: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D1014
llvm-svn: 184763
|
|
|
|
|
|
|
| |
print-size-type.cpp was checking for specific record layout output for invalid
decls; I've removed the checks but left the records as tests for not crashing.
llvm-svn: 184751
|
|
|
|
|
|
|
|
| |
Original patch by Fariborz Jahanian; extended by me.
Fixes rdar://14124644
llvm-svn: 184688
|
|
|
|
|
|
|
|
|
| |
Remove unneeded member in CommentSema, add a test for the XML schema (the
schema already allowed multiple paragraphs in <ResultDiscussion>, but there
were no tests for that), fix HTML generation (it is not allowed to have <p>
inside <dl>).
llvm-svn: 184652
|
|
|
|
|
|
|
| |
commands. Render them properly in XML output.
// rdar://14207725
llvm-svn: 184610
|
|
|
|
| |
llvm-svn: 184176
|
|
|
|
| |
llvm-svn: 184169
|
|
|
|
| |
llvm-svn: 184168
|
|
|
|
| |
llvm-svn: 184090
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The big changes are:
- Deleting Driver/(Arg|Opt)*
- Rewriting includes to llvm/Option/ and re-sorting
- 'using namespace llvm::opt' in clang::driver
- Fixing the autoconf build by adding option everywhere
As discussed in the review, this change includes using directives in
header files. I'll make follow up changes to remove those in favor of
name specifiers.
Reviewers: espindola
Differential Revision: http://llvm-reviews.chandlerc.com/D975
llvm-svn: 183989
|
|
|
|
| |
llvm-svn: 183945
|
|
|
|
| |
llvm-svn: 183944
|
|
|
|
|
|
| |
Also don't depend on Program.h including PathV1.h.
llvm-svn: 183935
|
|
|
|
| |
llvm-svn: 183930
|
|
|
|
| |
llvm-svn: 183902
|
|
|
|
|
|
| |
change.
llvm-svn: 183901
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce CXXStdInitializerListExpr node, representing the implicit
construction of a std::initializer_list<T> object from its underlying array.
The AST representation of such an expression goes from an InitListExpr with a
flag set, to a CXXStdInitializerListExpr containing a MaterializeTemporaryExpr
containing an InitListExpr (possibly wrapped in a CXXBindTemporaryExpr).
This more detailed representation has several advantages, the most important of
which is that the new MaterializeTemporaryExpr allows us to directly model
lifetime extension of the underlying temporary array. Using that, this patch
*drastically* simplifies the IR generation of this construct, provides IR
generation support for nested global initializer_list objects, fixes several
bugs where the destructors for the underlying array would accidentally not get
invoked, and provides constant expression evaluation support for
std::initializer_list objects.
llvm-svn: 183872
|
|
|
|
| |
llvm-svn: 183861
|
|
|
|
|
|
| |
This is preparation for replacing Path.h with PathV2.h.
llvm-svn: 183781
|
|
|
|
|
|
| |
Patch by Chris Gray.
llvm-svn: 183739
|
|
|
|
|
|
|
|
| |
Reviewers: klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D941
llvm-svn: 183654
|
|
|
|
|
|
|
|
| |
library (off by default)
This avoids building libclang twice by default.
llvm-svn: 183437
|
|
|
|
| |
llvm-svn: 183406
|
|
|
|
| |
llvm-svn: 183404
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds a command line argument '-analyze' to clang-check which runs the
clang static analyzer on the source files.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D926
llvm-svn: 183399
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds two command-line parameters: -extra-arg and -extra-arg-before, which
enable the user to pass additional parameters to the compiler command.
Reviewers: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D919
llvm-svn: 183320
|
|
|
|
|
|
|
|
| |
a getter/setter method annotation.
rdar://13764549
llvm-svn: 183242
|
|
|
|
|
|
|
| |
The new advanced option ensures ccc-analyze is used even when better
interposition methods are available.
llvm-svn: 182981
|
|
|
|
|
|
|
| |
This way, it has the same default as 'patch' and also the example in the
code makes more sense as it is explicitly setting -p 1.
llvm-svn: 182923
|
|
|
|
|
|
|
|
| |
getter/setter if one is already defined by the user.
Fixes rdar://13925258
llvm-svn: 182895
|
|
|
|
|
|
| |
users can disable those. Just like in autoconf generated makefiles.
llvm-svn: 182881
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
John noticed that the fix for pr15930 (r181981) didn't handle indirect
uses of local types. For example, a pointer to local struct, or a
function that returns it.
One way to implement this would be to recursively look for local
types. This would look a lot like the linkage computation itself for
types.
To avoid code duplication and utilize the existing linkage cache, this
patch just makes the computation of "type with no linkage but
externally visible because it is from an inline function" part of the
linkage computation itself.
llvm-svn: 182711
|
|
|
|
| |
llvm-svn: 182682
|
|
|
|
|
|
|
|
|
|
| |
Put this somewhere on your path and use:
git clang-format
Awesome work by Mark Lodato. Many thanks!
llvm-svn: 182596
|
|
|
|
|
|
|
|
|
|
| |
This is important if the user has multiple Xcodes installed on their
system -- we use xcodebuild to do a version check, and therefore we need
to make sure we match the actual build command.
Reported by Howard Ling!
llvm-svn: 182498
|
|
|
|
| |
llvm-svn: 182395
|
|
|
|
| |
llvm-svn: 182386
|
|
|
|
|
|
|
|
|
| |
With this patch, clang-format will try to keep the cursor at the
original code position in editor integrations (implemented for emacs and
vim). This means, after formatting, clang-format will try to keep the
cursor on the same character of the same token.
llvm-svn: 182373
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: + improved handling of default style and predefined styles.
Reviewers: djasper, klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D813
llvm-svn: 182205
|
|
|
|
|
|
| |
Patch by Seth Fowler.
llvm-svn: 182139
|
|
|
|
| |
llvm-svn: 182015
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a FieldDecl from it, and propagate both into the closure type and the
LambdaExpr.
You can't do much useful with them yet -- you can't use them within the body
of the lambda, because we don't have a representation for "the this of the
lambda, not the this of the enclosing context". We also don't have support or a
representation for a nested capture of an init-capture yet, which was intended
to work despite not being allowed by the current standard wording.
llvm-svn: 181985
|
|
|
|
|
|
|
|
|
|
|
| |
ASTDumper was already trying to do this & instead got an implicit bool
conversion by surprise (thus printing out 0 or 1 instead of the name of
the declaration). To avoid that issue & simplify call sites, simply make
it the normal/expected operator<<(raw_ostream&, ...) overload & simplify
all the existing call sites. (bonus: this function doesn't need to be a
member or friend, it's just using public API in DeclarationName)
llvm-svn: 181832
|