summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
...
* [cmake] Write Version.inc at cmake time, not at build time.Nico Weber2014-01-071-14/+7
| | | | | | | | In SVN checkouts, clang_revision_tag is rerun on every build, even if nothing else is dirty. After this change, Version.inc is only written at cmake time, so that empty builds run 0 build steps (like r191784 apparently did for git). llvm-svn: 198704
* [CMake] clang/lib: Satisfy dependencies to add *actually used* libraries on ↵NAKAMURA Takumi2013-12-091-1/+4
| | | | | | | | target_link_libraries() and LLVM_LINK_COMPONENTS. I will prune redundant dependencies later. llvm-svn: 196800
* Add newline at eof.NAKAMURA Takumi2013-12-041-1/+1
| | | | llvm-svn: 196346
* Revert commits r190613, r190560 and r190557.Rafael Espindola2013-10-011-26/+30
| | | | | | The added a cmake invocation to null builds, making them a lot slower. llvm-svn: 191784
* [CMake] Put controversial always-recheck-revision-number behind an option.Jordan Rose2013-09-121-2/+8
| | | | | | | | | | | | | | | CMake does not have the ability to perform actions before calculating dependencies, so it can't know whether it needs to rebuild clangBasic to update for a new revision number. CLANG_ALWAYS_CHECK_VC_REV (off by default) will cause clangBasic to always be dirty by deleting the generated SVNVersion.inc after use; otherwise, SVNVersion.inc will always be updated, but only included in the final binary when clangBasic is rebuilt. It'd be great to find a better way to do this, but hopefully this is still an improvement over the complete lack of version information before. llvm-svn: 190613
* [CMake] Fix repository version checking dependencies harder.Jordan Rose2013-09-111-1/+1
| | | | | | Just always regenerate SVNVersion.inc. Don't worry about it not changing. llvm-svn: 190560
* [CMake] Always include the Clang repo version, just like the autoconf build.Jordan Rose2013-09-111-30/+20
| | | | | | | | | | | | | Now that LLVM's helper script GetSVN.cmake actually works consistently, there's no reason not to use it. This does mean that the clangBasic target is potentially always dirty, because CMake-generated projects do not necessarily recalculate dependencies after running each target. This should end the issues of the AST format changing and breaking old module files; CMake-Clang should now detect that the version changed just like Autoconf-Clang has. llvm-svn: 190557
* <rdar://problem/13358795> Teach CMake to check Subversion version ↵Douglas Gregor2013-03-251-2/+23
| | | | | | information at build time, not configure time. llvm-svn: 177939
* OpenMP threadprivate directive parsing and semantic analysisAlexey Bataev2013-03-221-0/+1
| | | | llvm-svn: 177705
* Pull Lexer's CharInfo table out for general use throughout Clang.Jordan Rose2013-02-081-0/+1
| | | | | | | | | | | Rewriting the same predicates over and over again is bad for code size and code maintainence. Using the functions in <ctype.h> is generally unsafe unless they are specified to be locale-independent (i.e. only isdigit and isxdigit). The next commit will try to clean up uses of <ctype.h> functions within Clang. llvm-svn: 174765
* Move UTF conversion routines from clang/lib/Basic to llvm/lib/SupportDmitri Gribenko2013-01-301-2/+0
| | | | | | This is required to use them in TableGen. llvm-svn: 173924
* Move operator precedence calculation to new headerDaniel Jasper2012-12-201-0/+1
| | | | | | | Thereby, it can be reused by clang-format and others. Review: http://llvm-reviews.chandlerc.com/D229 llvm-svn: 170757
* clang/lib: [CMake] Reformat, alphabetize lists.NAKAMURA Takumi2012-07-271-1/+1
| | | | llvm-svn: 160850
* clang/lib/Basic/CMakeLists.txt: Add missing dependency, ClangDiagnosticComment.NAKAMURA Takumi2012-07-121-0/+1
| | | | llvm-svn: 160096
* Share ConvertUTF8toWide() between Lex and CodeGen.Nico Weber2012-07-031-0/+1
| | | | llvm-svn: 159634
* Remove a goofy CMake hack and use the standard CMake facilities toChandler Carruth2012-06-211-15/+15
| | | | | | | | | express library-level dependencies within Clang. This is no more verbose really, and plays nicer with the rest of the CMake facilities. It should also have no change in functionality. llvm-svn: 158888
* Restructure how the driver communicates information about theJohn McCall2012-06-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | target Objective-C runtime down to the frontend: break this down into a single target runtime kind and version, and compute all the relevant information from that. This makes it relatively painless to add support for new runtimes to the compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z, available at the driver level as a better and more general alternative to -fgnu-runtime and -fnext-runtime. This new concept of an Objective-C runtime also encompasses what we were previously separating out as the "Objective-C ABI", so fragile vs. non-fragile runtimes are now really modelled as different kinds of runtime, paving the way for better overall differentiation. As a sort of special case, continue to accept the -cc1 flag -fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak. I won't go so far as to say "no functionality change", even ignoring the new driver flag, but subtle changes in driver semantics are almost certainly not intended. llvm-svn: 158793
* Update CMake dependencies.Ted Kremenek2011-12-171-0/+1
| | | | llvm-svn: 146836
* Promote ModuleMap::Module to a namespace-scope class in the BasicDouglas Gregor2011-11-301-0/+1
| | | | | | | | | library, since modules cut across all of the libraries. Rename serialization::Module to serialization::ModuleFile to side-step the annoying naming conflict. Prune a bunch of ModuleMap.h includes that are no longer needed (most files only needed the Module type). llvm-svn: 145538
* Switch LangOptions over to a .def file that describes header of theDouglas Gregor2011-09-131-0/+1
| | | | | | | | | | language options. Use that .def file to declare the LangOptions class and initialize all of its members, eliminating a source of annoying initialization bugs. AST serialization changes are next up. llvm-svn: 139605
* Initial work to improve documentation for Clang's diagnostics, from Matthieu ↵Douglas Gregor2011-04-151-1/+2
| | | | | | Monrocq llvm-svn: 129614
* Implement a new 'availability' attribute, that allows one to specifyDouglas Gregor2011-03-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | which versions of an OS provide a certain facility. For example, void foo() __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6))); says that the function "foo" was introduced in 10.2, deprecated in 10.4, and completely obsoleted in 10.6. This attribute ties in with the deployment targets (e.g., -mmacosx-version-min=10.1 specifies that we want to deploy back to Mac OS X 10.1). There are several concrete behaviors that this attribute enables, as illustrated with the function foo() above: - If we choose a deployment target >= Mac OS X 10.4, uses of "foo" will result in a deprecation warning, as if we had placed attribute((deprecated)) on it (but with a better diagnostic) - If we choose a deployment target >= Mac OS X 10.6, uses of "foo" will result in an "unavailable" warning (in C)/error (in C++), as if we had placed attribute((unavailable)) on it - If we choose a deployment target prior to 10.2, foo() is weak-imported (if it is a kind of entity that can be weak imported), as if we had placed the weak_import attribute on it. Naturally, there can be multiple availability attributes on a declaration, for different platforms; only the current platform matters when checking availability attributes. The only platforms this attribute currently works for are "ios" and "macosx", since we already have -mxxxx-version-min flags for them and we have experience there with macro tricks translating down to the deprecated/unavailable/weak_import attributes. The end goal is to open this up to other platforms, and even extension to other "platforms" that are really libraries (say, through a #pragma clang define_system), but that hasn't yet been designed and we may want to shake out more issues with this narrower problem first. Addresses <rdar://problem/6690412>. As a drive-by bug-fix, if an entity is both deprecated and unavailable, we only emit the "unavailable" diagnostic. llvm-svn: 128127
* Add CMake dependencies so that LLVM_USED_LIBS order doesn't matter.Jeffrey Yasskin2011-02-111-0/+2
| | | | | | | I also sorted the tools/driver dependencies since their order no longer matters. llvm-svn: 125417
* CMake: LLVM_NO_RTTI must be obsolete now!NAKAMURA Takumi2011-02-101-2/+0
| | | | llvm-svn: 125275
* rework the stat cache, pulling it out of FileManager.h intoChris Lattner2010-11-231-0/+1
| | | | | | | its own header and giving it some more structure. No functionality change. llvm-svn: 120030
* Update CMake build.Benjamin Kramer2010-11-181-0/+1
| | | | llvm-svn: 119741
* Don't try to guess svn version when current path is a symlink.Oscar Fuentes2010-10-221-1/+3
| | | | | | See PR 8473. llvm-svn: 117110
* Revert "CMake: Update to use standard CMake dependency tracking facilities ↵Michael J. Spencer2010-09-131-18/+13
| | | | | | | | | | | | | instead" This reverts commit r113631 Conflicts: CMakeLists.txt lib/CodeGen/CMakeLists.txt llvm-svn: 113817
* CMake: Update to use standard CMake dependency tracking facilities insteadMichael J. Spencer2010-09-101-13/+18
| | | | | | of whatever we were using before... llvm-svn: 113631
* Update CMake build system for ARM NEON generation.Douglas Gregor2010-06-171-0/+2
| | | | llvm-svn: 106220
* Update CMake build for new attribute changes.Alexis Hunt2010-06-171-0/+1
| | | | llvm-svn: 106188
* Fix cmake failure trying to get SVN info for non-SVN trees.Daniel Dunbar2009-10-241-1/+1
| | | | llvm-svn: 85015
* Provide a common set of routines in Version.h that return SubversionDouglas Gregor2009-10-051-0/+11
| | | | | | | branch/revision information. Use that information in the driver, rather than one-off branch/revision computation. llvm-svn: 83321
* move the various builtins stuff from libast to libbasic. ThisChris Lattner2009-06-141-0/+1
| | | | | | fixes a layering violation in lib/Basic/Targets.cpp. llvm-svn: 73318
* Remove the serialization code that predates precompiledDouglas Gregor2009-04-221-1/+0
| | | | | | | headers. Future approaches to (de-)serializing ASTs will be based on the PCH infrastructure. llvm-svn: 69828
* Add missing dependency, patch by Jason Haslam!Chris Lattner2009-04-221-0/+1
| | | | llvm-svn: 69819
* Add ConvertUTF module from http://www.unicode.org/Public/PROGRAMS/CVTUTF.Steve Naroff2009-04-011-0/+1
| | | | | | | | | | #ifdef'd out the 5 conversion routines that we don't currently need. Still need a bit more work in GetAddrOfConstantCFString(). Added a FIXME to indicate this. Expect to remove the FIXME today... llvm-svn: 68208
* Build system changes to use TableGen to generate the variousDouglas Gregor2009-03-161-0/+10
| | | | | | | | | | | | | | | | | | diagnostics. This builds on the patch that Sebastian committed and then revert. Major differences are: - We don't remove or use the current ".def" files. Instead, for now, we just make sure that we're building the ".inc" files. - Fixed CMake makefiles to run TableGen and build the ".inc" files when needed. Tested with both the Xcode and Makefile generators provided by CMake, so it should be solid. - Fixed normal makefiles to handle out-of-source builds that involve the ".inc" files. I'll send a separate patch to the list with Sebastian's changes that eliminate the use of the .def files. llvm-svn: 67058
* CMake: Builds and installs clang binary and libs (no docs yet). ItOscar Fuentes2008-10-261-0/+13
must be under the `tools' subdirectory of the LLVM *source* tree. llvm-svn: 58180
OpenPOWER on IntegriCloud