summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/InitHeaderSearch.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Delete support for AuroraUX.Rafael Espindola2014-08-141-5/+0
| | | | | | auroraux.org is not resolving. llvm-svn: 215644
* AArch64: update Clang for merged arm64/aarch64 triples.Tim Northover2014-07-231-1/+0
| | | | | | | | | | | | | | The main subtlety here is that the Darwin tools still need to be given "-arch arm64" rather than "-arch aarch64". Fortunately this already goes via a custom function to handle weird edge-cases in other architectures, and it tested. I removed a few arm64_be tests because that really isn't an interesting thing to worry about. No-one using big-endian is also referring to the target as arm64 (at least as far as toolchains go). Mostly they date from when arm64 was a separate target and we *did* need a parallel name simply to test it at all. Now aarch64_be is sufficient. llvm-svn: 213744
* Fix crash with x86_64-pc-win32-macho target. <rdar://problem/17235840>Bob Wilson2014-06-101-1/+2
| | | | | | | | The changes in r204978 broke win32-macho targets. There were checks added for MSVC and Itanium environments as special cases, and win32-macho needs to be treated the same way. llvm-svn: 210584
* AArch64/ARM64: rename ARM64 components to AArch64Tim Northover2014-05-241-0/+1
| | | | | | This keeps Clang consistent with backend naming conventions. llvm-svn: 209579
* ARM64: initial clang support commit.Tim Northover2014-03-291-0/+5
| | | | | | | | | | | This adds Clang support for the ARM64 backend. There are definitely still some rough edges, so please bring up any issues you see with this patch. As with the LLVM commit though, we think it'll be more useful for merging with AArch64 from within the tree. llvm-svn: 205100
* Use the new Windows environment for target detectionSaleem Abdulrasool2014-03-271-34/+44
| | | | | | | | | This follows the LLVM change to canonicalise the Windows target triple spellings. Rather than treating each Windows environment as a single entity, the environments are now modelled properly as an environment. This is a mechanical change to convert the triple use to reflect that change. llvm-svn: 204978
* Dont unconditionally add gcc4.2 include paths on FreeBSD.Roman Divacky2014-03-121-5/+0
| | | | | | Newer FreeBSD doesnt ship with gcc and defaults to using libc++. llvm-svn: 203700
* Check for LLVM_ON_WIN32 instead of _WIN32.Hans Wennborg2014-03-121-3/+3
| | | | | | This is a follow-up to r203624 to address Anton's comment. llvm-svn: 203668
* With the new update to the ABI, we should not look for installationsYaron Keren2013-12-121-16/+12
| | | | | | | | | | | of MinGW older than 4.7 with incompatible C++ libraries. This patch makes clang look for all MinGW versions from 4.7: 4.7.0, 4.7.1, 4.7.2, 4.7.3 4.8.0, 4.8.1, 4.8.2. llvm-svn: 197176
* Darwin: Look for libc++ headers in include/, rather than lib/Justin Bogner2013-11-151-5/+7
| | | | | | | | | | | | Up until now we were expecting that when libc++ is installed alongside clang the headers would be in lib/, which was true if the configure build was used and false if the cmake build was. We've now corrected the configure build to install in include/, and with this change we'll be able to find the correct headers with both build systems. llvm-svn: 194834
* Add another MinGW header include pathHans Wennborg2013-10-181-0/+1
| | | | llvm-svn: 192982
* InitHeaderSearch.cpp: [Cygwin] Add 4.7.3.NAKAMURA Takumi2013-08-181-0/+1
| | | | llvm-svn: 188638
* Modernize some low-hanging PathV1 uses.Benjamin Kramer2013-06-131-17/+21
| | | | llvm-svn: 183903
* Include PathV1.h in files that use it.Rafael Espindola2013-06-111-0/+1
| | | | | | This is preparation for replacing Path.h with PathV2.h. llvm-svn: 183781
* Add support for -stdlib=libc++ in the NetBSD toolchain.Joerg Sonnenberger2013-04-301-3/+0
| | | | llvm-svn: 180766
* Fix the driver logic for recent versions of DragonFly.John McCall2013-04-111-1/+5
| | | | | | Patch by John Marino. llvm-svn: 179334
* [Frontend] Factor AddUnmappedPath() out of AddPath() and simplify.Daniel Dunbar2013-01-301-15/+33
| | | | llvm-svn: 173871
* [Frontend] Add an ExternCSystem include entry group.Daniel Dunbar2013-01-301-74/+69
| | | | | | | | - The only group where it makes sense for the "ExternC" bit is System, so this simplifies having to have the extra isCXXAware (or ImplicitExternC, depending on what code you talk to) bit caried around. llvm-svn: 173859
* [Frontend] Make the include dir group independent from the "use sysroot" bit.Daniel Dunbar2013-01-291-3/+1
| | | | | | | | | - This slightly decouples the path handling, since before the group sometimes dominated the "use sysroot" bit, but it was still passed in via the API. - No functionality change. llvm-svn: 173855
* [Frontend] Rename a member variable to clarify its intent.Daniel Dunbar2013-01-291-5/+6
| | | | llvm-svn: 173854
* [Frontend] Factor out helper function, for clarity.Daniel Dunbar2013-01-291-9/+10
| | | | llvm-svn: 173853
* [Frontend] Drop the isUserSupplied argument to InitHeaderSearch, it is unused.Daniel Dunbar2013-01-251-72/+63
| | | | llvm-svn: 173411
* [Lex] Remove DirectoryLookup.UserSpecified, which is unused.Daniel Dunbar2013-01-251-4/+5
| | | | llvm-svn: 173409
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-041-5/+4
| | | | | | | | | | | | | uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
* Move HeaderSearchOptions into the Lex library, make it intrusivelyDouglas Gregor2012-10-241-1/+1
| | | | | | reference-counted, and hold a reference to it in HeaderSearch. llvm-svn: 166583
* InitHeaderSearch.cpp: [mingw] Handle DOSish paths only on Win32 hosts.NAKAMURA Takumi2012-09-131-0/+4
| | | | llvm-svn: 163776
* clang support for Bitrig (an OpenBSD fork); patch by David Hill.Eli Friedman2012-08-081-0/+1
| | | | llvm-svn: 161546
* Correct AddDefaultCIncludePaths for OpenBSD to not include /usr/local/includeHans Wennborg2012-08-021-0/+1
| | | | | | | | | in the default search path. Compilers on *BSD OS's only include /usr/include by default. Contributed by Brad Smith <brad@comstyle.com> llvm-svn: 161173
* Add -isystem-prefix and -ino-system-prefix arguments, which can be used toRichard Smith2012-06-131-0/+13
| | | | | | | | | | override whether headers are system headers by checking for prefixes of the header name specified in the #include directive. This allows warnings to be disabled for third-party code which is found in specific subdirectories of include paths. llvm-svn: 158418
* Since this change is generating a considerable amount of discussion (and ↵Aaron Ballman2012-03-251-56/+46
| | | | | | possibly even a regression for known bad versions), I'm reverting it. llvm-svn: 153420
* No longer hard coding paths to the MinGW include directories; using a ↵Aaron Ballman2012-03-251-46/+56
| | | | | | | | regular expression instead. Patch thanks to Nikola Smiljanic llvm-svn: 153413
* Adding in newer MinGW header paths.Aaron Ballman2012-03-151-0/+3
| | | | | | Patch thanks to Nikola Smiljanic llvm-svn: 152801
* Add the Solaris support directory to the header search when using libc++.David Chisnall2012-03-021-0/+5
| | | | | | | | Unconditionally define __C99FEATURES__ when using C++ on Solaris. This is a (hopefully temporary) work around for libc++ exposing C99-but-not-C++98 features in C++98 mode. llvm-svn: 151889
* Some more Solaris fixes. Now successfully building libc++ on Solaris with ↵David Chisnall2012-02-281-7/+0
| | | | | | clang (and linking clang against it). llvm-svn: 151632
* Add some Solaris include paths and fix a -lgcc_eh that apparently should be ↵David Chisnall2012-02-151-0/+9
| | | | | | -lgcc_s. llvm-svn: 150602
* include clang's config.h unconditionally (v2)Dylan Noblesmith2012-02-141-4/+1
| | | | | | | | | | And remove HAVE_CLANG_CONFIG_H, now that the header is generated in the autoconf build, too. Reverts r149571/restores r149504, now that config.h is generated correctly by LLVM's configure in all build configurations. llvm-svn: 150487
* Basic: import SmallString<> into clang namespaceDylan Noblesmith2012-02-051-1/+1
| | | | | | | (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799
* Replace the old --with-cxx-* configure options with a single ↵Rafael Espindola2012-02-031-13/+0
| | | | | | | | | --with-gcc-toolchain that just uses the new toolchain probing logic. This fixes linking with -m32 on 64 bit systems (the /32 dir was not being added to the search). llvm-svn: 149652
* Back out my heinous hack that tricked the module generation mechanismDouglas Gregor2012-02-021-0/+8
| | | | | | | | | | | | | | | | | | | | into using non-absolute system includes (<foo>)... ... and introduce another hack that is simultaneously more heineous and more effective. We whitelist Clang-supplied headers that augment or override system headers (such as float.h, stdarg.h, and tgmath.h). For these headers, Clang does not provide a module mapping. Instead, a system-supplied module map can refer to these headers in a system module, and Clang will look both in its own include directory and wherever the system-supplied module map suggests, then adds either or both headers. The end result is that Clang-supplied headers get merged into the system-supplied module for the C standard library. As a drive-by, fix up a few dependencies in the _Builtin_instrinsics module. llvm-svn: 149611
* back out r149504Dylan Noblesmith2012-02-021-1/+4
| | | | | | Too many weird build failures. llvm-svn: 149571
* include clang's config.h unconditionallyDylan Noblesmith2012-02-011-5/+3
| | | | | | | | | | | | | And remove HAVE_CLANG_CONFIG_H, now that the header is generated in the autoconf build, too. (clang r149497 / llvm r149498) Also include the config.h header after all other headers, per the LLVM coding standards. It also turns out WindowsToolChain.cpp wasn't using the config header at all, so that include's just deleted now. llvm-svn: 149504
* lib/Frontend/InitHeaderSearch.cpp: [Cygwin] Add 4.5.3.NAKAMURA Takumi2012-01-211-0/+1
| | | | llvm-svn: 148637
* [Cygwin] Abandon Cygwin-1.5 and g++-3. Use g++-4.3 and higher on Cygwin-1.7.NAKAMURA Takumi2012-01-211-2/+0
| | | | llvm-svn: 148636
* Add a couple more GCC versions to C++ search paths for MinGW. Patch by ↵Eli Friedman2011-11-281-0/+2
| | | | | | | | Ruben Van Boxem. (We should probably start doing some sort of autodetection like we do on Linux at some point.) llvm-svn: 145326
* Move the Linux header searching from the Frontend to the Driver. This isChandler Carruth2011-11-051-274/+7
| | | | | | | | | | | | | | | | the first (and diff-noisiest) step to making Linux header searching tremendously more principled and less brittle. Note that this step should have essentially no functional impact. We still search the exact same set of paths in the exact same order. The only change here is where the code implementing such a search lives. This has one obvious negative impact -- we now pass a ludicrous number of flags to the CC1 layer. That should go away as I re-base this logic on the logic to detect a GCC installation. I want to do this in two phases so the bots can tell me if this step alone breaks something, and so that the diffs of the refactoring make more sense. llvm-svn: 143822
* Add two flags to the CC1 layer that I was hoping to avoid. We need toChandler Carruth2011-11-051-2/+2
| | | | | | | | | | | | | | | | | | | | encode the *exact* semantics which the header search paths internally built by the Frontend layer have had, which is both non-user-provided, and at times adding the implicit extern "C" bit to the directory entry. There are lots of CC1 options that are very close, but none do quite this, and they are all already overloaded for other purposes. In some senses this makes the command lines more clean as it clearly indicates which flags are exclusively used to implement internal detection of "standard" header search paths. Lots of the implementation of this is really crufty, due to the surrounding cruft. It doesn't seem worth investing lots of time cleaning this up as it isn't new, and hopefully *lots* of this code will melt away as header search inside of the frontend becomes increasingly trivial. llvm-svn: 143798
* Begin the migration of header search logic to the driver, starting withChandler Carruth2011-11-041-244/+16
| | | | | | | | | Windows. There are still FIXMEs and lots of problems with this code. Some of them will be addressed shortly by my follow-up patches, but most are going to wait until we isolate this code and can fix it properly. This version should be no worse than what we had before. llvm-svn: 143752
* Add the newest Gentoo GCC version based on the reported installedChandler Carruth2011-11-021-0/+8
| | | | | | | | version in PR11298. I hear-by apologize for adding yet more code to this monstrosity. llvm-svn: 143567
* Add "just one more" include path to the monstrosity that is our headerChandler Carruth2011-10-311-0/+1
| | | | | | | | | | | search logic. The Debian multiarch seems to have completely changed from when these were originally added, and I'd like to remove a bunch of them, but I'll be lazy and delay that until this logic is hoisted into the driver where it belongs. This should resolve PR11223. llvm-svn: 143345
* Frontend: Replace -nostdinc by -nostdsysteminc (which is just system includeDaniel Dunbar2011-10-111-21/+30
| | | | | | paths). The -nostdinc behavior is now -nostdsysteminc + -nobuiltininc. llvm-svn: 141691
OpenPOWER on IntegriCloud