Eli Friedman
618234a748
Reorganize the class hierarchy for x86 targets; shouldn't have any
...
visible effects, but this will significantly reduce the amount of
boilerplate code necessary to add subtargets.
If this looks okay, I'll do the rest of the processors (PPC, Sparc, ARM)
soon.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55036 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-20 02:34:37 +00:00
Eli Friedman
50ff6f3fb5
Fix test failure on Linux.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55032 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-20 01:05:41 +00:00
Eli Friedman
9b20376c6c
Fix some spam from make I accidentally introduced.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55027 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-20 00:38:03 +00:00
Daniel Dunbar
ed7c618f84
Move all Obj-C runtime interaction into CodeGenFunction.
...
- Drop duplicate (and broken) code for sending messages.
- Add EmitObjCProtocolExpr to CodeGenFunction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55024 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-20 00:28:19 +00:00
Eli Friedman
0adb3c9b2c
Get rid of the bogus -depth +0 argument; I really have no clue what the
...
heck it does on Darwin, but it's not part of POSIX, and the GNU version
of find errors out on it.
On a side note, there are a couple of new failures due to tests
including OS X specific headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55019 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-20 00:02:01 +00:00
Ted Kremenek
a622d8c271
Move store pretty-printing logic inside of StoreManager (previously in GRState).
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55013 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 22:24:03 +00:00
Ted Kremenek
caa3724b1d
Patch by Zhongxing Xu!
...
This patch extends BasicStoreManager::getInitialStore() to include code that symbolicates input variables.
It also removes redundant handling of ImplicitParamDecl, since it is a subclass of VarDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54993 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 16:51:45 +00:00
Steve Naroff
c7089f1be9
Fix crasher in RewriteObjC::RewriteObjCSynchronizedStmt(). Can't depend on the source locations of the sync expression (since it may have been rewritten.
...
Fixes <rdar://problem/6156363> clang ObjC rewriter: rewriting attached file causes assertion failure: invalid FileID
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54986 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 13:04:19 +00:00
Chris Lattner
e9d89d886a
Use raw_ostream to output an unsigned.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54973 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:23:15 +00:00
Ted Kremenek
6ec6ed3df1
Update checker-78.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54970 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 01:17:30 +00:00
Chris Lattner
d5bac57047
add testcase we already handle.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54967 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 00:58:40 +00:00
Argyrios Kyrtzidis
0835a3cdee
Add ExplicitCastExpr to replace the current CastExpr, and have ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr):
...
Expr
-> CastExpr
-> ExplicitCastExpr
-> ImplicitCastExpr
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 23:01:59 +00:00
Chris Lattner
4f3278fe39
proper grammar n stuph
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 22:51:28 +00:00
Chris Lattner
43477ca467
warn when someone tries to make an array of ObjC interfaces instead of array
...
of pointers to them. rdar://4304469
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 22:49:54 +00:00
Argyrios Kyrtzidis
4fdc1caeb1
"Remove the 'else' since the code is fallthrough after it." - suggestion by Chris.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54952 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 22:49:40 +00:00
Ted Kremenek
2dd7ad13bb
Record arguments in .info file.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54947 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 20:55:25 +00:00
Daniel Dunbar
396f0bfd4b
Support initialization of incomplete array with zero size (as
...
extension).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54946 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 20:28:46 +00:00
Chris Lattner
1e21189547
Fix PR2627, support for Q constraint.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54943 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 20:05:00 +00:00
Chris Lattner
1708b963a0
Several cleanups and tweaks to diagnostics in Sema::ActOnAsmStmt,
...
no other functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54941 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 19:55:17 +00:00
Chris Lattner
786e7a1b5c
fix bogus run line.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54940 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 19:54:48 +00:00
Ted Kremenek
5d31f83bbe
scan-build/ccc-analyzer now also report clang parser failures.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54931 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 18:38:29 +00:00
Daniel Dunbar
77e8b53fe3
Make TargetInfo::DescriptionString const (avoid compiler warnings)
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54928 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 18:25:59 +00:00
Daniel Dunbar
67dee09143
Add svn:ignore on lib/Driver/Release-Asserts
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54925 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 18:05:58 +00:00
Daniel Dunbar
8b6b0f66a9
Change test/Makefile to automatically test all subdirs.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54923 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 18:05:17 +00:00
Daniel Dunbar
a9dbb61711
Fix test case RUN: line (thanks Argiris)
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54922 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 17:52:17 +00:00
Sanjiv Gupta
364af81157
Allow targets to override description string.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54914 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 10:05:22 +00:00
Argyrios Kyrtzidis
2ff9b4c7c8
Type::isIntegerType() returns true for types between Bool and LongLong.
...
Put WChar between them to make it integer type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54882 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 13:24:01 +00:00
Chris Lattner
9aa77f137b
various updates to match r54873 on mainline.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54874 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 07:19:51 +00:00
Chris Lattner
653201b7d2
printing with an unspecified dest means to print to stdout.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54872 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 07:09:08 +00:00
Chris Lattner
76b3a72f78
don't delete a variable on the stack
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54871 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 07:07:01 +00:00
Chris Lattner
202e9ac1b1
simplify this code a bit more.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54864 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 03:54:39 +00:00
Ted Kremenek
b9d17f9384
Migrate the retain/release checker to not manage the RefBindings::Factory object
...
directly, but instead have GRStateManager manage it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54862 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 03:20:02 +00:00
Chris Lattner
e96de3e913
remove global variables for output stream.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54861 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 03:12:02 +00:00
Ted Kremenek
ffdbefd441
Migrate GRState::ConstEqTy (map used from tracking constants for symbols) to use the generic data map instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54860 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 03:10:22 +00:00
Ted Kremenek
e7aa9a1364
Added GRStateTrait.h, which includes boilerplate code for creating specializations of GRStateTrait<>.
...
Modified GRStateTrait<ConstNotEq> in GRState to use the boilerplate in GRStateTrait<> for ImmutableMaps.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54859 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 02:59:30 +00:00
Chris Lattner
dceb6a7244
Switch to shared raw_ostream code instead of having it be clang specific.
...
This also helps the eventual distcc project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54858 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 01:47:12 +00:00
Nico Weber
63366303f6
honor EscapeSpaces in 2nd overload of EscapeText()
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54854 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 22:24:33 +00:00
Argyrios Kyrtzidis
5e8840c7a6
Move the C++ Sema tests into a separate SemaCXX directory.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54853 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 20:53:59 +00:00
Argyrios Kyrtzidis
6c2dc4d993
Move the type checking that Sema::ActOnCastExpr does into a new Sema::CheckCastTypes function so that it can be reused.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54852 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 20:27:34 +00:00
Argyrios Kyrtzidis
0cd5b429fa
Put (argument)-expression-list parsing in a separate function so that it can be re-used.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54851 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 20:03:01 +00:00
Argyrios Kyrtzidis
b348b810e7
C++ casts, (static_cast. dynamic_cast, etc.) can have postfix-expression pieces.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54850 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 19:45:32 +00:00
Argyrios Kyrtzidis
289d77302a
Move handling of postfix-expression suffixes out of ParseCXXThis and into ParseCastExpression.
...
No functionality change, this follows the convention of how postfix-expressions are handled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54849 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 19:34:46 +00:00
Nick Lewycky
5d796aa789
It's spelt "uninitialized".
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54848 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 17:46:53 +00:00
Nico Weber
7b802b7d94
add missing class declaration
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54841 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 12:36:27 +00:00
Argyrios Kyrtzidis
0919f9e800
Set the SourceRange ending of DeclSpec, when Parser::ParseTypeofSpecifier finishes.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54840 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 10:21:33 +00:00
Argyrios Kyrtzidis
e1449e5101
Declarator class considers DeclSpec as immutable; Declarator::getMutableDeclSpec should be used rarely and with care.
...
Have Declarator accept and use a 'const DeclSpec &', instead of 'DeclSpec &', to make DeclSpec's immutability more explicit.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54839 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 09:55:52 +00:00
Daniel Dunbar
b7ec246872
Add NeXT runtime support for generating methods.
...
Change CodeGenFunction::EmitParmDecl to take either a ParmVarDecl or an
ImplicitParamDecl.
Drop hasAggregateLLVMType from CodeGenModule.cpp (use version in
CodeGenFunction).
Change the Objective-C method generation to use EmitParmDecl for
implicit parameters.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54838 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 03:19:19 +00:00
Daniel Dunbar
54d19091a8
Add CodeGen support for AddrLabelExpr in initializers.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54837 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 01:41:47 +00:00
Daniel Dunbar
488e993a13
Change WarnUnsupported to ErrorUnsupported (in name and in practice).
...
- We are beyond the point where this shows up often and when it does
generating miscompiled files is bad.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54836 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 00:56:44 +00:00
Ted Kremenek
1c72ef092f
GRState:
...
- Remove ConstNotEq from GRState/GRStateManager (!= tracking uses GDM instead).
- GRStateManager now can book-keep "contexts" (e.g., factory objects) for uses
with data elements stored into the GDM.
- Refactor pretty-printing of states to use GRState::Printer objects
exclusively. This removed a huge amount of pretty-printing logic from
GRExprEngine.
CFRefCount
- Simplified some API calls based on refinements to the GDM api.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54835 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-16 00:49:49 +00:00