| // Part of the Crubit project, under the Apache License v2.0 with LLVM |
| // Exceptions. See /LICENSE for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| // Tests for various types of expressions. |
| |
| #include "gmock/gmock.h" |
| #include "gtest/gtest.h" |
| #include "lifetime_analysis/test/lifetime_analysis_test.h" |
| |
| namespace clang { |
| namespace tidy { |
| namespace lifetimes { |
| namespace { |
| |
| TEST_F(LifetimeAnalysisTest, IncrementAndDecrement) { |
| EXPECT_THAT(GetLifetimes(R"( |
| int* prefix_inc(int* p) { |
| return ++p; |
| } |
| int* prefix_dec(int* p) { |
| return --p; |
| } |
| int* postfix_inc(int* p) { |
| return p++; |
| } |
| int* postfix_dec(int* p) { |
| return p--; |
| } |
| )"), |
| LifetimesAre({{"prefix_inc", "a -> a"}, |
| {"prefix_dec", "a -> a"}, |
| {"postfix_inc", "a -> a"}, |
| {"postfix_dec", "a -> a"}})); |
| } |
| |
| } // namespace |
| } // namespace lifetimes |
| } // namespace tidy |
| } // namespace clang |