| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
it. Based on patch by Yin Ma. Fixes PR11751.
llvm-svn: 148093
|
| |
|
|
|
|
|
| |
The code type was always identical to a string anyway. Now it is simply
a synonym. The code literal syntax [{...}] is still valid.
llvm-svn: 148092
|
| |
|
|
|
|
|
| |
This avoids a gazillion StringMap and dynamic_cast calls, making
TableGen run 3x faster.
llvm-svn: 148091
|
| |
|
|
|
|
| |
report on cfe-dev.
llvm-svn: 148090
|
| |
|
|
|
|
| |
function. In particular, this restores the cool error recovery for the example from http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html , which regressed a few months back.
llvm-svn: 148089
|
| |
|
|
|
|
| |
incomplete return type.
llvm-svn: 148088
|
| |
|
|
|
|
|
|
|
| |
all the file & line matches
and only pick the "best" ones.
<rdar://problem/10685990>
llvm-svn: 148087
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
overly conservative. It was concerned about cases where it would prohibit
folding simple [r, c] addressing modes. e.g.
ldr r0, [r2]
ldr r1, [r2, #4]
=>
ldr r0, [r2], #4
ldr r1, [r2]
Change the logic to look for such cases which allows it to form indexed memory
ops more aggressively.
rdar://10674430
llvm-svn: 148086
|
| |
|
|
|
|
|
| |
objects, and add a basic CorrectionCandidateCallback template class
to simplify the fixups.
llvm-svn: 148085
|
| |
|
|
| |
llvm-svn: 148084
|
| |
|
|
|
|
| |
clang itself. It creates a ridiculously large class hierarchy using variadic templates. You can specify both the width and depth of the class hierarchy. And you can specify whether the cast is to the actual run time type, or to an intermediate layer in the class. About 1/3 of the time I compile this, it crashes the compiler. There seems to be an uninitialized area of memory, and I'm probably blowing past an assumption on class hierarchy size within clang (and understandably so). I can get it work most of the time with a class hierarchy width of 20 and a depth of 7. I'm making timings with both -O3 and -Os, using both cast to root and cast to intermediate, on both libc++abi, and gcc's dynamic_cast. I've put the results in a comment/table at the bottom of the test.
llvm-svn: 148083
|
| |
|
|
|
|
|
| |
requirement to headers under PrivateHeaders. We don't want to build
them as part of the module (yet).
llvm-svn: 148082
|
| |
|
|
|
|
| |
radar://10686991
llvm-svn: 148081
|
| |
|
|
| |
llvm-svn: 148080
|
| |
|
|
|
|
| |
looking up value at a CodeTextRegion even when the type is not provided.
llvm-svn: 148079
|
| |
|
|
| |
llvm-svn: 148078
|
| |
|
|
| |
llvm-svn: 148077
|
| |
|
|
|
|
|
|
| |
the optimizer doesn't eliminate objc_retainBlock calls which are needed
for their side effect of copying blocks onto the heap.
This implements rdar://10361249.
llvm-svn: 148076
|
| |
|
|
| |
llvm-svn: 148075
|
| |
|
|
|
|
| |
inside a class implementation with parse errors. // rdar://10633434
llvm-svn: 148074
|
| |
|
|
|
|
|
|
| |
test_move_and_then_display_source (TestSourceManager.py) never works in LLDB test suite
Forgot to svn ci the "hidden" directory. :-(
llvm-svn: 148073
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- If the declarator is at the start of a line, and the previous line contained
another declarator and ended with a comma, then that comma was probably a
typo for a semicolon:
int n = 0, m = 1, l = 2, // k = 5;
myImportantFunctionCall(); // oops!
- If removing the parentheses would correctly initialize the object, then
produce a note suggesting that fix.
- Otherwise, if there is a simple initializer we can suggest which performs
value-initialization, then provide a note suggesting a correction to that
initializer.
Sema::Declarator now tracks the location of the comma prior to the declarator in
the declaration, if there is one, to facilitate providing the note. The code to
determine an appropriate initializer from the -Wuninitialized warning has been
factored out to allow use in both that and -Wvexing-parse.
llvm-svn: 148072
|
| |
|
|
|
|
| |
deprecated.
llvm-svn: 148071
|
| |
|
|
|
|
| |
Original message: Make sure adding a field to a struct never reduces its size. PR11745.
llvm-svn: 148070
|
| |
|
|
| |
llvm-svn: 148069
|
| |
|
|
| |
llvm-svn: 148068
|
| |
|
|
| |
llvm-svn: 148067
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Need a test case that tests DWARF with .o in .a files
test/functionalities/archives:
Produces libfoo.a from a.o and b.o. Test breaking inside functions defined
inside the libfoo.a BSD Archive.
test/make/makefile.rules:
Some additional rules to sepcify archive building. For example:
ARCHIVE_NAME := libfoo.a
ARCHIVE_C_SOURCES := a.c b.c
llvm-svn: 148066
|
| |
|
|
| |
llvm-svn: 148065
|
| |
|
|
|
|
|
| |
The registers are placed into the saved registers list in the reverse order,
which is why the original loop was written to loop backwards.
llvm-svn: 148064
|
| |
|
|
|
|
|
|
|
| |
from debug info, and those that
are made up from the ObjC runtime symbols. For now the latter contain nothing but the fact that the name
describes an ObjC class, and so are not useful for things like dynamic types.
llvm-svn: 148059
|
| |
|
|
| |
llvm-svn: 148058
|
| |
|
|
| |
llvm-svn: 148057
|
| |
|
|
| |
llvm-svn: 148056
|
| |
|
|
| |
llvm-svn: 148055
|
| |
|
|
|
|
|
|
|
|
| |
expensive
and doing it both at the ModuleList and Module levels means we look 4 times for a negative
search. Also, don't do the search for the stripped name if that is the same as the original
one.
llvm-svn: 148054
|
| |
|
|
|
|
|
|
| |
selector identifiers.
It was difficult to form a test case for it unfortunately.
llvm-svn: 148053
|
| |
|
|
|
|
| |
improvng the typo correction results in certain situations.
llvm-svn: 148052
|
| |
|
|
|
|
| |
list of protools. // rdar://10669694
llvm-svn: 148051
|
| |
|
|
|
|
|
|
| |
Promote for those operations.
Sorry, no test case yet
llvm-svn: 148050
|
| |
|
|
| |
llvm-svn: 148049
|
| |
|
|
|
|
| |
Patch by Ruben Van Boxem!
llvm-svn: 148048
|
| |
|
|
| |
llvm-svn: 148047
|
| |
|
|
|
|
| |
performance. So far I haven't noticed any performance difference between this new __dynamic_cast and gcc's implementation. But I've barely started looking. Also adding a couple of tests which come straight out of the standard.
llvm-svn: 148046
|
| |
|
|
|
|
| |
Patch by Sylvestre Ledru.
llvm-svn: 148045
|
| |
|
|
|
|
|
| |
lc: X86ISelLowering.cpp:6480: llvm::SDValue llvm::X86TargetLowering::LowerVECTOR_SHUFFLE(llvm::SDValue, llvm::SelectionDAG&) const: Assertion `V1.getOpcode() != ISD::UNDEF&& "Op 1 of shuffle should not be undef"' failed.
Added a test.
llvm-svn: 148044
|
| |
|
|
|
|
|
|
|
|
|
| |
killed registers are needed below the insertion point, then unset the kill
marker.
Sorry I'm not able to find a reduced test case.
rdar://10660944
llvm-svn: 148043
|
| |
|
|
|
|
| |
Patch by Brian Anderson.
llvm-svn: 148042
|
| |
|
|
|
|
|
| |
This patch uses tcb_spare field in the tcb structure to store info.
Patch by Jyun-Yan You.
llvm-svn: 148041
|
| |
|
|
|
|
|
| |
Uses the pvArbitrary slot of the TIB, which is reserved for applications. We
only support frames with a static size.
llvm-svn: 148040
|