brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 995db56 Raw
36 lines · cpp
1// RUN: rm -rf %t && mkdir %t2// RUN: mkdir -p %t/ctudir3// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++17 \4// RUN:   -emit-pch -o %t/ctudir/ctu-cxxdefaultinitexpr-import.cpp.ast %S/Inputs/ctu-cxxdefaultinitexpr-import.cpp5// RUN: cp %S/Inputs/ctu-cxxdefaultinitexpr-import.cpp.externalDefMap.ast-dump.txt %t/ctudir/externalDefMap.txt6// RUN: %clang_analyze_cc1 -triple x86_64-pc-linux-gnu -std=c++17 \7// RUN:   -analyzer-checker=core \8// RUN:   -analyzer-config experimental-enable-naive-ctu-analysis=true \9// RUN:   -analyzer-config ctu-dir=%t/ctudir \10// RUN:   -verify %s11 12// Check that importing this code does not cause crash.13// expected-no-diagnostics14 15namespace QHashPrivate {16template <typename> int b;17struct Data;18} // namespace QHashPrivate19 20struct QDomNodePrivate {};21template <typename = struct QString> struct QMultiHash {22  QHashPrivate::Data *d = nullptr;23};24 25struct QDomNamedNodeMapPrivate {26  QMultiHash<> map;27};28struct QDomElementPrivate : QDomNodePrivate {29  QDomElementPrivate();30  void importee();31  QMultiHash<> *m_attr = nullptr;32};33// --------- common part end ---------34 35void importer(QDomElementPrivate x) { x.importee(); }36