• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ clang_analyzer_eval函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中clang_analyzer_eval函数的典型用法代码示例。如果您正苦于以下问题:C++ clang_analyzer_eval函数的具体用法?C++ clang_analyzer_eval怎么用?C++ clang_analyzer_eval使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了clang_analyzer_eval函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: testConsistencyNestedWarning

 // PR16664 and PR18159
 void testConsistencyNestedWarning(bool value) {
   if (value) {
     if (!value || value || check(NoReturnDtor())) {
       clang_analyzer_eval(true); // expected-warning{{TRUE}}
     }
   }
 }
开发者ID:AlexDenisov,项目名称:clang,代码行数:8,代码来源:temporaries.cpp


示例2: testLoop

 void testLoop() {
   for (int i = 0; i < 10; ++i) {
     if (i < 3 && (i >= 2 || check(NoReturnDtor()))) {
       clang_analyzer_eval(true);  // no warning, unreachable code
     }
   }
 }
开发者ID:AlexDenisov,项目名称:clang,代码行数:7,代码来源:temporaries.cpp


示例3: testConsistencyNestedComplexNestedBranch

 // PR16664 and PR18159
 void testConsistencyNestedComplexNestedBranch(bool value) {
   if (value) {
     if (!value || (!value || check(NoReturnDtor()) || value)) {
       clang_analyzer_eval(true);  // no warning, unreachable code
     }
   }
 }
开发者ID:AlexDenisov,项目名称:clang,代码行数:8,代码来源:temporaries.cpp


示例4: testConsistencyIf

 void testConsistencyIf(int i) {
   if (i != 5)
     return;
   if (i == 5 && (i == 4 || check(NoReturnDtor()) || i == 5)) {
     clang_analyzer_eval(true); // no warning, unreachable code
   }
 }
开发者ID:AlexDenisov,项目名称:clang,代码行数:7,代码来源:temporaries.cpp


示例5: OperatorEvaluationTest

void OperatorEvaluationTest(int y) {
  int x = 1;
	int w = x ?: y;  // expected-note {{'?' condition is true}}
	
	// TODO: We are not precise when processing the "?:" operator in C++.
  clang_analyzer_eval(w == 1); // expected-warning{{UNKNOWN}}
                               // [email protected]{{UNKNOWN}}
}
开发者ID:4ntoine,项目名称:clang,代码行数:8,代码来源:conditional-operator.cpp


示例6: testConstrainState

void testConstrainState(int p) {
  ASSERT_TRUE(p == 7);

  clang_analyzer_eval(p == 7); // expected-warning {{TRUE}}

  ASSERT_TRUE(false);
  clang_analyzer_warnIfReached(); // no-warning
}
开发者ID:cms-externals,项目名称:clang,代码行数:8,代码来源:gtest.cpp


示例7: testReturnValue

void testReturnValue() {
  int i = 5;
  auto l = [i] (int a) {
    return i + a;
  };
  int b = l(3);
  clang_analyzer_eval(b == 8); // expected-warning{{TRUE}}
}
开发者ID:kelveb,项目名称:clang,代码行数:8,代码来源:lambdas.cpp


示例8: testFunctionPointerCapture

void testFunctionPointerCapture() {
  void (*func)(int &) = inc;
  int i = 5;
  [&i, func] {
    func(i);
  }();
  clang_analyzer_eval(i == 6); // expected-warning{{TRUE}}
}
开发者ID:kelveb,项目名称:clang,代码行数:8,代码来源:lambdas.cpp


示例9: f8

void f8() {
  C *after, *before;
  {
    A a[2] = {C(false, nullptr, nullptr), C(true, &after, &before)};
  }
  // FIXME: Should be TRUE. Should not warn about garbage value.
  clang_analyzer_eval(after == before); // expected-warning{{UNKNOWN}}
}
开发者ID:qiongsiwu,项目名称:CLang,代码行数:8,代码来源:lifetime-extension.cpp


示例10: checkThatConstMethodCallDoesInvalidateObjectForCircularReferences

void checkThatConstMethodCallDoesInvalidateObjectForCircularReferences() {
  Outer2 t;
  t.x = 1;
  t.in.ref = &t;
  t.foo();
  // FIXME: Should be UNKNOWN.
  clang_analyzer_eval(t.x); // expected-warning{{TRUE}}
}
开发者ID:Teemperor,项目名称:clang,代码行数:8,代码来源:const-method-call.cpp


示例11: testStrlenCallee

void testStrlenCallee() {
  char str[42];
  invalidate(str);
  size_t lenBefore = strlenWrapper(str);
  invalidate(str);
  size_t lenAfter = strlenWrapper(str);
  clang_analyzer_eval(lenBefore == lenAfter); // expected-warning{{UNKNOWN}}
}
开发者ID:AntonBikineev,项目名称:clang,代码行数:8,代码来源:string.c


示例12: testCtorInitializer

void testCtorInitializer() {
  AddressVector<ClassWithDestructor> v;
  {
    TestCtorInitializer t(v);
    // Check if the last destructor is an automatic destructor.
    // A temporary destructor would have fired by now.
#if ELIDE
    clang_analyzer_eval(v.len == 1); // expected-warning{{TRUE}}
#else
    clang_analyzer_eval(v.len == 3); // expected-warning{{TRUE}}
#endif
  }
#if ELIDE
  // 0. Construct the member variable.
  // 1. Destroy the member variable.
  clang_analyzer_eval(v.len == 2); // expected-warning{{TRUE}}
  clang_analyzer_eval(v.buf[0] == v.buf[1]); // expected-warning{{TRUE}}
#else
  // 0. Construct the temporary.
  // 1. Construct the member variable.
  // 2. Destroy the temporary.
  // 3. Destroy the member variable.
  clang_analyzer_eval(v.len == 4); // expected-warning{{TRUE}}
  clang_analyzer_eval(v.buf[0] == v.buf[2]); // expected-warning{{TRUE}}
  clang_analyzer_eval(v.buf[1] == v.buf[3]); // expected-warning{{TRUE}}
#endif
}
开发者ID:Teemperor,项目名称:clang,代码行数:27,代码来源:copy-elision.cpp


示例13: test

  void test() {
	Derived* p;
	*(reinterpret_cast<void**>(&p)) = new C;
	p->f();

    // We should still be able to do some reasoning about bindings.
    p->x = 42;
    clang_analyzer_eval(p->x == 42); // expected-warning{{TRUE}}
  };
开发者ID:8l,项目名称:emscripten-fastcomp-clang,代码行数:9,代码来源:reinterpret-cast.cpp


示例14: loopWithCall

void loopWithCall() {
  void *arr[2];
  for (int i = 0; i < 2; ++i) {
    int x;
    arr[i] = &x;
  }
  // FIXME: Should be UNKNOWN.
  clang_analyzer_eval(arr[0] == arr[1]); // expected-warning{{TRUE}}
}
开发者ID:LegalizeAdulthood,项目名称:clang,代码行数:9,代码来源:loop-block-counts.c


示例15: f

void f() {
  const int &x = A().i; // no-crash
  const int &y = A().j[1]; // no-crash
  const int &z = (A().j[1], A().j[0]); // no-crash

  clang_analyzer_eval(x == 1);
  clang_analyzer_eval(y == 3);
  clang_analyzer_eval(z == 2);
#ifdef TEMPORARIES
  // [email protected]{{TRUE}}
  // [email protected]{{TRUE}}
  // [email protected]{{TRUE}}
#else
  // [email protected]{{UNKNOWN}}
  // [email protected]{{UNKNOWN}}
  // [email protected]{{UNKNOWN}}
#endif
}
开发者ID:qiongsiwu,项目名称:CLang,代码行数:18,代码来源:lifetime-extension.cpp


示例16: testConsistencyNestedVariableModification

 // PR16664 and PR18159
 void testConsistencyNestedVariableModification(bool value) {
   bool other = true;
   if (value) {
     if (!other || !value || (other = false) || check(NoReturnDtor()) ||
         !other) {
       clang_analyzer_eval(true);  // no warning, unreachable code
     }
   }
 }
开发者ID:Bekenn,项目名称:clang,代码行数:10,代码来源:temporaries.cpp


示例17: testAliasingBetweenParameterAndCapture

void testAliasingBetweenParameterAndCapture() {
  int i = 5;

  auto l = [&i](int &p) {
    i++;
    p++;
  };
  l(i);
  clang_analyzer_eval(i == 7); // expected-warning{{TRUE}}
}
开发者ID:kelveb,项目名称:clang,代码行数:10,代码来源:lambdas.cpp


示例18: callMutableLambdaMultipleTimes

void callMutableLambdaMultipleTimes(int &p) {
  int v = 0;
  p = 8;

  auto l = [&v, p]() mutable {
    v = p;
    p++;
  };

  l();

  clang_analyzer_eval(v == 8); // expected-warning{{TRUE}}
  clang_analyzer_eval(p == 8); // expected-warning{{TRUE}}

  l();

  clang_analyzer_eval(v == 9); // expected-warning{{TRUE}}
  clang_analyzer_eval(p == 8); // expected-warning{{TRUE}}
}
开发者ID:kelveb,项目名称:clang,代码行数:19,代码来源:lambdas.cpp


示例19: captureFields

 void captureFields() {
   i = 5;
   [this]() {
     // clang_analyzer_eval does nothing in inlined functions.
     if (i != 5)
       clang_analyzer_warnIfReached();
     ++i;
   }();
   clang_analyzer_eval(i == 6); // expected-warning{{TRUE}}
 }
开发者ID:kelveb,项目名称:clang,代码行数:10,代码来源:lambdas.cpp


示例20: testFunctionPointerReturn

void testFunctionPointerReturn(void *opaque) {
  typedef int &(*RefFn)();

  RefFn getRef = (RefFn)opaque;

  // Don't crash writing to or reading from this reference.
  int &x = getRef();
  x = 42;
  clang_analyzer_eval(x == 42); // expected-warning{{TRUE}}
}
开发者ID:8l,项目名称:emscripten-fastcomp-clang,代码行数:10,代码来源:reference.cpp



注:本文中的clang_analyzer_eval函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ clang_disposeString函数代码示例发布时间:2022-05-30
下一篇:
C++ clampf函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap