Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Jan 2018 21:35:47 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r327641 - in vendor/clang/dist-release_60: docs include/clang/AST include/clang/Basic include/clang/Config include/clang/Driver include/clang/Parse include/clang/Sema lib/AST lib/Basic ...
Message-ID:  <201801062135.w06LZlDa067262@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sat Jan  6 21:35:46 2018
New Revision: 327641
URL: https://svnweb.freebsd.org/changeset/base/327641

Log:
  Vendor import of clang release_60 branch r321788:
  https://llvm.org/svn/llvm-project/cfe/branches/release_60@321788

Added:
  vendor/clang/dist-release_60/test/Driver/Inputs/config/
  vendor/clang/dist-release_60/test/Driver/Inputs/config-1.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config-2.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config-2a.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config-3.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config-4.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config-5.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config-6.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config/config-4.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config/i386-qqq.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config/i386-qqq3.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config/x86_64-qqq.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config/x86_64-qqq2.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config/x86_64.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config2/
  vendor/clang/dist-release_60/test/Driver/Inputs/config2/config-4.cfg
  vendor/clang/dist-release_60/test/Driver/Inputs/config2/i386.cfg
  vendor/clang/dist-release_60/test/Driver/config-file-errs.c   (contents, props changed)
  vendor/clang/dist-release_60/test/Driver/config-file.c   (contents, props changed)
  vendor/clang/dist-release_60/test/Driver/config-file2.c   (contents, props changed)
  vendor/clang/dist-release_60/test/Driver/config-file3.c   (contents, props changed)
Modified:
  vendor/clang/dist-release_60/docs/AttributeReference.rst
  vendor/clang/dist-release_60/docs/ClangCommandLineReference.rst
  vendor/clang/dist-release_60/docs/ReleaseNotes.rst
  vendor/clang/dist-release_60/docs/UsersManual.rst
  vendor/clang/dist-release_60/include/clang/AST/StmtOpenMP.h
  vendor/clang/dist-release_60/include/clang/Basic/DiagnosticDriverKinds.td
  vendor/clang/dist-release_60/include/clang/Basic/DiagnosticGroups.td
  vendor/clang/dist-release_60/include/clang/Basic/DiagnosticSemaKinds.td
  vendor/clang/dist-release_60/include/clang/Basic/LangOptions.def
  vendor/clang/dist-release_60/include/clang/Config/config.h.cmake
  vendor/clang/dist-release_60/include/clang/Driver/Driver.h
  vendor/clang/dist-release_60/include/clang/Driver/Options.td
  vendor/clang/dist-release_60/include/clang/Parse/Parser.h
  vendor/clang/dist-release_60/include/clang/Parse/RAIIObjectsForParser.h
  vendor/clang/dist-release_60/include/clang/Sema/DeclSpec.h
  vendor/clang/dist-release_60/include/clang/Sema/Sema.h
  vendor/clang/dist-release_60/lib/AST/Decl.cpp
  vendor/clang/dist-release_60/lib/Basic/Targets/X86.cpp
  vendor/clang/dist-release_60/lib/Basic/Version.cpp
  vendor/clang/dist-release_60/lib/CodeGen/CGDeclCXX.cpp
  vendor/clang/dist-release_60/lib/CodeGen/CGException.cpp
  vendor/clang/dist-release_60/lib/CodeGen/CGExpr.cpp
  vendor/clang/dist-release_60/lib/CodeGen/CGOpenMPRuntime.cpp
  vendor/clang/dist-release_60/lib/CodeGen/CGOpenMPRuntime.h
  vendor/clang/dist-release_60/lib/CodeGen/CGStmt.cpp
  vendor/clang/dist-release_60/lib/CodeGen/CGStmtOpenMP.cpp
  vendor/clang/dist-release_60/lib/CodeGen/CodeGenFunction.cpp
  vendor/clang/dist-release_60/lib/CodeGen/CodeGenFunction.h
  vendor/clang/dist-release_60/lib/CodeGen/CodeGenModule.cpp
  vendor/clang/dist-release_60/lib/Driver/Driver.cpp
  vendor/clang/dist-release_60/lib/Driver/ToolChains/Clang.cpp
  vendor/clang/dist-release_60/lib/Driver/ToolChains/Darwin.cpp
  vendor/clang/dist-release_60/lib/Frontend/CompilerInvocation.cpp
  vendor/clang/dist-release_60/lib/Frontend/InitPreprocessor.cpp
  vendor/clang/dist-release_60/lib/Headers/emmintrin.h
  vendor/clang/dist-release_60/lib/Headers/pmmintrin.h
  vendor/clang/dist-release_60/lib/Headers/smmintrin.h
  vendor/clang/dist-release_60/lib/Parse/ParseDecl.cpp
  vendor/clang/dist-release_60/lib/Parse/ParseDeclCXX.cpp
  vendor/clang/dist-release_60/lib/Parse/ParseExpr.cpp
  vendor/clang/dist-release_60/lib/Parse/ParseExprCXX.cpp
  vendor/clang/dist-release_60/lib/Parse/ParseObjc.cpp
  vendor/clang/dist-release_60/lib/Parse/ParseOpenMP.cpp
  vendor/clang/dist-release_60/lib/Parse/ParseStmt.cpp
  vendor/clang/dist-release_60/lib/Parse/ParseTemplate.cpp
  vendor/clang/dist-release_60/lib/Parse/Parser.cpp
  vendor/clang/dist-release_60/lib/Sema/DeclSpec.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaCodeComplete.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaDecl.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaDeclCXX.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaDeclObjC.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaExpr.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaExprCXX.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaExprMember.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaLambda.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaOverload.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaStmt.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaTemplate.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaTemplateDeduction.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaTemplateInstantiateDecl.cpp
  vendor/clang/dist-release_60/lib/Sema/SemaType.cpp
  vendor/clang/dist-release_60/lib/StaticAnalyzer/Core/BugReporter.cpp
  vendor/clang/dist-release_60/test/Analysis/call_once.cpp
  vendor/clang/dist-release_60/test/CXX/over/over.match/over.match.funcs/p4-0x.cpp
  vendor/clang/dist-release_60/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
  vendor/clang/dist-release_60/test/Driver/darwin-version.c
  vendor/clang/dist-release_60/test/Index/annotate-tokens.cpp
  vendor/clang/dist-release_60/test/OpenMP/atomic_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/atomic_capture_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/atomic_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/atomic_messages.c
  vendor/clang/dist-release_60/test/OpenMP/atomic_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/atomic_read_codegen.c
  vendor/clang/dist-release_60/test/OpenMP/atomic_update_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/atomic_write_codegen.c
  vendor/clang/dist-release_60/test/OpenMP/barrier_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/barrier_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/barrier_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/cancel_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/cancel_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/cancel_codegen_cleanup.cpp
  vendor/clang/dist-release_60/test/OpenMP/cancel_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/cancel_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/cancellation_point_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/cancellation_point_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/cancellation_point_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/capturing_in_templates.cpp
  vendor/clang/dist-release_60/test/OpenMP/critical_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/critical_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/critical_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/debug-info-openmp-array.cpp
  vendor/clang/dist-release_60/test/OpenMP/declare_reduction_ast_print.c
  vendor/clang/dist-release_60/test/OpenMP/declare_reduction_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/declare_reduction_codegen.c
  vendor/clang/dist-release_60/test/OpenMP/declare_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/declare_reduction_messages.c
  vendor/clang/dist-release_60/test/OpenMP/declare_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/declare_simd_ast_print.c
  vendor/clang/dist-release_60/test/OpenMP/declare_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/declare_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/declare_simd_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/declare_target_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/declare_target_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_dist_schedule_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_copyin_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_if_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_copyin_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_parallel_for_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/distribute_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/driver.c
  vendor/clang/dist-release_60/test/OpenMP/dump.cpp
  vendor/clang/dist-release_60/test/OpenMP/flush_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/flush_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/flush_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_linear_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/for_ordered_clause.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_reduction_codegen_UDR.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/for_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/for_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/function-attr.cpp
  vendor/clang/dist-release_60/test/OpenMP/is_initial_device.c
  vendor/clang/dist-release_60/test/OpenMP/linking.c
  vendor/clang/dist-release_60/test/OpenMP/loops_explicit_clauses_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/master_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/master_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/master_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/nesting_of_regions.cpp
  vendor/clang/dist-release_60/test/OpenMP/no_option.c
  vendor/clang/dist-release_60/test/OpenMP/no_option_no_warn.c
  vendor/clang/dist-release_60/test/OpenMP/nvptx_target_printf_codegen.c
  vendor/clang/dist-release_60/test/OpenMP/openmp_check.cpp
  vendor/clang/dist-release_60/test/OpenMP/openmp_common.c
  vendor/clang/dist-release_60/test/OpenMP/openmp_offload_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/openmp_seh.c
  vendor/clang/dist-release_60/test/OpenMP/openmp_win_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/option_warn.c
  vendor/clang/dist-release_60/test/OpenMP/ordered_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/ordered_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/ordered_doacross_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/ordered_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_copyin_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_copyin_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_copyin_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_linear_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_ordered_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_copyin_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_for_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_if_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_num_threads_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_proc_bind_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_copyin_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_sections_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/parallel_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/predefined_macro.c
  vendor/clang/dist-release_60/test/OpenMP/report_default_DSA.cpp
  vendor/clang/dist-release_60/test/OpenMP/schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/sections_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/sections_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_metadata.c
  vendor/clang/dist-release_60/test/OpenMP/simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/single_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/single_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/single_copyprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/single_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/single_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/single_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/single_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/single_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_codegen_global_capture.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_codegen_registration.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_codegen_registration_naming.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_data_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_data_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_data_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_data_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_data_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_data_use_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_data_use_device_ptr_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_data_use_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_enter_data_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_enter_data_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_enter_data_depend_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_enter_data_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_enter_data_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_enter_data_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_enter_data_map_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_enter_data_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_exit_data_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_exit_data_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_exit_data_depend_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_exit_data_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_exit_data_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_exit_data_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_exit_data_map_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_exit_data_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_is_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_is_device_ptr_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_map_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_codegen_registration.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_codegen_registration_naming.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_codegen_registration.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_codegen_registration_naming.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_is_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_ordered_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_codegen_registration_naming.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_is_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_for_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_if_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_is_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_num_threads_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_parallel_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_codegen_registration.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_codegen_registration_naming.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_simd_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_codegen_registration.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_codegen_registration_naming.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_codegen_registration.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_codegen_registration_naming.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_is_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_is_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_simd_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_parallel_for_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_codegen_registration_naming.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_defaultmap_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_is_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_distribute_simd_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_is_device_ptr_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_is_device_ptr_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_map_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_num_teams_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_thread_limit_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_teams_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_depend_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_device_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_from_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_nowait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_update_to_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/target_vla_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_codegen.c
  vendor/clang/dist-release_60/test/OpenMP/task_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_depend_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_final_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_if_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_in_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_in_reduction_message.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_priority_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/task_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskgroup_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskgroup_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskgroup_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskgroup_task_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskgroup_task_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_final_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_grainsize_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_in_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_in_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/taskloop_num_tasks_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_priority_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_final_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_grainsize_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_in_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_misc_messages.c
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_num_tasks_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_priority_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskloop_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskwait_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskwait_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskwait_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskyield_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskyield_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/taskyield_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_collapse_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_copyin_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_if_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_simd_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_parallel_for_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_aligned_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_collapse_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_default_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_dist_schedule_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_lastprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_linear_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_loop_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_safelen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_simdlen_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_simd_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_distribute_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_firstprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_firstprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_num_teams_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_private_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_private_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_reduction_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_shared_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/teams_thread_limit_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/threadprivate_ast_print.cpp
  vendor/clang/dist-release_60/test/OpenMP/threadprivate_codegen.cpp
  vendor/clang/dist-release_60/test/OpenMP/threadprivate_messages.cpp
  vendor/clang/dist-release_60/test/OpenMP/varargs.cpp
  vendor/clang/dist-release_60/test/OpenMP/vla_crash.c
  vendor/clang/dist-release_60/test/Preprocessor/predefined-arch-macros.c
  vendor/clang/dist-release_60/test/Sema/compare.c
  vendor/clang/dist-release_60/test/Sema/tautological-constant-compare.c
  vendor/clang/dist-release_60/test/Sema/tautological-constant-enum-compare.c
  vendor/clang/dist-release_60/test/Sema/tautological-unsigned-enum-zero-compare.c
  vendor/clang/dist-release_60/test/Sema/tautological-unsigned-enum-zero-compare.cpp
  vendor/clang/dist-release_60/test/Sema/tautological-unsigned-zero-compare.c
  vendor/clang/dist-release_60/test/Sema/warn-strict-prototypes.c
  vendor/clang/dist-release_60/test/SemaCXX/compare.cpp
  vendor/clang/dist-release_60/test/SemaCXX/copy-initialization.cpp
  vendor/clang/dist-release_60/test/SemaCXX/cxx1y-contextual-conversion-tweaks.cpp
  vendor/clang/dist-release_60/test/SemaCXX/cxx1y-generic-lambdas.cpp
  vendor/clang/dist-release_60/test/SemaCXX/cxx2a-pointer-to-const-ref-member.cpp
  vendor/clang/dist-release_60/test/SemaCXX/extern-c.cpp
  vendor/clang/dist-release_60/test/SemaCXX/lambda-expressions.cpp
  vendor/clang/dist-release_60/test/SemaTemplate/undefined-template.cpp
  vendor/clang/dist-release_60/tools/driver/cc1as_main.cpp
  vendor/clang/dist-release_60/tools/libclang/CIndex.cpp
  vendor/clang/dist-release_60/tools/libclang/libclang.exports

Modified: vendor/clang/dist-release_60/docs/AttributeReference.rst
==============================================================================
--- vendor/clang/dist-release_60/docs/AttributeReference.rst	Sat Jan  6 21:34:33 2018	(r327640)
+++ vendor/clang/dist-release_60/docs/AttributeReference.rst	Sat Jan  6 21:35:46 2018	(r327641)
@@ -1,13 +1,3567 @@
 ..
   -------------------------------------------------------------------
   NOTE: This file is automatically generated by running clang-tblgen
-  -gen-attr-docs. Do not edit this file by hand!! The contents for
-  this file are automatically generated by a server-side process.
-  
-  Please do not commit this file. The file exists for local testing
-  purposes only.
+  -gen-attr-docs. Do not edit this file by hand!!
   -------------------------------------------------------------------
 
 ===================
 Attributes in Clang
-===================
\ No newline at end of file
+===================
+.. contents::
+   :local:
+
+Introduction
+============
+
+This page lists the attributes currently supported by Clang.
+
+Function Attributes
+===================
+
+
+#pragma omp declare simd
+------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "","","","","", "X", ""
+
+The `declare simd` construct can be applied to a function to enable the creation
+of one or more versions that can process multiple arguments using SIMD
+instructions from a single invocation in a SIMD loop. The `declare simd`
+directive is a declarative directive. There may be multiple `declare simd`
+directives for a function. The use of a `declare simd` construct on a function
+enables the creation of SIMD versions of the associated function that can be
+used to process multiple arguments from a single invocation from a SIMD loop
+concurrently.
+The syntax of the `declare simd` construct is as follows:
+
+  .. code-block:: c
+
+  #pragma omp declare simd [clause[[,] clause] ...] new-line
+  [#pragma omp declare simd [clause[[,] clause] ...] new-line]
+  [...]
+  function definition or declaration
+
+where clause is one of the following:
+
+  .. code-block:: c
+
+  simdlen(length)
+  linear(argument-list[:constant-linear-step])
+  aligned(argument-list[:alignment])
+  uniform(argument-list)
+  inbranch
+  notinbranch
+
+
+#pragma omp declare target
+--------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "","","","","", "X", ""
+
+The `declare target` directive specifies that variables and functions are mapped
+to a device for OpenMP offload mechanism.
+
+The syntax of the declare target directive is as follows:
+
+  .. code-block:: c
+
+  #pragma omp declare target new-line
+  declarations-definition-seq
+  #pragma omp end declare target new-line
+
+
+_Noreturn
+---------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "","","","","X", "", ""
+
+A function declared as ``_Noreturn`` shall not return to its caller. The
+compiler will generate a diagnostic for a function declared as ``_Noreturn``
+that appears to be capable of returning to its caller.
+
+
+abi_tag (gnu::abi_tag)
+----------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+The ``abi_tag`` attribute can be applied to a function, variable, class or
+inline namespace declaration to modify the mangled name of the entity. It gives
+the ability to distinguish between different versions of the same entity but
+with different ABI versions supported. For example, a newer version of a class
+could have a different set of data members and thus have a different size. Using
+the ``abi_tag`` attribute, it is possible to have different mangled names for
+a global variable of the class type. Therefor, the old code could keep using
+the old manged name and the new code will use the new mangled name with tags.
+
+
+acquire_capability (acquire_shared_capability, clang::acquire_capability, clang::acquire_shared_capability)
+-----------------------------------------------------------------------------------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", ""
+
+Marks a function as acquiring a capability.
+
+
+alloc_align (gnu::alloc_align)
+------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", ""
+
+Use ``__attribute__((alloc_align(<alignment>))`` on a function
+declaration to specify that the return value of the function (which must be a
+pointer type) is at least as aligned as the value of the indicated parameter. The 
+parameter is given by its index in the list of formal parameters; the first
+parameter has index 1 unless the function is a C++ non-static member function,
+in which case the first parameter has index 2 to account for the implicit ``this``
+parameter.
+
+.. code-block:: c++
+
+  // The returned pointer has the alignment specified by the first parameter.
+  void *a(size_t align) __attribute__((alloc_align(1)));
+
+  // The returned pointer has the alignment specified by the second parameter.
+  void *b(void *v, size_t align) __attribute__((alloc_align(2)));
+
+  // The returned pointer has the alignment specified by the second visible
+  // parameter, however it must be adjusted for the implicit 'this' parameter.
+  void *Foo::b(void *v, size_t align) __attribute__((alloc_align(3)));
+
+Note that this attribute merely informs the compiler that a function always
+returns a sufficiently aligned pointer. It does not cause the compiler to 
+emit code to enforce that alignment.  The behavior is undefined if the returned
+poitner is not sufficiently aligned.
+
+
+alloc_size (gnu::alloc_size)
+----------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+The ``alloc_size`` attribute can be placed on functions that return pointers in
+order to hint to the compiler how many bytes of memory will be available at the
+returned poiner. ``alloc_size`` takes one or two arguments.
+
+- ``alloc_size(N)`` implies that argument number N equals the number of
+  available bytes at the returned pointer.
+- ``alloc_size(N, M)`` implies that the product of argument number N and
+  argument number M equals the number of available bytes at the returned
+  pointer.
+
+Argument numbers are 1-based.
+
+An example of how to use ``alloc_size``
+
+.. code-block:: c
+
+  void *my_malloc(int a) __attribute__((alloc_size(1)));
+  void *my_calloc(int a, int b) __attribute__((alloc_size(1, 2)));
+
+  int main() {
+    void *const p = my_malloc(100);
+    assert(__builtin_object_size(p, 0) == 100);
+    void *const a = my_calloc(20, 5);
+    assert(__builtin_object_size(a, 0) == 100);
+  }
+
+.. Note:: This attribute works differently in clang than it does in GCC.
+  Specifically, clang will only trace ``const`` pointers (as above); we give up
+  on pointers that are not marked as ``const``. In the vast majority of cases,
+  this is unimportant, because LLVM has support for the ``alloc_size``
+  attribute. However, this may cause mildly unintuitive behavior when used with
+  other attributes, such as ``enable_if``.
+
+
+assert_capability (assert_shared_capability, clang::assert_capability, clang::assert_shared_capability)
+-------------------------------------------------------------------------------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", ""
+
+Marks a function that dynamically tests whether a capability is held, and halts
+the program if it is not held.
+
+
+assume_aligned (gnu::assume_aligned)
+------------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+Use ``__attribute__((assume_aligned(<alignment>[,<offset>]))`` on a function
+declaration to specify that the return value of the function (which must be a
+pointer type) has the specified offset, in bytes, from an address with the
+specified alignment. The offset is taken to be zero if omitted.
+
+.. code-block:: c++
+
+  // The returned pointer value has 32-byte alignment.
+  void *a() __attribute__((assume_aligned (32)));
+
+  // The returned pointer value is 4 bytes greater than an address having
+  // 32-byte alignment.
+  void *b() __attribute__((assume_aligned (32, 4)));
+
+Note that this attribute provides information to the compiler regarding a
+condition that the code already ensures is true. It does not cause the compiler
+to enforce the provided alignment assumption.
+
+
+availability
+------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","","","","", "", "X"
+
+The ``availability`` attribute can be placed on declarations to describe the
+lifecycle of that declaration relative to operating system versions.  Consider
+the function declaration for a hypothetical function ``f``:
+
+.. code-block:: c++
+
+  void f(void) __attribute__((availability(macos,introduced=10.4,deprecated=10.6,obsoleted=10.7)));
+
+The availability attribute states that ``f`` was introduced in macOS 10.4,
+deprecated in macOS 10.6, and obsoleted in macOS 10.7.  This information
+is used by Clang to determine when it is safe to use ``f``: for example, if
+Clang is instructed to compile code for macOS 10.5, a call to ``f()``
+succeeds.  If Clang is instructed to compile code for macOS 10.6, the call
+succeeds but Clang emits a warning specifying that the function is deprecated.
+Finally, if Clang is instructed to compile code for macOS 10.7, the call
+fails because ``f()`` is no longer available.
+
+The availability attribute is a comma-separated list starting with the
+platform name and then including clauses specifying important milestones in the
+declaration's lifetime (in any order) along with additional information.  Those
+clauses can be:
+
+introduced=\ *version*
+  The first version in which this declaration was introduced.
+
+deprecated=\ *version*
+  The first version in which this declaration was deprecated, meaning that
+  users should migrate away from this API.
+
+obsoleted=\ *version*
+  The first version in which this declaration was obsoleted, meaning that it
+  was removed completely and can no longer be used.
+
+unavailable
+  This declaration is never available on this platform.
+
+message=\ *string-literal*
+  Additional message text that Clang will provide when emitting a warning or
+  error about use of a deprecated or obsoleted declaration.  Useful to direct
+  users to replacement APIs.
+
+replacement=\ *string-literal*
+  Additional message text that Clang will use to provide Fix-It when emitting
+  a warning about use of a deprecated declaration. The Fix-It will replace
+  the deprecated declaration with the new declaration specified.
+
+Multiple availability attributes can be placed on a declaration, which may
+correspond to different platforms.  Only the availability attribute with the
+platform corresponding to the target platform will be used; any others will be
+ignored.  If no availability attribute specifies availability for the current
+target platform, the availability attributes are ignored.  Supported platforms
+are:
+
+``ios``
+  Apple's iOS operating system.  The minimum deployment target is specified by
+  the ``-mios-version-min=*version*`` or ``-miphoneos-version-min=*version*``
+  command-line arguments.
+
+``macos``
+  Apple's macOS operating system.  The minimum deployment target is
+  specified by the ``-mmacosx-version-min=*version*`` command-line argument.
+  ``macosx`` is supported for backward-compatibility reasons, but it is
+  deprecated.
+
+``tvos``
+  Apple's tvOS operating system.  The minimum deployment target is specified by
+  the ``-mtvos-version-min=*version*`` command-line argument.
+
+``watchos``
+  Apple's watchOS operating system.  The minimum deployment target is specified by
+  the ``-mwatchos-version-min=*version*`` command-line argument.
+
+A declaration can typically be used even when deploying back to a platform
+version prior to when the declaration was introduced.  When this happens, the
+declaration is `weakly linked
+<https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html>`_,
+as if the ``weak_import`` attribute were added to the declaration.  A
+weakly-linked declaration may or may not be present a run-time, and a program
+can determine whether the declaration is present by checking whether the
+address of that declaration is non-NULL.
+
+The flag ``strict`` disallows using API when deploying back to a
+platform version prior to when the declaration was introduced.  An
+attempt to use such API before its introduction causes a hard error.
+Weakly-linking is almost always a better API choice, since it allows
+users to query availability at runtime.
+
+If there are multiple declarations of the same entity, the availability
+attributes must either match on a per-platform basis or later
+declarations must not have availability attributes for that
+platform. For example:
+
+.. code-block:: c
+
+  void g(void) __attribute__((availability(macos,introduced=10.4)));
+  void g(void) __attribute__((availability(macos,introduced=10.4))); // okay, matches
+  void g(void) __attribute__((availability(ios,introduced=4.0))); // okay, adds a new platform
+  void g(void); // okay, inherits both macos and ios availability from above.
+  void g(void) __attribute__((availability(macos,introduced=10.5))); // error: mismatch
+
+When one method overrides another, the overriding method can be more widely available than the overridden method, e.g.,:
+
+.. code-block:: objc
+
+  @interface A
+  - (id)method __attribute__((availability(macos,introduced=10.4)));
+  - (id)method2 __attribute__((availability(macos,introduced=10.4)));
+  @end
+
+  @interface B : A
+  - (id)method __attribute__((availability(macos,introduced=10.3))); // okay: method moved into base class later
+  - (id)method __attribute__((availability(macos,introduced=10.5))); // error: this method was available via the base class in 10.4
+  @end
+
+Starting with the macOS 10.12 SDK, the ``API_AVAILABLE`` macro from
+``<os/availability.h>`` can simplify the spelling:
+
+.. code-block:: objc
+
+  @interface A
+  - (id)method API_AVAILABLE(macos(10.11)));
+  - (id)otherMethod API_AVAILABLE(macos(10.11), ios(11.0));
+  @end
+
+Also see the documentation for `@available
+<http://clang.llvm.org/docs/LanguageExtensions.html#objective-c-available>`_
+
+
+carries_dependency
+------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+The ``carries_dependency`` attribute specifies dependency propagation into and
+out of functions.
+
+When specified on a function or Objective-C method, the ``carries_dependency``
+attribute means that the return value carries a dependency out of the function,
+so that the implementation need not constrain ordering upon return from that
+function. Implementations of the function and its caller may choose to preserve
+dependencies instead of emitting memory ordering instructions such as fences.
+
+Note, this attribute does not change the meaning of the program, but may result
+in generation of more efficient code.
+
+
+convergent (clang::convergent)
+------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+The ``convergent`` attribute can be placed on a function declaration. It is
+translated into the LLVM ``convergent`` attribute, which indicates that the call
+instructions of a function with this attribute cannot be made control-dependent
+on any additional values.
+
+In languages designed for SPMD/SIMT programming model, e.g. OpenCL or CUDA,
+the call instructions of a function with this attribute must be executed by
+all work items or threads in a work group or sub group.
+
+This attribute is different from ``noduplicate`` because it allows duplicating
+function calls if it can be proved that the duplicated function calls are
+not made control-dependent on any additional values, e.g., unrolling a loop
+executed by all work items.
+
+Sample usage:
+.. code-block:: c
+
+  void convfunc(void) __attribute__((convergent));
+  // Setting it as a C++11 attribute is also valid in a C++ program.
+  // void convfunc(void) [[clang::convergent]];
+
+
+deprecated (gnu::deprecated)
+----------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","X","X","", "", ""
+
+The ``deprecated`` attribute can be applied to a function, a variable, or a
+type. This is useful when identifying functions, variables, or types that are
+expected to be removed in a future version of a program.
+
+Consider the function declaration for a hypothetical function ``f``:
+
+.. code-block:: c++
+
+  void f(void) __attribute__((deprecated("message", "replacement")));
+
+When spelled as `__attribute__((deprecated))`, the deprecated attribute can have
+two optional string arguments. The first one is the message to display when
+emitting the warning; the second one enables the compiler to provide a Fix-It
+to replace the deprecated name with a new name. Otherwise, when spelled as
+`[[gnu::deprecated]] or [[deprecated]]`, the attribute can have one optional
+string argument which is the message to display when emitting the warning.
+
+
+diagnose_if
+-----------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","","","","", "", ""
+
+The ``diagnose_if`` attribute can be placed on function declarations to emit
+warnings or errors at compile-time if calls to the attributed function meet
+certain user-defined criteria. For example:
+
+.. code-block:: c
+
+  void abs(int a)
+    __attribute__((diagnose_if(a >= 0, "Redundant abs call", "warning")));
+  void must_abs(int a)
+    __attribute__((diagnose_if(a >= 0, "Redundant abs call", "error")));
+
+  int val = abs(1); // warning: Redundant abs call
+  int val2 = must_abs(1); // error: Redundant abs call
+  int val3 = abs(val);
+  int val4 = must_abs(val); // Because run-time checks are not emitted for
+                            // diagnose_if attributes, this executes without
+                            // issue.
+
+
+``diagnose_if`` is closely related to ``enable_if``, with a few key differences:
+
+* Overload resolution is not aware of ``diagnose_if`` attributes: they're
+  considered only after we select the best candidate from a given candidate set.
+* Function declarations that differ only in their ``diagnose_if`` attributes are
+  considered to be redeclarations of the same function (not overloads).
+* If the condition provided to ``diagnose_if`` cannot be evaluated, no
+  diagnostic will be emitted.
+
+Otherwise, ``diagnose_if`` is essentially the logical negation of ``enable_if``.
+
+As a result of bullet number two, ``diagnose_if`` attributes will stack on the
+same function. For example:
+
+.. code-block:: c
+
+  int foo() __attribute__((diagnose_if(1, "diag1", "warning")));
+  int foo() __attribute__((diagnose_if(1, "diag2", "warning")));
+
+  int bar = foo(); // warning: diag1
+                   // warning: diag2
+  int (*fooptr)(void) = foo; // warning: diag1
+                             // warning: diag2
+
+  constexpr int supportsAPILevel(int N) { return N < 5; }
+  int baz(int a)
+    __attribute__((diagnose_if(!supportsAPILevel(10),
+                               "Upgrade to API level 10 to use baz", "error")));
+  int baz(int a)
+    __attribute__((diagnose_if(!a, "0 is not recommended.", "warning")));
+
+  int (*bazptr)(int) = baz; // error: Upgrade to API level 10 to use baz
+  int v = baz(0); // error: Upgrade to API level 10 to use baz
+
+Query for this feature with ``__has_attribute(diagnose_if)``.
+
+
+disable_tail_calls (clang::disable_tail_calls)
+----------------------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+The ``disable_tail_calls`` attribute instructs the backend to not perform tail call optimization inside the marked function.
+
+For example:
+
+  .. code-block:: c
+
+    int callee(int);
+
+    int foo(int a) __attribute__((disable_tail_calls)) {
+      return callee(a); // This call is not tail-call optimized.
+    }
+
+Marking virtual functions as ``disable_tail_calls`` is legal.
+
+  .. code-block:: c++
+
+    int callee(int);
+
+    class Base {
+    public:
+      [[clang::disable_tail_calls]] virtual int foo1() {
+        return callee(); // This call is not tail-call optimized.
+      }
+    };
+
+    class Derived1 : public Base {
+    public:
+      int foo1() override {
+        return callee(); // This call is tail-call optimized.
+      }
+    };
+
+
+enable_if
+---------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","","","","", "", "X"
+
+.. Note:: Some features of this attribute are experimental. The meaning of
+  multiple enable_if attributes on a single declaration is subject to change in
+  a future version of clang. Also, the ABI is not standardized and the name
+  mangling may change in future versions. To avoid that, use asm labels.
+
+The ``enable_if`` attribute can be placed on function declarations to control
+which overload is selected based on the values of the function's arguments.
+When combined with the ``overloadable`` attribute, this feature is also
+available in C.
+
+.. code-block:: c++
+
+  int isdigit(int c);
+  int isdigit(int c) __attribute__((enable_if(c <= -1 || c > 255, "chosen when 'c' is out of range"))) __attribute__((unavailable("'c' must have the value of an unsigned char or EOF")));
+  
+  void foo(char c) {
+    isdigit(c);
+    isdigit(10);
+    isdigit(-10);  // results in a compile-time error.
+  }
+
+The enable_if attribute takes two arguments, the first is an expression written
+in terms of the function parameters, the second is a string explaining why this
+overload candidate could not be selected to be displayed in diagnostics. The
+expression is part of the function signature for the purposes of determining
+whether it is a redeclaration (following the rules used when determining
+whether a C++ template specialization is ODR-equivalent), but is not part of
+the type.
+
+The enable_if expression is evaluated as if it were the body of a
+bool-returning constexpr function declared with the arguments of the function
+it is being applied to, then called with the parameters at the call site. If the
+result is false or could not be determined through constant expression
+evaluation, then this overload will not be chosen and the provided string may
+be used in a diagnostic if the compile fails as a result.
+
+Because the enable_if expression is an unevaluated context, there are no global
+state changes, nor the ability to pass information from the enable_if
+expression to the function body. For example, suppose we want calls to
+strnlen(strbuf, maxlen) to resolve to strnlen_chk(strbuf, maxlen, size of
+strbuf) only if the size of strbuf can be determined:
+
+.. code-block:: c++
+
+  __attribute__((always_inline))
+  static inline size_t strnlen(const char *s, size_t maxlen)
+    __attribute__((overloadable))
+    __attribute__((enable_if(__builtin_object_size(s, 0) != -1))),
+                             "chosen when the buffer size is known but 'maxlen' is not")))
+  {
+    return strnlen_chk(s, maxlen, __builtin_object_size(s, 0));
+  }
+
+Multiple enable_if attributes may be applied to a single declaration. In this
+case, the enable_if expressions are evaluated from left to right in the
+following manner. First, the candidates whose enable_if expressions evaluate to
+false or cannot be evaluated are discarded. If the remaining candidates do not
+share ODR-equivalent enable_if expressions, the overload resolution is
+ambiguous. Otherwise, enable_if overload resolution continues with the next
+enable_if attribute on the candidates that have not been discarded and have
+remaining enable_if attributes. In this way, we pick the most specific
+overload out of a number of viable overloads using enable_if.
+
+.. code-block:: c++
+
+  void f() __attribute__((enable_if(true, "")));  // #1
+  void f() __attribute__((enable_if(true, ""))) __attribute__((enable_if(true, "")));  // #2
+  
+  void g(int i, int j) __attribute__((enable_if(i, "")));  // #1
+  void g(int i, int j) __attribute__((enable_if(j, ""))) __attribute__((enable_if(true)));  // #2
+
+In this example, a call to f() is always resolved to #2, as the first enable_if
+expression is ODR-equivalent for both declarations, but #1 does not have another
+enable_if expression to continue evaluating, so the next round of evaluation has
+only a single candidate. In a call to g(1, 1), the call is ambiguous even though
+#2 has more enable_if attributes, because the first enable_if expressions are
+not ODR-equivalent.
+
+Query for this feature with ``__has_attribute(enable_if)``.
+
+Note that functions with one or more ``enable_if`` attributes may not have
+their address taken, unless all of the conditions specified by said
+``enable_if`` are constants that evaluate to ``true``. For example:
+
+.. code-block:: c
+
+  const int TrueConstant = 1;
+  const int FalseConstant = 0;
+  int f(int a) __attribute__((enable_if(a > 0, "")));
+  int g(int a) __attribute__((enable_if(a == 0 || a != 0, "")));
+  int h(int a) __attribute__((enable_if(1, "")));
+  int i(int a) __attribute__((enable_if(TrueConstant, "")));
+  int j(int a) __attribute__((enable_if(FalseConstant, "")));
+
+  void fn() {
+    int (*ptr)(int);
+    ptr = &f; // error: 'a > 0' is not always true
+    ptr = &g; // error: 'a == 0 || a != 0' is not a truthy constant
+    ptr = &h; // OK: 1 is a truthy constant
+    ptr = &i; // OK: 'TrueConstant' is a truthy constant
+    ptr = &j; // error: 'FalseConstant' is a constant, but not truthy
+  }
+
+Because ``enable_if`` evaluation happens during overload resolution,
+``enable_if`` may give unintuitive results when used with templates, depending
+on when overloads are resolved. In the example below, clang will emit a
+diagnostic about no viable overloads for ``foo`` in ``bar``, but not in ``baz``:
+
+.. code-block:: c++
+
+  double foo(int i) __attribute__((enable_if(i > 0, "")));
+  void *foo(int i) __attribute__((enable_if(i <= 0, "")));
+  template <int I>
+  auto bar() { return foo(I); }
+
+  template <typename T>
+  auto baz() { return foo(T::number); }
+
+  struct WithNumber { constexpr static int number = 1; };
+  void callThem() {
+    bar<sizeof(WithNumber)>();
+    baz<WithNumber>();
+  }
+
+This is because, in ``bar``, ``foo`` is resolved prior to template
+instantiation, so the value for ``I`` isn't known (thus, both ``enable_if``
+conditions for ``foo`` fail). However, in ``baz``, ``foo`` is resolved during
+template instantiation, so the value for ``T::number`` is known.
+
+
+external_source_symbol (clang::external_source_symbol)
+------------------------------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+The ``external_source_symbol`` attribute specifies that a declaration originates
+from an external source and describes the nature of that source.
+
+The fact that Clang is capable of recognizing declarations that were defined
+externally can be used to provide better tooling support for mixed-language
+projects or projects that rely on auto-generated code. For instance, an IDE that
+uses Clang and that supports mixed-language projects can use this attribute to
+provide a correct 'jump-to-definition' feature. For a concrete example,
+consider a protocol that's defined in a Swift file:
+
+.. code-block:: swift
+
+  @objc public protocol SwiftProtocol {
+    func method()
+  }
+
+This protocol can be used from Objective-C code by including a header file that
+was generated by the Swift compiler. The declarations in that header can use
+the ``external_source_symbol`` attribute to make Clang aware of the fact
+that ``SwiftProtocol`` actually originates from a Swift module:
+
+.. code-block:: objc
+
+  __attribute__((external_source_symbol(language="Swift",defined_in="module")))
+  @protocol SwiftProtocol
+  @required
+  - (void) method;
+  @end
+
+Consequently, when 'jump-to-definition' is performed at a location that
+references ``SwiftProtocol``, the IDE can jump to the original definition in
+the Swift source file rather than jumping to the Objective-C declaration in the
+auto-generated header file.
+
+The ``external_source_symbol`` attribute is a comma-separated list that includes
+clauses that describe the origin and the nature of the particular declaration.
+Those clauses can be:
+
+language=\ *string-literal*
+  The name of the source language in which this declaration was defined.
+
+defined_in=\ *string-literal*
+  The name of the source container in which the declaration was defined. The
+  exact definition of source container is language-specific, e.g. Swift's
+  source containers are modules, so ``defined_in`` should specify the Swift
+  module name.
+
+generated_declaration
+  This declaration was automatically generated by some tool.
+
+The clauses can be specified in any order. The clauses that are listed above are
+all optional, but the attribute has to have at least one clause.
+
+
+flatten (gnu::flatten)
+----------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+The ``flatten`` attribute causes calls within the attributed function to
+be inlined unless it is impossible to do so, for example if the body of the
+callee is unavailable or if the callee has the ``noinline`` attribute.
+
+
+force_align_arg_pointer (gnu::force_align_arg_pointer)
+------------------------------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", ""
+
+Use this attribute to force stack alignment.
+
+Legacy x86 code uses 4-byte stack alignment. Newer aligned SSE instructions
+(like 'movaps') that work with the stack require operands to be 16-byte aligned.
+This attribute realigns the stack in the function prologue to make sure the
+stack can be used with SSE instructions.
+
+Note that the x86_64 ABI forces 16-byte stack alignment at the call site.
+Because of this, 'force_align_arg_pointer' is not needed on x86_64, except in
+rare cases where the caller does not align the stack properly (e.g. flow
+jumps from i386 arch code).
+
+  .. code-block:: c
+
+    __attribute__ ((force_align_arg_pointer))
+    void f () {
+      ...
+    }
+
+
+format (gnu::format)
+--------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", ""
+
+Clang supports the ``format`` attribute, which indicates that the function
+accepts a ``printf`` or ``scanf``-like format string and corresponding
+arguments or a ``va_list`` that contains these arguments.
+
+Please see `GCC documentation about format attribute
+<http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html>`_ to find details
+about attribute syntax.
+
+Clang implements two kinds of checks with this attribute.
+
+#. Clang checks that the function with the ``format`` attribute is called with
+   a format string that uses format specifiers that are allowed, and that
+   arguments match the format string.  This is the ``-Wformat`` warning, it is
+   on by default.
+
+#. Clang checks that the format string argument is a literal string.  This is
+   the ``-Wformat-nonliteral`` warning, it is off by default.
+
+   Clang implements this mostly the same way as GCC, but there is a difference
+   for functions that accept a ``va_list`` argument (for example, ``vprintf``).
+   GCC does not emit ``-Wformat-nonliteral`` warning for calls to such
+   functions.  Clang does not warn if the format string comes from a function
+   parameter, where the function is annotated with a compatible attribute,
+   otherwise it warns.  For example:
+
+   .. code-block:: c
+
+     __attribute__((__format__ (__scanf__, 1, 3)))
+     void foo(const char* s, char *buf, ...) {
+       va_list ap;
+       va_start(ap, buf);
+
+       vprintf(s, ap); // warning: format string is not a string literal
+     }
+
+   In this case we warn because ``s`` contains a format string for a
+   ``scanf``-like function, but it is passed to a ``printf``-like function.
+
+   If the attribute is removed, clang still warns, because the format string is
+   not a string literal.
+
+   Another example:
+
+   .. code-block:: c
+
+     __attribute__((__format__ (__printf__, 1, 3)))
+     void foo(const char* s, char *buf, ...) {
+       va_list ap;
+       va_start(ap, buf);
+
+       vprintf(s, ap); // warning
+     }
+
+   In this case Clang does not warn because the format string ``s`` and
+   the corresponding arguments are annotated.  If the arguments are
+   incorrect, the caller of ``foo`` will receive a warning.
+
+
+ifunc (gnu::ifunc)
+------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+``__attribute__((ifunc("resolver")))`` is used to mark that the address of a declaration should be resolved at runtime by calling a resolver function.
+
+The symbol name of the resolver function is given in quotes.  A function with this name (after mangling) must be defined in the current translation unit; it may be ``static``.  The resolver function should take no arguments and return a pointer.
+
+The ``ifunc`` attribute may only be used on a function declaration.  A function declaration with an ``ifunc`` attribute is considered to be a definition of the declared entity.  The entity must not have weak linkage; for example, in C++, it cannot be applied to a declaration if a definition at that location would be considered inline.
+
+Not all targets support this attribute.  ELF targets support this attribute when using binutils v2.20.1 or higher and glibc v2.11.1 or higher.  Non-ELF targets currently do not support this attribute.
+
+
+internal_linkage (clang::internal_linkage)
+------------------------------------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+The ``internal_linkage`` attribute changes the linkage type of the declaration to internal.
+This is similar to C-style ``static``, but can be used on classes and class methods. When applied to a class definition,
+this attribute affects all methods and static data members of that class.
+This can be used to contain the ABI of a C++ library by excluding unwanted class methods from the export tables.
+
+
+interrupt (ARM)
+---------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", ""
+
+Clang supports the GNU style ``__attribute__((interrupt("TYPE")))`` attribute on
+ARM targets. This attribute may be attached to a function definition and
+instructs the backend to generate appropriate function entry/exit code so that
+it can be used directly as an interrupt service routine.
+
+The parameter passed to the interrupt attribute is optional, but if
+provided it must be a string literal with one of the following values: "IRQ",
+"FIQ", "SWI", "ABORT", "UNDEF".
+
+The semantics are as follows:
+
+- If the function is AAPCS, Clang instructs the backend to realign the stack to
+  8 bytes on entry. This is a general requirement of the AAPCS at public
+  interfaces, but may not hold when an exception is taken. Doing this allows
+  other AAPCS functions to be called.
+- If the CPU is M-class this is all that needs to be done since the architecture
+  itself is designed in such a way that functions obeying the normal AAPCS ABI
+  constraints are valid exception handlers.
+- If the CPU is not M-class, the prologue and epilogue are modified to save all
+  non-banked registers that are used, so that upon return the user-mode state
+  will not be corrupted. Note that to avoid unnecessary overhead, only
+  general-purpose (integer) registers are saved in this way. If VFP operations
+  are needed, that state must be saved manually.
+
+  Specifically, interrupt kinds other than "FIQ" will save all core registers
+  except "lr" and "sp". "FIQ" interrupts will save r0-r7.
+- If the CPU is not M-class, the return instruction is changed to one of the
+  canonical sequences permitted by the architecture for exception return. Where
+  possible the function itself will make the necessary "lr" adjustments so that
+  the "preferred return address" is selected.
+
+  Unfortunately the compiler is unable to make this guarantee for an "UNDEF"
+  handler, where the offset from "lr" to the preferred return address depends on
+  the execution state of the code which generated the exception. In this case
+  a sequence equivalent to "movs pc, lr" will be used.
+
+
+interrupt (AVR)
+---------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+Clang supports the GNU style ``__attribute__((interrupt))`` attribute on
+AVR targets. This attribute may be attached to a function definition and instructs
+the backend to generate appropriate function entry/exit code so that it can be used
+directly as an interrupt service routine.
+
+On the AVR, the hardware globally disables interrupts when an interrupt is executed.
+The first instruction of an interrupt handler declared with this attribute is a SEI
+instruction to re-enable interrupts. See also the signal attribute that
+does not insert a SEI instruction.
+
+
+interrupt (MIPS)
+----------------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","X","","","", "", "X"
+
+Clang supports the GNU style ``__attribute__((interrupt("ARGUMENT")))`` attribute on
+MIPS targets. This attribute may be attached to a function definition and instructs
+the backend to generate appropriate function entry/exit code so that it can be used
+directly as an interrupt service routine.
+
+By default, the compiler will produce a function prologue and epilogue suitable for
+an interrupt service routine that handles an External Interrupt Controller (eic)
+generated interrupt. This behaviour can be explicitly requested with the "eic"
+argument.
+
+Otherwise, for use with vectored interrupt mode, the argument passed should be
+of the form "vector=LEVEL" where LEVEL is one of the following values:
+"sw0", "sw1", "hw0", "hw1", "hw2", "hw3", "hw4", "hw5". The compiler will
+then set the interrupt mask to the corresponding level which will mask all
+interrupts up to and including the argument.
+
+The semantics are as follows:
+
+- The prologue is modified so that the Exception Program Counter (EPC) and
+  Status coprocessor registers are saved to the stack. The interrupt mask is
+  set so that the function can only be interrupted by a higher priority
+  interrupt. The epilogue will restore the previous values of EPC and Status.
+
+- The prologue and epilogue are modified to save and restore all non-kernel
+  registers as necessary.
+
+- The FPU is disabled in the prologue, as the floating pointer registers are not
+  spilled to the stack.
+
+- The function return sequence is changed to use an exception return instruction.
+
+- The parameter sets the interrupt mask for the function corresponding to the
+  interrupt level specified. If no mask is specified the interrupt mask
+  defaults to "eic".
+
+
+kernel
+------
+.. csv-table:: Supported Syntaxes
+   :header: "GNU", "C++11", "C2x", "__declspec", "Keyword", "Pragma", "Pragma clang attribute"
+
+   "X","","","","", "", "X"
+
+``__attribute__((kernel))`` is used to mark a ``kernel`` function in
+RenderScript.
+
+In RenderScript, ``kernel`` functions are used to express data-parallel
+computations.  The RenderScript runtime efficiently parallelizes ``kernel``
+functions to run on computational resources such as multi-core CPUs and GPUs.
+See the RenderScript_ documentation for more information.
+
+.. _RenderScript: https://developer.android.com/guide/topics/renderscript/compute.html

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801062135.w06LZlDa067262>