From b9ed61f93d00501eaecb23cc34371be5ff0afd3c Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Fri, 2 Nov 2012 01:54:42 +0000 Subject: [analyzer] Convert some of the harder cases over to ProgramStateTrait macros. Add FIXMEs for the traits visible from multiple translation units. Currently the macros hide their key types in an anonymous namespace. llvm-svn: 167277 --- clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp') diff --git a/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp index 012bca0a038..7a66ec3a934 100644 --- a/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp @@ -163,23 +163,9 @@ public: }; } -namespace { struct NSErrorOut {}; } -namespace { struct CFErrorOut {}; } - typedef llvm::ImmutableMap ErrorOutFlag; - -namespace clang { -namespace ento { - template <> - struct ProgramStateTrait : public ProgramStatePartialTrait { - static void *GDMIndex() { static int index = 0; return &index; } - }; - template <> - struct ProgramStateTrait : public ProgramStatePartialTrait { - static void *GDMIndex() { static int index = 0; return &index; } - }; -} -} +REGISTER_TRAIT_WITH_PROGRAMSTATE(NSErrorOut, ErrorOutFlag) +REGISTER_TRAIT_WITH_PROGRAMSTATE(CFErrorOut, ErrorOutFlag) template static bool hasFlag(SVal val, ProgramStateRef state) { -- cgit v1.2.3