aboutsummaryrefslogtreecommitdiff
path: root/lib/Basic
AgeCommit message (Collapse)Author
2009-09-14ARM target tweaks.Daniel Dunbar
- Change TargetData string to match llvm-gcc. - Some -target-abi support for 'apcs-gnu', most importantly the alignment of double and long long changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81732 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11Swizzle the target triple based on -mthumb, and update clang-cc to recognizeDaniel Dunbar
thumb-foo-bar as an ARM target. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81497 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09Remove tabs, and whitespace cleanups.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-05Replace some instances of std::string with StringRefs.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81079 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-03Add basic support for -pthread.Daniel Dunbar
- Patch by David Chisnall, with PCH and Darwin support mixed in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80883 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26Improve diagnostics and recovery when the nested-name-specifier of aDouglas Gregor
qualified name does not actually refer into a class/class template/class template partial specialization. Improve printing of nested-name-specifiers to eliminate redudant qualifiers. Also, make it possible to output a nested-name-specifier through a DiagnosticBuilder, although there are relatively few places that will use this leeway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80056 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Remove TargetInfo::getTargetPrefix().Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79907 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Switch TargetInfo to store an llvm::Triple.Daniel Dunbar
- Primarily to discourage clients form making decisions based on the string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79901 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23API changes to match llvm ToT.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79868 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23Replace cerr with errs().Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79854 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23Don't install Clang libraries.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79824 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Issue an error if the user specifies parameters in a function marked as ISR.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Add TCE target to clang; patch by Mikael Lepistö.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79462 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Switch to SmallString::str from SmallString::c_str.Daniel Dunbar
- Several FIXMEs due to non-Twinification of IRBuilder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79455 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Convert CreateTargetInfo to use a Triple instead of manul string munging.Daniel Dunbar
- Patch by Yonggang Luo (with some formatting tweaks by Eli and myself). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79320 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Support compilation for the blackfin back-endJakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79271 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12improve path handling, patch by Baptiste Lepilleur!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78824 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12use the new llvm::Triple parsing stuffola for handling darwin version #'s.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10fix a couple of problems with section attributes:Chris Lattner
1. Passing something that isn't a string used to cause: "argument to annotate attribute was not a string literal" make it say "section attribute" instead. 2. Fix the location of the above message to point to the bad argument instead of the section token. 3. Implement rdar://4341926, by diagnosing invalid section specifiers in the frontend rather than letting them slip all the way to the assembler (a QoI win). An example of #3 is that we used to produce something like this: /var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Expected comma after segment-name /var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Rest of line ignored. 1st junk character valued 46 (.). Daniel improved clang to use llvm_report_error, so now we got: $ clang t.c -c fatal error: error in backend: Global variable 'x' has an invalid section specifier 'sadf': mach-o section specifier requires a segment and section separated by a comma. with no loc info. Now we get: $ clang t.c -fsyntax-only t.c:4:30: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment and section separated by a comma int x __attribute__((section("sadf"))); ^ which is nice :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Add armv7 support.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78092 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-16Hook in s390x stuff into clangAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76099 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-16codegen string literals using private linkage now like llvm-gcc, eliminatingChris Lattner
some target hooks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75895 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-14Basic support for C++0x unicode types. Support for literals will follow in ↵Alisdair Meredith
an incremental patch git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75622 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-13add netbsd support, patch by Krister Kalfridsson!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75492 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-12add push/pop semantics for diagnostics. Patch by Louis Gerbarg!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-08Correct FreeBSD target info, fixing PR4514.Duncan Sands
Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75003 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07pic16 preproc defs.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-05More tweaks to types for OpenBSD. Patch by Jonathan Gray.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-05Per PR4506, fix the type of size_t on OpenBSD.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-03Add an intermediate typedef for __builtin_va_tag to make it a bit easier Eli Friedman
to deal with for AST pretty-printing/rewriting. Patch by Abramo Bagnara. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74752 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-01Two fixes to make Clang build on Visual C++ (again), from Alisdair Meredith.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74606 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-01Fix for PR4192: fix the definition of int64_t on x86_64 Linux.Eli Friedman
Note that I'm guessing that *BSD and Solaris do the same thing as Linux here, but it's quite possible I'm wrong; if the following testcase gives an error on x86-64 with gcc for any of those operating systems, please tell me: #include <stdint.h> int64_t x; long x; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30Reapply r74532, and inherit from OSTargetInfo instead of from Target.Torok Edwin
'make test' passes now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74539 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30Revert 74532 till I figure out why it breaks a bunch of tests.Torok Edwin
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74536 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30Use templates instead of creating a new class for each OS/Target combination.Torok Edwin
This unifies all the targets supported by an OS into a template. It also cleans up the differences between the darwin targets. Also __LP64__ wasn't needed for *BSD, since x86-64 target defines it anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74532 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30Key decisions about 'bool' vs '_Bool' to be based on a new flag in langoptions.Chris Lattner
This is simple enough, but then I thought it would be nice to make PrintingPolicy get a LangOptions so that various things can key off "bool" and "C++" independently. This spiraled out of control. There are many fixme's, but I think things are slightly better than they were before. One thing that can be improved: CFG should probably have an ASTContext pointer in it, which would simplify its clients. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74493 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29Use true/false instead of 1/0.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74479 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29Don't define __KPRINTF_ATTRIBUTE__ unconditionally on OpenBSD.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29OpenBSD support.Daniel Dunbar
- Patch by Jonathan Gray! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74453 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-28Make the StackProtector bitfield use enums instead of obscure numbers.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74414 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-28Add stack protector support to clang. This generates the 'ssp' and 'sspreq'Bill Wendling
function attributes. There are predefined macros that are defined when stack protectors are used: __SSP__=1 with -fstack-protector and __SSP_ALL__=2 with -fstack-protector-all. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74405 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25OpenCL 1.0 Support: support "bool, true, false" tokens when compiling for OpenCLNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74224 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Fix column checking for SourceManager::getLocation().Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74194 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24fix the type of wchar_t for windows, PR4417Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23Fix warning when building w/o asserts.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74020 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23Introduce SourceManager::ísBeforeInTranslationUnit() which can compare 2 ↵Argyrios Kyrtzidis
source locations and determine which one comes before the other, relative to the translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74014 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23__APPLE_CC__ should only be set when building for darwin targets.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23In SourceManager::createFileID missed setting ContentCache's FirstFID in ↵Argyrios Kyrtzidis
another place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73931 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Slight modification to column checking inside SourceManager::getLocation().Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73826 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Introduce SourceManager::getLocation() to get a source location out of a ↵Argyrios Kyrtzidis
"file:line:column" triplet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73823 91177308-0d34-0410-b5e6-96231b3b80d8