- Jul 31, 2013
-
-
Richard Trieu authored
llvm-svn: 187467
-
Chandler Carruth authored
Clang when linking and using a GCC installation from a GCC cross-compiler. This was desired already by two special case platforms (Android and Mips), and turns out to be generally (if frustratingly) true. I've added a substantial comment to the code clarifying the underlying assumptions of doing actual cross compiles with Clang (or GCC for that matter!) and help avoid further confusion here. The end result is to realize that fully general form of PR12478 cannot be resolved while we support existing cross-compiling GCC toolchains, and linking with them (namely, linking against their libgcc and libstdc++ installs). GCC installs these target libraries under a target-specific prefix but one that may not be available within the actual sysroot in use. When linking in this world, GCC works and Clang should as well, but caveat emptor: DSOs from this tree must be replicated and rpath-fixed to be found at runtime within the sysroot. I've extended the cross compile test cases to cover these issues by pointing them at a sysroot and actually checking the library search paths. llvm-svn: 187466
-
- Jul 30, 2013
-
-
Aaron Ballman authored
llvm-svn: 187420
-
Aaron Ballman authored
llvm-svn: 187419
-
Timur Iskhodzhanov authored
llvm-svn: 187409
-
NAKAMURA Takumi authored
clang/test/Driver/qa_override.c: Resurrect a part of r187376. It still requires the feature 'clang-driver' for cygming. llvm-svn: 187405
-
Aaron Ballman authored
llvm-svn: 187400
-
Aaron Ballman authored
Refactor some attributes to use checkFunctionOrMethodArgumentIndex instead of using custom logic. No functional changes intended. llvm-svn: 187398
-
David Blaikie authored
llvm-svn: 187387
-
- Jul 29, 2013
-
-
Chandler Carruth authored
output rather than just part of it. Also, remove the frighteningly ancient comment about not working with the gcc-driver. (!!!) llvm-svn: 187376
-
Richard Smith authored
corresponding 'operator new' was actually emitted as a function marked 'nobuiltin'. llvm-svn: 187374
-
Hans Wennborg authored
The quotes (from r187330) didn't really help here, the trick was to disable the test on MSYS builds. This removes those quotes, changes back the comment to explain why /? has to be quoted specifically, and moves the REQUIRES line to the top of the file because that's important. llvm-svn: 187366
-
David Blaikie authored
Patch by Ethan Jackson. llvm-svn: 187365
-
NAKAMURA Takumi authored
llvm-svn: 187337
-
- Jul 28, 2013
-
-
Rafael Espindola authored
It was still failing with double quotes: http://bb.pgr.jp/builders/clang-i686-msys/builds/698/steps/test_clang/logs/Clang%20%3A%3A%20Driver__cl.c llvm-svn: 187330
-
Rafael Espindola authored
Should fix some of the bots that have assertions disabled. llvm-svn: 187329
-
- Jul 27, 2013
-
-
Hans Wennborg authored
This test would fail in weird ways on systems with a one-letter filename in the root directory, because the shell would helpfully expand /? to e.g. /n. Make sure this doesn't happen by adding quotes. llvm-svn: 187295
-
Hans Wennborg authored
This establishes a new Flag in Options.td, which can be assigned to options that should be made available in clang's cl.exe compatible mode, and updates the Driver to make use of the flag. (The whitespace change to CMakeLists forces the build to re-run CMake and pick up the include dependency on the new .td file. This makes the build work if someone moves backwards in commit history after this change.) Differential Revision: http://llvm-reviews.chandlerc.com/D1215 llvm-svn: 187280
-
Eli Friedman authored
This matches how we normally perform semantic analysis for other sorts of invalid expressions: it means we don't have to reason about invalid sub-expressions. Fixes PR16680. llvm-svn: 187276
-
Richard Smith authored
no return type is specified, C++11 will deduce a cv-qualified return type in some cases, but C++1y never will. llvm-svn: 187275
-
Richard Smith authored
PR16708: If a lambda has an implicit return type, don't get confused if its return type has already been determined to be a type containing an 'auto'. llvm-svn: 187266
-
- Jul 26, 2013
-
-
Adrian Prantl authored
Restore it after each argument is emitted. This fixes the scope info for inlined subroutines inside of function argument expressions. (E.g., anything STL). rdar://problem/12592135 llvm-svn: 187240
-
Argyrios Kyrtzidis authored
[libclang] Remove comma from the blacklist of characters that prevent a comment to be attached to a decl. It's common to use an availability function macro at the start of a decl. rdar://13965065 llvm-svn: 187230
-
Argyrios Kyrtzidis authored
rdar://14556182 llvm-svn: 187207
-
Rafael Espindola authored
llvm-svn: 187203
-
Pavel Labath authored
This also reverts r187197. llvm-svn: 187199
-
Rafael Espindola authored
llvm-svn: 187197
-
Pavel Labath authored
Summary: When binding a temporary object to a static local variable, the analyzer would complain about a dangling reference even though the temporary's lifetime should be extended past the end of the function. This commit tries to detect these cases and construct them in a global memory region instead of a local one. Reviewers: jordan_rose CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1133 llvm-svn: 187196
-
NAKAMURA Takumi authored
llvm-svn: 187194
-
NAKAMURA Takumi authored
llvm-svn: 187192
-
Eli Friedman authored
Attempt 2. Sorry about the noise. llvm-svn: 187183
-
Bill Schmidt authored
This patch provides basic support for powerpc64le as an LLVM target. However, use of this target will not actually generate little-endian code. Instead, use of the target will cause the correct little-endian built-in defines to be generated, so that code that tests for __LITTLE_ENDIAN__, for example, will be correctly parsed for syntax-only testing. Code generation will otherwise be the same as powerpc64 (big-endian), for now. The patch leaves open the possibility of creating a little-endian PowerPC64 back end, but there is no immediate intent to create such a thing. The new test case variant ensures that correct built-in defines for little-endian code are generated. llvm-svn: 187180
-
Eli Friedman authored
llvm-svn: 187178
-
Eli Friedman authored
Based on patch by Yunzhong Gao. llvm-svn: 187176
-
Eli Friedman authored
Just more craziness to find crtbegin.o etc. Patch by Stephen Kelly. llvm-svn: 187175
-
Eli Friedman authored
This allows the ObjFW runtime to correctly implement message forwarding for messages which return a struct. Patch by Jonathan Schleifer. llvm-svn: 187174
-
Eli Friedman authored
It turns out that Plum Hall depends on us not emitting an error on integer literals which fit into long long, but fit into unsigned long long. So C99 conformance requires not conforming to C99. :) llvm-svn: 187172
-
Eli Friedman authored
Also, fix the wording to reflect this. llvm-svn: 187171
-
Richard Smith authored
sufficient to only consider names visible at the point of instantiation, because that may not include names that were visible when the template was defined. More generally, if the instantiation backtrace goes through a module M, then every declaration visible within M should be available to the instantiation. Any of those declarations might be part of the interface that M intended to export to a template that it instantiates. The fix here has two parts: 1) If we find a non-visible declaration during name lookup during template instantiation, check whether the declaration was visible from the defining module of all entities on the active template instantiation stack. The defining module is not the owning module in all cases: we look at the module in which a template was defined, not the module in which it was first instantiated. 2) Perform pending instantiations at the end of a module, not at the end of the translation unit. This is general goodness, since it significantly cuts down the amount of redundant work that is performed in every TU importing a module, and also implicitly adds the module containing the point of instantiation to the set of modules checked for declarations in a lookup within a template instantiation. There's a known issue here with template instantiations performed while building a module, if additional imports are added later on. I'll fix that in a subsequent commit. llvm-svn: 187167
-
- Jul 25, 2013
-
-
David Blaikie authored
Use the same filtering for assembly arguments to -cc1as as we do for -cc1, this allows a consistent (& more useful) diagnostic experience for users (rather than getting an error from -cc1as (which a user shouldn't really be thinking about) about --foo, they get an error from clang about --foo in -Wa,) I'm sort of surprised by the separation of -cc1as & the separate argument handling, etc, but at least this removes a little bit of the duplication. llvm-svn: 187156
-