| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
own subcategory, -Wconstant-conversion, which is on by default.
Tweak the constant folder to give better results in the invalid
case of a negative shift amount.
Implements rdar://problem/6792488
llvm-svn: 118636
|
| |
|
|
| |
llvm-svn: 118635
|
| |
|
|
|
|
| |
// rdar://8632525
llvm-svn: 118634
|
| |
|
|
|
|
| |
conditional operators. Fixes PR7863.
llvm-svn: 118631
|
| |
|
|
|
|
| |
// rdar://8283484
llvm-svn: 118629
|
| |
|
|
|
|
| |
being constructed.
llvm-svn: 118625
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
That bug concerned the well-formedness of code such as (&ovl)(a, b,
c). GCC rejects the code, while EDG accepts it. On further study of the
standard, I see no support for EDG's position: in particular, C++
[over.over] does not list this as a context where we can take the
address of an overloaded function, C++ [over.call.func] does not
reference the address-of operator at any point, and C++ [expr.call]
claims that the function argument in a call is either a function
lvalue or a pointer-to-function; (&ovl) is neither.
llvm-svn: 118620
|
| |
|
|
|
|
|
|
| |
mangler. Now member functions and pointers thereof have their calling
convention mangled as __thiscall if they have the default CC (even though,
they technically still have the __cdecl CC).
llvm-svn: 118598
|
| |
|
|
|
|
| |
with, e.g., (&f)(a, b, c). Fixes PR8013.
llvm-svn: 118508
|
| |
|
|
| |
llvm-svn: 118500
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
location where we're spelling a token even within a
macro. clang_getInstantiationLocation() tells where we instantiated
the macro.
I'm still not thrilled with the CXSourceLocation/CXSourceRange APIs,
since they gloss over macro-instantiation information.
Take 2: this time, adjusted tests appropriately and used a "simple"
approach to the spelling location.
llvm-svn: 118495
|
| |
|
|
| |
llvm-svn: 118494
|
| |
|
|
|
|
|
|
|
|
|
| |
location where we're spelling a token even within a
macro. clang_getInstantiationLocation() tells where we instantiated
the macro.
I'm still not thrilled with the CXSourceLocation/CXSourceRange APIs,
since they gloss over macro-instantiation information.
llvm-svn: 118492
|
| |
|
|
|
|
|
| |
definitions in its results. The original declarations will be visible
wherever they are declared.
llvm-svn: 118484
|
| |
|
|
| |
llvm-svn: 118483
|
| |
|
|
| |
llvm-svn: 118482
|
| |
|
|
|
|
| |
Wieczorek! Fixes PR8025.
llvm-svn: 118481
|
| |
|
|
| |
llvm-svn: 118476
|
| |
|
|
|
|
| |
has broken a build.
llvm-svn: 118475
|
| |
|
|
| |
llvm-svn: 118474
|
| |
|
|
|
|
| |
<rdar://problem/8642434>.
llvm-svn: 118473
|
| |
|
|
|
|
| |
Fixes rdar://8644873 & http://llvm.org/PR8567.
llvm-svn: 118468
|
| |
|
|
|
|
|
|
|
|
|
|
| |
there's no return adjustment from the overridden to the overrider doesn't
mean there isn't a return adjustment from the overrider to the final
overrider. This matters if we're emitting a virtual this-adjustment thunk
because the overrider virtually inherits from the class providing the
nearest overridden method. Do the appropriate return adjustment in this case.
Fixes PR7611.
llvm-svn: 118466
|
| |
|
|
|
|
| |
Fixes PR8001.
llvm-svn: 118454
|
| |
|
|
|
|
| |
to avoid a bogus warning. Fixes //rdar: //8632525
llvm-svn: 118451
|
| |
|
|
|
|
|
|
|
| |
we can blow out the stack due
to deeply nested BinaryOperators. This is done by turning the explicit recursion into being data recursive.
Fixes: <rdar://problem/8289205>
llvm-svn: 118444
|
| |
|
|
|
|
|
|
| |
and we statically can compute a bound on the actual type (e.g.,
because it's a send to the the magic "class" instance method), code
complete as if we were performing a class message send to that class.
llvm-svn: 118443
|
| |
|
|
|
|
|
| |
tweak the documentation for deprecation-with-message. Provide __has_feature
tests for both. rdar://problem/8605692
llvm-svn: 118435
|
| |
|
|
|
|
|
|
| |
is complete.
Fixes rdar://8620582 & http://llvm.org/PR7905
llvm-svn: 118428
|
| |
|
|
|
|
| |
inside blocks. Fixes //rdar: //8608293.
llvm-svn: 118425
|
| |
|
|
|
|
|
|
|
| |
constructor template will not be used to copy a class object to a
value of its own type. We were eliminating all constructor templates
whose specializations look like a copy constructor, which eliminated
important candidates. Fixes PR8182.
llvm-svn: 118418
|
| |
|
|
|
|
|
| |
consider that we might be trying to bind a reference to a class type,
which involves a constructor call. Fixes PR7425.
llvm-svn: 118407
|
| |
|
|
| |
llvm-svn: 118402
|
| |
|
|
|
|
| |
Faisal Vali, tweaked by me. Fixes PR8230.
llvm-svn: 118400
|
| |
|
|
|
|
| |
On the certain system, bogus SORT.EXE is picked up. Its sort-order is incompatible to POSIX.
llvm-svn: 118391
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
abstractions (e.g., TemplateArgumentListBuilder) that were designed to
support variadic templates. Only a few remnants of variadic templates
remain, in the parser (parsing template type parameter packs), AST
(template type parameter pack bits and TemplateArgument::Pack), and
Sema; these are expected to be used in a future implementation of
variadic templates.
But don't get too excited about that happening now.
llvm-svn: 118385
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*) Try to detect as much as possible from the system itself, not the distro.
This should make it easier to port to a new distro and more likely to
work on a unknown one.
*) The distro enum now doesn't include the arch. Just use the existing
host detection support in LLVM.
*) Correctly handle --sysroot.
A small regression is that now clang will pass bitcode file to the linker.
This is necessary for the gold plugin support to work.
It might be better to detect this at configure/cmake time, but doing it in
c++ first is a lot easier.
llvm-svn: 118382
|
| |
|
|
| |
llvm-svn: 118381
|
| |
|
|
| |
llvm-svn: 118366
|
| |
|
|
| |
llvm-svn: 118344
|
| |
|
|
|
|
|
|
|
| |
data members by delaying the emission of the initializer until after
linkage and visibility have been set on the global. Also, don't
emit a guard unless the variable actually ends up with vague linkage,
and don't use thread-safe statics in any case.
llvm-svn: 118336
|
| |
|
|
|
|
| |
make sure to setup the instantiation stack. Fixes rdar://8620775 & http://llvm.org/PR8234
llvm-svn: 118314
|
| |
|
|
|
|
|
|
| |
of its parent context, be sure to update the parent-context pointer
after instantiation. Fixes two anonymous-union instantiation issues in
<rdar://problem/8635664>.
llvm-svn: 118313
|
| |
|
|
|
|
|
|
| |
e.g. #pragma clang diagnostic can be used in a PCH.
Fixes rdar://8435969.
llvm-svn: 118303
|
| |
|
|
|
|
|
|
| |
CXXConstructorExpr/CXXTemporaryObjectExpr references the constructor
it calls. Then, tweak clang_getCursor() to prefer such a call over a
type reference to the type being called.
llvm-svn: 118297
|
| |
|
|
|
|
|
| |
qualified ObjC pointer types in its argument list.
// rdar: //8608902
llvm-svn: 118286
|
| |
|
|
| |
llvm-svn: 118276
|
| |
|
|
|
|
| |
std::nullptr_t to bool is better than one than does.
llvm-svn: 118269
|
| |
|
|
|
|
| |
found. This should fix the errors seen on the bot.
llvm-svn: 118246
|
| |
|
|
|
|
| |
check that the TargetNestedNameDecl is the same first.
llvm-svn: 118239
|