Mercurial > hg > CbC > CbC_llvm
view clang/test/Analysis/exceptions.mm @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_analyze_cc1 -fexceptions -fobjc-exceptions -fcxx-exceptions -analyzer-checker=core,unix.Malloc,debug.ExprInspection -verify %s void clang_analyzer_checkInlined(bool); typedef typeof(sizeof(int)) size_t; void *malloc(size_t); void free(void *); id getException(); void inlinedObjC() { clang_analyzer_checkInlined(true); // expected-warning{{TRUE}} @throw getException(); } int testObjC() { int a; // uninitialized void *mem = malloc(4); // no-warning (ObjC exceptions are usually fatal) inlinedObjC(); free(mem); return a; // no-warning } void inlinedCXX() { clang_analyzer_checkInlined(true); // expected-warning{{TRUE}} throw -1; } int testCXX() { int a; // uninitialized // FIXME: this should be reported as a leak, because C++ exceptions are // often not fatal. void *mem = malloc(4); inlinedCXX(); free(mem); return a; // no-warning }