| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
and into the "Basic" library. TargetInfo objects are now
constructed from triples by calling the static method
TargetInfo::CreateTargetInfo.
llvm-svn: 44940
|
|
|
|
| |
llvm-svn: 44930
|
|
|
|
|
|
| |
to some classes and use iterators instead.
llvm-svn: 44927
|
|
|
|
| |
llvm-svn: 44911
|
|
|
|
|
|
|
| |
into the loop that processes input files. These will soon become translation
unit specific (with the exception of LangOptions).
llvm-svn: 44893
|
|
|
|
| |
llvm-svn: 44888
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SourceManager*'s instead of SourceManager&'s. This allows the client specify a
NULL SourceManager when using a default constructed SourceLocation. Thus the
SourceManager can be NULL when the SourceLocation's isValid() == false.
The interface to most clients of Diagnostic remains the same.
Diagnostic::Report() is overload to either accept a SourceLocation and a
SourceManager&, or neither. Thus clients that do not have a SourceManager
cannot specify a SourceLocation.
Modified TextDiagnostics* to use this new interface.
Modified the driver to not passed in SourceManager when warning about "-I-".
llvm-svn: 44887
|
|
|
|
|
|
|
| |
Re-implemented some of rewriting of protocol-qualified function
argument types to support it in its generality.
llvm-svn: 44886
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
general use.
llvm-svn: 44876
|
|
|
|
| |
llvm-svn: 44845
|
|
|
|
|
|
| |
used by CGBuiltin.cpp
llvm-svn: 44748
|
|
|
|
|
|
|
|
| |
not the start of a logical line. Be careful about this distinction, which
affects when newlines are printed and when paste-avoidance happens, etc.
This fixes PR1848, thanks to Neil for noticing this!
llvm-svn: 44743
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This would cause us to emit different code (in -E mode) for these two files:
---
#define t(x) x
t(a
3)
---
#define t(x) x
t(a
3)
---
In one case, -E would print "a\n3", in the other it printed "a3". Now
it prints "a3" for both.
This is part of PR1848.
llvm-svn: 44742
|
|
|
|
| |
llvm-svn: 44731
|
|
|
|
| |
llvm-svn: 44712
|
|
|
|
|
|
|
|
| |
This allows us to access a superclasses ivars without deriving the absolute path.
The comments below say a bit more...
llvm-svn: 44688
|
|
|
|
|
|
| |
type.
llvm-svn: 44685
|
|
|
|
| |
llvm-svn: 44681
|
|
|
|
|
|
| |
the front-end.
llvm-svn: 44673
|
|
|
|
|
|
| |
to rewriter (my previous patch).
llvm-svn: 44665
|
|
|
|
|
|
|
|
|
| |
GetLanguage, and InitializeLangOptions. The goal is to break up this logic
into atomic units of functionality that can later be refactored into better
driver logic that is capable of handling a mixture of source files of
different languages.
llvm-svn: 44642
|
|
|
|
| |
llvm-svn: 44639
|
|
|
|
|
|
| |
class to serialize and deserialize translation units.
llvm-svn: 44634
|
|
|
|
|
|
| |
Need to query the implementation, not the interface...
llvm-svn: 44633
|
|
|
|
|
|
|
| |
for serializing/deserializing ASTs that is decoupled from the logic
in SerializationTest (which will soon be rewritten to use this interface).
llvm-svn: 44631
|
|
|
|
|
|
|
| |
Modified: ctor of SerializationTest: Now takes LangOptions argument. We
will eventually serialize this as well.
llvm-svn: 44630
|
|
|
|
| |
llvm-svn: 44622
|
|
|
|
|
|
|
|
| |
deserialized ASTs into the function CreateASTConsumer(). This function
is called by ProcessInputFile, and soon the logic that processes deserialized
ASTs.
llvm-svn: 44618
|
|
|
|
|
|
|
|
| |
definition of
"struct objc_super".
llvm-svn: 44616
|
|
|
|
| |
llvm-svn: 44592
|
|
|
|
| |
llvm-svn: 44588
|
|
|
|
| |
llvm-svn: 44583
|
|
|
|
| |
llvm-svn: 44580
|
|
|
|
| |
llvm-svn: 44577
|
|
|
|
|
|
|
| |
any alternative targets at this point other than "darwin," so we now default to
Darwin targets (for now).
llvm-svn: 44572
|
|
|
|
| |
llvm-svn: 44561
|
|
|
|
|
|
|
|
|
|
|
| |
we default to "i386-apple-darwin". This is an interim solution.
Removed processing of "linux" triples from Targets.cpp, since we don't have
any sensical Linux target support (yet).
Cleaned up error processing of targets; added better diagnostics.
llvm-svn: 44560
|
|
|
|
| |
llvm-svn: 44556
|
|
|
|
|
|
| |
SerializationTest (subclass of ASTConsumer) now takes Diagnostics& in its ctor.
llvm-svn: 44555
|
|
|
|
|
|
| |
syntax.
llvm-svn: 44553
|
|
|
|
|
|
|
|
|
| |
http://llvm.org/viewvc/llvm-project?view=rev&revision=44551
Removed debugging fprintfs for printing targets.
Implemented error messages when processing invalid targets.
llvm-svn: 44552
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
replaces the functionality previously provided by just "-arch" (which is still
supported but has different semantics).
The new behavior is as follows:
(1) If the user does not specify -triple:
(a) If no -arch options are specified, the target triple used is the host
triple (in llvm/Config/config.h).
(b) If one or more -arch's are specified (and no -triple), then there is
one triple for each -arch, where the specified arch is substituted
for the arch in the host triple. Example:
host triple = i686-apple-darwin9
command: clang -arch ppc -arch ppc64 ...
triples used: ppc-apple-darwin9 ppc64-apple-darwin9
(2) The user does specify a -triple (only one allowed):
(a) If no -arch options are specified, the triple specified by -triple
is used. E.g clang -triple i686-apple-darwin9
(b) If one or more -arch options are specified, then the triple specified
by -triple is used as the primary target, and the arch's specified
by -arch are used to create secondary targets. For example:
clang -triple i686-apple-darwin9 -arch ppc -arch ppc64
has the following targets:
i686-apple-darwin9 (primary target)
ppc-apple-darwin9
ppc64-apple-darwin9
Other changes related to the changes to the driver:
- TargetInfoImpl now includes the triple string.
- TargetInfo::getTargetTriple returns the triple for its primary target.
- test case test/Parser/portability.c has been updated because "-arch linux" is
no longer valid ("linux" is an OS, not an arch); instead we use a bogus
architecture "bogusW16W16" where WCharWidth=16 and WCharAlign=16.
llvm-svn: 44551
|
|
|
|
| |
llvm-svn: 44550
|
|
|
|
| |
llvm-svn: 44548
|
|
|
|
|
|
| |
(Also fixed a regression caused by recent changes to synthesis of structs).
llvm-svn: 44540
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
t.c:3322:5: warning: cannot codegen this yet
__asm__ ("bswap %0" : "+r" (_data));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
instead of:
Unimplemented stmt!
(AsmStmt 0x80eaa0 <t.c:3331:5, line:3334:28>)
llvm-svn: 44501
|
|
|
|
| |
llvm-svn: 44499
|
|
|
|
|
|
|
|
|
|
|
|
| |
rewriter emit this error if it fails to rewrite an @encode:
t.m:17:9: error: rewriter could not replace sub-expression due to macros
c = ENC(char *)[2] + 4;
^~~~~~~~~~~
... where ENC is: #define ENC @encode
llvm-svn: 44498
|
|
|
|
|
|
|
|
| |
that are builtin and those that are aren't. This is a bunch
of API refactoring that will make this possible, but there is
no functionality change yet.
llvm-svn: 44473
|