[PATCH] D32378: Insert invariant.group.barrier for pointers comparsons

2017-04-21 Thread Piotr Padlewski via Phabricator via cfe-commits
Prazek created this revision. This code was wrongly devirtualized before: A* a = new A; a->foo(); A* b = new(a) B; if (a == b) b->foo(); Now we insert barrier before comparing dynamic pointers. https://reviews.llvm.org/D32378 Files: lib/CodeGen/CGExprScalar.cpp test/CodeGen

r301051 - [index] Take into account the category's external_symbol attr for namespacing its methods

2017-04-21 Thread Argyrios Kyrtzidis via cfe-commits
Author: akirtzidis Date: Fri Apr 21 17:27:06 2017 New Revision: 301051 URL: http://llvm.org/viewvc/llvm-project?rev=301051&view=rev Log: [index] Take into account the category's external_symbol attr for namespacing its methods Modified: cfe/trunk/include/clang/Index/USRGeneration.h cfe/t

[PATCH] D32378: Insert invariant.group.barrier for pointers comparisons

2017-04-21 Thread Richard Smith via Phabricator via cfe-commits
rsmith added inline comments. Comment at: lib/CodeGen/CGExprScalar.cpp:3066-3067 +} else { // Unsigned integers and pointers. + if (CGF.CGM.getCodeGenOpts().StrictVTablePointers && + CGF.CGM.getCodeGenOpts().OptimizationLevel > 0) { +// Based on comparis

[PATCH] D31830: Emit invariant.group.barrier when using union field

2017-04-21 Thread Piotr Padlewski via Phabricator via cfe-commits
Prazek updated this revision to Diff 96254. Prazek added a comment. - Checking for vptrs https://reviews.llvm.org/D31830 Files: lib/CodeGen/CGExpr.cpp test/CodeGenCXX/strict-vtable-pointers.cpp Index: test/CodeGenCXX/strict-vtable-pointers.cpp ==

[PATCH] D31830: Emit invariant.group.barrier when using union field

2017-04-21 Thread Piotr Padlewski via Phabricator via cfe-commits
Prazek marked 6 inline comments as done. Prazek added a comment. For now I will check if it has any vptrs. It will be probably soon stored in the CXXRecordDecl because it will be used much more frequently when generating barriers for pointer casts. https://reviews.llvm.org/D31830 __

[PATCH] D31830: Emit invariant.group.barrier when using union field

2017-04-21 Thread Piotr Padlewski via Phabricator via cfe-commits
Prazek updated this revision to Diff 96255. Prazek added a comment. - format https://reviews.llvm.org/D31830 Files: lib/CodeGen/CGExpr.cpp test/CodeGenCXX/strict-vtable-pointers.cpp Index: test/CodeGenCXX/strict-vtable-pointers.cpp ==

[libcxx] r301055 - Expand test coverage for LWG2857

2017-04-21 Thread Casey Carter via cfe-commits
Author: caseycarter Date: Fri Apr 21 17:38:59 2017 New Revision: 301055 URL: http://llvm.org/viewvc/llvm-project?rev=301055&view=rev Log: Expand test coverage for LWG2857 * Cover optional's emplace-from-initializer_list overload * Verify that any::emplace and optional::emplace return a reference

[PATCH] D32106: [libcxx][test] Expand LWG2857 coverage

2017-04-21 Thread Casey Carter via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL301055: Expand test coverage for LWG2857 (authored by CaseyCarter). Changed prior to commit: https://reviews.llvm.org/D32106?vs=95368&id=96260#toc Repository: rL LLVM https://reviews.llvm.org/D32106

r301056 - P0629R0: Switch to latest proposal for distinguishing module interface from implementation.

2017-04-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Apr 21 17:39:18 2017 New Revision: 301056 URL: http://llvm.org/viewvc/llvm-project?rev=301056&view=rev Log: P0629R0: Switch to latest proposal for distinguishing module interface from implementation. This switches from the prototype syntax in P0273R0 ('module' and 'modul

[PATCH] D32385: [libcxx] Implement LWG 2900 "The copy and move constructors of optional are not constexpr"

2017-04-21 Thread Casey Carter via Phabricator via cfe-commits
CaseyCarter created this revision. .. by injecting base classes that differentiate between trivial/non-trivial implementation of each copy/move constructor/assignment. This actually goes a bit beyond the PR by also making the copy/move assignment operators trivial when the base type has corresp

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Since I haven't heard from Marshall and Hal's fine with the less-future-proof std::is_floating_point, I'll commit that and we can iterate in tree. Just running tests. https://reviews.llvm.org/D31561 ___ cfe-commits mai

[libcxx] r301060 - cmath: Skip Libc for integral types in isinf, etc.

2017-04-21 Thread Duncan P. N. Exon Smith via cfe-commits
Author: dexonsmith Date: Fri Apr 21 18:14:55 2017 New Revision: 301060 URL: http://llvm.org/viewvc/llvm-project?rev=301060&view=rev Log: cmath: Skip Libc for integral types in isinf, etc. For std::isinf, the standard requires effectively calling isinf as double from Libc for integral types. But i

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith added a comment. Committed in r301060. https://reviews.llvm.org/D31561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D32064: [asan] Disable ASan global-GC depending on the target and compiler flags

2017-04-21 Thread Evgeniy Stepanov via Phabricator via cfe-commits
eugenis updated this revision to Diff 96263. Repository: rL LLVM https://reviews.llvm.org/D32064 Files: lib/CodeGen/BackendUtil.cpp test/CodeGen/asan-globals-gc.cpp Index: test/CodeGen/asan-globals-gc.cpp === --- /dev/null +

[PATCH] D32064: [asan] Disable ASan global-GC depending on the target and compiler flags

2017-04-21 Thread Evgeniy Stepanov via Phabricator via cfe-commits
eugenis added a comment. PTAL Repository: rL LLVM https://reviews.llvm.org/D32064 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D32064: [asan] Disable ASan global-GC depending on the target and compiler flags

2017-04-21 Thread Peter Collingbourne via Phabricator via cfe-commits
pcc accepted this revision. pcc added a comment. This revision is now accepted and ready to land. LGTM Repository: rL LLVM https://reviews.llvm.org/D32064 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailm

r301063 - Move Split DWARF handling to an MC option/command line argument rather than using metadata

2017-04-21 Thread David Blaikie via cfe-commits
Author: dblaikie Date: Fri Apr 21 18:35:36 2017 New Revision: 301063 URL: http://llvm.org/viewvc/llvm-project?rev=301063&view=rev Log: Move Split DWARF handling to an MC option/command line argument rather than using metadata Since Split DWARF needs to name the actual .dwo file that is generated

[PATCH] D31542: [clang-tidy] Extend readability-container-size-empty to add comparisons to newly-constructed objects

2017-04-21 Thread Josh Zimmerman via Phabricator via cfe-commits
joshz added a comment. Are there any further changes I should make, or is this good to submit now? Thanks! Repository: rL LLVM https://reviews.llvm.org/D31542 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/

[PATCH] D32199: [TySan] A Type Sanitizer (Clang)

2017-04-21 Thread Hal Finkel via Phabricator via cfe-commits
hfinkel updated this revision to Diff 96264. hfinkel added a comment. Output metadata to provide the types of globals (similar to how Clang marks globals for asan). https://reviews.llvm.org/D32199 Files: include/clang/Basic/Sanitizers.def include/clang/Driver/SanitizerArgs.h lib/CodeGen/

r301066 - Rearrange some Modules TS testcases into test/CXX/modules-ts.

2017-04-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Apr 21 19:47:53 2017 New Revision: 301066 URL: http://llvm.org/viewvc/llvm-project?rev=301066&view=rev Log: Rearrange some Modules TS testcases into test/CXX/modules-ts. Added: cfe/trunk/test/CXX/modules-ts/ cfe/trunk/test/CXX/modules-ts/basic/ cfe/trunk/test/

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 96269. dexonsmith added a comment. Thanks Eli and Richard. Given that, I've thrown in fixes for `INTMAX_MIN`, `INTMAX_MAX`, `UINTMAX_MAX`, `INTMAX_C()`, and `UINTMAX_C()`, as well as fixing the typedefs for `intptr_t`, `uintptr_t`, `intmax_t`, and `uintm

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added inline comments. Comment at: clang/test/Headers/stdint-typeof-MINMAX.cpp:1 +// RUN: %clang_cc1 %s -ffreestanding -std=c++1z -fsyntax-only -triple=aarch64-none-none +// RUN: %clang_cc1 %s -ffreestanding -std=c++1z -fsyntax-only -triple=arm-none-none

[PATCH] D32386: [libcxx] [test] Avoid P0138R2, direct-list-init of fixed enums from integers.

2017-04-21 Thread Stephan T. Lavavej via Phabricator via cfe-commits
STL_MSFT created this revision. [libcxx] [test] Avoid P0138R2, direct-list-init of fixed enums from integers. This C++17 Core Language feature isn't necessary when testing std::byte. It's a minor convenience, but it limits test coverage to very new compilers. (I encountered this because C1XX cur

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-21 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added inline comments. Comment at: clang/test/Headers/stdint-typeof-MINMAX.cpp:1 +// RUN: %clang_cc1 %s -ffreestanding -std=c++1z -fsyntax-only -triple=aarch64-none-none +// RUN: %clang_cc1 %s -ffreestanding -std=c++1z -fsyntax-only -triple=arm-none-none --

[PATCH] D32341: Fix a bug that warnings generated with -M or -MM flags

2017-04-21 Thread Yuka Takahashi via Phabricator via cfe-commits
yamaguchi updated this revision to Diff 96273. yamaguchi added a comment. Add testcase. https://reviews.llvm.org/D32341 Files: lib/Driver/ToolChains/Clang.cpp test/Driver/m_and_mm.c Index: test/Driver/m_and_mm.c === --- test/

<    1   2