Hello community, here is the log from the commit of package llvm for openSUSE:Factory checked in at 2015-05-29 09:51:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm (Old) and /work/SRC/openSUSE:Factory/.llvm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "llvm" Changes: -------- --- /work/SRC/openSUSE:Factory/llvm/lldb.changes 2015-04-28 20:42:39.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.llvm.new/lldb.changes 2015-05-29 09:51:39.000000000 +0200 @@ -1,0 +2,6 @@ +Mon May 25 13:59:56 UTC 2015 - idonmez@suse.com + +- Update to version 3.6.1 + * No changelog upstream + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/llvm/llvm.changes 2015-04-28 20:42:40.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.llvm.new/llvm.changes 2015-05-29 09:51:40.000000000 +0200 @@ -1,0 +2,11 @@ +Tue May 26 11:54:49 CEST 2015 - ro@suse.de + +- fix build on s390x (one typo in ifarch and one change in filelist) + +------------------------------------------------------------------- +Mon May 25 13:59:37 UTC 2015 - idonmez@suse.com + +- Update to version 3.6.1 + * No changelog upstream + +------------------------------------------------------------------- Old: ---- cfe-3.6.0.src.tar.xz cfe-docs-3.6.0.src.tar.xz compiler-rt-3.6.0.src.tar.xz libcxx-3.6.0.src.tar.xz libcxxabi-3.6.0.src.tar.xz lldb-3.6.0.src.tar.xz llvm-3.6.0.src.tar.xz llvm-docs-3.6.0.src.tar.xz New: ---- cfe-3.6.1.src.tar.xz cfe-docs-3.6.1.src.tar.xz compiler-rt-3.6.1.src.tar.xz libcxx-3.6.1.src.tar.xz libcxxabi-3.6.1.src.tar.xz lldb-3.6.1.src.tar.xz llvm-3.6.1.src.tar.xz llvm-docs-3.6.1.src.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lldb.spec ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:42.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:42.000000000 +0200 @@ -16,10 +16,10 @@ # -%define _revision 230777 +%define _revision 238133 Name: lldb -Version: 3.6.0 +Version: 3.6.1 Release: 0 Summary: The LLDB Debugger License: NCSA ++++++ llvm.spec ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:42.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:42.000000000 +0200 @@ -16,8 +16,8 @@ # -%define _revision 230777 -%define _release_version 3.6.0 +%define _revision 238133 +%define _release_version 3.6.1 %define build_libcxx 0 @@ -26,7 +26,7 @@ %endif Name: llvm -Version: 3.6.0 +Version: 3.6.1 Release: 0 Summary: Low Level Virtual Machine License: NCSA @@ -41,7 +41,7 @@ # cd docs # make -f Makefile.sphinx man html # cd .. -# tar cvJf llvm-docs-3.6.0.src.tar.xz llvm-3.6.0.src/docs/_build/{man,html} +# tar cvJf llvm-docs-3.6.1.src.tar.xz llvm-3.6.1.src/docs/_build/{man,html} Source5: llvm-docs-%{version}.src.tar.xz Source6: cfe-docs-%{version}.src.tar.xz Source100: %{name}-rpmlintrc @@ -213,7 +213,7 @@ %define host_triple powerpc64le-suse-linux sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"PowerPC"',g ../cmake/modules/AddLLVM.cmake %endif -%ifarch 390x +%ifarch s390x %define host_triple s390x-suse-linux sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"SystemZ"',g ../cmake/modules/AddLLVM.cmake %endif @@ -490,7 +490,9 @@ %{_libdir}/LLVMgold.so %{_libdir}/bfd-plugins/ %{_libdir}/clang +%ifnarch s390x %{_libdir}/clang/%{_release_version}/lib/linux/ +%endif %files -n libclang %defattr(-,root,root,-) ++++++ aarch64-suse-support.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:42.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:42.000000000 +0200 @@ -1,7 +1,7 @@ -Index: cfe-3.6.0.src/lib/Driver/ToolChains.cpp +Index: cfe-3.6.1.src/lib/Driver/ToolChains.cpp =================================================================== ---- cfe-3.6.0.src.orig/lib/Driver/ToolChains.cpp -+++ cfe-3.6.0.src/lib/Driver/ToolChains.cpp +--- cfe-3.6.1.src.orig/lib/Driver/ToolChains.cpp ++++ cfe-3.6.1.src/lib/Driver/ToolChains.cpp @@ -1315,7 +1315,8 @@ bool Generic_GCC::GCCInstallationDetecto static const char *const AArch64Triples[] = { "aarch64-none-linux-gnu", "aarch64-linux-gnu", ++++++ arm_suse_support.diff ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:42.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:42.000000000 +0200 @@ -1,7 +1,7 @@ -Index: cfe-3.6.0.src/lib/Driver/ToolChains.cpp +Index: cfe-3.6.1.src/lib/Driver/ToolChains.cpp =================================================================== ---- cfe-3.6.0.src.orig/lib/Driver/ToolChains.cpp -+++ cfe-3.6.0.src/lib/Driver/ToolChains.cpp +--- cfe-3.6.1.src/lib/Driver/ToolChains.cpp ++++ cfe-3.6.1.src/lib/Driver/ToolChains.cpp @@ -1322,9 +1322,11 @@ bool Generic_GCC::GCCInstallationDetecto static const char *const ARMLibDirs[] = { "/lib" }; ++++++ assume-opensuse.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:42.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:42.000000000 +0200 @@ -1,7 +1,7 @@ -Index: cfe-3.6.0.src/lib/Driver/ToolChains.cpp +Index: cfe-3.6.1.src/lib/Driver/ToolChains.cpp =================================================================== ---- cfe-3.6.0.src/lib/Driver/ToolChains.cpp -+++ cfe-3.6.0.src/lib/Driver/ToolChains.cpp +--- cfe-3.6.1.src/lib/Driver/ToolChains.cpp ++++ cfe-3.6.1.src/lib/Driver/ToolChains.cpp @@ -2794,6 +2794,7 @@ static bool IsUbuntu(enum Distro Distro) } ++++++ cfe-3.6.0.src.tar.xz -> cfe-3.6.1.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm/cfe-3.6.0.src.tar.xz /work/SRC/openSUSE:Factory/.llvm.new/cfe-3.6.1.src.tar.xz differ: char 26, line 1 ++++++ cfe-docs-3.6.0.src.tar.xz -> cfe-docs-3.6.1.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/.arcconfig new/cfe-3.6.1.src/.arcconfig --- old/cfe-3.6.0.src/.arcconfig 2014-04-07 05:39:55.000000000 +0200 +++ new/cfe-3.6.1.src/.arcconfig 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -{ - "project_id" : "clang", - "conduit_uri" : "http://reviews.llvm.org/" -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/.clang-format new/cfe-3.6.1.src/.clang-format --- old/cfe-3.6.0.src/.clang-format 2013-09-02 09:42:02.000000000 +0200 +++ new/cfe-3.6.1.src/.clang-format 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -BasedOnStyle: LLVM diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/.clang-tidy new/cfe-3.6.1.src/.clang-tidy --- old/cfe-3.6.0.src/.clang-tidy 2014-10-29 18:28:51.000000000 +0100 +++ new/cfe-3.6.1.src/.clang-tidy 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -Checks: '-*,clang-diagnostic-*,llvm-*,misc-*' Files old/cfe-3.6.0.src/docs/_build/doctrees/AddressSanitizer.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/AddressSanitizer.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/AttributeReference.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/AttributeReference.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/AutomaticReferenceCounting.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/AutomaticReferenceCounting.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/Block-ABI-Apple.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/Block-ABI-Apple.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/BlockLanguageSpec.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/BlockLanguageSpec.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ClangCheck.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ClangCheck.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ClangFormat.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ClangFormat.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ClangFormatStyleOptions.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ClangFormatStyleOptions.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ClangPlugins.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ClangPlugins.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ClangTools.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ClangTools.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/CrossCompilation.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/CrossCompilation.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/DataFlowSanitizer.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/DataFlowSanitizer.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/DataFlowSanitizerDesign.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/DataFlowSanitizerDesign.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/DriverInternals.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/DriverInternals.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ExternalClangExamples.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ExternalClangExamples.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/FAQ.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/FAQ.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/HowToSetupToolingForLLVM.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/HowToSetupToolingForLLVM.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/InternalsManual.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/InternalsManual.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/IntroductionToTheClangAST.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/IntroductionToTheClangAST.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/JSONCompilationDatabase.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/JSONCompilationDatabase.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/LanguageExtensions.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/LanguageExtensions.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/LeakSanitizer.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/LeakSanitizer.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/LibASTMatchers.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/LibASTMatchers.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/LibASTMatchersTutorial.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/LibASTMatchersTutorial.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/LibFormat.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/LibFormat.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/LibTooling.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/LibTooling.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/MSVCCompatibility.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/MSVCCompatibility.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/MemorySanitizer.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/MemorySanitizer.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/Modules.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/Modules.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ObjectiveCLiterals.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ObjectiveCLiterals.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/PCHInternals.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/PCHInternals.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/PTHInternals.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/PTHInternals.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/RAVFrontendAction.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/RAVFrontendAction.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ReleaseNotes.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ReleaseNotes.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/SanitizerSpecialCaseList.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/SanitizerSpecialCaseList.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ThreadSafetyAnalysis.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ThreadSafetyAnalysis.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/ThreadSanitizer.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/ThreadSanitizer.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/Tooling.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/Tooling.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/UsersManual.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/UsersManual.doctree differ Files old/cfe-3.6.0.src/docs/_build/doctrees/environment.pickle and new/cfe-3.6.1.src/docs/_build/doctrees/environment.pickle differ Files old/cfe-3.6.0.src/docs/_build/doctrees/index.doctree and new/cfe-3.6.1.src/docs/_build/doctrees/index.doctree differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/AddressSanitizer.html new/cfe-3.6.1.src/docs/_build/html/AddressSanitizer.html --- old/cfe-3.6.0.src/docs/_build/html/AddressSanitizer.html 2015-03-02 10:54:47.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/AddressSanitizer.html 2015-05-25 15:55:00.000000000 +0200 @@ -140,8 +140,8 @@ <p>If that does not work for you (e.g. your process is sandboxed), you can use a separate script to symbolize the result offline (online symbolization can be force disabled by setting <tt class="docutils literal"><span class="pre">ASAN_OPTIONS=symbolize=0</span></tt>):</p> -<div class="highlight-console"><div class="highlight"><pre><span class="gp">%</span> <span class="nv">ASAN_OPTIONS</span><span class="o">=</span><span class="nv">symbolize</span><span class="o">=</span>0 ./a.out 2> log -<span class="gp">%</span> projects/compiler-rt/lib/asan/scripts/asan_symbolize.py / < log | c++filt +<div class="highlight-console"><div class="highlight"><pre><span class="gp">%</span> <span class="nv">ASAN_OPTIONS</span><span class="o">=</span><span class="nv">symbolize</span><span class="o">=</span><span class="m">0</span> ./a.out 2> log +<span class="gp">%</span> projects/compiler-rt/lib/asan/scripts/asan_symbolize.py / < log <span class="p">|</span> c++filt <span class="go">==9442== ERROR: AddressSanitizer heap-use-after-free on address 0x7f7ddab8c084 at pc 0x403c8c bp 0x7fff87fb82d0 sp 0x7fff87fb82c8</span> <span class="go">READ of size 4 at 0x7f7ddab8c084 thread T0</span> <span class="go"> #0 0x403c8c in main example_UseAfterFree.cc:4</span> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/AttributeReference.html new/cfe-3.6.1.src/docs/_build/html/AttributeReference.html --- old/cfe-3.6.0.src/docs/_build/html/AttributeReference.html 2015-03-02 10:54:47.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/AttributeReference.html 2015-05-25 15:55:00.000000000 +0200 @@ -325,13 +325,13 @@ </div> <p>When one method overrides another, the overriding method can be more widely available than the overridden method, e.g.,:</p> <div class="highlight-objc"><div class="highlight"><pre><span class="k">@interface</span> <span class="nc">A</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">method</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">availability</span><span class="p">(</span><span class="n">macosx</span><span class="p">,</span><span class="n">introduced</span><span class="o">=</span><span class="mf">10.4</span><span class="p">)));</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">method2</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">availability</span><span class="p">(</span><span class="n">macosx</span><span class="p">,</span><span class="n">introduced</span><span class="o">=</span><span class="mf">10.4</span><span class="p">)));</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">method</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">availability</span><span class="p">(</span><span class="n">macosx</span><span class="p">,</span><span class="n">introduced</span><span class="o">=</span><span class="mf">10.4</span><span class="p">)));</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">method2</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">availability</span><span class="p">(</span><span class="n">macosx</span><span class="p">,</span><span class="n">introduced</span><span class="o">=</span><span class="mf">10.4</span><span class="p">)));</span> <span class="k">@end</span> <span class="k">@interface</span> <span class="nc">B</span> : <span class="nc">A</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">method</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">availability</span><span class="p">(</span><span class="n">macosx</span><span class="p">,</span><span class="n">introduced</span><span class="o">=</span><span class="mf">10.3</span><span class="p">)));</span> <span class="c1">// okay: method moved into base class later</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">method</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">availability</span><span class="p">(</span><span class="n">macosx</span><span class="p">,</span><span class="n">introduced</span><span class="o">=</span><span class="mf">10.5</span><span class="p">)));</span> <span class="c1">// error: this method was available via the base class in 10.4</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">method</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">availability</span><span class="p">(</span><span class="n">macosx</span><span class="p">,</span><span class="n">introduced</span><span class="o">=</span><span class="mf">10.3</span><span class="p">)));</span> <span class="c1">// okay: method moved into base class later</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">method</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">availability</span><span class="p">(</span><span class="n">macosx</span><span class="p">,</span><span class="n">introduced</span><span class="o">=</span><span class="mf">10.5</span><span class="p">)));</span> <span class="c1">// error: this method was available via the base class in 10.4</span> <span class="k">@end</span> </pre></div> </div> @@ -841,7 +841,7 @@ <p><strong>Usage</strong>: <tt class="docutils literal"><span class="pre">__attribute__((objc_method_family(X)))</span></tt>, where <tt class="docutils literal"><span class="pre">X</span></tt> is one of <tt class="docutils literal"><span class="pre">none</span></tt>, <tt class="docutils literal"><span class="pre">alloc</span></tt>, <tt class="docutils literal"><span class="pre">copy</span></tt>, <tt class="docutils literal"><span class="pre">init</span></tt>, <tt class="docutils literal"><span class="pre">mutableCopy</span></tt>, or <tt class="docutils literal"><span class="pre">new</span></tt>. This attribute can only be placed at the end of a method declaration:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="k">-</span> <span class="p">(</span><span class="n">NSString</span> <span class="o">*</span><span class="p">)</span><span class="nf">initMyStringValue</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">objc_method_family</span><span class="p">(</span><span class="n">none</span><span class="p">)));</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="p">-</span> <span class="p">(</span><span class="bp">NSString</span> <span class="o">*</span><span class="p">)</span><span class="nf">initMyStringValue</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">objc_method_family</span><span class="p">(</span><span class="n">none</span><span class="p">)));</span> </pre></div> </div> <p>Users who do not wish to change the conventional meaning of a method, and who @@ -882,7 +882,7 @@ method in the subclass.</p> <p><strong>Usage</strong>: <tt class="docutils literal"><span class="pre">__attribute__((objc_requires_super))</span></tt>. This attribute can only be placed at the end of a method declaration:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">foo</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">objc_requires_super</span><span class="p">));</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="p">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">foo</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">objc_requires_super</span><span class="p">));</span> </pre></div> </div> <p>This attribute can only be applied the method declarations within a class, and @@ -893,7 +893,7 @@ <p>Note that on both OS X and iOS that the Foundation framework provides a convenience macro <tt class="docutils literal"><span class="pre">NS_REQUIRES_SUPER</span></tt> that provides syntactic sugar for this attribute:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">foo</span> <span class="n">NS_REQUIRES_SUPER</span><span class="p">;</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="p">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">foo</span> <span class="n">NS_REQUIRES_SUPER</span><span class="p">;</span> </pre></div> </div> <p>This macro is conditionally defined depending on the compiler’s support for @@ -901,7 +901,7 @@ expands to nothing.</p> <p>Operationally, when a method has this annotation the compiler will warn if the implementation of an override in a subclass does not call super. For example:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="nl">warning:</span> <span class="n">method</span> <span class="n">possibly</span> <span class="n">missing</span> <span class="n">a</span> <span class="p">[</span><span class="n">super</span> <span class="n">AnnotMeth</span><span class="p">]</span> <span class="n">call</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="nl">warning</span><span class="p">:</span> <span class="n">method</span> <span class="n">possibly</span> <span class="n">missing</span> <span class="n">a</span> <span class="p">[</span><span class="nb">super</span> <span class="n">AnnotMeth</span><span class="p">]</span> <span class="n">call</span> <span class="o">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="n">AnnotMeth</span><span class="p">{};</span> <span class="o">^</span> </pre></div> @@ -1322,13 +1322,13 @@ <p>Here is an example:</p> <div class="highlight-c++"><div class="highlight"><pre><span class="c1">// compile with -Wimplicit-fallthrough</span> <span class="k">switch</span> <span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="p">{</span> -<span class="k">case</span> <span class="mi">22</span>: -<span class="k">case</span> <span class="mi">33</span>: <span class="c1">// no warning: no statements between case labels</span> +<span class="k">case</span> <span class="mi">22</span><span class="o">:</span> +<span class="k">case</span> <span class="mi">33</span><span class="o">:</span> <span class="c1">// no warning: no statements between case labels</span> <span class="n">f</span><span class="p">();</span> -<span class="k">case</span> <span class="mi">44</span>: <span class="c1">// warning: unannotated fall-through</span> +<span class="k">case</span> <span class="mi">44</span><span class="o">:</span> <span class="c1">// warning: unannotated fall-through</span> <span class="n">g</span><span class="p">();</span> <span class="p">[[</span><span class="n">clang</span><span class="o">::</span><span class="n">fallthrough</span><span class="p">]];</span> -<span class="k">case</span> <span class="mi">55</span>: <span class="c1">// no warning</span> +<span class="k">case</span> <span class="mi">55</span><span class="o">:</span> <span class="c1">// no warning</span> <span class="k">if</span> <span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="p">{</span> <span class="n">h</span><span class="p">();</span> <span class="k">break</span><span class="p">;</span> @@ -1337,12 +1337,12 @@ <span class="n">i</span><span class="p">();</span> <span class="p">[[</span><span class="n">clang</span><span class="o">::</span><span class="n">fallthrough</span><span class="p">]];</span> <span class="p">}</span> -<span class="k">case</span> <span class="mi">66</span>: <span class="c1">// no warning</span> +<span class="k">case</span> <span class="mi">66</span><span class="o">:</span> <span class="c1">// no warning</span> <span class="n">p</span><span class="p">();</span> <span class="p">[[</span><span class="n">clang</span><span class="o">::</span><span class="n">fallthrough</span><span class="p">]];</span> <span class="c1">// warning: fallthrough annotation does not</span> <span class="c1">// directly precede case label</span> <span class="n">q</span><span class="p">();</span> -<span class="k">case</span> <span class="mi">77</span>: <span class="c1">// warning: unannotated fall-through</span> +<span class="k">case</span> <span class="mi">77</span><span class="o">:</span> <span class="c1">// warning: unannotated fall-through</span> <span class="n">r</span><span class="p">();</span> <span class="p">}</span> </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/AutomaticReferenceCounting.html new/cfe-3.6.1.src/docs/_build/html/AutomaticReferenceCounting.html --- old/cfe-3.6.0.src/docs/_build/html/AutomaticReferenceCounting.html 2015-03-02 10:54:47.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/AutomaticReferenceCounting.html 2015-05-25 15:55:01.000000000 +0200 @@ -256,7 +256,7 @@ can be invoked on objects of the metaclass. A method may be invoked by providing an object (called the <span class="arc-term">receiver</span>) and a list of formal arguments interspersed with the selector, like so:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="p">[</span><span class="n">receiver</span> <span class="n">foo</span><span class="o">:</span> <span class="n">fooArg</span> <span class="n">bar</span><span class="o">:</span> <span class="n">barArg</span> <span class="n">baz</span><span class="o">:</span> <span class="n">bazArg</span><span class="p">]</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="p">[</span><span class="n">receiver</span> <span class="nl">foo</span><span class="p">:</span> <span class="n">fooArg</span> <span class="nl">bar</span><span class="p">:</span> <span class="n">barArg</span> <span class="nl">baz</span><span class="p">:</span> <span class="n">bazArg</span><span class="p">]</span> </pre></div> </div> <p>This looks in the dynamic class of the receiver for a method with this name, @@ -459,7 +459,7 @@ of a +1 retain count. This is done by adding the <tt class="docutils literal"><span class="pre">ns_consumed</span></tt> attribute to the parameter declaration, like so:</p> <div class="highlight-objc"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="n">__attribute</span><span class="p">((</span><span class="n">ns_consumed</span><span class="p">))</span> <span class="kt">id</span> <span class="n">x</span><span class="p">);</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="nf">foo:</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span> <span class="n">__attribute</span><span class="p">((</span><span class="n">ns_consumed</span><span class="p">))</span> <span class="n">x</span><span class="p">;</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="nf">foo:</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span> <span class="nv">__attribute</span><span class="p">((</span><span class="n">ns_consumed</span><span class="p">))</span> <span class="nv">x</span><span class="p">;</span> </pre></div> </div> <p>This attribute is part of the type of the function or method, not the type of @@ -506,7 +506,7 @@ <tt class="docutils literal"><span class="pre">ns_returns_retained</span></tt> attribute to the function or method declaration, like so:</p> <div class="highlight-objc"><div class="highlight"><pre><span class="kt">id</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="n">__attribute</span><span class="p">((</span><span class="n">ns_returns_retained</span><span class="p">));</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span> <span class="nf">foo</span> <span class="n">__attribute</span><span class="p">((</span><span class="n">ns_returns_retained</span><span class="p">));</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span> <span class="nf">foo</span> <span class="n">__attribute</span><span class="p">((</span><span class="n">ns_returns_retained</span><span class="p">));</span> </pre></div> </div> <p>This attribute is part of the type of the function or method.</p> @@ -2024,10 +2024,10 @@ <p>Performs the complete sequence for assigning to a <tt class="docutils literal"><span class="pre">__strong</span></tt> object of non-block type <a class="footnote-reference" href="#id3" id="id2">[*]</a>. Equivalent to the following code:</p> <div class="highlight-objc"><div class="highlight"><pre><span class="kt">id</span> <span class="nf">objc_storeStrong</span><span class="p">(</span><span class="kt">id</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="kt">id</span> <span class="n">value</span><span class="p">)</span> <span class="p">{</span> - <span class="n">value</span> <span class="o">=</span> <span class="p">[</span><span class="n">value</span> <span class="n">retain</span><span class="p">];</span> + <span class="n">value</span> <span class="o">=</span> <span class="p">[</span><span class="n">value</span> <span class="k">retain</span><span class="p">];</span> <span class="kt">id</span> <span class="n">oldValue</span> <span class="o">=</span> <span class="o">*</span><span class="n">object</span><span class="p">;</span> <span class="o">*</span><span class="n">object</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span> - <span class="p">[</span><span class="n">oldValue</span> <span class="n">release</span><span class="p">];</span> + <span class="p">[</span><span class="n">oldValue</span> <span class="k">release</span><span class="p">];</span> <span class="k">return</span> <span class="n">value</span><span class="p">;</span> <span class="p">}</span> </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/Block-ABI-Apple.html new/cfe-3.6.1.src/docs/_build/html/Block-ABI-Apple.html --- old/cfe-3.6.0.src/docs/_build/html/Block-ABI-Apple.html 2015-03-02 10:54:47.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/Block-ABI-Apple.html 2015-05-25 15:55:01.000000000 +0200 @@ -144,10 +144,10 @@ (3<<30), for the following combinations of valid bit settings, and their meanings:</p> <div class="highlight-c"><div class="highlight"><pre><span class="k">switch</span> <span class="p">(</span><span class="n">flags</span> <span class="o">&</span> <span class="p">(</span><span class="mi">3</span><span class="o"><<</span><span class="mi">29</span><span class="p">))</span> <span class="p">{</span> - <span class="k">case</span> <span class="p">(</span><span class="mi">0</span><span class="o"><<</span><span class="mi">29</span><span class="p">)</span>: <span class="mf">10.6</span><span class="p">.</span><span class="n">ABI</span><span class="p">,</span> <span class="n">no</span> <span class="n">signature</span> <span class="n">field</span> <span class="n">available</span> - <span class="k">case</span> <span class="p">(</span><span class="mi">1</span><span class="o"><<</span><span class="mi">29</span><span class="p">)</span>: <span class="mf">10.6</span><span class="p">.</span><span class="n">ABI</span><span class="p">,</span> <span class="n">no</span> <span class="n">signature</span> <span class="n">field</span> <span class="n">available</span> - <span class="k">case</span> <span class="p">(</span><span class="mi">2</span><span class="o"><<</span><span class="mi">29</span><span class="p">)</span>: <span class="n">ABI</span><span class="mf">.2010.3.16</span><span class="p">,</span> <span class="n">regular</span> <span class="n">calling</span> <span class="n">convention</span><span class="p">,</span> <span class="n">presence</span> <span class="n">of</span> <span class="n">signature</span> <span class="n">field</span> - <span class="k">case</span> <span class="p">(</span><span class="mi">3</span><span class="o"><<</span><span class="mi">29</span><span class="p">)</span>: <span class="n">ABI</span><span class="mf">.2010.3.16</span><span class="p">,</span> <span class="n">stret</span> <span class="n">calling</span> <span class="n">convention</span><span class="p">,</span> <span class="n">presence</span> <span class="n">of</span> <span class="n">signature</span> <span class="n">field</span><span class="p">,</span> + <span class="k">case</span> <span class="p">(</span><span class="mi">0</span><span class="o"><<</span><span class="mi">29</span><span class="p">)</span><span class="o">:</span> <span class="mf">10.6</span><span class="p">.</span><span class="n">ABI</span><span class="p">,</span> <span class="n">no</span> <span class="n">signature</span> <span class="n">field</span> <span class="n">available</span> + <span class="k">case</span> <span class="p">(</span><span class="mi">1</span><span class="o"><<</span><span class="mi">29</span><span class="p">)</span><span class="o">:</span> <span class="mf">10.6</span><span class="p">.</span><span class="n">ABI</span><span class="p">,</span> <span class="n">no</span> <span class="n">signature</span> <span class="n">field</span> <span class="n">available</span> + <span class="k">case</span> <span class="p">(</span><span class="mi">2</span><span class="o"><<</span><span class="mi">29</span><span class="p">)</span><span class="o">:</span> <span class="n">ABI</span><span class="mf">.2010.3.16</span><span class="p">,</span> <span class="n">regular</span> <span class="n">calling</span> <span class="n">convention</span><span class="p">,</span> <span class="n">presence</span> <span class="n">of</span> <span class="n">signature</span> <span class="n">field</span> + <span class="k">case</span> <span class="p">(</span><span class="mi">3</span><span class="o"><<</span><span class="mi">29</span><span class="p">)</span><span class="o">:</span> <span class="n">ABI</span><span class="mf">.2010.3.16</span><span class="p">,</span> <span class="n">stret</span> <span class="n">calling</span> <span class="n">convention</span><span class="p">,</span> <span class="n">presence</span> <span class="n">of</span> <span class="n">signature</span> <span class="n">field</span><span class="p">,</span> <span class="p">}</span> </pre></div> </div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/BlockLanguageSpec.html new/cfe-3.6.1.src/docs/_build/html/BlockLanguageSpec.html --- old/cfe-3.6.0.src/docs/_build/html/BlockLanguageSpec.html 2015-03-02 10:54:47.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/BlockLanguageSpec.html 2015-05-25 15:55:01.000000000 +0200 @@ -216,7 +216,7 @@ <p>the following are all legal Block invocations:</p> <div class="highlight-c"><div class="highlight"><pre><span class="n">x</span><span class="p">(</span><span class="sc">'a'</span><span class="p">);</span> <span class="p">(</span><span class="o">*</span><span class="n">y</span><span class="p">)(</span><span class="sc">'a'</span><span class="p">);</span> -<span class="p">(</span><span class="nb">true</span> <span class="o">?</span> <span class="n">x</span> <span class="o">:</span> <span class="o">*</span><span class="n">y</span><span class="p">)(</span><span class="sc">'a'</span><span class="p">)</span> +<span class="p">(</span><span class="nb">true</span> <span class="o">?</span> <span class="nl">x</span> <span class="p">:</span> <span class="o">*</span><span class="n">y</span><span class="p">)(</span><span class="sc">'a'</span><span class="p">)</span> </pre></div> </div> </div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/ClangFormatStyleOptions.html new/cfe-3.6.1.src/docs/_build/html/ClangFormatStyleOptions.html --- old/cfe-3.6.0.src/docs/_build/html/ClangFormatStyleOptions.html 2015-03-02 10:54:47.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/ClangFormatStyleOptions.html 2015-05-25 15:55:03.000000000 +0200 @@ -483,14 +483,14 @@ <div class="highlight-c++"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">test</span><span class="p">()</span> <span class="p">{</span> <span class="k">switch</span> <span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="p">{</span> - <span class="k">case</span> <span class="mi">0</span>: - <span class="k">case</span> <span class="mi">1</span>: + <span class="k">case</span> <span class="mi">0</span><span class="o">:</span> + <span class="k">case</span> <span class="mi">1</span><span class="o">:</span> <span class="n">do_something</span><span class="p">();</span> <span class="k">break</span><span class="p">;</span> - <span class="k">case</span> <span class="mi">2</span>: + <span class="k">case</span> <span class="mi">2</span><span class="o">:</span> <span class="n">do_something_else</span><span class="p">();</span> <span class="k">break</span><span class="p">;</span> - <span class="nl">default:</span> + <span class="k">default</span><span class="o">:</span> <span class="k">break</span><span class="p">;</span> <span class="p">}</span> <span class="k">if</span> <span class="p">(</span><span class="n">condition</span><span class="p">)</span> @@ -520,14 +520,14 @@ <span class="p">{</span> <span class="k">switch</span> <span class="p">(</span><span class="n">suffix</span><span class="p">)</span> <span class="p">{</span> - <span class="k">case</span> <span class="mi">0</span>: - <span class="k">case</span> <span class="mi">1</span>: + <span class="k">case</span> <span class="mi">0</span><span class="o">:</span> + <span class="k">case</span> <span class="mi">1</span><span class="o">:</span> <span class="n">do_something</span><span class="p">();</span> <span class="k">break</span><span class="p">;</span> - <span class="k">case</span> <span class="mi">2</span>: + <span class="k">case</span> <span class="mi">2</span><span class="o">:</span> <span class="n">do_something_else</span><span class="p">();</span> <span class="k">break</span><span class="p">;</span> - <span class="nl">default:</span> + <span class="k">default</span><span class="o">:</span> <span class="k">break</span><span class="p">;</span> <span class="p">}</span> <span class="k">if</span> <span class="p">(</span><span class="n">condition</span><span class="p">)</span> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/InternalsManual.html new/cfe-3.6.1.src/docs/_build/html/InternalsManual.html --- old/cfe-3.6.0.src/docs/_build/html/InternalsManual.html 2015-03-02 10:54:48.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/InternalsManual.html 2015-05-25 15:55:03.000000000 +0200 @@ -1127,7 +1127,7 @@ <tt class="docutils literal"><span class="pre">Decl::getDeclContext</span></tt>, both of which return <tt class="docutils literal"><span class="pre">DeclContext</span></tt> pointers. For most declarations, the two contexts are identical. For example:</p> <div class="highlight-c++"><div class="highlight"><pre><span class="k">class</span> <span class="nc">X</span> <span class="p">{</span> -<span class="nl">public:</span> +<span class="k">public</span><span class="o">:</span> <span class="kt">void</span> <span class="n">f</span><span class="p">(</span><span class="kt">int</span> <span class="n">x</span><span class="p">);</span> <span class="p">};</span> </pre></div> @@ -1360,7 +1360,7 @@ <span class="p">[</span> <span class="n">B4</span> <span class="p">]</span> <span class="mi">1</span><span class="o">:</span> <span class="n">x</span> <span class="o">=</span> <span class="n">x</span> <span class="o">+</span> <span class="mi">1</span> <span class="mi">2</span><span class="o">:</span> <span class="p">(</span><span class="n">x</span> <span class="o">></span> <span class="mi">2</span><span class="p">)</span> - <span class="nl">T:</span> <span class="k">if</span> <span class="p">[</span><span class="n">B4</span><span class="mf">.2</span><span class="p">]</span> + <span class="nl">T</span><span class="p">:</span> <span class="k">if</span> <span class="p">[</span><span class="n">B4</span><span class="mf">.2</span><span class="p">]</span> <span class="n">Predecessors</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">:</span> <span class="n">B5</span> <span class="n">Successors</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">:</span> <span class="n">B3</span> <span class="n">B2</span> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/LanguageExtensions.html new/cfe-3.6.1.src/docs/_build/html/LanguageExtensions.html --- old/cfe-3.6.0.src/docs/_build/html/LanguageExtensions.html 2015-03-02 10:54:48.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/LanguageExtensions.html 2015-05-25 15:55:04.000000000 +0200 @@ -94,17 +94,17 @@ <p>This function-like macro takes a single identifier argument that is the name of a builtin function. It evaluates to 1 if the builtin is supported or 0 if not. It can be used like this:</p> -<div class="highlight-c++"><div class="highlight"><pre>#ifndef __has_builtin // Optional of course. - #define __has_builtin(x) 0 // Compatibility with non-clang compilers. -#endif +<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#ifndef __has_builtin </span><span class="c1">// Optional of course.</span> + <span class="cp">#define __has_builtin(x) 0 </span><span class="c1">// Compatibility with non-clang compilers.</span> +<span class="cp">#endif</span> -... -#if __has_builtin(__builtin_trap) - __builtin_trap(); -#else - abort(); -#endif -... +<span class="p">...</span> +<span class="cp">#if __has_builtin(__builtin_trap)</span> + <span class="n">__builtin_trap</span><span class="p">();</span> +<span class="cp">#else</span> + <span class="n">abort</span><span class="p">();</span> +<span class="cp">#endif</span> +<span class="p">...</span> </pre></div> </div> </div> @@ -117,24 +117,24 @@ <tt class="docutils literal"><span class="pre">__has_extension</span></tt> evaluates to 1 if the feature is supported by Clang in the current language (either as a language extension or a standard language feature) or 0 if not. They can be used like this:</p> -<div class="highlight-c++"><div class="highlight"><pre>#ifndef __has_feature // Optional of course. - #define __has_feature(x) 0 // Compatibility with non-clang compilers. -#endif -#ifndef __has_extension - #define __has_extension __has_feature // Compatibility with pre-3.0 compilers. -#endif +<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#ifndef __has_feature </span><span class="c1">// Optional of course.</span> + <span class="cp">#define __has_feature(x) 0 </span><span class="c1">// Compatibility with non-clang compilers.</span> +<span class="cp">#endif</span> +<span class="cp">#ifndef __has_extension</span> + <span class="cp">#define __has_extension __has_feature </span><span class="c1">// Compatibility with pre-3.0 compilers.</span> +<span class="cp">#endif</span> -... -#if __has_feature(cxx_rvalue_references) -// This code will only be compiled with the -std=c++11 and -std=gnu++11 -// options, because rvalue references are only standardized in C++11. -#endif - -#if __has_extension(cxx_rvalue_references) -// This code will be compiled with the -std=c++11, -std=gnu++11, -std=c++98 -// and -std=gnu++98 options, because rvalue references are supported as a -// language extension in C++98. -#endif +<span class="p">...</span> +<span class="cp">#if __has_feature(cxx_rvalue_references)</span> +<span class="c1">// This code will only be compiled with the -std=c++11 and -std=gnu++11</span> +<span class="c1">// options, because rvalue references are only standardized in C++11.</span> +<span class="cp">#endif</span> + +<span class="cp">#if __has_extension(cxx_rvalue_references)</span> +<span class="c1">// This code will be compiled with the -std=c++11, -std=gnu++11, -std=c++98</span> +<span class="c1">// and -std=gnu++98 options, because rvalue references are supported as a</span> +<span class="c1">// language extension in C++98.</span> +<span class="cp">#endif</span> </pre></div> </div> <p id="langext-has-feature-back-compat">For backward compatibility, <tt class="docutils literal"><span class="pre">__has_feature</span></tt> can also be used to test @@ -159,17 +159,17 @@ value based on the year and month in which the attribute was voted into the working draft. If the attribute is not supported by the current compliation target, this macro evaluates to 0. It can be used like this:</p> -<div class="highlight-c++"><div class="highlight"><pre>#ifndef __has_cpp_attribute // Optional of course. - #define __has_cpp_attribute(x) 0 // Compatibility with non-clang compilers. -#endif +<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#ifndef __has_cpp_attribute </span><span class="c1">// Optional of course.</span> + <span class="cp">#define __has_cpp_attribute(x) 0 </span><span class="c1">// Compatibility with non-clang compilers.</span> +<span class="cp">#endif</span> -... -#if __has_cpp_attribute(clang::fallthrough) -#define FALLTHROUGH [[clang::fallthrough]] -#else -#define FALLTHROUGH -#endif -... +<span class="p">...</span> +<span class="cp">#if __has_cpp_attribute(clang::fallthrough)</span> +<span class="cp">#define FALLTHROUGH [[clang::fallthrough]]</span> +<span class="cp">#else</span> +<span class="cp">#define FALLTHROUGH</span> +<span class="cp">#endif</span> +<span class="p">...</span> </pre></div> </div> <p>The attribute identifier (but not scope) can also be specified with a preceding @@ -182,17 +182,17 @@ <p>This function-like macro takes a single identifier argument that is the name of a GNU-style attribute. It evaluates to 1 if the attribute is supported by the current compilation target, or 0 if not. It can be used like this:</p> -<div class="highlight-c++"><div class="highlight"><pre>#ifndef __has_attribute // Optional of course. - #define __has_attribute(x) 0 // Compatibility with non-clang compilers. -#endif +<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#ifndef __has_attribute </span><span class="c1">// Optional of course.</span> + <span class="cp">#define __has_attribute(x) 0 </span><span class="c1">// Compatibility with non-clang compilers.</span> +<span class="cp">#endif</span> -... -#if __has_attribute(always_inline) -#define ALWAYS_INLINE __attribute__((always_inline)) -#else -#define ALWAYS_INLINE -#endif -... +<span class="p">...</span> +<span class="cp">#if __has_attribute(always_inline)</span> +<span class="cp">#define ALWAYS_INLINE __attribute__((always_inline))</span> +<span class="cp">#else</span> +<span class="cp">#define ALWAYS_INLINE</span> +<span class="cp">#endif</span> +<span class="p">...</span> </pre></div> </div> <p>The attribute name can also be specified with a preceding and following <tt class="docutils literal"><span class="pre">__</span></tt> @@ -205,17 +205,17 @@ an attribute implemented as a Microsoft-style <tt class="docutils literal"><span class="pre">__declspec</span></tt> attribute. It evaluates to 1 if the attribute is supported by the current compilation target, or 0 if not. It can be used like this:</p> -<div class="highlight-c++"><div class="highlight"><pre>#ifndef __has_declspec_attribute // Optional of course. - #define __has_declspec_attribute(x) 0 // Compatibility with non-clang compilers. -#endif +<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#ifndef __has_declspec_attribute </span><span class="c1">// Optional of course.</span> + <span class="cp">#define __has_declspec_attribute(x) 0 </span><span class="c1">// Compatibility with non-clang compilers.</span> +<span class="cp">#endif</span> -... -#if __has_declspec_attribute(dllexport) -#define DLLEXPORT __declspec(dllexport) -#else -#define DLLEXPORT -#endif -... +<span class="p">...</span> +<span class="cp">#if __has_declspec_attribute(dllexport)</span> +<span class="cp">#define DLLEXPORT __declspec(dllexport)</span> +<span class="cp">#else</span> +<span class="cp">#define DLLEXPORT</span> +<span class="cp">#endif</span> +<span class="p">...</span> </pre></div> </div> <p>The attribute name can also be specified with a preceding and following <tt class="docutils literal"><span class="pre">__</span></tt> @@ -229,15 +229,15 @@ a regular identifier and not a reserved word, in the sense that it can then be used as the name of a user-defined function or variable. Otherwise it evaluates to 0. It can be used like this:</p> -<div class="highlight-c++"><div class="highlight"><pre>... -#ifdef __is_identifier // Compatibility with non-clang compilers. - #if __is_identifier(__wchar_t) - typedef wchar_t __wchar_t; - #endif -#endif +<div class="highlight-c++"><div class="highlight"><pre><span class="p">...</span> +<span class="cp">#ifdef __is_identifier </span><span class="c1">// Compatibility with non-clang compilers.</span> + <span class="cp">#if __is_identifier(__wchar_t)</span> + <span class="k">typedef</span> <span class="kt">wchar_t</span> <span class="kt">__wchar_t</span><span class="p">;</span> + <span class="cp">#endif</span> +<span class="cp">#endif</span> -__wchar_t WideCharacter; -... +<span class="kt">__wchar_t</span> <span class="n">WideCharacter</span><span class="p">;</span> +<span class="p">...</span> </pre></div> </div> </div> @@ -1032,17 +1032,17 @@ type”, meaning that a message send to one of these methods will have the same static type as an instance of the receiver class. For example, given the following classes:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="k">@interface</span> <span class="nc">NSObject</span> -<span class="k">+</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">alloc</span><span class="p">;</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">init</span><span class="p">;</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="k">@interface</span> <span class="bp">NSObject</span> +<span class="p">+</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">alloc</span><span class="p">;</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">id</span><span class="p">)</span><span class="nf">init</span><span class="p">;</span> <span class="k">@end</span> -<span class="k">@interface</span> <span class="nc">NSArray</span> : <span class="nc">NSObject</span> +<span class="k">@interface</span> <span class="bp">NSArray</span> : <span class="bp">NSObject</span> <span class="k">@end</span> </pre></div> </div> <p>and this common initialization pattern</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="n">NSArray</span> <span class="o">*</span><span class="n">array</span> <span class="o">=</span> <span class="p">[[</span><span class="n">NSArray</span> <span class="n">alloc</span><span class="p">]</span> <span class="n">init</span><span class="p">];</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="bp">NSArray</span> <span class="o">*</span><span class="n">array</span> <span class="o">=</span> <span class="p">[[</span><span class="bp">NSArray</span> <span class="n">alloc</span><span class="p">]</span> <span class="n">init</span><span class="p">];</span> </pre></div> </div> <p>the type of the expression <tt class="docutils literal"><span class="pre">[NSArray</span> <span class="pre">alloc]</span></tt> is <tt class="docutils literal"><span class="pre">NSArray*</span></tt> because @@ -1055,7 +1055,7 @@ <tt class="docutils literal"><span class="pre">instancetype</span></tt> as its result type. <tt class="docutils literal"><span class="pre">instancetype</span></tt> is a contextual keyword that is only permitted in the result type of an Objective-C method, e.g.</p> <div class="highlight-objc"><div class="highlight"><pre><span class="k">@interface</span> <span class="nc">A</span> -<span class="k">+</span> <span class="p">(</span><span class="n">instancetype</span><span class="p">)</span><span class="nf">constructAnA</span><span class="p">;</span> +<span class="p">+</span> <span class="p">(</span><span class="kt">instancetype</span><span class="p">)</span><span class="nf">constructAnA</span><span class="p">;</span> <span class="k">@end</span> </pre></div> </div> @@ -1073,8 +1073,8 @@ <p>If a method with a related result type is overridden by a subclass method, the subclass method must also return a type that is compatible with the subclass type. For example:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="k">@interface</span> <span class="nc">NSString</span> : <span class="nc">NSObject</span> -<span class="k">-</span> <span class="p">(</span><span class="n">NSUnrelated</span> <span class="o">*</span><span class="p">)</span><span class="nf">init</span><span class="p">;</span> <span class="c1">// incorrect usage: NSUnrelated is not NSString or a superclass of NSString</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="k">@interface</span> <span class="bp">NSString</span> : <span class="bp">NSObject</span> +<span class="p">-</span> <span class="p">(</span><span class="n">NSUnrelated</span> <span class="o">*</span><span class="p">)</span><span class="nf">init</span><span class="p">;</span> <span class="c1">// incorrect usage: NSUnrelated is not NSString or a superclass of NSString</span> <span class="k">@end</span> </pre></div> </div> @@ -1112,7 +1112,7 @@ permitting a lambda to be implicitly converted to a block pointer with the corresponding signature. For example, consider an API such as <tt class="docutils literal"><span class="pre">NSArray</span></tt>‘s array-sorting method:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="k">-</span> <span class="p">(</span><span class="n">NSArray</span> <span class="o">*</span><span class="p">)</span><span class="nf">sortedArrayUsingComparator:</span><span class="p">(</span><span class="n">NSComparator</span><span class="p">)</span><span class="nv">cmptr</span><span class="p">;</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="p">-</span> <span class="p">(</span><span class="bp">NSArray</span> <span class="o">*</span><span class="p">)</span><span class="nf">sortedArrayUsingComparator:</span><span class="p">(</span><span class="n">NSComparator</span><span class="p">)</span><span class="nv">cmptr</span><span class="p">;</span> </pre></div> </div> <p><tt class="docutils literal"><span class="pre">NSComparator</span></tt> is simply a typedef for the block pointer <tt class="docutils literal"><span class="pre">NSComparisonResult</span> @@ -1120,19 +1120,19 @@ literals as arguments. However, one can also use a C++11 lambda so long as it provides the same signature (in this case, accepting two parameters of type <tt class="docutils literal"><span class="pre">id</span></tt> and returning an <tt class="docutils literal"><span class="pre">NSComparisonResult</span></tt>):</p> -<div class="highlight-objc"><div class="highlight"><pre>NSArray *array = @[@"string 1", @"string 21", @"string 12", @"String 11", - @"String 02"]; -const NSStringCompareOptions comparisonOptions - = NSCaseInsensitiveSearch | NSNumericSearch | - NSWidthInsensitiveSearch | NSForcedOrderingSearch; -NSLocale *currentLocale = [NSLocale currentLocale]; -NSArray *sorted - = [array sortedArrayUsingComparator:[=](id s1, id s2) -> NSComparisonResult { - NSRange string1Range = NSMakeRange(0, [s1 length]); - return [s1 compare:s2 options:comparisonOptions - range:string1Range locale:currentLocale]; - }]; -NSLog(@"sorted: %@", sorted); +<div class="highlight-objc"><div class="highlight"><pre><span class="bp">NSArray</span> <span class="o">*</span><span class="n">array</span> <span class="o">=</span> <span class="l">@[</span><span class="s">@"string 1"</span><span class="p">,</span> <span class="s">@"string 21"</span><span class="p">,</span> <span class="s">@"string 12"</span><span class="p">,</span> <span class="s">@"String 11"</span><span class="p">,</span> + <span class="s">@"String 02"</span><span class="l">]</span><span class="p">;</span> +<span class="k">const</span> <span class="n">NSStringCompareOptions</span> <span class="n">comparisonOptions</span> + <span class="o">=</span> <span class="n">NSCaseInsensitiveSearch</span> <span class="o">|</span> <span class="n">NSNumericSearch</span> <span class="o">|</span> + <span class="n">NSWidthInsensitiveSearch</span> <span class="o">|</span> <span class="n">NSForcedOrderingSearch</span><span class="p">;</span> +<span class="bp">NSLocale</span> <span class="o">*</span><span class="n">currentLocale</span> <span class="o">=</span> <span class="p">[</span><span class="bp">NSLocale</span> <span class="n">currentLocale</span><span class="p">];</span> +<span class="bp">NSArray</span> <span class="o">*</span><span class="n">sorted</span> + <span class="o">=</span> <span class="p">[</span><span class="n">array</span> <span class="nl">sortedArrayUsingComparator</span><span class="p">:[</span><span class="o">=</span><span class="p">](</span><span class="kt">id</span> <span class="n">s1</span><span class="p">,</span> <span class="kt">id</span> <span class="n">s2</span><span class="p">)</span> <span class="o">-></span> <span class="n">NSComparisonResult</span> <span class="p">{</span> + <span class="n">NSRange</span> <span class="n">string1Range</span> <span class="o">=</span> <span class="n">NSMakeRange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="p">[</span><span class="n">s1</span> <span class="n">length</span><span class="p">]);</span> + <span class="k">return</span> <span class="p">[</span><span class="n">s1</span> <span class="nl">compare</span><span class="p">:</span><span class="n">s2</span> <span class="nl">options</span><span class="p">:</span><span class="n">comparisonOptions</span> + <span class="nl">range</span><span class="p">:</span><span class="n">string1Range</span> <span class="nl">locale</span><span class="p">:</span><span class="n">currentLocale</span><span class="p">];</span> + <span class="p">}];</span> +<span class="n">NSLog</span><span class="p">(</span><span class="s">@"sorted: %@"</span><span class="p">,</span> <span class="n">sorted</span><span class="p">);</span> </pre></div> </div> <p>This code relies on an implicit conversion from the type of the lambda @@ -1190,7 +1190,7 @@ the end of a function prototype or method declaration:</p> <div class="highlight-objc"><div class="highlight"><pre><span class="kt">id</span> <span class="nf">foo</span><span class="p">()</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">ns_returns_retained</span><span class="p">));</span> -<span class="k">-</span> <span class="p">(</span><span class="n">NSString</span> <span class="o">*</span><span class="p">)</span><span class="nf">bar:</span><span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="nv">x</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">ns_returns_retained</span><span class="p">));</span> +<span class="p">-</span> <span class="p">(</span><span class="bp">NSString</span> <span class="o">*</span><span class="p">)</span><span class="nf">bar:</span><span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="nv">x</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">ns_returns_retained</span><span class="p">));</span> </pre></div> </div> <p>The <tt class="docutils literal"><span class="pre">*_returns_retained</span></tt> attributes specify that the returned object has a +1 @@ -1205,10 +1205,10 @@ The <tt class="docutils literal"><span class="pre">ns_consumes_self</span></tt> attribute can only be placed on an Objective-C method; it specifies that the method expects its <tt class="docutils literal"><span class="pre">self</span></tt> parameter to have a +1 retain count, which it will balance in some way.</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="n">__attribute__</span><span class="p">((</span><span class="n">ns_consumed</span><span class="p">))</span> <span class="n">NSString</span> <span class="o">*</span><span class="n">string</span><span class="p">);</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="n">__attribute__</span><span class="p">((</span><span class="n">ns_consumed</span><span class="p">))</span> <span class="bp">NSString</span> <span class="o">*</span><span class="n">string</span><span class="p">);</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="nf">bar</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">ns_consumes_self</span><span class="p">));</span> -<span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="nf">baz:</span><span class="p">(</span><span class="kt">id</span><span class="p">)</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">ns_consumed</span><span class="p">))</span> <span class="n">x</span><span class="p">;</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="nf">bar</span> <span class="n">__attribute__</span><span class="p">((</span><span class="n">ns_consumes_self</span><span class="p">));</span> +<span class="p">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="nf">baz:</span><span class="p">(</span><span class="kt">id</span><span class="p">)</span> <span class="nv">__attribute__</span><span class="p">((</span><span class="n">ns_consumed</span><span class="p">))</span> <span class="nv">x</span><span class="p">;</span> </pre></div> </div> <p>Further examples of these attributes are available in the static analyzer’s <a class="reference external" href="http://clang-analyzer.llvm.org/annotations.html#cocoa_mem">list of annotations for analysis</a>.</p> @@ -1452,7 +1452,7 @@ expressions in C++11, where there is no other way to take the address of an object that overloads <tt class="docutils literal"><span class="pre">operator&</span></tt>.</p> <p><strong>Example of use</strong>:</p> -<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">T</span><span class="o">></span> <span class="n">constexpr</span> <span class="n">T</span> <span class="o">*</span><span class="n">addressof</span><span class="p">(</span><span class="n">T</span> <span class="o">&</span><span class="n">value</span><span class="p">)</span> <span class="p">{</span> +<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">T</span><span class="o">></span> <span class="k">constexpr</span> <span class="n">T</span> <span class="o">*</span><span class="n">addressof</span><span class="p">(</span><span class="n">T</span> <span class="o">&</span><span class="n">value</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="n">__builtin_addressof</span><span class="p">(</span><span class="n">value</span><span class="p">);</span> <span class="p">}</span> </pre></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/MSVCCompatibility.html new/cfe-3.6.1.src/docs/_build/html/MSVCCompatibility.html --- old/cfe-3.6.0.src/docs/_build/html/MSVCCompatibility.html 2015-03-02 10:54:48.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/MSVCCompatibility.html 2015-05-25 15:55:04.000000000 +0200 @@ -145,7 +145,7 @@ following program, Clang will recover as if the user had written the commented-out code:</p> <div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span> <span class="o"><</span><span class="k">typename</span> <span class="n">T</span><span class="o">></span> -<span class="k">struct</span> <span class="n">Foo</span> <span class="o">:</span> <span class="n">T</span> <span class="p">{</span> +<span class="k">struct</span> <span class="nl">Foo</span> <span class="p">:</span> <span class="n">T</span> <span class="p">{</span> <span class="kt">void</span> <span class="n">f</span><span class="p">()</span> <span class="p">{</span> <span class="cm">/*typename*/</span> <span class="n">T</span><span class="o">::</span><span class="n">UnknownType</span> <span class="n">x</span> <span class="o">=</span> <span class="cm">/*this->*/</span><span class="n">unknownMember</span><span class="p">;</span> <span class="p">}</span> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/MemorySanitizer.html new/cfe-3.6.1.src/docs/_build/html/MemorySanitizer.html --- old/cfe-3.6.0.src/docs/_build/html/MemorySanitizer.html 2015-03-02 10:54:48.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/MemorySanitizer.html 2015-05-25 15:55:04.000000000 +0200 @@ -191,7 +191,7 @@ <span class="go"> return 0;</span> <span class="go">}</span> -<span class="gp">%</span> clang -fsanitize<span class="o">=</span>memory -fsanitize-memory-track-origins<span class="o">=</span>2 -fno-omit-frame-pointer -g -O2 umr2.cc +<span class="gp">%</span> clang -fsanitize<span class="o">=</span>memory -fsanitize-memory-track-origins<span class="o">=</span><span class="m">2</span> -fno-omit-frame-pointer -g -O2 umr2.cc <span class="gp">%</span> ./a.out <span class="go">WARNING: MemorySanitizer: use-of-uninitialized-value</span> <span class="go"> #0 0x7f7893912f0b in main umr2.cc:7</span> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/ObjectiveCLiterals.html new/cfe-3.6.1.src/docs/_build/html/ObjectiveCLiterals.html --- old/cfe-3.6.0.src/docs/_build/html/ObjectiveCLiterals.html 2015-03-02 10:54:49.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/ObjectiveCLiterals.html 2015-05-25 15:55:04.000000000 +0200 @@ -80,29 +80,29 @@ <div class="section" id="examples"> <h3>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h3> <p>The following program illustrates the rules for <tt class="docutils literal"><span class="pre">NSNumber</span></tt> literals:</p> -<div class="highlight-objc"><div class="highlight"><pre>void main(int argc, const char *argv[]) { - // character literals. - NSNumber *theLetterZ = @'Z'; // equivalent to [NSNumber numberWithChar:'Z'] - - // integral literals. - NSNumber *fortyTwo = @42; // equivalent to [NSNumber numberWithInt:42] - NSNumber *fortyTwoUnsigned = @42U; // equivalent to [NSNumber numberWithUnsignedInt:42U] - NSNumber *fortyTwoLong = @42L; // equivalent to [NSNumber numberWithLong:42L] - NSNumber *fortyTwoLongLong = @42LL; // equivalent to [NSNumber numberWithLongLong:42LL] - - // floating point literals. - NSNumber *piFloat = @3.141592654F; // equivalent to [NSNumber numberWithFloat:3.141592654F] - NSNumber *piDouble = @3.1415926535; // equivalent to [NSNumber numberWithDouble:3.1415926535] - - // BOOL literals. - NSNumber *yesNumber = @YES; // equivalent to [NSNumber numberWithBool:YES] - NSNumber *noNumber = @NO; // equivalent to [NSNumber numberWithBool:NO] - -#ifdef __cplusplus - NSNumber *trueNumber = @true; // equivalent to [NSNumber numberWithBool:(BOOL)true] - NSNumber *falseNumber = @false; // equivalent to [NSNumber numberWithBool:(BOOL)false] -#endif -} +<div class="highlight-objc"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span> <span class="p">{</span> + <span class="c1">// character literals.</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">theLetterZ</span> <span class="o">=</span> <span class="sc">@'Z'</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithChar:'Z']</span> + + <span class="c1">// integral literals.</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">fortyTwo</span> <span class="o">=</span> <span class="mi">@42</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithInt:42]</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">fortyTwoUnsigned</span> <span class="o">=</span> <span class="mi">@42</span><span class="n">U</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithUnsignedInt:42U]</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">fortyTwoLong</span> <span class="o">=</span> <span class="mi">@42L</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithLong:42L]</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">fortyTwoLongLong</span> <span class="o">=</span> <span class="mi">@42L</span><span class="n">L</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithLongLong:42LL]</span> + + <span class="c1">// floating point literals.</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">piFloat</span> <span class="o">=</span> <span class="mf">@3.141592654F</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithFloat:3.141592654F]</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">piDouble</span> <span class="o">=</span> <span class="mf">@3.1415926535</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithDouble:3.1415926535]</span> + + <span class="c1">// BOOL literals.</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">yesNumber</span> <span class="o">=</span> <span class="m">@YES</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithBool:YES]</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">noNumber</span> <span class="o">=</span> <span class="m">@NO</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithBool:NO]</span> + +<span class="cp">#ifdef __cplusplus</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">trueNumber</span> <span class="o">=</span> <span class="p">@</span><span class="nb">true</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithBool:(BOOL)true]</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">falseNumber</span> <span class="o">=</span> <span class="p">@</span><span class="nb">false</span><span class="p">;</span> <span class="c1">// equivalent to [NSNumber numberWithBool:(BOOL)false]</span> +<span class="cp">#endif</span> +<span class="p">}</span> </pre></div> </div> </div> @@ -146,22 +146,22 @@ <div class="section" id="boxed-expressions"> <h2>Boxed Expressions<a class="headerlink" href="#boxed-expressions" title="Permalink to this headline">¶</a></h2> <p>Objective-C provides a new syntax for boxing C expressions:</p> -<div class="highlight-objc"><div class="highlight"><pre>@( <expression> ) +<div class="highlight-objc"><div class="highlight"><pre><span class="l">@(</span> <span class="o"><</span><span class="n">expression</span><span class="o">></span> <span class="l">)</span> </pre></div> </div> <p>Expressions of scalar (numeric, enumerated, BOOL) and C string pointer types are supported:</p> -<div class="highlight-objc"><div class="highlight"><pre>// numbers. -NSNumber *smallestInt = @(-INT_MAX - 1); // [NSNumber numberWithInt:(-INT_MAX - 1)] -NSNumber *piOverTwo = @(M_PI / 2); // [NSNumber numberWithDouble:(M_PI / 2)] - -// enumerated types. -typedef enum { Red, Green, Blue } Color; -NSNumber *favoriteColor = @(Green); // [NSNumber numberWithInt:((int)Green)] - -// strings. -NSString *path = @(getenv("PATH")); // [NSString stringWithUTF8String:(getenv("PATH"))] -NSArray *pathComponents = [path componentsSeparatedByString:@":"]; +<div class="highlight-objc"><div class="highlight"><pre><span class="c1">// numbers.</span> +<span class="bp">NSNumber</span> <span class="o">*</span><span class="n">smallestInt</span> <span class="o">=</span> <span class="l">@(</span><span class="o">-</span><span class="n">INT_MAX</span> <span class="o">-</span> <span class="mi">1</span><span class="l">)</span><span class="p">;</span> <span class="c1">// [NSNumber numberWithInt:(-INT_MAX - 1)]</span> +<span class="bp">NSNumber</span> <span class="o">*</span><span class="n">piOverTwo</span> <span class="o">=</span> <span class="l">@(</span><span class="n">M_PI</span> <span class="o">/</span> <span class="mi">2</span><span class="l">)</span><span class="p">;</span> <span class="c1">// [NSNumber numberWithDouble:(M_PI / 2)]</span> + +<span class="c1">// enumerated types.</span> +<span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span> <span class="n">Red</span><span class="p">,</span> <span class="n">Green</span><span class="p">,</span> <span class="n">Blue</span> <span class="p">}</span> <span class="n">Color</span><span class="p">;</span> +<span class="bp">NSNumber</span> <span class="o">*</span><span class="n">favoriteColor</span> <span class="o">=</span> <span class="l">@(</span><span class="n">Green</span><span class="l">)</span><span class="p">;</span> <span class="c1">// [NSNumber numberWithInt:((int)Green)]</span> + +<span class="c1">// strings.</span> +<span class="bp">NSString</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="l">@(</span><span class="n">getenv</span><span class="p">(</span><span class="s">"PATH"</span><span class="p">)</span><span class="l">)</span><span class="p">;</span> <span class="c1">// [NSString stringWithUTF8String:(getenv("PATH"))]</span> +<span class="bp">NSArray</span> <span class="o">*</span><span class="n">pathComponents</span> <span class="o">=</span> <span class="p">[</span><span class="n">path</span> <span class="nl">componentsSeparatedByString</span><span class="p">:</span><span class="s">@":"</span><span class="p">];</span> </pre></div> </div> <div class="section" id="boxed-enums"> @@ -173,25 +173,25 @@ boxed expression. The following example demonstrates configuring an <tt class="docutils literal"><span class="pre">AVAudioRecorder</span></tt> using a dictionary that contains a boxed enumeration value:</p> -<div class="highlight-objc"><div class="highlight"><pre>enum { - AVAudioQualityMin = 0, - AVAudioQualityLow = 0x20, - AVAudioQualityMedium = 0x40, - AVAudioQualityHigh = 0x60, - AVAudioQualityMax = 0x7F -}; - -- (AVAudioRecorder *)recordToFile:(NSURL *)fileURL { - NSDictionary *settings = @{ AVEncoderAudioQualityKey : @(AVAudioQualityMax) }; - return [[AVAudioRecorder alloc] initWithURL:fileURL settings:settings error:NULL]; -} +<div class="highlight-objc"><div class="highlight"><pre><span class="k">enum</span> <span class="p">{</span> + <span class="n">AVAudioQualityMin</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> + <span class="n">AVAudioQualityLow</span> <span class="o">=</span> <span class="mh">0x20</span><span class="p">,</span> + <span class="n">AVAudioQualityMedium</span> <span class="o">=</span> <span class="mh">0x40</span><span class="p">,</span> + <span class="n">AVAudioQualityHigh</span> <span class="o">=</span> <span class="mh">0x60</span><span class="p">,</span> + <span class="n">AVAudioQualityMax</span> <span class="o">=</span> <span class="mh">0x7F</span> +<span class="p">};</span> + +<span class="p">-</span> <span class="p">(</span><span class="bp">AVAudioRecorder</span> <span class="o">*</span><span class="p">)</span><span class="nf">recordToFile:</span><span class="p">(</span><span class="bp">NSURL</span> <span class="o">*</span><span class="p">)</span><span class="nv">fileURL</span> <span class="p">{</span> + <span class="bp">NSDictionary</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="l">@{</span> <span class="nl">AVEncoderAudioQualityKey</span> <span class="p">:</span> <span class="l">@(</span><span class="n">AVAudioQualityMax</span><span class="l">)</span> <span class="l">}</span><span class="p">;</span> + <span class="k">return</span> <span class="p">[[</span><span class="bp">AVAudioRecorder</span> <span class="n">alloc</span><span class="p">]</span> <span class="nl">initWithURL</span><span class="p">:</span><span class="n">fileURL</span> <span class="nl">settings</span><span class="p">:</span><span class="n">settings</span> <span class="nl">error</span><span class="p">:</span><span class="nb">NULL</span><span class="p">];</span> +<span class="p">}</span> </pre></div> </div> <p>The expression <tt class="docutils literal"><span class="pre">@(AVAudioQualityMax)</span></tt> converts <tt class="docutils literal"><span class="pre">AVAudioQualityMax</span></tt> to an integer type, and boxes the value accordingly. If the enum has a <a class="reference internal" href="LanguageExtensions.html#objc-fixed-enum"><em>fixed underlying type</em></a> as in:</p> -<div class="highlight-objc"><div class="highlight"><pre>typedef enum : unsigned char { Red, Green, Blue } Color; -NSNumber *red = @(Red), *green = @(Green), *blue = @(Blue); // => [NSNumber numberWithUnsignedChar:] +<div class="highlight-objc"><div class="highlight"><pre><span class="k">typedef</span> <span class="k">enum</span> <span class="o">:</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="p">{</span> <span class="n">Red</span><span class="p">,</span> <span class="n">Green</span><span class="p">,</span> <span class="n">Blue</span> <span class="p">}</span> <span class="n">Color</span><span class="p">;</span> +<span class="bp">NSNumber</span> <span class="o">*</span><span class="n">red</span> <span class="o">=</span> <span class="l">@(</span><span class="n">Red</span><span class="l">)</span><span class="p">,</span> <span class="o">*</span><span class="n">green</span> <span class="o">=</span> <span class="l">@(</span><span class="n">Green</span><span class="l">)</span><span class="p">,</span> <span class="o">*</span><span class="n">blue</span> <span class="o">=</span> <span class="l">@(</span><span class="n">Blue</span><span class="l">)</span><span class="p">;</span> <span class="c1">// => [NSNumber numberWithUnsignedChar:]</span> </pre></div> </div> <p>then the fixed underlying type will be used to select the correct @@ -201,9 +201,9 @@ be a <a class="reference internal" href="LanguageExtensions.html#objc-fixed-enum"><em>fixed underlying type</em></a> or a compiler-defined integer type capable of representing the values of all the members of the enumeration:</p> -<div class="highlight-objc"><div class="highlight"><pre>typedef enum : unsigned char { Red, Green, Blue } Color; -Color col = Red; -NSNumber *nsCol = @(col); // => [NSNumber numberWithUnsignedChar:] +<div class="highlight-objc"><div class="highlight"><pre><span class="k">typedef</span> <span class="k">enum</span> <span class="o">:</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="p">{</span> <span class="n">Red</span><span class="p">,</span> <span class="n">Green</span><span class="p">,</span> <span class="n">Blue</span> <span class="p">}</span> <span class="n">Color</span><span class="p">;</span> +<span class="n">Color</span> <span class="n">col</span> <span class="o">=</span> <span class="n">Red</span><span class="p">;</span> +<span class="bp">NSNumber</span> <span class="o">*</span><span class="n">nsCol</span> <span class="o">=</span> <span class="l">@(</span><span class="n">col</span><span class="l">)</span><span class="p">;</span> <span class="c1">// => [NSNumber numberWithUnsignedChar:]</span> </pre></div> </div> </div> @@ -217,17 +217,17 @@ equivalent character data, which is assumed to be ‘\0’-terminated and UTF-8 encoded. The following example converts C-style command line arguments into <tt class="docutils literal"><span class="pre">NSString</span></tt> objects.</p> -<div class="highlight-objc"><div class="highlight"><pre>// Partition command line arguments into positional and option arguments. -NSMutableArray *args = [NSMutableArray new]; -NSMutableDictionary *options = [NSMutableDictionary new]; -while (--argc) { - const char *arg = *++argv; - if (strncmp(arg, "--", 2) == 0) { - options[@(arg + 2)] = @(*++argv); // --key value - } else { - [args addObject:@(arg)]; // positional argument - } -} +<div class="highlight-objc"><div class="highlight"><pre><span class="c1">// Partition command line arguments into positional and option arguments.</span> +<span class="bp">NSMutableArray</span> <span class="o">*</span><span class="n">args</span> <span class="o">=</span> <span class="p">[</span><span class="bp">NSMutableArray</span> <span class="n">new</span><span class="p">];</span> +<span class="bp">NSMutableDictionary</span> <span class="o">*</span><span class="n">options</span> <span class="o">=</span> <span class="p">[</span><span class="bp">NSMutableDictionary</span> <span class="n">new</span><span class="p">];</span> +<span class="k">while</span> <span class="p">(</span><span class="o">--</span><span class="n">argc</span><span class="p">)</span> <span class="p">{</span> + <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">arg</span> <span class="o">=</span> <span class="o">*++</span><span class="n">argv</span><span class="p">;</span> + <span class="k">if</span> <span class="p">(</span><span class="n">strncmp</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="s">"--"</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> + <span class="n">options</span><span class="p">[</span><span class="l">@(</span><span class="n">arg</span> <span class="o">+</span> <span class="mi">2</span><span class="l">)</span><span class="p">]</span> <span class="o">=</span> <span class="l">@(</span><span class="o">*++</span><span class="n">argv</span><span class="l">)</span><span class="p">;</span> <span class="c1">// --key value</span> + <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> + <span class="p">[</span><span class="n">args</span> <span class="nl">addObject</span><span class="p">:</span><span class="l">@(</span><span class="n">arg</span><span class="l">)</span><span class="p">];</span> <span class="c1">// positional argument</span> + <span class="p">}</span> +<span class="p">}</span> </pre></div> </div> <p>As with all C pointers, character pointer expressions can involve @@ -244,18 +244,18 @@ <div class="section" id="id1"> <h3>Examples<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3> <p>Immutable array expression:</p> -<div class="highlight-objc"><div class="highlight"><pre>NSArray *array = @[ @"Hello", NSApp, [NSNumber numberWithInt:42] ]; +<div class="highlight-objc"><div class="highlight"><pre><span class="bp">NSArray</span> <span class="o">*</span><span class="n">array</span> <span class="o">=</span> <span class="l">@[</span> <span class="s">@"Hello"</span><span class="p">,</span> <span class="n">NSApp</span><span class="p">,</span> <span class="p">[</span><span class="bp">NSNumber</span> <span class="nl">numberWithInt</span><span class="p">:</span><span class="mi">42</span><span class="p">]</span> <span class="l">]</span><span class="p">;</span> </pre></div> </div> <p>This creates an <tt class="docutils literal"><span class="pre">NSArray</span></tt> with 3 elements. The comma-separated sub-expressions of an array literal can be any Objective-C object pointer typed expression.</p> <p>Immutable dictionary expression:</p> -<div class="highlight-objc"><div class="highlight"><pre>NSDictionary *dictionary = @{ - @"name" : NSUserName(), - @"date" : [NSDate date], - @"processInfo" : [NSProcessInfo processInfo] -}; +<div class="highlight-objc"><div class="highlight"><pre><span class="bp">NSDictionary</span> <span class="o">*</span><span class="n">dictionary</span> <span class="o">=</span> <span class="l">@{</span> + <span class="s">@"name"</span> <span class="o">:</span> <span class="n">NSUserName</span><span class="p">(),</span> + <span class="s">@"date"</span> <span class="o">:</span> <span class="p">[</span><span class="bp">NSDate</span> <span class="n">date</span><span class="p">],</span> + <span class="s">@"processInfo"</span> <span class="o">:</span> <span class="p">[</span><span class="bp">NSProcessInfo</span> <span class="n">processInfo</span><span class="p">]</span> +<span class="l">}</span><span class="p">;</span> </pre></div> </div> <p>This creates an <tt class="docutils literal"><span class="pre">NSDictionary</span></tt> with 3 key/value pairs. Value @@ -290,14 +290,14 @@ <h3>Examples<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3> <p>The following code demonstrates the use of object subscripting syntax with <tt class="docutils literal"><span class="pre">NSMutableArray</span></tt> and <tt class="docutils literal"><span class="pre">NSMutableDictionary</span></tt> objects:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="n">NSMutableArray</span> <span class="o">*</span><span class="n">array</span> <span class="o">=</span> <span class="p">...;</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="bp">NSMutableArray</span> <span class="o">*</span><span class="n">array</span> <span class="o">=</span> <span class="p">...;</span> <span class="n">NSUInteger</span> <span class="n">idx</span> <span class="o">=</span> <span class="p">...;</span> <span class="kt">id</span> <span class="n">newObject</span> <span class="o">=</span> <span class="p">...;</span> <span class="kt">id</span> <span class="n">oldObject</span> <span class="o">=</span> <span class="n">array</span><span class="p">[</span><span class="n">idx</span><span class="p">];</span> <span class="n">array</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span> <span class="o">=</span> <span class="n">newObject</span><span class="p">;</span> <span class="c1">// replace oldObject with newObject</span> -<span class="n">NSMutableDictionary</span> <span class="o">*</span><span class="n">dictionary</span> <span class="o">=</span> <span class="p">...;</span> -<span class="n">NSString</span> <span class="o">*</span><span class="n">key</span> <span class="o">=</span> <span class="p">...;</span> +<span class="bp">NSMutableDictionary</span> <span class="o">*</span><span class="n">dictionary</span> <span class="o">=</span> <span class="p">...;</span> +<span class="bp">NSString</span> <span class="o">*</span><span class="n">key</span> <span class="o">=</span> <span class="p">...;</span> <span class="n">oldObject</span> <span class="o">=</span> <span class="n">dictionary</span><span class="p">[</span><span class="n">key</span><span class="p">];</span> <span class="n">dictionary</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">newObject</span><span class="p">;</span> <span class="c1">// replace oldObject with newObject</span> </pre></div> @@ -327,7 +327,7 @@ </pre></div> </div> <p>it is translated into a call to <tt class="docutils literal"><span class="pre">objectAtIndexedSubscript:</span></tt></p> -<div class="highlight-objc"><div class="highlight"><pre><span class="kt">id</span> <span class="n">value</span> <span class="o">=</span> <span class="p">[</span><span class="n">object</span> <span class="n">objectAtIndexedSubscript</span><span class="o">:</span><span class="n">idx</span><span class="p">];</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="kt">id</span> <span class="n">value</span> <span class="o">=</span> <span class="p">[</span><span class="n">object</span> <span class="nl">objectAtIndexedSubscript</span><span class="p">:</span><span class="n">idx</span><span class="p">];</span> </pre></div> </div> <p>When an expression writes an element using an integral index:</p> @@ -335,7 +335,7 @@ </pre></div> </div> <p>it is translated to a call to <tt class="docutils literal"><span class="pre">setObject:atIndexedSubscript:</span></tt></p> -<div class="highlight-objc"><div class="highlight"><pre><span class="p">[</span><span class="n">object</span> <span class="n">setObject</span><span class="o">:</span><span class="n">newValue</span> <span class="n">atIndexedSubscript</span><span class="o">:</span><span class="n">idx</span><span class="p">];</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="p">[</span><span class="n">object</span> <span class="nl">setObject</span><span class="p">:</span><span class="n">newValue</span> <span class="nl">atIndexedSubscript</span><span class="p">:</span><span class="n">idx</span><span class="p">];</span> </pre></div> </div> <p>These message sends are then type-checked and performed just like @@ -372,7 +372,7 @@ </pre></div> </div> <p>it is translated into a call to the <tt class="docutils literal"><span class="pre">objectForKeyedSubscript:</span></tt> method:</p> -<div class="highlight-objc"><div class="highlight"><pre><span class="kt">id</span> <span class="n">value</span> <span class="o">=</span> <span class="p">[</span><span class="n">object</span> <span class="n">objectForKeyedSubscript</span><span class="o">:</span><span class="n">key</span><span class="p">];</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="kt">id</span> <span class="n">value</span> <span class="o">=</span> <span class="p">[</span><span class="n">object</span> <span class="nl">objectForKeyedSubscript</span><span class="p">:</span><span class="n">key</span><span class="p">];</span> </pre></div> </div> <p>When an expression writes an element using an Objective-C object pointer @@ -381,7 +381,7 @@ </pre></div> </div> <p>it is translated to a call to <tt class="docutils literal"><span class="pre">setObject:forKeyedSubscript:</span></tt></p> -<div class="highlight-objc"><div class="highlight"><pre><span class="p">[</span><span class="n">object</span> <span class="n">setObject</span><span class="o">:</span><span class="n">newValue</span> <span class="n">forKeyedSubscript</span><span class="o">:</span><span class="n">key</span><span class="p">];</span> +<div class="highlight-objc"><div class="highlight"><pre><span class="p">[</span><span class="n">object</span> <span class="nl">setObject</span><span class="p">:</span><span class="n">newValue</span> <span class="nl">forKeyedSubscript</span><span class="p">:</span><span class="n">key</span><span class="p">];</span> </pre></div> </div> <p>The behavior of <tt class="docutils literal"><span class="pre">setObject:forKeyedSubscript:</span></tt> is class-specific; but @@ -475,41 +475,41 @@ <h2>Availability Checks<a class="headerlink" href="#availability-checks" title="Permalink to this headline">¶</a></h2> <p>Programs test for the new features by using clang’s __has_feature checks. Here are examples of their use:</p> -<div class="highlight-objc"><div class="highlight"><pre>#if __has_feature(objc_array_literals) - // new way. - NSArray *elements = @[ @"H", @"He", @"O", @"C" ]; -#else - // old way (equivalent). - id objects[] = { @"H", @"He", @"O", @"C" }; - NSArray *elements = [NSArray arrayWithObjects:objects count:4]; -#endif - -#if __has_feature(objc_dictionary_literals) - // new way. - NSDictionary *masses = @{ @"H" : @1.0078, @"He" : @4.0026, @"O" : @15.9990, @"C" : @12.0096 }; -#else - // old way (equivalent). - id keys[] = { @"H", @"He", @"O", @"C" }; - id values[] = { [NSNumber numberWithDouble:1.0078], [NSNumber numberWithDouble:4.0026], - [NSNumber numberWithDouble:15.9990], [NSNumber numberWithDouble:12.0096] }; - NSDictionary *masses = [NSDictionary dictionaryWithObjects:objects forKeys:keys count:4]; -#endif - -#if __has_feature(objc_subscripting) - NSUInteger i, count = elements.count; - for (i = 0; i < count; ++i) { - NSString *element = elements[i]; - NSNumber *mass = masses[element]; - NSLog(@"the mass of %@ is %@", element, mass); - } -#else - NSUInteger i, count = [elements count]; - for (i = 0; i < count; ++i) { - NSString *element = [elements objectAtIndex:i]; - NSNumber *mass = [masses objectForKey:element]; - NSLog(@"the mass of %@ is %@", element, mass); - } -#endif +<div class="highlight-objc"><div class="highlight"><pre><span class="cp">#if __has_feature(objc_array_literals)</span> + <span class="c1">// new way.</span> + <span class="bp">NSArray</span> <span class="o">*</span><span class="n">elements</span> <span class="o">=</span> <span class="l">@[</span> <span class="s">@"H"</span><span class="p">,</span> <span class="s">@"He"</span><span class="p">,</span> <span class="s">@"O"</span><span class="p">,</span> <span class="s">@"C"</span> <span class="l">]</span><span class="p">;</span> +<span class="cp">#else</span> + <span class="c1">// old way (equivalent).</span> + <span class="kt">id</span> <span class="n">objects</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span> <span class="s">@"H"</span><span class="p">,</span> <span class="s">@"He"</span><span class="p">,</span> <span class="s">@"O"</span><span class="p">,</span> <span class="s">@"C"</span> <span class="p">};</span> + <span class="bp">NSArray</span> <span class="o">*</span><span class="n">elements</span> <span class="o">=</span> <span class="p">[</span><span class="bp">NSArray</span> <span class="nl">arrayWithObjects</span><span class="p">:</span><span class="n">objects</span> <span class="nl">count</span><span class="p">:</span><span class="mi">4</span><span class="p">];</span> +<span class="cp">#endif</span> + +<span class="cp">#if __has_feature(objc_dictionary_literals)</span> + <span class="c1">// new way.</span> + <span class="bp">NSDictionary</span> <span class="o">*</span><span class="n">masses</span> <span class="o">=</span> <span class="l">@{</span> <span class="s">@"H"</span> <span class="o">:</span> <span class="mf">@1.0078</span><span class="p">,</span> <span class="s">@"He"</span> <span class="o">:</span> <span class="mf">@4.0026</span><span class="p">,</span> <span class="s">@"O"</span> <span class="o">:</span> <span class="mf">@15.9990</span><span class="p">,</span> <span class="s">@"C"</span> <span class="o">:</span> <span class="mf">@12.0096</span> <span class="l">}</span><span class="p">;</span> +<span class="cp">#else</span> + <span class="c1">// old way (equivalent).</span> + <span class="kt">id</span> <span class="n">keys</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span> <span class="s">@"H"</span><span class="p">,</span> <span class="s">@"He"</span><span class="p">,</span> <span class="s">@"O"</span><span class="p">,</span> <span class="s">@"C"</span> <span class="p">};</span> + <span class="kt">id</span> <span class="n">values</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span> <span class="p">[</span><span class="bp">NSNumber</span> <span class="nl">numberWithDouble</span><span class="p">:</span><span class="mf">1.0078</span><span class="p">],</span> <span class="p">[</span><span class="bp">NSNumber</span> <span class="nl">numberWithDouble</span><span class="p">:</span><span class="mf">4.0026</span><span class="p">],</span> + <span class="p">[</span><span class="bp">NSNumber</span> <span class="nl">numberWithDouble</span><span class="p">:</span><span class="mf">15.9990</span><span class="p">],</span> <span class="p">[</span><span class="bp">NSNumber</span> <span class="nl">numberWithDouble</span><span class="p">:</span><span class="mf">12.0096</span><span class="p">]</span> <span class="p">};</span> + <span class="bp">NSDictionary</span> <span class="o">*</span><span class="n">masses</span> <span class="o">=</span> <span class="p">[</span><span class="bp">NSDictionary</span> <span class="nl">dictionaryWithObjects</span><span class="p">:</span><span class="n">objects</span> <span class="nl">forKeys</span><span class="p">:</span><span class="n">keys</span> <span class="nl">count</span><span class="p">:</span><span class="mi">4</span><span class="p">];</span> +<span class="cp">#endif</span> + +<span class="cp">#if __has_feature(objc_subscripting)</span> + <span class="n">NSUInteger</span> <span class="n">i</span><span class="p">,</span> <span class="n">count</span> <span class="o">=</span> <span class="n">elements</span><span class="p">.</span><span class="n">count</span><span class="p">;</span> + <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">count</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span> + <span class="bp">NSString</span> <span class="o">*</span><span class="n">element</span> <span class="o">=</span> <span class="n">elements</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">mass</span> <span class="o">=</span> <span class="n">masses</span><span class="p">[</span><span class="n">element</span><span class="p">];</span> + <span class="n">NSLog</span><span class="p">(</span><span class="s">@"the mass of %@ is %@"</span><span class="p">,</span> <span class="n">element</span><span class="p">,</span> <span class="n">mass</span><span class="p">);</span> + <span class="p">}</span> +<span class="cp">#else</span> + <span class="n">NSUInteger</span> <span class="n">i</span><span class="p">,</span> <span class="n">count</span> <span class="o">=</span> <span class="p">[</span><span class="n">elements</span> <span class="n">count</span><span class="p">];</span> + <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">count</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span> + <span class="bp">NSString</span> <span class="o">*</span><span class="n">element</span> <span class="o">=</span> <span class="p">[</span><span class="n">elements</span> <span class="nl">objectAtIndex</span><span class="p">:</span><span class="n">i</span><span class="p">];</span> + <span class="bp">NSNumber</span> <span class="o">*</span><span class="n">mass</span> <span class="o">=</span> <span class="p">[</span><span class="n">masses</span> <span class="nl">objectForKey</span><span class="p">:</span><span class="n">element</span><span class="p">];</span> + <span class="n">NSLog</span><span class="p">(</span><span class="s">@"the mass of %@ is %@"</span><span class="p">,</span> <span class="n">element</span><span class="p">,</span> <span class="n">mass</span><span class="p">);</span> + <span class="p">}</span> +<span class="cp">#endif</span> </pre></div> </div> <p>Code can use also <tt class="docutils literal"><span class="pre">__has_feature(objc_bool)</span></tt> to check for the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/SanitizerSpecialCaseList.html new/cfe-3.6.1.src/docs/_build/html/SanitizerSpecialCaseList.html --- old/cfe-3.6.0.src/docs/_build/html/SanitizerSpecialCaseList.html 2015-03-02 10:54:49.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/SanitizerSpecialCaseList.html 2015-05-25 15:55:04.000000000 +0200 @@ -83,16 +83,16 @@ <div class="highlight-bash"><div class="highlight"><pre><span class="nv">$ </span>cat foo.c <span class="c">#include <stdlib.h></span> void bad_foo<span class="o">()</span> <span class="o">{</span> - int *a <span class="o">=</span> <span class="o">(</span>int*<span class="o">)</span>malloc<span class="o">(</span>40<span class="o">)</span>; - a<span class="o">[</span>10<span class="o">]</span> <span class="o">=</span> 1; + int *a <span class="o">=</span> <span class="o">(</span>int*<span class="o">)</span>malloc<span class="o">(</span>40<span class="o">)</span><span class="p">;</span> + a<span class="o">[</span>10<span class="o">]</span> <span class="o">=</span> 1<span class="p">;</span> <span class="o">}</span> -int main<span class="o">()</span> <span class="o">{</span> bad_foo<span class="o">()</span>; <span class="o">}</span> +int main<span class="o">()</span> <span class="o">{</span> bad_foo<span class="o">()</span><span class="p">;</span> <span class="o">}</span> <span class="nv">$ </span>cat blacklist.txt <span class="c"># Ignore reports from bad_foo function.</span> fun:bad_foo -<span class="nv">$ </span>clang -fsanitize<span class="o">=</span>address foo.c ; ./a.out +<span class="nv">$ </span>clang -fsanitize<span class="o">=</span>address foo.c <span class="p">;</span> ./a.out <span class="c"># AddressSanitizer prints an error report.</span> -<span class="nv">$ </span>clang -fsanitize<span class="o">=</span>address -fsanitize-blacklist<span class="o">=</span>blacklist.txt foo.c ; ./a.out +<span class="nv">$ </span>clang -fsanitize<span class="o">=</span>address -fsanitize-blacklist<span class="o">=</span>blacklist.txt foo.c <span class="p">;</span> ./a.out <span class="c"># No error report here.</span> </pre></div> </div> @@ -115,7 +115,7 @@ fun:MyFooBar fun:_Z8MyFooBarv <span class="c"># Extended regular expressions are supported:</span> -fun:bad_<span class="o">(</span>foo|bar<span class="o">)</span> +fun:bad_<span class="o">(</span>foo<span class="p">|</span>bar<span class="o">)</span> src:bad_source<span class="o">[</span>1-9<span class="o">]</span>.c <span class="c"># Shell like usage of * is supported (* is treated as .*):</span> src:bad/sources/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/ThreadSafetyAnalysis.html new/cfe-3.6.1.src/docs/_build/html/ThreadSafetyAnalysis.html --- old/cfe-3.6.0.src/docs/_build/html/ThreadSafetyAnalysis.html 2015-03-02 10:54:49.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/ThreadSafetyAnalysis.html 2015-05-25 15:55:04.000000000 +0200 @@ -71,7 +71,7 @@ <div class="highlight-c++"><div class="highlight"><pre><span class="cp">#include "mutex.h"</span> <span class="k">class</span> <span class="nc">BankAccount</span> <span class="p">{</span> -<span class="nl">private:</span> +<span class="k">private</span><span class="o">:</span> <span class="n">Mutex</span> <span class="n">mu</span><span class="p">;</span> <span class="kt">int</span> <span class="n">balance</span> <span class="nf">GUARDED_BY</span><span class="p">(</span><span class="n">mu</span><span class="p">);</span> @@ -83,13 +83,13 @@ <span class="n">balance</span> <span class="o">-=</span> <span class="n">amount</span><span class="p">;</span> <span class="c1">// OK. Caller must have locked mu.</span> <span class="p">}</span> -<span class="nl">public:</span> - <span class="kt">void</span> <span class="nf">withdraw</span><span class="p">(</span><span class="kt">int</span> <span class="n">amount</span><span class="p">)</span> <span class="p">{</span> +<span class="k">public</span><span class="o">:</span> + <span class="kt">void</span> <span class="n">withdraw</span><span class="p">(</span><span class="kt">int</span> <span class="n">amount</span><span class="p">)</span> <span class="p">{</span> <span class="n">mu</span><span class="p">.</span><span class="n">Lock</span><span class="p">();</span> <span class="n">withdrawImpl</span><span class="p">(</span><span class="n">amount</span><span class="p">);</span> <span class="c1">// OK. We've locked mu.</span> <span class="p">}</span> <span class="c1">// WARNING! Failed to unlock mu.</span> - <span class="kt">void</span> <span class="nf">transferFrom</span><span class="p">(</span><span class="n">BankAccount</span><span class="o">&</span> <span class="n">b</span><span class="p">,</span> <span class="kt">int</span> <span class="n">amount</span><span class="p">)</span> <span class="p">{</span> + <span class="kt">void</span> <span class="n">transferFrom</span><span class="p">(</span><span class="n">BankAccount</span><span class="o">&</span> <span class="n">b</span><span class="p">,</span> <span class="kt">int</span> <span class="n">amount</span><span class="p">)</span> <span class="p">{</span> <span class="n">mu</span><span class="p">.</span><span class="n">Lock</span><span class="p">();</span> <span class="n">b</span><span class="p">.</span><span class="n">withdrawImpl</span><span class="p">(</span><span class="n">amount</span><span class="p">);</span> <span class="c1">// WARNING! Calling withdrawImpl() requires locking b.mu.</span> <span class="n">depositImpl</span><span class="p">(</span><span class="n">amount</span><span class="p">);</span> <span class="c1">// OK. depositImpl() has no requirements.</span> @@ -263,14 +263,14 @@ details behind an abstract interface. For example:</p> <div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span> <span class="o"><</span><span class="k">class</span> <span class="nc">T</span><span class="o">></span> <span class="k">class</span> <span class="nc">CAPABILITY</span><span class="p">(</span><span class="s">"mutex"</span><span class="p">)</span> <span class="n">Container</span> <span class="p">{</span> -<span class="nl">private:</span> +<span class="k">private</span><span class="o">:</span> <span class="n">Mutex</span> <span class="n">mu</span><span class="p">;</span> <span class="n">T</span><span class="o">*</span> <span class="n">data</span><span class="p">;</span> -<span class="nl">public:</span> +<span class="k">public</span><span class="o">:</span> <span class="c1">// Hide mu from public interface.</span> - <span class="kt">void</span> <span class="nf">Lock</span><span class="p">()</span> <span class="n">ACQUIRE</span><span class="p">()</span> <span class="p">{</span> <span class="n">mu</span><span class="p">.</span><span class="n">Lock</span><span class="p">();</span> <span class="p">}</span> - <span class="kt">void</span> <span class="nf">Unlock</span><span class="p">()</span> <span class="n">RELEASE</span><span class="p">()</span> <span class="p">{</span> <span class="n">mu</span><span class="p">.</span><span class="n">Unlock</span><span class="p">();</span> <span class="p">}</span> + <span class="kt">void</span> <span class="n">Lock</span><span class="p">()</span> <span class="n">ACQUIRE</span><span class="p">()</span> <span class="p">{</span> <span class="n">mu</span><span class="p">.</span><span class="n">Lock</span><span class="p">();</span> <span class="p">}</span> + <span class="kt">void</span> <span class="n">Unlock</span><span class="p">()</span> <span class="n">RELEASE</span><span class="p">()</span> <span class="p">{</span> <span class="n">mu</span><span class="p">.</span><span class="n">Unlock</span><span class="p">();</span> <span class="p">}</span> <span class="n">T</span><span class="o">&</span> <span class="n">getElem</span><span class="p">(</span><span class="kt">int</span> <span class="n">i</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="n">data</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="p">}</span> <span class="p">};</span> @@ -338,15 +338,15 @@ that the function returns a reference to the given capability. It is used to annotate getter methods that return mutexes.</p> <div class="highlight-c++"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyClass</span> <span class="p">{</span> -<span class="nl">private:</span> +<span class="k">private</span><span class="o">:</span> <span class="n">Mutex</span> <span class="n">mu</span><span class="p">;</span> <span class="kt">int</span> <span class="n">a</span> <span class="nf">GUARDED_BY</span><span class="p">(</span><span class="n">mu</span><span class="p">);</span> -<span class="nl">public:</span> - <span class="n">Mutex</span><span class="o">*</span> <span class="nf">getMu</span><span class="p">()</span> <span class="n">RETURN_CAPABILITY</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="o">&</span><span class="n">mu</span><span class="p">;</span> <span class="p">}</span> +<span class="k">public</span><span class="o">:</span> + <span class="n">Mutex</span><span class="o">*</span> <span class="n">getMu</span><span class="p">()</span> <span class="n">RETURN_CAPABILITY</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="o">&</span><span class="n">mu</span><span class="p">;</span> <span class="p">}</span> <span class="c1">// analysis knows that getMu() == mu</span> - <span class="kt">void</span> <span class="nf">clear</span><span class="p">()</span> <span class="n">REQUIRES</span><span class="p">(</span><span class="n">getMu</span><span class="p">())</span> <span class="p">{</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="p">}</span> + <span class="kt">void</span> <span class="n">clear</span><span class="p">()</span> <span class="n">REQUIRES</span><span class="p">(</span><span class="n">getMu</span><span class="p">())</span> <span class="p">{</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="p">};</span> </pre></div> </div> @@ -570,14 +570,14 @@ public <em>name</em> for a private mutex, without actually exposing the underlying mutex. For example:</p> <div class="highlight-c++"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyClass</span> <span class="p">{</span> -<span class="nl">private:</span> +<span class="k">private</span><span class="o">:</span> <span class="n">Mutex</span> <span class="n">mu</span><span class="p">;</span> -<span class="nl">public:</span> +<span class="k">public</span><span class="o">:</span> <span class="c1">// For thread safety analysis only. Does not actually return mu.</span> - <span class="n">Mutex</span><span class="o">*</span> <span class="nf">getMu</span><span class="p">()</span> <span class="n">RETURN_CAPABILITY</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> <span class="p">}</span> + <span class="n">Mutex</span><span class="o">*</span> <span class="n">getMu</span><span class="p">()</span> <span class="n">RETURN_CAPABILITY</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> <span class="p">}</span> - <span class="kt">void</span> <span class="nf">doSomething</span><span class="p">()</span> <span class="n">REQUIRES</span><span class="p">(</span><span class="n">mu</span><span class="p">);</span> + <span class="kt">void</span> <span class="n">doSomething</span><span class="p">()</span> <span class="n">REQUIRES</span><span class="p">(</span><span class="n">mu</span><span class="p">);</span> <span class="p">};</span> <span class="kt">void</span> <span class="nf">doSomethingTwice</span><span class="p">(</span><span class="n">MyClass</span><span class="o">&</span> <span class="n">c</span><span class="p">)</span> <span class="n">REQUIRES</span><span class="p">(</span><span class="n">c</span><span class="p">.</span><span class="n">getMu</span><span class="p">())</span> <span class="p">{</span> @@ -635,7 +635,7 @@ <span class="n">T</span><span class="o">*</span> <span class="n">object</span><span class="p">;</span> <span class="kt">void</span> <span class="p">(</span><span class="n">T</span><span class="o">::*</span><span class="n">mp</span><span class="p">)();</span> -<span class="nl">public:</span> +<span class="k">public</span><span class="o">:</span> <span class="n">AutoCleanup</span><span class="p">(</span><span class="n">T</span><span class="o">*</span> <span class="n">obj</span><span class="p">,</span> <span class="kt">void</span> <span class="p">(</span><span class="n">T</span><span class="o">::*</span><span class="n">imp</span><span class="p">)())</span> <span class="o">:</span> <span class="n">object</span><span class="p">(</span><span class="n">obj</span><span class="p">),</span> <span class="n">mp</span><span class="p">(</span><span class="n">imp</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span> <span class="o">~</span><span class="n">AutoCleanup</span><span class="p">()</span> <span class="p">{</span> <span class="p">(</span><span class="n">object</span><span class="o">->*</span><span class="n">mp</span><span class="p">)();</span> <span class="p">}</span> <span class="p">};</span> @@ -662,7 +662,7 @@ <div class="highlight-c++"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MutexUnlocker</span> <span class="p">{</span> <span class="n">Mutex</span><span class="o">*</span> <span class="n">mu</span><span class="p">;</span> -<span class="nl">public:</span> +<span class="k">public</span><span class="o">:</span> <span class="n">MutexUnlocker</span><span class="p">(</span><span class="n">Mutex</span><span class="o">*</span> <span class="n">m</span><span class="p">)</span> <span class="n">RELEASE</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> <span class="o">:</span> <span class="n">mu</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> <span class="p">{</span> <span class="n">mu</span><span class="o">-></span><span class="n">Unlock</span><span class="p">();</span> <span class="p">}</span> <span class="o">~</span><span class="n">MutexUnlocker</span><span class="p">()</span> <span class="n">ACQUIRE</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> <span class="p">{</span> <span class="n">mu</span><span class="o">-></span><span class="n">Lock</span><span class="p">();</span> <span class="p">}</span> <span class="p">};</span> @@ -767,7 +767,7 @@ <span class="c1">// Defines an annotated interface for mutexes.</span> <span class="c1">// These methods can be implemented to use any internal mutex implementation.</span> <span class="k">class</span> <span class="nf">CAPABILITY</span><span class="p">(</span><span class="s">"mutex"</span><span class="p">)</span> <span class="n">Mutex</span> <span class="p">{</span> -<span class="nl">public:</span> +<span class="k">public</span><span class="o">:</span> <span class="c1">// Acquire/lock this mutex exclusively. Only one thread can have exclusive</span> <span class="c1">// access at any one time. Write operations to guarded data require an</span> <span class="c1">// exclusive lock.</span> @@ -803,10 +803,10 @@ <span class="c1">// MutexLocker is an RAII class that acquires a mutex in its constructor, and</span> <span class="c1">// releases it in its destructor.</span> <span class="k">class</span> <span class="nc">SCOPED_CAPABILITY</span> <span class="n">MutexLocker</span> <span class="p">{</span> -<span class="nl">private:</span> +<span class="k">private</span><span class="o">:</span> <span class="n">Mutex</span><span class="o">*</span> <span class="n">mut</span><span class="p">;</span> -<span class="nl">public:</span> +<span class="k">public</span><span class="o">:</span> <span class="n">MutexLocker</span><span class="p">(</span><span class="n">Mutex</span> <span class="o">*</span><span class="n">mu</span><span class="p">)</span> <span class="n">ACQUIRE</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> <span class="o">:</span> <span class="n">mut</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> <span class="p">{</span> <span class="n">mu</span><span class="o">-></span><span class="n">Lock</span><span class="p">();</span> <span class="p">}</span> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/ThreadSanitizer.html new/cfe-3.6.1.src/docs/_build/html/ThreadSanitizer.html --- old/cfe-3.6.0.src/docs/_build/html/ThreadSanitizer.html 2015-03-02 10:54:49.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/ThreadSanitizer.html 2015-05-25 15:55:04.000000000 +0200 @@ -96,10 +96,10 @@ <tt class="docutils literal"><span class="pre">addr2line</span></tt> process (this will be fixed in future).</p> <div class="highlight-bash"><div class="highlight"><pre>% ./a.out WARNING: ThreadSanitizer: data race <span class="o">(</span><span class="nv">pid</span><span class="o">=</span>19219<span class="o">)</span> - Write of size 4 at 0x7fcf47b21bc0 by thread T1: + Write of size <span class="m">4</span> at 0x7fcf47b21bc0 by thread T1: <span class="c">#0 Thread1 tiny_race.c:4 (exe+0x00000000a360)</span> - Previous write of size 4 at 0x7fcf47b21bc0 by main thread: + Previous write of size <span class="m">4</span> at 0x7fcf47b21bc0 by main thread: <span class="c">#0 main tiny_race.c:10 (exe+0x00000000a3b4)</span> Thread T1 <span class="o">(</span>running<span class="o">)</span> created at: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/_static/pygments.css new/cfe-3.6.1.src/docs/_build/html/_static/pygments.css --- old/cfe-3.6.0.src/docs/_build/html/_static/pygments.css 2015-03-02 10:54:49.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/_static/pygments.css 2015-05-25 15:55:05.000000000 +0200 @@ -40,6 +40,7 @@ .highlight .nv { color: #bb60d5 } /* Name.Variable */ .highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #40a070 } /* Literal.Number.Bin */ .highlight .mf { color: #40a070 } /* Literal.Number.Float */ .highlight .mh { color: #40a070 } /* Literal.Number.Hex */ .highlight .mi { color: #40a070 } /* Literal.Number.Integer */ Files old/cfe-3.6.0.src/docs/_build/html/objects.inv and new/cfe-3.6.1.src/docs/_build/html/objects.inv differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/html/searchindex.js new/cfe-3.6.1.src/docs/_build/html/searchindex.js --- old/cfe-3.6.0.src/docs/_build/html/searchindex.js 2015-03-02 10:54:49.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/html/searchindex.js 2015-05-25 15:55:05.000000000 +0200 @@ -1 +1 @@ -Search.setIndex({envversion:42,terms:{attribute_unavailable_with_messag:21,gnu89:23,withdrawimpl:1,orthogon:30,usetab:39,rev:30,"__v16si":23,poorli:17,four:[9,17,5],prefix:[10,23,29,14,39,32,2,27,20,6,21],nsdate:27,dirnam:36,namespace2:12,upsid:9,whose:[23,35,2,17,5,25,21,8],createastconsum:13,undef:[29,24,8,32],"const":[17,8],wunused_macro:5,arithmat:21,spew:5,"0x20":27,"__atomic_relax":21,getdeclcontext:5,concret:[20,9,5],allowshortfunctionsonasinglelin:39,swap:[21,5],foldingsetnodeid:2,under:[0,12,10,1,29,15,30,24,23,27,8,18,4,5,37,38,17],preprocess:[23,24,5,6,21,9],spec:9,alignoperand:39,trylock:1,merchant:30,nounrol:35,digit:5,lack:[21,17],everi:[23,1,21,24,32,2,29,4,33,5,20,6,17],risk:[39,21,17],lookup:[17,5],"void":[12,8],subjectlist:5,affect:[23,39,24,32,21,7,17],handlesimpleattribut:5,"0x403c8c":12,vast:[24,17,5],byref_obj:30,nsarrai:[21,27],metaclass:17,cxx_binary_liter:21,cmd:[28,10,8],lk_javascript:39,defens:24,type_idx:8,pointeralign:39,vector:[14,39,9,17,5],terabyt:[38,12],math:[21,24,8],though:[23,15,24,2,8,38,17],mllvm:23,incourag:2,x86_64:[23,12,29,15,3,4,38,9],carryout:21,avaudioqualitymin:27,fixit:[37,23,7,19,5],"__va_list_tag":31,naiv:17,direct:[29,17,5,21,8,9],enjoi:7,consequ:[23,24,27,20,6,17],second:[10,33,23,1,30,24,2,8,18,27,5,21,17,9],processdeclattribut:5,aggreg:[17,5],"0x173b0b0":2,even:[23,38,30,24,33,17,39,5,37,20,21,8],anywher:[29,18,9,17,5],hide:1,insid:[12,39,36,32,27,33,5,28,21,9],warn_:5,neg:5,asid:5,implicitcastexpr:[28,25,2],poison:32,"__msan_chain_origin":38,"0x7ff3a302a9f8":31,"new":[8,18,30,17,12],net:18,ever:[5,24,17,36,8,9],liberti:17,metadata:[17,9],cxx_range_for:21,ongo:33,elimin:[12,24,32,5,38,21,17,9],centric:[1,32,5],annotationendloc:5,behavior:[8,29,4,17,5],"__dmb":21,intargu:5,mem:8,myframework:24,never:[23,39,24,17,5,21,8,9],copysign:5,sc22:35,here:[23,11,12,1,39,24,27,8,35,5,28,20,21,7,17,9],accur:[35,15,17,5],undo:10,debugg:[33,5],numberwithfloat:27,path:[10,11,38,12,23,1,14,36,24,32,27,8,5,28,20,21,22,17,9],"__atomic_seq_cst":21,mpi_datatype_nul:8,anonym:[28,12,17,23,5],interpret:[1,39,24,5],unconsum:8,"__sync_lock_test_and_set":21,thread_annotation_attribute__:1,precis:8,findnamedclassact:13,loop:[39,7,17,5],permit:[23,30,24,8,21,17],"__is_nothrow_construct":21,aka:21,prolog:37,werror:23,portabl:[21,9,5],"__sync_fetch_and_add":21,instr:23,"0x7f7ddabcac4d":12,substr:[28,17],unix:[22,24],strai:[21,17],printf:[30,16,32,18,5,38,8],"__builtin_smul_overflow":21,total:[23,30],"byte":[10,12,23,29,5,8],unit:[23,12,1,29,36,24,32,27,8,13,4,5,25,20,21,22,26,17],highli:23,redon:6,describ:[0,11,39,10,1,30,21,24,23,2,8,18,32,27,5,35,6,22,7,17,9],would:[10,33,23,1,30,36,24,32,2,8,18,39,19,5,21,17,9],mistak:[27,5],tail:[38,12],float2:21,bleed:23,program:[1,27,4,5,6,7,8,10,12,13,15,17,18,19,20,21,23,24,26,2,28,29,30,32,33,36,38,39],call:[1,2,4,5,6,8,9,23,12,13,14,16,17,18,20,21,22,24,26,27,28,29,30,32,33,35,36,37,38,39],typo:35,recommend:[21,17],strike:17,"__builtin_object_s":[23,8],type:12,until:[23,1,33,18,26,17],beyond:[18,17,5],unescap:22,readm:14,"0x173b088":2,notic:[30,35],warn:[4,12,8],getaspointertyp:5,"export":[14,36],hold:[1,30,8,18,5,17,9],unpack:20,must:[23,1,14,30,21,24,32,27,8,18,29,5,37,6,22,17,9],subexpr:5,accid:5,uninstru:[38,4],word:[1,30,24,5,21,17],restor:[23,35,17,2],generalis:4,setup:[20,7,31],work:[1,2,4,5,6,7,17,9,10,11,12,15,20,21,22,23,24,26,27,28,30,32,33,36,25,38,35],foo_ctor:30,worth:[9,5],conceptu:[9,5],wors:17,introduc:[10,11,12,8,23,1,15,30,24,32,2,3,18,39,27,5,38,17],"__strict_ansi__":23,akin:[17,5],root:[20,17,23],could:[23,29,30,24,32,17,5,20,7,8],overrid:[8,39,7,17,5],defer:[23,33],lclangbas:24,give:[23,35,36,2,19,5,25,21,7,17,9],cxxusingdirect:5,"0x5aea0d0":25,oldobject:27,indic:[23,1,35,24,32,2,8,13,26,5,21,17,9],caution:17,unavail:8,want:[0,11,33,23,13,35,16,2,8,25,36,26,19,5,28,20,21,7,17,9],avaudioqualitylow:27,unavoid:[17,12],unsign:[23,12,14,30,31,27,39,5,38,21,8],experimentalautodetectbinpack:39,recov:[23,35,33,18,5,17],end:[10,31,23,1,29,7,21,32,2,8,18,36,26,5,20,6,22,17,9],hoc:17,quot:[23,21,22,8,5],ordinari:[1,23],strnlen_chk:8,classifi:[23,17,5],i686:23,concis:[23,21,27,2],hasnam:26,breakbeforebrac:39,libsupport:5,recoveri:[18,23,33,5],answer:[24,17,2],verifi:[37,26,32,5],macosx10:23,ancestor:25,config:[10,39,24],updat:[1,32,18,4,5,17],dialect:[23,24,17,32],recogn:[23,21,17,5],rebas:2,less:[23,15,32,2,17,35,5,3,7,8],attrdoc:5,after:[23,33,12,1,30,36,24,32,2,8,18,39,27,5,28,20,21,22,17,9],alignafteropenbracket:39,lab:35,diagram:9,befor:[23,35,1,39,24,32,2,17,29,33,5,21,8],wrong:[20,17,23,5],exclusive_lock_funct:1,beauti:23,pthread_join:15,irrelev:39,fblock:23,arch:[20,35,23,9],parallel:[6,21,17],demonstr:[1,14,4,27,36],danieljasp:31,attempt:[23,1,30,24,32,33,8,18,35,5,21,17,9],third:[24,32,33,17,5,8],isvalid:13,grant:30,exclud:[24,17],recompil:[24,17,2,32],maintain:[24,32,2,5,20,17,9],environ:[23,12,1,30,24,18,19,38,35,22,17,9],incorpor:[21,7,17],enter:[17,5],exclus:[18,30,8],worst:17,lambda:17,parmvar:25,vfp:8,decl:[13,24,32,2,5,25],origin:[29,30,17,4,5,21,7,8,9],frontend:16,diagnos:[21,24,33,5],cygm:23,over:[23,13,14,7,36,32,2,19,5,22,17],failur:[1,23,24,8,5],orang:9,becaus:[21,23,1,30,16,24,32,2,8,4,27,5,6,7,17,9],x64:[23,35],numberwithchar:27,ptr_kind:8,bs_stroustrup:39,keyboard:10,byref:30,vari:[23,32,17,8],"__builtin_ab":5,fiq:8,cli:7,fit:[1,30,33,5,25,22,39],fix:[20,17,12],clangastmatch:2,better:[23,24,33,5,37,20,21,9],carri:[17,8],complex:[20,9,4,5],poly8x16_t:21,persist:[37,24],hidden:[10,32],setwidth:5,easier:[20,24,17,38],cxxliteraloperatornam:5,them:[1,2,5,6,17,9,23,12,13,7,16,18,20,21,24,26,27,28,35,32,33,39,36,30],gnu99:[23,35],thei:[1,27,5,8,9,23,11,12,7,17,18,19,20,21,24,26,2,30,32,33,36,37,38,39],proce:[13,17,32],safe:[8,1,7,33,17,6,21],"break":[13,39,24,8,18,19,36,20,17],alwaysbreaktemplatedeclar:39,inescap:17,promis:[23,15,17],astread:32,d_gnu_sourc:14,itanium:17,yourself:25,bank:8,cxx_aligna:21,blockstoragefoo:30,grammat:5,grammar:[24,5],controlstat:39,ut_forindent:39,lanugag:39,rizsotto:37,accommod:[18,9],block_field_is_weak:30,conflict:[21,17],arrow:23,each:[2,4,5,6,7,8,9,23,11,15,17,18,20,21,22,24,27,28,29,39,32,36,25,30],debug:[13,35,24,33,5,28,38,8,9],foo_priv:24,"0x173b240":2,localiz:5,side:[23,29,7,2,17,18,27,5,21,8],mean:[23,35,12,38,1,15,21,24,27,8,29,39,33,30,5,20,6,17,9],prohibit:[39,17],monolith:9,cppguid:0,add_clang_execut:[13,2],objcinstance0:5,combust:21,foldabl:5,collector:17,cxxoperatornam:5,unbound:5,palat:5,goe:[23,21,5],facil:[9,24,5],newli:27,crucial:24,convei:5,astcontext:[25,32,2,5],content:[21,24,2,5],rewrit:[30,24,7,5],laid:17,dictionarywithobjectsandkei:27,adapt:9,newobject:27,reader:2,i128:23,unmanag:17,targetspecificattribut:5,"__block_dispose_10":30,multilin:39,libastmatch:26,"0x5aeaa90":25,nodetyp:13,linear:[6,24,32],barrier:[29,30,8],written:[10,23,35,24,32,27,17,25,26,33,5,37,21,8],situat:[35,17],infin:21,free:[12,30,24,27,26,35,37,17],standard:[10,39,17,5,25,20,7,8],nsobject:17,fixm:[0,23],identifierinfo:[32,5],databas:[37,28,31],accessmodifieroffset:39,parenthes:[23,35,39,27,2,5,21,17],"__has_nothrow_assign":21,convent:[23,30,24,33,17,35,5,21,22,8],"_returns_retain":21,angl:[39,5],astdump:28,atl:[35,33],filter:[28,10,17,2,5],system_framework:21,fuse:17,iso:23,isn:[29,2,17,5,8,9],baltic:5,isa:[23,30,5],subtl:[24,17],confus:[23,9,24,17,5],performwith:17,rang:[10,39,7,8,5],perfectli:[17,5],render:[17,5],independ:[15,24,32,19,5,38,6,22,9],rank:8,necess:[17,5],restrict:8,hook:[13,17],unlik:[23,1,15,24,27,29,4,5,6,17],alreadi:[13,7,24,32,2,8,27,36,37,20,21,17],wrapper:[29,31,4,5,37,21],wasn:24,agre:17,primari:[7,24,17,5,37,8],latenc:[21,22],wherev:[18,8,2,5],rewritten:[30,7,27,5],nomin:29,top:[10,14,24,32,19,5,38,21,22,17,9],objc_instancetyp:21,sometim:[23,1,33,8,5,17],downsid:[14,9],bitstream:[32,5],toi:37,ton:5,too:[1,16,17],similarli:[23,1,30,24,27,17,6,7,21,9],toolset:23,recent:[28,32,17,2,5],cxx_generic_lambda:21,cxx11:5,sourcemgr:0,conditionvarnam:2,"_pragma":[23,5],tool:[8,31,17,12],privaci:29,noninfring:30,andersbakken:37,sourceweb:37,getmu:1,incur:[23,6,9],somewhat:[24,17,5],conserv:[1,17,9],peculiar:17,machineri:[23,6,24,17,5],clang_index:37,reinterpret_cast:[21,7,17],target:[39,30,8],"__block":17,provid:[1,27,4,5,6,7,8,9,23,11,13,14,15,17,18,19,20,21,24,26,2,28,29,30,32,33,35,36,37,38,39],expr:[25,23,2,5],lvalu:[25,23,17,2,5],tree:[23,14,35,36,24,32,2,26,5,28,22,7,9],"10x":15,project:[10,12,39,31,7,17,9],matter:[1,18,23,5],wchar_t:[21,24],entri:[29,17,8],returnstmt:25,compoundstmt:[28,25,31,5],provis:18,assertreaderheld:1,lbr:23,aapc:8,ran:23,morehelp:[2,36],modern:17,mind:5,example_useafterfre:12,bitfield:5,raw:5,incrementvari:2,manner:[1,30,8,18,5,28,21,17],increment:[1,21,17,2],seen:[21,32,17,27,12],seem:17,incompat:[23,24,17,33,8],minu:35,dozen:23,strength:6,dsomedef:22,latter:24,clang_plugin:37,client:[10,23,29,32,4,5,37,9],hatch:1,ptr_idx:8,cxx_alias_templ:21,expens:[21,24,32],simplifi:[21,24,17,27,5],rethrow:33,fullsourceloc:13,hasincr:2,object:8,c_generic_select:21,what:[36,24,2,17,26,33,5,20,21,8,9],spacesinangl:39,regular:[39,23,11,30,21],recorddecl:[26,5],letter:17,xarch_:9,phase:[9,17,5],boost_foreach:39,unordered_map:7,tradit:[23,17],cxx_raw_string_liter:21,don:[23,12,38,33,39,24,2,19,5,20,21,7,17,9],pointe:[8,23,17,5],doc:[0,11,31,35],flow:[17,8],c_static_assert:21,doe:[1,2,3,4,5,6,8,9,10,11,12,15,17,18,20,21,22,23,24,27,30,32,33,35,36,25,38,39],bindarchact:9,"__is_class":21,declar:8,wildcard:[11,24,12],abi:[30,17,8],unchang:22,notion:[24,5],came:[23,5],always_inlin:[21,8],superset:[17,5],mostli:[23,29,33,17,5,8,9],functionpoint:18,api:[23,1,35,24,8,4,19,5,21,7,17],visitor:13,getcxxoverloadedoper:5,random:[38,5],findnamedclassconsum:13,carryin:21,protocol:[39,17,8],wbind:23,next:[10,13,39,36,24,32,2,17,26,27,5,21,8],involv:[23,24,27,5,6,17,9],absolut:[11,21,24,17,22],isequ:27,nobodi:23,layout:8,acquir:8,stmtnode:5,menu:10,explain:[23,35,27,26,2,5,8],configur:10,sugar:[37,17,8],"__is_fin":21,kerrorcodehack:21,version:[10,23,1,14,30,36,24,32,2,8,18,35,5,38,21,7,17,9],rich:[23,5],blockreturningintwithintandcharargu:18,somelongfunct:39,valuetyp:7,predecessor:5,ftrap:23,"0x403c43":12,type_express:18,nasti:5,likewis:21,stop:[23,13,39,32,5,17,9],compli:[0,39],consecut:[39,32,2],objc_default_synthesize_properti:21,report:[12,9],reconstruct:32,pointers_to_memb:33,mutual:[18,30,8],receiv:[8,21,17,3],ns_returns_autoreleas:[21,17],bar:[23,11,1,7,8,26,5,21,17],emb:30,make_shar:7,excel:24,baz:[1,23,21,17,5],"public":[1,39,24,32,2,13,5,7,8],twice:[21,17],bad:[23,11,12,24,5,17],memorysanit:[21,8,3],ban:17,n3421:7,jghqxi:9,xclang:[25,14,16,23,5],strncmp:27,hhbebh:9,fair:17,system_head:[23,24],cstdio:24,"_block_object_dispos":30,datatyp:8,num:[10,23],ns_returns_not_retain:[21,17,8],result:[12,8],respons:[23,5,32,36,17,9],fail:[23,38,1,36,24,27,8,18,33,5,20,21,17,9],themselv:[13,39,24,5,7,9],charact:[23,39,24,27,35,5,6,22,17],msan:38,best:[23,29,39,2,17,5,20,21,22,8],subject:[30,24,17,18,5,21,8],fn6:23,fn5:23,said:[18,21,30,17],fn3:23,fn2:23,fn1:23,objcspaceafterproperti:39,irq:8,"_block_destroi":30,"_foo":[21,5],figur:[36,2,26,5,28,20,22],simplest:[37,30,2],awai:[39,17,8],sysroot:20,attribut:12,accord:[23,7,24,32,27,17,18,4,5,21,22,8],extend:[10,29,18,4,5,17],nslog:[21,27],"__need_wchar_t":24,constexpr:8,lazi:[28,6,32],omp:35,"__c11_atomic_compare_exchange_weak":21,preprocessor:[17,9],extent:[23,4,17,12],langopt:[32,5],toler:[29,17],umr2:38,"__c11_atomic_init":21,protect:[1,17,9],accident:[24,17],mu1:1,easi:[10,33,23,39,2,19,5,20,6,7,17],fbracket:23,mu2:1,string_liter:5,ill:[24,17,27,8],against:[23,33,24,2,27,5,20,6,17],objcmultiargselector:5,incvarnam:2,ij_label:4,ilp:21,logic:[29,7,24,32,2,18,5,20,17,9],fno:[23,12,24,38,21,17,9],seri:[24,5],com:[0,12,23,15,2,3,28,35,37,38,39],col:[25,31,27],initwithurl:27,con:19,initmystringvalu:8,ifoo:[23,9],cxxconversionfunctionnam:5,character:[30,2],ulimit:[38,15,12],excess:[23,24],height:5,lvaluetorvalu:25,permut:21,theoret:[6,17],"__builtin_smulll_overflow":21,cxcompilationdatabas:22,diff:[10,21,5],spacesinsquarebracket:39,trust:17,assum:[23,1,39,24,27,18,4,33,5,20,21,26,17],summar:30,duplic:[35,32,8,5],liabil:30,getcompil:[2,36],convolut:17,three:[23,1,7,21,32,2,17,27,5,20,6,8],been:[23,35,33,8,1,15,30,24,32,2,3,29,27,5,38,21,17,9],specul:17,accumul:23,much:[23,1,7,32,3,18,5,20,17,9],interest:[23,13,32,2,26,33,5,37,20,6],basic:[14,7,31,8,20,17],"__has_trivial_assign":21,futur:[0,9,8,38,5],thrice:21,tini:32,quickli:[29,26,5,21,17,9],rather:[23,1,24,32,2,17,18,5,21,8,9],unfortu:5,suppress:[23,12,15,24,17,38,8],xxx:23,search:[23,31,34,14,39,16,24,32,36,25,6,21,9],uncommon:[17,5],ani:[1,2,3,5,6,8,9,10,15,17,18,19,20,21,23,24,26,27,28,29,30,32,33,38,35],lift:[7,24,17,32],"0x44d96d0":28,dfsan_get_label_info:29,child:[25,32,9],"catch":[29,35,2,18,17,9],emploi:[23,6],ident:[23,21,35,5],bitcod:32,servic:[8,19],properti:8,strict:[23,17,8],aim:[23,35,2,28,19,5,37,21],calcul:1,gritti:19,"typeof":[23,30],occas:5,aid:24,vagu:17,anchor:23,nswidthinsensitivesearch:21,spawn:24,clangseri:24,seven:9,printabl:23,coher:5,tabl:[29,33,5,25,21,17],getforloc:2,toolkit:7,neon_vector_typ:21,need:[1,27,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,2,28,29,30,32,33,36,38,39],libxml:20,avencoderaudioqualitykei:27,cond:23,stmtresult:5,objc_:21,actionfactori:28,sever:[10,23,39,21,32,2,17,18,5,6,8],pthread_t:15,number_of_sampl:23,codingstandard:0,descent:5,externalslocentrysourc:32,perform:[23,12,38,1,29,15,30,24,32,27,3,18,5,37,20,21,17,9],suggest:[12,15,33,35,5,38,8],make:[12,29,14,30,17,20,8,9],quirk:2,condvar:2,thusli:30,split:[39,24,17,8],semahandl:5,block_literal_1:30,rebuildxxx:5,complet:[23,35,33,1,39,21,24,32,2,8,28,19,5,37,6,17,9],autoreleas:[21,17],asan_opt:12,fragil:[21,24,17],nil:[18,17,27],darwin9:[32,9],blue:[21,9,27,5],bitwis:[29,21,5],hand:[23,33,13,36,2,29,27,5,20,17,9],"__builtin_umulll_overflow":21,rais:[17,27],objc_arc:[21,24,17],tune:15,squar:[21,39,5],judgement:5,redefin:24,kept:[39,24,18,5,7,17,9],bewar:23,inputact:9,linkifi:5,thu:[18,1,29,36,24,32,13,5,25,6,21],"__builtin_types_compatible_p":21,hypothet:8,inherit:[8,17,5],magnitud:20,weakli:8,loopmatch:2,istypedepend:5,thi:[12,8],endif:[23,12,1,15,24,27,8,28,38,6,21],programm:[1,18,24,17,27],everyth:[1,24,13,5,25,17],left:[23,13,39,32,2,17,27,5,35,8],identifi:[29,39,24,2,17,5,25,21,8],just:[0,12,10,1,35,21,24,23,2,32,18,26,27,5,28,38,6,17,9],verifyintegerconstantexpress:5,"0x404704":12,ordin:5,"__c11_atomic_fetch_add":21,human:[26,5],ifdef:[1,6,21,27],msp430interruptattr:5,factorymethodpool:32,yet:[15,24,32,33,17,35,5,8],languag:17,previous:[23,12,1,27,29,5,17],like:[1,27,4,5,8,9,23,11,12,13,15,17,18,19,20,21,24,26,2,29,39,32,33,36,25,38,7],isinteg:2,expos:[1,0,21,24,17],interfer:21,opencl:[21,24,8],had:[23,15,30,24,32,33,17,5,38,21,8],cxx_relaxed_constexpr:21,spread:[20,23],primit:17,els:[23,1,39,27,8,29,35,5,28,21,17],save:[10,23,32,17,8,9],explanatori:5,sanit:[29,38,4,12,3],applic:[10,29,35,24,33,17,4,5,37,21,7,8],rtag:37,basedonstyl:[10,39],preserv:[8,29,17,5],regard:5,compilationdatabas:[28,36],forstmt:[32,2],elabor:[18,6],shadow:[29,21,4],unten:17,apart:32,actoncxxglobalscopespecifi:5,specif:[17,8],arbitrari:[23,29,32,2,18,27,5,6,17],stret:30,contradict:39,manual:[29,20,17,8],"_block_liter":30,"__is_base_of":21,cplusplu:24,indentwrappedfunctionnam:39,unnecessari:[8,32,17,9],underli:[29,30,17,5,7,8],datarecursiveastvisitor:5,long_prefixed_uppercase_identifi:24,right:[30,24,2,17,39,26,5,20,8,9],old:[24,17,27],famili:8,deal:[12,30,2,26,5,17,9],interv:[21,24],eas:[23,9],"_decimal32":23,lockstep:8,intern:[29,4,17],sure:[12,38,1,2,5,20,9],namespaceindent:39,unless:[1,30,24,8,39,4,5,21,17],successfulli:[23,35,17,33],"__builtin_classify_typ":5,nsmutabledictionari:27,txt:[13,11,2],badclassnam:12,umr:38,fpic:[38,15,35],fidel:17,fpie:[38,15],subclass:[17,8],"_nsconcreteglobalblock":30,buffer:[10,39,24,32,5,8],armv7l:20,getnamekind:5,armv7:23,armv6:23,condit:[8,30,17,18,4,39],foo:[23,11,39,1,30,24,33,8,18,26,5,21,7,17,9],armv7a:20,core:[17,8],dfsan_create_label:[29,4],sensibl:[17,5],maxemptylinestokeep:39,alwaysbreakbeforemultilinestr:39,semacodecomplet:5,mytoolcategori:[2,36],pose:29,block_fooref:18,clearer:17,codeview:33,tablegen:5,promot:[23,8],some_directori:23,post:[17,2],"super":[17,8],nsnumericsearch:21,parsekind:5,unsaf:[1,21,17],obj:[1,10,30],"42l":27,bad_fil:12,toplevel:[25,36],slightli:24,surround:39,getlocforendoftoken:5,unsav:10,distinct:[24,33,18,5,17,9],canonic:2,liber:24,commit:[37,10],"__aligned_v16si":23,"42u":27,produc:[18,4,17,20,9],ppc:9,isysroot:23,repars:[28,32,5],curiou:2,declarationnamet:5,encod:[25,32,27,5],bound:[10,12,23,24,2,18,21,22,9],two:[0,11,29,23,1,14,39,36,24,32,2,8,18,27,5,35,20,21,25,17,9],"0x44d97c8":28,"0x200200000000":29,wrap:[1,39,4,27,5],opportun:[21,24,17,9],storag:8,msp430:[23,5],initwithobject:21,accordingli:[39,27],git:[28,10,7,2],horizont:39,parseargumentsasunevalu:5,suffici:[23,17],"__sync_":21,transform:[23,7,33,26,5,17],block_has_copy_dispos:30,why:[8,17,2,5],dcmake_cxx_compil:28,width:[23,21,39],reli:[33,1,24,27,2,21,17],err_:5,editor:[0,7,10],fraction:[6,32],block_releas:[18,30,17],overhead:[29,12,8],constantli:35,"0x7ff3a302a410":31,indentwidth:[10,39],analysi:[37,29,4,17,5],head:[10,23],creation:21,"_block_object_assign":30,form:[10,39,23,13,29,15,30,24,32,2,8,18,27,5,25,21,7,17],offer:[23,7,17,2],forc:[12,39,16,24,17,18,5,8,9],"__clang_minor__":21,refcount:30,wdeprec:21,cxx_rvalue_refer:21,unroot:17,heap:[23,12,30,18,5,38,21,17],synonym:[35,12,5],lk_cpp:39,"true":[23,18,1,14,39,2,8,13,27,5,20,21,17],profdata:23,axw:37,reset:1,absent:[24,17],wdocument:23,columnlimit:39,maximum:[23,39,32],tell:[23,2,5],nsautoreleasepool:17,"__is_trivially_assign":21,minor:[21,32,5],absenc:24,fundament:[6,7,39,5],handleyourattr:5,autoconf:21,emit:[35,30,24,32,27,17,33,5,37,6,8,9],mtd:23,classif:17,featur:[39,7,17,8],alongsid:[23,24],semicolon:5,flat:5,diagnostickind:5,noinlin:8,arg_kind:8,proven:21,diagnost:[7,17,8],err_attribute_wrong_decl_typ:5,exist:[23,1,30,24,32,2,17,18,27,5,28,21,22,8],request:[29,18,17,23],ship:[30,16],trip:21,assembl:[20,21,4,23,9],byref_i:30,readonli:39,constructorinitializerallononelineoroneperlin:39,when:[1,27,3,5,6,8,9,10,12,13,17,18,19,20,21,23,24,26,28,29,30,32,33,35,36,38,39],refactor:[25,7,19],entrypoint:17,declstmt:[25,31,2],test:[1,2,3,5,6,7,8,9,23,12,15,17,21,24,27,28,35,32,33,36,25,38,39],roll:17,runtim:12,a15:20,legitim:17,intend:[23,33,1,7,16,24,32,2,8,18,4,27,5,28,21,17,9],objcinst:5,"__block_literal_5":30,"__block_literal_4":30,felt:17,"__block_literal_1":30,"_bool":[28,2],"__block_literal_3":30,"__block_literal_2":30,aligntrailingcom:39,internal_mpi_double_int:8,cfstringref:[30,17],consid:[23,35,30,21,24,32,2,17,19,5,38,6,8],"__bridg":17,quickfix_titl:28,decent:5,indentcaselabel:39,"_imaginari":21,aslr:38,errorcode_t:21,longer:[23,1,35,32,8,17],furthermor:[7,17,2],derivepointeralign:39,fortytwolong:27,bottom:24,pseudo:[37,24,17],cxx_user_liter:21,ignor:[23,11,12,30,24,2,17,5,20,21,8],"__builtin_subc":21,stmtprofil:5,time:[1,2,3,5,6,8,9,23,11,12,15,17,18,20,21,22,24,26,27,29,32,33,36,25,38],objc_arc_weak_unavail:17,"__underscor":24,backward:[23,35,24,32,19,21],"__has_nothrow_constructor":21,applescript:10,parenthesi:25,"1st":[23,5],recipi:17,foreachmacro:39,concept:17,chain:[21,9,5],jessevdk:37,skip:[6,17,5],rob:17,global:[10,12,23,13,15,30,24,32,27,8,18,5,21,17],focus:[23,7,17],annotmeth:8,known:8,signific:[23,17,9],supplement:17,skim:2,ingroup:5,i_label:4,subobject:17,no_address_safety_analysi:12,lld:33,hierarch:32,decid:[23,29,2,4,5,21,9],herebi:30,depend:[23,35,12,38,33,15,36,24,32,27,17,39,26,19,5,20,21,22,8,9],graph:[32,22,17,5],decim:[23,5],readabl:26,substitut:[18,6,17,33,5],trivial:[24,2,4,5,21,17],hasunaryoperand:2,certainli:[17,5],tracker:23,decis:[0,39,23,5],key2:39,armv5:23,macho:20,oversight:17,messag:[10,12,17,18,4,5,8],cxx_alignof:21,sourc:[0,2,4,5,17,10,12,14,7,16,20,21,22,24,26,27,28,29,30,36,37,38],string:[10,14,39,17,28,8,9],made:[0,23,39,24,17,28,5,37,21,8],cheap:5,total_head_sampl:23,voidblock:30,feasibl:[24,17],forkei:27,merit:17,broadli:23,androideabi:20,join:[29,35],exact:[23,12,1,5,22,17],getcxxdestructornam:5,"__cpp_":21,strnlen:8,swizzl:21,local_funct:23,level:[17,8],did:[30,17,5],die:5,gui:[1,7,2,5],dig:5,exprconst:5,item:[29,10,4,23,5],redeclar:8,ob0:23,cmptr:21,quick:[30,2,36],"__is_pod":21,round:[39,8],dir:[23,24],prevent:[23,1,31,5,21,17],must_be_nul:8,slower:20,hack:[35,5],plu:[23,15,5],sign:[23,11,17,27,5],cost:[23,32,17,6,3,21],mileston:8,method2:8,port:12,inconclus:39,"0x5aead10":25,appear:[23,30,24,27,17,18,33,5,28,21,8],x_label:4,inheritableparamattr:5,scaffold:2,sinc:[23,35,1,30,21,24,32,2,8,27,5,37,20,6,22,17,9],firstid:2,view:[6,32,5],"__vector_size__":21,filenam:[23,39,24,5,28,9],va_list:8,xml:[0,10],compound_statement_bodi:18,deriv:[29,18,25,17,5],breakbeforeternaryoper:39,fmax:23,gener:[12,8],stmt:[25,2,5],water:17,explicitli:[1,24,32,2,29,5,21,17],modif:[21,24],"__c11_atomic_signal_f":21,address:[23,11,33,12,8,15,30,24,2,3,29,27,5,38,21,17],along:[23,7,24,32,2,33,5,28,21,8,9],do_someth:[21,39],wait:1,box:36,coloncolon:5,"__is_construct":21,devirtu:24,hdf5:8,shift:[23,32,17,5],exprerror:5,behav:[23,24,17,5],cxx_inheriting_constructor:21,extrem:[23,24,5,20,21,17],triag:23,d_debug:14,reclaim:17,ourselv:[17,2],novic:17,semant:8,regardless:[23,13,7,8,18,21,17],repositori:[14,7,24,2,36,28],extra:[14,39,17],nmap:28,tweak:[23,33],modul:[29,38,12,9],astlist:28,prefer:[10,21,8,23,5],unbridg:17,leav:[18,17,23],msan_symbolizer_path:38,pointertofunctionthatreturnsintwithchararg:18,marker:[30,17,5],instal:[23,2,36,28,20,21],should:[1,2,4,5,7,8,9,23,12,15,16,17,18,20,21,24,27,28,35,30,32,33,38,39],holtgrew:37,tiny_rac:15,market:[21,17],identifierinfolookup:32,regex:10,perf:23,msy:23,prove:[18,17,27,38],xyzw:21,univers:[6,35,9],visit:[13,5],todai:[24,27],subvers:[21,7,35,2],handler:[8,33,5],value2:39,value1:39,criteria:2,scope:[17,8],checkout:[0,7,2],cursorvisitor:5,tightli:[23,17,5],capit:5,fooref:18,incident:17,emiss:[23,17,8],somemessag:30,claus:[18,24,8],typeloc:13,refrain:17,clue:20,elseif:28,visual:8,templat:8,parsegnuattributearg:5,effort:17,fly:5,fuction:8,ibm:[20,35],prepar:17,pretend:23,judg:17,fmsc:23,cat:[23,11,12,15,31,2,25,38,6],descriptor:30,cwindow:28,can:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39],inadequ:17,binpackparamet:39,purpos:[12,8],loopprint:2,"__has_nothrow_copi":21,problemat:[38,15,8],"0x5aeac68":25,claim:[30,17],attribute_deprecated_with_messag:21,encapsul:[1,17],stream:[0,6,7,5],fsyntax:[25,14,9],"__block_dispose_5":30,"__block_dispose_4":30,backslash:23,numberwithunsignedint:27,critic:[21,17],abort:[8,23,21,12,5],phrase:[17,5],disadvantag:17,unfortun:[24,17,2,8],occur:[23,1,30,24,32,27,8,18,5,17,9],gettyp:5,alwai:[23,1,30,24,27,8,39,26,25,5,37,20,21,17,9],differenti:[21,17],multipl:[10,23,1,39,21,24,32,33,8,29,26,35,5,25,20,6,22,17,9],boundari:[11,24,17],astreaderstmt:5,unstart:33,get:[12,30,39,20,7,8,9],write:[10,30,17],cxx_rtti:21,vital:23,foreach:39,pure:[4,17,5],familiar:[20,17,9],getspellingcolumnnumb:13,"23l":27,map:[10,9,12,38,5],product:[9,27,2,5],bs_allman:39,max:[23,27],clone:[28,7,2],shockingli:2,usabl:[35,23,21,39,33],intrus:37,membership:17,"4th":5,uint:10,aribtrari:26,mai:[1,2,4,5,6,7,8,9,23,11,12,15,17,18,20,21,24,27,29,39,32,35,37,38,30],drastic:[24,17,32],underscor:[23,21,17],eof:[31,8,5],data:[29,30,17,18,4,5,37,8,9],grow:[24,32,9],readerlock:1,goal:[7,17],sfs_none:39,noun:[26,2],practic:[1,7,5,21,17,9],traversedecl:13,conscious:17,stdio:[38,6,16,24],truct:30,"__builtin_smull_overflow":21,predic:[23,26,5],mangl:8,ephemer:17,sandbox:12,preced:[23,24,17,21,8,9],combin:[23,13,30,36,3,26,35,5,20,7,8],total_sampl:23,"__block_descriptor_2":30,languagestandard:39,"__block_descriptor_1":30,"__block_descriptor_4":30,"__block_descriptor_5":30,getlexicaldeclcontext:5,dfsan_interfac:[29,4],"_block_byref_blockstoragefoo":30,gradual:24,unlock_funct:1,comdat:35,llvm_used_lib:[13,2],"__va_args__":[1,23],size_t:[29,24,4,8],still:[23,38,1,15,30,24,32,2,8,33,5,20,6,22,17,9],pointer:[12,8],dynam:[12,29,14,17,18,4,8],componentsseparatedbystr:27,fsanit:[23,11,15,12,38],conjunct:[1,23,9],interspers:17,group:17,thumb:[20,23],"__attribut":17,cxx_implicit_mov:21,precondit:[26,17],tort:30,window:[28,33],gettranslationunitdecl:[13,25],curli:[17,5],mail:[37,23,35,5],main:[2,4,5,6,17,9,23,11,12,13,14,15,16,20,21,22,27,29,35,36,38,7],ascrib:17,non:[12,7,17,18,4,5,37,8],"float":[23,1,32,27,18,5,20,21,8],halt:[23,8],matcher:25,om_terrifi:21,wimplicit:8,nation:35,underneath:23,buildcfg:5,istransparentcontext:5,mhwdiv:23,half:[23,5],now:[1,30,36,27,13,2,5,28,35,17],conflict_a:24,widespread:23,nor:[23,1,24,27,8,20,21,17],conflict_b:24,down:[23,38,2,26,5,20,17,9],term:[21,17,28,6,8,9],name:[12,29,14,30,17,39,4,28,20,8,9],realist:24,perspect:[29,24,32,5],drop:[18,35,17,9],revert:10,int_min:[23,27],separ:[12,29,7,17,5,8,9],getfullloc:13,"__sync_bool_compare_and_swap":21,callsit:8,sfs_inlin:39,xarch_i386:9,allman:39,misbehav:17,compil:[12,14,30,31,17,18,7,8],subexpress:[32,5],domain:26,replai:22,weak_import:8,aresamevari:2,replac:[0,10,1,7,24,23,27,8,29,5,38,21,17],arg2:5,continu:[35,33,1,30,2,17,18,39,27,5,21,8],ensur:[23,1,24,32,2,17,29,27,5,8],unlock:1,libgcc:20,significantli:[32,17,5],begun:[23,17],year:21,objc_assign_weak:30,happen:[23,12,7,24,17,5,20,8],dispos:[18,30],inheritableattr:5,shown:[23,17,9],"__has_attribut":[17,8],"3rd":[23,5],space:[23,12,29,15,32,5,38,21,22,39],profit:21,returnfunctionptr:18,profil:[6,2,5],astwriterstmt:5,"_clang":[10,39],breakconstructorinitializersbeforecomma:39,"_block_byref_obj_dispos":30,n3922:35,compilation_command:28,correct:[23,11,35,27,4,5,20,21,7,17],ast_match:2,"0x700000008000":29,"goto":18,"__single_inherit":8,migrat:[23,1,7,8,18,19,17],ferror:23,exercis:[23,21],inclus:[24,5],argv:[12,13,27,2,36,38],block_byref:30,llvm_profile_fil:23,createastprint:28,theori:17,org:[0,23,35,27,2,37,7],pidoubl:27,argc:[12,13,27,2,36,38],"0x800000000000":29,care:[23,13,19,5,20,21,17,9],shared_ptr:7,formatstyl:[0,39],wai:[1,27,5,8,10,11,14,17,19,20,21,22,23,24,26,2,28,29,39,32,36,25],badli:17,synchron:[18,15,17,5],"0x5aead28":25,motion:21,turn:[23,11,1,30,24,2,5,25,17,9],punt:2,place:[10,39,23,1,30,24,32,27,8,29,35,5,20,21,17],memory_sanit:21,createinsert:5,bracebreakingstyl:39,principl:[30,17,9],imposs:[17,2,8],frequent:17,first:[10,12,14,30,2,8,18,39,25,5,28,21,17,9],oper:[8,30,17,12],mpi_int:8,"__cpp_digit_separ":21,unannot:8,directli:[21,23,1,14,39,16,24,32,27,8,29,25,5,37,6,7,17,9],"_block":30,onc:[23,36,24,32,2,5,20,9],arrai:[12,39,17,5,22,7],declarationnam:5,"0x7f":27,"0x7f789249b76c":38,walkthrough:[14,36],address_spac:21,stringref:13,autosens:23,"long":[23,12,29,30,21,24,27,17,18,38,6,8,9],vote:21,modulo:5,c_alignof:21,open:[23,39,27,35,28,17],lexicograph:5,size:[12,29,14,30,17,18,5,7,8],haslh:2,given:[10,12,23,1,29,16,24,32,33,8,18,36,5,20,21,17,9],const_cast:[21,7],silent:[28,23,17],workaround:[1,24],teardown:17,caught:29,declspec:5,profile_writ:23,myplugin:14,checker:[23,19,2,5],necessarili:[21,22,19,5],draft:[23,21],deploy:[24,8],objconeargselector:5,somelib:24,conveni:[13,24,2,8,18,28,21,17],frame:[23,11,12,15,18,38,17,9],friend:23,nsapp:27,getcxxnametyp:5,autolink:24,i_hold:30,clangbas:[24,2],especi:[23,1,15,24,5,6,17],copi:[17,8],unroll_count:21,specifi:[10,12,14,30,17,18,39,7,5,28,20,22,8],pifloat:27,"short":[29,39,27,19,5,21],enclos:[23,1,30,24,18,35,5,17],pragma:[21,24,17,33],initialize_vector:23,codifi:17,holder:30,than:[23,12,27,38,1,15,24,32,2,8,18,39,26,19,5,20,21,17,9],serv:[1,7,32,2,5,37,6,17,9],wide:[23,35,24,8,33],dispose_help:30,"__block_invoke_2":30,spacebeforeassignmentoper:39,instancemethodpool:32,drothli:37,redefinit:24,visitnodetyp:13,posix:23,balanc:[1,21,17],opaqu:[18,30,17,23,5],posit:[10,12,23,1,15,32,27,8,35,36,38,21,17],objectatindexedsubscript:27,browser:37,pre:[6,24,21,2],fork:35,sai:[28,23,24,17,5],bootstrap:[28,38,2],nicer:12,testframework:21,pro:19,argument:8,"0x173b030":2,dash:[21,2],burdensom:17,"__has_extens":8,bitcast:5,duplicatesallowedwhilemerg:5,vector4float:21,block_fooptr:18,locks_exclud:1,engin:[1,25],techniqu:[32,5],alias:[1,23,17],destroi:[1,18,30,17],moreov:[1,24,17,27],matchresult:2,retroact:17,lockandinit:1,note:[10,12,14,30,17,18,39,7,8],"__builtin_arm_strex":21,ideal:[1,7,32,5,6,17],denomin:20,"__has_virtual_destructor":21,take:[23,27,13,14,30,16,24,2,8,18,36,26,19,5,28,21,17],advis:1,green:[21,9,27,5],noth:[32,8,5],basi:[23,24,8,5],byref_keep:30,begin:[23,30,32,18,5,7,17],printer:[2,5],importantli:[21,17,8],trace:[23,12,15,33,38,8],normal:[10,39,1,14,30,24,32,27,8,18,33,5,20,21,17],track:[29,7,4,5,20,17],c99:[23,35,24,18,5,8],knowingli:18,compress:32,stmtprinter:5,"0x200000000000":29,"__is_convertible_to":21,beta:[1,15],secondid:2,abus:9,ampamp:5,sublicens:30,pair:[10,29,30,2,18,27,5,21,17],fileurl:27,marked_vari:30,"_block_byref_keep_help":30,synthesi:[21,17],"_block_byref_obj":30,renam:[1,10,39,7],measuretokenlength:5,"__builtin_uadd_overflow":21,adopt:[24,27,9],cgcall:23,drive:7,quantiti:23,cortex:20,"__libc_start_main":[38,12],pattern:[10,35,1,39,24,2,26,27,5,21,7,17],eschult:37,preambl:[8,32],review:[7,17],gracefulli:5,drain:17,cmakelist:[13,2],int3:21,uncondit:5,show:[10,23,13,2,5,37,21,9],arrayoftenblocksreturningvoidwithintargu:18,atom:[17,8],rendit:23,"__builtin_inf":5,subprocess:9,actoncxxnestednamespecifi:5,concurr:[17,8],badinitclasssubstr:12,permiss:30,compliat:21,threshold:21,cxx_unrestricted_union:21,tend:[24,17],"__isb":21,asan_symbol:12,slot:37,userdata:29,onli:[1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,27,28,30,32,35,36,25,38,39],slow:[20,38,23],nice:[36,2,5],fenc:8,namespacedecl:5,state:[23,29,21,24,32,17,5,6,8,9],fenv:24,dict:39,analyz:[8,39,21,17,5],sloc:[25,31],analys:[29,5],offici:23,munl:1,info:[23,24,12,33,5],intptr_t:17,nearli:[17,32],variou:[12,1,7,24,32,18,5,21,17],cxx_lambda:21,wmodul:24,clang:12,secondari:17,astconsum:28,cannot:[10,23,1,36,24,32,33,8,29,4,5,21,17,9],"import":[17,8],ssa:29,requir:[38,29,30,2,17,18,33,5,28,20,21,22,8,9],"0x7ff3a302aa10":31,"0x000000000000":29,fixithint:5,compoundstat:2,nullptr:7,yield:[6,24,17,5],email:37,layout_compat:8,mediat:17,privileg:21,gettypenam:5,where:[29,30,36,33,17,18,4,7,5,37,20,21,22,26,8,9],"__asm__":23,summari:30,wiki:[23,35,38,3],kernel:[23,29,39,38,6,21],pointeralignmentstyl:39,textdiagnosticbuff:5,tested_st:8,foobodi:5,assumpt:[29,23,17,5],blockreturningvoidwithvoidargu:18,nsrang:21,"_block_byref_i":30,exclipi:37,arglist:9,concern:[32,5],parsingfilenam:5,cxx_return_type_deduct:21,flexibl:20,typedefdecl:31,dfsan_has_label:[29,4],label:[39,4,8],enough:[23,1,2,5,20,17,9],semadeclattr:5,volatil:[38,21,32,17,5],cfreleas:17,between:[1,30,24,32,2,17,39,5,20,21,8],nslocal:21,atindexedsubscript:27,across:[23,29,35,24,27,5,20,17],fcntl:8,spars:29,block_priv:30,parent:[10,39,24,8,18],rerun:[22,19],style:[18,10,17,8],"0x7ff3a302a470":31,cycl:[23,21,17],"__builtin_subcl":21,gentl:25,pervas:17,objcclass0:5,symbolnam:37,come:[23,24,4,5,20,8],"0x404544":12,ignoredattr:5,unrel:32,vimrc:[28,10],avoid:[15,24,27,17,5,38,21,8,9],region:[29,10,21,4,12],sparc:23,contract:[30,22,39],inconsist:17,present:[23,30,24,33,5,21,8],tsan_interceptor:15,awkward:17,mani:[23,35,1,30,24,32,2,8,13,33,5,25,20,21,22,7,17,9],check2:23,check1:23,among:[24,17,5],undocu:[23,5],m_pi:27,color:[23,21,27,5],alexdenisov:37,period:[1,35,24,5],pop:[18,32,17,23],tokenkind:5,exploit:17,colon:[39,11,17],typic:[23,12,38,1,15,24,33,5,37,20,6,17],pod:17,poll:5,damag:30,caret:[23,17,5],avaudioqualitymedium:27,ultim:[17,5],coupl:[7,5],resort:21,sortedarrayusingcompar:21,rebuild:[38,24,19],penaltybreakstr:39,layer:5,mark:[17,8],destructor:[30,17,18,35,5,8],"__c11_atomic_compare_exchange_strong":21,iinclud:[14,36],rebuilt:24,addit:[29,14,30,8,18,4,20,17],"abstract":[1,24,32,2,18,19,5,22,9],parser:37,cxx_contextual_convers:21,lsomelib:24,thousand:[29,23,26],resolut:[17,8],include_next:[21,24],"__line__":23,intvar:2,"1mb":15,former:[24,35,4,5],those:[10,35,23,1,14,39,21,24,32,2,8,18,4,33,5,26,6,7,17,9],"case":[12,30,17,18,39,4,20,7,8],interoper:17,pedant:[23,21,5],getspellinglinenumb:13,"__builtin_umull_overflow":21,trick:[24,17],invok:[30,17,8],tblgen:[23,5],msandr:38,invoc:[23,18,28,6,17,9],"__builtin_saddll_overflow":21,advantag:[23,29,27,5,28,6,21],mfloat:20,henc:[24,17],convinc:17,worri:17,destin:[23,30,4,17],isdigit:8,eras:1,pthread:15,evaluat:5,ascii:[23,5],fcomment:23,kw_for:5,develop:[23,35,1,39,16,24,8,25,4,19,37,20,6,7,17,21],cxx_nullptr:21,author:[38,30,17],cc1:[14,9],same:[23,39,1,29,30,21,24,32,2,8,18,36,27,5,28,20,6,22,17,9],binari:[12,39,16,5,28,20,17,9],tutori:[25,14],cpp11:39,dfsan_label:[29,4],arc_cf_code_audit:17,om_norm:21,document:8,medit:5,recursiveastvisitor:[25,14,5],unknownmemb:33,"__objc_no":27,exhaust:[24,17],"__builtin_constant_p":[21,5],spacesbeforetrailingcom:39,closest:39,"__builtin_va_list":31,gnueabi:20,assist:[23,30,24,33,17,9],someon:[24,17],driven:[23,22,32,9],capabl:[8,27,17,2,5],bad_sourc:11,improv:[8,30,24,32,27,17,37,6,21],extern:[30,17,8],immedi:[1,32,2,17,5,6,21],requires_cap:1,appropri:[23,1,30,16,24,32,27,29,5,21,7,8,9],choos:[18,9,8,20,5],createremov:5,macro:[8,39,17,5],markup:5,identifiert:32,justifi:17,without:[10,39,23,1,29,15,30,24,32,2,8,18,35,5,37,38,21,22,17,9],argument2:39,argument1:39,leadingspac:5,fconstexpr:23,model:[25,21,26,17,8],dereferenc:[18,5],ccc:[20,9],"__x":21,objectforkeyedsubscript:27,leewai:17,execut:[23,12,18,1,29,15,30,24,2,8,13,26,38,21,22,17,9],mut:1,annot_template_id:5,neon:[20,21,24],smallestint:27,rest:[23,30,32,17,5,7],pas_left:39,gdb:[23,38,33,5],multiplex:5,aspect:[24,5],part:[23,35,1,30,36,24,32,2,8,13,26,19,5,25,20,21,22,7,17,9],polish:32,fairli:[6,5,24,2,3],"__builtin_trap":[23,21],hint:[37,7],mmap:6,penaltyexcesscharact:39,filecheck:5,linker:[20,24,23,9],except:8,littl:[32,9,17,2,5],identif:5,instrument:[12,29,15,4,35,37,38,8],"_z8myfoobarv":11,blob:23,versa:[1,18,29,17,32],role:5,"_aligna":21,myabort:21,block_has_signatur:30,libm:20,choic:[23,30],read:[0,38,12,23,1,30,36,32,2,27,5,20,6,22,17],outermost:[26,17],asan_symbolizer_path:12,comp_ctor:30,"0x7ff3a3029ed0":31,mov:8,objc_array_liter:[21,27],libz:20,destaddr:30,va_start:8,shared_lock_funct:1,copy_help:30,walk:[11,5],saniti:[1,5],tolow:[29,4],gs_rel:21,intel:[6,35],parameter_list:18,whitespac:[39,7,5],treacher:17,"_complex":[23,5],integ:[23,29,35,32,27,2,5,21,8],server:37,benefit:[1,24,17,5],either:[23,39,1,30,24,32,33,8,18,26,25,5,28,20,21,22,17,9],cascad:24,fromtyp:21,output:[10,12,23,13,15,36,29,5,28,38,21,9],inter:1,manag:8,fulfil:2,node:[28,5],avaudioqualitymax:27,matur:1,dfsan_label_info:29,adequ:17,uninstrument:4,ls_auto:39,nonzero:[29,21],gross:5,libstdc:[38,15,21],"_block_copy_assign":30,block_field_is_byref:30,legal:[18,17,27],handicap:6,"__builtin_saddl_overflow":21,k_label:4,exit:[10,12,29,17,8,9],inject:5,"15x":15,unbeliev:23,notabl:[17,9],hopefulli:7,"__clang_major__":21,refer:8,block_field_is_object:30,ns_consumes_self:[21,17],getcxxoperatornam:5,power:[13,7,2,19,5,17],cxx_auto_typ:21,garbag:[18,30,17],inspect:[32,5],macronam:24,llvm_clang_sourcemanager_h:32,found:[0,10,1,29,30,16,24,23,2,32,13,5,28,18,21,17,9],standpoint:32,asan:12,went:[23,38],earlier:[23,32],tread:17,comparison:[29,27,2,5,6,17],"_fract":23,greatli:[23,6,17,5],assert_exclusive_lock:1,cxx_static_assert:21,formatted_cod:39,ftemplat:23,stringiz:5,cxx_runtime_arrai:21,"__is_nothrow_assign":21,cuda:[20,5],act:[1,15,32,17,18,38,39],attribute_ext_vector_typ:21,industri:1,processor:[23,6,21],fooptr:18,routin:[0,1,30,32,8,17,9],effici:[23,29,24,17,5,21,8,9],disableexpand:5,terminolog:1,surviv:17,userdefinedconvers:28,strip:[10,17],wincomplet:24,your:[10,12,14,39,16,28,37,20,7],wide_string_liter:5,loc:5,log:[29,24,17,12],mingw32:33,area:[23,32],aren:[20,39,17,2,5],miphoneo:8,spaceinemptyparenthes:39,start:[10,11,12,13,29,30,24,32,2,8,18,39,26,27,5,37,38,21,25,17],compliant:23,interfac:8,low:[29,30,17],lot:[23,1,15,5,20,17],strictli:[1,23,17,8],machin:[20,6,17,23,5],additionalmemb:5,treat:[23,11,12,1,30,24,18,4,5,21,17],"__builtin_ssubl_overflow":21,jtc1:35,verbatim:5,myattribut:5,bundl:[25,32],heretofor:17,tryannotatetypeorscopetoken:5,land:35,mdd:23,bos_al:39,tr1:7,getentri:5,mice:5,realli:[23,30,9,17,5],categor:[23,17,27,5],pas_middl:39,faster:[28,23,6,12,32],notat:[18,21,32],labelreturn:29,algorithm:[25,6,17,32],nameddecl:5,possibl:[23,39,38,29,14,15,30,24,32,27,17,18,36,5,20,21,8,9],"default":[10,39,14,30,17,18,4,5,25,20,8],existingblock:30,"__c11_atomic_fetch_or":21,numberwithunsignedchar:27,ns_requires_sup:8,printfunctionnam:14,"_alignof":21,block_field_is_block:30,commonli:[39,21,32,27],embed:[23,30,9,24,5],deadlock:1,expect:[23,12,38,15,31,33,17,18,39,26,5,20,21,8,9],artifact:19,creat:[10,39,29,30,18,5,28,20,21,17,9],filt:12,multibyt:23,lk_proto:39,bararg:17,stabl:[23,16,24,19],commonoptionspars:[2,36],retaincount:17,strongli:8,undergon:23,deem:17,decreas:17,file:[10,12,29,14,30,16,28,39,4,37,20,7,17,9],encompass:[24,17],proport:32,operation:8,fill:[1,39,17,2,5],incorrect:[21,8,33,5],again:[23,30,17,2],collid:[24,27],derefer:18,extract:[13,2,29,26,20,21],compel:17,depth:[23,21,17],event:[30,17,5],idiom:5,v7a:20,valid:[23,39,30,24,32,27,17,18,5,37,21,22,8],poly8_t:21,you:[0,27,5,6,8,10,12,13,14,7,16,19,20,21,23,24,25,26,2,28,35,32,33,36,37,38],architectur:[15,21,24,32,35,5,20,6,22,8,9],poor:[23,24,17],libformat:[10,39],"__block_copy_10":30,sequenc:[23,24,32,17,5,21,8,9],symbol:[30,12,9],push:[23,32,5],briefli:[6,17],encount:[23,32,24,17,5],reduc:[23,29,35,24,32,17,5,6,21],bulk:32,unbalanc:17,lookupt:5,directori:[10,14,39,16,2,36,28,20,21,22],woboq_codebrows:37,mask:5,nonliter:8,calle:[26,17,8],mimic:[23,8],mass:[17,27],token:[18,7],potenti:[10,23,1,29,30,32,2,18,27,5,7,17],cpp:[23,12,1,14,39,36,2,13,5,28,9],escap:17,"__unsafe_unretain":17,dst:30,represent:8,all:[10,12,30,17,18,39,8],forget:[20,17],pth:5,illustr:[1,23,32,27,5],spacesincontainerliter:39,pretoken:5,month:21,"__builtin_assume_align":21,scalar:[30,21,17,27,5],code:[10,12,30,17,18,8],syntaxonlyact:[2,36],winx86_64abiinfo:23,abil:[8,23,32,17,5],follow:[1,2,4,5,6,7,8,9,10,11,12,13,15,17,18,21,23,24,27,29,30,32,33,35,38,39],disk:[23,32],ptr:21,cxx_trailing_return:21,unformatted_cod:39,valgrind:[38,12],fullloc:13,dsl:[37,26,2],"__stdc_version__":23,running_with_the_dynamic_tool:38,init:[12,8],spacebeforeparensopt:39,objectatindex:27,"__scanf__":8,queri:[35,24,32,17,26,5,21,8,9],wundef:5,cmake_export_compile_command:[22,36],sound:23,getblockid:5,liter:[30,17,8],straightforward:[6,9,2,5],getattr:5,far:[39,24,2,5,21,17],getsema:5,offlin:[38,12],mpi:8,util:[39,32,17,5,6,8],print:[23,11,12,14,15,24,32,2,5,28,38,21,9],candid:[8,23,24,17,5],mechan:[1,24,32,5,21,17],difficult:[1,23,17,2,38],fall:[23,24,32,8,21,17],veri:[23,1,7,24,32,2,18,5,38,21,17,9],strang:5,condition:[21,8],"__cplusplu":27,functiondecl:[25,31,32,5],list:[10,12,39,17,18,20,8],emul:[23,21],addressof:21,sane:[23,24,17],stderr:[23,15,12,38],plain:[15,8,5],small:[23,31,13,35,21,32,2,5,6,17,9],has_featur:35,numberwithlong:27,dimens:33,trigraph:[23,5],harder:[20,35,9],"__builtin_usub_overflow":21,sync:2,past:[24,17,5],zero:[23,12,29,30,2,18,39,5,38,21,17],pressur:[6,21],design:[8,7,17,12],thread1:15,pass:8,further:[23,1,30,21,32,2,29,36,4,5,26,6,17],hamper:29,deleg:[17,9],avaudiorecord:27,sub:[24,32,27,2,5,20,17],clock:21,diag:5,sum:[20,21],ast:[28,31,16],abl:[23,38,1,32,2,17,33,5,28,20,21,8,9],brief:[0,9],buildxxx:5,delet:[30,17,12],abbrevi:32,cpp11bracedliststyl:39,"_returns_not_retain":21,mutablecopi:[17,8],pointertyp:[32,5],deepli:23,"__uint128_t":31,method:8,unlabel:[29,4],full:[23,1,14,30,21,24,32,8,13,19,5,25,38,6,22,17],hash:[32,2,5],vtabl:23,variat:18,arg:[23,29,14,27,5,8,9],endfunct:28,misspel:9,sophist:[17,33],arminterruptattr:5,behaviour:[20,23],isystem:23,shouldn:[29,24,5],middl:[39,5],omiss:23,trunk:[0,21,7],variad:[18,8,5],strong:[18,30,17],modifi:[23,39,8,1,30,32,17,29,35,5,6,21],cf_unknown_transf:17,valu:8,"__counter__":21,allowshortloopsonasinglelin:39,block_descriptor_1:30,binaryoper:[25,32,2],ahead:[20,5],vec_add:21,armv8:23,through:[30,4,17,8],observ:17,mac:[30,6,24,17,8],prior:[8,1,30,32,17,35],amount:[23,1,24,32,6,17,9],transformyyi:5,action:[13,14,30,36,19,5,21,9],narrow:[26,2],numberwithlonglong:27,v4si:21,lock_return:1,via:[10,18,1,14,15,21,24,8,13,35,30,5,25,20,6,17,9],shorthand:35,intermedi:[38,9],transit:[1,30,24,32,35,5,8],anytim:23,deprec:[8,12,5],thankfulli:2,dfsan:29,decrement:[1,17],establish:[18,32],dangl:18,select:[10,14,9,8,5],"__c11_atomic_fetch_and":21,earliest:17,mylib:[23,24,5],namespaceindentationkind:39,tgsin:8,cfprint:30,regist:[18,17,8],nsuinteg:27,coverag:35,vmm:23,nscomparisonresult:21,mpi_datatype_int:8,taken:[8,23,32,17,5],mpi_send:8,objectivec:39,frontendact:[14,2,36],toggl:36,reachabl:25,dllvm_build_test:2,desir:[10,23,35,2,5,20,9],targetinfo:[23,5],canon:8,hundr:[29,23,5],mozilla:[37,10,39],create_llvm_prof:23,vi2:21,vi3:21,flag:[12,38,30,24,32,33,17,39,5,25,20,7,8,9],vi1:21,uncov:33,vi4:21,vi5:21,webkit:[10,39],toyclangplugin:37,cach:[23,6,24,21],allowshortifstatementsonasinglelin:39,outdent:39,dictat:1,none:[23,39,32,17,5,20,8],suitabl:[1,23,7,5],outlin:29,dev:[23,17,5],histori:17,remain:[23,1,24,2,17,5,21,8],outliv:[18,17],nontriv:17,caveat:[8,24,17,9],learn:[37,26],"__builtin_umul_overflow":21,c_aligna:21,def:[38,12,5],pick:[20,27,8,23,5],explod:21,prompt:23,bogu:[1,5],scan:17,challeng:29,registr:17,share:[12,1,29,7,36,24,32,8,18,19,5,38,6,17,9],accept:[23,29,7,33,17,26,5,21,8,9],minimum:[8,24,17,5],parsabl:23,"_block_byref_assign_copi":30,mmacosx:8,strlen:5,"0x5aead50":25,suboper:17,unlucki:24,huge:[24,5],cours:[20,21,30,17],newlin:[23,39,5],freshli:13,numberwithint:27,"0x173afe0":2,anoth:[10,12,23,1,24,32,2,8,29,4,5,20,21,17,9],qconnectlint:37,comfort:17,pt_guard:1,theletterz:27,snippet:[31,5],"_explicit":21,mvc:5,"_nsconcretestackblock":30,reject:[24,33,27,9],opt:[21,24,5],simpl:[29,14,39,17,20],unabl:8,noncopyable2:23,regener:23,resourc:[1,24,17,8,5],augment:[20,24],referenc:[23,30,24,32,2,18,5,6],algebra:2,variant:[24,23,4,5],reflect:[23,5],okai:[1,8,2,5],codebas:23,mutat:[37,18],associ:[23,1,29,30,24,32,2,13,27,5,21,17,9],sse4:24,circumst:[30,17,5],github:[37,23,35,28,2],dfsan_get_label:[29,4],sse3:20,dragonfli:23,reinject:5,onto:[23,30,39,5],proto:39,children:[2,5],overnight:24,tsan:15,ambigu:[32,8,5],cxx_reference_qualified_funct:21,callback:[26,2,5],cxx_strong_enum:21,block_decl:18,nvidia:20,getcxxconstructornam:5,"__block_invoke_10":30,help:[10,23,29,15,36,24,32,2,4,5,37,20,21,26,17],module_priv:24,wthread:1,soon:[23,17,33],config_macro:24,held:[18,17,8],i386:[6,32,12,9],paper:35,vec2:21,vec1:21,hierarchi:[25,26,17,32],suffer:[6,17],paramet:8,typedef:[23,24,27,18,5,21,17],typest:8,"0x7f7893912ecd":38,strbuf:8,"0x7fff87fb82d0":12,wrl:[35,33],vardecl:[25,31,32,2],nsdictionari:27,late:17,harmless:21,pch:[6,32,5],pend:23,bypass:11,wcdicw:9,fshow:23,pad:35,might:[23,1,39,24,33,8,5,37,20,21,7,17,9],alter:[11,4,17,9],wouldn:2,good:[1,7,2,19,5,25,17,9],"return":[12,8],alignescapednewlinesleft:39,myinclud:21,fstandalon:23,pollut:5,untransl:9,objc_returns_inner_point:17,number:[29,39,17,5,37,8,9],framework:[29,7,4,17,8],subtask:9,pathcompon:27,"__builtin_nan":21,compound:[25,18,30,17,27],complain:24,bigger:[10,12],thread_safety_analysis_mutex_h:1,eventu:[24,4,5],aligna:21,instruct:[23,12,38,15,24,2,5,37,20,21,7,8],mysteri:[25,17],easili:[23,1,24,29,5,37,21,9],"_block_byref_dispose_help":30,compris:32,requires_shared_cap:1,fulli:[23,12,35,33,5,38,21,17,9],intervent:24,d__stdc_format_macro:14,dif:23,truncat:29,initvarnam:2,astmatchfind:2,inplac:10,offset1:23,offset2:23,arm7tdmi:20,getelem:1,hard:[0,23,1,24,2,5,20,22],procedur:[1,17],slowdown:[38,15,12,3],fsplit:8,linkag:[8,5],finish:[26,33,9],connect:[37,30,9,5],indistinguish:5,isbar:5,thing:[23,13,35,5,37,20,21,22,17,9],todo:23,orient:7,exprresult:5,isfrommainfil:2,massiv:17,binaryoperatorstyl:39,publish:30,wire:5,binpackargu:39,ni_non:39,src_label:4,astnod:5,occurr:17,ftl:23,raii:1,constantin:37,advanc:[21,2,36],team:35,suspici:23,effect:[23,24,17,18,5,20,21,8],fdelai:[23,33],reason:[23,12,1,15,24,29,19,5,38,21,17,9],base:[10,39,29,14,30,7,17,18,4,25,5,37,22,8],believ:5,put:[10,39,17],teach:[26,5],cxx_thread_loc:21,asm:[23,21,8],buffer2:8,thrown:18,unreduc:25,"__atomic_consum":21,allowshortcaselabelsonasinglelin:39,overloadedoperatorkind:5,thread:12,"__dfsw_f":4,omit:[12,5,18,20,38,8],objc_precise_lifetim:17,perhap:24,ls_cpp11:39,thread_sanit:21,iff:30,circuit:[29,21],undergo:[17,5],assign:[10,39,29,30,18,17,9],bcpl:17,feed:23,major:[24,32,33,5,21,9],readerunlock:1,obviou:[9,17,5],mylogg:24,feel:[37,35,2],externalsemasourc:32,placehold:21,smaller:[12,17,5],done:[23,2,8,4,5,37,20,6,17,9],least:[28,23,21,39,17],stdlib:[23,11,24],blank:23,"__is_polymorph":21,miss:8,buffer_idx:8,"__is_destruct":21,"__dfsw_memcpi":[29,4],holist:17,cf_audited_transf:17,script:12,num_predef_type_id:32,interact:[24,32,5,28,17,9],modulemap:24,construct:[23,30,32,33,18,35,5,21,17,9],"_block_byref_foo":30,x86v7a:20,natur:[23,6,32,17,5],illeg:5,master:23,reorder:[21,24,17],scheme:[21,7,32],store:[23,13,15,30,32,29,4,5,38,21,17,9],"__include_level__":21,stdout:[10,23],"__is_trivially_construct":21,relationship:17,behind:[1,9,32,5],selector:[32,27,17,5,21,8],cxx_noexcept:21,tabwidth:39,pars:[18,10,14],wextra:23,myclass:[1,26],attract:6,cxx_generalized_initi:21,std:[0,23,13,14,39,36,24,35,5,21,7,17],kind:[37,30,17,8],grew:5,extern_c:24,whenev:[1,39,32,2,5,17],stl:35,i32:29,remov:[23,39,24,27,17,35,5,21,7,8,9],elid:[23,21,17],cleanupandunlock:1,"__block_invoke_1":30,corefound:[21,17],reus:[17,5],"__block_invoke_5":30,block_siz:30,diaggroup:5,wg21:35,usualunaryconvers:5,hasoperatornam:2,penaltyreturntypeonitsownlin:39,argtyp:21,comput:[29,17,18,5,8,9],uncontroversi:17,"_block_byref_voidblock":30,balanceddelimitertrack:5,apvalu:5,"__const__":21,packag:[20,24],matchfind:2,loopconvert:2,consol:23,dedic:32,"null":[23,15,30,32,2,17,27,5,28,7,8],option:[10,12,30,17,18,8],sell:30,imagin:[39,24],unintend:24,ext_vector_typ:21,equival:[23,24,27,17,18,5,21,8],violat:[1,21,24,17,5],"__objc_y":27,stapl:5,undeclar:1,namespac:[28,39,12,5],accessor:[9,17,27,5],subnam:24,useless:24,"__has_trivial_copi":21,exclusive_trylock_funct:1,"0x5aeacb0":25,hasloopinit:2,brace:[23,35,17,5,21,39],coff:[23,35],"__c11_atomic_thread_f":21,distribut:[20,30,24,33,23],exec:[23,8],previou:[15,36,24,2,35,5,28,17],reach:[23,14,32,2,25,21,17],took:32,most:[23,38,1,29,39,24,32,2,8,13,26,33,5,25,20,21,7,17,9],whether:[1,2,4,5,8,9,23,12,13,15,17,18,21,22,24,27,29,30,32,36,38,39],plan:[0,15,24,3,19,6,35],maco:12,alpha:10,sbpo_alwai:39,splat:21,cxxconstructornam:5,addr:[29,21],code16gcc:23,frontendpluginregistri:14,clear:[1,21,24,17,5],cover:[23,24,33,4,5,20,17],destruct:[17,5],roughli:[6,9,5],"__int128":31,d__stdc_constant_macro:[14,36],getter:[1,30,21,17],supertyp:17,abnorm:17,clean:5,newvalu:27,"0x7fff87fb82c8":12,weigh:17,usual:[23,12,38,1,14,15,30,24,27,7,18,33,5,25,20,21,22,17,9],microsoft:[35,24,32,33,5,21],visibl:[1,24,32,5],ctag:37,think:[1,21,5],"_z5tgsind":8,"_z5tgsine":8,"_z5tgsinf":8,carefulli:[7,17,5],"0x173b008":2,xcode:19,getlocstart:13,python:[37,10,22,19],ns_returns_retain:[21,17,8],particularli:[23,24,32,33,20,8,9],fine:[23,21,17,5],find:[23,13,39,36,24,32,2,17,26,33,5,28,20,7,8],penaltybreakbeforefirstcallparamet:39,penalti:[39,17],access:[8,17,12],coerc:27,processinfo:27,pretti:[28,20,33,5],offsetn:23,writer:1,solut:[22,17,2,5],technic:[23,24,17],knowledg:[26,24,17,2,5],c89:23,darwin:[20,24,9],woption:23,hit:28,unus:29,caus:[23,12,1,29,15,30,24,8,18,4,5,38,21,17],addobject:27,parenexpr:25,"__real__":21,express:8,arm:[8,20,12,5],translationunitdecl:[25,31,32,5],nativ:[23,12,29,15,4,38,20],simplist:21,fobjc:17,stdcall:8,silli:5,pas_right:39,cexpr:28,lit_test:15,elf:[20,23],verifydiagnosticconsum:5,cxx_aggregate_nsdmi:21,lk_none:39,keyword:[23,35,39,21,27,17,33,5,6,8],d__stdc_limit_macro:[14,36],cxx_variable_templ:21,synthes:[30,17,5],"0x5aead88":25,captured_i:30,common:[29,39,2,17,5,25,20,21,7,8],assert_shared_lock:1,fielddecl:5,seamlessli:17,wrote:[37,5],set:[1,27,5,7,8,9,10,12,13,15,17,18,19,20,21,23,24,2,28,29,30,32,35,36,37,38,39],msan_new_delet:38,dump:[10,31,13,39,16,2,25,26,5,28,9],creator:26,cleverli:2,startup:35,decompos:9,mutabl:[17,27,5],"__c11_":21,"_size_t":24,helpmessag:[2,36],signifi:17,objcblockindentwidth:39,float4:21,close:[39,26,5,25,21,9],ret_label:4,whatsoev:17,sei:1,seh:33,strchr:17,gnu11:[23,21],horrif:24,inconveni:17,nscompar:21,misalign:23,speed:[23,6,35],someth:[23,30,2,26,5,37,20,21,17,9],stdatom:[21,35],old_valu:21,won:[20,35,24,5],nontrivi:17,"__builtin_ssubll_overflow":21,"__block_invoke_4":30,altern:[23,1,16,24,36,6,22,21],signatur:[23,30,8,4,21,17],syntact:[19,10,28,17,8],numer:[32,27,5],induc:5,sole:[17,5],"0x7f78938b5c25":38,sigil:17,disallow:[23,17],operationmod:21,lowercas:17,imp:1,distinguish:[23,30,24,17,5],shortfunctionstyl:39,both:[1,2,3,5,6,8,9,10,12,7,17,18,21,23,24,26,27,30,32,33,25,39],last:[23,32,2,18,5,28,20,21,17,9],delimit:[39,17,5],alon:[7,5,3],context:8,"0x5aeacf0":25,whole:[25,35,24,8],pdb:33,load:[10,23,29,14,15,24,32,2,19,5,38,21,17,9],mutexunlock:1,simpli:[30,12,1,15,24,2,27,5,38,21,7,17,9],undefin:[23,29,30,24,21,17],point:[10,12,38,29,36,24,2,17,27,5,37,20,21,22,8],instanti:[21,17,5],pcm:24,unrealist:24,header:[29,14,4,17,20],alloca:29,uniniti:[23,30,8,38],param:30,linux:[23,12,29,15,3,4,38,20,22,39],"__super":35,yourattr:5,throughout:[23,24,32],backend:[23,21,8],swi:8,faithfulli:17,becom:[29,39,18,4,5,17],"0x7ff3a302a980":31,"_atom":21,static_cast:[21,7],pchintern:24,due:[23,15,24,32,18,38,21,22,17],empti:[23,11,39,24,27,18,5],createastdump:28,hascustompars:5,whom:30,spaceaftercstylecast:39,ls_cpp03:39,stdint:21,wambigu:23,silenc:23,"141592654f":27,strategi:[26,6,24],bazarg:17,handoff:1,fire:5,imag:[33,9],shuffl:21,"__builtin_choose_expr":[21,5],great:[20,23,5],coordin:17,valuedecl:2,understand:[23,1,39,32,2,26,5,20,17,9],func:[7,5],demand:[23,5],repetit:5,cxxdestructornam:5,"__builtin_strlen":5,imap:10,weveryth:23,c_atom:21,assertheld:1,look:[23,13,14,36,24,2,26,5,25,20,21,17],nsurl:27,ordinal0:5,typecheck:17,tip:36,histor:[1,33,17,27,5],oldvalu:17,durat:8,formatt:5,autowrit:28,"while":[23,33,1,39,31,24,32,2,17,27,5,6,22,21],opeat:21,match:[18,5,20,21,8,9],abov:[23,1,29,30,21,24,32,27,8,13,5,38,6,17],error:[12,30,31,17,18,37,20,8,9],fun:[38,11,15,4,12],win32:[20,8],findclassdecl:13,cleanup:[1,17,5],astdumpfilt:28,pack:[23,30,39,5],real:[23,12,15,36,24,2,5,38,21,17,9],malloc:[29,11,4,17,5],ppc64le:35,readi:[28,23],mystic:5,key1:39,leaksanit:12,activ:[1,15,24,33,18,19,5,7,35],binutil:[20,33],itself:[23,38,1,30,21,24,32,8,26,5,20,6,7,17,9],shell_error:28,vector4doubl:21,"__typeof__":23,around:[23,7,31,24,18,5,20,21,17],bankaccount:1,decor:21,do_somthing_completely_differ:39,"__c11_atomic_exchang":21,minim:[23,15,24,32,33,3],noncopy:23,belong:[24,4,17,8],myconst:27,argonn:35,"_block_byref_obj_keep":30,clangattremitt:5,"__builtin_addcl":21,wall:[28,23],octal:23,"__builtin_addcb":21,multicor:6,unsafeincr:1,"__block_literal_10":30,testm:18,fmodul:24,x86:[20,8,5],nsmakerang:21,optim:[12,8],unsequenc:17,getasidentifierinfo:5,wherea:[29,20,21,17],domin:[29,6],inflat:17,librai:5,unintention:17,moment:[1,23],temporari:[23,17,9],user:[31,12,29,14,7,16,8,25,4,5,37,22,17,9],createreplac:5,wfoo:23,provabl:17,stack:[23,11,12,15,21,24,32,33,8,18,30,5,38,6,17],built:[10,23,35,36,24,32,2,19,5,38,21,9],"__builtin_va_arg_pack_len":23,travers:[13,25,32,2,5],task:[26,9],lib:[23,12,14,15,36,24,5,28,20],discourag:[1,17],older:[18,32],nsprocessinfo:27,bad_arrai:12,elem:29,honor:17,person:[23,30],cheer:17,appertain:[21,5],withdraw:1,organization:7,propos:[29,35,24],explan:[23,2],maybebindtotemporari:5,cout:7,"__block_copy_foo":30,ldd:23,multitud:25,obscur:23,constructorinitializerindentwidth:39,collabor:1,v6m:20,nonbitfield:5,"__need_size_t":24,world:[23,38,30,16,24,32,33,18,5,20,17],joinedarg:9,elect:17,question:20,objectforkei:27,forloop:2,cut:25,"0x173afc8":2,also:[0,1,2,3,4,5,6,7,8,9,23,14,15,17,18,20,21,22,24,25,27,28,30,32,33,35,36,37,38,39],immintrin:23,scenario:17,tok:5,restructuredtext:5,shortcut:[10,24],forbid:[17,27],"__strong":17,notifi:[32,5],str:23,appli:[10,35,23,39,36,24,2,17,4,27,5,21,7,8],input:[10,23,29,39,36,24,2,5,21,7,9],subsequ:[21,9,17,5],approxim:[1,24,2],finder:2,callexpr:32,bin:[23,12,13,39,31,2,36,28,20,22],gnueabihf:20,dr1170:21,vendor:[20,21,24,5],obsolet:8,bif:1,getcxxconversionfunctionnam:5,"0x5aead68":25,nscopi:27,"0b10010":21,spacesincstylecastparenthes:39,comparisonopt:21,resid:[18,6,7,24,32],textdiagnosticprint:5,characterist:5,infil:13,snowleopard:30,needsclean:5,ivar:17,success:[1,8,9],linemark:23,interven:17,starequ:5,signal:[37,17],vcvars32:23,resolv:[23,13,8,5,6,17],operatorcallexpr:2,collect:[23,30,24,27,17,18,19,5,37,8],wsystem:23,"__gnu_inline__":23,popular:23,admittedli:17,objcclass:5,cxx_attribut:21,myobject:1,often:[23,12,1,24,33,29,26,5,20,21,22,17],dst_vec_typ:21,some:[12,29,14,7,17,37,20,8,9],back:[23,30,24,17,5,21,8],lipo:9,"__c11_atomic_fetch_sub":21,"__wchar_t":21,unspecifi:[18,17,23,5],sampl:36,mirror:[23,2],sn4rkf:9,densemap:5,sizeof:[18,21,4,30,5],surpris:17,om_invalid:21,scale:29,culprit:2,glibc:[23,4,5],shall:[29,30,24,17,8],per:[23,39,13,15,24,32,29,5,21,8],contrast:[6,17],block_is_glob:30,larg:[23,29,15,24,32,33,3,35,5,38,17,9],"0x60":27,slash:10,transformxxx:5,prof:23,bcanalyz:32,prod:21,reproduc:23,warn_attribute_wrong_decl_typ:5,maxim:5,"__dllexport__":21,run:[18,10,12,8],nitti:19,disableformat:39,lose:[7,17],viabl:[23,8],"__c11_atomic_fetch_xor":21,step:[12,28,26,5,37,22,17,9],ispointertyp:5,from:[12,8],getnextcontext:5,shorten:17,impos:17,"0x00000000a3a4":15,classref:23,idx:27,constraint:[1,17,8],usetabstyl:39,maxlen:8,idl:23,modal:5,"32bit":23,arraywithobject:27,prologu:[23,8],gamma:[23,5],filemanag:5,string1rang:21,primarili:[7,24,32,17,5,8],foper:23,digraph:23,use_lock_style_thread_safety_attribut:1,within:[17,8],newastconsum:28,bsd:23,contributor:[37,35],chang:[10,29,39,17,18,4,20,7,8,9],qobject:37,unpleasantli:17,robust:[37,24],gcc_version:23,"0x00000000a360":15,"__typeof":17,few:[23,7,24,32,2,33,5,8,9],errno:24,index2:21,fast:12,custom:[10,11,23,39,36,24,2,4,5,17],security_critical_appl:21,bug:[23,12,29,15,33,4,35,38,17],"0x7f7ddab8c210":12,arithmet:[29,17],charg:30,suit:[39,15,12,33],forward:[23,30,32,21,8,9],entir:[7,24,32,17,5,8,9],createastdeclnodelist:28,bs_gnu:39,properli:[23,5],vprintf:8,lint:19,wno:23,int8_t:21,navig:37,pwd:28,visitcxxrecorddecl:13,link:[12,3,28,20,21,8,9],translat:[12,29,30,17,4,8],newer:32,delta:23,"__dsb":21,line:[10,31,12,14,39,16,2,8,25,36,33,5,28,38,21,7,17,9],mitig:[6,21,9],fortytwolonglong:27,sdk:23,libclang:[37,22,5],concaten:[21,5],utf:[27,5],comp_dtor:30,nonassign:39,confusingli:35,"0x5aeac10":25,caller:[1,17,8],familar:25,instantan:17,"__builtin_ssub_overflow":21,compilerinst:[13,14],err_typecheck_invalid_operand:5,highlight:[23,32,5],similar:[10,23,1,39,21,24,32,33,8,18,36,5,38,6,7,17],workflow:10,superclass:[21,17],constant:[29,7,17,8],curs:28,metal:20,"__clang_version__":21,favoritecolor:27,command:[12,14,39,16,2,36,7,5,28,21,22,8,9],doesn:[23,1,39,24,2,17,5,28,20,8,9],repres:[23,30,21,32,2,18,26,27,5,6,17,9],"char":[23,12,13,29,30,36,2,18,27,5,38,21,8],incomplet:[23,21,17],int_max:27,"__vectorcal":35,home:[28,22],objc_bool:27,"__builtin_va_arg_pack":23,ni_al:39,unifi:10,cmake:[20,12],c_thread_loc:21,"__block_descriptor_10":30,titl:23,sequenti:[29,21,22],"__format__":8,nan:5,invalid:[23,12,31,33,5,25,17],objczeroargselector:5,bracket:[23,21,39,5],feature_nam:21,librari:[10,12,14,7,17,8],peopl:[23,2,28,5,37,20],ellipsi:8,particular:[30,11,12,1,15,21,24,32,8,29,4,5,38,6,17,9],deseri:[6,32],linti:37,llvm:[10,12,29,39,31,37,20,7,17,9],actual:[23,1,29,30,21,24,32,8,18,5,25,6,22,17,9],mismatch:[29,17,8],cxx_deleted_funct:21,fansi:23,totyp:21,propag:[4,17,8],meaning:[8,23,15,17,9],libtool:[31,7,22,26],ctype:24,formal:[1,17],enhanc:15,svn:[0,7,2,10],infrequ:23,lead:[23,1,15,24,32,27,18,5,6,17],ternari:[39,5],vice:[1,18,29,17,32],ns_consum:[21,17],i16:29,"199901l":23,needstolock:1,discrimin:23,src_vec:21,dot:[23,24],sbpo_nev:39,captured_obj:30,fresh:24,n_label:4,hello:[30,16,32,27,18,33,5],prototyp:[30,21,8],typedeftyp:5,unevalu:[8,5],fooneg:1,edg:[23,5],undefinit:24,definit:[23,35,1,39,21,24,32,2,8,18,26,27,5,6,17,9],strex:21,parsearg:14,addmatch:2,ut_nev:39,type_tag_idx:8,vector4short:21,compact:32,privat:[21,17,5],lifetim:8,secur:[1,29,21],sensit:[29,5],nsstring:[21,8,27],elsewher:17,send:[37,23,21,17,27],"__size_type__":24,vptr:23,lower:[23,6,32,17,5],"__builtin_arm_stlex":21,outgo:5,attr_mpi_pwt:8,aris:[30,17],fatal:[23,16,5],"__atomic_releas":21,sent:[18,17],mpi_double_int:8,unzip:20,"0x170fa80":2,vla:23,nsusernam:27,account:[17,32],"__is_interface_class":21,mous:5,typeattr:5,implicitli:[23,29,24,27,18,5,21,22,17],cxx_constexpr:21,relev:[13,20,21,5],"__builtin_usubll_overflow":21,tri:[23,1,35,5,37,17,9],span:39,magic:[20,11],"__stdc__":32,complic:[9,5],cxx_override_control:21,"try":[23,1,39,2,18,26,5,28,7,17,9],nsfoo:17,race:[23,1,15,8,18,17],currentlocal:21,appar:17,initializer_list:21,freed:[17,12],nsmutablearrai:27,pleas:[23,14,35,32,27,8,4,5,37,6,21],impli:[30,24,32,2,17,9],cap:23,fortun:33,dest_label:4,odr:8,cfe:17,uniqu:[24,32,27,2,5,8,9],bad_foo:11,voidarg:18,download:[10,35,2,20],"__int128_t":31,targetspecificattr:5,click:5,append:[4,27],compat:[39,17,8],index:[23,34,24,32,2,25,27,5,37,21,9],"__extension__":5,compar:[2,8,27,5,21,6,9],captured_voidblock:30,resembl:[25,26],dwarfstd:23,keepemptylinesatthestartofblock:39,lk_java:39,autocleanup:1,experiment:[39,12,8],"__builtin_appli":23,objc_subscript:[21,27],deduc:[21,7,17],whatev:[23,9,32,5],impact:[23,24,33,5],"enum":[21,30,5],setobject:27,chose:17,despit:[18,6,8],commentpragma:39,cxx_explicit_convers:21,closur:21,v7m:20,sinl:8,intercept:22,let:[10,23,13,14,36,2,25,5,28,17],sink:29,ubuntu:[38,15,12],sinf:8,latent:17,safer:[20,17,27],sine:8,implicit:[17,5],cfgblock:5,remark:[23,17,5],unsiz:21,convers:8,checkplaceholderexpr:5,broken:[17,9],libc:[23,15,21,38],cxx_local_type_template_arg:21,larger:[25,32],later:[23,24,32,2,17,26,5,28,20,8],converg:5,cert:1,ifstmt:[28,5],formatted_code_again:39,earli:[29,6],honeypot:8,cxxbasespecifi:25,epilogu:8,ccmake:[28,2,36],chanc:[17,2],fake:1,control:8,blerg:20,isderivedfrom:26,nearest:5,newbi:23,win:[23,17],app:33,functioncal:30,foundat:[18,17,8],declrefexpr:[25,2],forindent:39,dyn_cast:5,"boolean":[1,21,8,27,5],"__is_nothrow_destruct":21,immut:[27,5],llvm_build:2,"__block_dispose_foo":30,redo:5,my_pair:8,"0x00000000a3b4":15,functionprototyp:32,zip:20,commun:[17,5],doubl:[23,12,1,27,8,21,17],upgrad:5,"throw":[7,17,33],websit:23,objc_boxed_express:27,doubt:19,usr:[23,12,30,24,2,28,22],imprecis:17,stage:17,"0x7f7893901cbd":38,remaind:17,sort:[21,7,17,5],insertvalu:29,src:12,cf_consum:[21,17],factor:[38,6,5],appropo:30,undefinedbehaviorsanit:23,dxr:37,trail:39,arg_idx:8,bufferptr:5,piovertwo:27,truthfulli:39,focu:[7,5],expect_tru:36,dwarf:[23,35,33],dcmake_c_compil:28,retriev:[29,21,26,5],mgener:23,erasur:23,scalabl:[6,24],nsstringcompareopt:21,annoi:17,column:[13,23,39,32,5],tag:[1,37,21,4,8],obvious:[17,5],drill:13,meet:[17,5],my_int_pair:8,diagnosticsengin:37,sbpo_controlstat:39,malform:27,process:[23,31,12,29,14,15,21,24,36,26,7,5,28,6,22,17,9],optioncategori:[2,36],block_has_stret:30,sudo:[28,2],high:17,bos_non:39,exclude_cap:1,qunus:23,tab:[10,39,23],msvc:[21,8],onlin:[25,12],recordtofil:27,astmatchersmacro:26,cansyntaxcheckcod:36,"0x7f7ddab8c084":12,"0x7f7ddab8c080":12,basic_str:5,delai:[1,23,24,17,33],gcc:[18,30,8,20],uncomput:5,gch:23,"__thread":8,acycl:32,"__bridge_transf":17,infeas:[24,8],cxx_default_function_template_arg:21,"0x000000010000":29,instead:[10,23,1,39,21,24,27,8,29,4,35,5,28,6,25,17,9],sin:8,inher:[18,22,24,17,5],stand:[10,7,32,3,26,5],everywher:24,msdn:8,overridden:[23,21,17,8],bad_:11,watch:5,powerpc64:23,irel:22,hascondit:2,cxx_defaulted_funct:21,"__has_trivial_destructor":21,hasiniti:2,physic:1,alloc:12,essenti:[8,6,17,5],"0x5aeac90":25,"__c11_atomic_load":21,annot_typenam:5,bind:[18,10,22,9],counter:[1,23,21,32,5],correspond:[23,1,29,39,24,32,8,18,26,5,21,17,9],element:[30,27,17,5,21,8],issu:[30,8],numberwithdoubl:27,unaccept:17,freebsd:[23,12],subtyp:17,"__builtin_subcb":21,fallback:39,furnish:30,annot_cxxscop:5,houston:35,breakbeforebinaryoper:39,adjust:[8,17,2,5],wformat:[23,21,8],vmg:23,solv:37,move:[30,16,17,18,5,8],vmb:23,j_label:4,fcaret:23,wmultichar:23,comma:[23,39,17,27,8],liabl:30,vmv:23,interceptor:38,callabl:[29,26],falsenumb:27,bunch:[36,5],perfect:[38,12],outer:[26,5],disambigu:27,chosen:[20,8,2],cxx_decltype_incomplete_return_typ:21,html:[0,35,5],gfull:9,infrastructur:[35,19,5,28,7,9],addr2lin:[23,15],therefor:[15,24,32,27,17,5,38,8],higher:[23,15,21,12,38],crash:17,greater:[23,21,7],numberwithbool:27,ext_:5,auto:[18,30,7,39,5],overal:[6,32,17,9],innermost:17,bat:23,ctor:35,mention:[1,6,32,30,5],facilit:[37,21,17],extwarn:5,front:[23,39,32,5],fomit:9,"__clang__":[1,21],unregist:17,fortytwo:27,amd1:23,cocoa:[21,17,27,32],somewher:[23,5],dsymutil:12,faltivec:21,anyth:[1,23,15,24,5],edit:[28,10,32],new_stat:8,slide:25,fuzz:33,mode:[10,35,36,24,2,17,7,5,25,38,21,3,8],"0x173b060":2,findnamedclassvisitor:13,upward:32,"201112l":23,unwind:17,aresameexpr:2,dcmake_export_compile_command:[28,36],isvector:5,"0x7f7893912f0b":38,shared_trylock_funct:1,macosx:8,isatstartoflin:5,astmatch:2,"static":[12,29,14,30,17,18,5,37,8],our:[13,35,36,24,2,25,33,5,37,8],differ:[0,1,27,5,7,8,9,10,11,12,13,14,15,17,19,20,21,22,24,26,2,28,30,32,33,35,36,25,38,39],unique_ptr:[1,13,7,5],special:[12,8],out:[12,8],variabl:12,rex:5,getgooglestyl:0,nsunrel:21,crc:23,influenc:[23,17],"0x173afa8":2,ret:[29,21],categori:[11,12,7,36,32,2,4,5,37,17],"__timestamp__":21,stroustrup:39,scoped_lock:1,rel:[23,11,16,24,32,33,17,36,6,22,8,21],hardwar:[20,21,8,23],plural:5,reg:23,red:[21,27,5],statist:32,proviso:17,getprimarycontext:5,"__dfsan_union":29,manipul:[9,5],transfer:17,"__imag__":21,powerpc:[6,9,35,5],commonhelp:[2,36],getastcontext:13,dictionari:21,cxx_unicode_liter:21,releas:[30,17,8],cf_returns_not_retain:[21,17],index1:21,afterward:[2,36],indent:[23,39],getstmta:2,badstructnam:12,spill:29,guarante:[23,1,16,24,27,8,21,17],unnam:5,lexer:7,getderiv:5,ioctl:8,keep:[39,32,5,37,17,9],length:[10,21,39,23,5],enforc:[1,23,17,8],outsid:[23,1,39,24,27,19,5,21,17],alwaysbreakafterdefinitionreturntyp:39,nsforcedorderingsearch:21,retain:8,successor:5,objectpoint:30,blockb:30,softwar:[1,30,24,3,37,20],blocka:30,"__block_copy_4":30,"__block_copy_5":30,qualiti:[23,8,9],q0btox:9,echo:[28,2],date:[35,21,32,27],exclusive_locks_requir:1,check_initialization_ord:12,stringargu:5,isfoo:5,"__builtin_uaddl_overflow":21,owner:17,intent:[8,35,17,5],"_value_":[21,35],getsourcerang:5,getnodea:2,gmarpon:37,commandlin:[2,36],type_trait:[21,24],at_interrupt:5,unknown:[24,20,4,8,23],scanf:8,byref_dispos:30,mkdir:[28,2],system:[29,14,30,16,17,4,20,8,9],block_byref_cal:30,attach:[23,1,39,2,29,5,8],cf_returns_retain:[21,17],appl:[23,30,32,27,17,18,20,21,8,9],annotationvalu:5,termin:[23,30,5,27,36,17],lockabl:1,alexfh:28,"final":[23,12,38,1,24,2,8,4,33,5,20,21,17,9],prone:17,tidbit:21,shell:[11,22,2],ldrex:21,branch:[23,8,5],block_copi:[18,21,30,17],block_has_ctor:30,getsourcemanag:2,rst:[30,5],exactli:[23,39,24,2,18,5,21,7,17,9],haven:[23,17],dosomethingtwic:1,meanin:[38,11],"0x40":27,interleave_count:21,prune:24,counteract:17,rpass:[23,21],block_foo:18,see:[1,2,5,6,8,9,23,11,12,14,7,16,17,21,22,24,25,26,27,30,31,32,33,35,36,37,38,39],structur:[30,33,39,26,5,4,17,9],cfarrayref:30,"__builtin_arm_ldaex":21,hastyp:2,sens:[23,2,5,20,21,17],seriou:[17,32],dubiou:5,bare:20,bs_linux:39,sourcebuff:5,exhibit:24,"function":12,constructana:21,stdin:10,ijk_label:4,mpi_datatype_double_int:8,getllvmstyl:0,fprofil:23,clearli:[35,17,5],corrupt:[17,8],continuationindentwidth:39,lightli:17,reserv:[30,12,29,15,24,18,38,21,17],disjoint:32,altivec:[21,24],lazili:[9,32,5],unqualifi:[23,21,17],rprichard:37,mio:8,min:[8,27],"switch":[23,30,8,39,35,5,6,21],accuraci:[23,21,5],neon_polyvector_typ:21,builtin:[25,16,17],analog:17,which:[1,27,4,5,6,8,9,10,11,12,13,14,7,17,19,20,21,22,23,24,25,26,2,28,29,30,31,32,33,35,36,37,39],mip:20,detector:[23,38,12,3],"0x5aeacc8":25,rvalu:[17,5],singl:[10,27,23,1,39,21,24,32,2,8,26,19,5,28,20,6,22,17,9],uppercas:17,converttyp:5,dosomeio:1,"0x5aeab50":25,allow:[1,2,5,8,9,23,11,13,7,17,18,19,21,24,26,29,30,32,33,35,36,25,39],awar:[20,17,5],who:[23,7,24,2,8,25,21,17],discov:[24,2],penaltybreakfirstlessless:39,fragment:5,fn4:23,rigor:26,typenam:[23,21,8,33,5],deploi:[1,8],astprint:28,mutexlock:1,pyf:10,afresh:17,urg:8,placement:[23,21,8],attributelist:5,consist:[18,30,39,17,12],dens:5,depositimpl:1,stronger:1,face:[21,17,5],pipe:[9,5],do_something_els:[21,39],determin:[23,1,39,32,2,5,21,8,9],ftrapv:23,occasion:5,constrain:[17,8],parsingpreprocessordirect:5,block_field_:30,fact:[18,17,23,5],dllexport:[23,21,33],unforgiv:[17,5],fdiagnost:23,text:[10,23,36,24,2,5,8],compile_command:[28,22,36],verbos:[23,7,24],elif:21,"__bridge_retain":17,bring:[17,2,5],objc:[23,30,24,27,39,35,5,17],elig:2,getcxxliteralidentifi:5,fortytwounsign:27,texa:35,anywai:[17,32],setter:[30,21,17],textual:[23,24,5],locat:[10,12,23,13,39,16,24,32,2,18,36,26,27,5,28,20,17,9],extrahelp:[2,36],gvsnb:9,buf:8,preclud:17,shared_locks_requir:1,eat:5,ignoringparenimpcast:2,optionspars:[2,36],smallest:10,suppos:[30,24,8,2],nonumb:27,"__is_union":21,inhabit:32,local:[10,12,30,17,18,5,28,8],frontendactionfactori:36,hope:9,codegenfunct:5,meant:[23,24,32,17,5,8],contribut:[25,15,24],cxx_decltype_auto:21,pull:24,cxx_access_control_sfina:21,convert:[23,30,27,2,5,21,7,17],disagre:5,memcpi:[29,4],bear:[21,22],autom:[19,21,17,5],penaltybreakcom:39,objc_dictionary_liter:[21,27],unaryoper:2,increas:[17,12],lucki:24,portion:[30,17,2],custom_error:23,enabl:[10,35,33,12,1,15,24,32,2,8,18,27,5,25,38,21,17],organ:17,approach:[37,29,9],lookup_result:5,parsemicrosoftdeclspec:5,"__is_liter":21,integr:[8,17,12],partit:27,contain:[10,12,29,14,30,24,2,8,18,39,4,7,5,20,21,22,17,9],"__builtin_addc":21,"__c11_atomic_stor":21,www:35,conform:[29,23,4,33],sunk:8,badfunct:11,unimport:[23,24],cmake_cxx_compil:2,"__builtin_uaddll_overflow":21,cxx_decltyp:21,elis:23,diagnosticgroup:5,matchcallback:2,itool:[14,36],vectorize_width:21,bptr:17,target_link_librari:2,"_perform":17,decls_end:5,bindabl:26,"__builtin_sadd_overflow":21,danger:17,polymorph:[21,26],entranc:5,"0x7f7893912e06":38,allowshortblocksonasinglelin:39,woboq:37,correctli:[23,35,5,24,36,9],make_uniqu:7,mainli:6,"_ivar":17,dll:23,realign:8,getcanonicaldecl:2,unusu:5,entrant:1,om_abortonerror:21,crude:24,progress:[12,33,4,5,6,17],neither:[23,27,2,5,21,17],entiti:[10,11,12,15,24,32,2,5,38,8],complement:7,tent:[35,5],javascript:39,predefin:[39,32,27],forkeyedsubscript:27,kei:[10,1,27,18,21,22,8,9],amen:21,bad_init_glob:12,parseabl:23,newfrontendactionfactori:[2,36],isol:[24,32],job:[9,5],getexit:5,cmonster:37,foo_dtor:30,outfit:2,swift:20,endl:7,monitor:[29,21],myfoobar:[11,12],doxygen:[25,23],instant:18,extens:8,equal:[23,11,29,2,33,5,21,17],special_sourc:11,etc:[23,1,30,24,32,8,39,35,5,37,20,21,7,17,9],instanc:[23,12,29,24,32,27,18,5,28,20,21,17,9],grain:[23,21,5],committe:[21,24,35],freeli:17,afraid:7,comment:[39,24,32,33,35,5,7,8],objc_arc_weak:21,anti:24,unfold:5,cxx:[1,28],guidelin:23,use_lbr:23,chmod:28,subsetsubject:5,vend:24,nmore:[2,36],defaultlvalueconvers:5,m16:23,respect:[23,11,39,30,24,32,27,17,18,5,21,8],chromium:[10,39],quit:[23,24,17],objc_read_weak:30,"__weak":17,divid:[23,9],yaml:39,addition:[12,30,24,5,21,17],"__underlying_typ":21,runtooloncod:[13,36],inprocess:9,separatearg:9,compon:[21,9,7,17,5],json:28,unknowntyp:33,besid:2,hassingledecl:2,certain:[12,8],popul:[30,32,9],partial:[23,21,8],parmvardecl:25,bit:[23,12,29,15,21,24,32,35,30,5,6,17,9],do_something_completely_differ:39,upcom:35,presenc:[1,30,24,5,21,17],substat:32,blocklanguagespec:21,deliber:[1,37],"_block_byref_releas":30,"__always_inline__":21,togeth:[10,17,12],languagekind:39,scroll:2,stringwithutf8str:27,llvm_link_compon:2,replic:21,multi:[1,6,32,5],hasrh:2,dataflow:23,transferfrom:1,align:[39,17,8],cldoc:37,"__builtin_arm_ldrex":21,cursor:[10,19],defin:[12,29,14,39,17,18,4,20,8,9],intro:23,suffix:[39,9,27,5],getqualifiednameasstr:13,backtrack:5,howev:[23,1,30,21,24,32,33,8,5,20,6,7,17,9],nscol:27,mandatori:17,avx:[23,24],engag:17,helper:17,leftmost:17,almost:[24,17,5,20,6,8],virt:21,site:[10,35,23,5],path_discrimin:23,dfsan_add_label:29,dag:32,motiv:[23,6,7,8,9],dual:1,lightweight:9,incom:5,revis:[30,17],autofdo:23,bs_attach:39,uniti:38,"0x7ff3a302a8d0":31,welcom:15,"0x403c53":12,parti:[23,24,32],getc:24,satisfi:[24,4,9],intra:1,member:[39,30,17,18,5,7,8],handl:[14,2,5,20,17,9],cope:[28,5],avaudioqualityhigh:27,smarter:35,ifndef:[1,21,24,5],android:[20,12],inc:30,fabi:20,"0x7f45944b418a":38,block_literal_express:18,"0x173b048":2,tighten:17,http:[0,12,23,15,2,3,35,37,38,7,39],denot:[39,27],int8x8_t:21,expans:[23,22,5],upon:[23,30,24,27,8,18,17],struct:[12,8],dai:24,declnod:5,etaoin:37,pthread_creat:15,dealloc:8,allowallparametersofdeclarationonnextlin:39,php:23,expand:[23,2,17,27,5,28,21,8],googl:[0,12,10,1,15,23,3,38,39],objc_protocol_qualifier_mangl:21,"0x7ff3a302a830":31,off:[8,39,17,5],allof:26,sfs_all:39,well:[0,35,33,10,30,24,23,27,32,18,19,5,20,6,7,17,9],is_convertible_to:21,dfsan_set_label:[29,4],exampl:[18,30,17,8],handletranslationunit:13,achiev:[38,11,5],english:5,interconvers:17,talk:5,sibl:[38,12],latest:[10,35,14],unari:[18,21,39,2,5],lossi:23,statementmatch:2,ni_inn:39,camel:21,glut:17,"__atomic_acquir":21,obtain:30,mistaken:23,objc_fixed_enum:21,"0x173af50":2,actonbinop:5,fooarg:17,simultan:[1,17],lex:[0,6,24,5],"42ll":27,web:[37,23,35],getsourcepathlist:[2,36],swig:1,clangast:2,onward:23,makefil:[23,35,36,28,20,22],speedup:11,discuss:[0,30,24,5,37,17],integerliter:[25,31,32,2],add:[10,12,14,30,16,8,28,39,37,20,7,17,9],divis:23,handiwork:2,init_arrai:35,foobar:23,collis:[24,17],"0x00000000c790":15,nonnul:23,smart:1,boom:12,ctrl:10,rememb:5,mpi_datatyp:8,agnost:[1,17],varieti:[10,35,24,23],tc2:23,tc3:23,tc1:23,assert:[1,24,21,4],were:[23,1,39,24,32,27,8,18,26,35,5,37,38,17,9],five:[9,17,5],know:[23,1,2,33,5,37,20,21,17,9],dianost:5,use_multipli:21,press:[10,2],incrementvarnam:2,loader:23,recurs:[25,23,24,2,5],cxx_:21,desc:29,redund:[23,24,17],insert:[10,23,29,39,27,17,26,5,21,8],fpars:23,crisp:37,backbon:26,lost:26,startoflin:5,push_back:36,necessari:[23,1,30,24,2,8,29,4,33,5,37,17,9],have:[1,27,4,5,8,9,23,12,14,17,19,20,21,22,24,25,2,28,29,30,32,33,35,36,37,39],martin:[28,2],isdependenttyp:5,profraw:23,"__printf__":8,soft:20,page:[23,34,35,8,5,37,6,21],amd:35,unreach:23,revers:[21,32],prepend:29,substanti:30,captur:[18,17,5],suppli:[30,15,24,18,38,39],unsafe_unretain:17,dynamorio:38,i64:29,bos_nonassign:39,"__dfsan_retval_tl":29,"_msc_ver":23,xmmintrin:21,flush:21,proper:[23,21,5],vsi:21,"__dfsan_arg_tl":29,dfsan_has_label_with_desc:29,registri:14,tmp:9,incvar:2,guid:[0,39,2,37,20,21,7],cxx_nonstatic_member_init:21,esp:21,broad:[23,21],"__cxx_rvalue_references__":21,cplusplus11:24,clangcheckimpl:28,invas:17,dfsw:29,contact:35,speak:6,sfs_empti:39,trap:23,"__builtin_arm_clrex":21,encourag:17,imperfectli:17,acronym:37,spacesinparenthes:39,imaginari:21,dosometh:1,actoncxx:5,externalastsourc:32,host:[20,35,17,5],arg1:5,obei:[8,17,5],although:[23,1,7,32,27,8,18,17,9],offset:[10,30,32,8,23],java:[39,35],"__has_trivial_constructor":21,declus:24,simpler:24,about:[12,8],rare:[23,9,5],endcod:39,ansi:23,templateidannot:5,cxx_except:[21,35],declcontext:[25,32,5],hot:11,"__clang_patchlevel__":21,lifecycl:8,includ:[10,14,30,16,17,18,4,20,7,8],alignof:[23,21],constructor:[18,30,39,17,5],fals:[23,12,1,15,2,13,39,27,5,38,6,8],discard:[29,23,21,4,8],disabl:[8,17,12],cycles_to_do_someth:21,subset:[19,21,17,23,5],truenumb:27,own:[29,39,17,4,5,37,20,21,7,8,9],cxx_inline_namespac:21,dictionarywithobject:27,nodupfunc:8,warranti:30,guard:[1,24,17,5],denseset:5,converttypeformem:5,treetransform:5,linkonce_odr:29,cxx_variadic_templ:21,mere:[8,9,17,5],merg:[23,30,32,39,5,21,17,9],"0x7ff3a302a9d8":31,"__builtin_usubl_overflow":21,val:21,diagnosticsemakind:5,dogfood:7,fuzzer:33,threadsanit:[11,21,8],intention:[7,17],trigger:[32,24,17,19],downgrad:23,inner:[39,30,26,17],ndebug:24,"var":[25,17,2],stai:15,individu:[21,35],c90:[23,24],favorit:25,styleguid:0,function1:23,subdirectori:[23,24],unexpect:17,guess:2,subsum:[29,9],"0x7f45938b676c":38,weight:[23,17],getenv:27,eax:21,neutral:9,bodi:[23,39,1,30,32,2,18,33,5,25,21,8],readertrylock:1,backtrac:23,spuriou:[1,17],instancetyp:21,cxx_delegating_constructor:21,overflow:[23,21],inlin:[8,39,12,5],widecharact:21,cxx_init_captur:21,showinclud:23,spacebeforeparen:39,count:8,succe:[8,32],condvarnam:2,vtordisp:23,mcpu:20,temp:9,"__is_enum":21,wish:[2,17,5,20,6,8],wconfig:24,googlecod:0,displai:[10,7,5,2,36,8],opt_i:9,record:[23,6,32,33,5],below:[23,1,39,24,32,27,8,26,5,21,17,9],libsystem:30,foocfg:5,nestednamespecifi:5,otherwis:[10,39,23,30,24,27,17,18,5,21,8,9],problem:[12,29,2,33,5,20,21,17,9],nscaseinsensitivesearch:21,uglier:24,evalu:[23,30,32,27,17,18,35,5,21,8],"int":[1,2,4,5,7,8,23,11,12,13,15,16,17,18,21,27,29,39,31,36,25,38,30],descript:[23,29,14,39,36,2,33,5,21],dure:[0,23,1,14,7,21,32,27,13,29,5,20,6,17,9],pic:[23,35],pid:15,pie:[38,15],getobjcselector:5,"__base_file__":21,implement:[17,8],memory_ord:21,banal:37,inf:21,ing:32,"__c11_atomic_is_lock_fre":21,probabl:[20,19,5],tricki:[23,5],ut_alwai:39,initvar:2,nonetheless:17,cxxrecorddecl:13,libcxx:[20,38],percent:5,detail:[23,11,27,1,35,32,2,19,5,21,7,8,9],virtual:[23,33,12,13,15,2,19,5,38],new_valu:21,"0x7fcf47b21bc0":15,other:[1,27,4,5,6,7,8,9,12,15,16,17,19,20,21,24,26,2,28,29,30,32,33,35,25,38,39],bool:[13,14,39,2,27,5,21,8],eabi:20,c94:23,disproportion:23,gline:23,"__is_abstract":21,cpp03:39,movl:21,stat:[6,32],repeat:[23,26,24],"class":[12,29,14,30,17,18,39,4,8,9],indirectli:17,"__is_empti":21,add_subdirectori:2,tryannotatecxxscopetoken:5,clang_check_last_cmd:28,serial:[6,22,24,32,5],actonxxx:5,yesnumb:27,experienc:24,invari:[21,17,9],contigu:17,eod:5,"__atomic_acq_rel":21,reliabl:[23,35,17],attribute_overload:8,decls_begin:5,rule:[23,1,39,24,27,8,33,5,37,21,17],cpu:8,objcspacebeforeprotocollist:39,enumerator_attribut:21,hoist:5,"0x44da290":28},objtypes:{"0":"std:option"},objnames:{"0":["std","option","option"]},filenames:["LibFormat","ThreadSafetyAnalysis","LibASTMatchersTutorial","LeakSanitizer","DataFlowSanitizer","InternalsManual","PTHInternals","ClangTools","AttributeReference","DriverInternals","ClangFormat","SanitizerSpecialCaseList","AddressSanitizer","RAVFrontendAction","ClangPlugins","ThreadSanitizer","FAQ","AutomaticReferenceCounting","BlockLanguageSpec","Tooling","CrossCompilation","LanguageExtensions","JSONCompilationDatabase","UsersManual","Modules","IntroductionToTheClangAST","LibASTMatchers","ObjectiveCLiterals","HowToSetupToolingForLLVM","DataFlowSanitizerDesign","Block-ABI-Apple","ClangCheck","PCHInternals","MSVCCompatibility","index","ReleaseNotes","LibTooling","ExternalClangExamples","MemorySanitizer","ClangFormatStyleOptions"],titles:["LibFormat","Thread Safety Analysis","Tutorial for building tools using LibTooling and LibASTMatchers","LeakSanitizer","DataFlowSanitizer","“Clang” CFE Internals Manual","Pretokenized Headers (PTH)","Overview","Attributes in Clang","Driver Design & Internals","ClangFormat","Sanitizer special case list","AddressSanitizer","How to write RecursiveASTVisitor based ASTFrontendActions.","Clang Plugins","ThreadSanitizer","Frequently Asked Questions (FAQ)","Objective-C Automatic Reference Counting (ARC)","Language Specification for Blocks","Choosing the Right Interface for Your Application","Cross-compilation using Clang","Clang Language Extensions","JSON Compilation Database Format Specification","Clang Compiler User’s Manual","Modules","Introduction to the Clang AST","Matching the Clang AST","Objective-C Literals","How To Setup Clang Tooling For LLVM","DataFlowSanitizer Design Document","Block Implementation Specification","ClangCheck","Precompiled Header and Modules Internals","MSVC compatibility","Welcome to Clang’s documentation!","Clang 3.6 Release Notes","LibTooling","External Clang Examples","MemorySanitizer","Clang-Format Style Options"],objects:{"":{"-Werror":[23,0,1,"cmdoption-Werror"],"-ferror-limit":[23,0,1,"cmdoption-ferror-limit"],"-Weverything":[23,0,1,"cmdoption-Weverything"],"-fparse-all-comments":[23,0,1,"cmdoption-fparse-all-comments"],"-fno-assume-sane-operator-new":[23,0,1,"cmdoption-fno-assume-sane-operator-new"],"-mgeneral-regs-only":[23,0,1,"cmdoption-mgeneral-regs-only"],"-Wambiguous-member-template":[23,0,1,"cmdoption-Wambiguous-member-template"],"-fno-standalone-debug":[23,0,1,"cmdoption-fno-standalone-debug"],"-Wno-error":[23,0,1,"cmdoption-Wno-error"],"-Wno-foo":[23,0,1,"cmdoption-Wno-foo"],"-fdiagnostics-show-template-tree":[23,0,1,"cmdoption-fdiagnostics-show-template-tree"],"-g":[23,0,1,"cmdoption-g"],"-fno-crash-diagnostics":[23,0,1,"cmdoption-fno-crash-diagnostics"],"-gline-tables-only":[23,0,1,"cmdoption-gline-tables-only"],"-ftrap-function":[23,0,1,"cmdoption-ftrap-function"],"-m":[23,0,1,"cmdoption-m"],"-fdiagnostics-parseable-fixits":[23,0,1,"cmdoption-fdiagnostics-parseable-fixits"],"-fdiagnostics-show-category":[23,0,1,"cmdoption-fdiagnostics-show-category"],"-fdiagnostics-format":[23,0,1,"cmdoption-fdiagnostics-format"],"-w":[23,0,1,"cmdoption-w"],"-fcomment-block-commands":[23,0,1,"cmdoption-fcomment-block-commands"],"-pedantic-errors":[23,0,1,"cmdoption-pedantic-errors"],"-mhwdiv":[23,0,1,"cmdoption-mhwdiv"],"-Wextra-tokens":[23,0,1,"cmdoption-Wextra-tokens"],"-fno-elide-type":[23,0,1,"cmdoption-fno-elide-type"],"-Wsystem-headers":[23,0,1,"cmdoption-Wsystem-headers"],"-ftemplate-depth":[23,0,1,"cmdoption-ftemplate-depth"],"-pedantic":[23,0,1,"cmdoption-pedantic"],"-fbracket-depth":[23,0,1,"cmdoption-fbracket-depth"],"-fstandalone-debug":[23,0,1,"cmdoption-fstandalone-debug"],"-g0":[23,0,1,"cmdoption-g0"],"-Wdocumentation":[23,0,1,"cmdoption-Wdocumentation"],"-Wbind-to-temporary-copy":[23,0,1,"cmdoption-Wbind-to-temporary-copy"],"-Wno-documentation-unknown-command":[23,0,1,"cmdoption-Wno-documentation-unknown-command"],"-ftemplate-backtrace-limit":[23,0,1,"cmdoption-ftemplate-backtrace-limit"],"-foperator-arrow-depth":[23,0,1,"cmdoption-foperator-arrow-depth"],"-Wfoo":[23,0,1,"cmdoption-Wfoo"],"-fconstexpr-depth":[23,0,1,"cmdoption-fconstexpr-depth"],"-ftls-model":[23,0,1,"cmdoption-ftls-model"]}},titleterms:{represent:29,all:[13,14,23],code:[23,39,38,36],examin:25,chain:32,pth:6,consum:[17,8],pretoken:6,concept:[1,9],subclass:5,no_address_safety_analysi:8,content:32,privat:[1,24],"const":30,init:17,no_sanitize_thread:[15,8],digit:21,liter:[18,21,27],string:[1,21,27,5],"void":17,faq:16,w64:23,retriev:2,syntax:8,condition:1,"__has_cpp_attribut":21,objc_method_famili:8,stddef:16,level:[30,6,21],list:[37,29,11,4,21],iter:17,pluginastact:14,redeclar:5,vector:21,clangtool:[2,36],scoped_cap:1,align:21,properti:[21,17],cfg:5,cfe:5,direct:24,fold:5,design:[0,34,29,32,4,6,9],aggreg:21,pass:17,autosynthesi:21,relocat:23,compat:[33,9],deleg:21,insid:1,defin:[21,5],abi:[29,20,21,4,33],section:8,no_sanitize_memori:[38,8],overload:[8,5],access:[13,21,30],delet:21,experiment:28,"new":[35,7],method:[17,27,32],metadata:32,writeback:17,deriv:26,noreturn:8,set_typest:8,gener:[20,21,17,23],modular:24,sfina:21,studio:10,layout:[29,30],standard:[23,21],implicit:21,valu:17,box:27,acquire_shared_cap:8,convers:[21,17],standalon:[10,36],bbedit:10,objc_copyweak:17,precis:17,implement:[23,29,30,5,6,9],overrid:21,semant:[24,17,5],via:23,extra:7,primit:21,modul:[24,32],submodul:24,vim:10,put:[13,14,36],famili:17,select:21,"__declspec":8,from:[30,17],memori:[29,21,36,17,12],sourcerang:5,regist:14,live:17,overhead:9,scope:[1,30],frontendact:13,type:[32,17,18,26,5,21,8],more:[12,15,24,2,3,38],"__virtual_inherit":8,src:17,trait:21,relat:[21,17,9],warn:[1,23,9],trail:21,visual:10,indic:34,objc_storeweak:17,known:[1,17],enable_if:8,alia:[1,21],setup:28,annot:[8,5],histori:30,caveat:27,learn:[24,2],multiprecis:21,purpos:17,boilerpl:5,control:[18,21,17,23,5],lock:1,templat:[21,17,33],high:30,sourc:32,unavail:[21,17],try_acquire_cap:8,msvc:33,declar:[18,32,24,17,5],gcc:[23,9],goal:[11,9],optnon:8,diagnosticcli:5,fpu:20,how:[23,12,13,15,26,5,28,38],"__single_inherti":8,simpl:9,map:[23,24],try_acquire_shar:1,"__has_featur":[38,15,21,12],mac:23,try_acquire_shared_cap:8,philosophi:32,data:21,astfrontendact:13,bind:26,explicit:[21,17],exclud:1,mangl:21,test_typest:8,exclus:21,release_cap:8,fallback:23,lambda:21,thread_loc:21,oper:[18,21,23],frontend:5,cc1:16,move:21,rang:21,held:1,through:29,flexibl:9,pointer:17,dynam:21,paramet:[21,24,17],snippet:36,style:[0,39,27],group:23,fix:[21,5],platform:[23,15,24,12,38],window:[23,35],objc_storestrong:17,non:21,"return":[21,17],handl:38,auto:21,spell:17,initi:[21,12],framework:21,no_split_stack:8,automat:[21,17],interrupt:8,ninja:28,discuss:27,stdarg:16,grammar:27,name:[26,33,5],pt_guarded_bi:1,infer:[21,17],separ:21,token:5,acquired_befor:1,mode:23,debug:23,unicod:21,compil:[23,34,35,24,20,22,9],interleav:21,"__c11_atom":21,individu:23,idea:7,"static":[23,21],operand:17,special:[11,17],out:17,variabl:[18,21,30,17,8],objc_retainblock:17,safeti:[1,8],objc_loadweakretain:17,astcontext:13,categori:23,unsupport:23,rational:17,reader:32,integr:[10,22,32],libastmatch:2,qualifi:[18,21,17],umbrella:24,barrier:21,ast:[25,26,32,2,5],fallthrough:8,multilib:20,powerpc:23,nsobject:30,base:[13,21,26],dictionari:27,releas:[1,18,35],autoreleasepool:17,guarded_var:1,precompil:[23,32,5],thread:[1,8],unnam:21,lexer:5,ask:[1,16],codegen:5,thread_sanit:15,memory_sanit:38,retain:[21,17],lifetim:17,assign:21,frequent:[1,16],first:36,origin:38,major:35,arrai:[21,27],independ:23,number:21,evolut:17,restrict:17,mingw:23,fast:17,miss:16,size:[23,21],differ:23,intention:23,unrestrict:21,system:[28,23,21,22],messag:[23,21],statement:[32,8,5],interfac:[0,29,19,5,6,17],low:[6,21,9],objc_destroyweak:17,try_acquir:1,option:[0,39,36,23,20],namespac:21,tool:[10,34,7,2,28,36,37],copi:[18,30],alloc:8,specifi:21,blacklist:[38,15,12],pars:[23,36,9],pragma:[23,35],objc_initweak:17,objc_retainautoreleasereturnvalu:17,kind:5,target:[20,21,23],"__block":[18,30],"__builtin_shufflevector":21,carries_depend:8,structur:24,project:37,bridg:17,entri:5,"function":[30,21,26,8],variadicdyncastallofmatch:26,modern:7,argument:[29,21,9,17,5],raw:21,tabl:[34,32],"__has_extens":21,leaksanit:3,addresssanit:12,issu:20,inform:[23,12,35,3,38,21,15],self:17,note:[35,9],builtin:[21,36],"__has_warn":21,build:[12,15,2,28,38,22],interior:17,"__has_declspec_attribut":21,rvalu:21,pipelin:9,multipli:5,object:[23,30,24,27,18,21,17,9],what:35,lexic:[1,30,24,5],"__sync_swap":21,cygwin:23,"__has_builtin":21,segment:21,"class":[21,5],"__builtin_operator_new":21,flow:[18,5],order:12,charsourcerang:5,runtim:[30,21,17],neg:1,variad:21,microsoft:23,"_noreturn":8,no_thread_safety_analysi:1,decltyp:21,current:[23,12,1,15,24,3,4,38],objc_loadweak:17,acquir:1,copyright:30,objc_autoreleasepoolpush:17,configur:[39,24],"__builtin_operator_delet":21,analyz:23,intermezzo:2,darwin:23,local:21,"__multiple_inherit":8,unus:9,variou:23,get:[1,16],express:[32,27,18,26,5,21,17],clang:[23,35,34,14,39,16,32,2,21,28,26,19,5,37,20,6,7,25,8],report:[23,38],multipleincludeopt:5,requir:[1,24],pointer_with_type_tag:8,enabl:23,organ:7,nullptr:21,objc_autoreleas:17,intrins:21,patch:10,common:36,contain:27,where:24,emac:10,arc:17,result:[21,17],arm:[23,21],"__has_includ":21,address_sanit:12,statu:[38,15,4,12,3],detect:12,databas:22,enumer:[21,17],struct:17,label:29,mutex:1,between:23,astconsum:13,"import":[30,24],subscript:[21,27],approach:5,acquire_cap:8,attribut:[21,24,8,5],extend:21,weak:17,unrol:21,constexpr:21,preprocessor:[32,5],nsnumber:27,solv:24,rtti:21,addit:[21,35,27,9],extens:[23,30,18,5,21,17],tutori:2,context:[25,17,5],improv:35,qualtyp:5,comment:23,unimpl:1,ast_matcher_p:26,point:32,instanti:33,overview:[18,7,9],header:[23,16,24,32,5,6],openmp:35,guid:[1,23],"__weak":30,instrument:23,union:[21,17],pch:23,mark:30,json:22,basic:[1,23,6,2,5],"__builtin_readcyclecount":21,reformat:10,field:17,togeth:[13,14,36],"case":[29,11],interoper:21,gnu:8,noexcept:21,plugin:[14,19],contextu:21,durat:17,cast:17,invok:18,unifi:9,behavior:21,error:[23,16],loop:21,propag:29,requires_shar:1,file:[23,21,24,32,5],helper:30,canon:5,return_typest:8,crash:23,revis:18,"_static_assert":21,make:28,format:[23,11,39,7,5,22,8],tls_model:8,cross:20,member:21,binari:21,complex:21,matcher:[26,2],document:[29,34,17],recursiveastvisitor:13,conflict:24,objc_retainautoreleasedreturnvalu:17,param_typest:8,x86:[23,21],optim:[23,6,21,17],pt_guarded_var:1,nest:30,driver:[9,16,5],assert_cap:[1,8],capabl:1,user:[23,21],ownership:17,dealloc:17,extern:[37,38],weird:16,audit:17,qualif:17,off:21,"__has_include_next":21,macro:[21,24,35],taint:29,inherit:21,exampl:[37,11,4,39,27],command:[23,24],thi:17,choos:19,model:24,identifi:32,obtain:2,release_shar:1,"__is_identifi":21,yet:23,languag:[18,21,24,35,23],static_assert:21,miscellan:17,sourcemanag:[13,5],hint:[21,5],clangcheck:31,except:[21,17],param:26,script:10,add:5,lookup:33,c11:[21,35],introduct:[1,27,3,4,5,8,9,23,11,12,13,14,15,20,21,24,37,26,28,35,36,25,38],match:[26,2],"__attribute__":[30,15,12,38],sanit:11,applic:19,transpar:5,dest:17,piec:39,objc_requires_sup:8,background:[22,17],meat:5,specif:[23,30,18,20,21,22],deprec:21,manual:[23,5],sema:5,guarded_bi:1,"__builtin_addressof":21,objc_retain:17,manag:[29,17,32],underli:21,deduct:21,captur:21,tokenlex:5,creation:26,objc_autoreleasepoolpop:17,acquired_aft:1,intern:[6,9,32,5],"export":24,flatten:8,unretain:17,indirect:17,librari:[20,34,5],dataflowsanit:[29,4],leak:12,protocol:21,track:38,exit:5,condit:5,complic:2,acquire_shar:1,core:7,run:[1,14,16,36],"__builtin_convertvector":21,"enum":27,usag:[23,11,12,15,4,38],objc_releas:17,step:2,"__autoreleas":17,objc_retainautoreleas:17,stage:9,clangformat:10,about:[16,24,17],toolchain:[20,9],"_thread_loc":21,aarch64:21,constructor:[1,21],disabl:[21,39],block:[30,32,18,5,21,17],subsystem:5,own:26,"__builtin_unreach":21,paramtyp:26,within:30,terminolog:23,type_tag_for_datatyp:8,right:19,refer:[1,30,21,17],chang:[35,5],destructor:1,storag:[18,17],your:[26,19,5],mingw32:23,support:[23,12,15,30,17,35,5,38,22,8],no_sanitize_address:[12,8],question:[1,16],threadsanit:15,avail:[8,27],start:1,arithmet:21,includ:[21,36,24,5],analysi:[1,21],some:[16,36],nodupl:8,link:[24,36],translat:[9,5],atom:21,line:[23,24],inlin:[1,21],count:[21,17],tripl:20,attr:5,consist:29,objc_moveweak:17,"default":21,displai:23,limit:[1,23,15,12,38],sampl:23,problem:24,emit:23,produc:5,featur:[23,21,35,33,9],constant:[21,5],creat:[13,26,2,36],certain:17,parser:5,strongli:21,diagnost:[23,35,5],release_shared_cap:8,check:[12,1,7,27,29,21,8],libclang:19,cmake:28,relax:21,return_cap:1,other:23,bool:1,futur:24,objc_autoreleasereturnvalu:17,architectur:23,node:[25,26,2],libformat:0,llvm:[28,5],symbol:38,"__except":35,libtool:[19,2,36],"__has_attribut":21,"__builtin_assum":21,pool:[17,32],memorysanit:38,assert_shared_cap:[1,8],directori:24,flag:[1,23,35],tradeoff:6,write:[13,14,26,36],argument_with_type_tag:8,sourceloc:5,escap:30,profil:23,cpu:[20,23],callable_when:8}}) \ No newline at end of file +Search.setIndex({envversion:42,terms:{attribute_unavailable_with_messag:21,gnu89:23,withdrawimpl:1,orthogon:30,usetab:39,rev:30,"__v16si":23,poorli:17,four:[9,17,5],prefix:[10,23,29,14,39,32,2,27,20,6,21],nsdate:27,dirnam:36,namespace2:12,upsid:9,whose:[23,35,2,17,5,25,21,8],createastconsum:13,undef:[29,24,8,32],"const":[17,8],wunused_macro:5,arithmat:21,spew:5,"0x20":27,"__atomic_relax":21,getdeclcontext:5,concret:[20,9,5],allowshortfunctionsonasinglelin:39,swap:[21,5],foldingsetnodeid:2,under:[0,12,10,1,29,15,30,24,23,27,8,18,4,5,37,38,17],preprocess:[23,24,5,6,21,9],spec:9,alignoperand:39,trylock:1,merchant:30,nounrol:35,digit:5,lack:[21,17],everi:[23,1,21,24,32,2,29,4,33,5,20,6,17],risk:[39,21,17],lookup:[17,5],"void":[12,8],subjectlist:5,affect:[23,39,24,32,21,7,17],handlesimpleattribut:5,"0x403c8c":12,vast:[24,17,5],byref_obj:30,nsarrai:[21,27],metaclass:17,cxx_binary_liter:21,cmd:[28,10,8],lk_javascript:39,defens:24,type_idx:8,pointeralign:39,vector:[14,39,9,17,5],terabyt:[38,12],math:[21,24,8],though:[23,15,24,2,8,38,17],mllvm:23,incourag:2,x86_64:[23,12,29,15,3,4,38,9],carryout:21,avaudioqualitymin:27,fixit:[37,23,7,19,5],"__va_list_tag":31,naiv:17,direct:[29,17,5,21,8,9],enjoi:7,consequ:[23,24,27,20,6,17],second:[10,33,23,1,30,24,2,8,18,27,5,21,17,9],processdeclattribut:5,aggreg:[17,5],"0x173b0b0":2,even:[23,38,30,24,33,17,39,5,37,20,21,8],anywher:[29,18,9,17,5],hide:1,insid:[12,39,36,32,27,33,5,28,21,9],warn_:5,neg:5,asid:5,implicitcastexpr:[28,25,2],poison:32,"__msan_chain_origin":38,"0x7ff3a302a9f8":31,"new":[8,18,30,17,12],net:18,ever:[5,24,17,36,8,9],liberti:17,metadata:[17,9],cxx_range_for:21,ongo:33,elimin:[12,24,32,5,38,21,17,9],centric:[1,32,5],annotationendloc:5,behavior:[8,29,4,17,5],"__dmb":21,intargu:5,mem:8,myframework:24,never:[23,39,24,17,5,21,8,9],copysign:5,sc22:35,here:[23,11,12,1,39,24,27,8,35,5,28,20,21,7,17,9],accur:[35,15,17,5],undo:10,debugg:[33,5],numberwithfloat:27,path:[10,11,38,12,23,1,14,36,24,32,27,8,5,28,20,21,22,17,9],"__atomic_seq_cst":21,mpi_datatype_nul:8,anonym:[28,12,17,23,5],interpret:[1,39,24,5],unconsum:8,"__sync_lock_test_and_set":21,thread_annotation_attribute__:1,precis:8,findnamedclassact:13,loop:[39,7,17,5],permit:[23,30,24,8,21,17],"__is_nothrow_construct":21,aka:21,prolog:37,werror:23,portabl:[21,9,5],"__sync_fetch_and_add":21,instr:23,"0x7f7ddabcac4d":12,substr:[28,17],unix:[22,24],strai:[21,17],printf:[30,16,32,18,5,38,8],"__builtin_smul_overflow":21,total:[23,30],"byte":[10,12,23,29,5,8],unit:[23,12,1,29,36,24,32,27,8,13,4,5,25,20,21,22,26,17],highli:23,redon:6,describ:[0,11,39,10,1,30,21,24,23,2,8,18,32,27,5,35,6,22,7,17,9],would:[10,33,23,1,30,36,24,32,2,8,18,39,19,5,21,17,9],mistak:[27,5],tail:[38,12],float2:21,bleed:23,program:[1,27,4,5,6,7,8,10,12,13,15,17,18,19,20,21,23,24,26,2,28,29,30,32,33,36,38,39],call:[1,2,4,5,6,8,9,23,12,13,14,16,17,18,20,21,22,24,26,27,28,29,30,32,33,35,36,37,38,39],typo:35,recommend:[21,17],strike:17,"__builtin_object_s":[23,8],type:12,until:[23,1,33,18,26,17],beyond:[18,17,5],unescap:22,readm:14,"0x173b088":2,notic:[30,35],warn:[4,12,8],getaspointertyp:5,"export":[14,36],hold:[1,30,8,18,5,17,9],unpack:20,must:[23,1,14,30,21,24,32,27,8,18,29,5,37,6,22,17,9],subexpr:5,accid:5,uninstru:[38,4],word:[1,30,24,5,21,17],restor:[23,35,17,2],generalis:4,setup:[20,7,31],work:[1,2,4,5,6,7,17,9,10,11,12,15,20,21,22,23,24,26,27,28,30,32,33,36,25,38,35],foo_ctor:30,worth:[9,5],conceptu:[9,5],wors:17,introduc:[10,11,12,8,23,1,15,30,24,32,2,3,18,39,27,5,38,17],"__strict_ansi__":23,akin:[17,5],root:[20,17,23],could:[23,29,30,24,32,17,5,20,7,8],overrid:[8,39,7,17,5],defer:[23,33],lclangbas:24,give:[23,35,36,2,19,5,25,21,7,17,9],cxxusingdirect:5,"0x5aea0d0":25,oldobject:27,indic:[23,1,35,24,32,2,8,13,26,5,21,17,9],caution:17,unavail:8,want:[0,11,33,23,13,35,16,2,8,25,36,26,19,5,28,20,21,7,17,9],avaudioqualitylow:27,unavoid:[17,12],unsign:[23,12,14,30,31,27,39,5,38,21,8],experimentalautodetectbinpack:39,recov:[23,35,33,18,5,17],end:[10,31,23,1,29,7,21,32,2,8,18,36,26,5,20,6,22,17,9],hoc:17,quot:[23,21,22,8,5],ordinari:[1,23],strnlen_chk:8,classifi:[23,17,5],i686:23,concis:[23,21,27,2],hasnam:26,breakbeforebrac:39,libsupport:5,recoveri:[18,23,33,5],answer:[24,17,2],verifi:[37,26,32,5],macosx10:23,ancestor:25,config:[10,39,24],updat:[1,32,18,4,5,17],dialect:[23,24,17,32],recogn:[23,21,17,5],rebas:2,less:[23,15,32,2,17,35,5,3,7,8],attrdoc:5,after:[23,33,12,1,30,36,24,32,2,8,18,39,27,5,28,20,21,22,17,9],alignafteropenbracket:39,lab:35,diagram:9,befor:[23,35,1,39,24,32,2,17,29,33,5,21,8],wrong:[20,17,23,5],exclusive_lock_funct:1,beauti:23,pthread_join:15,irrelev:39,fblock:23,arch:[20,35,23,9],parallel:[6,21,17],demonstr:[1,14,4,27,36],danieljasp:31,attempt:[23,1,30,24,32,33,8,18,35,5,21,17,9],third:[24,32,33,17,5,8],isvalid:13,grant:30,exclud:[24,17],recompil:[24,17,2,32],maintain:[24,32,2,5,20,17,9],environ:[23,12,1,30,24,18,19,38,35,22,17,9],incorpor:[21,7,17],enter:[17,5],exclus:[18,30,8],worst:17,lambda:17,parmvar:25,vfp:8,decl:[13,24,32,2,5,25],origin:[29,30,17,4,5,21,7,8,9],frontend:16,diagnos:[21,24,33,5],cygm:23,over:[23,13,14,7,36,32,2,19,5,22,17],failur:[1,23,24,8,5],orang:9,becaus:[21,23,1,30,16,24,32,2,8,4,27,5,6,7,17,9],x64:[23,35],numberwithchar:27,ptr_kind:8,bs_stroustrup:39,keyboard:10,byref:30,vari:[23,32,17,8],"__builtin_ab":5,fiq:8,cli:7,fit:[1,30,33,5,25,22,39],fix:[20,17,12],clangastmatch:2,better:[23,24,33,5,37,20,21,9],carri:[17,8],complex:[20,9,4,5],poly8x16_t:21,persist:[37,24],hidden:[10,32],setwidth:5,easier:[20,24,17,38],cxxliteraloperatornam:5,them:[1,2,5,6,17,9,23,12,13,7,16,18,20,21,24,26,27,28,35,32,33,39,36,30],gnu99:[23,35],thei:[1,27,5,8,9,23,11,12,7,17,18,19,20,21,24,26,2,30,32,33,36,37,38,39],proce:[13,17,32],safe:[8,1,7,33,17,6,21],"break":[13,39,24,8,18,19,36,20,17],alwaysbreaktemplatedeclar:39,inescap:17,promis:[23,15,17],astread:32,d_gnu_sourc:14,itanium:17,yourself:25,bank:8,cxx_aligna:21,blockstoragefoo:30,grammat:5,grammar:[24,5],controlstat:39,ut_forindent:39,lanugag:39,rizsotto:37,accommod:[18,9],block_field_is_weak:30,conflict:[21,17],arrow:23,each:[2,4,5,6,7,8,9,23,11,15,17,18,20,21,22,24,27,28,29,39,32,36,25,30],debug:[13,35,24,33,5,28,38,8,9],foo_priv:24,"0x173b240":2,localiz:5,side:[23,29,7,2,17,18,27,5,21,8],mean:[23,35,12,38,1,15,21,24,27,8,29,39,33,30,5,20,6,17,9],prohibit:[39,17],monolith:9,cppguid:0,add_clang_execut:[13,2],objcinstance0:5,combust:21,foldabl:5,collector:17,cxxoperatornam:5,unbound:5,palat:5,goe:[23,21,5],facil:[9,24,5],newli:27,crucial:24,convei:5,astcontext:[25,32,2,5],content:[21,24,2,5],rewrit:[30,24,7,5],laid:17,dictionarywithobjectsandkei:27,adapt:9,newobject:27,reader:2,i128:23,unmanag:17,targetspecificattribut:5,"__block_dispose_10":30,multilin:39,libastmatch:26,"0x5aeaa90":25,nodetyp:13,linear:[6,24,32],barrier:[29,30,8],written:[10,23,35,24,32,27,17,25,26,33,5,37,21,8],situat:[35,17],infin:21,free:[12,30,24,27,26,35,37,17],standard:[10,39,17,5,25,20,7,8],nsobject:17,fixm:[0,23],identifierinfo:[32,5],databas:[37,28,31],accessmodifieroffset:39,parenthes:[23,35,39,27,2,5,21,17],"__has_nothrow_assign":21,convent:[23,30,24,33,17,35,5,21,22,8],"_returns_retain":21,angl:[39,5],astdump:28,atl:[35,33],filter:[28,10,17,2,5],system_framework:21,fuse:17,iso:23,isn:[29,2,17,5,8,9],baltic:5,isa:[23,30,5],subtl:[24,17],confus:[23,9,24,17,5],performwith:17,rang:[10,39,7,8,5],perfectli:[17,5],render:[17,5],independ:[15,24,32,19,5,38,6,22,9],rank:8,necess:[17,5],restrict:8,hook:[13,17],unlik:[23,1,15,24,27,29,4,5,6,17],alreadi:[13,7,24,32,2,8,27,36,37,20,21,17],wrapper:[29,31,4,5,37,21],wasn:24,agre:17,primari:[7,24,17,5,37,8],latenc:[21,22],wherev:[18,8,2,5],rewritten:[30,7,27,5],nomin:29,top:[10,14,24,32,19,5,38,21,22,17,9],objc_instancetyp:21,sometim:[23,1,33,8,5,17],downsid:[14,9],bitstream:[32,5],toi:37,ton:5,too:[1,16,17],similarli:[23,1,30,24,27,17,6,7,21,9],toolset:23,recent:[28,32,17,2,5],cxx_generic_lambda:21,cxx11:5,sourcemgr:0,conditionvarnam:2,"_pragma":[23,5],tool:[8,31,17,12],privaci:29,noninfring:30,andersbakken:37,sourceweb:37,getmu:1,incur:[23,6,9],somewhat:[24,17,5],conserv:[1,17,9],peculiar:17,machineri:[23,6,24,17,5],clang_index:37,reinterpret_cast:[21,7,17],target:[39,30,8],"__block":17,provid:[1,27,4,5,6,7,8,9,23,11,13,14,15,17,18,19,20,21,24,26,2,28,29,30,32,33,35,36,37,38,39],expr:[25,23,2,5],lvalu:[25,23,17,2,5],tree:[23,14,35,36,24,32,2,26,5,28,22,7,9],"10x":15,project:[10,12,39,31,7,17,9],matter:[1,18,23,5],wchar_t:[21,24],entri:[29,17,8],returnstmt:25,compoundstmt:[28,25,31,5],provis:18,assertreaderheld:1,lbr:23,aapc:8,ran:23,morehelp:[2,36],modern:17,mind:5,example_useafterfre:12,bitfield:5,raw:5,incrementvari:2,manner:[1,30,8,18,5,28,21,17],increment:[1,21,17,2],seen:[21,32,17,27,12],seem:17,incompat:[23,24,17,33,8],minu:35,dozen:23,strength:6,dsomedef:22,latter:24,clang_plugin:37,client:[10,23,29,32,4,5,37,9],hatch:1,ptr_idx:8,cxx_alias_templ:21,expens:[21,24,32],simplifi:[21,24,17,27,5],rethrow:33,fullsourceloc:13,hasincr:2,object:8,c_generic_select:21,what:[36,24,2,17,26,33,5,20,21,8,9],spacesinangl:39,regular:[39,23,11,30,21],recorddecl:[26,5],letter:17,xarch_:9,phase:[9,17,5],boost_foreach:39,unordered_map:7,tradit:[23,17],cxx_raw_string_liter:21,don:[23,12,38,33,39,24,2,19,5,20,21,7,17,9],pointe:[8,23,17,5],doc:[0,11,31,35],flow:[17,8],c_static_assert:21,doe:[1,2,3,4,5,6,8,9,10,11,12,15,17,18,20,21,22,23,24,27,30,32,33,35,36,25,38,39],bindarchact:9,"__is_class":21,declar:8,wildcard:[11,24,12],abi:[30,17,8],unchang:22,notion:[24,5],came:[23,5],always_inlin:[21,8],superset:[17,5],mostli:[23,29,33,17,5,8,9],functionpoint:18,api:[23,1,35,24,8,4,19,5,21,7,17],visitor:13,getcxxoverloadedoper:5,random:[38,5],findnamedclassconsum:13,carryin:21,protocol:[39,17,8],wbind:23,next:[10,13,39,36,24,32,2,17,26,27,5,21,8],involv:[23,24,27,5,6,17,9],absolut:[11,21,24,17,22],isequ:27,nobodi:23,layout:8,acquir:8,stmtnode:5,menu:10,explain:[23,35,27,26,2,5,8],configur:10,sugar:[37,17,8],"__is_fin":21,kerrorcodehack:21,version:[10,23,1,14,30,36,24,32,2,8,18,35,5,38,21,7,17,9],rich:[23,5],blockreturningintwithintandcharargu:18,somelongfunct:39,valuetyp:7,predecessor:5,ftrap:23,"0x403c43":12,type_express:18,nasti:5,likewis:21,stop:[23,13,39,32,5,17,9],compli:[0,39],consecut:[39,32,2],objc_default_synthesize_properti:21,report:[12,9],reconstruct:32,pointers_to_memb:33,mutual:[18,30,8],receiv:[8,21,17,3],ns_returns_autoreleas:[21,17],bar:[23,11,1,7,8,26,5,21,17],emb:30,make_shar:7,excel:24,baz:[1,23,21,17,5],"public":[1,39,24,32,2,13,5,7,8],twice:[21,17],bad:[23,11,12,24,5,17],memorysanit:[21,8,3],ban:17,n3421:7,jghqxi:9,xclang:[25,14,16,23,5],strncmp:27,hhbebh:9,fair:17,system_head:[23,24],cstdio:24,"_block_object_dispos":30,datatyp:8,num:[10,23],ns_returns_not_retain:[21,17,8],result:[12,8],respons:[23,5,32,36,17,9],fail:[23,38,1,36,24,27,8,18,33,5,20,21,17,9],themselv:[13,39,24,5,7,9],charact:[23,39,24,27,35,5,6,22,17],msan:38,best:[23,29,39,2,17,5,20,21,22,8],subject:[30,24,17,18,5,21,8],fn6:23,fn5:23,said:[18,21,30,17],fn3:23,fn2:23,fn1:23,objcspaceafterproperti:39,irq:8,"_block_destroi":30,"_foo":[21,5],figur:[36,2,26,5,28,20,22],simplest:[37,30,2],awai:[39,17,8],sysroot:20,attribut:12,accord:[23,7,24,32,27,17,18,4,5,21,22,8],extend:[10,29,18,4,5,17],nslog:[21,27],"__need_wchar_t":24,constexpr:8,lazi:[28,6,32],omp:35,"__c11_atomic_compare_exchange_weak":21,preprocessor:[17,9],extent:[23,4,17,12],langopt:[32,5],toler:[29,17],umr2:38,"__c11_atomic_init":21,protect:[1,17,9],accident:[24,17],mu1:1,easi:[10,33,23,39,2,19,5,20,6,7,17],fbracket:23,mu2:1,string_liter:5,ill:[24,17,27,8],against:[23,33,24,2,27,5,20,6,17],objcmultiargselector:5,incvarnam:2,ij_label:4,ilp:21,logic:[29,7,24,32,2,18,5,20,17,9],fno:[23,12,24,38,21,17,9],seri:[24,5],com:[0,12,23,15,2,3,28,35,37,38,39],col:[25,31,27],initwithurl:27,con:19,initmystringvalu:8,ifoo:[23,9],cxxconversionfunctionnam:5,character:[30,2],ulimit:[38,15,12],excess:[23,24],height:5,lvaluetorvalu:25,permut:21,theoret:[6,17],"__builtin_smulll_overflow":21,cxcompilationdatabas:22,diff:[10,21,5],spacesinsquarebracket:39,trust:17,assum:[23,1,39,24,27,18,4,33,5,20,21,26,17],summar:30,duplic:[35,32,8,5],liabil:30,getcompil:[2,36],convolut:17,three:[23,1,7,21,32,2,17,27,5,20,6,8],been:[23,35,33,8,1,15,30,24,32,2,3,29,27,5,38,21,17,9],specul:17,accumul:23,much:[23,1,7,32,3,18,5,20,17,9],interest:[23,13,32,2,26,33,5,37,20,6],basic:[14,7,31,8,20,17],"__has_trivial_assign":21,futur:[0,9,8,38,5],thrice:21,tini:32,quickli:[29,26,5,21,17,9],rather:[23,1,24,32,2,17,18,5,21,8,9],unfortu:5,suppress:[23,12,15,24,17,38,8],xxx:23,search:[23,31,34,14,39,16,24,32,36,25,6,21,9],uncommon:[17,5],ani:[1,2,3,5,6,8,9,10,15,17,18,19,20,21,23,24,26,27,28,29,30,32,33,38,35],lift:[7,24,17,32],"0x44d96d0":28,dfsan_get_label_info:29,child:[25,32,9],"catch":[29,35,2,18,17,9],emploi:[23,6],ident:[23,21,35,5],bitcod:32,servic:[8,19],properti:8,strict:[23,17,8],aim:[23,35,2,28,19,5,37,21],calcul:1,gritti:19,"typeof":[23,30],occas:5,aid:24,vagu:17,anchor:23,nswidthinsensitivesearch:21,spawn:24,clangseri:24,seven:9,printabl:23,coher:5,tabl:[29,33,5,25,21,17],getforloc:2,toolkit:7,neon_vector_typ:21,need:[1,27,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,2,28,29,30,32,33,36,38,39],libxml:20,avencoderaudioqualitykei:27,cond:23,stmtresult:5,objc_:21,actionfactori:28,sever:[10,23,39,21,32,2,17,18,5,6,8],pthread_t:15,number_of_sampl:23,codingstandard:0,descent:5,externalslocentrysourc:32,perform:[23,12,38,1,29,15,30,24,32,27,3,18,5,37,20,21,17,9],suggest:[12,15,33,35,5,38,8],make:[12,29,14,30,17,20,8,9],quirk:2,condvar:2,thusli:30,split:[39,24,17,8],semahandl:5,block_literal_1:30,rebuildxxx:5,complet:[23,35,33,1,39,21,24,32,2,8,28,19,5,37,6,17,9],autoreleas:[21,17],asan_opt:12,fragil:[21,24,17],nil:[18,17,27],darwin9:[32,9],blue:[21,9,27,5],bitwis:[29,21,5],hand:[23,33,13,36,2,29,27,5,20,17,9],"__builtin_umulll_overflow":21,rais:[17,27],objc_arc:[21,24,17],tune:15,squar:[21,39,5],judgement:5,redefin:24,kept:[39,24,18,5,7,17,9],bewar:23,inputact:9,linkifi:5,thu:[18,1,29,36,24,32,13,5,25,6,21],"__builtin_types_compatible_p":21,hypothet:8,inherit:[8,17,5],magnitud:20,weakli:8,loopmatch:2,istypedepend:5,thi:[12,8],endif:[23,12,1,15,24,27,8,28,38,6,21],programm:[1,18,24,17,27],everyth:[1,24,13,5,25,17],left:[23,13,39,32,2,17,27,5,35,8],identifi:[29,39,24,2,17,5,25,21,8],just:[0,12,10,1,35,21,24,23,2,32,18,26,27,5,28,38,6,17,9],verifyintegerconstantexpress:5,"0x404704":12,ordin:5,"__c11_atomic_fetch_add":21,human:[26,5],ifdef:[1,6,21,27],msp430interruptattr:5,factorymethodpool:32,yet:[15,24,32,33,17,35,5,8],languag:17,previous:[23,12,1,27,29,5,17],like:[1,27,4,5,8,9,23,11,12,13,15,17,18,19,20,21,24,26,2,29,39,32,33,36,25,38,7],isinteg:2,expos:[1,0,21,24,17],interfer:21,opencl:[21,24,8],had:[23,15,30,24,32,33,17,5,38,21,8],cxx_relaxed_constexpr:21,spread:[20,23],primit:17,els:[23,1,39,27,8,29,35,5,28,21,17],save:[10,23,32,17,8,9],explanatori:5,sanit:[29,38,4,12,3],applic:[10,29,35,24,33,17,4,5,37,21,7,8],rtag:37,basedonstyl:[10,39],preserv:[8,29,17,5],regard:5,compilationdatabas:[28,36],forstmt:[32,2],elabor:[18,6],shadow:[29,21,4],unten:17,apart:32,actoncxxglobalscopespecifi:5,specif:[17,8],arbitrari:[23,29,32,2,18,27,5,6,17],stret:30,contradict:39,manual:[29,20,17,8],"_block_liter":30,"__is_base_of":21,cplusplu:24,indentwrappedfunctionnam:39,unnecessari:[8,32,17,9],underli:[29,30,17,5,7,8],datarecursiveastvisitor:5,long_prefixed_uppercase_identifi:24,right:[30,24,2,17,39,26,5,20,8,9],old:[24,17,27],famili:8,deal:[12,30,2,26,5,17,9],interv:[21,24],eas:[23,9],"_decimal32":23,lockstep:8,intern:[29,4,17],sure:[12,38,1,2,5,20,9],namespaceindent:39,unless:[1,30,24,8,39,4,5,21,17],successfulli:[23,35,17,33],"__builtin_classify_typ":5,nsmutabledictionari:27,txt:[13,11,2],badclassnam:12,umr:38,fpic:[38,15,35],fidel:17,fpie:[38,15],subclass:[17,8],"_nsconcreteglobalblock":30,buffer:[10,39,24,32,5,8],armv7l:20,getnamekind:5,armv7:23,armv6:23,condit:[8,30,17,18,4,39],foo:[23,11,39,1,30,24,33,8,18,26,5,21,7,17,9],armv7a:20,core:[17,8],dfsan_create_label:[29,4],sensibl:[17,5],maxemptylinestokeep:39,alwaysbreakbeforemultilinestr:39,semacodecomplet:5,mytoolcategori:[2,36],pose:29,block_fooref:18,clearer:17,codeview:33,tablegen:5,promot:[23,8],some_directori:23,post:[17,2],"super":[17,8],nsnumericsearch:21,parsekind:5,unsaf:[1,21,17],obj:[1,10,30],"42l":27,bad_fil:12,toplevel:[25,36],slightli:24,surround:39,getlocforendoftoken:5,unsav:10,distinct:[24,33,18,5,17,9],canonic:2,liber:24,commit:[37,10],"__aligned_v16si":23,"42u":27,produc:[18,4,17,20,9],ppc:9,isysroot:23,repars:[28,32,5],curiou:2,declarationnamet:5,encod:[25,32,27,5],bound:[10,12,23,24,2,18,21,22,9],two:[0,11,29,23,1,14,39,36,24,32,2,8,18,27,5,35,20,21,25,17,9],"0x44d97c8":28,"0x200200000000":29,wrap:[1,39,4,27,5],opportun:[21,24,17,9],storag:8,msp430:[23,5],initwithobject:21,accordingli:[39,27],git:[28,10,7,2],horizont:39,parseargumentsasunevalu:5,suffici:[23,17],"__sync_":21,transform:[23,7,33,26,5,17],block_has_copy_dispos:30,why:[8,17,2,5],dcmake_cxx_compil:28,width:[23,21,39],reli:[33,1,24,27,2,21,17],err_:5,editor:[0,7,10],fraction:[6,32],block_releas:[18,30,17],overhead:[29,12,8],constantli:35,"0x7ff3a302a410":31,indentwidth:[10,39],analysi:[37,29,4,17,5],head:[10,23],creation:21,"_block_object_assign":30,form:[10,39,23,13,29,15,30,24,32,2,8,18,27,5,25,21,7,17],offer:[23,7,17,2],forc:[12,39,16,24,17,18,5,8,9],"__clang_minor__":21,refcount:30,wdeprec:21,cxx_rvalue_refer:21,unroot:17,heap:[23,12,30,18,5,38,21,17],synonym:[35,12,5],lk_cpp:39,"true":[23,18,1,14,39,2,8,13,27,5,20,21,17],profdata:23,axw:37,reset:1,absent:[24,17],wdocument:23,columnlimit:39,maximum:[23,39,32],tell:[23,2,5],nsautoreleasepool:17,"__is_trivially_assign":21,minor:[21,32,5],absenc:24,fundament:[6,7,39,5],handleyourattr:5,autoconf:21,emit:[35,30,24,32,27,17,33,5,37,6,8,9],mtd:23,classif:17,featur:[39,7,17,8],alongsid:[23,24],semicolon:5,flat:5,diagnostickind:5,noinlin:8,arg_kind:8,proven:21,diagnost:[7,17,8],err_attribute_wrong_decl_typ:5,exist:[23,1,30,24,32,2,17,18,27,5,28,21,22,8],request:[29,18,17,23],ship:[30,16],trip:21,assembl:[20,21,4,23,9],byref_i:30,readonli:39,constructorinitializerallononelineoroneperlin:39,when:[1,27,3,5,6,8,9,10,12,13,17,18,19,20,21,23,24,26,28,29,30,32,33,35,36,38,39],refactor:[25,7,19],entrypoint:17,declstmt:[25,31,2],test:[1,2,3,5,6,7,8,9,23,12,15,17,21,24,27,28,35,32,33,36,25,38,39],roll:17,runtim:12,a15:20,legitim:17,intend:[23,33,1,7,16,24,32,2,8,18,4,27,5,28,21,17,9],objcinst:5,"__block_literal_5":30,"__block_literal_4":30,felt:17,"__block_literal_1":30,"_bool":[28,2],"__block_literal_3":30,"__block_literal_2":30,aligntrailingcom:39,internal_mpi_double_int:8,cfstringref:[30,17],consid:[23,35,30,21,24,32,2,17,19,5,38,6,8],"__bridg":17,quickfix_titl:28,decent:5,indentcaselabel:39,"_imaginari":21,aslr:38,errorcode_t:21,longer:[23,1,35,32,8,17],furthermor:[7,17,2],derivepointeralign:39,fortytwolong:27,bottom:24,pseudo:[37,24,17],cxx_user_liter:21,ignor:[23,11,12,30,24,2,17,5,20,21,8],"__builtin_subc":21,stmtprofil:5,time:[1,2,3,5,6,8,9,23,11,12,15,17,18,20,21,22,24,26,27,29,32,33,36,25,38],objc_arc_weak_unavail:17,"__underscor":24,backward:[23,35,24,32,19,21],"__has_nothrow_constructor":21,applescript:10,parenthesi:25,"1st":[23,5],recipi:17,foreachmacro:39,concept:17,chain:[21,9,5],jessevdk:37,skip:[6,17,5],rob:17,global:[10,12,23,13,15,30,24,32,27,8,18,5,21,17],focus:[23,7,17],annotmeth:8,known:8,signific:[23,17,9],supplement:17,skim:2,ingroup:5,i_label:4,subobject:17,no_address_safety_analysi:12,lld:33,hierarch:32,decid:[23,29,2,4,5,21,9],herebi:30,depend:[23,35,12,38,33,15,36,24,32,27,17,39,26,19,5,20,21,22,8,9],graph:[32,22,17,5],decim:[23,5],readabl:26,substitut:[18,6,17,33,5],trivial:[24,2,4,5,21,17],hasunaryoperand:2,certainli:[17,5],tracker:23,decis:[0,39,23,5],key2:39,armv5:23,macho:20,oversight:17,messag:[10,12,17,18,4,5,8],cxx_alignof:21,sourc:[0,2,4,5,17,10,12,14,7,16,20,21,22,24,26,27,28,29,30,36,37,38],string:[10,14,39,17,28,8,9],made:[0,23,39,24,17,28,5,37,21,8],cheap:5,total_head_sampl:23,voidblock:30,feasibl:[24,17],forkei:27,merit:17,broadli:23,androideabi:20,join:[29,35],exact:[23,12,1,5,22,17],getcxxdestructornam:5,"__cpp_":21,strnlen:8,swizzl:21,local_funct:23,level:[17,8],did:[30,17,5],die:5,gui:[1,7,2,5],dig:5,exprconst:5,item:[29,10,4,23,5],redeclar:8,ob0:23,cmptr:21,quick:[30,2,36],"__is_pod":21,round:[39,8],dir:[23,24],prevent:[23,1,31,5,21,17],must_be_nul:8,slower:20,hack:[35,5],plu:[23,15,5],sign:[23,11,17,27,5],cost:[23,32,17,6,3,21],mileston:8,method2:8,port:12,inconclus:39,"0x5aead10":25,appear:[23,30,24,27,17,18,33,5,28,21,8],x_label:4,inheritableparamattr:5,scaffold:2,sinc:[23,35,1,30,21,24,32,2,8,27,5,37,20,6,22,17,9],firstid:2,view:[6,32,5],"__vector_size__":21,filenam:[23,39,24,5,28,9],va_list:8,xml:[0,10],compound_statement_bodi:18,deriv:[29,18,25,17,5],breakbeforeternaryoper:39,fmax:23,gener:[12,8],stmt:[25,2,5],water:17,explicitli:[1,24,32,2,29,5,21,17],modif:[21,24],"__c11_atomic_signal_f":21,address:[23,11,33,12,8,15,30,24,2,3,29,27,5,38,21,17],along:[23,7,24,32,2,33,5,28,21,8,9],do_someth:[21,39],wait:1,box:36,coloncolon:5,"__is_construct":21,devirtu:24,hdf5:8,shift:[23,32,17,5],exprerror:5,behav:[23,24,17,5],cxx_inheriting_constructor:21,extrem:[23,24,5,20,21,17],triag:23,d_debug:14,reclaim:17,ourselv:[17,2],novic:17,semant:8,regardless:[23,13,7,8,18,21,17],repositori:[14,7,24,2,36,28],extra:[14,39,17],nmap:28,tweak:[23,33],modul:[29,38,12,9],astlist:28,prefer:[10,21,8,23,5],unbridg:17,leav:[18,17,23],msan_symbolizer_path:38,pointertofunctionthatreturnsintwithchararg:18,marker:[30,17,5],instal:[23,2,36,28,20,21],should:[1,2,4,5,7,8,9,23,12,15,16,17,18,20,21,24,27,28,35,30,32,33,38,39],holtgrew:37,tiny_rac:15,market:[21,17],identifierinfolookup:32,regex:10,perf:23,msy:23,prove:[18,17,27,38],xyzw:21,univers:[6,35,9],visit:[13,5],todai:[24,27],subvers:[21,7,35,2],handler:[8,33,5],value2:39,value1:39,criteria:2,scope:[17,8],checkout:[0,7,2],cursorvisitor:5,tightli:[23,17,5],capit:5,fooref:18,incident:17,emiss:[23,17,8],somemessag:30,claus:[18,24,8],typeloc:13,refrain:17,clue:20,elseif:28,visual:8,templat:8,parsegnuattributearg:5,effort:17,fly:5,fuction:8,ibm:[20,35],prepar:17,pretend:23,judg:17,fmsc:23,cat:[23,11,12,15,31,2,25,38,6],descriptor:30,cwindow:28,can:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39],inadequ:17,binpackparamet:39,purpos:[12,8],loopprint:2,"__has_nothrow_copi":21,problemat:[38,15,8],"0x5aeac68":25,claim:[30,17],attribute_deprecated_with_messag:21,encapsul:[1,17],stream:[0,6,7,5],fsyntax:[25,14,9],"__block_dispose_5":30,"__block_dispose_4":30,backslash:23,numberwithunsignedint:27,critic:[21,17],abort:[8,23,21,12,5],phrase:[17,5],disadvantag:17,unfortun:[24,17,2,8],occur:[23,1,30,24,32,27,8,18,5,17,9],gettyp:5,alwai:[23,1,30,24,27,8,39,26,25,5,37,20,21,17,9],differenti:[21,17],multipl:[10,23,1,39,21,24,32,33,8,29,26,35,5,25,20,6,22,17,9],boundari:[11,24,17],astreaderstmt:5,unstart:33,get:[12,30,39,20,7,8,9],write:[10,30,17],cxx_rtti:21,vital:23,foreach:39,pure:[4,17,5],familiar:[20,17,9],getspellingcolumnnumb:13,"23l":27,map:[10,9,12,38,5],product:[9,27,2,5],bs_allman:39,max:[23,27],clone:[28,7,2],shockingli:2,usabl:[35,23,21,39,33],intrus:37,membership:17,"4th":5,uint:10,aribtrari:26,mai:[1,2,4,5,6,7,8,9,23,11,12,15,17,18,20,21,24,27,29,39,32,35,37,38,30],drastic:[24,17,32],underscor:[23,21,17],eof:[31,8,5],data:[29,30,17,18,4,5,37,8,9],grow:[24,32,9],readerlock:1,goal:[7,17],sfs_none:39,noun:[26,2],practic:[1,7,5,21,17,9],traversedecl:13,conscious:17,stdio:[38,6,16,24],truct:30,"__builtin_smull_overflow":21,predic:[23,26,5],mangl:8,ephemer:17,sandbox:12,preced:[23,24,17,21,8,9],combin:[23,13,30,36,3,26,35,5,20,7,8],total_sampl:23,"__block_descriptor_2":30,languagestandard:39,"__block_descriptor_1":30,"__block_descriptor_4":30,"__block_descriptor_5":30,getlexicaldeclcontext:5,dfsan_interfac:[29,4],"_block_byref_blockstoragefoo":30,gradual:24,unlock_funct:1,comdat:35,llvm_used_lib:[13,2],"__va_args__":[1,23],size_t:[29,24,4,8],still:[23,38,1,15,30,24,32,2,8,33,5,20,6,22,17,9],pointer:[12,8],dynam:[12,29,14,17,18,4,8],componentsseparatedbystr:27,fsanit:[23,11,15,12,38],conjunct:[1,23,9],interspers:17,group:17,thumb:[20,23],"__attribut":17,cxx_implicit_mov:21,precondit:[26,17],tort:30,window:[28,33],gettranslationunitdecl:[13,25],curli:[17,5],mail:[37,23,35,5],main:[2,4,5,6,17,9,23,11,12,13,14,15,16,20,21,22,27,29,35,36,38,7],ascrib:17,non:[12,7,17,18,4,5,37,8],"float":[23,1,32,27,18,5,20,21,8],halt:[23,8],matcher:25,om_terrifi:21,wimplicit:8,nation:35,underneath:23,buildcfg:5,istransparentcontext:5,mhwdiv:23,half:[23,5],now:[1,30,36,27,13,2,5,28,35,17],conflict_a:24,widespread:23,nor:[23,1,24,27,8,20,21,17],conflict_b:24,down:[23,38,2,26,5,20,17,9],term:[21,17,28,6,8,9],name:[12,29,14,30,17,39,4,28,20,8,9],realist:24,perspect:[29,24,32,5],drop:[18,35,17,9],revert:10,int_min:[23,27],separ:[12,29,7,17,5,8,9],getfullloc:13,"__sync_bool_compare_and_swap":21,callsit:8,sfs_inlin:39,xarch_i386:9,allman:39,misbehav:17,compil:[12,14,30,31,17,18,7,8],subexpress:[32,5],domain:26,replai:22,weak_import:8,aresamevari:2,replac:[0,10,1,7,24,23,27,8,29,5,38,21,17],arg2:5,continu:[35,33,1,30,2,17,18,39,27,5,21,8],ensur:[23,1,24,32,2,17,29,27,5,8],unlock:1,libgcc:20,significantli:[32,17,5],begun:[23,17],year:21,objc_assign_weak:30,happen:[23,12,7,24,17,5,20,8],dispos:[18,30],inheritableattr:5,shown:[23,17,9],"__has_attribut":[17,8],"3rd":[23,5],space:[23,12,29,15,32,5,38,21,22,39],profit:21,returnfunctionptr:18,profil:[6,2,5],astwriterstmt:5,"_clang":[10,39],breakconstructorinitializersbeforecomma:39,"_block_byref_obj_dispos":30,n3922:35,compilation_command:28,correct:[23,11,35,27,4,5,20,21,7,17],ast_match:2,"0x700000008000":29,"goto":18,"__single_inherit":8,migrat:[23,1,7,8,18,19,17],ferror:23,exercis:[23,21],inclus:[24,5],argv:[12,13,27,2,36,38],block_byref:30,llvm_profile_fil:23,createastprint:28,theori:17,org:[0,23,35,27,2,37,7],pidoubl:27,argc:[12,13,27,2,36,38],"0x800000000000":29,care:[23,13,19,5,20,21,17,9],shared_ptr:7,formatstyl:[0,39],wai:[1,27,5,8,10,11,14,17,19,20,21,22,23,24,26,2,28,29,39,32,36,25],badli:17,synchron:[18,15,17,5],"0x5aead28":25,motion:21,turn:[23,11,1,30,24,2,5,25,17,9],punt:2,place:[10,39,23,1,30,24,32,27,8,29,35,5,20,21,17],memory_sanit:21,createinsert:5,bracebreakingstyl:39,principl:[30,17,9],imposs:[17,2,8],frequent:17,first:[10,12,14,30,2,8,18,39,25,5,28,21,17,9],oper:[8,30,17,12],mpi_int:8,"__cpp_digit_separ":21,unannot:8,directli:[21,23,1,14,39,16,24,32,27,8,29,25,5,37,6,7,17,9],"_block":30,onc:[23,36,24,32,2,5,20,9],arrai:[12,39,17,5,22,7],declarationnam:5,"0x7f":27,"0x7f789249b76c":38,walkthrough:[14,36],address_spac:21,stringref:13,autosens:23,"long":[23,12,29,30,21,24,27,17,18,38,6,8,9],vote:21,modulo:5,c_alignof:21,open:[23,39,27,35,28,17],lexicograph:5,size:[12,29,14,30,17,18,5,7,8],haslh:2,given:[10,12,23,1,29,16,24,32,33,8,18,36,5,20,21,17,9],const_cast:[21,7],silent:[28,23,17],workaround:[1,24],teardown:17,caught:29,declspec:5,profile_writ:23,myplugin:14,checker:[23,19,2,5],necessarili:[21,22,19,5],draft:[23,21],deploy:[24,8],objconeargselector:5,somelib:24,conveni:[13,24,2,8,18,28,21,17],frame:[23,11,12,15,18,38,17,9],friend:23,nsapp:27,getcxxnametyp:5,autolink:24,i_hold:30,clangbas:[24,2],especi:[23,1,15,24,5,6,17],copi:[17,8],unroll_count:21,specifi:[10,12,14,30,17,18,39,7,5,28,20,22,8],pifloat:27,"short":[29,39,27,19,5,21],enclos:[23,1,30,24,18,35,5,17],pragma:[21,24,17,33],initialize_vector:23,codifi:17,holder:30,than:[23,12,27,38,1,15,24,32,2,8,18,39,26,19,5,20,21,17,9],serv:[1,7,32,2,5,37,6,17,9],wide:[23,35,24,8,33],dispose_help:30,"__block_invoke_2":30,spacebeforeassignmentoper:39,instancemethodpool:32,drothli:37,redefinit:24,visitnodetyp:13,posix:23,balanc:[1,21,17],opaqu:[18,30,17,23,5],posit:[10,12,23,1,15,32,27,8,35,36,38,21,17],objectatindexedsubscript:27,browser:37,pre:[6,24,21,2],fork:35,sai:[28,23,24,17,5],bootstrap:[28,38,2],nicer:12,testframework:21,pro:19,argument:8,"0x173b030":2,dash:[21,2],burdensom:17,"__has_extens":8,bitcast:5,duplicatesallowedwhilemerg:5,vector4float:21,block_fooptr:18,locks_exclud:1,engin:[1,25],techniqu:[32,5],alias:[1,23,17],destroi:[1,18,30,17],moreov:[1,24,17,27],matchresult:2,retroact:17,lockandinit:1,note:[10,12,14,30,17,18,39,7,8],"__builtin_arm_strex":21,ideal:[1,7,32,5,6,17],denomin:20,"__has_virtual_destructor":21,take:[23,27,13,14,30,16,24,2,8,18,36,26,19,5,28,21,17],advis:1,green:[21,9,27,5],noth:[32,8,5],basi:[23,24,8,5],byref_keep:30,begin:[23,30,32,18,5,7,17],printer:[2,5],importantli:[21,17,8],trace:[23,12,15,33,38,8],normal:[10,39,1,14,30,24,32,27,8,18,33,5,20,21,17],track:[29,7,4,5,20,17],c99:[23,35,24,18,5,8],knowingli:18,compress:32,stmtprinter:5,"0x200000000000":29,"__is_convertible_to":21,beta:[1,15],secondid:2,abus:9,ampamp:5,sublicens:30,pair:[10,29,30,2,18,27,5,21,17],fileurl:27,marked_vari:30,"_block_byref_keep_help":30,synthesi:[21,17],"_block_byref_obj":30,renam:[1,10,39,7],measuretokenlength:5,"__builtin_uadd_overflow":21,adopt:[24,27,9],cgcall:23,drive:7,quantiti:23,cortex:20,"__libc_start_main":[38,12],pattern:[10,35,1,39,24,2,26,27,5,21,7,17],eschult:37,preambl:[8,32],review:[7,17],gracefulli:5,drain:17,cmakelist:[13,2],int3:21,uncondit:5,show:[10,23,13,2,5,37,21,9],arrayoftenblocksreturningvoidwithintargu:18,atom:[17,8],rendit:23,"__builtin_inf":5,subprocess:9,actoncxxnestednamespecifi:5,concurr:[17,8],badinitclasssubstr:12,permiss:30,compliat:21,threshold:21,cxx_unrestricted_union:21,tend:[24,17],"__isb":21,asan_symbol:12,slot:37,userdata:29,onli:[1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,27,28,30,32,35,36,25,38,39],slow:[20,38,23],nice:[36,2,5],fenc:8,namespacedecl:5,state:[23,29,21,24,32,17,5,6,8,9],fenv:24,dict:39,analyz:[8,39,21,17,5],sloc:[25,31],analys:[29,5],offici:23,munl:1,info:[23,24,12,33,5],intptr_t:17,nearli:[17,32],variou:[12,1,7,24,32,18,5,21,17],cxx_lambda:21,wmodul:24,clang:12,secondari:17,astconsum:28,cannot:[10,23,1,36,24,32,33,8,29,4,5,21,17,9],"import":[17,8],ssa:29,requir:[38,29,30,2,17,18,33,5,28,20,21,22,8,9],"0x7ff3a302aa10":31,"0x000000000000":29,fixithint:5,compoundstat:2,nullptr:7,yield:[6,24,17,5],email:37,layout_compat:8,mediat:17,privileg:21,gettypenam:5,where:[29,30,36,33,17,18,4,7,5,37,20,21,22,26,8,9],"__asm__":23,summari:30,wiki:[23,35,38,3],kernel:[23,29,39,38,6,21],pointeralignmentstyl:39,textdiagnosticbuff:5,tested_st:8,foobodi:5,assumpt:[29,23,17,5],blockreturningvoidwithvoidargu:18,nsrang:21,"_block_byref_i":30,exclipi:37,arglist:9,concern:[32,5],parsingfilenam:5,cxx_return_type_deduct:21,flexibl:20,typedefdecl:31,dfsan_has_label:[29,4],label:[39,4,8],enough:[23,1,2,5,20,17,9],semadeclattr:5,volatil:[38,21,32,17,5],cfreleas:17,between:[1,30,24,32,2,17,39,5,20,21,8],nslocal:21,atindexedsubscript:27,across:[23,29,35,24,27,5,20,17],fcntl:8,spars:29,block_priv:30,parent:[10,39,24,8,18],rerun:[22,19],style:[18,10,17,8],"0x7ff3a302a470":31,cycl:[23,21,17],"__builtin_subcl":21,gentl:25,pervas:17,objcclass0:5,symbolnam:37,come:[23,24,4,5,20,8],"0x404544":12,ignoredattr:5,unrel:32,vimrc:[28,10],avoid:[15,24,27,17,5,38,21,8,9],region:[29,10,21,4,12],sparc:23,contract:[30,22,39],inconsist:17,present:[23,30,24,33,5,21,8],tsan_interceptor:15,awkward:17,mani:[23,35,1,30,24,32,2,8,13,33,5,25,20,21,22,7,17,9],check2:23,check1:23,among:[24,17,5],undocu:[23,5],m_pi:27,color:[23,21,27,5],alexdenisov:37,period:[1,35,24,5],pop:[18,32,17,23],tokenkind:5,exploit:17,colon:[39,11,17],typic:[23,12,38,1,15,24,33,5,37,20,6,17],pod:17,poll:5,damag:30,caret:[23,17,5],avaudioqualitymedium:27,ultim:[17,5],coupl:[7,5],resort:21,sortedarrayusingcompar:21,rebuild:[38,24,19],penaltybreakstr:39,layer:5,mark:[17,8],destructor:[30,17,18,35,5,8],"__c11_atomic_compare_exchange_strong":21,iinclud:[14,36],rebuilt:24,addit:[29,14,30,8,18,4,20,17],"abstract":[1,24,32,2,18,19,5,22,9],parser:37,cxx_contextual_convers:21,lsomelib:24,thousand:[29,23,26],resolut:[17,8],include_next:[21,24],"__line__":23,intvar:2,"1mb":15,former:[24,35,4,5],those:[10,35,23,1,14,39,21,24,32,2,8,18,4,33,5,26,6,7,17,9],"case":[12,30,17,18,39,4,20,7,8],interoper:17,pedant:[23,21,5],getspellinglinenumb:13,"__builtin_umull_overflow":21,trick:[24,17],invok:[30,17,8],tblgen:[23,5],msandr:38,invoc:[23,18,28,6,17,9],"__builtin_saddll_overflow":21,advantag:[23,29,27,5,28,6,21],mfloat:20,henc:[24,17],convinc:17,worri:17,destin:[23,30,4,17],isdigit:8,eras:1,pthread:15,evaluat:5,ascii:[23,5],fcomment:23,kw_for:5,develop:[23,35,1,39,16,24,8,25,4,19,37,20,6,7,17,21],cxx_nullptr:21,author:[38,30,17],cc1:[14,9],same:[23,39,1,29,30,21,24,32,2,8,18,36,27,5,28,20,6,22,17,9],binari:[12,39,16,5,28,20,17,9],tutori:[25,14],cpp11:39,dfsan_label:[29,4],arc_cf_code_audit:17,om_norm:21,document:8,medit:5,recursiveastvisitor:[25,14,5],unknownmemb:33,"__objc_no":27,exhaust:[24,17],"__builtin_constant_p":[21,5],spacesbeforetrailingcom:39,closest:39,"__builtin_va_list":31,gnueabi:20,assist:[23,30,24,33,17,9],someon:[24,17],driven:[23,22,32,9],capabl:[8,27,17,2,5],bad_sourc:11,improv:[8,30,24,32,27,17,37,6,21],extern:[30,17,8],immedi:[1,32,2,17,5,6,21],requires_cap:1,appropri:[23,1,30,16,24,32,27,29,5,21,7,8,9],choos:[18,9,8,20,5],createremov:5,macro:[8,39,17,5],markup:5,identifiert:32,justifi:17,without:[10,39,23,1,29,15,30,24,32,2,8,18,35,5,37,38,21,22,17,9],argument2:39,argument1:39,leadingspac:5,fconstexpr:23,model:[25,21,26,17,8],dereferenc:[18,5],ccc:[20,9],"__x":21,objectforkeyedsubscript:27,leewai:17,execut:[23,12,18,1,29,15,30,24,2,8,13,26,38,21,22,17,9],mut:1,annot_template_id:5,neon:[20,21,24],smallestint:27,rest:[23,30,32,17,5,7],pas_left:39,gdb:[23,38,33,5],multiplex:5,aspect:[24,5],part:[23,35,1,30,36,24,32,2,8,13,26,19,5,25,20,21,22,7,17,9],polish:32,fairli:[6,5,24,2,3],"__builtin_trap":[23,21],hint:[37,7],mmap:6,penaltyexcesscharact:39,filecheck:5,linker:[20,24,23,9],except:8,littl:[32,9,17,2,5],identif:5,instrument:[12,29,15,4,35,37,38,8],"_z8myfoobarv":11,blob:23,versa:[1,18,29,17,32],role:5,"_aligna":21,myabort:21,block_has_signatur:30,libm:20,choic:[23,30],read:[0,38,12,23,1,30,36,32,2,27,5,20,6,22,17],outermost:[26,17],asan_symbolizer_path:12,comp_ctor:30,"0x7ff3a3029ed0":31,mov:8,objc_array_liter:[21,27],libz:20,destaddr:30,va_start:8,shared_lock_funct:1,copy_help:30,walk:[11,5],saniti:[1,5],tolow:[29,4],gs_rel:21,intel:[6,35],parameter_list:18,whitespac:[39,7,5],treacher:17,"_complex":[23,5],integ:[23,29,35,32,27,2,5,21,8],server:37,benefit:[1,24,17,5],either:[23,39,1,30,24,32,33,8,18,26,25,5,28,20,21,22,17,9],cascad:24,fromtyp:21,output:[10,12,23,13,15,36,29,5,28,38,21,9],inter:1,manag:8,fulfil:2,node:[28,5],avaudioqualitymax:27,matur:1,dfsan_label_info:29,adequ:17,uninstrument:4,ls_auto:39,nonzero:[29,21],gross:5,libstdc:[38,15,21],"_block_copy_assign":30,block_field_is_byref:30,legal:[18,17,27],handicap:6,"__builtin_saddl_overflow":21,k_label:4,exit:[10,12,29,17,8,9],inject:5,"15x":15,unbeliev:23,notabl:[17,9],hopefulli:7,"__clang_major__":21,refer:8,block_field_is_object:30,ns_consumes_self:[21,17],getcxxoperatornam:5,power:[13,7,2,19,5,17],cxx_auto_typ:21,garbag:[18,30,17],inspect:[32,5],macronam:24,llvm_clang_sourcemanager_h:32,found:[0,10,1,29,30,16,24,23,2,32,13,5,28,18,21,17,9],standpoint:32,asan:12,went:[23,38],earlier:[23,32],tread:17,comparison:[29,27,2,5,6,17],"_fract":23,greatli:[23,6,17,5],assert_exclusive_lock:1,cxx_static_assert:21,formatted_cod:39,ftemplat:23,stringiz:5,cxx_runtime_arrai:21,"__is_nothrow_assign":21,cuda:[20,5],act:[1,15,32,17,18,38,39],attribute_ext_vector_typ:21,industri:1,processor:[23,6,21],fooptr:18,routin:[0,1,30,32,8,17,9],effici:[23,29,24,17,5,21,8,9],disableexpand:5,terminolog:1,surviv:17,userdefinedconvers:28,strip:[10,17],wincomplet:24,your:[10,12,14,39,16,28,37,20,7],wide_string_liter:5,loc:5,log:[29,24,17,12],mingw32:33,area:[23,32],aren:[20,39,17,2,5],miphoneo:8,spaceinemptyparenthes:39,start:[10,11,12,13,29,30,24,32,2,8,18,39,26,27,5,37,38,21,25,17],compliant:23,interfac:8,low:[29,30,17],lot:[23,1,15,5,20,17],strictli:[1,23,17,8],machin:[20,6,17,23,5],additionalmemb:5,treat:[23,11,12,1,30,24,18,4,5,21,17],"__builtin_ssubl_overflow":21,jtc1:35,verbatim:5,myattribut:5,bundl:[25,32],heretofor:17,tryannotatetypeorscopetoken:5,land:35,mdd:23,bos_al:39,tr1:7,getentri:5,mice:5,realli:[23,30,9,17,5],categor:[23,17,27,5],pas_middl:39,faster:[28,23,6,12,32],notat:[18,21,32],labelreturn:29,algorithm:[25,6,17,32],nameddecl:5,possibl:[23,39,38,29,14,15,30,24,32,27,17,18,36,5,20,21,8,9],"default":[10,39,14,30,17,18,4,5,25,20,8],existingblock:30,"__c11_atomic_fetch_or":21,numberwithunsignedchar:27,ns_requires_sup:8,printfunctionnam:14,"_alignof":21,block_field_is_block:30,commonli:[39,21,32,27],embed:[23,30,9,24,5],deadlock:1,expect:[23,12,38,15,31,33,17,18,39,26,5,20,21,8,9],artifact:19,creat:[10,39,29,30,18,5,28,20,21,17,9],filt:12,multibyt:23,lk_proto:39,bararg:17,stabl:[23,16,24,19],commonoptionspars:[2,36],retaincount:17,strongli:8,undergon:23,deem:17,decreas:17,file:[10,12,29,14,30,16,28,39,4,37,20,7,17,9],encompass:[24,17],proport:32,operation:8,fill:[1,39,17,2,5],incorrect:[21,8,33,5],again:[23,30,17,2],collid:[24,27],derefer:18,extract:[13,2,29,26,20,21],compel:17,depth:[23,21,17],event:[30,17,5],idiom:5,v7a:20,valid:[23,39,30,24,32,27,17,18,5,37,21,22,8],poly8_t:21,you:[0,27,5,6,8,10,12,13,14,7,16,19,20,21,23,24,25,26,2,28,35,32,33,36,37,38],architectur:[15,21,24,32,35,5,20,6,22,8,9],poor:[23,24,17],libformat:[10,39],"__block_copy_10":30,sequenc:[23,24,32,17,5,21,8,9],symbol:[30,12,9],push:[23,32,5],briefli:[6,17],encount:[23,32,24,17,5],reduc:[23,29,35,24,32,17,5,6,21],bulk:32,unbalanc:17,lookupt:5,directori:[10,14,39,16,2,36,28,20,21,22],woboq_codebrows:37,mask:5,nonliter:8,calle:[26,17,8],mimic:[23,8],mass:[17,27],token:[18,7],potenti:[10,23,1,29,30,32,2,18,27,5,7,17],cpp:[23,12,1,14,39,36,2,13,5,28,9],escap:17,"__unsafe_unretain":17,dst:30,represent:8,all:[10,12,30,17,18,39,8],forget:[20,17],pth:5,illustr:[1,23,32,27,5],spacesincontainerliter:39,pretoken:5,month:21,"__builtin_assume_align":21,scalar:[30,21,17,27,5],code:[10,12,30,17,18,8],syntaxonlyact:[2,36],winx86_64abiinfo:23,abil:[8,23,32,17,5],follow:[1,2,4,5,6,7,8,9,10,11,12,13,15,17,18,21,23,24,27,29,30,32,33,35,38,39],disk:[23,32],ptr:21,cxx_trailing_return:21,unformatted_cod:39,valgrind:[38,12],fullloc:13,dsl:[37,26,2],"__stdc_version__":23,running_with_the_dynamic_tool:38,init:[12,8],spacebeforeparensopt:39,objectatindex:27,"__scanf__":8,queri:[35,24,32,17,26,5,21,8,9],wundef:5,cmake_export_compile_command:[22,36],sound:23,getblockid:5,liter:[30,17,8],straightforward:[6,9,2,5],getattr:5,far:[39,24,2,5,21,17],getsema:5,offlin:[38,12],mpi:8,util:[39,32,17,5,6,8],print:[23,11,12,14,15,24,32,2,5,28,38,21,9],candid:[8,23,24,17,5],mechan:[1,24,32,5,21,17],difficult:[1,23,17,2,38],fall:[23,24,32,8,21,17],veri:[23,1,7,24,32,2,18,5,38,21,17,9],strang:5,condition:[21,8],"__cplusplu":27,functiondecl:[25,31,32,5],list:[10,12,39,17,18,20,8],emul:[23,21],addressof:21,sane:[23,24,17],stderr:[23,15,12,38],plain:[15,8,5],small:[23,31,13,35,21,32,2,5,6,17,9],has_featur:35,numberwithlong:27,dimens:33,trigraph:[23,5],harder:[20,35,9],"__builtin_usub_overflow":21,sync:2,past:[24,17,5],zero:[23,12,29,30,2,18,39,5,38,21,17],pressur:[6,21],design:[8,7,17,12],thread1:15,pass:8,further:[23,1,30,21,32,2,29,36,4,5,26,6,17],hamper:29,deleg:[17,9],avaudiorecord:27,sub:[24,32,27,2,5,20,17],clock:21,diag:5,sum:[20,21],ast:[28,31,16],abl:[23,38,1,32,2,17,33,5,28,20,21,8,9],brief:[0,9],buildxxx:5,delet:[30,17,12],abbrevi:32,cpp11bracedliststyl:39,"_returns_not_retain":21,mutablecopi:[17,8],pointertyp:[32,5],deepli:23,"__uint128_t":31,method:8,unlabel:[29,4],full:[23,1,14,30,21,24,32,8,13,19,5,25,38,6,22,17],hash:[32,2,5],vtabl:23,variat:18,arg:[23,29,14,27,5,8,9],endfunct:28,misspel:9,sophist:[17,33],arminterruptattr:5,behaviour:[20,23],isystem:23,shouldn:[29,24,5],middl:[39,5],omiss:23,trunk:[0,21,7],variad:[18,8,5],strong:[18,30,17],modifi:[23,39,8,1,30,32,17,29,35,5,6,21],cf_unknown_transf:17,valu:8,"__counter__":21,allowshortloopsonasinglelin:39,block_descriptor_1:30,binaryoper:[25,32,2],ahead:[20,5],vec_add:21,armv8:23,through:[30,4,17,8],observ:17,mac:[30,6,24,17,8],prior:[8,1,30,32,17,35],amount:[23,1,24,32,6,17,9],transformyyi:5,action:[13,14,30,36,19,5,21,9],narrow:[26,2],numberwithlonglong:27,v4si:21,lock_return:1,via:[10,18,1,14,15,21,24,8,13,35,30,5,25,20,6,17,9],shorthand:35,intermedi:[38,9],transit:[1,30,24,32,35,5,8],anytim:23,deprec:[8,12,5],thankfulli:2,dfsan:29,decrement:[1,17],establish:[18,32],dangl:18,select:[10,14,9,8,5],"__c11_atomic_fetch_and":21,earliest:17,mylib:[23,24,5],namespaceindentationkind:39,tgsin:8,cfprint:30,regist:[18,17,8],nsuinteg:27,coverag:35,vmm:23,nscomparisonresult:21,mpi_datatype_int:8,taken:[8,23,32,17,5],mpi_send:8,objectivec:39,frontendact:[14,2,36],toggl:36,reachabl:25,dllvm_build_test:2,desir:[10,23,35,2,5,20,9],targetinfo:[23,5],canon:8,hundr:[29,23,5],mozilla:[37,10,39],create_llvm_prof:23,vi2:21,vi3:21,flag:[12,38,30,24,32,33,17,39,5,25,20,7,8,9],vi1:21,uncov:33,vi4:21,vi5:21,webkit:[10,39],toyclangplugin:37,cach:[23,6,24,21],allowshortifstatementsonasinglelin:39,outdent:39,dictat:1,none:[23,39,32,17,5,20,8],suitabl:[1,23,7,5],outlin:29,dev:[23,17,5],histori:17,remain:[23,1,24,2,17,5,21,8],outliv:[18,17],nontriv:17,caveat:[8,24,17,9],learn:[37,26],"__builtin_umul_overflow":21,c_aligna:21,def:[38,12,5],pick:[20,27,8,23,5],explod:21,prompt:23,bogu:[1,5],scan:17,challeng:29,registr:17,share:[12,1,29,7,36,24,32,8,18,19,5,38,6,17,9],accept:[23,29,7,33,17,26,5,21,8,9],minimum:[8,24,17,5],parsabl:23,"_block_byref_assign_copi":30,mmacosx:8,strlen:5,"0x5aead50":25,suboper:17,unlucki:24,huge:[24,5],cours:[20,21,30,17],newlin:[23,39,5],freshli:13,numberwithint:27,"0x173afe0":2,anoth:[10,12,23,1,24,32,2,8,29,4,5,20,21,17,9],qconnectlint:37,comfort:17,pt_guard:1,theletterz:27,snippet:[31,5],"_explicit":21,mvc:5,"_nsconcretestackblock":30,reject:[24,33,27,9],opt:[21,24,5],simpl:[29,14,39,17,20],unabl:8,noncopyable2:23,regener:23,resourc:[1,24,17,8,5],augment:[20,24],referenc:[23,30,24,32,2,18,5,6],algebra:2,variant:[24,23,4,5],reflect:[23,5],okai:[1,8,2,5],codebas:23,mutat:[37,18],associ:[23,1,29,30,24,32,2,13,27,5,21,17,9],sse4:24,circumst:[30,17,5],github:[37,23,35,28,2],dfsan_get_label:[29,4],sse3:20,dragonfli:23,reinject:5,onto:[23,30,39,5],proto:39,children:[2,5],overnight:24,tsan:15,ambigu:[32,8,5],cxx_reference_qualified_funct:21,callback:[26,2,5],cxx_strong_enum:21,block_decl:18,nvidia:20,getcxxconstructornam:5,"__block_invoke_10":30,help:[10,23,29,15,36,24,32,2,4,5,37,20,21,26,17],module_priv:24,wthread:1,soon:[23,17,33],config_macro:24,held:[18,17,8],i386:[6,32,12,9],paper:35,vec2:21,vec1:21,hierarchi:[25,26,17,32],suffer:[6,17],paramet:8,typedef:[23,24,27,18,5,21,17],typest:8,"0x7f7893912ecd":38,strbuf:8,"0x7fff87fb82d0":12,wrl:[35,33],vardecl:[25,31,32,2],nsdictionari:27,late:17,harmless:21,pch:[6,32,5],pend:23,bypass:11,wcdicw:9,fshow:23,pad:35,might:[23,1,39,24,33,8,5,37,20,21,7,17,9],alter:[11,4,17,9],wouldn:2,good:[1,7,2,19,5,25,17,9],"return":[12,8],alignescapednewlinesleft:39,myinclud:21,fstandalon:23,pollut:5,untransl:9,objc_returns_inner_point:17,number:[29,39,17,5,37,8,9],framework:[29,7,4,17,8],subtask:9,pathcompon:27,"__builtin_nan":21,compound:[25,18,30,17,27],complain:24,bigger:[10,12],thread_safety_analysis_mutex_h:1,eventu:[24,4,5],aligna:21,instruct:[23,12,38,15,24,2,5,37,20,21,7,8],mysteri:[25,17],easili:[23,1,24,29,5,37,21,9],"_block_byref_dispose_help":30,compris:32,requires_shared_cap:1,fulli:[23,12,35,33,5,38,21,17,9],intervent:24,d__stdc_format_macro:14,dif:23,truncat:29,initvarnam:2,astmatchfind:2,inplac:10,offset1:23,offset2:23,arm7tdmi:20,getelem:1,hard:[0,23,1,24,2,5,20,22],procedur:[1,17],slowdown:[38,15,12,3],fsplit:8,linkag:[8,5],finish:[26,33,9],connect:[37,30,9,5],indistinguish:5,isbar:5,thing:[23,13,35,5,37,20,21,22,17,9],todo:23,orient:7,exprresult:5,isfrommainfil:2,massiv:17,binaryoperatorstyl:39,publish:30,wire:5,binpackargu:39,ni_non:39,src_label:4,astnod:5,occurr:17,ftl:23,raii:1,constantin:37,advanc:[21,2,36],team:35,suspici:23,effect:[23,24,17,18,5,20,21,8],fdelai:[23,33],reason:[23,12,1,15,24,29,19,5,38,21,17,9],base:[10,39,29,14,30,7,17,18,4,25,5,37,22,8],believ:5,put:[10,39,17],teach:[26,5],cxx_thread_loc:21,asm:[23,21,8],buffer2:8,thrown:18,unreduc:25,"__atomic_consum":21,allowshortcaselabelsonasinglelin:39,overloadedoperatorkind:5,thread:12,"__dfsw_f":4,omit:[12,5,18,20,38,8],objc_precise_lifetim:17,perhap:24,ls_cpp11:39,thread_sanit:21,iff:30,circuit:[29,21],undergo:[17,5],assign:[10,39,29,30,18,17,9],bcpl:17,feed:23,major:[24,32,33,5,21,9],readerunlock:1,obviou:[9,17,5],mylogg:24,feel:[37,35,2],externalsemasourc:32,placehold:21,smaller:[12,17,5],done:[23,2,8,4,5,37,20,6,17,9],least:[28,23,21,39,17],stdlib:[23,11,24],blank:23,"__is_polymorph":21,miss:8,buffer_idx:8,"__is_destruct":21,"__dfsw_memcpi":[29,4],holist:17,cf_audited_transf:17,script:12,num_predef_type_id:32,interact:[24,32,5,28,17,9],modulemap:24,construct:[23,30,32,33,18,35,5,21,17,9],"_block_byref_foo":30,x86v7a:20,natur:[23,6,32,17,5],illeg:5,master:23,reorder:[21,24,17],scheme:[21,7,32],store:[23,13,15,30,32,29,4,5,38,21,17,9],"__include_level__":21,stdout:[10,23],"__is_trivially_construct":21,relationship:17,behind:[1,9,32,5],selector:[32,27,17,5,21,8],cxx_noexcept:21,tabwidth:39,pars:[18,10,14],wextra:23,myclass:[1,26],attract:6,cxx_generalized_initi:21,std:[0,23,13,14,39,36,24,35,5,21,7,17],kind:[37,30,17,8],grew:5,extern_c:24,whenev:[1,39,32,2,5,17],stl:35,i32:29,remov:[23,39,24,27,17,35,5,21,7,8,9],elid:[23,21,17],cleanupandunlock:1,"__block_invoke_1":30,corefound:[21,17],reus:[17,5],"__block_invoke_5":30,block_siz:30,diaggroup:5,wg21:35,usualunaryconvers:5,hasoperatornam:2,penaltyreturntypeonitsownlin:39,argtyp:21,comput:[29,17,18,5,8,9],uncontroversi:17,"_block_byref_voidblock":30,balanceddelimitertrack:5,apvalu:5,"__const__":21,packag:[20,24],matchfind:2,loopconvert:2,consol:23,dedic:32,"null":[23,15,30,32,2,17,27,5,28,7,8],option:[10,12,30,17,18,8],sell:30,imagin:[39,24],unintend:24,ext_vector_typ:21,equival:[23,24,27,17,18,5,21,8],violat:[1,21,24,17,5],"__objc_y":27,stapl:5,undeclar:1,namespac:[28,39,12,5],accessor:[9,17,27,5],subnam:24,useless:24,"__has_trivial_copi":21,exclusive_trylock_funct:1,"0x5aeacb0":25,hasloopinit:2,brace:[23,35,17,5,21,39],coff:[23,35],"__c11_atomic_thread_f":21,distribut:[20,30,24,33,23],exec:[23,8],previou:[15,36,24,2,35,5,28,17],reach:[23,14,32,2,25,21,17],took:32,most:[23,38,1,29,39,24,32,2,8,13,26,33,5,25,20,21,7,17,9],whether:[1,2,4,5,8,9,23,12,13,15,17,18,21,22,24,27,29,30,32,36,38,39],plan:[0,15,24,3,19,6,35],maco:12,alpha:10,sbpo_alwai:39,splat:21,cxxconstructornam:5,addr:[29,21],code16gcc:23,frontendpluginregistri:14,clear:[1,21,24,17,5],cover:[23,24,33,4,5,20,17],destruct:[17,5],roughli:[6,9,5],"__int128":31,d__stdc_constant_macro:[14,36],getter:[1,30,21,17],supertyp:17,abnorm:17,clean:5,newvalu:27,"0x7fff87fb82c8":12,weigh:17,usual:[23,12,38,1,14,15,30,24,27,7,18,33,5,25,20,21,22,17,9],microsoft:[35,24,32,33,5,21],visibl:[1,24,32,5],ctag:37,think:[1,21,5],"_z5tgsind":8,"_z5tgsine":8,"_z5tgsinf":8,carefulli:[7,17,5],"0x173b008":2,xcode:19,getlocstart:13,python:[37,10,22,19],ns_returns_retain:[21,17,8],particularli:[23,24,32,33,20,8,9],fine:[23,21,17,5],find:[23,13,39,36,24,32,2,17,26,33,5,28,20,7,8],penaltybreakbeforefirstcallparamet:39,penalti:[39,17],access:[8,17,12],coerc:27,processinfo:27,pretti:[28,20,33,5],offsetn:23,writer:1,solut:[22,17,2,5],technic:[23,24,17],knowledg:[26,24,17,2,5],c89:23,darwin:[20,24,9],woption:23,hit:28,unus:29,caus:[23,12,1,29,15,30,24,8,18,4,5,38,21,17],addobject:27,parenexpr:25,"__real__":21,express:8,arm:[8,20,12,5],translationunitdecl:[25,31,32,5],nativ:[23,12,29,15,4,38,20],simplist:21,fobjc:17,stdcall:8,silli:5,pas_right:39,cexpr:28,lit_test:15,elf:[20,23],verifydiagnosticconsum:5,cxx_aggregate_nsdmi:21,lk_none:39,keyword:[23,35,39,21,27,17,33,5,6,8],d__stdc_limit_macro:[14,36],cxx_variable_templ:21,synthes:[30,17,5],"0x5aead88":25,captured_i:30,common:[29,39,2,17,5,25,20,21,7,8],assert_shared_lock:1,fielddecl:5,seamlessli:17,wrote:[37,5],set:[1,27,5,7,8,9,10,12,13,15,17,18,19,20,21,23,24,2,28,29,30,32,35,36,37,38,39],msan_new_delet:38,dump:[10,31,13,39,16,2,25,26,5,28,9],creator:26,cleverli:2,startup:35,decompos:9,mutabl:[17,27,5],"__c11_":21,"_size_t":24,helpmessag:[2,36],signifi:17,objcblockindentwidth:39,float4:21,close:[39,26,5,25,21,9],ret_label:4,whatsoev:17,sei:1,seh:33,strchr:17,gnu11:[23,21],horrif:24,inconveni:17,nscompar:21,misalign:23,speed:[23,6,35],someth:[23,30,2,26,5,37,20,21,17,9],stdatom:[21,35],old_valu:21,won:[20,35,24,5],nontrivi:17,"__builtin_ssubll_overflow":21,"__block_invoke_4":30,altern:[23,1,16,24,36,6,22,21],signatur:[23,30,8,4,21,17],syntact:[19,10,28,17,8],numer:[32,27,5],induc:5,sole:[17,5],"0x7f78938b5c25":38,sigil:17,disallow:[23,17],operationmod:21,lowercas:17,imp:1,distinguish:[23,30,24,17,5],shortfunctionstyl:39,both:[1,2,3,5,6,8,9,10,12,7,17,18,21,23,24,26,27,30,32,33,25,39],last:[23,32,2,18,5,28,20,21,17,9],delimit:[39,17,5],alon:[7,5,3],context:8,"0x5aeacf0":25,whole:[25,35,24,8],pdb:33,load:[10,23,29,14,15,24,32,2,19,5,38,21,17,9],mutexunlock:1,simpli:[30,12,1,15,24,2,27,5,38,21,7,17,9],undefin:[23,29,30,24,21,17],point:[10,12,38,29,36,24,2,17,27,5,37,20,21,22,8],instanti:[21,17,5],pcm:24,unrealist:24,header:[29,14,4,17,20],alloca:29,uniniti:[23,30,8,38],param:30,linux:[23,12,29,15,3,4,38,20,22,39],"__super":35,yourattr:5,throughout:[23,24,32],backend:[23,21,8],swi:8,faithfulli:17,becom:[29,39,18,4,5,17],"0x7ff3a302a980":31,"_atom":21,static_cast:[21,7],pchintern:24,due:[23,15,24,32,18,38,21,22,17],empti:[23,11,39,24,27,18,5],createastdump:28,hascustompars:5,whom:30,spaceaftercstylecast:39,ls_cpp03:39,stdint:21,wambigu:23,silenc:23,"141592654f":27,strategi:[26,6,24],bazarg:17,handoff:1,fire:5,imag:[33,9],shuffl:21,"__builtin_choose_expr":[21,5],great:[20,23,5],coordin:17,valuedecl:2,understand:[23,1,39,32,2,26,5,20,17,9],func:[7,5],demand:[23,5],repetit:5,cxxdestructornam:5,"__builtin_strlen":5,imap:10,weveryth:23,c_atom:21,assertheld:1,look:[23,13,14,36,24,2,26,5,25,20,21,17],nsurl:27,ordinal0:5,typecheck:17,tip:36,histor:[1,33,17,27,5],oldvalu:17,durat:8,formatt:5,autowrit:28,"while":[23,33,1,39,31,24,32,2,17,27,5,6,22,21],opeat:21,match:[18,5,20,21,8,9],abov:[23,1,29,30,21,24,32,27,8,13,5,38,6,17],error:[12,30,31,17,18,37,20,8,9],fun:[38,11,15,4,12],win32:[20,8],findclassdecl:13,cleanup:[1,17,5],astdumpfilt:28,pack:[23,30,39,5],real:[23,12,15,36,24,2,5,38,21,17,9],malloc:[29,11,4,17,5],ppc64le:35,readi:[28,23],mystic:5,key1:39,leaksanit:12,activ:[1,15,24,33,18,19,5,7,35],binutil:[20,33],itself:[23,38,1,30,21,24,32,8,26,5,20,6,7,17,9],shell_error:28,vector4doubl:21,"__typeof__":23,around:[23,7,31,24,18,5,20,21,17],bankaccount:1,decor:21,do_somthing_completely_differ:39,"__c11_atomic_exchang":21,minim:[23,15,24,32,33,3],noncopy:23,belong:[24,4,17,8],myconst:27,argonn:35,"_block_byref_obj_keep":30,clangattremitt:5,"__builtin_addcl":21,wall:[28,23],octal:23,"__builtin_addcb":21,multicor:6,unsafeincr:1,"__block_literal_10":30,testm:18,fmodul:24,x86:[20,8,5],nsmakerang:21,optim:[12,8],unsequenc:17,getasidentifierinfo:5,wherea:[29,20,21,17],domin:[29,6],inflat:17,librai:5,unintention:17,moment:[1,23],temporari:[23,17,9],user:[31,12,29,14,7,16,8,25,4,5,37,22,17,9],createreplac:5,wfoo:23,provabl:17,stack:[23,11,12,15,21,24,32,33,8,18,30,5,38,6,17],built:[10,23,35,36,24,32,2,19,5,38,21,9],"__builtin_va_arg_pack_len":23,travers:[13,25,32,2,5],task:[26,9],lib:[23,12,14,15,36,24,5,28,20],discourag:[1,17],older:[18,32],nsprocessinfo:27,bad_arrai:12,elem:29,honor:17,person:[23,30],cheer:17,appertain:[21,5],withdraw:1,organization:7,propos:[29,35,24],explan:[23,2],maybebindtotemporari:5,cout:7,"__block_copy_foo":30,ldd:23,multitud:25,obscur:23,constructorinitializerindentwidth:39,collabor:1,v6m:20,nonbitfield:5,"__need_size_t":24,world:[23,38,30,16,24,32,33,18,5,20,17],joinedarg:9,elect:17,question:20,objectforkei:27,forloop:2,cut:25,"0x173afc8":2,also:[0,1,2,3,4,5,6,7,8,9,23,14,15,17,18,20,21,22,24,25,27,28,30,32,33,35,36,37,38,39],immintrin:23,scenario:17,tok:5,restructuredtext:5,shortcut:[10,24],forbid:[17,27],"__strong":17,notifi:[32,5],str:23,appli:[10,35,23,39,36,24,2,17,4,27,5,21,7,8],input:[10,23,29,39,36,24,2,5,21,7,9],subsequ:[21,9,17,5],approxim:[1,24,2],finder:2,callexpr:32,bin:[23,12,13,39,31,2,36,28,20,22],gnueabihf:20,dr1170:21,vendor:[20,21,24,5],obsolet:8,bif:1,getcxxconversionfunctionnam:5,"0x5aead68":25,nscopi:27,"0b10010":21,spacesincstylecastparenthes:39,comparisonopt:21,resid:[18,6,7,24,32],textdiagnosticprint:5,characterist:5,infil:13,snowleopard:30,needsclean:5,ivar:17,success:[1,8,9],linemark:23,interven:17,starequ:5,signal:[37,17],vcvars32:23,resolv:[23,13,8,5,6,17],operatorcallexpr:2,collect:[23,30,24,27,17,18,19,5,37,8],wsystem:23,"__gnu_inline__":23,popular:23,admittedli:17,objcclass:5,cxx_attribut:21,myobject:1,often:[23,12,1,24,33,29,26,5,20,21,22,17],dst_vec_typ:21,some:[12,29,14,7,17,37,20,8,9],back:[23,30,24,17,5,21,8],lipo:9,"__c11_atomic_fetch_sub":21,"__wchar_t":21,unspecifi:[18,17,23,5],sampl:36,mirror:[23,2],sn4rkf:9,densemap:5,sizeof:[18,21,4,30,5],surpris:17,om_invalid:21,scale:29,culprit:2,glibc:[23,4,5],shall:[29,30,24,17,8],per:[23,39,13,15,24,32,29,5,21,8],contrast:[6,17],block_is_glob:30,larg:[23,29,15,24,32,33,3,35,5,38,17,9],"0x60":27,slash:10,transformxxx:5,prof:23,bcanalyz:32,prod:21,reproduc:23,warn_attribute_wrong_decl_typ:5,maxim:5,"__dllexport__":21,run:[18,10,12,8],nitti:19,disableformat:39,lose:[7,17],viabl:[23,8],"__c11_atomic_fetch_xor":21,step:[12,28,26,5,37,22,17,9],ispointertyp:5,from:[12,8],getnextcontext:5,shorten:17,impos:17,"0x00000000a3a4":15,classref:23,idx:27,constraint:[1,17,8],usetabstyl:39,maxlen:8,idl:23,modal:5,"32bit":23,arraywithobject:27,prologu:[23,8],gamma:[23,5],filemanag:5,string1rang:21,primarili:[7,24,32,17,5,8],foper:23,digraph:23,use_lock_style_thread_safety_attribut:1,within:[17,8],newastconsum:28,bsd:23,contributor:[37,35],chang:[10,29,39,17,18,4,20,7,8,9],qobject:37,unpleasantli:17,robust:[37,24],gcc_version:23,"0x00000000a360":15,"__typeof":17,few:[23,7,24,32,2,33,5,8,9],errno:24,index2:21,fast:12,custom:[10,11,23,39,36,24,2,4,5,17],security_critical_appl:21,bug:[23,12,29,15,33,4,35,38,17],"0x7f7ddab8c210":12,arithmet:[29,17],charg:30,suit:[39,15,12,33],forward:[23,30,32,21,8,9],entir:[7,24,32,17,5,8,9],createastdeclnodelist:28,bs_gnu:39,properli:[23,5],vprintf:8,lint:19,wno:23,int8_t:21,navig:37,pwd:28,visitcxxrecorddecl:13,link:[12,3,28,20,21,8,9],translat:[12,29,30,17,4,8],newer:32,delta:23,"__dsb":21,line:[10,31,12,14,39,16,2,8,25,36,33,5,28,38,21,7,17,9],mitig:[6,21,9],fortytwolonglong:27,sdk:23,libclang:[37,22,5],concaten:[21,5],utf:[27,5],comp_dtor:30,nonassign:39,confusingli:35,"0x5aeac10":25,caller:[1,17,8],familar:25,instantan:17,"__builtin_ssub_overflow":21,compilerinst:[13,14],err_typecheck_invalid_operand:5,highlight:[23,32,5],similar:[10,23,1,39,21,24,32,33,8,18,36,5,38,6,7,17],workflow:10,superclass:[21,17],constant:[29,7,17,8],curs:28,metal:20,"__clang_version__":21,favoritecolor:27,command:[12,14,39,16,2,36,7,5,28,21,22,8,9],doesn:[23,1,39,24,2,17,5,28,20,8,9],repres:[23,30,21,32,2,18,26,27,5,6,17,9],"char":[23,12,13,29,30,36,2,18,27,5,38,21,8],incomplet:[23,21,17],int_max:27,"__vectorcal":35,home:[28,22],objc_bool:27,"__builtin_va_arg_pack":23,ni_al:39,unifi:10,cmake:[20,12],c_thread_loc:21,"__block_descriptor_10":30,titl:23,sequenti:[29,21,22],"__format__":8,nan:5,invalid:[23,12,31,33,5,25,17],objczeroargselector:5,bracket:[23,21,39,5],feature_nam:21,librari:[10,12,14,7,17,8],peopl:[23,2,28,5,37,20],ellipsi:8,particular:[30,11,12,1,15,21,24,32,8,29,4,5,38,6,17,9],deseri:[6,32],linti:37,llvm:[10,12,29,39,31,37,20,7,17,9],actual:[23,1,29,30,21,24,32,8,18,5,25,6,22,17,9],mismatch:[29,17,8],cxx_deleted_funct:21,fansi:23,totyp:21,propag:[4,17,8],meaning:[8,23,15,17,9],libtool:[31,7,22,26],ctype:24,formal:[1,17],enhanc:15,svn:[0,7,2,10],infrequ:23,lead:[23,1,15,24,32,27,18,5,6,17],ternari:[39,5],vice:[1,18,29,17,32],ns_consum:[21,17],i16:29,"199901l":23,needstolock:1,discrimin:23,src_vec:21,dot:[23,24],sbpo_nev:39,captured_obj:30,fresh:24,n_label:4,hello:[30,16,32,27,18,33,5],prototyp:[30,21,8],typedeftyp:5,unevalu:[8,5],fooneg:1,edg:[23,5],undefinit:24,definit:[23,35,1,39,21,24,32,2,8,18,26,27,5,6,17,9],strex:21,parsearg:14,addmatch:2,ut_nev:39,type_tag_idx:8,vector4short:21,compact:32,privat:[21,17,5],lifetim:8,secur:[1,29,21],sensit:[29,5],nsstring:[21,8,27],elsewher:17,send:[37,23,21,17,27],"__size_type__":24,vptr:23,lower:[23,6,32,17,5],"__builtin_arm_stlex":21,outgo:5,attr_mpi_pwt:8,aris:[30,17],fatal:[23,16,5],"__atomic_releas":21,sent:[18,17],mpi_double_int:8,unzip:20,"0x170fa80":2,vla:23,nsusernam:27,account:[17,32],"__is_interface_class":21,mous:5,typeattr:5,implicitli:[23,29,24,27,18,5,21,22,17],cxx_constexpr:21,relev:[13,20,21,5],"__builtin_usubll_overflow":21,tri:[23,1,35,5,37,17,9],span:39,magic:[20,11],"__stdc__":32,complic:[9,5],cxx_override_control:21,"try":[23,1,39,2,18,26,5,28,7,17,9],nsfoo:17,race:[23,1,15,8,18,17],currentlocal:21,appar:17,initializer_list:21,freed:[17,12],nsmutablearrai:27,pleas:[23,14,35,32,27,8,4,5,37,6,21],impli:[30,24,32,2,17,9],cap:23,fortun:33,dest_label:4,odr:8,cfe:17,uniqu:[24,32,27,2,5,8,9],bad_foo:11,voidarg:18,download:[10,35,2,20],"__int128_t":31,targetspecificattr:5,click:5,append:[4,27],compat:[39,17,8],index:[23,34,24,32,2,25,27,5,37,21,9],"__extension__":5,compar:[2,8,27,5,21,6,9],captured_voidblock:30,resembl:[25,26],dwarfstd:23,keepemptylinesatthestartofblock:39,lk_java:39,autocleanup:1,experiment:[39,12,8],"__builtin_appli":23,objc_subscript:[21,27],deduc:[21,7,17],whatev:[23,9,32,5],impact:[23,24,33,5],"enum":[21,30,5],setobject:27,chose:17,despit:[18,6,8],commentpragma:39,cxx_explicit_convers:21,closur:21,v7m:20,sinl:8,intercept:22,let:[10,23,13,14,36,2,25,5,28,17],sink:29,ubuntu:[38,15,12],sinf:8,latent:17,safer:[20,17,27],sine:8,implicit:[17,5],cfgblock:5,remark:[23,17,5],unsiz:21,convers:8,checkplaceholderexpr:5,broken:[17,9],libc:[23,15,21,38],cxx_local_type_template_arg:21,larger:[25,32],later:[23,24,32,2,17,26,5,28,20,8],converg:5,cert:1,ifstmt:[28,5],formatted_code_again:39,earli:[29,6],honeypot:8,cxxbasespecifi:25,epilogu:8,ccmake:[28,2,36],chanc:[17,2],fake:1,control:8,blerg:20,isderivedfrom:26,nearest:5,newbi:23,win:[23,17],app:33,functioncal:30,foundat:[18,17,8],declrefexpr:[25,2],forindent:39,dyn_cast:5,"boolean":[1,21,8,27,5],"__is_nothrow_destruct":21,immut:[27,5],llvm_build:2,"__block_dispose_foo":30,redo:5,my_pair:8,"0x00000000a3b4":15,functionprototyp:32,zip:20,commun:[17,5],doubl:[23,12,1,27,8,21,17],upgrad:5,"throw":[7,17,33],websit:23,objc_boxed_express:27,doubt:19,usr:[23,12,30,24,2,28,22],imprecis:17,stage:17,"0x7f7893901cbd":38,remaind:17,sort:[21,7,17,5],insertvalu:29,src:12,cf_consum:[21,17],factor:[38,6,5],appropo:30,undefinedbehaviorsanit:23,dxr:37,trail:39,arg_idx:8,bufferptr:5,piovertwo:27,truthfulli:39,focu:[7,5],expect_tru:36,dwarf:[23,35,33],dcmake_c_compil:28,retriev:[29,21,26,5],mgener:23,erasur:23,scalabl:[6,24],nsstringcompareopt:21,annoi:17,column:[13,23,39,32,5],tag:[1,37,21,4,8],obvious:[17,5],drill:13,meet:[17,5],my_int_pair:8,diagnosticsengin:37,sbpo_controlstat:39,malform:27,process:[23,31,12,29,14,15,21,24,36,26,7,5,28,6,22,17,9],optioncategori:[2,36],block_has_stret:30,sudo:[28,2],high:17,bos_non:39,exclude_cap:1,qunus:23,tab:[10,39,23],msvc:[21,8],onlin:[25,12],recordtofil:27,astmatchersmacro:26,cansyntaxcheckcod:36,"0x7f7ddab8c084":12,"0x7f7ddab8c080":12,basic_str:5,delai:[1,23,24,17,33],gcc:[18,30,8,20],uncomput:5,gch:23,"__thread":8,acycl:32,"__bridge_transf":17,infeas:[24,8],cxx_default_function_template_arg:21,"0x000000010000":29,instead:[10,23,1,39,21,24,27,8,29,4,35,5,28,6,25,17,9],sin:8,inher:[18,22,24,17,5],stand:[10,7,32,3,26,5],everywher:24,msdn:8,overridden:[23,21,17,8],bad_:11,watch:5,powerpc64:23,irel:22,hascondit:2,cxx_defaulted_funct:21,"__has_trivial_destructor":21,hasiniti:2,physic:1,alloc:12,essenti:[8,6,17,5],"0x5aeac90":25,"__c11_atomic_load":21,annot_typenam:5,bind:[18,10,22,9],counter:[1,23,21,32,5],correspond:[23,1,29,39,24,32,8,18,26,5,21,17,9],element:[30,27,17,5,21,8],issu:[30,8],numberwithdoubl:27,unaccept:17,freebsd:[23,12],subtyp:17,"__builtin_subcb":21,fallback:39,furnish:30,annot_cxxscop:5,houston:35,breakbeforebinaryoper:39,adjust:[8,17,2,5],wformat:[23,21,8],vmg:23,solv:37,move:[30,16,17,18,5,8],vmb:23,j_label:4,fcaret:23,wmultichar:23,comma:[23,39,17,27,8],liabl:30,vmv:23,interceptor:38,callabl:[29,26],falsenumb:27,bunch:[36,5],perfect:[38,12],outer:[26,5],disambigu:27,chosen:[20,8,2],cxx_decltype_incomplete_return_typ:21,html:[0,35,5],gfull:9,infrastructur:[35,19,5,28,7,9],addr2lin:[23,15],therefor:[15,24,32,27,17,5,38,8],higher:[23,15,21,12,38],crash:17,greater:[23,21,7],numberwithbool:27,ext_:5,auto:[18,30,7,39,5],overal:[6,32,17,9],innermost:17,bat:23,ctor:35,mention:[1,6,32,30,5],facilit:[37,21,17],extwarn:5,front:[23,39,32,5],fomit:9,"__clang__":[1,21],unregist:17,fortytwo:27,amd1:23,cocoa:[21,17,27,32],somewher:[23,5],dsymutil:12,faltivec:21,anyth:[1,23,15,24,5],edit:[28,10,32],new_stat:8,slide:25,fuzz:33,mode:[10,35,36,24,2,17,7,5,25,38,21,3,8],"0x173b060":2,findnamedclassvisitor:13,upward:32,"201112l":23,unwind:17,aresameexpr:2,dcmake_export_compile_command:[28,36],isvector:5,"0x7f7893912f0b":38,shared_trylock_funct:1,macosx:8,isatstartoflin:5,astmatch:2,"static":[12,29,14,30,17,18,5,37,8],our:[13,35,36,24,2,25,33,5,37,8],differ:[0,1,27,5,7,8,9,10,11,12,13,14,15,17,19,20,21,22,24,26,2,28,30,32,33,35,36,25,38,39],unique_ptr:[1,13,7,5],special:[12,8],out:[12,8],variabl:12,rex:5,getgooglestyl:0,nsunrel:21,crc:23,influenc:[23,17],"0x173afa8":2,ret:[29,21],categori:[11,12,7,36,32,2,4,5,37,17],"__timestamp__":21,stroustrup:39,scoped_lock:1,rel:[23,11,16,24,32,33,17,36,6,22,8,21],hardwar:[20,21,8,23],plural:5,reg:23,red:[21,27,5],statist:32,proviso:17,getprimarycontext:5,"__dfsan_union":29,manipul:[9,5],transfer:17,"__imag__":21,powerpc:[6,9,35,5],commonhelp:[2,36],getastcontext:13,dictionari:21,cxx_unicode_liter:21,releas:[30,17,8],cf_returns_not_retain:[21,17],index1:21,afterward:[2,36],indent:[23,39],getstmta:2,badstructnam:12,spill:29,guarante:[23,1,16,24,27,8,21,17],unnam:5,lexer:7,getderiv:5,ioctl:8,keep:[39,32,5,37,17,9],length:[10,21,39,23,5],enforc:[1,23,17,8],outsid:[23,1,39,24,27,19,5,21,17],alwaysbreakafterdefinitionreturntyp:39,nsforcedorderingsearch:21,retain:8,successor:5,objectpoint:30,blockb:30,softwar:[1,30,24,3,37,20],blocka:30,"__block_copy_4":30,"__block_copy_5":30,qualiti:[23,8,9],q0btox:9,echo:[28,2],date:[35,21,32,27],exclusive_locks_requir:1,check_initialization_ord:12,stringargu:5,isfoo:5,"__builtin_uaddl_overflow":21,owner:17,intent:[8,35,17,5],"_value_":[21,35],getsourcerang:5,getnodea:2,gmarpon:37,commandlin:[2,36],type_trait:[21,24],at_interrupt:5,unknown:[24,20,4,8,23],scanf:8,byref_dispos:30,mkdir:[28,2],system:[29,14,30,16,17,4,20,8,9],block_byref_cal:30,attach:[23,1,39,2,29,5,8],cf_returns_retain:[21,17],appl:[23,30,32,27,17,18,20,21,8,9],annotationvalu:5,termin:[23,30,5,27,36,17],lockabl:1,alexfh:28,"final":[23,12,38,1,24,2,8,4,33,5,20,21,17,9],prone:17,tidbit:21,shell:[11,22,2],ldrex:21,branch:[23,8,5],block_copi:[18,21,30,17],block_has_ctor:30,getsourcemanag:2,rst:[30,5],exactli:[23,39,24,2,18,5,21,7,17,9],haven:[23,17],dosomethingtwic:1,meanin:[38,11],"0x40":27,interleave_count:21,prune:24,counteract:17,rpass:[23,21],block_foo:18,see:[1,2,5,6,8,9,23,11,12,14,7,16,17,21,22,24,25,26,27,30,31,32,33,35,36,37,38,39],structur:[30,33,39,26,5,4,17,9],cfarrayref:30,"__builtin_arm_ldaex":21,hastyp:2,sens:[23,2,5,20,21,17],seriou:[17,32],dubiou:5,bare:20,bs_linux:39,sourcebuff:5,exhibit:24,"function":12,constructana:21,stdin:10,ijk_label:4,mpi_datatype_double_int:8,getllvmstyl:0,fprofil:23,clearli:[35,17,5],corrupt:[17,8],continuationindentwidth:39,lightli:17,reserv:[30,12,29,15,24,18,38,21,17],disjoint:32,altivec:[21,24],lazili:[9,32,5],unqualifi:[23,21,17],rprichard:37,mio:8,min:[8,27],"switch":[23,30,8,39,35,5,6,21],accuraci:[23,21,5],neon_polyvector_typ:21,builtin:[25,16,17],analog:17,which:[1,27,4,5,6,8,9,10,11,12,13,14,7,17,19,20,21,22,23,24,25,26,2,28,29,30,31,32,33,35,36,37,39],mip:20,detector:[23,38,12,3],"0x5aeacc8":25,rvalu:[17,5],singl:[10,27,23,1,39,21,24,32,2,8,26,19,5,28,20,6,22,17,9],uppercas:17,converttyp:5,dosomeio:1,"0x5aeab50":25,allow:[1,2,5,8,9,23,11,13,7,17,18,19,21,24,26,29,30,32,33,35,36,25,39],awar:[20,17,5],who:[23,7,24,2,8,25,21,17],discov:[24,2],penaltybreakfirstlessless:39,fragment:5,fn4:23,rigor:26,typenam:[23,21,8,33,5],deploi:[1,8],astprint:28,mutexlock:1,pyf:10,afresh:17,urg:8,placement:[23,21,8],attributelist:5,consist:[18,30,39,17,12],dens:5,depositimpl:1,stronger:1,face:[21,17,5],pipe:[9,5],do_something_els:[21,39],determin:[23,1,39,32,2,5,21,8,9],ftrapv:23,occasion:5,constrain:[17,8],parsingpreprocessordirect:5,block_field_:30,fact:[18,17,23,5],dllexport:[23,21,33],unforgiv:[17,5],fdiagnost:23,text:[10,23,36,24,2,5,8],compile_command:[28,22,36],verbos:[23,7,24],elif:21,"__bridge_retain":17,bring:[17,2,5],objc:[23,30,24,27,39,35,5,17],elig:2,getcxxliteralidentifi:5,fortytwounsign:27,texa:35,anywai:[17,32],setter:[30,21,17],textual:[23,24,5],locat:[10,12,23,13,39,16,24,32,2,18,36,26,27,5,28,20,17,9],extrahelp:[2,36],gvsnb:9,buf:8,preclud:17,shared_locks_requir:1,eat:5,ignoringparenimpcast:2,optionspars:[2,36],smallest:10,suppos:[30,24,8,2],nonumb:27,"__is_union":21,inhabit:32,local:[10,12,30,17,18,5,28,8],frontendactionfactori:36,hope:9,codegenfunct:5,meant:[23,24,32,17,5,8],contribut:[25,15,24],cxx_decltype_auto:21,pull:24,cxx_access_control_sfina:21,convert:[23,30,27,2,5,21,7,17],disagre:5,memcpi:[29,4],bear:[21,22],autom:[19,21,17,5],penaltybreakcom:39,objc_dictionary_liter:[21,27],unaryoper:2,increas:[17,12],lucki:24,portion:[30,17,2],custom_error:23,enabl:[10,35,33,12,1,15,24,32,2,8,18,27,5,25,38,21,17],organ:17,approach:[37,29,9],lookup_result:5,parsemicrosoftdeclspec:5,"__is_liter":21,integr:[8,17,12],partit:27,contain:[10,12,29,14,30,24,2,8,18,39,4,7,5,20,21,22,17,9],"__builtin_addc":21,"__c11_atomic_stor":21,www:35,conform:[29,23,4,33],sunk:8,badfunct:11,unimport:[23,24],cmake_cxx_compil:2,"__builtin_uaddll_overflow":21,cxx_decltyp:21,elis:23,diagnosticgroup:5,matchcallback:2,itool:[14,36],vectorize_width:21,bptr:17,target_link_librari:2,"_perform":17,decls_end:5,bindabl:26,"__builtin_sadd_overflow":21,danger:17,polymorph:[21,26],entranc:5,"0x7f7893912e06":38,allowshortblocksonasinglelin:39,woboq:37,correctli:[23,35,5,24,36,9],make_uniqu:7,mainli:6,"_ivar":17,dll:23,realign:8,getcanonicaldecl:2,unusu:5,entrant:1,om_abortonerror:21,crude:24,progress:[12,33,4,5,6,17],neither:[23,27,2,5,21,17],entiti:[10,11,12,15,24,32,2,5,38,8],complement:7,tent:[35,5],javascript:39,predefin:[39,32,27],forkeyedsubscript:27,kei:[10,1,27,18,21,22,8,9],amen:21,bad_init_glob:12,parseabl:23,newfrontendactionfactori:[2,36],isol:[24,32],job:[9,5],getexit:5,cmonster:37,foo_dtor:30,outfit:2,swift:20,endl:7,monitor:[29,21],myfoobar:[11,12],doxygen:[25,23],instant:18,extens:8,equal:[23,11,29,2,33,5,21,17],special_sourc:11,etc:[23,1,30,24,32,8,39,35,5,37,20,21,7,17,9],instanc:[23,12,29,24,32,27,18,5,28,20,21,17,9],grain:[23,21,5],committe:[21,24,35],freeli:17,afraid:7,comment:[39,24,32,33,35,5,7,8],objc_arc_weak:21,anti:24,unfold:5,cxx:[1,28],guidelin:23,use_lbr:23,chmod:28,subsetsubject:5,vend:24,nmore:[2,36],defaultlvalueconvers:5,m16:23,respect:[23,11,39,30,24,32,27,17,18,5,21,8],chromium:[10,39],quit:[23,24,17],objc_read_weak:30,"__weak":17,divid:[23,9],yaml:39,addition:[12,30,24,5,21,17],"__underlying_typ":21,runtooloncod:[13,36],inprocess:9,separatearg:9,compon:[21,9,7,17,5],json:28,unknowntyp:33,besid:2,hassingledecl:2,certain:[12,8],popul:[30,32,9],partial:[23,21,8],parmvardecl:25,bit:[23,12,29,15,21,24,32,35,30,5,6,17,9],do_something_completely_differ:39,upcom:35,presenc:[1,30,24,5,21,17],substat:32,blocklanguagespec:21,deliber:[1,37],"_block_byref_releas":30,"__always_inline__":21,togeth:[10,17,12],languagekind:39,scroll:2,stringwithutf8str:27,llvm_link_compon:2,replic:21,multi:[1,6,32,5],hasrh:2,dataflow:23,transferfrom:1,align:[39,17,8],cldoc:37,"__builtin_arm_ldrex":21,cursor:[10,19],defin:[12,29,14,39,17,18,4,20,8,9],intro:23,suffix:[39,9,27,5],getqualifiednameasstr:13,backtrack:5,howev:[23,1,30,21,24,32,33,8,5,20,6,7,17,9],nscol:27,mandatori:17,avx:[23,24],engag:17,helper:17,leftmost:17,almost:[24,17,5,20,6,8],virt:21,site:[10,35,23,5],path_discrimin:23,dfsan_add_label:29,dag:32,motiv:[23,6,7,8,9],dual:1,lightweight:9,incom:5,revis:[30,17],autofdo:23,bs_attach:39,uniti:38,"0x7ff3a302a8d0":31,welcom:15,"0x403c53":12,parti:[23,24,32],getc:24,satisfi:[24,4,9],intra:1,member:[39,30,17,18,5,7,8],handl:[14,2,5,20,17,9],cope:[28,5],avaudioqualityhigh:27,smarter:35,ifndef:[1,21,24,5],android:[20,12],inc:30,fabi:20,"0x7f45944b418a":38,block_literal_express:18,"0x173b048":2,tighten:17,http:[0,12,23,15,2,3,35,37,38,7,39],denot:[39,27],int8x8_t:21,expans:[23,22,5],upon:[23,30,24,27,8,18,17],struct:[12,8],dai:24,declnod:5,etaoin:37,pthread_creat:15,dealloc:8,allowallparametersofdeclarationonnextlin:39,php:23,expand:[23,2,17,27,5,28,21,8],googl:[0,12,10,1,15,23,3,38,39],objc_protocol_qualifier_mangl:21,"0x7ff3a302a830":31,off:[8,39,17,5],allof:26,sfs_all:39,well:[0,35,33,10,30,24,23,27,32,18,19,5,20,6,7,17,9],is_convertible_to:21,dfsan_set_label:[29,4],exampl:[18,30,17,8],handletranslationunit:13,achiev:[38,11,5],english:5,interconvers:17,talk:5,sibl:[38,12],latest:[10,35,14],unari:[18,21,39,2,5],lossi:23,statementmatch:2,ni_inn:39,camel:21,glut:17,"__atomic_acquir":21,obtain:30,mistaken:23,objc_fixed_enum:21,"0x173af50":2,actonbinop:5,fooarg:17,simultan:[1,17],lex:[0,6,24,5],"42ll":27,web:[37,23,35],getsourcepathlist:[2,36],swig:1,clangast:2,onward:23,makefil:[23,35,36,28,20,22],speedup:11,discuss:[0,30,24,5,37,17],integerliter:[25,31,32,2],add:[10,12,14,30,16,8,28,39,37,20,7,17,9],divis:23,handiwork:2,init_arrai:35,foobar:23,collis:[24,17],"0x00000000c790":15,nonnul:23,smart:1,boom:12,ctrl:10,rememb:5,mpi_datatyp:8,agnost:[1,17],varieti:[10,35,24,23],tc2:23,tc3:23,tc1:23,assert:[1,24,21,4],were:[23,1,39,24,32,27,8,18,26,35,5,37,38,17,9],five:[9,17,5],know:[23,1,2,33,5,37,20,21,17,9],dianost:5,use_multipli:21,press:[10,2],incrementvarnam:2,loader:23,recurs:[25,23,24,2,5],cxx_:21,desc:29,redund:[23,24,17],insert:[10,23,29,39,27,17,26,5,21,8],fpars:23,crisp:37,backbon:26,lost:26,startoflin:5,push_back:36,necessari:[23,1,30,24,2,8,29,4,33,5,37,17,9],have:[1,27,4,5,8,9,23,12,14,17,19,20,21,22,24,25,2,28,29,30,32,33,35,36,37,39],martin:[28,2],isdependenttyp:5,profraw:23,"__printf__":8,soft:20,page:[23,34,35,8,5,37,6,21],amd:35,unreach:23,revers:[21,32],prepend:29,substanti:30,captur:[18,17,5],suppli:[30,15,24,18,38,39],unsafe_unretain:17,dynamorio:38,i64:29,bos_nonassign:39,"__dfsan_retval_tl":29,"_msc_ver":23,xmmintrin:21,flush:21,proper:[23,21,5],vsi:21,"__dfsan_arg_tl":29,dfsan_has_label_with_desc:29,registri:14,tmp:9,incvar:2,guid:[0,39,2,37,20,21,7],cxx_nonstatic_member_init:21,esp:21,broad:[23,21],"__cxx_rvalue_references__":21,cplusplus11:24,clangcheckimpl:28,invas:17,dfsw:29,contact:35,speak:6,sfs_empti:39,trap:23,"__builtin_arm_clrex":21,encourag:17,imperfectli:17,acronym:37,spacesinparenthes:39,imaginari:21,dosometh:1,actoncxx:5,externalastsourc:32,host:[20,35,17,5],arg1:5,obei:[8,17,5],although:[23,1,7,32,27,8,18,17,9],offset:[10,30,32,8,23],java:[39,35],"__has_trivial_constructor":21,declus:24,simpler:24,about:[12,8],rare:[23,9,5],endcod:39,ansi:23,templateidannot:5,cxx_except:[21,35],declcontext:[25,32,5],hot:11,"__clang_patchlevel__":21,lifecycl:8,includ:[10,14,30,16,17,18,4,20,7,8],alignof:[23,21],constructor:[18,30,39,17,5],fals:[23,12,1,15,2,13,39,27,5,38,6,8],discard:[29,23,21,4,8],disabl:[8,17,12],cycles_to_do_someth:21,subset:[19,21,17,23,5],truenumb:27,own:[29,39,17,4,5,37,20,21,7,8,9],cxx_inline_namespac:21,dictionarywithobject:27,nodupfunc:8,warranti:30,guard:[1,24,17,5],denseset:5,converttypeformem:5,treetransform:5,linkonce_odr:29,cxx_variadic_templ:21,mere:[8,9,17,5],merg:[23,30,32,39,5,21,17,9],"0x7ff3a302a9d8":31,"__builtin_usubl_overflow":21,val:21,diagnosticsemakind:5,dogfood:7,fuzzer:33,threadsanit:[11,21,8],intention:[7,17],trigger:[32,24,17,19],downgrad:23,inner:[39,30,26,17],ndebug:24,"var":[25,17,2],stai:15,individu:[21,35],c90:[23,24],favorit:25,styleguid:0,function1:23,subdirectori:[23,24],unexpect:17,guess:2,subsum:[29,9],"0x7f45938b676c":38,weight:[23,17],getenv:27,eax:21,neutral:9,bodi:[23,39,1,30,32,2,18,33,5,25,21,8],readertrylock:1,backtrac:23,spuriou:[1,17],instancetyp:21,cxx_delegating_constructor:21,overflow:[23,21],inlin:[8,39,12,5],widecharact:21,cxx_init_captur:21,showinclud:23,spacebeforeparen:39,count:8,succe:[8,32],condvarnam:2,vtordisp:23,mcpu:20,temp:9,"__is_enum":21,wish:[2,17,5,20,6,8],wconfig:24,googlecod:0,displai:[10,7,5,2,36,8],opt_i:9,record:[23,6,32,33,5],below:[23,1,39,24,32,27,8,26,5,21,17,9],libsystem:30,foocfg:5,nestednamespecifi:5,otherwis:[10,39,23,30,24,27,17,18,5,21,8,9],problem:[12,29,2,33,5,20,21,17,9],nscaseinsensitivesearch:21,uglier:24,evalu:[23,30,32,27,17,18,35,5,21,8],"int":[1,2,4,5,7,8,23,11,12,13,15,16,17,18,21,27,29,39,31,36,25,38,30],descript:[23,29,14,39,36,2,33,5,21],dure:[0,23,1,14,7,21,32,27,13,29,5,20,6,17,9],pic:[23,35],pid:15,pie:[38,15],getobjcselector:5,"__base_file__":21,implement:[17,8],memory_ord:21,banal:37,inf:21,ing:32,"__c11_atomic_is_lock_fre":21,probabl:[20,19,5],tricki:[23,5],ut_alwai:39,initvar:2,nonetheless:17,cxxrecorddecl:13,libcxx:[20,38],percent:5,detail:[23,11,27,1,35,32,2,19,5,21,7,8,9],virtual:[23,33,12,13,15,2,19,5,38],new_valu:21,"0x7fcf47b21bc0":15,other:[1,27,4,5,6,7,8,9,12,15,16,17,19,20,21,24,26,2,28,29,30,32,33,35,25,38,39],bool:[13,14,39,2,27,5,21,8],eabi:20,c94:23,disproportion:23,gline:23,"__is_abstract":21,cpp03:39,movl:21,stat:[6,32],repeat:[23,26,24],"class":[12,29,14,30,17,18,39,4,8,9],indirectli:17,"__is_empti":21,add_subdirectori:2,tryannotatecxxscopetoken:5,clang_check_last_cmd:28,serial:[6,22,24,32,5],actonxxx:5,yesnumb:27,experienc:24,invari:[21,17,9],contigu:17,eod:5,"__atomic_acq_rel":21,reliabl:[23,35,17],attribute_overload:8,decls_begin:5,rule:[23,1,39,24,27,8,33,5,37,21,17],cpu:8,objcspacebeforeprotocollist:39,enumerator_attribut:21,hoist:5,"0x44da290":28},objtypes:{"0":"std:option"},objnames:{"0":["std","option","option"]},filenames:["LibFormat","ThreadSafetyAnalysis","LibASTMatchersTutorial","LeakSanitizer","DataFlowSanitizer","InternalsManual","PTHInternals","ClangTools","AttributeReference","DriverInternals","ClangFormat","SanitizerSpecialCaseList","AddressSanitizer","RAVFrontendAction","ClangPlugins","ThreadSanitizer","FAQ","AutomaticReferenceCounting","BlockLanguageSpec","Tooling","CrossCompilation","LanguageExtensions","JSONCompilationDatabase","UsersManual","Modules","IntroductionToTheClangAST","LibASTMatchers","ObjectiveCLiterals","HowToSetupToolingForLLVM","DataFlowSanitizerDesign","Block-ABI-Apple","ClangCheck","PCHInternals","MSVCCompatibility","index","ReleaseNotes","LibTooling","ExternalClangExamples","MemorySanitizer","ClangFormatStyleOptions"],titles:["LibFormat","Thread Safety Analysis","Tutorial for building tools using LibTooling and LibASTMatchers","LeakSanitizer","DataFlowSanitizer","“Clang” CFE Internals Manual","Pretokenized Headers (PTH)","Overview","Attributes in Clang","Driver Design & Internals","ClangFormat","Sanitizer special case list","AddressSanitizer","How to write RecursiveASTVisitor based ASTFrontendActions.","Clang Plugins","ThreadSanitizer","Frequently Asked Questions (FAQ)","Objective-C Automatic Reference Counting (ARC)","Language Specification for Blocks","Choosing the Right Interface for Your Application","Cross-compilation using Clang","Clang Language Extensions","JSON Compilation Database Format Specification","Clang Compiler User’s Manual","Modules","Introduction to the Clang AST","Matching the Clang AST","Objective-C Literals","How To Setup Clang Tooling For LLVM","DataFlowSanitizer Design Document","Block Implementation Specification","ClangCheck","Precompiled Header and Modules Internals","MSVC compatibility","Welcome to Clang’s documentation!","Clang 3.6 Release Notes","LibTooling","External Clang Examples","MemorySanitizer","Clang-Format Style Options"],objects:{"":{"-Werror":[23,0,1,"cmdoption-Werror"],"-ferror-limit":[23,0,1,"cmdoption-ferror-limit"],"-Weverything":[23,0,1,"cmdoption-Weverything"],"-fparse-all-comments":[23,0,1,"cmdoption-fparse-all-comments"],"-fno-assume-sane-operator-new":[23,0,1,"cmdoption-fno-assume-sane-operator-new"],"-mgeneral-regs-only":[23,0,1,"cmdoption-mgeneral-regs-only"],"-Wambiguous-member-template":[23,0,1,"cmdoption-Wambiguous-member-template"],"-fno-standalone-debug":[23,0,1,"cmdoption-fno-standalone-debug"],"-Wno-error":[23,0,1,"cmdoption-Wno-error"],"-Wno-foo":[23,0,1,"cmdoption-Wno-foo"],"-fdiagnostics-show-template-tree":[23,0,1,"cmdoption-fdiagnostics-show-template-tree"],"-g":[23,0,1,"cmdoption-g"],"-fno-crash-diagnostics":[23,0,1,"cmdoption-fno-crash-diagnostics"],"-gline-tables-only":[23,0,1,"cmdoption-gline-tables-only"],"-ftrap-function":[23,0,1,"cmdoption-ftrap-function"],"-m":[23,0,1,"cmdoption-m"],"-fdiagnostics-parseable-fixits":[23,0,1,"cmdoption-fdiagnostics-parseable-fixits"],"-fdiagnostics-show-category":[23,0,1,"cmdoption-fdiagnostics-show-category"],"-fdiagnostics-format":[23,0,1,"cmdoption-fdiagnostics-format"],"-w":[23,0,1,"cmdoption-w"],"-fcomment-block-commands":[23,0,1,"cmdoption-fcomment-block-commands"],"-pedantic-errors":[23,0,1,"cmdoption-pedantic-errors"],"-Wdocumentation":[23,0,1,"cmdoption-Wdocumentation"],"-Wextra-tokens":[23,0,1,"cmdoption-Wextra-tokens"],"-fno-elide-type":[23,0,1,"cmdoption-fno-elide-type"],"-Wsystem-headers":[23,0,1,"cmdoption-Wsystem-headers"],"-ftemplate-depth":[23,0,1,"cmdoption-ftemplate-depth"],"-pedantic":[23,0,1,"cmdoption-pedantic"],"-fbracket-depth":[23,0,1,"cmdoption-fbracket-depth"],"-fstandalone-debug":[23,0,1,"cmdoption-fstandalone-debug"],"-g0":[23,0,1,"cmdoption-g0"],"-mhwdiv":[23,0,1,"cmdoption-mhwdiv"],"-Wbind-to-temporary-copy":[23,0,1,"cmdoption-Wbind-to-temporary-copy"],"-Wno-documentation-unknown-command":[23,0,1,"cmdoption-Wno-documentation-unknown-command"],"-ftemplate-backtrace-limit":[23,0,1,"cmdoption-ftemplate-backtrace-limit"],"-foperator-arrow-depth":[23,0,1,"cmdoption-foperator-arrow-depth"],"-Wfoo":[23,0,1,"cmdoption-Wfoo"],"-fconstexpr-depth":[23,0,1,"cmdoption-fconstexpr-depth"],"-ftls-model":[23,0,1,"cmdoption-ftls-model"]}},titleterms:{represent:29,all:[13,14,23],code:[23,39,38,36],examin:25,chain:32,pth:6,consum:[17,8],pretoken:6,concept:[1,9],subclass:5,no_address_safety_analysi:8,content:32,privat:[1,24],"const":30,init:17,no_sanitize_thread:[15,8],digit:21,liter:[18,21,27],string:[1,21,27,5],"void":17,faq:16,w64:23,retriev:2,syntax:8,condition:1,"__has_cpp_attribut":21,objc_method_famili:8,stddef:16,level:[30,6,21],list:[37,29,11,4,21],iter:17,pluginastact:14,redeclar:5,vector:21,clangtool:[2,36],scoped_cap:1,align:21,properti:[21,17],cfg:5,cfe:5,direct:24,fold:5,design:[0,34,29,32,4,6,9],aggreg:21,pass:17,autosynthesi:21,relocat:23,compat:[33,9],deleg:21,insid:1,defin:[21,5],abi:[29,20,21,4,33],section:8,no_sanitize_memori:[38,8],overload:[8,5],access:[13,21,30],delet:21,experiment:28,"new":[35,7],method:[17,27,32],metadata:32,writeback:17,deriv:26,noreturn:8,set_typest:8,gener:[20,21,17,23],modular:24,sfina:21,studio:10,layout:[29,30],standard:[23,21],implicit:21,valu:17,box:27,acquire_shared_cap:8,convers:[21,17],standalon:[10,36],bbedit:10,objc_copyweak:17,precis:17,implement:[23,29,30,5,6,9],overrid:21,semant:[24,17,5],via:23,extra:7,primit:21,modul:[24,32],submodul:24,vim:10,put:[13,14,36],famili:17,select:21,"__declspec":8,from:[30,17],memori:[29,21,36,17,12],sourcerang:5,regist:14,live:17,overhead:9,scope:[1,30],frontendact:13,type:[32,17,18,26,5,21,8],more:[12,15,24,2,3,38],"__virtual_inherit":8,src:17,trait:21,relat:[21,17,9],warn:[1,23,9],trail:21,visual:10,indic:34,objc_storeweak:17,known:[1,17],enable_if:8,alia:[1,21],setup:28,annot:[8,5],histori:30,caveat:27,learn:[24,2],multiprecis:21,purpos:17,boilerpl:5,control:[18,21,17,23,5],lock:1,templat:[21,17,33],high:30,sourc:32,unavail:[21,17],try_acquire_cap:8,msvc:33,declar:[18,32,24,17,5],gcc:[23,9],goal:[11,9],optnon:8,diagnosticcli:5,fpu:20,how:[23,12,13,15,26,5,28,38],"__single_inherti":8,simpl:9,map:[23,24],try_acquire_shar:1,"__has_featur":[38,15,21,12],mac:23,try_acquire_shared_cap:8,philosophi:32,data:21,astfrontendact:13,bind:26,explicit:[21,17],exclud:1,mangl:21,test_typest:8,exclus:21,release_cap:8,fallback:23,lambda:21,thread_loc:21,oper:[18,21,23],frontend:5,cc1:16,move:21,rang:21,held:1,through:29,flexibl:9,pointer:17,dynam:21,paramet:[21,24,17],snippet:36,style:[0,39,27],group:23,fix:[21,5],platform:[23,15,24,12,38],window:[23,35],objc_storestrong:17,non:21,"return":[21,17],handl:38,auto:21,spell:17,initi:[21,12],framework:21,no_split_stack:8,automat:[21,17],interrupt:8,ninja:28,discuss:27,stdarg:16,grammar:27,name:[26,33,5],pt_guarded_bi:1,infer:[21,17],separ:21,token:5,acquired_befor:1,mode:23,debug:23,unicod:21,compil:[23,34,35,24,20,22,9],interleav:21,"__c11_atom":21,individu:23,idea:7,"static":[23,21],operand:17,special:[11,17],out:17,variabl:[18,21,30,17,8],objc_retainblock:17,safeti:[1,8],objc_loadweakretain:17,astcontext:13,categori:23,unsupport:23,rational:17,reader:32,integr:[10,22,32],libastmatch:2,qualifi:[18,21,17],umbrella:24,barrier:21,ast:[25,26,32,2,5],fallthrough:8,multilib:20,powerpc:23,nsobject:30,base:[13,21,26],dictionari:27,releas:[1,18,35],autoreleasepool:17,guarded_var:1,precompil:[23,32,5],thread:[1,8],unnam:21,lexer:5,ask:[1,16],codegen:5,thread_sanit:15,memory_sanit:38,retain:[21,17],lifetim:17,assign:21,frequent:[1,16],first:36,origin:38,major:35,arrai:[21,27],independ:23,number:21,evolut:17,restrict:17,mingw:23,fast:17,miss:16,size:[23,21],differ:23,intention:23,unrestrict:21,system:[28,23,21,22],messag:[23,21],statement:[32,8,5],interfac:[0,29,19,5,6,17],low:[6,21,9],objc_destroyweak:17,try_acquir:1,option:[0,39,36,23,20],namespac:21,tool:[10,34,7,2,28,36,37],copi:[18,30],alloc:8,specifi:21,blacklist:[38,15,12],pars:[23,36,9],pragma:[23,35],objc_initweak:17,objc_retainautoreleasereturnvalu:17,kind:5,target:[20,21,23],"__block":[18,30],"__builtin_shufflevector":21,carries_depend:8,structur:24,project:37,bridg:17,entri:5,"function":[30,21,26,8],variadicdyncastallofmatch:26,modern:7,argument:[29,21,9,17,5],raw:21,tabl:[34,32],"__has_extens":21,leaksanit:3,addresssanit:12,issu:20,inform:[23,12,35,3,38,21,15],self:17,note:[35,9],builtin:[21,36],"__has_warn":21,build:[12,15,2,28,38,22],interior:17,"__has_declspec_attribut":21,rvalu:21,pipelin:9,multipli:5,object:[23,30,24,27,18,21,17,9],what:35,lexic:[1,30,24,5],"__sync_swap":21,cygwin:23,"__has_builtin":21,segment:21,"class":[21,5],"__builtin_operator_new":21,flow:[18,5],order:12,charsourcerang:5,runtim:[30,21,17],neg:1,variad:21,microsoft:23,"_noreturn":8,no_thread_safety_analysi:1,decltyp:21,current:[23,12,1,15,24,3,4,38],objc_loadweak:17,acquir:1,copyright:30,objc_autoreleasepoolpush:17,configur:[39,24],"__builtin_operator_delet":21,analyz:23,intermezzo:2,darwin:23,local:21,"__multiple_inherit":8,unus:9,variou:23,get:[1,16],express:[32,27,18,26,5,21,17],clang:[23,35,34,14,39,16,32,2,21,28,26,19,5,37,20,6,7,25,8],report:[23,38],multipleincludeopt:5,requir:[1,24],pointer_with_type_tag:8,enabl:23,organ:7,nullptr:21,objc_autoreleas:17,intrins:21,patch:10,common:36,contain:27,where:24,emac:10,arc:17,result:[21,17],arm:[23,21],"__has_includ":21,address_sanit:12,statu:[38,15,4,12,3],detect:12,databas:22,enumer:[21,17],struct:17,label:29,mutex:1,between:23,astconsum:13,"import":[30,24],subscript:[21,27],approach:5,acquire_cap:8,attribut:[21,24,8,5],extend:21,weak:17,unrol:21,constexpr:21,preprocessor:[32,5],nsnumber:27,solv:24,rtti:21,addit:[21,35,27,9],extens:[23,30,18,5,21,17],tutori:2,context:[25,17,5],improv:35,qualtyp:5,comment:23,unimpl:1,ast_matcher_p:26,point:32,instanti:33,overview:[18,7,9],header:[23,16,24,32,5,6],openmp:35,guid:[1,23],"__weak":30,instrument:23,union:[21,17],pch:23,mark:30,json:22,basic:[1,23,6,2,5],"__builtin_readcyclecount":21,reformat:10,field:17,togeth:[13,14,36],"case":[29,11],interoper:21,gnu:8,noexcept:21,plugin:[14,19],contextu:21,durat:17,cast:17,invok:18,unifi:9,behavior:21,error:[23,16],loop:21,propag:29,requires_shar:1,file:[23,21,24,32,5],helper:30,canon:5,return_typest:8,crash:23,revis:18,"_static_assert":21,make:28,format:[23,11,39,7,5,22,8],tls_model:8,cross:20,member:21,binari:21,complex:21,matcher:[26,2],document:[29,34,17],recursiveastvisitor:13,conflict:24,objc_retainautoreleasedreturnvalu:17,param_typest:8,x86:[23,21],optim:[23,6,21,17],pt_guarded_var:1,nest:30,driver:[9,16,5],assert_cap:[1,8],capabl:1,user:[23,21],ownership:17,dealloc:17,extern:[37,38],weird:16,audit:17,qualif:17,off:21,"__has_include_next":21,macro:[21,24,35],taint:29,inherit:21,exampl:[37,11,4,39,27],command:[23,24],thi:17,choos:19,model:24,identifi:32,obtain:2,release_shar:1,"__is_identifi":21,yet:23,languag:[18,21,24,35,23],static_assert:21,miscellan:17,sourcemanag:[13,5],hint:[21,5],clangcheck:31,except:[21,17],param:26,script:10,add:5,lookup:33,c11:[21,35],introduct:[1,27,3,4,5,8,9,23,11,12,13,14,15,20,21,24,37,26,28,35,36,25,38],match:[26,2],"__attribute__":[30,15,12,38],sanit:11,applic:19,transpar:5,dest:17,piec:39,objc_requires_sup:8,background:[22,17],meat:5,specif:[23,30,18,20,21,22],deprec:21,manual:[23,5],sema:5,guarded_bi:1,"__builtin_addressof":21,objc_retain:17,manag:[29,17,32],underli:21,deduct:21,captur:21,tokenlex:5,creation:26,objc_autoreleasepoolpop:17,acquired_aft:1,intern:[6,9,32,5],"export":24,flatten:8,unretain:17,indirect:17,librari:[20,34,5],dataflowsanit:[29,4],leak:12,protocol:21,track:38,exit:5,condit:5,complic:2,acquire_shar:1,core:7,run:[1,14,16,36],"__builtin_convertvector":21,"enum":27,usag:[23,11,12,15,4,38],objc_releas:17,step:2,"__autoreleas":17,objc_retainautoreleas:17,stage:9,clangformat:10,about:[16,24,17],toolchain:[20,9],"_thread_loc":21,aarch64:21,constructor:[1,21],disabl:[21,39],block:[30,32,18,5,21,17],subsystem:5,own:26,"__builtin_unreach":21,paramtyp:26,within:30,terminolog:23,type_tag_for_datatyp:8,right:19,refer:[1,30,21,17],chang:[35,5],destructor:1,storag:[18,17],your:[26,19,5],mingw32:23,support:[23,12,15,30,17,35,5,38,22,8],no_sanitize_address:[12,8],question:[1,16],threadsanit:15,avail:[8,27],start:1,arithmet:21,includ:[21,36,24,5],analysi:[1,21],some:[16,36],nodupl:8,link:[24,36],translat:[9,5],atom:21,line:[23,24],inlin:[1,21],count:[21,17],tripl:20,attr:5,consist:29,objc_moveweak:17,"default":21,displai:23,limit:[1,23,15,12,38],sampl:23,problem:24,emit:23,produc:5,featur:[23,21,35,33,9],constant:[21,5],creat:[13,26,2,36],certain:17,parser:5,strongli:21,diagnost:[23,35,5],release_shared_cap:8,check:[12,1,7,27,29,21,8],libclang:19,cmake:28,relax:21,return_cap:1,other:23,bool:1,futur:24,objc_autoreleasereturnvalu:17,architectur:23,node:[25,26,2],libformat:0,llvm:[28,5],symbol:38,"__except":35,libtool:[19,2,36],"__has_attribut":21,"__builtin_assum":21,pool:[17,32],memorysanit:38,assert_shared_cap:[1,8],directori:24,flag:[1,23,35],tradeoff:6,write:[13,14,26,36],argument_with_type_tag:8,sourceloc:5,escap:30,profil:23,cpu:[20,23],callable_when:8}}) \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cfe-3.6.0.src/docs/_build/man/clang.1 new/cfe-3.6.1.src/docs/_build/man/clang.1 --- old/cfe-3.6.0.src/docs/_build/man/clang.1 2015-03-02 10:54:46.000000000 +0100 +++ new/cfe-3.6.1.src/docs/_build/man/clang.1 2015-05-25 15:55:00.000000000 +0200 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "CLANG" "1" "March 02, 2015" "3.6" "Clang" +.TH "CLANG" "1" "May 25, 2015" "3.6" "Clang" .SH NAME clang \- Clang Documentation . ++++++ clang-disable-ada-extension.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:42.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:42.000000000 +0200 @@ -1,7 +1,7 @@ -Index: cfe-3.6.0.src/lib/Driver/Types.cpp +Index: cfe-3.6.1.src/lib/Driver/Types.cpp =================================================================== ---- cfe-3.6.0.src/lib/Driver/Types.cpp -+++ cfe-3.6.0.src/lib/Driver/Types.cpp +--- cfe-3.6.1.src/lib/Driver/Types.cpp ++++ cfe-3.6.1.src/lib/Driver/Types.cpp @@ -158,8 +158,6 @@ types::ID types::lookupTypeForExtension( .Case("hh", TY_CXXHeader) .Case("ll", TY_LLVM_IR) ++++++ clang-resourcedirs.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:42.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:42.000000000 +0200 @@ -1,7 +1,7 @@ -Index: cfe-3.6.0.src/lib/Driver/Driver.cpp +Index: cfe-3.6.1.src/lib/Driver/Driver.cpp =================================================================== ---- cfe-3.6.0.src/lib/Driver/Driver.cpp -+++ cfe-3.6.0.src/lib/Driver/Driver.cpp +--- cfe-3.6.1.src/lib/Driver/Driver.cpp ++++ cfe-3.6.1.src/lib/Driver/Driver.cpp @@ -64,7 +64,7 @@ Driver::Driver(StringRef ClangExecutable // Compute the path to the resource directory. ++++++ compiler-rt-3.6.0.src.tar.xz -> compiler-rt-3.6.1.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compiler-rt-3.6.0.src/lib/asan/tests/asan_test.cc new/compiler-rt-3.6.1.src/lib/asan/tests/asan_test.cc --- old/compiler-rt-3.6.0.src/lib/asan/tests/asan_test.cc 2014-12-22 13:29:40.000000000 +0100 +++ new/compiler-rt-3.6.1.src/lib/asan/tests/asan_test.cc 2015-03-12 01:25:56.000000000 +0100 @@ -569,7 +569,7 @@ } #if !defined(_WIN32) // Only basic longjmp is available on Windows. -NOINLINE void BuiltinLongJmpFunc1(jmp_buf buf) { +NOINLINE void UnderscopeLongJmpFunc1(jmp_buf buf) { // create three red zones for these two stack objects. int a; int b; @@ -577,10 +577,10 @@ int *A = Ident(&a); int *B = Ident(&b); *A = *B; - __builtin_longjmp((void**)buf, 1); + _longjmp(buf, 1); } -NOINLINE void UnderscopeLongJmpFunc1(jmp_buf buf) { +NOINLINE void SigLongJmpFunc1(sigjmp_buf buf) { // create three red zones for these two stack objects. int a; int b; @@ -588,10 +588,12 @@ int *A = Ident(&a); int *B = Ident(&b); *A = *B; - _longjmp(buf, 1); + siglongjmp(buf, 1); } -NOINLINE void SigLongJmpFunc1(sigjmp_buf buf) { +#if !defined(__ANDROID__) && !defined(__arm__) && \ + !defined(__powerpc64__) && !defined(__powerpc__) +NOINLINE void BuiltinLongJmpFunc1(jmp_buf buf) { // create three red zones for these two stack objects. int a; int b; @@ -599,11 +601,9 @@ int *A = Ident(&a); int *B = Ident(&b); *A = *B; - siglongjmp(buf, 1); + __builtin_longjmp((void**)buf, 1); } -#if !defined(__ANDROID__) && !defined(__arm__) && \ - !defined(__powerpc64__) && !defined(__powerpc__) // Does not work on Power and ARM: // https://code.google.com/p/address-sanitizer/issues/detail?id=185 TEST(AddressSanitizer, BuiltinLongJmpTest) { ++++++ default-to-i586.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:43.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:43.000000000 +0200 @@ -1,7 +1,7 @@ -Index: cfe-3.6.0.src/lib/Driver/Tools.cpp +Index: cfe-3.6.1.src/lib/Driver/Tools.cpp =================================================================== ---- cfe-3.6.0.src/lib/Driver/Tools.cpp -+++ cfe-3.6.0.src/lib/Driver/Tools.cpp +--- cfe-3.6.1.src/lib/Driver/Tools.cpp ++++ cfe-3.6.1.src/lib/Driver/Tools.cpp @@ -1322,8 +1322,8 @@ static const char *getX86TargetCPU(const case llvm::Triple::Bitrig: return "i686"; ++++++ libcxx-3.6.0.src.tar.xz -> libcxx-3.6.1.src.tar.xz ++++++ ++++++ libcxxabi-3.6.0.src.tar.xz -> libcxxabi-3.6.1.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxxabi-3.6.0.src/src/cxa_personality.cpp new/libcxxabi-3.6.1.src/src/cxa_personality.cpp --- old/libcxxabi-3.6.0.src/src/cxa_personality.cpp 2015-01-27 21:38:30.000000000 +0100 +++ new/libcxxabi-3.6.1.src/src/cxa_personality.cpp 2015-05-08 16:59:40.000000000 +0200 @@ -14,6 +14,7 @@ #include <assert.h> #include <stdlib.h> +#include <string.h> #include <typeinfo> #include "config.h" @@ -141,6 +142,19 @@ namespace __cxxabiv1 { +namespace +{ + +template <class AsType> +uintptr_t readPointerHelper(const uint8_t*& p) { + AsType value; + memcpy(&value, p, sizeof(AsType)); + p += sizeof(AsType); + return static_cast<uintptr_t>(value); +} + +} // end namespace + extern "C" { @@ -245,28 +259,22 @@ result = static_cast<uintptr_t>(readSLEB128(&p)); break; case DW_EH_PE_udata2: - result = *((uint16_t*)p); - p += sizeof(uint16_t); + result = readPointerHelper<uint16_t>(p); break; case DW_EH_PE_udata4: - result = *((uint32_t*)p); - p += sizeof(uint32_t); + result = readPointerHelper<uint32_t>(p); break; case DW_EH_PE_udata8: - result = static_cast<uintptr_t>(*((uint64_t*)p)); - p += sizeof(uint64_t); + result = readPointerHelper<uint64_t>(p); break; case DW_EH_PE_sdata2: - result = static_cast<uintptr_t>(*((int16_t*)p)); - p += sizeof(int16_t); + result = readPointerHelper<int16_t>(p); break; case DW_EH_PE_sdata4: - result = static_cast<uintptr_t>(*((int32_t*)p)); - p += sizeof(int32_t); + result = readPointerHelper<int32_t>(p); break; case DW_EH_PE_sdata8: - result = static_cast<uintptr_t>(*((int64_t*)p)); - p += sizeof(int64_t); + result = readPointerHelper<int64_t>(p); break; default: // not supported diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxxabi-3.6.0.src/src/private_typeinfo.cpp new/libcxxabi-3.6.1.src/src/private_typeinfo.cpp --- old/libcxxabi-3.6.0.src/src/private_typeinfo.cpp 2014-11-24 19:46:37.000000000 +0100 +++ new/libcxxabi-3.6.1.src/src/private_typeinfo.cpp 2015-05-08 18:00:50.000000000 +0200 @@ -381,8 +381,30 @@ if (is_equal(__pointee, thrown_pointer_type->__pointee, false)) return true; // bullet 3A - if (is_equal(__pointee, &typeid(void), false)) - return true; + if (is_equal(__pointee, &typeid(void), false)) { + // pointers to functions cannot be converted to void*. + // pointers to member functions are not handled here. + const __function_type_info* thrown_function = + dynamic_cast<const __function_type_info*>(thrown_pointer_type->__pointee); + return (thrown_function == nullptr); + } + // Handle pointer to pointer + const __pointer_type_info* nested_pointer_type = + dynamic_cast<const __pointer_type_info*>(__pointee); + if (nested_pointer_type) { + if (~__flags & __const_mask) return false; + return nested_pointer_type->can_catch_nested(thrown_pointer_type->__pointee); + } + + // Handle pointer to pointer to member + const __pointer_to_member_type_info* member_ptr_type = + dynamic_cast<const __pointer_to_member_type_info*>(__pointee); + if (member_ptr_type) { + if (~__flags & __const_mask) return false; + return member_ptr_type->can_catch_nested(thrown_pointer_type->__pointee); + } + + // Handle pointer to class type const __class_type_info* catch_class_type = dynamic_cast<const __class_type_info*>(__pointee); if (catch_class_type == 0) @@ -403,6 +425,81 @@ return false; } +bool __pointer_type_info::can_catch_nested( + const __shim_type_info* thrown_type) const +{ + const __pointer_type_info* thrown_pointer_type = + dynamic_cast<const __pointer_type_info*>(thrown_type); + if (thrown_pointer_type == 0) + return false; + // bullet 3B + if (thrown_pointer_type->__flags & ~__flags) + return false; + if (is_equal(__pointee, thrown_pointer_type->__pointee, false)) + return true; + // If the pointed to types differ then the catch type must be const + // qualified. + if (~__flags & __const_mask) + return false; + + // Handle pointer to pointer + const __pointer_type_info* nested_pointer_type = + dynamic_cast<const __pointer_type_info*>(__pointee); + if (nested_pointer_type) { + return nested_pointer_type->can_catch_nested( + thrown_pointer_type->__pointee); + } + + // Handle pointer to pointer to member + const __pointer_to_member_type_info* member_ptr_type = + dynamic_cast<const __pointer_to_member_type_info*>(__pointee); + if (member_ptr_type) { + return member_ptr_type->can_catch_nested(thrown_pointer_type->__pointee); + } + + return false; +} + +bool __pointer_to_member_type_info::can_catch( + const __shim_type_info* thrown_type, void*& adjustedPtr) const { + // bullets 1 and 4 + if (__pbase_type_info::can_catch(thrown_type, adjustedPtr)) + return true; + + const __pointer_to_member_type_info* thrown_pointer_type = + dynamic_cast<const __pointer_to_member_type_info*>(thrown_type); + if (thrown_pointer_type == 0) + return false; + if (thrown_pointer_type->__flags & ~__flags) + return false; + if (!is_equal(__pointee, thrown_pointer_type->__pointee, false)) + return false; + if (is_equal(__context, thrown_pointer_type->__context, false)) + return true; + + // [except.handle] does not allow the pointer-to-member conversions mentioned + // in [mem.conv] to take place. For this reason we don't check Derived->Base + // for Derived->Base conversions. + + return false; +} + +bool __pointer_to_member_type_info::can_catch_nested( + const __shim_type_info* thrown_type) const +{ + const __pointer_to_member_type_info* thrown_member_ptr_type = + dynamic_cast<const __pointer_to_member_type_info*>(thrown_type); + if (thrown_member_ptr_type == 0) + return false; + if (~__flags & thrown_member_ptr_type->__flags) + return false; + if (!is_equal(__pointee, thrown_member_ptr_type->__pointee, false)) + return false; + if (!is_equal(__context, thrown_member_ptr_type->__context, false)) + return false; + return true; +} + #pragma clang diagnostic pop #pragma GCC visibility pop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxxabi-3.6.0.src/src/private_typeinfo.h new/libcxxabi-3.6.1.src/src/private_typeinfo.h --- old/libcxxabi-3.6.0.src/src/private_typeinfo.h 2012-10-13 20:45:59.000000000 +0200 +++ new/libcxxabi-3.6.1.src/src/private_typeinfo.h 2015-05-08 17:10:43.000000000 +0200 @@ -230,6 +230,7 @@ public: __attribute__ ((__visibility__("hidden"))) virtual ~__pointer_type_info(); __attribute__ ((__visibility__("hidden"))) virtual bool can_catch(const __shim_type_info*, void*&) const; + __attribute__ ((__visibility__("hidden"))) bool can_catch_nested(const __shim_type_info*) const; }; class __attribute__ ((__visibility__("default"))) __pointer_to_member_type_info @@ -239,6 +240,8 @@ const __class_type_info* __context; __attribute__ ((__visibility__("hidden"))) virtual ~__pointer_to_member_type_info(); + __attribute__ ((__visibility__("hidden"))) virtual bool can_catch(const __shim_type_info*, void*&) const; + __attribute__ ((__visibility__("hidden"))) bool can_catch_nested(const __shim_type_info*) const; }; #pragma GCC visibility pop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxxabi-3.6.0.src/test/catch_function_01.cpp new/libcxxabi-3.6.1.src/test/catch_function_01.cpp --- old/libcxxabi-3.6.0.src/test/catch_function_01.cpp 2012-02-01 20:42:45.000000000 +0100 +++ new/libcxxabi-3.6.1.src/test/catch_function_01.cpp 2015-05-08 17:37:37.000000000 +0200 @@ -11,11 +11,19 @@ #include <cassert> +template <class Tp> +bool can_convert(Tp) { return true; } + +template <class> +bool can_convert(...) { return false; } + void f() {} int main() { typedef void Function(); + assert(!can_convert<Function&>(&f)); + assert(!can_convert<void*>(&f)); try { throw f; // converts to void (*)() @@ -25,7 +33,15 @@ { assert(false); } + catch (void*) // can't catch as void* + { + assert(false); + } + catch(Function*) + { + } catch (...) { + assert(false); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxxabi-3.6.0.src/test/catch_member_data_pointer_01.cpp new/libcxxabi-3.6.1.src/test/catch_member_data_pointer_01.cpp --- old/libcxxabi-3.6.0.src/test/catch_member_data_pointer_01.cpp 2012-02-01 21:53:21.000000000 +0100 +++ new/libcxxabi-3.6.1.src/test/catch_member_data_pointer_01.cpp 2015-05-08 17:34:21.000000000 +0200 @@ -18,6 +18,15 @@ typedef const int A::*md1; typedef int A::*md2; +struct B : public A +{ + const int k; + int l; +}; + +typedef const int B::*der1; +typedef int B::*der2; + void test1() { try @@ -34,11 +43,92 @@ } } +// Check that cv qualified conversions are allowed. void test2() { try { throw &A::j; + } + catch (md2) + { + } + catch (...) + { + assert(false); + } + + try + { + throw &A::j; + assert(false); + } + catch (md1) + { + } + catch (...) + { + assert(false); + } +} + +// Check that Base -> Derived conversions are NOT allowed. +void test3() +{ + try + { + throw &A::i; + assert(false); + } + catch (md2) + { + assert(false); + } + catch (der2) + { + assert(false); + } + catch (der1) + { + assert(false); + } + catch (md1) + { + } +} + +// Check that Base -> Derived conversions NOT are allowed with different cv +// qualifiers. +void test4() +{ + try + { + throw &A::j; + assert(false); + } + catch (der2) + { + assert(false); + } + catch (der1) + { + assert(false); + } + catch (md2) + { + } + catch (...) + { + assert(false); + } +} + +// Check that no Derived -> Base conversions are allowed. +void test5() +{ + try + { + throw &B::k; assert(false); } catch (md1) @@ -47,6 +137,27 @@ } catch (md2) { + assert(false); + } + catch (der1) + { + } + + try + { + throw &B::l; + assert(false); + } + catch (md1) + { + assert(false); + } + catch (md2) + { + assert(false); + } + catch (der2) + { } } @@ -54,4 +165,7 @@ { test1(); test2(); + test3(); + test4(); + test5(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxxabi-3.6.0.src/test/catch_member_function_pointer_01.cpp new/libcxxabi-3.6.1.src/test/catch_member_function_pointer_01.cpp --- old/libcxxabi-3.6.0.src/test/catch_member_function_pointer_01.cpp 2012-02-01 21:53:21.000000000 +0100 +++ new/libcxxabi-3.6.1.src/test/catch_member_function_pointer_01.cpp 2015-05-08 17:34:21.000000000 +0200 @@ -18,6 +18,20 @@ typedef void (A::*mf1)(); typedef void (A::*mf2)() const; +struct B : public A +{ +}; + +typedef void (B::*dmf1)(); +typedef void (B::*dmf2)() const; + +template <class Tp> +bool can_convert(Tp) { return true; } + +template <class> +bool can_convert(...) { return false; } + + void test1() { try @@ -50,8 +64,104 @@ } } + + +void test_derived() +{ + try + { + throw (mf1)0; + assert(false); + } + catch (dmf2) + { + assert(false); + } + catch (dmf1) + { + assert(false); + } + catch (mf1) + { + } + + try + { + throw (mf2)0; + assert(false); + } + catch (dmf1) + { + assert(false); + } + catch (dmf2) + { + assert(false); + } + catch (mf2) + { + } + + assert(!can_convert<mf1>((dmf1)0)); + assert(!can_convert<mf2>((dmf1)0)); + try + { + throw (dmf1)0; + assert(false); + } + catch (mf2) + { + assert(false); + } + catch (mf1) + { + assert(false); + } + catch (...) + { + } + + assert(!can_convert<mf1>((dmf2)0)); + assert(!can_convert<mf2>((dmf2)0)); + try + { + throw (dmf2)0; + assert(false); + } + catch (mf2) + { + assert(false); + } + catch (mf1) + { + assert(false); + } + catch (...) + { + } +} + +void test_void() +{ + assert(!can_convert<void*>(&A::foo)); + try + { + throw &A::foo; + assert(false); + } + catch (void*) + { + assert(false); + } + catch(...) + { + } +} + int main() { test1(); test2(); + test_derived(); + test_void(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxxabi-3.6.0.src/test/catch_multi_level_pointer.pass.cpp new/libcxxabi-3.6.1.src/test/catch_multi_level_pointer.pass.cpp --- old/libcxxabi-3.6.0.src/test/catch_multi_level_pointer.pass.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/libcxxabi-3.6.1.src/test/catch_multi_level_pointer.pass.cpp 2015-05-08 17:34:21.000000000 +0200 @@ -0,0 +1,143 @@ +//===--------------------- catch_pointer_nullptr.cpp ----------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include <cassert> +#include <cstdlib> +#include <iostream> + +// Roll our own assertion macro to get better error messages out of the tests. +// In particular on systems that don't use __PRETTY_FUNCTION__ in assertions. +#define my_assert(pred, msg) do_assert(pred, msg, __LINE__, __PRETTY_FUNCTION__) + +void do_assert(bool assert_passed, const char* msg, int line, const char* func) { + if (assert_passed) return; + std::cerr << __FILE__ << ":" << line << " " << func + << ": Assertion Failed `" << msg << "'\n\n"; + std::abort(); +} + +struct A {}; +struct Base {}; +struct Derived : public Base {}; + +template <class To> +bool test_conversion(To) { return true; } + +template <class To> +bool test_conversion(...) { return false; } + +template <class Pointer> +struct CreatePointer { + Pointer operator()() const { + return (Pointer)0; + } +}; + +template <class Tp> +struct CreatePointer<Tp*> { + Tp* operator()() const { + return (Tp*)42; + } +}; + +template <class Throw, class Catch> +void catch_pointer_test() { + Throw throw_ptr = CreatePointer<Throw>()(); + // Use the compiler to determine if the exception of type Throw can be + // implicitly converted to type Catch. + const bool can_convert = test_conversion<Catch>(throw_ptr); + try { + throw throw_ptr; + assert(false); + } catch (Catch catch_ptr) { + Catch catch2 = CreatePointer<Catch>()(); + my_assert(can_convert, "non-convertible type incorrectly caught"); + my_assert(catch_ptr == catch2, + "Thrown pointer does not match caught ptr"); + } catch (...) { + my_assert(!can_convert, "convertible type incorrectly not caught"); + } +} + +// Generate CV qualified pointer typedefs. +template <class Tp, bool First = false> +struct TestTypes { + typedef Tp* Type; + typedef Tp const* CType; + typedef Tp volatile* VType; + typedef Tp const volatile* CVType; +}; + +// Special case for cv-qualifying a pointer-to-member without adding an extra +// pointer to it. +template <class Member, class Class> +struct TestTypes<Member Class::*, true> { + typedef Member (Class::*Type); + typedef const Member (Class::*CType); + typedef volatile Member (Class::*VType); + typedef const volatile Member (Class::*CVType); +}; + +template <class Throw, class Catch, int level, bool first = false> +struct generate_tests_imp { + typedef TestTypes<Throw, first> ThrowTypes; + typedef TestTypes<Catch, first> CatchTypes; + void operator()() { + typedef typename ThrowTypes::Type Type; + typedef typename ThrowTypes::CType CType; + typedef typename ThrowTypes::VType VType; + typedef typename ThrowTypes::CVType CVType; + + run_catch_tests<Type>(); + run_catch_tests<CType>(); + run_catch_tests<VType>(); + run_catch_tests<CVType>(); + } + + template <class ThrowTp> + void run_catch_tests() { + typedef typename CatchTypes::Type Type; + typedef typename CatchTypes::CType CType; + typedef typename CatchTypes::VType VType; + typedef typename CatchTypes::CVType CVType; + + catch_pointer_test<ThrowTp, Type>(); + catch_pointer_test<ThrowTp, CType>(); + catch_pointer_test<ThrowTp, VType>(); + catch_pointer_test<ThrowTp, CVType>(); + + generate_tests_imp<ThrowTp, Type, level-1>()(); + generate_tests_imp<ThrowTp, CType, level-1>()(); + generate_tests_imp<ThrowTp, VType, level-1>()(); + generate_tests_imp<ThrowTp, CVType, level-1>()(); + } +}; + +template <class Throw, class Catch, bool first> +struct generate_tests_imp<Throw, Catch, 0, first> { + void operator()() { + catch_pointer_test<Throw, Catch>(); + } +}; + +template <class Throw, class Catch, int level> +struct generate_tests : generate_tests_imp<Throw, Catch, level, true> {}; + +int main() +{ + generate_tests<int, int, 3>()(); + generate_tests<Base, Derived, 2>()(); + generate_tests<Derived, Base, 2>()(); + generate_tests<int, void, 2>()(); + generate_tests<void, int, 2>()(); + + generate_tests<int A::*, int A::*, 3>()(); + generate_tests<int A::*, void, 2>()(); + generate_tests<void, int A::*, 2>()(); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxxabi-3.6.0.src/test/catch_pointer_nullptr.cpp new/libcxxabi-3.6.1.src/test/catch_pointer_nullptr.cpp --- old/libcxxabi-3.6.0.src/test/catch_pointer_nullptr.cpp 2012-02-01 22:01:52.000000000 +0100 +++ new/libcxxabi-3.6.1.src/test/catch_pointer_nullptr.cpp 2015-05-08 17:26:17.000000000 +0200 @@ -8,6 +8,13 @@ //===----------------------------------------------------------------------===// #include <cassert> +#include <cstdlib> + +#ifndef __has_feature +#define __has_feature(x) 0 +#endif + +struct A {}; #if __has_feature(cxx_nullptr) @@ -27,8 +34,6 @@ } } -struct A {}; - void test2() { try @@ -45,6 +50,18 @@ } } +template <class Catch> +void catch_nullptr_test() { + try { + throw nullptr; + assert(false); + } catch (Catch) { + // nothing todo + } catch (...) { + assert(false); + } +} + #else void test1() @@ -55,10 +72,22 @@ { } +template <class Catch> +void catch_nullptr_test() +{ +} + #endif int main() { - test1(); - test2(); + // catch naked nullptrs + test1(); + test2(); + + catch_nullptr_test<int*>(); + catch_nullptr_test<int**>(); + catch_nullptr_test<int A::*>(); + catch_nullptr_test<const int A::*>(); + catch_nullptr_test<int A::**>(); } ++++++ libcxxabi-exceptions.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:45.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:45.000000000 +0200 @@ -1,7 +1,7 @@ -Index: libcxxabi-3.6.0.src/src/CMakeLists.txt +Index: libcxxabi-3.6.1.src/src/CMakeLists.txt =================================================================== ---- libcxxabi-3.6.0.src/src/CMakeLists.txt -+++ libcxxabi-3.6.0.src/src/CMakeLists.txt +--- libcxxabi-3.6.1.src/src/CMakeLists.txt ++++ libcxxabi-3.6.1.src/src/CMakeLists.txt @@ -52,7 +52,7 @@ append_if(libraries LIBCXXABI_HAS_PTHREA if (LIBCXXABI_USE_LLVM_UNWINDER) list(APPEND libraries unwind) ++++++ lldb-3.6.0.src.tar.xz -> lldb-3.6.1.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm/lldb-3.6.0.src.tar.xz /work/SRC/openSUSE:Factory/.llvm.new/lldb-3.6.1.src.tar.xz differ: char 25, line 1 ++++++ lldb-cmake.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:45.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:45.000000000 +0200 @@ -1,7 +1,7 @@ -Index: lldb-3.6.0.src/source/lldb.cpp +Index: lldb-3.6.1.src/source/lldb.cpp =================================================================== ---- lldb-3.6.0.src.orig/source/lldb.cpp -+++ lldb-3.6.0.src/source/lldb.cpp +--- lldb-3.6.1.src.orig/source/lldb.cpp ++++ lldb-3.6.1.src/source/lldb.cpp @@ -325,11 +325,7 @@ extern "C" const unsigned char liblldb_c static const char * GetLLDBRevision() @@ -14,10 +14,10 @@ } static const char * -Index: lldb-3.6.0.src/source/Core/IOHandler.cpp +Index: lldb-3.6.1.src/source/Core/IOHandler.cpp =================================================================== ---- lldb-3.6.0.src.orig/source/Core/IOHandler.cpp -+++ lldb-3.6.0.src/source/Core/IOHandler.cpp +--- lldb-3.6.1.src.orig/source/Core/IOHandler.cpp ++++ lldb-3.6.1.src/source/Core/IOHandler.cpp @@ -31,8 +31,8 @@ #include "lldb/Target/ThreadPlan.h" @@ -29,10 +29,10 @@ #endif using namespace lldb; -Index: lldb-3.6.0.src/CMakeLists.txt +Index: lldb-3.6.1.src/CMakeLists.txt =================================================================== ---- lldb-3.6.0.src.orig/CMakeLists.txt -+++ lldb-3.6.0.src/CMakeLists.txt +--- lldb-3.6.1.src.orig/CMakeLists.txt ++++ lldb-3.6.1.src/CMakeLists.txt @@ -83,7 +83,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR # Import CMake library targets from LLVM and Clang. @@ -42,10 +42,10 @@ set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}") -Index: lldb-3.6.0.src/cmake/LLDBDependencies.cmake +Index: lldb-3.6.1.src/cmake/LLDBDependencies.cmake =================================================================== ---- lldb-3.6.0.src.orig/cmake/LLDBDependencies.cmake -+++ lldb-3.6.0.src/cmake/LLDBDependencies.cmake +--- lldb-3.6.1.src.orig/cmake/LLDBDependencies.cmake ++++ lldb-3.6.1.src/cmake/LLDBDependencies.cmake @@ -132,7 +132,7 @@ set( CLANG_USED_LIBS set(LLDB_SYSTEM_LIBS) ++++++ llvm-3.6.0.src.tar.xz -> llvm-3.6.1.src.tar.xz ++++++ /work/SRC/openSUSE:Factory/llvm/llvm-3.6.0.src.tar.xz /work/SRC/openSUSE:Factory/.llvm.new/llvm-3.6.1.src.tar.xz differ: char 25, line 1 ++++++ llvm-docs-3.6.0.src.tar.xz -> llvm-docs-3.6.1.src.tar.xz ++++++ ++++ 4692 lines of diff (skipped) ++++++ llvm-fix-find-gcc5-install.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:46.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:46.000000000 +0200 @@ -1,7 +1,7 @@ -Index: cfe-3.6.0.src/lib/Driver/ToolChains.cpp +Index: cfe-3.6.1.src/lib/Driver/ToolChains.cpp =================================================================== ---- cfe-3.6.0.src/lib/Driver/ToolChains.cpp.orig 2015-02-20 14:03:49.512242844 +0100 -+++ cfe-3.6.0.src/lib/Driver/ToolChains.cpp 2015-02-20 15:07:11.965048162 +0100 +--- cfe-3.6.1.src/lib/Driver/ToolChains.cpp.orig 2015-02-20 14:03:49.512242844 +0100 ++++ cfe-3.6.1.src/lib/Driver/ToolChains.cpp 2015-02-20 15:07:11.965048162 +0100 @@ -1135,10 +1135,11 @@ Generic_GCC::GCCVersion Linux::GCCVersio GoodVersion.Major < 0) return BadVersion; ++++++ llvm-fix-parsearmarch.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:46.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:46.000000000 +0200 @@ -1,7 +1,7 @@ -Index: llvm-3.6.0.src/lib/Support/Triple.cpp +Index: llvm-3.6.1.src/lib/Support/Triple.cpp =================================================================== ---- llvm-3.6.0.src.orig/lib/Support/Triple.cpp -+++ llvm-3.6.0.src/lib/Support/Triple.cpp +--- llvm-3.6.1.src.orig/lib/Support/Triple.cpp ++++ llvm-3.6.1.src/lib/Support/Triple.cpp @@ -270,9 +270,9 @@ static Triple::ArchType parseARMArch(Str .Cases("v3", "v3m", isThumb ? Triple::UnknownArch : arch) .Cases("v4", "v4t", arch) ++++++ llvm-remove-clang-only-flags.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:46.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:46.000000000 +0200 @@ -1,7 +1,7 @@ -Index: llvm-3.6.0.src/cmake/modules/HandleLLVMOptions.cmake +Index: llvm-3.6.1.src/cmake/modules/HandleLLVMOptions.cmake =================================================================== ---- llvm-3.6.0.src.orig/cmake/modules/HandleLLVMOptions.cmake -+++ llvm-3.6.0.src/cmake/modules/HandleLLVMOptions.cmake +--- llvm-3.6.1.src.orig/cmake/modules/HandleLLVMOptions.cmake ++++ llvm-3.6.1.src/cmake/modules/HandleLLVMOptions.cmake @@ -302,9 +302,6 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE endif() endif (LLVM_ENABLE_WARNINGS) ++++++ set-revision.patch ++++++ --- /var/tmp/diff_new_pack.knjAJf/_old 2015-05-29 09:51:46.000000000 +0200 +++ /var/tmp/diff_new_pack.knjAJf/_new 2015-05-29 09:51:46.000000000 +0200 @@ -1,7 +1,7 @@ -Index: cfe-3.6.0.src/lib/Basic/Version.cpp +Index: cfe-3.6.1.src/lib/Basic/Version.cpp =================================================================== ---- cfe-3.6.0.src/lib/Basic/Version.cpp -+++ cfe-3.6.0.src/lib/Basic/Version.cpp +--- cfe-3.6.1.src/lib/Basic/Version.cpp ++++ cfe-3.6.1.src/lib/Basic/Version.cpp @@ -66,19 +66,11 @@ std::string getLLVMRepositoryPath() { }