| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402
|
|
|
|
|
|
| |
Patch by Sam Bishop!
llvm-svn: 48357
|
|
|
|
| |
llvm-svn: 48080
|
|
|
|
|
|
|
| |
Rename Directives.cpp -> PPDirectives.cpp since it implements part of the
Preprocessor class.
llvm-svn: 48078
|
|
|
|
| |
llvm-svn: 48076
|
|
|
|
|
|
| |
MacroArgs.cpp/h
llvm-svn: 48075
|
|
|
|
| |
llvm-svn: 48073
|
|
|
|
|
|
| |
token streams and macro lexing, so a more generic name is useful.
llvm-svn: 48071
|
|
|
|
| |
llvm-svn: 48068
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
theoretically useful, but not useful in practice. It adds a bunch of
complexity, and not much value. It's best to nuke it. One big advantage
is that it means the target interfaces will soon lose their SLoc arguments
and target queries can never emit diagnostics anymore (yay). Removing this
also simplifies some of the core preprocessor which should make it slightly
faster.
Ted, I didn't simplify TripleProcessor, which can now have at most one
triple, and can probably just be removed. Please poke at it when you have
time.
llvm-svn: 47930
|
|
|
|
| |
llvm-svn: 47553
|
|
|
|
| |
llvm-svn: 47551
|
|
|
|
|
|
|
| |
zero tokens. This fixes PR2045, thanks to Neil for finding another
incredibly subtle corner case :)
llvm-svn: 47203
|
|
|
|
|
|
| |
have no plans to actually implement this construct, it is cleaner to limit the change to the preprocessor.
llvm-svn: 46973
|
|
|
|
| |
llvm-svn: 46935
|
|
|
|
|
|
| |
- Change handling of __w64 to a built-in macro.
llvm-svn: 46864
|
|
|
|
|
|
| |
keywords to predefined macros. This removes some of the MS-madness from Parser::ParseDeclarationSpecifiers().
llvm-svn: 46852
|
|
|
|
|
|
|
| |
which pastes together a comment. This is only enabled with
-fms-extensions of course.
llvm-svn: 46845
|
|
|
|
|
|
| |
constructs used in "windows.h".
llvm-svn: 46838
|
|
|
|
| |
llvm-svn: 46629
|
|
|
|
|
|
| |
line of the file, in the common case where a file ends with a newline.
llvm-svn: 46335
|
|
|
|
|
|
| |
noticing this!
llvm-svn: 46256
|
|
|
|
|
|
|
|
| |
#include<iostream>.
Patch provided by Sam Bishop.
llvm-svn: 45962
|
|
|
|
|
|
|
|
|
|
|
|
| |
incorrectly apply the multiple include optimization to files with
guards like:
#if !defined(x) MACRO
where MACRO could expand to different things in different contexts.
Thanks Neil!
llvm-svn: 45716
|
|
|
|
| |
llvm-svn: 45682
|
|
|
|
|
|
| |
discussion of this change.
llvm-svn: 45410
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SourceManager is passed by reference, allowing the SourceManager to be
associated with a specific translation unit, and not the entire execution
of the driver.
Modified all users of Diagnostics to comply with this new interface.
Integrated SourceManager as a member variable of TargetInfo. TargetInfo will
eventually be associated with a single translation unit (just like
SourceManager).
Made the SourceManager reference in ASTContext private. Provided accessor
getSourceManager() for clients to use instead. Modified clients to comply with
new interface.
llvm-svn: 44878
|
|
|
|
|
|
| |
info of each token.
llvm-svn: 44741
|
|
|
|
|
|
| |
Neil, please review this fix.
llvm-svn: 44285
|
|
|
|
| |
llvm-svn: 44178
|
|
|
|
|
|
| |
number (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) to target Leopard. This is only a short term solution, until the clang driver implements the "-mmacosx-version-min" flag (which will compute this value based on the target).
llvm-svn: 43981
|
|
|
|
|
|
|
|
|
|
|
|
| |
long standing FIXME in Sema::GetObjcIdType()).
This removes several gross hacks to work around the previous "lazy" behavior.
Two notes:
- MinimalActions still needs to be taught about the built-in types (This breaks one of the -noop test cases). I started this, then added a FIXME.
- I didn't convert Sema::GetObjcProtoType() yet.
llvm-svn: 43567
|
|
|
|
|
|
| |
I need to (finally) change the way Class/id/SEL/IMP are built-in...the current approach of doing it in the preprocessor is "broken". The other problem is Sema::GetObjcIdType/GetObjcSelType/GetObjcClassType, the hooks that initialize ASTContext lazily. These built-in types need to be done up front...
llvm-svn: 43557
|
|
|
|
| |
llvm-svn: 43543
|
|
|
|
|
|
| |
generate these declaration on the fly when rewriting a message expression.
llvm-svn: 43529
|
|
|
|
| |
llvm-svn: 43505
|
|
|
|
| |
llvm-svn: 43285
|
|
|
|
|
|
|
| |
- Add setter/getter to ObjcClassDecl.
- Predefined key runtime functions.
llvm-svn: 43257
|
|
|
|
|
|
| |
goodies from the respective test files. Moving forward, it will be very nice to assume these builtin!
llvm-svn: 43077
|
|
|
|
|
|
| |
place and making it correctly parameterized on the target.
llvm-svn: 42830
|
|
|
|
| |
llvm-svn: 42819
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
predefined macros. Previously, these were handled by the driver,
now they are handled by the preprocessor.
Some fallout of this:
1. Instead of preprocessing two buffers (the predefines, then the
main source file) we now start preprocessing the main source
file and inject the predefines as a "psuedo #include" from the
main source file.
2. #1 allows us to nuke the Lexer::IsMainFile flag and simplify
Preprocessor::isInPrimaryFile.
3. The driver doesn't have to know about standard #defines, the
preprocessor knows, which is nice for people wanting to define
their own drivers.
4. This allows us to put normal tokens in the predefine buffer,
for example a definition for __builtin_va_list that is
target-specific, and a typedef for id in objc.
llvm-svn: 42818
|
|
|
|
| |
llvm-svn: 42799
|
|
|
|
|
|
|
|
|
| |
Now instead of IdentifierInfo knowing anything about MacroInfo,
only the preprocessor knows. This makes MacroInfo truly private
to the Lex library (and its direct clients) instead of being
accessed in the Basic library.
llvm-svn: 42727
|
|
|
|
| |
llvm-svn: 42726
|
|
|
|
|
|
| |
so that we don't emit an error on the #endif. Suggestion by Neil.
llvm-svn: 42258
|
|
|
|
| |
llvm-svn: 41686
|
|
|
|
| |
llvm-svn: 40450
|