| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 65370
|
| |
|
|
|
|
|
|
|
| |
analyzer for array subscript expressions involving bases that are vectors. This
solution is probably a hack: it gets the lvalue of the vector instead of an
rvalue like all other types. This should be reviewed (big FIXME in
GRExprEngine).
llvm-svn: 65366
|
| |
|
|
|
|
|
|
|
| |
on should only be evaluated once, and it is evaluated outside the cleanup scope.
Also, lift SyncEnter and SyncExit up in nervous anticipation of x86-64
zero cost EH.
llvm-svn: 65362
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- When we are declaring a function in local scope, we can merge with
a visible declaration from an outer scope if that declaration
refers to an entity with linkage. This behavior now works in C++
and properly ignores entities without linkage.
- Diagnose the use of "static" on a function declaration in local
scope.
- Diagnose the declaration of a static function after a non-static
declaration of the same function.
- Propagate the storage specifier to a function declaration from a
prior declaration (PR3425)
- Don't name-mangle "main"
llvm-svn: 65360
|
| |
|
|
| |
llvm-svn: 65348
|
| |
|
|
|
|
| |
'method' or 'funciton'.
llvm-svn: 65346
|
| |
|
|
|
|
| |
case where an "Execution continues..." diagnostic could result in an empty message bubble.
llvm-svn: 65342
|
| |
|
|
|
|
|
|
| |
assertion when the ivars and method list was reset into the existing
interface. To fix this, mark decls as invalid when they are redefined,
and don't insert ivars/methods into invalid decls.
llvm-svn: 65340
|
| |
|
|
|
|
|
| |
of a pointer to object; This patch does this odd behavior according to
gcc.
llvm-svn: 65334
|
| |
|
|
|
|
| |
- Generate error for protocol qualifiers on non-ObjC types.
llvm-svn: 65333
|
| |
|
|
|
|
| |
Remove support for "Class<P>". Will be making this an error.
llvm-svn: 65332
|
| |
|
|
| |
llvm-svn: 65331
|
| |
|
|
|
|
|
| |
This doesn't change the current functionality, but better codifies the
autorelease pool stack itself.
llvm-svn: 65328
|
| |
|
|
|
|
| |
- No functionality change.
llvm-svn: 65325
|
| |
|
|
| |
llvm-svn: 65322
|
| |
|
|
|
|
| |
getDesguaredType(). Constify some pointers along the way.
llvm-svn: 65321
|
| |
|
|
|
|
|
| |
I don't think casting super makes any sense (since it won't effect method lookup).
Will discuss with other offline and decide what to do.
llvm-svn: 65317
|
| |
|
|
| |
llvm-svn: 65305
|
| |
|
|
|
|
| |
objects (opt for false negatives).
llvm-svn: 65304
|
| |
|
|
| |
llvm-svn: 65302
|
| |
|
|
|
|
| |
DoNothing effect.
llvm-svn: 65301
|
| |
|
|
|
|
| |
messages to 'Class'. Also improve "super" handling.
llvm-svn: 65300
|
| |
|
|
| |
llvm-svn: 65293
|
| |
|
|
|
|
|
|
|
|
| |
<rdar://problem/6497631> Message lookup is sometimes different than gcc's).
- Implement instance/class overloading in ObjCContainerDecl (removing a FIXME). This involved hacking NamedDecl::declarationReplaces(), which took awhile to figure out (didn't realize replace was the default).
- Changed Sema::ActOnInstanceMessage() to remove redundant warnings when dealing with protocols. For now, I've omitted the "protocol" term in the diagnostic. It simplifies the code flow and wan't always 100% accurate (e.g. "Foo<Prot>" looks in the class interface, not just the protocol).
- Changed several test cases to jive with the above changes.
llvm-svn: 65292
|
| |
|
|
|
|
| |
statement. Fixes PR3649.
llvm-svn: 65291
|
| |
|
|
|
|
|
| |
true a local pointer to objective-c object in generating
write barriers.
llvm-svn: 65290
|
| |
|
|
| |
llvm-svn: 65286
|
| |
|
|
| |
llvm-svn: 65285
|
| |
|
|
|
|
| |
someone would reasonably expect Evaluate to handle for C/ObjC.
llvm-svn: 65284
|
| |
|
|
|
|
|
| |
memory using Indirect; this was a holdover from when CGCall wasn't as
robust.
llvm-svn: 65278
|
| |
|
|
|
|
| |
copy 'rule' if it doesn't already start with 'init', etc.
llvm-svn: 65269
|
| |
|
|
| |
llvm-svn: 65267
|
| |
|
|
|
|
|
|
|
| |
as byval. Otherwise LLVM will have its own opinion about where to put
things.
We now pass all gcc dg.compat tests on x86_64.
llvm-svn: 65266
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
helper isConstantInitializer) to check whether an initializer is
constant. This passes tests, but it's possible that it'll cause
regressions with real-world code.
Future work:
1. The diagnostics obtained this way are lower quality at the moment;
some work both here and in Evaluate is needed for accurate diagnostics.
2. We probably need some extra code when we're in -pedantic mode so we
can strictly enforce the rules in C99 6.6p7.
3. Dead code cleanup (this should wait until after 2, because we might
want to re-use some of the code).
llvm-svn: 65265
|
| |
|
|
|
|
| |
about these much but <2 x i16> shows up in the gcc test suite.
llvm-svn: 65264
|
| |
|
|
|
|
|
| |
Also, make sure to pass <1 x i64> as i64 (not <1 x i64>, which doesn't
quite work yet in the backend).
llvm-svn: 65262
|
| |
|
|
|
|
|
|
| |
I know, these follow the exact same rules as pointers, so I just made
them use the same codepath. Someone more familiar with ObjC should
double-check this, though.
llvm-svn: 65261
|
| |
|
|
|
|
| |
partially done in r65258.)
llvm-svn: 65260
|
| |
|
|
|
|
|
| |
CodeGen. I'm not sure whether this actually makes any visible
difference, but it's better to be consistent anyway.
llvm-svn: 65259
|
| |
|
|
|
|
|
|
|
| |
PR3254 and part of PR3433.
The isICE changes are necessary to keep the computed results
consistent with Evaluate.
llvm-svn: 65258
|
| |
|
|
| |
llvm-svn: 65257
|
| |
|
|
|
|
| |
Fixes PR3641.
llvm-svn: 65256
|
| |
|
|
| |
llvm-svn: 65255
|
| |
|
|
| |
llvm-svn: 65251
|
| |
|
|
|
|
| |
This is necessary 'plumbing' to fix <rdar://problem/6497631> Message lookup is sometimes different than gcc's.
llvm-svn: 65248
|
| |
|
|
|
|
| |
<prefix>/Headers, gross).
llvm-svn: 65247
|
| |
|
|
|
|
|
|
| |
Found while researching <rdar://problem/6497631> Message lookup is sometimes different than gcc's.
Will never be seen in user code. Needed to pass dejagnu testsuite.
llvm-svn: 65244
|
| |
|
|
| |
llvm-svn: 65243
|
| |
|
|
|
|
| |
stuff is mostly done. Move BlockHasCopyDispose up.
llvm-svn: 65242
|
| |
|
|
| |
llvm-svn: 65241
|