lp:~vcs-imports/llvm/clang-trunk
- Get this branch:
- bzr branch lp:~vcs-imports/llvm/clang-trunk
Branch merges
Branch information
Import details
This branch is an import of the Subversion branch from http://llvm.org/svn/llvm-project/cfe/trunk.
Last successful import was .
Recent revisions
- 73979. By tzik
-
Update NRVO logic to support early return (Attempt 2)
Summary:
This is the second attempt of r333500 (Update NRVO logic to support early return).
The previous one was reverted for a miscompilation for an incorrect NRVO set up on templates such as:
```
struct Foo {};template <typename T>
T bar() {
T t;
if (false)
return T();
return t;
}
```Where, `t` is marked as non-NRVO variable before its instantiation. However, while its instantiation, it's left an NRVO candidate, turned into an NRVO variable later.
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: cfe-commits
Differential Revision: https:/
/reviews. llvm.org/ D47586 - 73978. By pcc
-
IRgen: Mark aliases of ctors and dtors as unnamed_addr.
This is not only semantically correct but ensures that they will not
be marked as address-significant once D48155 lands.Differential Revision: https:/
/reviews. llvm.org/ D48206 - 73977. By nico
-
Don't let test/Driver/
no-canonical- prefixes. c form a symlink cycle the second time it runs. The test makes %t.fake a symlink to %t.real by running `ln -sf %t.real
%t.fake`. If %t.fake already is a symlink to %t.real when this runs (e.g. if
the test has run before), then this effectively becomes `ln -sf %t.real %t.real`,
symlinking the directory to itself. At least on my mac, this leads to the
directory containing itself.As fix, just remove %t.fake before creating the symlink. To clean up build dirs
on bots, also remove %t.real for a while. - 73975. By tkrupa
-
Fix a bug introduced by rL334850
Summary: All *_sqrt_round_s[s|d] intrinsics should execute a square root on
zeroth element from B (Ops[1]) and insert in to A (Ops[0]), not the other way around.Reviewers: itaraban, craig.topper
Reviewed By: craig.topper
Subscribers: craig.topper, cfe-commits
Differential Revision: https:/
/reviews. llvm.org/ D48288 - 73974. By abataev
-
[OPENMP, NVPTX] Emit simple reduction if requested.
If simple reduction is requested, use the simple reduction instead of
the runtime functions calls. - 73972. By szelethus
-
[analyzer] Checker for uninitialized C++ objects
This checker analyzes C++ constructor calls, and reports uninitialized fields.
Due to the nature of this problem (uninitialized fields after an object
construction), this checker doesn't search for bugs, but rather is a tool to
enforce a specific programming model where every field needs to be initialized.This checker lands in alpha for now, and a number of followup patches will be
made to reduce false negatives and to make it easier for the user to understand
what rules the checker relies on, eg. whether a derived class' constructor is
responsible for initializing inherited data members or whether it should be
handled in the base class' constructor.Differential Revision: https:/
/reviews. llvm.org/ D45532 - 73971. By dlj
-
[ASTMatchers] Add support for matching the type of a friend decl.
This allows matchers like:
friendDecl(
hasType( cxxRecordDecl( ...)))
friendDecl(hasType( asString( ...))) It seems that hasType is probably the most reasonable narrowing matcher to
overload, since it is already used to narrow to other declaration kinds.Differential Revision: https:/
/reviews. llvm.org/ D48242 Reviewers: klimek, aaron.ballman
Subscribers: cfe-commits
- 73970. By dlj
-
[ASTMatchers] Don't assert-fail in specifiesTypeLoc().
The specifiesTypeLoc() matcher narrows a nestedNameSpecifier matcher based on a
typeloc within the NNS. However, the matcher does not guard against NNS which
are a namespace, and cause getTypeLoc to assert-fail.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)