Commit Graph

160 Commits

Author SHA1 Message Date
Ted Kremenek
028f9d0561 Remove rest of Makefile build except for 'docs' and 'www'.
For 'docs' and 'www' it is possible these are still being used,
as they work independent of the Makefile build.  Keeping them for now.

Swift SVN r14418
2014-02-26 22:21:25 +00:00
John McCall
272a81cc4e Add the SuccessorMap data structure.
A successor map is a somewhat targetted data structure which
is designed to give you the value for the lowest key that is
larger than the lookup key.

This is useful when applying a transformation that isn't
entirely one-to-one but where we nonetheless want to preserve
the original order as much as possible, e.g. when IR-genning
SILFunctions.

Swift SVN r14199
2014-02-21 02:22:00 +00:00
Argyrios Kyrtzidis
e7b15e3a7f [unittests] Link libswiftBasic to its unit tests.
Swift SVN r10041
2013-11-08 18:29:37 +00:00
Argyrios Kyrtzidis
44d46de7c9 Use swift::SourceManager's addNewSourceBuffer() instead of llvm::SourceMgr's AddNewSourceBuffer().
Also remove the SourceLoc parameter from addNewSourceBuffer(). In llvm::SourceMgr
it is used to indicate textual inclusion, which we don't have in swift.

Swift SVN r10014
2013-11-07 00:51:56 +00:00
Dmitri Hrybenko
5a88513e71 Don't link to curses library explicitly
LLVM build system has been fixed to pass down this linker flag automatically.


Swift SVN r7048
2013-08-08 17:46:52 +00:00
Dmitri Hrybenko
b1f6da2837 Add some tests for SourceManager routines that compare SourceLocs and SourceRanges
Swift SVN r7002
2013-08-07 21:32:19 +00:00
Adrian Prantl
1a0875bc3f Add curses library to the unit tests.
Swift SVN r6996
2013-08-07 20:24:22 +00:00
Argyrios Kyrtzidis
120ce20613 [cmake] Add 'Swift' prefix to unit test targets to avoid conflicts from clang targets.
Swift SVN r5937
2013-07-01 18:25:23 +00:00
Chris Lattner
fec44b22c7 silence signed comparison warnings.
Swift SVN r5923
2013-07-01 16:14:34 +00:00
Dmitri Hrybenko
f73d866d91 Implement delayed parsing for function bodies
In order to do this, we need to save and restore parser state easily.  The
important pieces of state are:

* lexer position;
* lexical scope stack.

Lexer position can be saved/restored easily.  We don't need to store the tokens
for the function body because swift does not have a preprocessor and we can
easily re-lex everything we need.  We just store the lexer state for the
beginning and the end of the body.

To save the lexical scope stack, we had to change the underlying data
structure.  Originally, the parser used the ScopedHashTable, which supports
only a stack of scopes.  But we need a *tree* of scopes.  I implemented
TreeScopedHashTable based on ScopedHashTable.  It has an optimization for
pushing/popping scopes in a stack fashion -- these scopes will not be allocated
on the heap.  While ‘detached’ scopes that we want to re-enter later, and all
their parent scopes, are moved to the heap.

In parseIntoTranslationUnit() we do a second pass over the 'structural AST'
that does not contain function bodies to actually parse them from saved token
ranges.


Swift SVN r5886
2013-06-28 22:38:10 +00:00