summaryrefslogtreecommitdiffstats
path: root/clang/Basic
Commit message (Collapse)AuthorAgeFilesLines
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-1510-2787/+0
| | | | | | | | | | 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
* Add support for the 'N' constraint.Anders Carlsson2008-03-101-1/+3
| | | | llvm-svn: 48185
* Add some missing #includes for GCC mainline, patch by Shantonu Sen!Chris Lattner2008-03-101-0/+1
| | | | llvm-svn: 48153
* Handle the 'n' constraintAnders Carlsson2008-03-091-0/+1
| | | | llvm-svn: 48091
* make float format handling more regular.Chris Lattner2008-03-081-16/+10
| | | | llvm-svn: 48052
* simplify all the type info accessors in TargeTInfo to return scalars,Chris Lattner2008-03-081-14/+6
| | | | | | which is simpler to use and provide. llvm-svn: 48051
* eliminate the TargetInfoImpl stuff, simplifying the target implementations.Chris Lattner2008-03-082-85/+29
| | | | llvm-svn: 48049
* eliminate ComputeWCharInfo.Chris Lattner2008-03-081-7/+8
| | | | llvm-svn: 48048
* remove the source location arguments to various target query methods.Chris Lattner2008-03-052-54/+4
| | | | llvm-svn: 47954
* Remove the first layer of support for "portability" warnings. This is Chris Lattner2008-03-053-262/+36
| | | | | | | | | | | | | | | 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
* move this into the right file.Chris Lattner2008-03-052-6/+6
| | | | llvm-svn: 47925
* TargetInfo objects now own the TargetInfoImpl objects they refer to.Ted Kremenek2008-03-041-0/+7
| | | | | | | TargetInfo::AddSecondaryTarget is now private, as it is only used during object construction. llvm-svn: 47891
* A, q and Z are valid LLVM inline asm constraints.Lauro Ramos Venancio2008-02-271-5/+0
| | | | | | Fix regression in Applications/ClamAV/clamscan. llvm-svn: 47673
* Convert x86 target specific inline asm constraints to LLVM.Lauro Ramos Venancio2008-02-262-1/+38
| | | | llvm-svn: 47609
* In FileManager: use full paths to unique files and directories on Windows,Ted Kremenek2008-02-241-8/+106
| | | | | | | | since inodes are bogus abstraction on that platform. Patch by Argiris Kirtzidis! llvm-svn: 47535
* Added classes SolarisTargetInfo andGabor Greif2008-02-211-0/+67
| | | | | | | | | | | | | | | | | | SolarisSparcV8TargetInfo to be able to handle "sparc-" triple prefixes. Please be aware that this is a minimal kludge, that pretty much duplicates the features of DarwinPowerPCTargetInfo, and also incorrectly uses stuff from the PPC namespace. But in result "make test" now passes a lot of tests, the notable exceptions being the objc rewrite tests and mandel.c. llvm-svn: 47436
* fix the second half of PR2041: __restrict is ok in c90 mode, even ifChris Lattner2008-02-191-2/+4
| | | | | | restrict isn't. llvm-svn: 47316
* Add more supported constraints.Anders Carlsson2008-02-182-0/+3
| | | | llvm-svn: 47270
* Change alignment for doubles to 32 bits which is what X86 has.Anders Carlsson2008-02-171-1/+2
| | | | llvm-svn: 47234
* Even more inline asm codegen fixes.Anders Carlsson2008-02-061-4/+9
| | | | llvm-svn: 46784
* Handle the memory clobber.Anders Carlsson2008-02-051-0/+3
| | | | llvm-svn: 46780
* Fix PR1966 by ignoring non-error diagnostics from system headers even if ↵Chris Lattner2008-02-031-4/+10
| | | | | | | | they are *mapped* onto errors. llvm-svn: 46686
* the macro start and macro end bits in source location are dead, remove them.Chris Lattner2008-02-031-2/+2
| | | | llvm-svn: 46685
* Don't add an extra line to the end of the buffer, it doesn't really exist.Chris Lattner2008-01-241-1/+0
| | | | llvm-svn: 46330
* Fix the __SIZE_TYPE__ definition on x86_32. This fixes the alloca.c (wget ↵Lauro Ramos Venancio2008-01-201-1/+2
| | | | | | 1.10.2) compilation. llvm-svn: 46196
* Fix misspelling of "existent".Ted Kremenek2008-01-111-21/+21
| | | | | | | | Do not use std::cerr; use llvm::cerr instead. Patch provided by Sam Bishop! llvm-svn: 45880
* Fixed 80-col violation.Ted Kremenek2008-01-111-2/+2
| | | | llvm-svn: 45845
* remove attribution from makefiles.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45412
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-299-18/+18
| | | | | | discussion of this change. llvm-svn: 45410
* Added storage of the FileID of the the main source file of a translation unitTed Kremenek2007-12-191-0/+4
| | | | | | in SourceManager. llvm-svn: 45225
* Refactored inode and device number into FileEntry, and changed theTed Kremenek2007-12-181-8/+5
| | | | | | ADT storing FileEntry's in FileManager from a map to a set. llvm-svn: 45184
* When serializing SourceManager, we now serialize out absolute pathsTed Kremenek2007-12-181-1/+13
| | | | | | to serialized source files. llvm-svn: 45183
* Added to FileEntry a pointer to the <dev_t,ino_t> pair for the file, andTed Kremenek2007-12-181-2/+8
| | | | | | accessors to FileEntry to query these values. llvm-svn: 45171
* Add hack to SourceManager to support missing source files duringTed Kremenek2007-12-131-4/+8
| | | | | | | 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
* Fix file header.Chris Lattner2007-12-131-1/+1
| | | | llvm-svn: 44983
* TargetInfo no longer includes a reference to SourceManager.Ted Kremenek2007-12-124-13/+54
| | | | | | | | | | | | | | | 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
* Moved construction of TargetInfo objects out of the DriverTed Kremenek2007-12-121-0/+731
| | | | | | | | and into the "Basic" library. TargetInfo objects are now constructed from triples by calling the static method TargetInfo::CreateTargetInfo. llvm-svn: 44940
* Modified the internals of Diagnostic and DiagnosticClient to useTed Kremenek2007-12-111-1/+1
| | | | | | | | | | | | | | | | 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
* Mega-patch: ripped SourceManager out of Diagnostic/DiagnosticClient. NowTed Kremenek2007-12-112-3/+4
| | | | | | | | | | | | | | | | | | 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
* Added newline to end of file.Ted Kremenek2007-12-101-1/+1
| | | | llvm-svn: 44797
* Add getTargetPrefix to TargetInfo, to be used with target specific intrinsics.Anders Carlsson2007-12-081-0/+7
| | | | llvm-svn: 44712
* Removed dependence on including iostream (use llvm/Support/Streams.h instead).Ted Kremenek2007-12-051-9/+9
| | | | llvm-svn: 44635
* Implemented serialization of LangOptions.Ted Kremenek2007-12-051-0/+58
| | | | llvm-svn: 44624
* Renamed SourceManager::Read to SourceManager::CreateAndRegister.Ted Kremenek2007-12-051-7/+18
| | | | | | | Now sourcemanager deserializer automatically self-registers itself with the deserializer. llvm-svn: 44591
* Implemented initial serialization support for SourceManager.Ted Kremenek2007-12-051-36/+118
| | | | llvm-svn: 44590
* Removed serialization of FileEntry and DirectoryEntry. This objects willTed Kremenek2007-12-041-32/+1
| | | | | | now be lazily recreated upon deserialization. llvm-svn: 44585
* Implemented serialization of SrcMgr::ContentCache.Ted Kremenek2007-12-041-0/+54
| | | | llvm-svn: 44578
* Implemented serialization of FileEntry and DirectoryEntry.Ted Kremenek2007-12-041-0/+33
| | | | llvm-svn: 44573
* Implemented initial support for "-triple" option to the clang driver. ThisTed Kremenek2007-12-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add support for custom client-specific diagnostics. As a testcase, make the Chris Lattner2007-12-021-5/+75
| | | | | | | | | | | | 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
OpenPOWER on IntegriCloud