| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
identifiers, in cases where those identifiers would be treated as
user-defined literal suffixes in C++11.
llvm-svn: 152198
|
| |
|
|
|
|
| |
is not usable in a constant expression. ~2.5% speedup on 403.gcc / combine.c.
llvm-svn: 152193
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compiler errors or not.
-Control whether ASTReader should reject such a PCH by a boolean flag at ASTReader's creation time.
By default, such a PCH file will be rejected with an error when trying to load it.
[libclang] Allow clang_saveTranslationUnit to create a PCH file even if compiler errors
occurred.
-Have libclang API calls accept a PCH that had compiler errors.
The general idea is that we want libclang to stay functional even if a PCH had a compiler error.
rdar://10976363.
llvm-svn: 152192
|
| |
|
|
|
|
| |
TemplateTemplateParmDecls. PR12179.
llvm-svn: 152189
|
| |
|
|
|
|
| |
when debugging. // rdar://10997647
llvm-svn: 152187
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you're using git-svn, the clang and llvm repository will typically
map to a different revision.
Before we had:
clang version 3.1 (trunk 152167 trunk 152162)
After this change:
clang version 3.1 (trunk 152167) (llvm/trunk 152162)
So it's self-descriptive with an extra parens group. Which is more
compatible with version string parsers is probably debatable, but this
style was requested.
llvm-svn: 152183
|
| |
|
|
|
|
| |
producing a C-only diagnostic.
llvm-svn: 152181
|
| |
|
|
|
|
| |
rdar://10993648
llvm-svn: 152180
|
| |
|
|
| |
llvm-svn: 152170
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This submission improves Clang sema handling by using Clang tablegen
to generate common boilerplate code. As a start, it implements AttributeList
enumerator generation and case statements for AttributeList::getKind.
A new field "SemaHandler" is introduced in Attr.td and by default set to 1
as most of attributes in Attr.td have semantic checking in Sema. For a small
number of attributes that don't appear in Sema, the value is set to 0.
Also there are a small number of attributes that only appear in Sema but not
in Attr.td. Currently these attributes are still hardcoded in Sema AttributeList.
Reviewed by Delesley Hutchins.
llvm-svn: 152169
|
| |
|
|
| |
llvm-svn: 152166
|
| |
|
|
|
|
| |
-- which is very much not free -- in the common case.
llvm-svn: 152165
|
| |
|
|
|
|
| |
block in the CFG.
llvm-svn: 152163
|
| |
|
|
| |
llvm-svn: 152159
|
| |
|
|
|
|
| |
this.
llvm-svn: 152158
|
| |
|
|
| |
llvm-svn: 152154
|
| |
|
|
|
|
|
|
| |
blocks with unknown return types. This allows
LLDB to call blocks even when their return types
aren't provided in the debug information.
llvm-svn: 152147
|
| |
|
|
|
|
|
| |
-fno-inline.
Part of rdar://10972766
llvm-svn: 152145
|
| |
|
|
|
|
|
|
|
|
|
| |
the new Objective-C NSArray/NSDictionary/NSNumber literal syntax.
This introduces a new library, libEdit, which provides a new way to support
migration of code that improves on the original ARC migrator. We now believe
that most of its functionality can be refactored into the existing libraries,
and thus this new library may shortly disappear.
llvm-svn: 152141
|
| |
|
|
| |
llvm-svn: 152140
|
| |
|
|
| |
llvm-svn: 152139
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
NSNumber, and boolean literals. This includes both Sema and Codegen support.
Included is also support for new Objective-C container subscripting.
My apologies for the large patch. It was very difficult to break apart.
The patch introduces changes to the driver as well to cause clang to link
in additional runtime support when needed to support the new language features.
Docs are forthcoming to document the implementation and behavior of these features.
llvm-svn: 152137
|
| |
|
|
|
|
| |
rdar://10972766
llvm-svn: 152130
|
| |
|
|
| |
llvm-svn: 152128
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- These functions are both (a) very commonly called and (b) excellent
candidates for CSE in the callers in which they are commonly used.
- That isHalfType() is hot makes me sad, but it is trivially when inlined (and
a huge waste of time when not!!!).
- The extra IsEnumDeclComplete() function is a hack to break the cycle between
Type.h and Decl.h, I'm not sure of how to do this more cleanly, but am open
to ideas.
llvm-svn: 152126
|
| |
|
|
|
|
| |
when rewriting.
llvm-svn: 152123
|
| |
|
|
|
|
|
|
|
|
| |
grammar requires a string-literal and not a user-defined-string-literal. The
two constructs are still represented by the same TokenKind, in order to prevent
a combinatorial explosion of different kinds of token. A flag on Token tracks
whether a ud-suffix is present, in order to prevent clients from needing to look
at the token's spelling.
llvm-svn: 152098
|
| |
|
|
|
|
| |
The latter is just a worse version of the former.
llvm-svn: 152096
|
| |
|
|
|
|
| |
the callee, and add an edge.
llvm-svn: 152086
|
| |
|
|
| |
llvm-svn: 152083
|
| |
|
|
| |
llvm-svn: 152080
|
| |
|
|
| |
llvm-svn: 152078
|
| |
|
|
|
|
|
|
|
|
| |
call arguments
when the called function is never inlined.
Fixes <rdar://problem/10977037>.
llvm-svn: 152073
|
| |
|
|
|
|
|
| |
string literal, and adjust the diagnostic code to match. This also causes us
to escape any control characters in the message.
llvm-svn: 152069
|
| |
|
|
|
|
| |
memory doesn't alias symbolic memory. This is a heuristic/hack, but works well in practice. Fixes <rdar://problem/10978247>.
llvm-svn: 152065
|
| |
|
|
|
|
| |
bool. Ugh.
llvm-svn: 152062
|
| |
|
|
| |
llvm-svn: 152059
|
| |
|
|
|
|
| |
check it. Fixes PR12178.
llvm-svn: 152048
|
| |
|
|
|
|
| |
return types that return non-void values. // rdar://10735698
llvm-svn: 152047
|
| |
|
|
|
|
| |
calls with self as a parameter.
llvm-svn: 152039
|
| |
|
|
|
|
| |
calling an ObjC method ending with 'NoCopy'.
llvm-svn: 152037
|
| |
|
|
| |
llvm-svn: 152033
|
| |
|
|
|
|
|
| |
ASTContext::getUnaryTransformType. This can happen if, for example,
an enumeration's underlying type is a typedef.
llvm-svn: 152031
|
| |
|
|
|
|
| |
Patch from Sean Silva <silvas@purdue.edu>!
llvm-svn: 152030
|
| |
|
|
| |
llvm-svn: 152029
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In the included testcase, soma thinks that we already have a definition after we
see the out of line decl. Codegen puts it in a deferred list, to be output if
a use is seen. This would break when we saw an explicit template instantiation
definition, since codegen would not be notified.
This patch adds a method to the consumer interface so that soma can notify
codegen that this decl is now required.
llvm-svn: 152024
|
| |
|
|
|
|
|
|
| |
would not be seen to be in ::std::.
Migrate two other places where the same logic is used to use the helper function that already exists.
llvm-svn: 152022
|
| |
|
|
|
|
|
|
|
| |
-Make sure we don't change to '__weak' a __block variable used as output.
-Make sure we don't apply __weak twice.
Fixes rdar://10520757&10521362
llvm-svn: 152020
|
| |
|
|
|
|
|
|
|
| |
conditional directives.
Introduce PreprocessingRecord::rangeIntersectsConditionalDirective() which returns
true if a given range intersects with a conditional directive block.
llvm-svn: 152018
|
| |
|
|
|
|
|
|
| |
-Add location parameter for the directives callbacks
-Skip callbacks if the directive is inside a skipped range.
-Make sure the directive callbacks are invoked in source order.
llvm-svn: 152017
|