aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver
AgeCommit message (Collapse)Author
2011-11-02Add an option to emulate the strange Apple gcc behavior of #pragma pack.Eli Friedman
<rdar://problem/10374763> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143527 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-31Simplify the set of directories we look for on multiarch systems.Chandler Carruth
I don't have any Debian system with one of these currently, and it seems unlikely for one to show up suddenly. We can add more patterns here if they become necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143346 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-31Fix part of PR11223 and probably a few dups as well. This teaches theChandler Carruth
library search logic to "properly" handle multiarch installations. I've tested this on both Debian unstable and the latest Ubuntu which both use this setup, and this appears to work largely the same way as GCC does. It isn't exactly the same, but it is close enough and more principled in its behavior where it differs. This should resolve any failures to find 'crt1.o' etc on Debian-based Linux distributions. If folks find more cases where we fail, please file bugs and CC me. Test cases for all of the debian silliness are waiting both to simplify the process of merging these down into the 3.0 release, and because they're so crazy I haven't yet been able to really produce a fake tree that represents what we need to test for. I'll eventually add them though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143344 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-30Stop disabling integrated assembler with -static. <rdar://problem/10175391>Bob Wilson
The integrated assembler seems to be working pretty well for -static code now, so remove the hacks to disable it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143304 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25Allow the -fno-operator-names option to be passed down to the restEric Christopher
of the compiler. Fixes PR10198 Patch by Brian Foley! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142913 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-24Remove the SystemZ backend.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142879 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-24Have -fms-no-extensions turn off -fms-compatibilityDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142798 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-22Pack struct better.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142725 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-22lib/Driver/Tools.cpp: Use PathV2::is_absolute() to add ↵NAKAMURA Takumi
-fdebug-compilation-dir. pwd[0] might not be '/' on Win32 hosts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142720 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-21Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This isNick Lewycky
closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142633 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Frontend: Support -iframework.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142418 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18[driver] Make the driver to link the simulator arclite lib when passing ↵Argyrios Kyrtzidis
-mios-simulator-version-min. rdar://10218700 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142372 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Revert r142311, -mios-simulator-version-min does not work correctly.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142322 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Remove the hack where we sniff the __IPHONE_OS_VERSION_MIN_REQUIRED define.Argyrios Kyrtzidis
We can use -mios-simulator-version-min now. rdar://10218700 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142311 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Wire up support for the controlling the extended dwarf .file directive. WithNick Lewycky
r142300 but not this patch, clang -S may emit .s files that assemblers other than llvm-mc can't parse. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142301 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Implement -static-libstdc++ for linux.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142290 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Implement -static-libgcc on linux and refactor the code responsible for addingRafael Espindola
libgcc to the link line into a helper function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142269 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-16Fix a silly bug introduced in r142133.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142134 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-16Clean up some cruft in the library path searching logic by makingChandler Carruth
'libdir' mean the actual library directory, not the GCC subdirectory of the library directory. That was just a confusing pattern. Instead, supply proper GCC subdirectories when scanning for various triple-based subdirectories with a GCC installation in them. This also makes it much more obvious how multiarch installations, which have a triple-based prefix as well as suffix work. Also clean up our handling of these triple-prefixed trees by using them in both a multiarch pattern and a non-multiarch pattern whenever they exist. Note that this *does not* match what GCC does on Debian, the only truly multiarch installation I've been able to get installed and test on. GCC appears to have a bug, and ends up searching paths like '/lib/../../lib32' which makes no sense what-so-ever. Instead, I've tried to encode the rational logic that seems clearly intended by GCC's pattern. GCC ends up with patterns like: /lib/../../lib32 /usr/lib/../../lib32 /usr/lib/x86_64-linux-gnu/../..lib32 Only the last one makes any sense having a '/../..' in it, so in Clang, that's the only one which gets a '/../..' in it. I *think* this will fix Debian multiarch links. I'm committing without baking this logic into our test suite so I can test on a few different systems. If all goes well (and no one screams) I'll check in some more comprehensive tests for multiarch behavior tomorrow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142133 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-14Fix the CXX_INCLUDE_ROOT case that was out of date with ScanLibDirForGCCTriple.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141980 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-14Use Triple.isOSDarwin() instead of comparing against Triple::Darwin.Bob Wilson
There are now separate Triple::MacOSX and Triple::IOS values for the OS so comparing against Triple::Darwin will fail to match those. Note that I changed the expected output for the Driver/rewrite-objc.m test, which had previously not been passing Darwin-specific options with the macosx triple. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141944 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-13Rename -Wc++0x-compat, -Wc++0x-extensions and -Wc++0x-narrowing from c++0x toRichard Smith
c++11. The old names are kept for backwards-compatibility. Patch by Ahmed Charles! Names for backwards-compatible DiagGroups removed by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141913 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-13Add triple for RHEL 5 to the libpath collecting logic.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141887 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-12The Objective-C rewriter uses the fragile ABI, always.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141795 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-11Driver: Add support for a new -nostdlibinc option.Daniel Dunbar
- This disables the system include directories, but not the compiler builtin directories. Useful for projects that want to use things like the intrinsic headers, but are otherwise freestanding. - I'm willing to reconsider the option naming, I also considered providing an explicit -builtinc (which would match -nobuiltininc), but this is more consistent with existing options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141692 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-11Frontend: Replace -nostdinc by -nostdsysteminc (which is just system includeDaniel Dunbar
paths). The -nostdinc behavior is now -nostdsysteminc + -nobuiltininc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141691 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-10Link in Scrt1.o instead of crt1.o when -pie is specified.Roman Divacky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141573 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-10Partially revert r141374: allow use of libc++ prior to Mac OS X 10.7.Bob Wilson
Apple only supports libc++ on OS X 10.7 and later but for the open-source compiler that restriction doesn't make sense. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141566 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-09OpenCL: add driver/frontend support for precompiled headersPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141516 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-08Fix "Uninitialized" warnings.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141487 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-08WhitespaceNAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141486 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07[arcmt] Ignore linking errors when doing ARC migration, rdar://10247606Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141434 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07Clang driver changes for iOS 5.0 and OS X Lion support.Bob Wilson
Check whether the libc++ library is available when using -stdlib=libc++, and also adjust the check for whether to link with -lgcc_s.1. Patch by Ted Kremenek and Daniel Dunbar. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141374 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07More cleanup using StringSwitch.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141373 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07Use StringSwitch. Thanks for Chandler for the suggestion.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141344 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Use strpbrk(3) instead of open coding it.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141328 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Remove DISABLE_ARM_DARWIN_USE_MOVT ifdefs. Radar 9456730.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141320 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Rearrange for readability. No functional change.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141309 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Add a missing check for cortex-a9.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141308 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Add -Wlanguage-extension-token option for ext_token_used warning.Ivan Krasin
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141268 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05Driver & AST: Implement support for -fpack-struct and -fpack-struct= commandDaniel Dunbar
line options. - <rdar://problem/10120602>, PR9631 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141211 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05[driver] For consistency, handle all shell special characters handled by theChad Rosier
quoting code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141205 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05[driver] The -v option doesn't quoted the command line arguments for historicalChad Rosier
reasons. However, it does seems practical to quote strings that need it. rdar://10221951 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141202 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05Use the InstalledDir correctly, and test it correctly as well. =/ ShouldChandler Carruth
have noticed this previously, sorry. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141167 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05Teach Clang to cope with GCC installations that have unusual patchChandler Carruth
"versions". Currently, these are just dropped on the floor, A concrete version number will always win out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141159 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05Implement the feature I was originally driving toward when I startedChandler Carruth
this saga. Teach the driver to detect a GCC installed along side Clang using the existing InstalledDir support in the Clang driver. This makes a lot of Clang's behavior more automatic when it is installed along side GCC. Also include the first test cases (more to come, honest) which test both the install directory behavior, and the version sorting behavior to show that we're actually searching for the best candidate GCC installation now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141145 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04Hoist the other messy part out of an inner loop and into a helperChandler Carruth
function, cleaning up along the way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141134 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04Hoist the first chunk of this into a helper function. No functionalityChandler Carruth
change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141131 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04[driver] Improve r141053 by only emitting the warning if the original inputChad Rosier
was assembly. Otherwise, something like -save-temps causes the integrated assembler to warn. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141127 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04Fix Windows+MinGW which introduces noise into path separators.Chandler Carruth
There should be a better solution to this; Michael and I are continuing to discuss exactly what it should be. The one solution I'm very uncomfortable with is making the FileCheck tests use a regex for each path separator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141126 91177308-0d34-0410-b5e6-96231b3b80d8