| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 141171
|
| |
|
|
| |
llvm-svn: 141165
|
| |
|
|
|
|
|
|
| |
return to one which does not return (has noreturn attribute)
should warn as it is an unsafe assignment. // rdar://10095762
c++ already handles this. This is the c version.
llvm-svn: 141141
|
| |
|
|
|
|
|
|
| |
-Add the location of the class name to all objc container decls, not just ObjCInterfaceDecl.
-Make objc decls consistent with the rest of the NamedDecls and have getLocation() point to the
class name, not the location of '@'.
llvm-svn: 141061
|
| |
|
|
| |
llvm-svn: 141018
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of always storing all source locations for the selector identifiers
we check whether all the identifiers are in a "standard" position; "standard" position is
-Immediately before the arguments: -(id)first:(int)x second:(int)y;
-With a space between the arguments: -(id)first: (int)x second: (int)y;
-For nullary selectors, immediately before ';': -(void)release;
In such cases we infer the locations instead of storing them.
llvm-svn: 140989
|
| |
|
|
| |
llvm-svn: 140988
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of always storing all source locations for the selector identifiers
we check whether all the identifiers are in a "standard" position; "standard" position is
-Immediately before the arguments: [foo first:1 second:2]
-With a space between the arguments: [foo first: 1 second: 2]
-For nullary selectors, immediately before ']': [foo release]
In such cases we infer the locations instead of storing them.
llvm-svn: 140987
|
| |
|
|
| |
llvm-svn: 140986
|
| |
|
|
| |
llvm-svn: 140985
|
| |
|
|
|
|
|
|
| |
objc method decls.
They are not stored in the AST yet.
llvm-svn: 140984
|
| |
|
|
|
|
| |
from the selector.
llvm-svn: 140983
|
| |
|
|
|
|
|
|
| |
from the parser.
They are not kept in the AST yet.
llvm-svn: 140982
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
part on patches by Peter Collingbourne.
We diverge from the C++11 standard in a few areas, mostly related to checking
constexpr function declarations, and not just definitions. See WG21 paper
N3308=11-0078 for details.
Function invocation substitution is not available in this patch; constexpr
functions cannot yet be used from within constant expressions.
llvm-svn: 140926
|
| |
|
|
| |
llvm-svn: 140829
|
| |
|
|
|
|
| |
constant expression.
llvm-svn: 140812
|
| |
|
|
|
|
|
| |
support for the C++0x draft [[align]] attribute and add the C1X
standard header file stdalign.h
llvm-svn: 140796
|
| |
|
|
|
|
|
|
| |
some arguments types are ns_consumed and some otherwise
matching types are not. This is objc side of
// rdar://10187884
llvm-svn: 140729
|
| |
|
|
|
|
| |
a function/method/block it returns the corresponding DeclContext, otherwise it returns null.
llvm-svn: 140672
|
| |
|
|
|
|
| |
macro whose only replacement token is '_Bool'.
llvm-svn: 140656
|
| |
|
|
|
|
|
| |
'bool' rather than '_Bool' within types, to make things a bit more
readable. Fixes <rdar://problem/10063263>.
llvm-svn: 140650
|
| |
|
|
|
|
| |
Patch from r4start at gmail.com (with some minor modifications by me).
llvm-svn: 140623
|
| |
|
|
| |
llvm-svn: 140613
|
| |
|
|
|
|
| |
http://llvm.org/PR10990
llvm-svn: 140542
|
| |
|
|
|
|
| |
little storage.
llvm-svn: 140529
|
| |
|
|
| |
llvm-svn: 140510
|
| |
|
|
| |
llvm-svn: 140501
|
| |
|
|
| |
llvm-svn: 140478
|
| |
|
|
|
|
|
|
|
| |
Allow empty initializer lists for scalars, which mean value-initialization.
Constant evaluation for single-element and empty initializer lists for scalars.
Codegen for empty initializer lists for scalars.
Test case comes in next commit.
llvm-svn: 140459
|
| |
|
|
| |
llvm-svn: 140407
|
| |
|
|
|
|
| |
write barrier with captured pointer to object. // rdar://10150823
llvm-svn: 140399
|
| |
|
|
| |
llvm-svn: 140368
|
| |
|
|
| |
llvm-svn: 140367
|
| |
|
|
|
|
| |
Use ASTTemplateArgumentListInfo instead.
llvm-svn: 140331
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 140330
|
| |
|
|
|
|
| |
linkage name via typedef. Patch from/fixes PR10958.
llvm-svn: 140317
|
| |
|
|
| |
llvm-svn: 140268
|
| |
|
|
|
|
| |
Per John's review comments for r140068.
llvm-svn: 140142
|
| |
|
|
| |
llvm-svn: 140068
|
| |
|
|
|
|
| |
It already works (and is useful with) macro locs as well.
llvm-svn: 140057
|
| |
|
|
|
|
|
|
| |
We were failing to set source locations and ranges in isUnusedResultAWarning
for CXXOperatorCallExprs, leading to an "expression result unused" warning
with absolutely no context if the expression was inside a macro.
llvm-svn: 140036
|
| |
|
|
|
|
|
|
|
| |
to find the called declaration. Explicit casts can radically
change the semantics of a call, and it's no longer really a
builtin call any more than it would be a builtin call if you stored
the function pointer into a variable and called that.
llvm-svn: 139659
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to the consumer without being fully deserialized).
The regression was on compiling boost.python and it was too difficult to get a reduced
test case unfortunately.
Also modify the logic of how objc methods are getting passed to the consumer;
codegen depended on receiving objc methods before the implementation decl.
Since the interesting objc methods are ones with a body and such methods only
exist inside an ObjCImplDecl, deserialize and pass to consumer all the methods
of ObCImplDecl when we see one.
Fixes http://llvm.org/PR10922 & rdar://10117105.
llvm-svn: 139644
|
| |
|
|
|
|
|
|
|
|
| |
language options. Use that .def file to declare the LangOptions class
and initialize all of its members, eliminating a source of annoying
initialization bugs.
AST serialization changes are next up.
llvm-svn: 139605
|
| |
|
|
| |
llvm-svn: 139466
|
| |
|
|
| |
llvm-svn: 139461
|
| |
|
|
|
|
|
|
|
|
|
| |
the lifetime of the block by copying it to the heap, or else we'll get
a dangling reference because the code working with the non-block-typed
object will not know it needs to copy.
There is some danger here, e.g. with assigning a block literal to an
unsafe variable, but, well, it's an unsafe variable.
llvm-svn: 139451
|
| |
|
|
|
|
|
|
|
| |
than having CodeGen check whether a declaration comes from an AST file
(which it shouldn't know or care about), make sure that the AST writer and
reader pass along "interesting" declarations that CodeGen needs to
know about.
llvm-svn: 139441
|
| |
|
|
|
|
|
|
|
|
|
| |
and case statements. Use this to make the logic in the CFG builder more
robust at finding the actual statements within a compound statement,
even when there are many layers of labels obscuring it.
Also extend the test cases for a large chunk of PR10063. Still more work
to do here though.
llvm-svn: 139437
|
| |
|
|
| |
llvm-svn: 139357
|