| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
incomplete types. RequireCompleteType is needed when the type may be
completed by instantiating a template.
llvm-svn: 67643
|
| |
|
|
|
|
| |
conceivably handle, but are defaulting to not using clang for.
llvm-svn: 67641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't default to using clang for C++ (use -ccc-clang-cxx to
override).
- Default to only using clang on i386 and x86_64 (use
-ccc-clang-archs "" to override).
- <rdar://problem/6712350> [driver] clang should not be used on
powerpc by default
- <rdar://problem/6705767> driver should default to -ccc-no-clang-cxx
I plan to add a warning that we are not using the clang compiler for
the given compilation so that users do not think clang is being used
in situations it isn't.
This change is motivated by the desire to be able to drop clang into a
build and have things "just work", even if it happens to get used to
compile C++ code or code for an architecture we don't support yet.
llvm-svn: 67640
|
| |
|
|
|
|
|
| |
Driver::ShouldUseClangCompiler.
- No functionality change.
llvm-svn: 67639
|
| |
|
|
|
|
|
| |
- <rdar://problem/6715707> driver should translate -fverbose-asm into
-asm-verbose
llvm-svn: 67634
|
| |
|
|
| |
llvm-svn: 67633
|
| |
|
|
|
|
|
|
| |
is specified.
- No easy way to make a safe test case for this (given where the
driver is supposed to put temp files).
llvm-svn: 67632
|
| |
|
|
|
|
|
| |
- <rdar://problem/6715818> clang doesn't honor gcc semantic that last
-O optimization option wins.
llvm-svn: 67628
|
| |
|
|
|
|
| |
outside the class declaration.
llvm-svn: 67627
|
| |
|
|
| |
llvm-svn: 67626
|
| |
|
|
| |
llvm-svn: 67625
|
| |
|
|
| |
llvm-svn: 67624
|
| |
|
|
| |
llvm-svn: 67623
|
| |
|
|
|
|
| |
include the clang version # too.
llvm-svn: 67619
|
| |
|
|
|
|
| |
translation, the former we support, the later we don't (yet).
llvm-svn: 67611
|
| |
|
|
|
|
| |
- Updated ccc & driver to look in libexec/ for tools.
llvm-svn: 67607
|
| |
|
|
| |
llvm-svn: 67603
|
| |
|
|
|
|
| |
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
|
| |
|
|
| |
llvm-svn: 67598
|
| |
|
|
|
|
|
|
|
|
|
|
| |
class C {
void g(C c);
virtual void f() = 0;
};
In this case, C is not known to be abstract when doing semantic analysis on g. This is done by recursively traversing the abstract class and checking the types of member functions.
llvm-svn: 67594
|
| |
|
|
| |
llvm-svn: 67593
|
| |
|
|
| |
llvm-svn: 67585
|
| |
|
|
|
|
| |
ccc due to the different way we handle output arguments).
llvm-svn: 67583
|
| |
|
|
|
|
| |
eliminating the duplication is next on the list.
llvm-svn: 67579
|
| |
|
|
| |
llvm-svn: 67577
|
| |
|
|
|
|
|
|
| |
always get ParmVarDecls with already-adjusted types. Assert it.
Thanks, Anders!
llvm-svn: 67576
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a class template. At present, we can only instantiation normal
methods, but not constructors, destructors, or conversion operators.
As ever, this contains a bit of refactoring in Sema's type-checking. In
particular:
- Split ActOnFunctionDeclarator into ActOnFunctionDeclarator
(handling the declarator itself) and CheckFunctionDeclaration
(checking for the the function declaration), the latter of which
is also used by template instantiation.
- We were performing the adjustment of function parameter types in
three places; collect those into a single new routine.
- When the type of a parameter is adjusted, allocate an
OriginalParmVarDecl to keep track of the type as it was written.
- Eliminate a redundant check for out-of-line declarations of member
functions; hide more C++-specific checks on function declarations
behind if(getLangOptions().CPlusPlus).
llvm-svn: 67575
|
| |
|
|
| |
llvm-svn: 67573
|
| |
|
|
| |
llvm-svn: 67569
|
| |
|
|
|
|
|
|
|
|
|
| |
On a synthetic command line consisting of almost all defined options,
this drops wall time from .00494 to .00336 and user time from .00258
to .00105.
On the same benchmark, clang-driver is about 15% faster than the
primary gcc driver and almost twice as fast as the gcc driver driver.
llvm-svn: 67564
|
| |
|
|
| |
llvm-svn: 67552
|
| |
|
|
| |
llvm-svn: 67551
|
| |
|
|
|
|
| |
make sure to check parameter types before they decay.
llvm-svn: 67550
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang doesn't support, and don't want to warn are unused. Eventually
these should disappear.
Here is a more readable list than is in the diff:
W options: -Wall, -Wcast-align, -Wchar-align, -Wchar-subscripts,
-Werror, -Wextra, -Winline, -Wint-to-pointer-cast, -Wmissing-braces,
-Wmost, -Wnested-externs, -Wno-format-y2k, -Wno-four-char-constants,
-Wno-missing-field-initializers, -Wno-trigraphs, -Wno-unknown-pragmas,
-Wno-unused-parameter, -Wparentheses, -Wpointer-arith,
-Wpointer-to-int-cast, -Wreturn-type, -Wshorten-64-to-32, -Wswitch,
-Wunused-function, -Wunused-label, -Wunused-value, -Wunused-variable,
-Wwrite-strings.
f options: -fasm-blocks, -fmessage-length=.
llvm-svn: 67549
|
| |
|
|
|
|
|
|
| |
Release-Asserts mode).
Also, avoid searching through option groups (which will never match).
llvm-svn: 67548
|
| |
|
|
| |
llvm-svn: 67543
|
| |
|
|
| |
llvm-svn: 67542
|
| |
|
|
|
|
|
|
| |
library function, accept this declaration and pretend that we do not
know that this is a library function. autoconf depends on this
(broken) behavior.
llvm-svn: 67541
|
| |
|
|
|
|
|
| |
This matters in assembler mode, where this is silently allowed.
This fixes rdar://6709206.
llvm-svn: 67539
|
| |
|
|
|
|
|
| |
<rdar://problem/6704930> involving SimpleConstraintManager not reasoning well
about symbolic constraint values involving arithmetic operators.
llvm-svn: 67534
|
| |
|
|
|
|
| |
prototype. Thanks Eli!
llvm-svn: 67533
|
| |
|
|
| |
llvm-svn: 67530
|
| |
|
|
| |
llvm-svn: 67529
|
| |
|
|
|
|
| |
- Patch by Ed Schoeten!
llvm-svn: 67527
|
| |
|
|
|
|
| |
values passed-by-reference to unknown functions.
llvm-svn: 67519
|
| |
|
|
|
|
| |
Evaluate for __extension__ and __builtin_choose_expr.
llvm-svn: 67506
|
| |
|
|
| |
llvm-svn: 67503
|
| |
|
|
| |
llvm-svn: 67501
|
| |
|
|
| |
llvm-svn: 67499
|
| |
|
|
| |
llvm-svn: 67497
|