| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
about a __block cxx object.
llvm-svn: 119411
|
| |
|
|
|
|
|
|
|
|
|
|
| |
we were just getting a range covering only the property name, which is
certainly not correct (and broke token annotation, among other
things).
Also, teach libclang about the relationship between
@synthesize/@dynamic and @property, so we get property name and
cursor-reference information for @synthesize and @dynamic.
llvm-svn: 119409
|
| |
|
|
|
|
| |
branches. Fixes PR8623.
llvm-svn: 119408
|
| |
|
|
|
|
| |
yet hooked up to anything yet.
llvm-svn: 119407
|
| |
|
|
|
|
|
| |
case based on CodeGen/volatile-1.c which tests the current C++
semantics, and note the many, many places we fall short of them.
llvm-svn: 119402
|
| |
|
|
| |
llvm-svn: 119381
|
| |
|
|
|
|
|
| |
where we failed to free this buffer along one of the paths, and
detangles the code a little.
llvm-svn: 119379
|
| |
|
|
|
|
| |
functions/builtins accepting pointers to a const-qualified type according to PIM and "Language Extensions for CBEA"
llvm-svn: 119376
|
| |
|
|
|
|
|
| |
issue with runtime which I am discussing it with Blaine.
This is wip (so no test yet).
llvm-svn: 119368
|
| |
|
|
|
|
|
|
| |
allocation sizes of 0 bytes.
Fixes PR 2899.
llvm-svn: 119364
|
| |
|
|
|
|
| |
Fixes rdar://8365458
llvm-svn: 119359
|
| |
|
|
| |
llvm-svn: 119348
|
| |
|
|
|
|
| |
conversion.
llvm-svn: 119346
|
| |
|
|
|
|
|
|
|
| |
assignment to volatiles in C. This in effect reverts some of mjs's
work in and around r72572. Basically, the C++ standard is quite
clear, except that it lies about volatile behavior approximating
C's, whereas the C standard is almost actively misleading.
llvm-svn: 119344
|
| |
|
|
|
|
|
|
| |
include_next when not hosted or unavailable. This follows the pattern in
stdint.h and allows these headers to work even in a freestanding configuration
without a standard library.
llvm-svn: 119343
|
| |
|
|
| |
llvm-svn: 119342
|
| |
|
|
|
|
| |
instead of calculating it by hand.
llvm-svn: 119341
|
| |
|
|
|
|
|
|
|
|
|
|
| |
producing warnings.
This feels really fragile, and I've not audited all other argument index-based
warnings. I suspect we'll grow this bug on another warning eventually. It might
be nice to adjust the argument indices when building up the attribute AST node,
as we already have to remember about the 'this' argument within that code to
produce correct errors.
llvm-svn: 119340
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
argument indexes. This handles the offsets in a consistent manner for all of
the attributes which I saw working with these concepts. I've also added tests
for the attribute that motivated this: nonnull.
I consolidated the tests for format attributes into one file, and fleshed them
out a bit to trigger more of the warning cases. Also improved the quality of
some of the diagnostics that occur with invalid argument indices.
The only really questionable change here is supporting the implicit this
argument for the ownership attribute. I'm not sure it's really a sensible
concept there, but implemented the logic for consistency.
llvm-svn: 119339
|
| |
|
|
|
|
| |
rdar://7743000
llvm-svn: 119336
|
| |
|
|
|
|
|
|
|
| |
- Add a new Kind of ProgramPoint: PostInitializer.
- Still use GRStmtNodeBuilder. But special handling PostInitializer in
GRStmtNodeBuilder::GenerateAutoTransition().
- Someday we should clean up the interface of GRStmtNodeBuilder.
llvm-svn: 119335
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in more situations. In particular, for code like
template<class T> void Fn() { T* x; delete x; }
getDestroyedType() will now return T rather than T*, as it would
before this change. On the other hand, for code like this:
template<class T> void Fn() { T x; delete x; }
getDestroyedType() will return an empty QualType(), since it doesn't
know what the actual destroyed type would be. Previously, it would
return T.
OKed by rjmccall
llvm-svn: 119334
|
| |
|
|
|
|
|
| |
- CXXThisRegion treated like VarRegion and ObjCIVarRegion in various places,
- Reference treated like pointer in BindDeclInternal.
llvm-svn: 119333
|
| |
|
|
| |
llvm-svn: 119332
|
| |
|
|
| |
llvm-svn: 119331
|
| |
|
|
|
|
| |
a compound assignment is always already in the computation type.
llvm-svn: 119330
|
| |
|
|
| |
llvm-svn: 119326
|
| |
|
|
| |
llvm-svn: 119316
|
| |
|
|
| |
llvm-svn: 119302
|
| |
|
|
|
|
|
|
| |
to create the special Neon vector types. These are intended to be used in
Clang's version of <arm_neon.h> to define special Neon vector types that will
be mangled according to ARM's ABI.
llvm-svn: 119301
|
| |
|
|
|
|
|
|
|
|
| |
This is needed for Neon types when it is most natural to define them in terms
of a typedef. For example, Neon poly8_t is a typedef for "signed char", and
we want to define polynomial vectors as vectors of that typedef. Without this
change, the result will be a generic GCC-style vector. I think this is safe
for other vector types as well, but I would appreciate a review of this.
llvm-svn: 119300
|
| |
|
|
|
|
|
| |
one of the special Neon types. We'll check for invalid Neon vectors when
they are created, so there's no point in handling them when mangling.
llvm-svn: 119299
|
| |
|
|
| |
llvm-svn: 119298
|
| |
|
|
| |
llvm-svn: 119297
|
| |
|
|
|
|
|
| |
certain internal type-checking procedures as well as for representing
certain implicitly-generated operations. Uses to follow.
llvm-svn: 119289
|
| |
|
|
|
|
| |
flow. The contents are taken from email notes by kremenek and xuzhongxing.
llvm-svn: 119288
|
| |
|
|
|
|
|
|
| |
caching global code-completion results. In particular, don't perform
either operation the first time we parse, but do both after the first
reparse.
llvm-svn: 119285
|
| |
|
|
|
|
|
|
|
| |
a ternary '?' expression,
it is possible for the confluence block to only have a single predecessor due to calls to 'noreturn'
functions. Fixes assertion failure reported in PR 8619.
llvm-svn: 119284
|
| |
|
|
| |
llvm-svn: 119181
|
| |
|
|
|
|
|
|
|
| |
via a function pointer that
casts the return value to something completely different. While we need better reasoning here,
we should definately not crash.
llvm-svn: 119177
|
| |
|
|
| |
llvm-svn: 119174
|
| |
|
|
|
|
|
|
| |
Silence warning about -g not being used during linking. I couldn't find any
change in behavior in gcc liking when given -g. Please open another bug if
I missed something.
llvm-svn: 119166
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
particular, we only add the implement object parameter type if only
one of the function templates is a non-static member function
template.
Moreover, since this DR differs from existing practice in C++98/03,
this commit implements the existing practice (which ignores the
first parameter of the function template that is not the non-static
member function template) in C++98/03 mode.
llvm-svn: 119145
|
| |
|
|
|
|
| |
expression into the assert.
llvm-svn: 119143
|
| |
|
|
| |
llvm-svn: 119141
|
| |
|
|
|
|
|
| |
choice of cast doesn't matter here, but I've tried to choose
the right one anyway.
llvm-svn: 119140
|
| |
|
|
| |
llvm-svn: 119139
|
| |
|
|
| |
llvm-svn: 119138
|
| |
|
|
| |
llvm-svn: 119137
|
| |
|
|
| |
llvm-svn: 119135
|