| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 139154
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
handleFloatConversion()
handleComplexIntConvsersion()
llvm-svn: 139153
|
| |
|
|
| |
llvm-svn: 139152
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType
Functions changed:
handleComplexFloatToComplexFloatConverstion()
handleComplexFloatConversion()
llvm-svn: 139151
|
| |
|
|
|
|
| |
the end of a function), now with less deleting stores before memcpy's.
llvm-svn: 139150
|
| |
|
|
|
|
|
|
| |
Jean-Daniel Dupas!
Also provide a modicum of test coverage for ranged for in C++98.
llvm-svn: 139149
|
| |
|
|
| |
llvm-svn: 139148
|
| |
|
|
|
|
| |
Update DebugInfoFinder to collect compile units from llvm.dbg.cu.
llvm-svn: 139147
|
| |
|
|
|
|
|
| |
needed for implicit move constructors and move assignment
operators. Fixes PR10847.
llvm-svn: 139144
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
synthesized move assignment within an implicitly-defined move
assignment operator, be sure to treat the derived-to-base cast as an
xvalue (rather than an lvalue). Otherwise, we'll end up getting the
wrong constructor.
Optimize a direct call to a trivial move assignment operator to an
aggregate copy, as we do for trivial copy assignment operators, and
update the the assertion in CodeGenFunction::EmitAggregateCopy() to
cope with this optimization.
Fixes PR10860.
llvm-svn: 139143
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
init.trampoline and adjust.trampoline intrinsics, into two intrinsics
like in GCC. While having one combined intrinsic is tempting, it is
not natural because typically the trampoline initialization needs to
be done in one function, and the result of adjust trampoline is needed
in a different (nested) function. To get around this llvm-gcc hacks the
nested function lowering code to insert an additional parent variable
holding the adjust.trampoline result that can be accessed from the child
function. Dragonegg doesn't have the luxury of tweaking GCC code, so it
stored the result of adjust.trampoline in the memory GCC set aside for
the trampoline itself (this is always available in the child function),
and set up some new memory (using an alloca) to hold the trampoline.
Unfortunately this breaks Go which allocates trampoline memory on the
heap and wants to use it even after the parent has exited (!). Rather
than doing even more hacks to get Go working, it seemed best to just use
two intrinsics like in GCC. Patch mostly by Sanjoy Das.
llvm-svn: 139140
|
| |
|
|
| |
llvm-svn: 139139
|
| |
|
|
| |
llvm-svn: 139138
|
| |
|
|
| |
llvm-svn: 139137
|
| |
|
|
|
|
| |
add more showing of my work.
llvm-svn: 139136
|
| |
|
|
| |
llvm-svn: 139135
|
| |
|
|
| |
llvm-svn: 139134
|
| |
|
|
|
|
|
| |
visible given a=b=c=d=1, on iteration #1 (the second iteration). Replace it with
correct math. Fixes PR10383!
llvm-svn: 139133
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RUN: foo
RUN: bar || true
is equivalent to:
RUN: foo && bar || true
which is equivalent to:
RUN: (foo && bar) || true
This resulted in several of the fixit tests not really testing anything.
llvm-svn: 139132
|
| |
|
|
|
|
|
| |
'size_t size', instead of 'lldb::tid_t tid'. Pass size to the StoppointLocation
ctor as well.
llvm-svn: 139131
|
| |
|
|
| |
llvm-svn: 139130
|
| |
|
|
|
|
| |
Spotted by Ninja.
llvm-svn: 139129
|
| |
|
|
| |
llvm-svn: 139128
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
as well as the search path printed by -print-search-dirs.
The main purpose of this change is to cause -print-file-name=include
to print the path to the include directory under Clang's resource
directory, instead of the system compiler's include directory, whose
header files Clang may not be able to parse. Some build scripts will
do something like:
$(CC) -nostdinc -I`$(CC) -print-file-name=include`
to exclude all header paths except the compiler's.
llvm-svn: 139127
|
| |
|
|
|
|
| |
HowFarToZero; the case for a canonical loop.
llvm-svn: 139126
|
| |
|
|
|
|
|
| |
instructions are more aligned than the CPU requires, and adds some additional
directives, to follow in future patches. Patch by David Meyer!
llvm-svn: 139125
|
| |
|
|
| |
llvm-svn: 139124
|
| |
|
|
| |
llvm-svn: 139122
|
| |
|
|
|
|
|
|
| |
original value if types don't match.
Fixes clang selfhost.
llvm-svn: 139120
|
| |
|
|
|
|
| |
exception.
llvm-svn: 139117
|
| |
|
|
|
|
|
|
| |
scannig backwards to see if the newline is escaped.
3% speedup in preprocessing all of clang with -Eonly. Also includes a small testcase for coverage.
llvm-svn: 139116
|
| |
|
|
| |
llvm-svn: 139115
|
| |
|
|
| |
llvm-svn: 139114
|
| |
|
|
|
|
| |
up do-nothing exception handling code produced by dragonegg.
llvm-svn: 139113
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
a very large chunk of code and found zero false positives. I've only
found a few bugs, but that likely is because bugs of this nature
actually do manifest. We've also identified several bugs that were
caught by Valgrind, but would have been caught faster and more easily
with this warning.
If anyone has concerns, or this causes fallout on any build bots, lemme
know. I'm happy to just put it under -Wmost.
llvm-svn: 139112
|
| |
|
|
|
|
| |
whether a class is an aggregate in C++0x, treat all functions which are neither deleted nor defaulted as user-provided, not just special member functions. The wording of the standard only defines the term "user-provided" for special member functions, but the intent seems to be that any function can be user-provided.
llvm-svn: 139111
|
| |
|
|
|
|
|
|
| |
- Drop support for X >u 0, it's equivalent to X != 0 and should be canonicalized into the latter.
- Add X < 1 -> unlikely, which is what instcombine canonicalizes X <= 0 into.
- Add X > -1 -> likely, which is what instcombine canonicalizes X >= 0 into.
llvm-svn: 139110
|
| |
|
|
|
|
| |
the dependent case.
llvm-svn: 139109
|
| |
|
|
|
|
|
|
|
| |
edis shared library in the Makefile build, also stop building it in the
CMake build.
Patch by arrowdodger!
llvm-svn: 139108
|
| |
|
|
|
|
| |
some CMake patch backlog...
llvm-svn: 139107
|
| |
|
|
|
|
| |
Patch by arrowdodger!
llvm-svn: 139106
|
| |
|
|
|
|
|
|
| |
CXXDependentScopeMemberExpr to handle a "this->" fixit (lookup into dependent bases of class template)
Otherwise the fixit doesn't really work for subsequent lookup.
llvm-svn: 139105
|
| |
|
|
| |
llvm-svn: 139104
|
| |
|
|
|
|
| |
C++98: permit it within type-ids.
llvm-svn: 139103
|
| |
|
|
|
|
| |
for-range and auto with an ExtWarn, and produce a -Wc++0x-compat warning in C++98 mode when auto is used as a storage class.
llvm-svn: 139102
|
| |
|
|
|
|
|
|
| |
Fix bug this uncovered.
Address minor comments from Doug.
Enable cxx_implicit_moves feature.
llvm-svn: 139101
|
| |
|
|
| |
llvm-svn: 139097
|
| |
|
|
| |
llvm-svn: 139096
|
| |
|
|
| |
llvm-svn: 139095
|
| |
|
|
| |
llvm-svn: 139094
|