| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 173277
|
|
|
|
|
|
|
|
| |
operations (as opposed to storage only half/fp16).
Also add some semantic checks for OpenCL half types.
llvm-svn: 173254
|
|
|
|
|
|
|
| |
nulls instead of limiting itself to the language-defined "null pointer
constant".
llvm-svn: 173227
|
|
|
|
|
|
| |
in my last patch, suggested by Argyrios.
llvm-svn: 173182
|
|
|
|
|
|
|
| |
an unimplemented selector is consumed by
"respondsToSelector:". // rdar://12938616
llvm-svn: 173179
|
|
|
|
|
|
|
| |
an unimplemented selector is consumed by
"respondsToSelector:". // rdar://12938616
llvm-svn: 173097
|
|
|
|
|
|
|
|
|
| |
lexical declarations looking for properties when we could more
efficiently check for property mismatches at property declaration
time. Good for ~1% of -fsyntax-only time when most of the properties
we're checking against come from an AST file.
llvm-svn: 173079
|
|
|
|
|
|
|
|
|
|
| |
did a redundant traversal of the lexical declarations in the
superclass. Instead, when we declare a new property, look into the
superclass to see whether we're redeclaring the property. Goot for 1%
of -fsyntax-only time on Cocoa.h and a little less than 3% on my
modules test case.
llvm-svn: 173073
|
|
|
|
|
|
|
| |
DeclContext lookups. The performance win is negligible in my tests,
but it's the Right Thing To Do (TM).
llvm-svn: 173068
|
|
|
|
|
|
| |
add tests for fixits removing static and inline from main
llvm-svn: 173024
|
|
|
|
|
|
| |
OpenCL restrictions (OpenCL 1.2 spec 6.9)
llvm-svn: 172973
|
|
|
|
| |
llvm-svn: 172939
|
|
|
|
| |
llvm-svn: 172888
|
|
|
|
| |
llvm-svn: 172881
|
|
|
|
|
|
|
|
| |
own initialization."
It broke, at least, linux, msvc and mingw bots.
llvm-svn: 172879
|
|
|
|
|
|
|
|
|
| |
The warning is still under -Wuninitialized (although technically this
is defined behavior), but under a subgroup -Wstatic-self-init.
This addresses PR 10265.
llvm-svn: 172878
|
|
|
|
| |
llvm-svn: 172865
|
|
|
|
|
|
|
|
| |
partially-substituted parameter pack in a template, forget about the
partially-substituted parameter pack: it is now completed. Fixes
<rdar://problem/12176336>.
llvm-svn: 172859
|
|
|
|
|
|
|
| |
decay the parameter type immediately; let CheckParameter() do its
job. Fixes <rdar://problem/12071218>.
llvm-svn: 172780
|
|
|
|
|
|
|
| |
a template parameter; make that also include one that came from
'auto'. Fixes <rdar://problem/12078752>.
llvm-svn: 172770
|
|
|
|
|
|
|
|
| |
return type of a function by canonicalizing them away. They are
useless anyway, and conflict with our rules for template argument
deduction and __strong. Fixes <rdar://problem/12367446>.
llvm-svn: 172768
|
|
|
|
|
|
| |
reduce stack usage and hopefully bring back the linux x86_64 buildbot.
llvm-svn: 172765
|
|
|
|
| |
llvm-svn: 172761
|
|
|
|
|
|
|
|
|
| |
unsequenced operations in the RHS. We don't compare the RHS with the rest of
the expression yet; such checks will need care to avoid diagnosing unsequenced
operations which are both in conditionally-evaluated subexpressions which
actually can't occur together, such as in '(b && ++x) + (!b && ++x)'.
llvm-svn: 172760
|
|
|
|
|
|
|
| |
VarDecl.
Part of rdar://12576868
llvm-svn: 172742
|
|
|
|
|
|
| |
not supported.
llvm-svn: 172732
|
|
|
|
| |
llvm-svn: 172707
|
|
|
|
| |
llvm-svn: 172701
|
|
|
|
| |
llvm-svn: 172700
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is inspired by a number of false positives in real code, including
PR14968. I've added test cases reduced from these false positives to
test/Sema/unused-expr.c, as well as corresponding test cases that pass the
offending expressions as arguments to a no-op macro to ensure that we do warn
there.
This also removes my previous tweak from r166522/r166534, so that we warn on
unused cast expressions in macro arguments.
There were several test cases that were using -Wunused-value to test general
diagnostic emission features; I changed those to use other warnings or warn on
a macro argument expression. I stared at the test case for PR14399 for a while
with Richard Smith and we believe the new test case exercises the same
codepaths as before.
llvm-svn: 172696
|
|
|
|
| |
llvm-svn: 172693
|
|
|
|
|
|
|
|
| |
it apart from [[gnu::noreturn]] / __attribute__((noreturn)), since their
semantics are not equivalent (for instance, we treat [[gnu::noreturn]] as
affecting the function type, whereas [[noreturn]] does not).
llvm-svn: 172691
|
|
|
|
|
|
|
| |
expressions which have undefined behavior due to multiple unsequenced
modifications or an unsequenced modification and use of a variable.
llvm-svn: 172690
|
|
|
|
|
|
|
| |
undefined, and don't find methods or protocols within those protocol
definitions. This completes <rdar://problem/10634711>.
llvm-svn: 172686
|
|
|
|
| |
llvm-svn: 172684
|
|
|
|
| |
llvm-svn: 172678
|
|
|
|
|
|
| |
Fixes PR14577.
llvm-svn: 172676
|
|
|
|
| |
llvm-svn: 172673
|
|
|
|
|
|
|
|
| |
This fixes pr14946. The problem was that the linkage computation was done too
early, so things like "extern int a;" would be given external linkage, even if
a previous declaration was static.
llvm-svn: 172667
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
consider (sub)module visibility.
The bulk of this change replaces myriad hand-rolled loops over the
linked list of Objective-C categories/extensions attached to an
interface declaration with loops using one of the four new category
iterator kinds:
visible_categories_iterator: Iterates over all visible categories
and extensions, hiding any that have their "hidden" bit set. This is
by far the most commonly used iterator.
known_categories_iterator: Iterates over all categories and
extensions, ignoring the "hidden" bit. This tends to be used for
redeclaration-like traversals.
visible_extensions_iterator: Iterates over all visible extensions,
hiding any that have their "hidden" bit set.
known_extensions_iterator: Iterates over all extensions, whether
they are visible to normal name lookup or not.
The effect of this change is that any uses of the visible_ iterators
will respect module-import visibility. See the new tests for examples.
Note that the old accessors for categories and extensions are gone;
there are *Raw() forms for some of them, for those (few) areas of the
compiler that have to manipulate the linked list of categories
directly. This is generally discouraged.
Part two of <rdar://problem/10634711>.
llvm-svn: 172665
|
|
|
|
|
|
|
| |
when the methods are declared in a submodule that has not yet been
imported. Part of <rdar://problem/10634711>.
llvm-svn: 172635
|
|
|
|
|
|
| |
Waiting for new llvm attribute code for the next step.
llvm-svn: 172626
|
|
|
|
|
|
|
| |
but not vice-versa. Fix bug introduced in r172567 and noticed by
Jordan, thanks!
llvm-svn: 172586
|
|
|
|
|
|
|
| |
parameters (per C++ [temp.param]p8) when computing the type of a
reference to a non-type template parameter. Fixes <rdar://problem/13000548>.
llvm-svn: 172585
|
|
|
|
|
|
|
|
| |
overriding and overridden method, allow the overridden method to have
a narrower contract (introduced earlier, deprecated/obsoleted later)
than the overriding method. Fixes <rdar://problem/12992023>.
llvm-svn: 172567
|
|
|
|
|
|
|
| |
Eliminate a cast and resulting cast-qual warning by using a temporary
as the target of memcpy.
llvm-svn: 172557
|
|
|
|
|
|
|
|
| |
resolving an overloaded function reference within an initializer list.
Previously we would try to resolve the overloaded function reference without
first stripping off the InitListExpr wrapper.
llvm-svn: 172517
|
|
|
|
| |
llvm-svn: 172514
|
|
|
|
|
|
|
|
|
|
|
| |
attributes appertain to a declaration, even though they would be much more
naturally modelled as appertaining to a function type. Previously, we would
try to distribute them from the declarator to the function type, then
reject them for being at an incorrect location. Now, we just distribute them
as far as the declarator; the existing attribute handling code can actually
apply them there just fine.
llvm-svn: 172504
|
|
|
|
|
|
|
|
| |
ActOnFinishFullExpr that some of its checks only apply to discarded-value
expressions. This adds missing checks for unexpanded variadic template
parameter packs to a handful of constructs.
llvm-svn: 172485
|