summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
* pic16 preproc defs.Sanjiv Gupta2009-07-071-0/+5
| | | | llvm-svn: 74893
* More tweaks to types for OpenBSD. Patch by Jonathan Gray.Eli Friedman2009-07-051-1/+14
| | | | llvm-svn: 74805
* Per PR4506, fix the type of size_t on OpenBSD.Eli Friedman2009-07-051-1/+12
| | | | llvm-svn: 74795
* Add an intermediate typedef for __builtin_va_tag to make it a bit easier Eli Friedman2009-07-031-1/+2
| | | | | | | to deal with for AST pretty-printing/rewriting. Patch by Abramo Bagnara. llvm-svn: 74752
* Two fixes to make Clang build on Visual C++ (again), from Alisdair Meredith.Douglas Gregor2009-07-011-5/+5
| | | | llvm-svn: 74606
* Fix for PR4192: fix the definition of int64_t on x86_64 Linux.Eli Friedman2009-07-012-2/+16
| | | | | | | | | | | | | 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; llvm-svn: 74583
* Reapply r74532, and inherit from OSTargetInfo instead of from Target.Torok Edwin2009-06-301-353/+183
| | | | | | 'make test' passes now. llvm-svn: 74539
* Revert 74532 till I figure out why it breaks a bunch of tests.Torok Edwin2009-06-301-183/+353
| | | | llvm-svn: 74536
* Use templates instead of creating a new class for each OS/Target combination.Torok Edwin2009-06-301-353/+183
| | | | | | | | 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. llvm-svn: 74532
* Key decisions about 'bool' vs '_Bool' to be based on a new flag in langoptions.Chris Lattner2009-06-301-1/+1
| | | | | | | | | | | | 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. llvm-svn: 74493
* Use true/false instead of 1/0.Daniel Dunbar2009-06-291-4/+4
| | | | llvm-svn: 74479
* Don't define __KPRINTF_ATTRIBUTE__ unconditionally on OpenBSD.Daniel Dunbar2009-06-291-1/+0
| | | | llvm-svn: 74467
* OpenBSD support.Daniel Dunbar2009-06-291-0/+46
| | | | | | - Patch by Jonathan Gray! llvm-svn: 74453
* Make the StackProtector bitfield use enums instead of obscure numbers.Bill Wendling2009-06-281-1/+1
| | | | llvm-svn: 74414
* Add stack protector support to clang. This generates the 'ssp' and 'sspreq'Bill Wendling2009-06-281-3/+6
| | | | | | | | 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. llvm-svn: 74405
* OpenCL 1.0 Support: support "bool, true, false" tokens when compiling for OpenCLNate Begeman2009-06-251-1/+3
| | | | llvm-svn: 74224
* Fix column checking for SourceManager::getLocation().Argyrios Kyrtzidis2009-06-251-1/+1
| | | | llvm-svn: 74194
* fix the type of wchar_t for windows, PR4417Chris Lattner2009-06-241-1/+1
| | | | llvm-svn: 74083
* Fix warning when building w/o asserts.Daniel Dunbar2009-06-231-0/+1
| | | | llvm-svn: 74020
* Introduce SourceManager::ísBeforeInTranslationUnit() which can compare 2 ↵Argyrios Kyrtzidis2009-06-231-0/+100
| | | | | | source locations and determine which one comes before the other, relative to the translation unit. llvm-svn: 74014
* __APPLE_CC__ should only be set when building for darwin targets.Chris Lattner2009-06-231-0/+1
| | | | llvm-svn: 73934
* In SourceManager::createFileID missed setting ContentCache's FirstFID in ↵Argyrios Kyrtzidis2009-06-231-1/+4
| | | | | | another place. llvm-svn: 73931
* Slight modification to column checking inside SourceManager::getLocation().Argyrios Kyrtzidis2009-06-201-6/+6
| | | | llvm-svn: 73826
* Introduce SourceManager::getLocation() to get a source location out of a ↵Argyrios Kyrtzidis2009-06-201-1/+41
| | | | | | "file:line:column" triplet. llvm-svn: 73823
* follow-on to my patch: some targets (like sparc) do notChris Lattner2009-06-161-0/+2
| | | | | | | have target-specific builtins, and do not set the count. Just default to 0 for these targets. llvm-svn: 73510
* my refactoring of builtins changed target-specific builtins to only beChris Lattner2009-06-161-4/+5
| | | | | | | | | registered when PCH wasn't being used. We should always install (in BuiltinInfo) information about target-specific builtins, but we shouldn't register any builtin identifier infos. This fixes the build of apps that use PCH and target specific builtins together. llvm-svn: 73492
* Base SFINAE error suppression counting on the class of an error, notDouglas Gregor2009-06-151-1/+1
| | | | | | its (possibly-remapped) diagnostics. Thanks, Chris! llvm-svn: 73390
* Update LLVM.Douglas Gregor2009-06-141-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for C++ Substitution Failure Is Not An Error (SFINAE), which says that errors that occur during template argument deduction do *not* produce diagnostics and do not necessarily make a program ill-formed. Instead, template argument deduction silently fails. This is currently implemented for template argument deduction during matching of class template partial specializations, although the mechanism will also apply to template argument deduction for function templates. The scheme is simple: - If we are in a template argument deduction context, any diagnostic that is considered a SFINAE error (or warning) will be suppressed. The error will be propagated up the call stack via the normal means. - By default, all warnings and errors are SFINAE errors. Add the NoSFINAE class to a diagnostic in the .td file to make it a hard error (e.g., for access-control violations). Note that, to make this fully work, every place in Sema that emits an error *and then immediately recovers* will need to check Sema::isSFINAEContext() to determine whether it must immediately return an error rather than recovering. llvm-svn: 73332
* Sink the BuiltinInfo object from ASTContext into theChris Lattner2009-06-141-6/+4
| | | | | | | | preprocessor and initialize it early in clang-cc. This ensures that __has_builtin works in all modes, not just when ASTContext is around. llvm-svn: 73319
* move the various builtins stuff from libast to libbasic. ThisChris Lattner2009-06-143-5/+99
| | | | | | fixes a layering violation in lib/Basic/Targets.cpp. llvm-svn: 73318
* Add stack alignment to x86_64 target data.Daniel Dunbar2009-06-081-1/+1
| | | | | | | - <rdar://problem/6948443> WARNING: Linking two modules of different data layouts! llvm-svn: 73093
* Minor tweaks to the Windows target.Eli Friedman2009-06-081-0/+4
| | | | llvm-svn: 73083
* PR4346: add "R" asm register constraint.Eli Friedman2009-06-081-0/+1
| | | | llvm-svn: 73081
* Misc minor fixes for clang for the Windows target.Eli Friedman2009-06-081-3/+12
| | | | llvm-svn: 73050
* Remove dead code: 'NewEntry' is not used.Zhongxing Xu2009-06-071-3/+0
| | | | llvm-svn: 73027
* Move CharIsSigned from TargetInfo to LangOptions.Eli Friedman2009-06-052-4/+9
| | | | llvm-svn: 72928
* Move a couple Darwin-specific defines into getDarwinDefines.Eli Friedman2009-06-041-0/+5
| | | | llvm-svn: 72900
* Back out r72764; I should have looked more carefully before committing Eli Friedman2009-06-031-7/+0
| | | | | | this. The correct replacement for "Y" and "Yt" is "x". llvm-svn: 72765
* PR3678: Add support for "Yt" asm register constraint.Eli Friedman2009-06-031-0/+7
| | | | llvm-svn: 72764
* Add floating point details to PIC16 Target.Sanjiv Gupta2009-06-021-1/+11
| | | | llvm-svn: 72713
* Add a couple missing ARM defines.Eli Friedman2009-05-291-0/+2
| | | | llvm-svn: 72583
* A few more tweaks for Solaris; please correct me if it's wrong somehow.Eli Friedman2009-05-221-7/+10
| | | | llvm-svn: 72240
* Improve target support for Solaris.Douglas Gregor2009-05-211-4/+42
| | | | llvm-svn: 72237
* Avoid potential out-of-bounds access in SourceManager::getLineNumber.Daniel Dunbar2009-05-181-1/+13
| | | | | | - Chris, please see added FIXMEs. llvm-svn: 72019
* Targets without long long should reduce the size of intmax_t Eli Friedman2009-05-161-0/+2
| | | | | | accordingly. llvm-svn: 71966
* Provide dummy va_list typedef for msp430Anton Korobeynikov2009-05-081-1/+1
| | | | llvm-svn: 71233
* Handle -march for the LLVM recognized cpu names.Daniel Dunbar2009-05-061-10/+35
| | | | | | | - x86 target feature handling should not be feature complete, even if the code quality is lacking. llvm-svn: 71123
* More x86 target feature support.Daniel Dunbar2009-05-061-4/+58
| | | | | | | | | | | | | | | | | | - Apologies for the extremely gross code duplication, I want to get this working and then decide how to get this information out of the back end. - This replaces -m[no-]sse4[12] by -m[no-]sse4, it appears gcc doesn't distinguish them? - -msse, etc. now properly disable/enable related features. - Don't always define __SSE3__... - The main missing functionality bit here is that we don't initialize the features based on the CPU for all -march options. llvm-svn: 71117
* Tweak x86 -mcpu defaults.Daniel Dunbar2009-05-061-0/+3
| | | | | | | | | - Default to yonah on Darwin (to get SSE3). - Default to Pentium4 (32-bit) and x86-64 (64-bit) on non-Darwin. Welcome to the 21st century. llvm-svn: 71069
* Fix rdar://6860124 - invalid input constraint 'J' in asmChris Lattner2009-05-061-1/+9
| | | | | | | This recognizes all the target-independent constant constraints that have target-specific meanings. llvm-svn: 71064
OpenPOWER on IntegriCloud