Dan Gohman
2a4553ba5f
Delete trailing whitespace.
...
llvm-svn: 64694
2009-02-16 23:14:14 +00:00
Dan Gohman
f68d29edd5
Fix EnforceKnownAlignment so that it doesn't ever reduce the alignment
...
of an alloca or global variable.
llvm-svn: 64693
2009-02-16 23:02:21 +00:00
Anders Carlsson
9ab53d120e
Add support for throwing exceptions to the nonfragile ABI
...
llvm-svn: 64692
2009-02-16 22:59:18 +00:00
Daniel Dunbar
eaebae55db
Add llvm::RoundUpToAlignment.
...
- No functionality change.
llvm-svn: 64691
2009-02-16 22:57:04 +00:00
Fariborz Jahanian
06292955d0
Added implementation of objc2's gc API calls for
...
nonfragile abi.
llvm-svn: 64690
2009-02-16 22:52:32 +00:00
Daniel Dunbar
8eb018ab9c
Support IRgen of sqrt -> llvm.sqrt, pow -> llvm.pow.
...
- Define pow[lf]?, sqrt[lf]? as builtins.
- Add -fmath-errno option which binds to LangOptions.MathErrno
- Add new builtin flag Builtin::Context::isConstWithoutErrno for
functions which can be marked as const if errno isn't respected for
math functions. Sema automatically marks these functions as const
when they are defined, if MathErrno=0.
- IRgen uses const attribute on sqrt and pow library functions to
decide if it can use the llvm intrinsic.
llvm-svn: 64689
2009-02-16 22:43:43 +00:00
Daniel Dunbar
45a2a20384
Unbreak clang.
...
Doug: please verify that it is expected that LastIdx can be less that
NumInits. And perhaps add a comment so that Chris doesn't break your
code. :)
llvm-svn: 64688
2009-02-16 22:42:44 +00:00
Ted Kremenek
772e6f3c93
Fix bug where APSInt::operator-- incremented instead of decremented.
...
llvm-svn: 64687
2009-02-16 22:39:08 +00:00
Douglas Gregor
5978cdb5ef
Make "implicit int" an error in C++ (unless we're allowing Microsoft
...
extensions). This caught a couple bugs in our test suite :)
llvm-svn: 64686
2009-02-16 22:38:20 +00:00
Chris Lattner
8ba22471a2
fix long lines.
...
llvm-svn: 64684
2009-02-16 22:33:34 +00:00
Chris Lattner
e084c01124
fix volatile handling with ExtVectorElementExpr, so that we
...
emit two volatile loads for:
typedef __attribute__(( ext_vector_type(4) )) float float4;
float test(volatile float4 *P) {
return P->x+P->y;
}
llvm-svn: 64683
2009-02-16 22:25:49 +00:00
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