| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
don't have access to (e.g., fprintf, which needs the library type
FILE), fail with a warning and forget about the builtin
entirely. Previously, we would actually provide an error, which breaks
autoconf's super-lame checks for fprintf, longjmp, etc. Fixes PR8316.
llvm-svn: 122744
|
|
|
|
| |
llvm-svn: 122670
|
|
|
|
| |
llvm-svn: 122599
|
|
|
|
| |
llvm-svn: 121616
|
|
|
|
|
|
| |
testsuite searches for.
llvm-svn: 121137
|
|
|
|
|
|
| |
the type of the expression *after* array/function decay.
llvm-svn: 120895
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not actually frequently used, because ImpCastExprToType only creates a node
if the types differ. So explicitly create an ICE in the lvalue-to-rvalue
conversion code in DefaultFunctionArrayLvalueConversion() as well as several
other new places, and consistently deal with the consequences throughout the
compiler.
In addition, introduce a new cast kind for loading an ObjCProperty l-value,
and make sure we emit those nodes whenever an ObjCProperty l-value appears
that's not on the LHS of an assignment operator.
This breaks a couple of rewriter tests, which I've x-failed until future
development occurs on the rewriter.
Ted Kremenek kindly contributed the analyzer workarounds in this patch.
llvm-svn: 120890
|
|
|
|
| |
llvm-svn: 120872
|
|
|
|
| |
llvm-svn: 120736
|
|
|
|
| |
llvm-svn: 120735
|
|
|
|
| |
llvm-svn: 120729
|
|
|
|
|
|
|
| |
The arm_neon.h header includes stdint.h and it picks up the system header
without -ffreestanding.
llvm-svn: 120716
|
|
|
|
|
|
|
|
| |
This does not work so well with the -fno-lax-vector-conversions option for
testing the arm_neon.h header but that is a really useful test, so I split
this out to a separate Sema test to check for the warning.
llvm-svn: 120694
|
|
|
|
|
|
|
| |
when checking for integer signed/unsigned-ness. PR8694,
// rdar://8707031
llvm-svn: 120345
|
|
|
|
|
|
| |
Documentation: http://msdn.microsoft.com/en-us/library/z2cx9y4f.aspx
llvm-svn: 120000
|
|
|
|
|
|
| |
r119958.
llvm-svn: 119961
|
|
|
|
| |
llvm-svn: 119946
|
|
|
|
|
|
|
|
|
| |
if (condition)
CALL(0); // empty macro but don't warn for empty body.
Fixes rdar://8436021.
llvm-svn: 119838
|
|
|
|
| |
llvm-svn: 119678
|
|
|
|
| |
llvm-svn: 119540
|
|
|
|
|
|
|
|
|
|
|
|
| |
assert(a || b && "bad");
since this is safe. This way we avoid a big source of such warnings which in this case are practically useless.
Note that we don't handle *all* cases where precedence wouldn't matter because of constants since
this is a bit costly to check, and IMO clarifying precedence with parentheses is good for
readability in general.
llvm-svn: 119533
|
|
|
|
| |
llvm-svn: 119381
|
|
|
|
|
|
|
| |
independent of the underlying system. Let me know if any of these are too
aggressive.
llvm-svn: 119345
|
|
|
|
| |
llvm-svn: 119303
|
|
|
|
|
|
|
| |
uncoerced value. Also, whitelist bool bitfields, which aren't
really a truncation.
llvm-svn: 118778
|
|
|
|
|
|
| |
rdar://problem/8652606
llvm-svn: 118773
|
|
|
|
|
|
|
|
|
|
|
| |
of the enumerators rather than the actual expressible range. This is
great when dealing with opaque *values* of that type, but when computing
the range of the type for purposes of converting *into* it, it produces
warnings in cases we don't care about (e.g. enum_t x = 500;). Divide
the logic into these two cases and use the more conservative range for
targets.
llvm-svn: 118735
|
|
|
|
|
|
|
| |
a positive value into a signed bitfield of the exact width of
the value.
llvm-svn: 118657
|
|
|
|
| |
llvm-svn: 118649
|
|
|
|
|
|
|
|
| |
bitfield assignment.
Implements rdar://problem/7809123
llvm-svn: 118647
|
|
|
|
|
|
|
|
|
|
|
| |
own subcategory, -Wconstant-conversion, which is on by default.
Tweak the constant folder to give better results in the invalid
case of a negative shift amount.
Implements rdar://problem/6792488
llvm-svn: 118636
|
|
|
|
| |
llvm-svn: 118635
|
|
|
|
|
|
| |
Wieczorek! Fixes PR8025.
llvm-svn: 118481
|
|
|
|
|
|
|
| |
tweak the documentation for deprecation-with-message. Provide __has_feature
tests for both. rdar://problem/8605692
llvm-svn: 118435
|
|
|
|
|
|
| |
constraint it's invalid. Fixes PR3905.
llvm-svn: 118146
|
|
|
|
|
|
| |
constraint. Fixes PR3904.
llvm-svn: 118145
|
|
|
|
|
|
|
|
| |
of descending into the subelements.
rdar://problem/8345836
llvm-svn: 117749
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
called. Fixes another aspect of PR8314.
llvm-svn: 117308
|
|
|
|
|
|
|
|
| |
function definition, we should still use a prototype to type-check and
convert the function arguments, if such a prototype exists. Fixes
PR8314.
llvm-svn: 117305
|
|
|
|
|
|
|
| |
as a function argument, one of the types is a transparent union type
and the other type is compatible with a union member
llvm-svn: 117243
|
|
|
|
|
|
|
|
| |
in code generated with the compiler,
- Fixed test cases for unreachable code warnings produced by Sema.
llvm-svn: 117220
|
|
|
|
| |
llvm-svn: 117219
|
|
|
|
|
|
| |
Darin Adler!
llvm-svn: 117184
|
|
|
|
| |
llvm-svn: 117182
|
|
|
|
|
|
|
|
|
|
| |
it was really a 'char'
or a 'short'. This fixes that and allows the hints to suggest 'h' modifiers for small ints.
Patch by Justin Bogner!
llvm-svn: 116996
|
|
|
|
|
|
|
| |
Although Cygwin-1.7 has _longjmp(), it would not be essential for this
to distinguish Cygwin's version with <cygwin/version.h>.
llvm-svn: 116783
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
flexible array member, so long as the flexibility array member is
either not initialized or is initialized with an empty initializer
list. Fixes <rdar://problem/8540437>.
llvm-svn: 116647
|
|
|
|
| |
llvm-svn: 116572
|