LLVM/project 2c57c89llvm/test/Analysis/CostModel/AArch64 arith-widening.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll

Merge branch 'main' of https://github.com/llvm/llvm-project into remove-old-res-middle
DeltaFile
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+2,915-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+1,434-1,418llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
+940-1,896llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
+10,875-9,2902,274 files not shown
+97,298-62,3572,280 files

LLVM/project ed3f871llvm/test/Analysis/CostModel/AArch64 arith-widening.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-cttz-vp.ll

Merge branch 'main' into users/vitalybuka/spr/ir-optimize-cfi-in-writecombinedglobalvaluesummary
DeltaFile
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+1,434-1,418llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
+940-1,896llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
+1,240-1,230llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
+9,200-10,5201,240 files not shown
+47,494-33,1451,246 files

LLVM/project 397c487llvm/test/CodeGen/AMDGPU global_atomics_scan_fadd.ll global_atomics_scan_fsub.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-cttz-vp.ll

Merge remote-tracking branch 'origin/main' into users/ccc03-08-_astmatcher_templateargumentcountis_support_functiondecl_
DeltaFile
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
+726-1,509llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
+7,080-8,2571,023 files not shown
+37,140-28,4421,029 files

LLVM/project 32717eaclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

Reland: [clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [8 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+28-9clang/include/clang/Sema/Sema.h
+16-16clang/test/SemaTemplate/cwg2398.cpp
+192-25191 files not shown
+633-56097 files

LLVM/project 07f3388clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

Revert "[clang] Implement instantiation context note for checking template parameters (#126088)"

This reverts commit a24523ac8dc07f3478311a5969184b922b520395.

This is causing significant compile-time regressions for C++ code, see:
https://github.com/llvm/llvm-project/pull/126088#issuecomment-2704874202
DeltaFile
+148-73clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+26-23clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+9-28clang/include/clang/Sema/Sema.h
+255-19691 files not shown
+575-64897 files

LLVM/project 7dc7264llvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2bf16.v8bf16.ll, llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites long-spec-const-composite.ll

Merge branch 'main' into users/ylzsx/r-tls-noie
DeltaFile
+65,595-0llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll
+29,745-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+203,722-016,100 files not shown
+2,040,184-604,85516,106 files

LLVM/project 33f623dllvm/test/CodeGen/AMDGPU vni8-across-blocks.ll shufflevector-physreg-copy.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll qci-interrupt-attr-fpr.ll

Merge branch 'main' into users/kparzysz/spr/o02-metadirective-flush
DeltaFile
+2,927-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+2,821-0llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+603-1,206llvm/test/CodeGen/X86/matrix-multiply.ll
+706-540llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
+812-407llvm/test/CodeGen/Thumb2/mve-vld3.ll
+795-0llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
+8,664-2,153747 files not shown
+23,408-10,802753 files

LLVM/project 2ff290bllvm/test/CodeGen/RISCV xqccmp-push-pop-popret.ll qci-interrupt-attr.ll, llvm/test/CodeGen/X86 vector-interleaved-store-i16-stride-7.ll vector-interleaved-store-i8-stride-7.ll

Rebase

Created using spr 1.3.5
DeltaFile
+3,951-0llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
+3,860-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
+1,746-1,734llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
+1,532-1,534llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
+2,927-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+2,821-0llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+16,837-3,2681,830 files not shown
+73,594-27,5911,836 files

LLVM/project a24523aclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

[clang] Implement instantiation context note for checking template parameters (#126088)

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss, this
patch adds a new instantiation context note, so that this can work using
RAII magic.

This fixes a bunch of places where these notes were missing, and is more
future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
which is missing an argument.
- Template Template parameter mismatches now refer to template
parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time and
the decrease in maintenance burden makes up for it.

    [5 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+28-9clang/include/clang/Sema/Sema.h
+196-25591 files not shown
+648-57597 files

LLVM/project e30bd8aclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+28-9clang/include/clang/Sema/Sema.h
+196-25591 files not shown
+648-57597 files

LLVM/project 59048ffclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+28-9clang/include/clang/Sema/Sema.h
+196-25590 files not shown
+645-57296 files

LLVM/project 339f296clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+28-9clang/include/clang/Sema/Sema.h
+196-25590 files not shown
+645-57296 files

LLVM/project e094d95clang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/drs cwg0xx.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+22-9clang/test/CXX/drs/cwg0xx.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+162-17689 files not shown
+574-45895 files

LLVM/project ae8b23bclang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/drs cwg0xx.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+22-9clang/test/CXX/drs/cwg0xx.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+162-17689 files not shown
+574-45895 files

LLVM/project 4a2467aclang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/drs cwg0xx.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+22-9clang/test/CXX/drs/cwg0xx.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+162-17689 files not shown
+564-45395 files

LLVM/project 3179a53clang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/temp/temp.decls/temp.variadic fixed-expansion.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+12-12clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
+152-17989 files not shown
+548-44895 files

LLVM/project ce343a5clang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/temp/temp.decls/temp.variadic fixed-expansion.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+12-12clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
+152-17989 files not shown
+544-44795 files

LLVM/project ad22130clang/lib/Frontend FrontendActions.cpp, clang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+16-8clang/lib/Frontend/FrontendActions.cpp
+156-17589 files not shown
+545-44795 files

LLVM/project 2811a38clang/test/OpenMP atomic_compare_codegen.cpp nvptx_SPMD_codegen.cpp, libc/src/__support ryu_long_double_constants.h

Merge commit 'dd699c1333daeaea1c50c1506a66e9c7372afbb5' into users/meinersbur/irbuilder-extract
DeltaFile
+119,926-0libc/src/__support/ryu_long_double_constants.h
+20,887-20,814llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+34,181-35clang/test/OpenMP/atomic_compare_codegen.cpp
+12,436-12,678clang/test/OpenMP/nvptx_SPMD_codegen.cpp
+16,298-0llvm/test/CodeGen/X86/pcsections-atomics.ll
+12,455-3,587llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
+216,183-37,11441,232 files not shown
+4,417,032-1,979,31641,238 files

LLVM/project dd699c1clang/test/OpenMP atomic_compare_codegen.cpp nvptx_SPMD_codegen.cpp, libc/src/__support ryu_long_double_constants.h

Merge commit '6942c64e8128e4ccd891b813d0240f574f80f59e^' into users/meinersbur/irbuilder-extract-refactor
DeltaFile
+119,926-0libc/src/__support/ryu_long_double_constants.h
+20,887-20,814llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+34,181-35clang/test/OpenMP/atomic_compare_codegen.cpp
+12,436-12,678clang/test/OpenMP/nvptx_SPMD_codegen.cpp
+16,298-0llvm/test/CodeGen/X86/pcsections-atomics.ll
+12,455-3,587llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
+216,183-37,11441,232 files not shown
+4,417,032-1,979,31641,238 files

LLVM/project 0aa4af7clang/include/clang/Driver Options.td, clang/lib/Driver/ToolChains Clang.cpp

[Driver] Change some Separate CC1 options to use the Joined = form

-f{constexpr,macro,template}-backtrace-limit=, -fspell-checking-limit=, -ftemplate-depth=
DeltaFile
+16-23clang/include/clang/Driver/Options.td
+5-24clang/lib/Driver/ToolChains/Clang.cpp
+4-4clang/test/SemaCXX/constexpr-backtrace-limit.cpp
+2-2clang/test/Misc/reduced-diags-macros-backtrace.cpp
+2-2clang/test/SemaCXX/typo-correction.cpp
+2-2clang/test/SemaTemplate/instantiation-depth.cpp
+31-577 files not shown
+38-6413 files

LLVM/project c457a1bclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplateInstantiate.cpp SemaTemplateInstantiateDecl.cpp

Merging rr280190:
------------------------------------------------------------------------
r280190 | rsmith | 2016-08-30 20:15:21 -0600 (Tue, 30 Aug 2016) | 12 lines

PR12298 et al: don't recursively instantiate a template specialization from
within the instantiation of that same specialization. This could previously
happen for eagerly-instantiated function templates, variable templates,
exception specifications, default arguments, and a handful of other cases.

We still have an issue here for default template arguments that recursively
make use of themselves and likewise for substitution into the type of a
non-type template parameter, but in those cases we're producing a different
entity each time, so they should instead be caught by the instantiation depth
limit. However, currently we will typically run out of stack before we reach
it. :(

------------------------------------------------------------------------

llvm-svn: 282636
DeltaFile
+92-11clang/test/SemaTemplate/instantiate-self.cpp
+30-7clang/lib/Sema/SemaTemplateInstantiate.cpp
+26-9clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+16-7clang/include/clang/Sema/Sema.h
+9-6clang/test/SemaTemplate/instantiation-depth-exception-spec.cpp
+8-5clang/lib/Sema/SemaTemplate.cpp
+181-455 files not shown
+206-5111 files

LLVM/project 54f18e8clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplateInstantiate.cpp SemaTemplateInstantiateDecl.cpp

PR12298 et al: don't recursively instantiate a template specialization from
within the instantiation of that same specialization. This could previously
happen for eagerly-instantiated function templates, variable templates,
exception specifications, default arguments, and a handful of other cases.

We still have an issue here for default template arguments that recursively
make use of themselves and likewise for substitution into the type of a
non-type template parameter, but in those cases we're producing a different
entity each time, so they should instead be caught by the instantiation depth
limit. However, currently we will typically run out of stack before we reach
it. :(

llvm-svn: 280190
DeltaFile
+92-11clang/test/SemaTemplate/instantiate-self.cpp
+30-7clang/lib/Sema/SemaTemplateInstantiate.cpp
+26-9clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+16-7clang/include/clang/Sema/Sema.h
+9-6clang/test/SemaTemplate/instantiation-depth-exception-spec.cpp
+8-5clang/lib/Sema/SemaTemplate.cpp
+181-455 files not shown
+206-5111 files

LLVM/project 6ca80beclang/lib/Sema SemaExpr.cpp, clang/test/Analysis retain-release.m

3.2 release branch r167713

llvm-svn: 167713
llvm-svn: 167708
llvm-svn: 167707
llvm-svn: 167706
llvm-svn: 167704
DeltaFile
+29,647-0libcxxabi/test/test_demangle.cpp
+26,245-0libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
+24,676-0clang/test/Analysis/retain-release.m
+17,887-0libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
+13,619-0lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
+11,985-0clang/lib/Sema/SemaExpr.cpp
+124,059-013,815 files not shown
+2,122,455-013,821 files

LLVM/project e8a1be6clang/test/Analysis retain-release.m, libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members put_long_double.pass.cpp

3.2 release branch r167700

llvm-svn: 167701
DeltaFile
+0-93,319llvm/test/MC/ELF/many-section.s
+0-29,647libcxxabi/test/test_demangle.cpp
+0-26,245libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
+0-24,676clang/test/Analysis/retain-release.m
+0-22,700llvm/configure
+0-22,312llvm/projects/sample/configure
+0-218,89924,136 files not shown
+0-3,905,34324,142 files

LLVM/project 6d12af7clang/include/clang/Basic Diagnostic.h, clang/test/SemaTemplate instantiate-exception-spec-cxx11.cpp instantiation-depth-exception-spec.cpp

Fix bug which sometimes resulted in further diagnostics being produced after a
fatal error. Previously, if a fatal error was followed by a diagnostic which
was suppressed due to a SFINAETrap, we'd forget that we'd seen a fatal error.

llvm-svn: 164437
DeltaFile
+0-12clang/test/SemaTemplate/instantiate-exception-spec-cxx11.cpp
+11-0clang/test/SemaTemplate/instantiation-depth-exception-spec.cpp
+2-5clang/test/SemaTemplate/instantiation-depth-subst-2.cpp
+3-3clang/test/SemaTemplate/instantiation-depth-subst.cpp
+4-1clang/include/clang/Basic/Diagnostic.h
+20-215 files