| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
using a custom plural form. Split out the range diagnostics as their
own message.
llvm-svn: 126840
|
|
|
|
|
|
|
|
|
|
| |
of an Objective-C method to be overridden on a case-by-case basis. This
is a higher-level tool than ns_returns_retained &c.; it lets users specify
that not only does a method have different retain/release semantics, but
that it semantically acts differently than one might assume from its name.
This in turn is quite useful to static analysis.
llvm-svn: 126839
|
|
|
|
|
|
|
| |
tag definitions. Also, add support for template instantiation of
NestedNameSpecifierLocs.
llvm-svn: 126470
|
|
|
|
|
|
|
| |
unneeded allocation of an empty StringLiteral when these don't have
a message.
llvm-svn: 126364
|
|
|
|
|
|
| |
patch by Amit Kulkarni!
llvm-svn: 125944
|
|
|
|
|
|
|
|
|
|
| |
making them be template instantiated in a more normal way and
make them handle attributes like other decls.
This fixes the used/unused label handling stuff, making it use
the same infrastructure as other decls.
llvm-svn: 125771
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
access-control diagnostics which arise from the portion of the declarator
following the scope specifier, just in case access is granted by
friending the individual method. This can also happen with in-line
member function declarations of class templates due to templated-scope
friend declarations.
We were really playing fast-and-loose before with this sort of thing,
and it turned out to work because *most* friend functions are in file
scope. Making us delay regardless of context exposed several bugs with
how we were manipulating delay. I ended up needing a concept of a
context that's independent of the declarations in which it appears,
and then I actually had to make some things save contexts correctly,
but delay should be much cleaner now.
I also encapsulated all the delayed-diagnostics machinery in a single
subobject of Sema; this is a pattern we might want to consider rolling
out to other components of Sema.
llvm-svn: 125485
|
|
|
|
|
|
| |
FP_CONTRACT pragmas. Patch originally by ARM.
llvm-svn: 125475
|
|
|
|
|
|
|
| |
linkage rather than the presence of the 'static' storage class specifier.
Fixes rdar://problem/8814626.
llvm-svn: 125126
|
|
|
|
|
|
| |
anything but a instance method to a warning.
llvm-svn: 124858
|
|
|
|
|
|
|
|
| |
might be queried in places where we absolutely require a valid
location (e.g., for template instantiation). Fixes some major
brokenness in the use of __is_convertible_to.
llvm-svn: 124465
|
|
|
|
|
|
|
|
|
|
| |
catch:
lock_guard(my_mutex);
declares a variable instead of creating a temporary.
llvm-svn: 124398
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
authors to write
class __attribute__((forbid_temporaries)) Name { ... };
when they want to force users to name all variables of the type. This protects
people from doing things like creating a scoped_lock that only lives for a
single statement instead of an entire scope.
The warning produced by this attribute can be disabled by
-Wno-forbid-temporaries.
llvm-svn: 124217
|
|
|
|
|
|
| |
attributes for the benefit of the static analyzer.
llvm-svn: 124174
|
|
|
|
| |
llvm-svn: 124087
|
|
|
|
| |
llvm-svn: 124083
|
|
|
|
| |
llvm-svn: 123960
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the declaration-specifiers and on the declarator itself are moved
to the appropriate declarator chunk. This permits a greatly
simplified model for how to apply these attributes, as well as
allowing a much more efficient query for the GC attribute.
Now all qualifier queries follow the same basic strategy of
"local qualifiers, local qualifiers on the canonical type,
then look through arrays". This can be easily optimized by
changing the canonical qualified-array-type representation.
Do not process type attributes as decl attributes on declarations
with declarators.
When computing the type of a block, synthesize a prototype
function declarator chunk if the decl-spec type was not a
function. This simplifies the logic for building block signatures.
Change the logic which inserts an objc_read_weak on a block
literal to only fire if the block has a __weak __block variable,
rather than if the return type of the block is __weak qualified,
which is not actually a sensible thing to ask.
llvm-svn: 122871
|
|
|
|
| |
llvm-svn: 122709
|
|
|
|
| |
llvm-svn: 122708
|
|
|
|
|
|
|
| |
on array and function declarators. This is pretty far from complete, and I'll
revisit it later if someone doesn't beat me to it.
llvm-svn: 122535
|
|
|
|
|
|
|
|
| |
unknown type and there is a possibility that
at runtime method is resolved to a deprecated or
unavailable method. Addreses // rdar://8769853
llvm-svn: 122294
|
|
|
|
| |
llvm-svn: 122220
|
|
|
|
|
|
|
|
| |
example:
struct __declspec(uuid("6d5140c1-7436-11ce-8034-00aa006009fa"))
test { };
llvm-svn: 122173
|
|
|
|
|
|
| |
parameters. Fixes <rdar://problem/8769025>.
llvm-svn: 121864
|
|
|
|
| |
llvm-svn: 121795
|
|
|
|
| |
llvm-svn: 121654
|
|
|
|
| |
llvm-svn: 121653
|
|
|
|
|
|
| |
testsuite searches for.
llvm-svn: 121137
|
|
|
|
| |
llvm-svn: 121029
|
|
|
|
|
|
|
|
| |
of calling Decl's setUsed directly.
Thanks to John for the hint!
llvm-svn: 121014
|
|
|
|
|
|
| |
diagnostics in HandleCleanupAttr.
llvm-svn: 121013
|
|
|
|
| |
llvm-svn: 120872
|
|
|
|
| |
llvm-svn: 120799
|
|
|
|
|
|
| |
rdar://8560647
llvm-svn: 120650
|
|
|
|
| |
llvm-svn: 120613
|
|
|
|
| |
llvm-svn: 120545
|
|
|
|
| |
llvm-svn: 120053
|
|
|
|
|
|
|
| |
on a non-type declaration, as GCC permits it on variables too.
This fixes PR8635.
llvm-svn: 119517
|
|
|
|
|
|
| |
yet hooked up to anything yet.
llvm-svn: 119407
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 119326
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 119138
|
|
|
|
|
|
|
| |
forward-declaration support unless there's really a mapping for that
name.
llvm-svn: 117426
|
|
|
|
| |
llvm-svn: 117044
|
|
|
|
|
|
|
|
| |
messages.
Store pointer and length of the message in DelayedDiagnostic and hide the gory union details.
llvm-svn: 116153
|
|
|
|
|
|
|
| |
And its documentation.
Finishes off // rdar: // 6734520.
llvm-svn: 115862
|
|
|
|
| |
llvm-svn: 115856
|
|
|
|
|
|
|
| |
attribute(unavailable) to do next.
// rdar:// 6734520.
llvm-svn: 115842
|