- Oct 03, 2011
-
-
Chandler Carruth authored
include *any* path on crtbegin.o unless we actually find such a file via one of the search paths. We still strictly check the search paths right after this, so we'll catch any issues there. The reason for this is that the driver does some normalization of the path on the actual object file, and this changes the textual format of the string on Windows. It no longer matches the textual format of the sysroot flag. llvm-svn: 140998
-
Chandler Carruth authored
any distros that use this, building a multilib GCC from mainline will install linker scripts here. llvm-svn: 140996
-
Chandler Carruth authored
This requires fixing a latent bug -- if we used the default host triple instead of an autodetected triple to locate GCC's installation, we didn't go back and fix the GCC triple. Correct that with a pile of hacks. This entire routine needs a major refactoring which I'm saving for a subsequent commit. Essentially, the detection of the GCC triple should be hoisted into the same routine as we locate the GCC installation: the first is intrinsically tied to the latter. Then the routine will just return the triple and base directory. Also start to bring the rest of the library search path logic under test, including locating crtbegin.o. Still need to test the multilib and other behaviors, but there are also bugs in the way of that. llvm-svn: 140995
-
Chandler Carruth authored
This is still very much a WIP, but sysroot was completely broken before this so we are moving closer to correctness. The crux of this is that 'ld' (on Linux, the only place I'm touching here) doesn't apply the sysroot to any flags given to it. Instead, the driver must translate all the paths it adds to the link step with the system root. This is easily observed by building a GCC that supports sysroot, and checking its driver output. This patch just fixes the non-multilib library search paths. We should also use this in many other places, but first things first. This also allows us to make the Linux 'ld' test independent of the host system. This in turn will allow me to check in test tree configurations based on various different distro's configuration. Again, WIP. llvm-svn: 140990
-
Chandler Carruth authored
precisely match the pattern and logic used by the GCC driver on Linux as of a recent SVN checkout. This happens to follow a *much* more principled approach. There is a strict hierarchy of paths examined, first with multilib-suffixing, second without such suffixing. Any and all of these directories which exist will be added to the library search path when using GCC. There were many places where Clang followed different paths, omitted critical entries, and worst of all (in terms of challenges to debugging) got the entries in a subtly wrong order. If this breaks Clang on a distro you use, please let me know, and I'll work with you to figure out what is needed to work on that distro. I've checked the behavior of the latest release of Ubuntu, OpenSUSE, Fedora, and Gentoo. I'll be testing it on those as well as Debian stable and unstable and ArchLinux. I may even dig out a Slackware install. No real regression tests yet, those will follow once I add enough support for sysroot to simulate various distro layouts in the testsuite. llvm-svn: 140981
-
Peter Collingbourne authored
llvm-svn: 140978
-
Peter Collingbourne authored
llvm-svn: 140977
-
Peter Collingbourne authored
llvm-svn: 140975
-
- Oct 02, 2011
-
-
John McCall authored
support both a fragile and non-fragile ABI, and it can be selected at runtime. That driver option also works on Darwin (although obviously the code is not necessarily usable if the system runtime is fragile) so just do that. llvm-svn: 140973
-
John McCall authored
otherwise these tests would fail on hosts that happen to default to that, since that affects whether default synthesis can happen. llvm-svn: 140970
-
Chandler Carruth authored
can look at it. llvm-svn: 140968
-
John McCall authored
increasingly prevailing case to the point that new features like ARC don't even support the fragile ABI anymore. This required a little bit of reshuffling with exceptions because a check was assuming that ObjCNonFragileABI was only being set in ObjC mode, and that's actually a bit obnoxious to do. Most, though, it involved a perl script to translate a ton of test cases. Mostly no functionality change for driver users, although there are corner cases with disabling language-specific exceptions that we should handle more correctly now. llvm-svn: 140957
-
Ted Kremenek authored
Fix LiveVariables analysis bug with MaterializeTemporaryExpr and fix handling in ExprEngine. Fixes <rdar://problem/10201666>. llvm-svn: 140956
-
- Oct 01, 2011
-
-
John McCall authored
the pointer, being sure to do so before running cleanups associated with that full-expression. rdar://10042689 llvm-svn: 140945
-
John McCall authored
attributes on the parameter declaration. llvm-svn: 140944
-
Anna Zaks authored
Address PR10616. The crash has already been fixed by Ted in r140725, so just refactor to use existing API + test case. llvm-svn: 140932
-
John McCall authored
on declarators written as types. llvm-svn: 140931
-
Chandler Carruth authored
Make the suffixes optional everywhere, and just make sure they have the right value. The suffixes aren't the interesting part of this test anyways. Sorry for the churn as I let the bots try out various patterns. llvm-svn: 140927
-
Richard Smith authored
part on patches by Peter Collingbourne. We diverge from the C++11 standard in a few areas, mostly related to checking constexpr function declarations, and not just definitions. See WG21 paper N3308=11-0078 for details. Function invocation substitution is not available in this patch; constexpr functions cannot yet be used from within constant expressions. llvm-svn: 140926
-
Chandler Carruth authored
run it. llvm-svn: 140925
-
Chandler Carruth authored
llvm-svn: 140920
-
Chandler Carruth authored
left a FIXME to go track down more distros and see if 'lib' is ever the 64-bit half. This should hopefully appease the build bots. llvm-svn: 140915
-
Chandler Carruth authored
llvm-svn: 140913
-
John McCall authored
calls, or calls to audited functions without an explicit return attribute, to be casted without a bridge cast. Tie this mechanism in with the existing exceptions to the cast restrictions. State those restrictions more correctly and generalize. llvm-svn: 140912
-
John McCall authored
to take a FunctionDecl* instead of an llvm::StringRef. Eventually we might push more logic in there, like using slightly different conventions for C++ methods. Also, fix a bug where 'copy' and 'create' were being caught in non-camel-cased strings. We want copyFoo and CopyFoo and XCopy but not Xcopy or xcopy. llvm-svn: 140911
-
Chandler Carruth authored
invocations on Linux. llvm-svn: 140909
-
- Sep 30, 2011
-
-
Daniel Dunbar authored
llvm-svn: 140889
-
Fariborz Jahanian authored
a reference type, since inner reference is much like an inner pointer. // rdar://10139365 llvm-svn: 140880
-
Eli Friedman authored
llvm-svn: 140871
-
Fariborz Jahanian authored
pointer to this struct must go through the none ivar writer barrier. llvm-svn: 140867
-
Argyrios Kyrtzidis authored
Patch by Paolo Capriotti! llvm-svn: 140864
-
Sebastian Redl authored
Fix a bug in the token caching for inline constructors in C++11, and improve error recovery in both dialects. This should fix the GCC test suite failures as well. llvm-svn: 140847
-
John McCall authored
CoreFoundation object-transfer properties audited, and add a #pragma to cause them to be automatically applied to functions in a particular span of code. This has to be implemented largely in the preprocessor because of the requirement that the region be entirely contained in a single file; that's hard to impose from the parser without registering for a ton of callbacks. llvm-svn: 140846
-
Ted Kremenek authored
Fix crash when analyzing C++ code involving constant enums and switch statements (<rdar://problem/10202899>). llvm-svn: 140844
-
Anna Zaks authored
[analyzer] Fix a bug in RetainReleaseChecker diagnostics. It gives more precise error message on the modified test case (and prevents duplicate diagnostics when we purge at block granularity). llvm-svn: 140840
-
Anna Zaks authored
[analyzer] Add -analyzer-purge option which can take on multiple values, remove -analyzer-purge=none. (Small refactor as well: move the work of constructing AnalysisManager from the callers to the class itself.) llvm-svn: 140838
-
Eli Friedman authored
Some fixes for MS-style asm parsing: specifically, add some error checking, and handle asm comments using semicolons correctly. (The comments are actually surprisingly tricky.) llvm-svn: 140837
-
Richard Smith authored
llvm-svn: 140831
-
Richard Smith authored
Suggest adding 'constexpr' if the GNU extension for in-class initializers for static const float members is used in C++11 mode. llvm-svn: 140828
-
Richard Smith authored
Mark the ExtWarn for in-class initialization of static const float members as a GNU extension. Don't extend the scope of this extension to all literal types in C++0x mode. llvm-svn: 140820
-