Ted Kremenek
fc3eb09a0f
Modify getMaxValue/getMinValue to take pointer values as well.
...
llvm-svn: 64682
2009-02-16 22:21:33 +00:00
Chris Lattner
b8211f6436
introduce and use a new ExtVectorElementExpr::isArrow method, at Eli's suggestion
...
llvm-svn: 64681
2009-02-16 22:14:05 +00:00
Fariborz Jahanian
f95039cd58
Use isa<...> instead of dyn_cast<...> where result is not needed.
...
llvm-svn: 64680
2009-02-16 22:09:26 +00:00
Chris Lattner
a377833888
diagnose uses of deprecated typenames and tags.
...
We now pass all the deprecation tests in the objc.dg suite.
llvm-svn: 64679
2009-02-16 22:07:16 +00:00
Ted Kremenek
06d21930a1
BasicValueFactory: Add utility methods 'Add1' and 'Sub1' to get a persistent APSInt value that is 1 greater or 1 less than the provided value.
...
llvm-svn: 64678
2009-02-16 22:07:07 +00:00
Ted Kremenek
0f8b34d707
BasicValueFactory: Add getMaxValue and getMinValue variants that take QualTypes.
...
llvm-svn: 64677
2009-02-16 22:00:30 +00:00
Douglas Gregor
9eebd9709a
Supply the header corresponding to a library builtin as a separate argument to the LIBBUILTIN macro
...
llvm-svn: 64676
2009-02-16 21:58:21 +00:00
Ted Kremenek
210c26f8d3
Add getSymbolManager() and getBasicVals() accessors to GRStateRef.
...
llvm-svn: 64675
2009-02-16 21:57:23 +00:00
Daniel Dunbar
e28b359881
Fix IRgen of __builtin_memset.
...
- Fix test case to not only have negative tests.
llvm-svn: 64674
2009-02-16 21:52:05 +00:00
Chris Lattner
58b0589d73
random cleanup
...
llvm-svn: 64673
2009-02-16 21:43:00 +00:00
Fariborz Jahanian
1dd6094517
Fixes a bug in property type encoding.
...
llvm-svn: 64672
2009-02-16 21:41:04 +00:00
Chris Lattner
e404d0ba05
warn about interfaces that inherit from deprecated classes.
...
llvm-svn: 64671
2009-02-16 21:33:09 +00:00
Chris Lattner
ced903b793
warn about categories that implement deprecated interfaces.
...
llvm-svn: 64670
2009-02-16 21:30:01 +00:00
Chris Lattner
9018ca8df8
early exit on error. This code is creating an invalid decl on error. This is
...
dubious, but at least mark it as an invalid decl.
llvm-svn: 64668
2009-02-16 21:26:43 +00:00
Chris Lattner
6c7ce109e0
enhance ExtVectorElementExpr to allow V->xxyy to work like (*V).xxyy
...
llvm-svn: 64667
2009-02-16 21:11:58 +00:00
Douglas Gregor
bfdd607372
When merging from a function with a prototype to a function without a
...
prototype, synthesize ParmVarDecls for prototype-less FunctionDecl.
llvm-svn: 64666
2009-02-16 20:58:07 +00:00
Ted Kremenek
227811afca
Test passes with -analyzer-range-contraints.
...
llvm-svn: 64663
2009-02-16 19:43:20 +00:00
Fariborz Jahanian
8827046dd3
Remove an unused variable (which caused a warning).
...
llvm-svn: 64660
2009-02-16 19:40:26 +00:00
Chris Lattner
46d6b13448
do not warn about uses of deprecated decls when in an out-of-line objc method
...
whose declaration was declared as deprecated.
llvm-svn: 64658
2009-02-16 19:35:30 +00:00
Fariborz Jahanian
7a855e33df
Remove FindIvarDeclaration. Use lookupInstanceVariable is is functionally
...
the same.
llvm-svn: 64657
2009-02-16 19:35:27 +00:00
Chris Lattner
1460431e37
cleanup, add a getMethod() that takes a bool to indicate whether
...
the caller wants class or instance methods.
llvm-svn: 64654
2009-02-16 19:30:12 +00:00
Douglas Gregor
f15f5d3e9f
When inside an Objective-C++ method, name lookup should look into the
...
interface for ivars before assuming that this is an unresolved
function name.
Fixes <rdar://problem/6590445>.
llvm-svn: 64653
2009-02-16 19:28:42 +00:00
Chris Lattner
1598a3a1a9
add assertion
...
llvm-svn: 64652
2009-02-16 19:27:54 +00:00
Chris Lattner
99a83317b7
code cleanup
...
llvm-svn: 64651
2009-02-16 19:25:52 +00:00
Chris Lattner
aab70d2963
wrap long lines.
...
llvm-svn: 64650
2009-02-16 19:24:31 +00:00
Devang Patel
ab0c5ecc54
Test case for llvm-gcc rev. 64648.
...
llvm-svn: 64649
2009-02-16 19:24:29 +00:00
Daniel Dunbar
d73ea816af
assert/ErrorUnsupported in unimplemented stub functions instead of
...
miscompiling.
llvm-svn: 64647
2009-02-16 18:48:45 +00:00
Ted Kremenek
6ae3eaf5a8
Add pretty-printing (for GraphViz) support for RangeConstraintManager.
...
llvm-svn: 64646
2009-02-16 18:42:56 +00:00
Chris Lattner
43df556ab5
Add support for deprecating ObjC properties. Unlike GCC, we warn that the
...
property is deprecated, not the getter/setter if the attribute is on
the property.
llvm-svn: 64644
2009-02-16 18:35:08 +00:00
Chris Lattner
41fd42e782
propagate attributes onto property decls.
...
llvm-svn: 64643
2009-02-16 18:32:47 +00:00
Fariborz Jahanian
eb209e7dbd
define __OBJC2__ for objc's nonfragile abi.
...
llvm-svn: 64642
2009-02-16 18:28:48 +00:00
Douglas Gregor
bcbf86399f
When a function with a prototype is redeclared without a prototype,
...
merge the prototype into the redeclaration (and make a note in the
declaration). Fixes PR3588.
llvm-svn: 64641
2009-02-16 18:20:44 +00:00
Daniel Dunbar
a1c37501ed
ccc: @<filename> arguments are only treated specially if <filename>
...
exists, otherwise gcc just treats as an input.
- PR3591
llvm-svn: 64640
2009-02-16 18:18:43 +00:00
Douglas Gregor
75a45ba2a4
Adopt a more principled approach to invalid declarations:
...
- If a declaration is an invalid redeclaration of an existing name,
complain about the invalid redeclaration then avoid adding it to
the AST (we can still parse the definition or initializer, if any).
- If the declaration is invalid but there is no prior declaration
with that name, introduce the invalid declaration into the AST
(for later error recovery).
- If the declaration is an invalid redeclaration of a builtin that
starts with __builtin_, we produce an error and drop the
redeclaration. If it is an invalid redeclaration of a library
builtin (e.g., malloc, printf), warn (don't error!) and drop the
redeclaration.
If a user attempts to define a builtin, produce an error and (if it's
a library builtin like malloc) suggest -ffreestanding.
This addresses <rdar://problem/6097585> and PR2892. However, PR3588 is
still going to cause some problems when builtins are redeclared
without a prototype.
llvm-svn: 64639
2009-02-16 17:45:42 +00:00
Ted Kremenek
de39198f95
RangeConstraintManager is not on by default.
...
llvm-svn: 64638
2009-02-16 17:26:11 +00:00
Chris Lattner
50afe31b43
add support for deprecated objc ivars.
...
llvm-svn: 64637
2009-02-16 17:19:12 +00:00
Chris Lattner
96895e8dcd
specify a triple to use, otherwise we get errors on this test for
...
hosts with a different size_t type.
llvm-svn: 64636
2009-02-16 17:11:14 +00:00
Chris Lattner
f06a702e46
update expected-warning line.
...
llvm-svn: 64635
2009-02-16 17:08:46 +00:00
Chris Lattner
ee4b5235e3
Add support for deprecated members of RecordDecls (e.g. struct fields).
...
llvm-svn: 64634
2009-02-16 17:07:21 +00:00
Argyrios Kyrtzidis
73b85e30ed
castToDeclContext/castFromDeclContext are only required to be included in the class of decls that directly derive from DeclContext.
...
Their subclasses don't need them.
llvm-svn: 64632
2009-02-16 14:31:00 +00:00
Argyrios Kyrtzidis
9b7bd9bfc6
castToDeclContext/castFromDeclContext are not meant to be used directly; they are used indirectly by cast/dyn_cast.
...
All Decl <-> DeclContext casting should be done through cast/dyn_cast.
llvm-svn: 64631
2009-02-16 14:29:59 +00:00
Argyrios Kyrtzidis
afe24c8818
DeclContext had its "casting machinery" inside the class definition so that if a new declaration context Decl appeared, the necessary changes
...
would be in one place. Since, now, only DeclNodes.def needs to be modified, move things out-of-line and simplify the DeclContext class.
llvm-svn: 64630
2009-02-16 14:29:28 +00:00
Argyrios Kyrtzidis
ac152f1a1a
Make DeclContexts maintenance a bit easier.
...
-In DeclNodes.def, only mark as DeclContexts the top classes that directly derive from DeclContext. If the Decl has subclasses,
it should be marked with DECL_CONTEXT_BASE.
-Use DeclNodes.def to automate the DeclContext::classof and DeclContext::CastTo definitions.
llvm-svn: 64629
2009-02-16 14:28:33 +00:00
Ben Laurie
7b1c6c09f7
Untabify.
...
llvm-svn: 64628
2009-02-16 09:18:41 +00:00
Ted Kremenek
fa95ce412c
Do not register 'RangeConstraintManager' as the default ConstraintManager.
...
llvm-svn: 64627
2009-02-16 04:54:20 +00:00
Nick Lewycky
0f269cfdee
Fix typo caused by too much surfing, dudes...
...
llvm-svn: 64626
2009-02-16 04:26:53 +00:00
Dan Gohman
136aa1fb96
Delete this long-commented-out code. The situation it seems to have
...
been written for is no longer relevant with the elimination of
signed and unsigned types.
llvm-svn: 64625
2009-02-16 02:57:42 +00:00
Dan Gohman
73f794af6a
Rename IndVarsSimplify to IndVarSimplify, to be consistent with
...
the name used in the code that these tests are for.
llvm-svn: 64624
2009-02-16 00:56:15 +00:00
Dan Gohman
9cdfd44521
Change these tests to use regular loads instead of llvm.x86.sse2.loadu.dq.
...
Enhance instcombine to use the preferred field of
GetOrEnforceKnownAlignment in more cases, so that regular IR operations are
optimized in the same way that the intrinsics currently are.
llvm-svn: 64623
2009-02-16 00:44:23 +00:00
Dan Gohman
aaee6c9523
Don't assume that a left-shift of a value with one bit set will have
...
one bit set, because the bit may be shifted off the end. Instead,
just check for a constant 1 being shifted. This is still sufficient
to handle all the cases in test/CodeGen/X86/bt.ll. This fixes PR3583.
llvm-svn: 64622
2009-02-15 23:59:32 +00:00