| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
if (condition)
CALL(0); // empty macro but don't warn for empty body.
Fixes rdar://8436021.
llvm-svn: 119838
|
| |
|
|
|
|
| |
Fixes //rdar://8686888
llvm-svn: 119813
|
| |
|
|
| |
llvm-svn: 119678
|
| |
|
|
|
|
|
|
|
| |
-Improve the diagnostic message
-Add some comments
Suggestions by Chris.
llvm-svn: 119594
|
| |
|
|
|
|
|
|
|
|
| |
definitions if they take by-value
or return by-value any POD that is larger than some threshold (default is 64 bytes).
Implements rdar://8548050.
llvm-svn: 119583
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Fixes PR8608.
llvm-svn: 119293
|
| |
|
|
|
|
| |
binary operator, provide the types.
llvm-svn: 119008
|
| |
|
|
|
|
|
| |
direct-initialization (rather than copy-initialization) to initialize
the temporary, allowing explicit constructors. Fixes PR8342.
llvm-svn: 118880
|
| |
|
|
|
|
| |
rdar://problem/8652606
llvm-svn: 118773
|
| |
|
|
|
|
| |
Fixes PR7915.
llvm-svn: 118670
|
| |
|
|
|
|
| |
Recover from the latter and fail early for the former. Fixes PR8022.
llvm-svn: 118669
|
| |
|
|
|
|
| |
conditional operators. Fixes PR7863.
llvm-svn: 118631
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
That bug concerned the well-formedness of code such as (&ovl)(a, b,
c). GCC rejects the code, while EDG accepts it. On further study of the
standard, I see no support for EDG's position: in particular, C++
[over.over] does not list this as a context where we can take the
address of an overloaded function, C++ [over.call.func] does not
reference the address-of operator at any point, and C++ [expr.call]
claims that the function argument in a call is either a function
lvalue or a pointer-to-function; (&ovl) is neither.
llvm-svn: 118620
|
| |
|
|
|
|
| |
with, e.g., (&f)(a, b, c). Fixes PR8013.
llvm-svn: 118508
|
| |
|
|
| |
llvm-svn: 118500
|
| |
|
|
| |
llvm-svn: 118482
|
| |
|
|
|
|
|
|
| |
is complete.
Fixes rdar://8620582 & http://llvm.org/PR7905
llvm-svn: 118428
|
| |
|
|
|
|
|
| |
consider that we might be trying to bind a reference to a class type,
which involves a constructor call. Fixes PR7425.
llvm-svn: 118407
|
| |
|
|
| |
llvm-svn: 118402
|
| |
|
|
|
|
| |
Faisal Vali, tweaked by me. Fixes PR8230.
llvm-svn: 118400
|
| |
|
|
| |
llvm-svn: 118381
|
| |
|
|
| |
llvm-svn: 118344
|
| |
|
|
|
|
| |
make sure to setup the instantiation stack. Fixes rdar://8620775 & http://llvm.org/PR8234
llvm-svn: 118314
|
| |
|
|
| |
llvm-svn: 118276
|
| |
|
|
|
|
| |
std::nullptr_t to bool is better than one than does.
llvm-svn: 118269
|
| |
|
|
|
|
| |
check that the TargetNestedNameDecl is the same first.
llvm-svn: 118239
|
| |
|
|
|
|
| |
pointer constant.
llvm-svn: 118234
|
| |
|
|
|
|
| |
PR7702.
llvm-svn: 118181
|
| |
|
|
|
|
|
|
|
| |
the sets of available conversions for the first and second arguments
separate. This is apparently the indent of C++ [over.built], and
reduces the number of overload candidates generated, eliminating some
ambiguities. Fixes PR8477.
llvm-svn: 118178
|
| |
|
|
|
|
|
|
| |
parameter name.
Fixes PR8012.
llvm-svn: 118138
|
| |
|
|
|
|
| |
Previously the temporaries would get destroyed before the asm call.
llvm-svn: 118001
|
| |
|
|
| |
llvm-svn: 117961
|
| |
|
|
|
|
|
|
| |
calling it.
Also avoids IRGen crashes due to accepting invalid code.
llvm-svn: 117943
|
| |
|
|
|
|
| |
As a bonus, avoids a crash on the IRGen side due to accepting invalid code.
llvm-svn: 117842
|
| |
|
|
| |
llvm-svn: 117841
|
| |
|
|
|
|
|
|
|
| |
semantic error.
We already flag the error with InitListChecker's hadError and we mess up the AST unnecessarily.
Fixes rdar://8605381.
llvm-svn: 117760
|
| |
|
|
| |
llvm-svn: 117759
|
| |
|
|
| |
llvm-svn: 117758
|
| |
|
|
|
|
|
|
| |
uninitialized field). This was
already fixed, but this serves for detecting regressions.
llvm-svn: 117754
|
| |
|
|
|
|
| |
Better performance and fixes rdar://8603569.
llvm-svn: 117656
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the scope checker. With that done, turn an indirect goto into a
protected scope into a hard error; otherwise IR generation has to start
worrying about declarations not dominating their scopes, as exemplified
in PR8473.
If this really affects anyone, I can probably adjust this to only hard-error
on possible indirect gotos into VLA scopes rather than arbitrary scopes.
But we'll see how people cope with the aggressive change on the marginal
feature.
llvm-svn: 117539
|
| |
|
|
| |
llvm-svn: 117182
|
| |
|
|
|
|
|
| |
char32_t character types and enable built-in overloaded operator
candidates for these types. Fixes PR8432.
llvm-svn: 117038
|
| |
|
|
|
|
|
| |
1. enum underlying type is int by default.
2. Error "enumerator value is not representable in the underlying type"is a ExtWarning
llvm-svn: 116704
|
| |
|
|
| |
llvm-svn: 116624
|
| |
|
|
|
|
| |
as the class itself. Fixes PR7082.
llvm-svn: 116573
|
| |
|
|
|
|
| |
initialized. Fixes PR7076.
llvm-svn: 116553
|