Chris Lattner
9bad62c72a
Merge all the 'assignment' diagnostic code into one routine, decloning
...
it from several places. This merges the diagnostics, making them more
uniform and fewer in number. This also simplifies and cleans up the code.
Some highlights:
1. This removes a bunch of very-similar diagnostics.
2. This renames AssignmentCheckResult -> AssignConvertType
3. This merges PointerFromInt + IntFromPointer which were always treated the same.
4. This updates a bunch of test cases that have minor changes to the produced diagnostics.
llvm-svn: 45589
2008-01-04 18:04:52 +00:00
Chris Lattner
94cf8061e7
fix a build problem where NULL isn't implicitly defined by the headers this file includes.
...
llvm-svn: 45587
2008-01-04 16:27:03 +00:00
Fariborz Jahanian
775d5d02af
Patch to add semantics check for ObjC2's foreacn statement.
...
llvm-svn: 45561
2008-01-04 00:27:46 +00:00
Chris Lattner
816dea2fc5
generalize some of the conversion warnings.
...
llvm-svn: 45560
2008-01-03 23:38:43 +00:00
Chris Lattner
166ae81be1
update for changes in diagnostic strings.
...
llvm-svn: 45559
2008-01-03 23:36:08 +00:00
Chris Lattner
874e024f10
regroup assignment-related diagnostics, fix a mistake in one.
...
llvm-svn: 45558
2008-01-03 23:13:36 +00:00
Chris Lattner
0a788433eb
give better diagnostics for converting between function pointer and void*.
...
llvm-svn: 45556
2008-01-03 22:56:36 +00:00
Ted Kremenek
739d350369
renamed class "GRCP" (Graph Reachabilty Constant Propagation) to
...
"GREngine" (Graph Reachability Engine). The idea is to provide a separation
of concerns between the constant prop. details and the core analysis engine.
llvm-svn: 45555
2008-01-03 22:46:25 +00:00
Ted Kremenek
7c54e520e7
Implemented End-Of-Path processing.
...
llvm-svn: 45554
2008-01-03 22:29:38 +00:00
Ted Kremenek
0044908de0
Initial checking of GRConstantPropagation.cpp, which implements a constant
...
propagation analysis via graph reachability. This analysis (which is incomplete)
will be the basis for later developments on the core engine for path-sensitive
analysis analysis.
llvm-svn: 45552
2008-01-03 22:12:28 +00:00
Ted Kremenek
fde239df06
Fixed misuse of pointer within SimulVertex::addPredecessor()
...
llvm-svn: 45551
2008-01-03 22:09:27 +00:00
Ted Kremenek
9d375282cf
SimulGraph::getVertex() now also returns a bool indicating if the returned
...
vertex was freshly created.
llvm-svn: 45550
2008-01-03 22:08:52 +00:00
Ted Kremenek
6abe02ada6
Constified methods front() and back() in CFGBlock.
...
llvm-svn: 45549
2008-01-03 22:07:58 +00:00
Ted Kremenek
d6c30e58e2
De-constified the pointers returned by the Dst() and Src() methods of
...
the various ProgramEdge classes.
llvm-svn: 45548
2008-01-03 22:07:01 +00:00
Fariborz Jahanian
c89ea091a2
Couple more uninitialized before use warning elimination.
...
llvm-svn: 45547
2008-01-03 20:04:58 +00:00
Fariborz Jahanian
243c611a05
Remove cause of misc. "variable might be used uninitialized in this function" warnings.
...
llvm-svn: 45546
2008-01-03 20:01:35 +00:00
Fariborz Jahanian
5cc21a7e02
Fixed a bug reported by Chris, involving assiging 0 to a qualified object type.
...
llvm-svn: 45542
2008-01-03 18:46:52 +00:00
Chris Lattner
2b15cf705b
simplify the lexer a bit, pulling stuff out of the default case.
...
llvm-svn: 45540
2008-01-03 17:58:54 +00:00
Fariborz Jahanian
732b8c2dc5
Patch to parse/build AST ObjC2's foreach statement.
...
llvm-svn: 45539
2008-01-03 17:55:25 +00:00
Chris Lattner
1800c18ebd
fix long lines.
...
llvm-svn: 45531
2008-01-03 07:05:49 +00:00
Chris Lattner
20455f204f
Fix a crash reported by Seo Sanghyeon.
...
llvm-svn: 45530
2008-01-03 06:36:51 +00:00
Fariborz Jahanian
8361552af9
New declarations/defs for Objc2's foreach-statement. This is work in progress.
...
llvm-svn: 45511
2008-01-02 22:54:34 +00:00
Chris Lattner
4f20351142
When promoting array to pointer for argument, don't lose type qualifiers.
...
llvm-svn: 45510
2008-01-02 22:50:48 +00:00
Ted Kremenek
161807f8d1
SimulVertex: Inverted argument order when calling the Profile method of StateTy.
...
SimulGraph: Inverted argument order when calling the Profile method of VertexTy
(plus minor cleanups)
llvm-svn: 45508
2008-01-02 22:20:20 +00:00
Chris Lattner
7977cca8e8
Fix PR1895: a crash on an ugly gcc extension.
...
llvm-svn: 45505
2008-01-02 21:54:09 +00:00
Chris Lattner
266a2ff3ac
Compute the proper sourcerange for an CompoundLiteralExpr.
...
llvm-svn: 45504
2008-01-02 21:46:24 +00:00
Ted Kremenek
c7523bcaaa
Converted state reference within SimulVertex from StateTy* to StateTy.
...
This is more flexible.
llvm-svn: 45502
2008-01-02 21:31:13 +00:00
Chris Lattner
54bb810997
Refactor the decl printer, patch by Mike Stump!
...
llvm-svn: 45497
2008-01-02 21:04:16 +00:00
Fariborz Jahanian
056e3a4e90
Issue diagnostic when objective-c's @interface is preceeded by a type specifier.
...
llvm-svn: 45491
2008-01-02 19:17:38 +00:00
Ted Kremenek
796b64337b
Added/fixed some comments.
...
llvm-svn: 45490
2008-01-02 18:31:49 +00:00
Fariborz Jahanian
5e57e1890d
Prevent crash on incorrect objc messaging expression.
...
llvm-svn: 45489
2008-01-02 18:09:46 +00:00
Ted Kremenek
dc8ebe5022
Sprinkled 'typename' and fixed a few typos and type declaration errors to
...
make these headers compile.
llvm-svn: 45488
2008-01-02 17:45:00 +00:00
Ted Kremenek
2290828271
Added fixme.
...
llvm-svn: 45487
2008-01-02 17:05:47 +00:00
Ted Kremenek
032cb4433e
Allocate vertices using a BumpPtrAllocator.
...
llvm-svn: 45486
2008-01-02 17:00:32 +00:00
Nate Begeman
330aaa79e0
Allow implicit casts during arithmetic for OCUVector operations
...
Add codegen support and test for said casts.
llvm-svn: 45443
2007-12-30 02:59:45 +00:00
Nate Begeman
627daba0fd
Allow splat casts for OCU vector assignments & add some comments.
...
llvm-svn: 45442
2007-12-30 01:45:55 +00:00
Nate Begeman
16a3a9d5f9
Rename stats to print-stats to avoid conflicting with llvm's
...
stats statistic when clang is built as a dylib.
llvm-svn: 45441
2007-12-30 01:38:50 +00:00
Nate Begeman
628028bd27
Allow codegen of vector fdiv
...
llvm-svn: 45440
2007-12-30 01:28:16 +00:00
Chris Lattner
a77acbdcae
implement codegen support for most unary operators when
...
initializing a global. This handles important cases like:
float foo3 = -0.01f;
llvm-svn: 45427
2007-12-29 23:43:37 +00:00
Chris Lattner
7429581c33
remove attributions from .def files.
...
llvm-svn: 45413
2007-12-29 20:03:32 +00:00
Chris Lattner
5926c0ebfb
remove attribution from makefiles.
...
llvm-svn: 45412
2007-12-29 20:02:25 +00:00
Chris Lattner
5b12ab8c93
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change.
llvm-svn: 45410
2007-12-29 19:59:25 +00:00
Christopher Lamb
c5fafa211a
Fix OCUVector case in struct layout code.
...
llvm-svn: 45396
2007-12-29 05:10:55 +00:00
Christopher Lamb
d91c3d4926
Enable CodeGen for member expressions based on call expressions returning aggregate types. This enables expressions like 'foo().member.submember'.
...
llvm-svn: 45395
2007-12-29 05:02:41 +00:00
Christopher Lamb
fd9af54ad1
Make MemberExpr code safe w.r.t. address spaces.
...
llvm-svn: 45394
2007-12-29 04:06:57 +00:00
Christopher Lamb
ad66035921
Fix an error in the base/idx accessors for ArraySubscriptExpr's that crops up with vector element access.
...
llvm-svn: 45390
2007-12-28 23:43:03 +00:00
Chris Lattner
7ef31d3c53
various cleanups. Use IgnoreParenCasts instead of inlined versions.
...
llvm-svn: 45382
2007-12-28 05:38:24 +00:00
Chris Lattner
934edb210a
unindent cases in a switch stmt, no functionality change.
...
llvm-svn: 45381
2007-12-28 05:31:15 +00:00
Chris Lattner
0846494750
Change Sema::ActOnCallExpr to construct the CallExpr early and put it into
...
and OwningPtr instead of constructing only after all of sema is done. This
has a couple of effects:
1. it fixes memory leaks from all the error cases in sema
2. it simplifies the code significantly.
The cost of this is that the error case now new's and delete's an expr where
it did not before, but we don't care about the perf of the error case.
llvm-svn: 45380
2007-12-28 05:29:59 +00:00
Chris Lattner
6420345a34
move file to proper place in project.
...
llvm-svn: 45379
2007-12-28 05:27:01 +00:00
Chris Lattner
e4407ede20
Add accessors + iterator interface.
...
llvm-svn: 45378
2007-12-28 05:25:02 +00:00
Chris Lattner
02ac5e87e0
From Lucas Newman:
...
"Here's a tiny patch that lets the clang Xcode project build in any
location, so llvm doesn't have to be checked out in your home folder."
llvm-svn: 45376
2007-12-28 00:38:23 +00:00
Chris Lattner
20bc6e06cd
add a file I forgot to svn add.
...
llvm-svn: 45374
2007-12-27 21:46:27 +00:00
Chris Lattner
cc10d93dcf
alphabetize in project.
...
llvm-svn: 45373
2007-12-27 20:59:50 +00:00
Chris Lattner
807979824e
use -emit-llvm-bc
...
llvm-svn: 45372
2007-12-27 20:35:58 +00:00
Chris Lattner
40ad6cd854
no need to verify this, no errors/warnings are expected.
...
llvm-svn: 45371
2007-12-27 20:31:56 +00:00
Chris Lattner
11221033be
Fix a crash on a top-level objc string, patch by Nico Weber
...
llvm-svn: 45370
2007-12-27 20:29:42 +00:00
Chris Lattner
5e530bcee3
- Use Tok.isObjCAtKeyword instead of Tok.getIdentifierInfo()->getObjCKeywordID().
...
The later fails if the token is not an identifier.
- Replace tabs with spaces.
- Various other cleanups.
Patch by Nico Weber!
llvm-svn: 45368
2007-12-27 19:57:00 +00:00
Anders Carlsson
c9d41e7d27
No need to do work that the folding builder does for us.
...
llvm-svn: 45361
2007-12-26 18:20:19 +00:00
Seo Sanghyeon
acb00f4a73
Remove broken assert from CodeGen. Better check is done in Sema.
...
llvm-svn: 45358
2007-12-26 05:21:37 +00:00
Christopher Lamb
2b84813441
Make output files binary mode for -emit-llvm-bc
...
llvm-svn: 45348
2007-12-24 23:49:33 +00:00
Christopher Lamb
d01dea749e
Almost the best possible handling of stdin/stdout for llvm-emit-bc!
...
llvm-svn: 45346
2007-12-24 20:59:36 +00:00
Christopher Lamb
1c0f5d2436
Better handing of stdin/stdout for -emit-llvm-bc
...
llvm-svn: 45345
2007-12-24 20:56:07 +00:00
Christopher Lamb
5a3416409f
Allow bitcode output to be redirected to stdout.
...
llvm-svn: 45340
2007-12-24 03:23:55 +00:00
Seo Sanghyeon
76270e6be6
Implement -emit-llvm-bc option
...
llvm-svn: 45339
2007-12-24 01:52:34 +00:00
Seo Sanghyeon
6f1b274976
String literal in aggregate expression
...
llvm-svn: 45330
2007-12-23 03:11:58 +00:00
Chris Lattner
b907c3fca1
remove use of alloca.
...
llvm-svn: 45329
2007-12-23 01:40:15 +00:00
Anton Korobeynikov
03f8a3630d
Unbreak mingw build
...
llvm-svn: 45328
2007-12-23 01:19:32 +00:00
Ted Kremenek
dbc5385608
Added (incomplete) implementation of SimulEngine, a worklist-based dataflow
...
solver for path-sensitive, intra-procedural analysis.
llvm-svn: 45306
2007-12-22 01:43:37 +00:00
Fariborz Jahanian
4f41b272c9
Another test case, testing a variety of objective-c type comparisons.
...
llvm-svn: 45302
2007-12-22 00:17:49 +00:00
Fariborz Jahanian
24e1a0bd35
Another test for objective-c's type comparison.
...
llvm-svn: 45301
2007-12-21 23:48:59 +00:00
Ted Kremenek
e7e26cd01e
Converted Loc back to being of type ProgramEdge. Ultimately I believe we want
...
the ability to refer to the vertex set for all the vertices associated with an
edge. This will allow some nice queries over the graph, and (hopefully) will
reduce the memory footprint of SimulVertex.
llvm-svn: 45299
2007-12-21 23:23:12 +00:00
Ted Kremenek
e1d1a9479f
Added preliminary implementation of SimulGraph, which represents the
...
intra-procedural supergraph of a path-sensitive dataflow analysis.
llvm-svn: 45298
2007-12-21 23:21:58 +00:00
Ted Kremenek
908cff9fa4
Changed "Location" from "ProgramEdge" to "ProgramEdge&" (slightly more svelt
...
memory representation).
llvm-svn: 45297
2007-12-21 22:57:10 +00:00
Ted Kremenek
95416706ed
SimulVertex now subclasses FoldingSetNode.
...
llvm-svn: 45296
2007-12-21 22:41:58 +00:00
Ted Kremenek
1616945a7d
Added Profile method to SimulVertex.
...
llvm-svn: 45295
2007-12-21 22:40:41 +00:00
Fariborz Jahanian
a7c705ddca
This patch implements some of the more obscure type-checking involving
...
'id' quallified with protocols and static types which have categories and
inheritance which implement these protocols.
llvm-svn: 45294
2007-12-21 22:22:33 +00:00
Ted Kremenek
fda0aaf01b
Updated Xcode project to be in sync with recent changes in file locations
...
introduced in r45292 (http://llvm.org/viewvc/llvm-project?rev=45292&view=rev )
llvm-svn: 45293
2007-12-21 21:48:31 +00:00
Ted Kremenek
bf593f81fa
Directory restructing of Analysis files.
...
Created include/clang/Analysis/Analyses directory.
- Moved LiveVariables.h and UninitializedValues.h into this dir.
Moved ExprDeclBitVector.h into Analysis/Support.
Updated all clients who use these headers to reflect the new paths.
llvm-svn: 45292
2007-12-21 21:42:19 +00:00
Ted Kremenek
f55ed782b4
Renamed file AnalysisVertex.h to SimulVertex.h
...
llvm-svn: 45291
2007-12-21 21:17:22 +00:00
Ted Kremenek
3d8b0d6948
Renamed class AnalysisVertex to SimulVertex
...
llvm-svn: 45290
2007-12-21 21:16:58 +00:00
Ted Kremenek
93e2031187
Fixed successor order for CFG basic blocks when handling: x && y. The bug
...
is best explained by illustration:
[ B2 ]
1: x
T: [B2.1] && ...
Predecessors (1): B4
Successors (2): B3 B1
Block "B3" should be the block where we evaluate "y" when "x" evaluates to
true. Previously we had the successor list reversed. Now this behavior matches
with how we handle other conditional branches.
Thanks to Nuno Lopes for reporting this problem.
llvm-svn: 45288
2007-12-21 19:49:00 +00:00
Devang Patel
505b4f1fd4
Convert opaque type when struct definition is seen.
...
llvm-svn: 45287
2007-12-21 19:35:28 +00:00
Devang Patel
016e41e8a6
Keep track of llvm struct size while adding fields.
...
Update addPaddingFields() interface.
llvm-svn: 45284
2007-12-21 18:43:53 +00:00
Fariborz Jahanian
56b5c96ef7
Patch to compare to objective-c static types where one or the other
...
(but not both) may be a protocol qualified static type.
llvm-svn: 45283
2007-12-21 17:34:43 +00:00
Fariborz Jahanian
fd6f3a2460
Test case for my last patch.
...
llvm-svn: 45277
2007-12-21 00:35:35 +00:00
Fariborz Jahanian
ff7d2bf255
More objective-c type analysis. This time involving objective types
...
of conforming protocols (or not).
llvm-svn: 45276
2007-12-21 00:33:59 +00:00
Ted Kremenek
b149889df6
Added class "StateVariant", a template class which serves to wrap states that
...
are generated by transfer functions used by the path-sensitive dataflow solver.
llvm-svn: 45273
2007-12-21 00:04:19 +00:00
Ted Kremenek
f40d2740b6
Added initial implementation of "AnalysisVertex", a class to represent a
...
location*state vertex in an intra-procedural, path-sensitive dataflow
supergraph.
llvm-svn: 45272
2007-12-20 23:24:55 +00:00
Fariborz Jahanian
76fcf32632
Another test for objective-c type comparison.
...
llvm-svn: 45271
2007-12-20 22:53:29 +00:00
Fariborz Jahanian
4368af07a7
More objective-c type checking. This time comparing objective-c known objects.
...
llvm-svn: 45269
2007-12-20 22:37:58 +00:00
Ted Kremenek
71d643f8b1
Converted uses of scoped_ptr to OwningPtr.
...
llvm-svn: 45265
2007-12-20 19:47:16 +00:00
Fariborz Jahanian
63b19f1b6e
Patch to do type-checking for objctive-c's object types.
...
More is yet to come.
llvm-svn: 45263
2007-12-20 19:24:10 +00:00
Chris Lattner
1991794112
add accessor.
...
llvm-svn: 45262
2007-12-20 19:14:21 +00:00
Seo Sanghyeon
58bdfda87c
Add newline
...
llvm-svn: 45257
2007-12-20 07:22:20 +00:00
Chris Lattner
8304df9024
Fix trivial self-infinite-recursion
...
llvm-svn: 45248
2007-12-20 01:38:17 +00:00
Fariborz Jahanian
134cbefba2
More objective-c typechecking stuff. This is work in progress and more patches
...
are due to arrive.
llvm-svn: 45244
2007-12-20 01:06:58 +00:00
Chris Lattner
6c9ffe9529
Implement codegen for ordered comparison builtins.
...
llvm-svn: 45243
2007-12-20 00:44:32 +00:00
Ted Kremenek
371efafb94
Created initial implementation of "BuildSerializer", and ASTConsumer
...
which serializes ASTs to a common output directory. This ASTConsumer
is invoked using a combination of "-o" and "-serialize" from the driver.
llvm-svn: 45241
2007-12-20 00:34:58 +00:00
Ted Kremenek
62c462f9c5
Renamed "FileEntry::getDev()" to "FileEntry::getDevice()"
...
llvm-svn: 45240
2007-12-20 00:29:44 +00:00
Chris Lattner
2da14fb84f
implement semantic analysis for __builtin_islessequal and friends.
...
llvm-svn: 45239
2007-12-20 00:26:33 +00:00
Ted Kremenek
8babe3d9c4
Added method getFileEntryForID() to SourceManager.
...
llvm-svn: 45237
2007-12-20 00:15:17 +00:00
Chris Lattner
e202e6af48
simplify some code.
...
llvm-svn: 45235
2007-12-20 00:05:45 +00:00
Chris Lattner
43be2e6004
refactor some code that handles sema of direct function calls.
...
llvm-svn: 45234
2007-12-19 23:59:04 +00:00
Chris Lattner
9b65d3506e
Add iterator interface to function/method parameters.
...
llvm-svn: 45233
2007-12-19 23:58:25 +00:00
Ted Kremenek
ca07147851
Split serialization ASTConsumers into two consumers: SingleFileSerializer and
...
BuildSerializer. The former serializes a single translation unit to a
corresponding .ast file. The second serializes ASTs to a common emission
direction. The latter is not fully implemented yet.
llvm-svn: 45232
2007-12-19 23:49:37 +00:00
Ted Kremenek
96e05d4f31
Added methods createMainFileID() and createMainFileIDForMemBuffer() to
...
SourceManager to allow SourceManager to directly intern the MainFileID
when it is created. Removed setMainFileID().
llvm-svn: 45231
2007-12-19 23:48:45 +00:00
Ted Kremenek
230bd918b2
Interned MainFileID within SourceManager. Since SourceManager is referenced by
...
both Preprocessor and ASTContext, we no longer need to explicitly pass
MainFileID around in function calls that also pass either Preprocessor or
ASTContext. This resulted in some nice cleanups in the ASTConsumers and the
driver.
llvm-svn: 45228
2007-12-19 22:51:13 +00:00
Ted Kremenek
f7bfae6b45
Typo fix.
...
llvm-svn: 45227
2007-12-19 22:32:34 +00:00
Ted Kremenek
9a53275918
Added storage of the FileID of the the main source file of a translation unit
...
in SourceManager.
llvm-svn: 45225
2007-12-19 22:29:55 +00:00
Steve Naroff
fa5751f842
Various tweaks to the get/lookup instance/class method API's.
...
llvm-svn: 45224
2007-12-19 22:27:04 +00:00
Ted Kremenek
6c7807716b
Removed "SourceFile" from TranslationUnit. This same information will (soon)
...
be available by querying the SourceManager within the ASTContext referenced by
the TranslationUnit.
llvm-svn: 45223
2007-12-19 22:24:34 +00:00
Chris Lattner
7bd082e188
Describe Nico's script for gcc interception. Patch by Nico Weber.
...
llvm-svn: 45222
2007-12-19 22:17:19 +00:00
Ted Kremenek
aff2343af3
Cleaned up "-o" option to print "-o=<path>" instead of "-o=<string>" when
...
doing clang --help.
llvm-svn: 45215
2007-12-19 19:50:41 +00:00
Ted Kremenek
6c0b224011
Added "-o" option to driver. ASTConsumers will need to be gradually
...
rewired to utilize this option.
Renamed option --serialize-ast --serialize.
llvm-svn: 45213
2007-12-19 19:47:59 +00:00
Chris Lattner
c238331377
Add support for #pragma mark, which shouldn't warn about bogus tokens.
...
llvm-svn: 45212
2007-12-19 19:38:36 +00:00
Ted Kremenek
0061aeb316
Removed storing inode and device number in TranslationUnit.
...
Added "SourceFile" string to TranslationUnit to record corresponding
source file.
Updated serialization of TranslationUnits and logic in the driver to
correctly pass the source file information to the serializer.
llvm-svn: 45211
2007-12-19 19:27:38 +00:00
Chris Lattner
6a4f74593c
fix some crazy indentation
...
llvm-svn: 45210
2007-12-19 19:23:28 +00:00
Steve Naroff
7e718bb3fd
Soften the macro rewrite error to a warning (and change the text).
...
llvm-svn: 45209
2007-12-19 19:16:49 +00:00
Fariborz Jahanian
6a128ae962
Minor test twik.
...
llvm-svn: 45208
2007-12-19 19:07:24 +00:00
Ted Kremenek
0ec9a20bf0
Updated locations of TranslationUnit.[cpp,h] in XCode project.
...
Added AST/ASTConsumer.cpp to XCode project.
llvm-svn: 45206
2007-12-19 18:07:54 +00:00
Chris Lattner
2a70c95387
reenable this code, fix the testcase.
...
llvm-svn: 45205
2007-12-19 18:01:43 +00:00
Chris Lattner
99488aec20
disable my commit from yesterday, fixing a regression test failure.
...
llvm-svn: 45204
2007-12-19 17:49:45 +00:00
Fariborz Jahanian
a1e3420c49
This patch concludes implementation of dynamic objective-c type qualified by
...
protocol list.
llvm-svn: 45203
2007-12-19 17:45:58 +00:00
Anders Carlsson
2c26cc232f
Fix the embarassing typo for real this time (- vs _), sorry about breaking the tests Steve.
...
llvm-svn: 45202
2007-12-19 17:43:24 +00:00
Ted Kremenek
6c3777c319
Moved generation of the name of the serialized AST file into
...
CreateASTSerializer.
llvm-svn: 45201
2007-12-19 17:25:59 +00:00
Steve Naroff
55cb4be8ae
Emit errors when attempting to rewrite ObjC expressions that originate from a macro expansion.
...
We plan on fixing this and removing this restriction after the break...
llvm-svn: 45200
2007-12-19 14:32:56 +00:00
Steve Naroff
735a2716de
Revert Anders r45191 commit...it broke several of the tests.
...
llvm-svn: 45199
2007-12-19 14:11:27 +00:00
Anders Carlsson
721f601507
Fix an embarassing typo and add some very limited support for the aligned attribute.
...
llvm-svn: 45195
2007-12-19 07:19:40 +00:00
Anders Carlsson
081f1b411d
Normalize attribute names if possible so we won't have to do two strcmps for every attribute.
...
llvm-svn: 45191
2007-12-19 06:16:30 +00:00
Chris Lattner
0f8a39c793
fix broken assert.
...
llvm-svn: 45189
2007-12-19 05:38:06 +00:00
Chris Lattner
ea72f449fe
Implement C99 6.7.5.3p1
...
llvm-svn: 45188
2007-12-19 05:31:29 +00:00
Ted Kremenek
f4c38c9289
Refactored inode and device number into FileEntry, and changed the
...
ADT storing FileEntry's in FileManager from a map to a set.
llvm-svn: 45184
2007-12-18 22:29:39 +00:00
Ted Kremenek
8c8947fb92
When serializing SourceManager, we now serialize out absolute paths
...
to serialized source files.
llvm-svn: 45183
2007-12-18 22:12:19 +00:00
Ted Kremenek
f70d24d2ae
Moved ReadBitcodeFile and EmitBitcodeFile out of TranslationUnit and made them
...
the standalone functions ReadASTBitcodeFile and EmitASTBitcodeFile
respectively.
llvm-svn: 45180
2007-12-18 21:44:50 +00:00
Steve Naroff
824a9d8d4b
Fix serious regression with ObjcInterfaceDecl. Now that we are storing -1 to mean undefined, we need to change the respective getters from unsigned->int.
...
llvm-svn: 45179
2007-12-18 21:41:31 +00:00
Ted Kremenek
25dbd71a4c
Fixed broken includes introduced by recent (incomplete) patch to
...
TranslationUnit.
llvm-svn: 45177
2007-12-18 21:36:21 +00:00
Ted Kremenek
afb98f9c09
Moved TranslationUnit.h to include path.
...
llvm-svn: 45176
2007-12-18 21:34:50 +00:00
Ted Kremenek
879b75018f
Moved TranslationUnit from Driver to AST library.
...
llvm-svn: 45175
2007-12-18 21:34:28 +00:00
Fariborz Jahanian
9f0e310861
Refactoring work. ObjcQualifiedIdType is now derived from 'Type'.
...
llvm-svn: 45174
2007-12-18 21:33:44 +00:00
Ted Kremenek
a51c88ccd8
Added to FileEntry a pointer to the <dev_t,ino_t> pair for the file, and
...
accessors to FileEntry to query these values.
llvm-svn: 45171
2007-12-18 20:45:25 +00:00
Chris Lattner
37bd2ecb11
local static vars are globals also. This fixes a testcase
...
reported by Seo.
llvm-svn: 45156
2007-12-18 08:16:44 +00:00
Chris Lattner
d4fc27e937
remove the loc argument to Type::isConstantSizeType, which isn't useful.
...
llvm-svn: 45155
2007-12-18 07:18:16 +00:00
Chris Lattner
20aad334c7
Fix the location we emit the "not a constant" error for this:
...
int foo() {
typedef int x[foo()];
static int y = sizeof(x);
}
previously we'd emit it on the typedef, which made not sense at all.
llvm-svn: 45154
2007-12-18 07:15:40 +00:00
Chris Lattner
6d2d1b67ca
Fix PR1863: an assertion due to not setting a location on return from
...
this method.
llvm-svn: 45153
2007-12-18 07:03:30 +00:00
Chris Lattner
78e34a00f4
Fix const propagation bug.
...
llvm-svn: 45152
2007-12-18 07:02:56 +00:00
Chris Lattner
dcb7cc59ae
Fix an nice and subtle parser bug reported by Nico Weber.
...
llvm-svn: 45149
2007-12-18 06:06:23 +00:00
Steve Naroff
b723564c79
Add DefaultFunctionArrayConversion() to the indirection operator in Sema::ActOnUnaryOp().
...
This fixes a bug Chris forwarded from Oliver Hunt...
typedef struct { char name[100]; } entry;
char f1(entry *e) { return *e->name; }
llvm-svn: 45148
2007-12-18 04:06:57 +00:00
Steve Naroff
b74406ba98
Fixe bogus error for variable argument methods. Sema::ObjcGetTypeForMethodDefinition() wasn't preserving the isVariadic boolean. Another fix is to avoid synthsizing the function decl entirely, however this is a separate issue that I don't want to deal with now. Also added a FIXME to Sema::CheckFunctionCall(), which is currently emitting a bogus warning.
...
llvm-svn: 45146
2007-12-18 03:41:15 +00:00
Anders Carlsson
aa5c91980e
Turns out the LLVMFoldingBuilder can fold InsertElement. Knowing this, we can get rid of our special casing of constants when creating vectors.
...
llvm-svn: 45145
2007-12-18 02:45:33 +00:00
Steve Naroff
1d2538cb4d
Improve how we find private method decls. This involved:
...
- Changed Sema::ObjcActOnStartOfMethodDef() to register the methods with the global pools.
- Changed Sema::ActOnInstanceMessage() to look in global pools (should be much less error prone).
- Added a test case to message.m (for lookup that was broken).
Misc changes while I was investigating this...
- Changed Sema::ActOnAtEnd() to call AddFactoryMethodToGlobalPool (this looked like a cut/paste error).
- Added a comment and tweaked another where I was using the first person.
llvm-svn: 45142
2007-12-18 01:30:32 +00:00
Chris Lattner
b8be97e239
introduce a new CodeGenModule::getIntrinsic method, which wraps
...
Intrinsic::getDeclaration, allowing much more terse code.
llvm-svn: 45136
2007-12-18 00:25:38 +00:00
Steve Naroff
2050b0d05a
Add __private_extern__ keyword and recognize it. Added a FIXME to indicate there is still work to do.
...
llvm-svn: 45135
2007-12-18 00:16:02 +00:00
Fariborz Jahanian
9b482ba9ec
Fixed a comment describing a function
...
llvm-svn: 45125
2007-12-17 21:48:49 +00:00
Chris Lattner
619e18cce2
implement HeaderMap::LookupFile. I think headermaps are done now. All that is
...
left is this crazy thing called "testing".
llvm-svn: 45124
2007-12-17 21:38:04 +00:00
Chris Lattner
9f9a619a9f
implement enough helper functions to successfully dump out the
...
contents of the header map. Look ma, no assumptions about input data
here (aka, corrupt header maps can't crash the compiler - crazy thought).
llvm-svn: 45122
2007-12-17 21:06:11 +00:00
Fariborz Jahanian
24cb52c9b0
Patch to implemented objective-c's dynamic object pointer qualified with
...
the protocol list (id<P,...> types).
llvm-svn: 45121
2007-12-17 21:03:50 +00:00
Chris Lattner
a0943c36ed
Targets.cpp is gone.
...
llvm-svn: 45119
2007-12-17 20:56:50 +00:00
Chris Lattner
e6a76da763
Make the insertion point with an explicit new instead of the builder.
...
llvm-svn: 45118
2007-12-17 20:50:59 +00:00
Ted Kremenek
a59e0064d3
Removed CFG.cpp's dependence on #including iostream.
...
llvm-svn: 45116
2007-12-17 19:35:20 +00:00
Ted Kremenek
3fbeaea7ee
Modified format-string checking to not emit a warning when all of the
...
following hold:
(1) A vprintf-like function is called that takes the argument list via a
via_list argument.
(2) The format string is a non-literal that is the parameter value of
the enclosing function, e.g:
void logmessage(const char *fmt,...) {
va_list ap;
va_start(ap,fmt);
fprintf(fmt,ap); // Do not emit a warning.
}
In the future this special case will be enhanced to consult the "format"
attribute attached to a function declaration instead of just allowing a blank
check for all function parameters to be used as format strings to vprintf-like
functions. This will happen when more support for attributes becomes
available.
llvm-svn: 45114
2007-12-17 19:03:13 +00:00
Chris Lattner
d39b8c0269
simplify some code, using new scoped_ptr support. Fix a bug in the
...
cross-endianness case, where we checked the version in the wrong endianness.
Amusingly, the GCC logic that detects mixed endianness hmaps and rejects
them is dead for this very reason.
llvm-svn: 45113
2007-12-17 18:59:44 +00:00
Chris Lattner
79764a6bee
Finish hooking up the scaffolding for headermaps. They can now do everything
...
except resolve lookups.
llvm-svn: 45111
2007-12-17 18:44:09 +00:00
Ted Kremenek
ea63b1575c
Format string checker: asprintf does not pass argumnents via va_list.
...
llvm-svn: 45110
2007-12-17 18:38:31 +00:00
Chris Lattner
4ffe46cbdf
Start reading the headermap header, drop the 'errorstr' argument to
...
the create method.
llvm-svn: 45109
2007-12-17 18:34:53 +00:00
Fariborz Jahanian
77b713b5d3
Also fixed similar regression for class methods, as well as more indentations.
...
llvm-svn: 45107
2007-12-17 18:07:01 +00:00
Chris Lattner
8d720d083a
Sink getName into DirectoryLookup to simplify the client in clang.
...
llvm-svn: 45106
2007-12-17 17:57:27 +00:00
Fariborz Jahanian
5f6409532b
Fixed a regression caused by refactoring of some meta-data generation routines using iteratgors.
...
Also fixed indentation problems.
llvm-svn: 45105
2007-12-17 17:56:10 +00:00
Ted Kremenek
73e921fdf2
Fixed 80 col violation.
...
llvm-svn: 45104
2007-12-17 17:50:39 +00:00
Ted Kremenek
5aa66bdfd6
Added driver option -Wno-format-nonliteral to silence format string related
...
warnings. This flag is the inverse of to GCC's -Wformat-nonliteral option (in
the clang driver, these warnings are on by default).
Patch provided by Shantonu Sen.
llvm-svn: 45103
2007-12-17 17:50:07 +00:00
Chris Lattner
faebb62651
Unbreak -v with framework paths. Patch by Shantonu Sen.
...
llvm-svn: 45102
2007-12-17 17:42:26 +00:00
Ted Kremenek
05821322b4
Fixed another case where sizeof() returns the size in bytes, not bits.
...
This parallels a previous patch (duplicate logic caused the bug to appear
in multiple locations):
r44316 (http://llvm.org/viewvc/llvm-project?rev=44316&view=rev ).
Patch provided by Nuno Lopes.
llvm-svn: 45098
2007-12-17 17:38:43 +00:00
Chris Lattner
1587e6db01
add headermap.cpp
...
llvm-svn: 45095
2007-12-17 08:22:46 +00:00
Chris Lattner
44bd21b7c1
finish stubbing out support for HeaderMap. Now we just need an implementation!
...
llvm-svn: 45094
2007-12-17 08:17:39 +00:00
Chris Lattner
712e3873a0
refactor an better comment framework lookup code. This moves it from
...
HeaderSearch into DirectoryLookup, as a particular framework lookup is
specific to the directory we are currently querying.
llvm-svn: 45093
2007-12-17 08:13:48 +00:00
Chris Lattner
f62f75895f
as it turns out, frameworks and headermaps are orthogonal. Make this so in
...
the internal representation. This also fixes a bug where -I foo -F foo would
not search foo as both a normal and framework include dir.
llvm-svn: 45092
2007-12-17 07:52:39 +00:00
Chris Lattner
dd00e625d2
add a portability fixme.
...
llvm-svn: 45091
2007-12-17 06:51:34 +00:00
Chris Lattner
3e206b3a0e
teach RemoveDuplicates about header maps.
...
llvm-svn: 45090
2007-12-17 06:44:29 +00:00
Chris Lattner
c4ba38ed1e
Step #1 in adding headermap support to clang.
...
llvm-svn: 45089
2007-12-17 06:36:45 +00:00
Chris Lattner
899ff4a26d
rearrange some code and make it more efficient.
...
llvm-svn: 45087
2007-12-17 05:59:27 +00:00
Chris Lattner
28c91c5f35
add a hack so that codegen doesn't abort on missing sema of initializers, now
...
we emit stuff like this:
abort on missing sema of initializers, now
we emit stuff like this:
t3.c:1:24: warning: cannot codegen this initializer yet
const char x[2][4] = { { 'a', 'b', '\0', '\0' }, { 'c', 'd', 'e', '\0' } };
^~~~~~~~~~~~~~~~~~~~~~~~
This should be removed when sema is finished.
llvm-svn: 45086
2007-12-17 05:17:42 +00:00
Christopher Lamb
77560fbde7
Update to use new PointerType::getUnqual() api.
...
llvm-svn: 45081
2007-12-17 01:11:20 +00:00
Anders Carlsson
ca6bcae0be
Start generating SSE intrinsics.
...
llvm-svn: 45079
2007-12-16 22:33:50 +00:00
Steve Naroff
eaaae467c7
Sema::ActOnMemberReferenceExpr() needs to perform the default conversions.
...
Bug and test case provided by Carl Lewis.
llvm-svn: 45078
2007-12-16 21:42:28 +00:00
Chris Lattner
39911a2258
swtich to smallptrset, which is more efficient than std::set.
...
llvm-svn: 45065
2007-12-15 23:20:07 +00:00
Chris Lattner
d6658d932b
make clang -v output more similar to gcc's -v output.
...
llvm-svn: 45064
2007-12-15 23:11:06 +00:00
Anders Carlsson
f5f6544edc
We now support all MMX intrinsics. SSE intrinsics are next.
...
llvm-svn: 45062
2007-12-15 21:23:30 +00:00
Chris Lattner
60a288ab19
simplify the interfaces to ProcessInputFile and InitializePreprocessor
...
llvm-svn: 45060
2007-12-15 20:48:40 +00:00
Ted Kremenek
56ba5b3931
Removed "isSizeOfExpr" mode from StmtIterator. It turned out not to be
...
so useful and introduced a few bugs.
llvm-svn: 45051
2007-12-15 00:39:18 +00:00
Ted Kremenek
3291844bf0
Added "mode" to StmtIterator to record if the expression being iterated
...
over is the subexpression of a sizeof(expression). Different clients
will wish to handle iteration over such subexpressions differently, and can
now easily query if they are iterating over such statements using the
StmtIterator's inSizeOfExpr().
llvm-svn: 45047
2007-12-14 23:40:56 +00:00
Steve Naroff
3ce37a6b8e
- Remove getInstanceMethods/getClassMethods API on ObjcInterfaceDecl, ObjcProtocolDecl, and ObjcCategoryDecl. These methods are replaced by the respective iterators on each class.
...
- Add getInstanceMethodForSelector to ObjcInterfaceDecl, ObjcProtocolDecl, and ObjcCatgoryDecl. This hook will do a "shallow" lookup. This is a convenience method that reducing some of the iterator usage.
- Various changes to convert all clients to the above API's...
llvm-svn: 45046
2007-12-14 23:37:57 +00:00
Ted Kremenek
85e45f278c
Added support to StmtIterator to traverse the size expression of a VLA type
...
declared in a sizeof. For example:
sizeof(int[foo()]);
the expression "foo()" is an expression that is executed during the evaluation
of sizeof.
llvm-svn: 45043
2007-12-14 22:52:23 +00:00
Anders Carlsson
4d3094a9bb
Simplify the vector code. Add more shift intrinsics.
...
llvm-svn: 45035
2007-12-14 17:48:24 +00:00
Kevin
c3286e9cef
IE Menu Problem...
...
Originally, I included CSS hacks for IE.
However, my comments before the doctype was the reason IE was running in non-strict mode. I did not know this.
When Chris removed the comments, IE correctly went into strict mode and my IE hacks were no longer needed (the hacks were getting in the way now).
solution:
*) Make sure doctype is first on all files
*) removed all IE hacks from menu.css (since the doctype issue fixes IE)
llvm-svn: 45025
2007-12-14 05:47:49 +00:00
Seo Sanghyeon
d4d8c3c717
Array subscription in aggregate expression
...
llvm-svn: 45023
2007-12-14 02:04:12 +00:00
Seo Sanghyeon
3abb6d8435
Implement dereference operator in aggregate expression
...
llvm-svn: 45020
2007-12-14 01:09:11 +00:00
Ted Kremenek
7d9a2e119d
CFG bug fix: for sizeof(expressions), don't expand the control-flow
...
of "expressions", since they are not really evaluated.
llvm-svn: 45015
2007-12-13 22:44:18 +00:00
Fariborz Jahanian
c47dc4f5af
Patch to make ObjcQualifiedInterfaceType inherit ObjcInterfaceType
...
llvm-svn: 45014
2007-12-13 20:47:42 +00:00
Steve Naroff
d78c81b6de
Sema::ActOnFinishFunctionBody(): Since we no longer synthesize a FunctionDecl for each method, remove the unconditional initialization to 0 and corresponding comment.
...
llvm-svn: 45008
2007-12-13 18:18:56 +00:00
Ted Kremenek
2f4ab7148c
Add hack to SourceManager to support missing source files during
...
deserialization. Eventually this should be replaced with a lazy-reading
mechanism that only reads source files when they are needed by clients.
llvm-svn: 45007
2007-12-13 18:12:10 +00:00
Ted Kremenek
31dcdb312b
Add check in the driver to see if a serialized AST file has been successfully
...
deserialized.
llvm-svn: 45006
2007-12-13 18:11:11 +00:00
Ted Kremenek
685dc9b56e
Changed set of top-level decls from a list to a vector.
...
llvm-svn: 45005
2007-12-13 17:54:02 +00:00
Ted Kremenek
15ddcef648
Changed -serialize-ast to not create a temporary directory, but instead
...
create a .ast file in the current working directory. This mirrors the behavior
of the -c option for gcc. Later we should add the ability to write the
serialized file anywhere.
llvm-svn: 45004
2007-12-13 17:50:11 +00:00
Chris Lattner
60af5f3b82
Set target data layout info in module.
...
llvm-svn: 45003
2007-12-13 17:34:31 +00:00
Chris Lattner
69b9ea5afa
typo
...
llvm-svn: 45002
2007-12-13 17:27:09 +00:00
Chris Lattner
2048b067a6
debug info too.
...
llvm-svn: 45001
2007-12-13 17:25:36 +00:00
Ted Kremenek
9f5ad6c795
Minor spelling; punctuation correction.
...
llvm-svn: 45000
2007-12-13 16:41:01 +00:00
Bill Wendling
a5be19d3df
Grammar fix: correct ' usage.
...
llvm-svn: 44998
2007-12-13 09:57:40 +00:00
Chris Lattner
eb13c73c36
minor cleanups
...
llvm-svn: 44996
2007-12-13 07:47:54 +00:00
Chris Lattner
54424ad69c
add some builtins.
...
llvm-svn: 44995
2007-12-13 07:41:58 +00:00
Chris Lattner
13653d7668
simplify some code.
...
llvm-svn: 44994
2007-12-13 07:34:23 +00:00
Chris Lattner
3c1334013d
Don't do integer promotions of LHS for compound shift assignment. The LHS has to be a modifiable lvalue.
...
llvm-svn: 44993
2007-12-13 07:28:16 +00:00
Chris Lattner
d7b5a9aa1a
remove some dead styles.
...
llvm-svn: 44992
2007-12-13 06:55:59 +00:00
Chris Lattner
d9c10096d7
nuke hte status page.
...
llvm-svn: 44991
2007-12-13 06:55:02 +00:00
Chris Lattner
196a226567
add a bunch of open projects
...
llvm-svn: 44990
2007-12-13 06:41:15 +00:00
Ted Kremenek
136a37f1eb
Updated serialization of ParmVarDecl to serialize out objcDeclQualifier.
...
Previously this field was serialized out in VarDecl (a parent class), but
now the field belongs to ParmVarDecl.
llvm-svn: 44989
2007-12-13 06:28:13 +00:00
Chris Lattner
a5b4965c0e
split get_involved into two pages: get_started and get_involved.
...
llvm-svn: 44988
2007-12-13 06:20:15 +00:00
Chris Lattner
8610d2de02
wrap to 80 cols, many fixes to markup.
...
llvm-svn: 44985
2007-12-13 05:42:27 +00:00
Ted Kremenek
3a742d280c
For uninitialized values analysis, added special treatment for declarations
...
of array types. For things like:
char x[10];
we should treat "x" as being initialized, because the variable "x" really
refers to the memory block of the array. Clearly x[1] is uninitialized, but
expressions like "(char*) x" really do refer to an initialized value. This
simple dataflow analysis does not reason about the contents of arrays.
This fixes: PR 1859 (http://llvm.org/bugs/show_bug.cgi?id=1859 )
llvm-svn: 44984
2007-12-13 05:14:22 +00:00
Chris Lattner
2fe0dd09b3
Fix file header.
...
llvm-svn: 44983
2007-12-13 05:02:35 +00:00
Ted Kremenek
78dcda6059
Fixed bug in live-variable analysis and uninitialized-values analysis where
...
we incorrectly examine the expression within a sizeof() for use in computing
dataflow values.
This fixes: PR 1858 (http://llvm.org/bugs/show_bug.cgi?id=1858 )
llvm-svn: 44982
2007-12-13 04:47:15 +00:00
Chris Lattner
52a6f82d0f
use new interface.
...
llvm-svn: 44978
2007-12-13 02:05:09 +00:00
Chris Lattner
67671ed4b7
add a helper method.
...
llvm-svn: 44976
2007-12-13 01:59:49 +00:00
Devang Patel
527048247b
Add assert to detect incomplete implementation work.
...
llvm-svn: 44974
2007-12-13 01:24:16 +00:00
Fariborz Jahanian
885890a47a
Moved ObjcDeclQualifier to ParmVarDecl from VarDecl.
...
Ted, this change necessitates (de)/serialization of ParmVarDecl.
llvm-svn: 44972
2007-12-13 00:54:18 +00:00
Chris Lattner
70efff25be
builtin id 0 is invalid, don't use a slot for it.
...
llvm-svn: 44968
2007-12-13 00:38:03 +00:00
Ted Kremenek
ce8d55b087
Implemented -serialize-ast option for the driver. This is not really tested
...
and is a work in progress.
llvm-svn: 44967
2007-12-13 00:37:31 +00:00
Fariborz Jahanian
56637d127f
Fixed test to match the new diagnostic text.
...
llvm-svn: 44966
2007-12-13 00:16:34 +00:00
Fariborz Jahanian
4d1288a67e
Concatenation of objc strings.
...
llvm-svn: 44964
2007-12-12 23:55:49 +00:00
Chris Lattner
b8bd2db8b3
fix off-by-one error.
...
llvm-svn: 44963
2007-12-12 23:46:36 +00:00
Ted Kremenek
8fdd3d95eb
Implemented prototype mode where the driver can operate on serialized ASTs
...
instead of source files.
llvm-svn: 44962
2007-12-12 23:41:08 +00:00
Ted Kremenek
1daa3cfbae
TargetInfo no longer includes a reference to SourceManager.
...
Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:
FullLoc.getManager().someMethod(FullLoc.getLocation());
instead we have:
FullLoc.someMethod();
Modified TextDiagnostics (and related classes) to use this short-hand.
llvm-svn: 44957
2007-12-12 22:39:36 +00:00
Steve Naroff
f44cb63859
Encode enumeral types.
...
llvm-svn: 44956
2007-12-12 22:30:11 +00:00
Ted Kremenek
9b7632eef8
Removed "NULL" from default construction of FullSourceLoc (compilation errors on
...
some systems).
llvm-svn: 44953
2007-12-12 19:39:40 +00:00
Ted Kremenek
f82942d04c
constified getFullLoc().
...
llvm-svn: 44951
2007-12-12 18:55:29 +00:00
Ted Kremenek
febe89a6da
Changes to FullSourceLoc:
...
- Added cstor that takes no arguments to create an "invalid" location.
- Removed non-const version of getSourceManager().
- Renamed getSourceManager() to getManager.
- Remover operator SourceLocatio().
llvm-svn: 44950
2007-12-12 18:54:21 +00:00
Ted Kremenek
50d23f007f
Renamed getFullSourceLoc() -> getFullLoc().
...
llvm-svn: 44949
2007-12-12 18:46:37 +00:00
Ted Kremenek
d8bcfe27cc
Added method: Preprocessor::getFullSourceLoc. Used by clients of Preprocessor
...
to get a FullSourceLoc from a SourceLocation.
llvm-svn: 44948
2007-12-12 18:41:40 +00:00
Ted Kremenek
23e2085701
Renamed FullContextSourceLocation to FullSourceLoc.
...
llvm-svn: 44947
2007-12-12 18:32:04 +00:00
Ted Kremenek
8d03cf953b
Added utility static method to FullContextSourceLocation
...
for creating "invalid" location objects.
llvm-svn: 44946
2007-12-12 18:20:34 +00:00
Chris Lattner
83021e92ba
make it a bit more clear in what way the ivar is consistent.
...
llvm-svn: 44945
2007-12-12 18:19:52 +00:00
Chris Lattner
85332c7534
add an ivar_size() method that never returns -1.
...
llvm-svn: 44944
2007-12-12 18:19:33 +00:00
Ted Kremenek
ea6999a1a5
Constified a predicate method.
...
llvm-svn: 44943
2007-12-12 18:18:05 +00:00
Ted Kremenek
fd5e5c4704
Added class FullContextSourceLocation: a tuple class that
...
contains both a SourceLocation and its associated
SourceManager. This class is useful for argument passing to
functions that expect both objects.
llvm-svn: 44942
2007-12-12 18:16:46 +00:00
Chris Lattner
0f29d98419
simplify some code, bump j. This fixes the remaining test failures.
...
llvm-svn: 44941
2007-12-12 18:11:49 +00:00
Ted Kremenek
6f6ff37b04
Moved construction of TargetInfo objects out of the Driver
...
and into the "Basic" library. TargetInfo objects are now
constructed from triples by calling the static method
TargetInfo::CreateTargetInfo.
llvm-svn: 44940
2007-12-12 18:05:32 +00:00
Chris Lattner
dd2bffdd0b
handle the -1'ness of undefined lists
...
llvm-svn: 44939
2007-12-12 18:02:31 +00:00
Chris Lattner
061227aa59
unbreak the build. I'm still working on test failures.
...
llvm-svn: 44938
2007-12-12 17:58:05 +00:00
Chris Lattner
7354e6a50e
fix typo
...
llvm-svn: 44932
2007-12-12 08:17:45 +00:00
Chris Lattner
30d23e8289
more cleanups changing things like getInstanceVariables to iterators.
...
llvm-svn: 44930
2007-12-12 07:56:42 +00:00