summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
* Stop asserting in TargetInfo::validateInputConstraintDaniel Dunbar2008-08-251-4/+4
| | | | | | - Sema gives a perfectively nice error message on invalid constraints. llvm-svn: 55310
* Add dragonfly target support, patch by Sascha WildnerChris Lattner2008-08-231-0/+28
| | | | llvm-svn: 55241
* Add TargetInfo::useNeXTRuntimeAsDefaultDaniel Dunbar2008-08-231-0/+7
| | | | | | | | - Used to autoselect runtime when neither -fnext-runtime nor -fgnu-runtime is specified. - Default impl is false, all darwin targets set it to true. llvm-svn: 55231
* Remove duplicate define from Windows-x86 target.Eli Friedman2008-08-211-1/+0
| | | | llvm-svn: 55101
* Initial implementation of Windows x86 target; at the moment, the only Eli Friedman2008-08-211-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | difference from generic x86 is the defines. The rest is non-trivial to implement. I'm not planning on adding any more targets myself; if there are any targets anyone is currently using that are missing, feel free to add them, or ask me to add them. This concludes the work I'm planning for the TargetInfo implementations at the moment; all the other issues with TargetInfo require some API changes, and I haven't really thought it through. Some of the remaining issues: allowing targets to define size_t and wchar_t properly, adding some sort of __builtin_type_info intrinsic so we can finish clang's limits.h and float.h and get rid of a massive number of macro definitions, allowing target-specific command-line options, allowing target-specific defaults for certain command-line options like -fms-extensions, exposing vector alignment outside of the description string, exposing endianness outside of the description string, allowing targets to expose special bit-field layout requirements, exposing some sort of custom hook for call generation in CodeGen, and adding CPU selection to control defines like __SSE__. llvm-svn: 55098
* Add Linux x86-32 target.Eli Friedman2008-08-211-0/+26
| | | | llvm-svn: 55095
* First cut at OS detection, taking advantage of the new generic targets. Eli Friedman2008-08-212-15/+60
| | | | | | | | | | | | | This approach allows adding OS-specific targets/defines/etc. without completely breaking unknown subtargets. No new subtargets yet, although I plan to add x86-Linux soon. Others can add targets that they use as needed; adding a new subtarget takes very little code. Also does some fixups for description strings; a lot of them were unspecified. I think all the ones I added are correct, but they're unverified; corrections are welcome. llvm-svn: 55091
* Class reorg for PPC; shouldn't be any visible changes unless I messed Eli Friedman2008-08-201-190/+133
| | | | | | | | | up somehow. This concludes the series of reorg patches for the target implementations. llvm-svn: 55086
* Class reorg for ARM. Shouldn't be any visible changes.Eli Friedman2008-08-201-22/+27
| | | | llvm-svn: 55042
* Class hierarchy reorg for Sparc architecture. While I was there, I Eli Friedman2008-08-201-45/+43
| | | | | | | | cleaned it up a bit, including fixing the definition of va_list; this shouldn't break anything, but anyone using Sparc should watch for regressions. llvm-svn: 55041
* Reorganize the class hierarchy for x86 targets; shouldn't have any Eli Friedman2008-08-201-150/+140
| | | | | | | | | | visible effects, but this will significantly reduce the amount of boilerplate code necessary to add subtargets. If this looks okay, I'll do the rest of the processors (PPC, Sparc, ARM) soon. llvm-svn: 55036
* Fix PR2627, support for Q constraint.Chris Lattner2008-08-181-1/+2
| | | | llvm-svn: 54943
* Allow targets to override description string.Sanjiv Gupta2008-08-182-0/+3
| | | | llvm-svn: 54914
* Move some ObjC preprocessor definitions intoDaniel Dunbar2008-08-121-24/+0
| | | | | | | InitializePredefinedMacros(). - Also now properly wired to -fobjc-gc, -fnext-runtime. llvm-svn: 54661
* Add LangOptions::NeXTRuntime.Daniel Dunbar2008-08-111-1/+4
| | | | | | | | | - Wired to -fnext-runtime and -fgnu-runtime options. - Defaults to GNU, no autoselection for NeXT. Emit NeXT OBJC_IMAGE_INFO marker. llvm-svn: 54651
* More #include cleaningDaniel Dunbar2008-08-112-3/+0
| | | | | | | | | | | - Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. llvm-svn: 54632
* * Remove isInSystemHeader() from DiagClient, move it to SourceManagerNico Weber2008-08-103-20/+49
| | | | | | | | | | | | | | | | * Move FormatError() from TextDiagnostic up to DiagClient, remove now empty class TextDiagnostic * Make DiagClient optional for Diagnostic This fixes the following problems: * -html-diags (and probably others) does now output the same set of warnings as console clang does * nothing crashes if one forgets to call setHeaderSearch() on TextDiagnostic * some code duplication is removed llvm-svn: 54620
* Fix --html-diags in driver by delaying the construction of an ↵Ted Kremenek2008-08-071-5/+5
| | | | | | HTMLDiagnosticClient until after we have created the Preprocessor object. llvm-svn: 54472
* Add EXTWARN Diagnostic class.Daniel Dunbar2008-08-051-1/+4
| | | | | | | | | | | | - Like EXTENSION but always generates a warning (even without -pedantic). - Updated ptr -> int, int -> ptr, and incompatible cast warnings to be EXTWARN. - Other EXTENSION level diagnostics should be audited for upgrade. - Updated several test cases to fix code which produced unanticipated warnings. llvm-svn: 54335
* Always define __SIZE_TYPE__ as long unsigned int.Anders Carlsson2008-07-221-2/+1
| | | | llvm-svn: 53922
* add x86 EDI register aliasNuno Lopes2008-07-071-0/+1
| | | | llvm-svn: 53170
* move the linux predefined macro definition to the TargetInfo, where it ↵Nuno Lopes2008-07-051-0/+5
| | | | | | really belongs llvm-svn: 53149
* Make the width and alignment for long double consistent with the Eli Friedman2008-06-041-2/+2
| | | | | | | | | hardcoded data layout in getTargetDescription. Hopefully fixes a test failure. Of course, this should be fixed properly, but that's a bigger fix. llvm-svn: 51948
* Implement support for -w, which silences all warnings. PR2384.Chris Lattner2008-05-291-4/+9
| | | | llvm-svn: 51683
* Make sure to define __sparc__ on Solaris; this should "fix" Eli Friedman2008-05-251-0/+1
| | | | | | test/Codegen/mandel.c on Solaris. :-) llvm-svn: 51554
* Missed an include.Eli Friedman2008-05-201-0/+1
| | | | llvm-svn: 51321
* Minor correction for PPC targets.Eli Friedman2008-05-201-1/+4
| | | | llvm-svn: 51320
* Some small changes to make the target info a bit more accurate.Eli Friedman2008-05-202-11/+30
| | | | llvm-svn: 51319
* set long/pointers to 64-bits on ppc64/x86-64Chris Lattner2008-05-091-2/+6
| | | | llvm-svn: 50891
* parameterize pointer size/align better without doing virtual method calls in ↵Chris Lattner2008-05-092-4/+3
| | | | | | normal case. llvm-svn: 50890
* parameterize long long.Chris Lattner2008-05-091-1/+2
| | | | llvm-svn: 50887
* correctly parameterize long, patch by Nate.Chris Lattner2008-05-091-0/+1
| | | | llvm-svn: 50886
* Add basic support for the pic-* target triples and add support forChris Lattner2008-05-082-0/+34
| | | | | | | | | targets that do not support recursion (and thus codegen stack variables as globals). Patch contributed by Alireza Moshtaghi! llvm-svn: 50844
* Add -fobjc-gc and -fobjc-gc-only options to the driver.Ted Kremenek2008-04-291-1/+3
| | | | | | Add corresponding enum in LangOptions. llvm-svn: 50387
* Have ValidateOutputConstraint return false instead of firing an assertionTed Kremenek2008-04-241-2/+2
| | | | | | | when processing a constraint we don't understand. This allows the frontend to gracefully fail. llvm-svn: 50213
* Add some basic ARM asm constraintsNate Begeman2008-04-221-1/+10
| | | | llvm-svn: 50085
* Fix pasto, thanks to Anders for pointing this out.Chris Lattner2008-04-211-1/+1
| | | | llvm-svn: 50055
* add arm supportChris Lattner2008-04-211-0/+132
| | | | llvm-svn: 50049
* Tabs -> spacesNate Begeman2008-04-181-2/+2
| | | | llvm-svn: 49909
* Initialize default double width and alignmentNate Begeman2008-04-181-0/+2
| | | | llvm-svn: 49899
* Fix regression in Diagnostic that caused it to not register the numberTed Kremenek2008-04-141-2/+3
| | | | | | of errors. llvm-svn: 49686
* Added "getCanonicalID()", "isFromSameFile", and "isFromMainFile" to compareTed Kremenek2008-04-141-0/+4
| | | | | | | | the files of different SourceLocations. These methods correctly handle the case where a file may have multiple FileIDs due to it being large enough to be spread across several chunks. llvm-svn: 49682
* Only increment the number of diagnostics when the DiagnosticClient usedTed Kremenek2008-04-141-2/+6
| | | | | | is the one attached to the Diagnostic object. llvm-svn: 49677
* add a missing #includeChris Lattner2008-04-061-0/+1
| | | | llvm-svn: 49256
* Added "getLogicalLineNumber" and "getLogicalColumnNumber" to FullSourceLoc.Ted Kremenek2008-04-031-2/+13
| | | | llvm-svn: 49177
* Update to match simplified llvm MemoryBuffer interfaces for files.Chris Lattner2008-04-011-2/+1
| | | | llvm-svn: 49042
* prune dead #includesChris Lattner2008-04-011-2/+0
| | | | llvm-svn: 49033
* MemoryBuffer::getFile got smarter, obviating the need for readfilefast.Chris Lattner2008-04-011-60/+3
| | | | | | | The new MemoryBuffer doesn't "leak" file descriptors and handles the small file case efficiently. llvm-svn: 49032
* Hack ReadFileFast() to raise the threshold of memory mapped files (from ↵Steve Naroff2008-03-311-1/+1
| | | | | | | | | | 4->12 pages). This is a temporary solution to avoid running out of file descriptors (which defaults to 256). Need to benchmark to understand the speed benefit. If the benefit is small, the simple solution is to avoid memory mapping files. If the benefit is significant, more thought is necessary. llvm-svn: 48991
* Added variation of the "Report" method in the class Diagnostic that takesTed Kremenek2008-03-311-3/+7
| | | | | | | an optional DiagnosticClient argument that differs from the client stored internally in the Diagnostic object. llvm-svn: 48986
OpenPOWER on IntegriCloud