mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-16 20:46:36 +00:00

Summary: Replace calls to %clang/%clang_cc1 with %clang_analyze_cc1 when invoking static analyzer, and perform runtime substitution to select the appropriate constraint manager, per D28952. Reviewers: xazax.hun, NoQ, zaks.anna, dcoughlin Subscribers: mgorny, rgov, mikhail.ramalho, a.sidorin, cfe-commits Differential Revision: https://reviews.llvm.org/D30373 llvm-svn: 296895
12 lines
493 B
C++
12 lines
493 B
C++
// RUN: %clang_analyze_cc1 -analyzer-checker=core -std=c++11 -fdelayed-template-parsing -verify %s
|
|
// expected-no-diagnostics
|
|
|
|
template <class T> struct remove_reference {typedef T type;};
|
|
template <class T> struct remove_reference<T&> {typedef T type;};
|
|
template <class T> struct remove_reference<T&&> {typedef T type;};
|
|
|
|
template <typename T>
|
|
typename remove_reference<T>::type&& move(T&& arg) { // this used to crash
|
|
return static_cast<typename remove_reference<T>::type&&>(arg);
|
|
}
|