| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
------------------------------------------------------------------------
r338942 | rsmith | 2018-08-04 03:02:00 +0200 (Sat, 04 Aug 2018) | 1 line
[www] Update cxx_status and cxx_dr_status now that Clang 7 has branched.
------------------------------------------------------------------------
llvm-svn: 339002
|
|
|
|
| |
llvm-svn: 338098
|
|
|
|
| |
llvm-svn: 338087
|
|
|
|
| |
llvm-svn: 338086
|
|
|
|
| |
llvm-svn: 337555
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change implements C++ DR1696, which makes initialization of a
reference member of a class from a temporary object ill-formed. The
standard wording here is imprecise, but we interpret it as meaning that
any time a mem-initializer would result in lifetime extension, the
program is ill-formed.
This reinstates r337226, reverted in r337255, with a fix for the
InitializedEntity alignment problem that was breaking ARM buildbots.
llvm-svn: 337329
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lifetime extension."
This change breaks on ARM because pointers to clang::InitializedEntity are only
4 byte aligned and do not have 3 bits to store values. A possible solution
would be to change the fields in clang::InitializedEntity to enforce a bigger
alignment requirement.
The error message is
llvm/include/llvm/ADT/PointerIntPair.h:132:3: error: static_assert failed "PointerIntPair with integer size too large for pointer"
static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
include/llvm/ADT/PointerIntPair.h:73:13: note: in instantiation of template class 'llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> >' requested here
Value = Info::updateInt(Info::updatePointer(0, PtrVal),
llvm/include/llvm/ADT/PointerIntPair.h:51:5: note: in instantiation of member function 'llvm::PointerIntPair<const clang::InitializedEntity *, 3, (anonymous namespace)::LifetimeKind, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *>, llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> > >::setPointerAndInt' requested here
setPointerAndInt(PtrVal, IntVal);
^
llvm/tools/clang/lib/Sema/SemaInit.cpp:6237:12: note: in instantiation of member function 'llvm::PointerIntPair<const clang::InitializedEntity *, 3, (anonymous namespace)::LifetimeKind, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *>, llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> > >::PointerIntPair' requested here
return {Entity, LK_Extended};
Full log here:
http://lab.llvm.org:8011/builders/clang-cmake-armv7-global-isel/builds/1330
http://lab.llvm.org:8011/builders/clang-cmake-armv7-full/builds/1394
llvm-svn: 337255
|
|
|
|
|
|
|
|
|
|
| |
This change implements C++ DR1696, which makes initialization of a
reference member of a class from a temporary object ill-formed. The
standard wording here is imprecise, but we interpret it as meaning that
any time a mem-initializer would result in lifetime extension, the
program is ill-formed.
llvm-svn: 337226
|
|
|
|
|
|
|
|
|
|
| |
This allows more qualification conversions, eg. conversion from
'int *(*)[]' -> 'const int *const (*)[]'
is now permitted, along with all the consequences of that: more types
are similar, more cases are permitted by const_cast, and conversely,
fewer "casting away constness" cases are permitted by reinterpret_cast.
llvm-svn: 336745
|
|
|
|
| |
llvm-svn: 335782
|
|
|
|
| |
llvm-svn: 334677
|
|
|
|
| |
llvm-svn: 334674
|
|
|
|
|
|
| |
While here, mark three-way comparison as in progress and bump "Clang 6" items from yellow to green.
llvm-svn: 333606
|
|
|
|
|
|
|
|
|
|
|
| |
These functions are obsolete. The analyzer would advice to replace them with
memcmp(), memcpy() or memmove(), or memset().
Patch by Tom Rix!
Differential Revision: https://reviews.llvm.org/D41881
llvm-svn: 333326
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found via codespell -q 3 -I ../clang-whitelist.txt
Where whitelist consists of:
archtype
cas
classs
checkk
compres
definit
frome
iff
inteval
ith
lod
methode
nd
optin
ot
pres
statics
te
thru
Patch by luzpaz! (This is a subset of D44188 that applies cleanly with a few
files that have dubious fixes reverted.)
Differential revision: https://reviews.llvm.org/D44188
llvm-svn: 329399
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
layout" rules.
The new rules say that a standard-layout struct has its first non-static
data member and all base classes at offset 0, and consider a class to
not be standard-layout if that would result in multiple subobjects of a
single type having the same address.
We track "is C++11 standard-layout class" separately from "is
standard-layout class" so that the ABIs that need this information can
still use it.
Differential Revision: https://reviews.llvm.org/D45176
llvm-svn: 329332
|
|
|
|
| |
llvm-svn: 328447
|
|
|
|
| |
llvm-svn: 327770
|
|
|
|
|
|
|
|
| |
Also rearrange how we list DR motions: rather than listing them as part of some
later standard, list them against the feature they are a DR against. Explicitly
add a description of how we handle DRs.
llvm-svn: 327769
|
|
|
|
|
|
|
|
|
| |
More generally, this permits a template to be specialized in any scope in which
it could be defined, so this also supersedes DR44 and DR374 (the latter of
which we previously only implemented in C++11 mode onwards due to unclarity as
to whether it was a DR).
llvm-svn: 327705
|
|
|
|
| |
llvm-svn: 327546
|
|
|
|
| |
llvm-svn: 327545
|
|
|
|
|
|
|
|
| |
introduction on the front page page.
We still use the lowercase "clang" spelling when referring to the driver binary.
llvm-svn: 326493
|
|
|
|
| |
llvm-svn: 326298
|
|
|
|
|
|
| |
The video is now uploaded to YouTube.
llvm-svn: 326062
|
|
|
|
| |
llvm-svn: 325475
|
|
|
|
| |
llvm-svn: 323864
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Autoconf and some other systems tend to add essential compilation
options to CC (e.g. -std=gnu99). When running such an auto-generated
makefile, scan-build does not need to change CC and CXX as they are
already set to use ccc-analyzer by a configure script.
Implement a new option --keep-cc as was proposed in this discussion:
http://lists.llvm.org/pipermail/cfe-dev/2013-September/031832.html
Patch by Paul Fertser!
llvm-svn: 323665
|
|
|
|
|
|
| |
"the the" -> "the"
llvm-svn: 323078
|
|
|
|
|
|
|
|
|
| |
matching.
While here, fix up the myriad other ways in which Sema's two "can this handler
catch that exception?" implementations get things wrong and unify them.
llvm-svn: 322431
|
|
|
|
| |
llvm-svn: 321016
|
|
|
|
|
|
| |
-frelaxed-template-template-args to enable the corresponding C++17 feature in Clang 5.
llvm-svn: 319495
|
|
|
|
| |
llvm-svn: 318108
|
|
|
|
|
|
| |
visible change.
llvm-svn: 317983
|
|
|
|
| |
llvm-svn: 317982
|
|
|
|
| |
llvm-svn: 316304
|
|
|
|
| |
llvm-svn: 315652
|
|
|
|
|
|
|
|
| |
in function name
Differential Revision: https://reviews.llvm.org/D37596
llvm-svn: 314573
|
|
|
|
|
|
| |
(discussed with Tanya by email)
llvm-svn: 312877
|
|
|
|
|
|
| |
has been released.
llvm-svn: 312850
|
|
|
|
|
|
|
| |
that element's type is (or is derived from) a specialization of the deduced
template, skip the std::initializer_list special case.
llvm-svn: 312703
|
|
|
|
| |
llvm-svn: 312191
|
|
|
|
|
|
|
| |
This would be trivial, except that our in-memory and serialized representations
for FieldDecls assumed that this can't happen.
llvm-svn: 311867
|
|
|
|
|
|
| |
http://llvm.org/devmtg/
llvm-svn: 311767
|
|
|
|
| |
llvm-svn: 311766
|
|
|
|
|
|
|
|
| |
rvalues.
Patch by Blitz Rakete!
llvm-svn: 311744
|
|
|
|
|
|
|
|
|
|
| |
This patch, by hamzasood, implements P0409R2, and allows [=, this] pre-C++2a as an extension (with appropriate warnings) for consistency.
https://reviews.llvm.org/D36572
Thanks Hamza!
llvm-svn: 311224
|
|
|
|
| |
llvm-svn: 310694
|
|
|
|
| |
llvm-svn: 310693
|
|
|
|
| |
llvm-svn: 310692
|