summaryrefslogtreecommitdiffstats
path: root/clang/AST/Builtins.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-195/+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
* Remove the first layer of support for "portability" warnings. This is Chris Lattner2008-03-051-8/+3
| | | | | | | | | | | | | | | 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
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | discussion of this change. llvm-svn: 45410
* Add more intrinsics. We can now correctly parse both Carbon.h and Cocoa.h ↵Anders Carlsson2007-11-281-5/+9
| | | | | | without having to do -arch ppc. llvm-svn: 44392
* Add builtin type signature support for vector types. Add correct type ↵Anders Carlsson2007-11-271-4/+16
| | | | | | signatures for a bunch of MMX builtins. We now parse all the intrinsics in mmintrin.h llvm-svn: 44357
* Add prototype info for __builtin_memcpy, reducing #diagnostics from 37 to 34 on Chris Lattner2007-10-291-0/+4
| | | | | | PR1750 llvm-svn: 43435
* Generate code for va_start and va_end.Anders Carlsson2007-10-121-0/+4
| | | | llvm-svn: 42939
* Add __builtin_va_start to the list of builtins, make __builtin_va_list ↵Anders Carlsson2007-10-111-0/+3
| | | | | | available to builtin functions. llvm-svn: 42857
* Fix 80 col violations.Chris Lattner2007-10-101-1/+2
| | | | llvm-svn: 42849
* move IdentifierTable.h from liblex to libbasic.Chris Lattner2007-10-071-1/+1
| | | | llvm-svn: 42730
* Add initial support for constant CFStrings.Anders Carlsson2007-08-171-12/+49
| | | | llvm-svn: 41136
* Add support for __builtin_classify_type(). This builtin function isn't ↵Steve Naroff2007-08-081-3/+13
| | | | | | | | | | | "public", however it is used by "tgmath.h" (so we need to support it). It might also come in handy when developing the overloaded function macros for OpenCU. Next check-in will make this an integer constant expression... llvm-svn: 40930
* Finally bite the bullet and make the major change: split the clang namespaceChris Lattner2007-06-151-2/+1
| | | | | | | | | | | | | out of the llvm namespace. This makes the clang namespace be a sibling of llvm instead of being a child. The good thing about this is that it makes many things unambiguous. The bad things is that many things in the llvm namespace (notably data structures like smallvector) now require an llvm:: qualifier. IMO, libsystem and libsupport should be split out of llvm into their own namespace in the future, which will fix this issue. llvm-svn: 39659
* Bug #:Steve Naroff2007-04-051-4/+4
| | | | | | | | | | | | Submitted by: Reviewed by: -Changed the name of TypeRef to QualType. Many diffs. -Changed the QualType constructor to require Quals be passed. This makes the code a bit more verbose, however will make the code easier to work on. Given the complexity of types, this should help spot bogosities. -Changed the Expr constructor to require a QualType. Same motivation. llvm-svn: 39395
* Bug #:Steve Naroff2007-03-161-0/+5
| | | | | | | | | Submitted by: Reviewed by: Down to 0 warning/errors for Carbon.h. Also made a couple trivial name changes... llvm-svn: 39358
* Add support for target-specific builtins, including detecting nonportabilityChris Lattner2007-01-291-15/+24
| | | | | | | | | | | | | | | | | of source code. For example: $ clang INPUTS/carbon_h.c -arch i386 -arch ppc prints: ... /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/mmintrin.h:51:3: note: use of a target-specific builtin function, source is not 'portable' __builtin_ia32_emms (); ^ because carbon.h pulls in xmmintrin.h, and __builtin_ia32_emms isn't a builtin on ppc. Though clang now supports target-specific builtins, the full table isn't implemented yet. llvm-svn: 39328
* Add support for target-independent builtin functions (like __builtin_abs),Chris Lattner2007-01-281-0/+112
whose decl objects are lazily created the first time they are referenced. Builtin functions are described by the clang/AST/Builtins.def file, which makes it easy to add new ones. This is missing two important pieces: 1. Support for the rest of the gcc builtins. 2. Support for target-specific builtins (e.g. __builtin_ia32_emms). Just adding this builtins reduces the number of implicit function definitions by 6, reducing the # diagnostics from 550 to 544 when parsing carbon.h. I need to add all the i386-specific ones to eliminate several hundred more. ugh. llvm-svn: 39327
OpenPOWER on IntegriCloud