Mercurial > hg > CbC > CbC_llvm
view clang/test/Analysis/lambdas-modern.cpp @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | |
children |
line wrap: on
line source
// RUN: %clang_analyze_cc1 -std=c++14 -analyzer-checker=core,debug.ExprInspection -analyzer-config inline-lambdas=true -verify %s // RUN: %clang_analyze_cc1 -std=c++17 -analyzer-checker=core,debug.ExprInspection -analyzer-config inline-lambdas=true -verify %s #include "Inputs/system-header-simulator-cxx.h" void clang_analyzer_warnIfReached(); void clang_analyzer_eval(int); // Capture copy elided object. struct Elided{ int x = 14; Elided(int) {} }; void testCopyElidedObjectCaptured(int x) { int r = [e = Elided(x)] { return e.x; }(); clang_analyzer_eval(r == 14); // expected-warning{{TRUE}} } static auto MakeUniquePtr() { return std::make_unique<std::vector<int>>(); } void testCopyElidedUniquePtr() { [uniquePtr = MakeUniquePtr()] {}(); clang_analyzer_warnIfReached(); // expected-warning{{REACHABLE}} }