[clang] [clang][DebugInfo][test] Move debug-info tests from CodeGenCXX to DebugInfo directory (PR #154538)
Michael Buch via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 20 23:50:55 PDT 2025
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/154538
>From af6ed337ad9bcbe80a7b50d724a5bca37faf7022 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Wed, 20 Aug 2025 14:26:44 +0100
Subject: [PATCH 1/4] [clang][DebugInfo][test] Move debug-info tests from
CodeGenCXX to DebugInfo directory
This patch works towards consolidating all Clang debug-info into the `clang/test/DebugInfo` directory (https://discourse.llvm.org/t/clang-test-location-of-clang-debug-info-tests/87958).
Here we move only the `clang/test/CodeGenCXX` tests. I created a `CXX`
subdirectory for now because many of the tests I checked actually did
seem C++-specific. There is probably overlap between the `Generic` and
`CXX` subdirectory, but I haven't gone through and audited them all.
The list of files i came up with is:
1. searched for anything with `*debug-info*` in the filename
2. searched for occurrences of `debug-info-kind` in the tests
There's a couple of tests in `clang/test/CodeGenCXX` that still set `-debug-info-kind`. They probably don't need to do that, but I'm not changing that as part of this PR.
---
...info-lambda-this.cpp => lambda-this-2.cpp} | 0
.../CXX}/2006-11-20-GlobalSymbols.cpp | 0
.../CXX}/2007-01-02-UnboundedArray.cpp | 0
.../CXX/2009-03-17.cpp} | 0
.../CXX/2009-06-16-Crash.cpp} | 0
.../CXX/2010-05-10-Var.cpp} | 0
.../CXX/2010-05-12-PtrToMember.cpp} | 0
.../CXX}/2010-06-21-LocalVarDbg.cpp | 0
.../CXX}/2010-07-23-DeclLoc.cpp | 0
.../{CodeGenCXX => DebugInfo/CXX}/PR20038.cpp | 0
.../CXX/access.cpp} | 0
.../CXX}/aix-static-init-debug-info.cpp | 0
.../CXX/alias.cpp} | 0
.../CXX/all-calls-described.cpp} | 0
.../CXX/anon-namespace.cpp} | 0
.../CXX/anon-union-vars.cpp} | 0
.../CXX/artificial-arg.cpp} | 0
.../CXX/atexit-stub.cpp} | 0
.../CXX/auto-return.cpp} | 0
.../CXX/block-invocation-linkage-name.cpp} | 0
.../CXX/blocks.cpp} | 0
.../CXX/bpf-structors.cpp} | 0
.../CXX/byval.cpp} | 0
.../CXX/calling-conventions.cpp} | 0
.../CXX/char16.cpp} | 0
.../CXX/class-limited-plugin.test} | 0
.../CXX/class-limited.test} | 0
.../CXX/class-nolimit.cpp} | 0
.../CXX/class-optzns.cpp} | 0
.../CXX/class.cpp} | 0
.../CXX/codeview-display-name.cpp} | 0
.../CXX/codeview-heapallocsite.cpp} | 0
.../CXX/codeview-injected-class.cpp} | 0
.../CXX/codeview-nested-types.cpp} | 0
.../CXX/codeview-nodebug.cpp} | 0
.../CXX/codeview-template-literal.cpp} | 0
.../CXX/codeview-template-type.cpp} | 0
.../CXX/codeview-unnamed.cpp} | 0
.../CXX/codeview-var-templates.cpp} | 0
.../CXX/coff.cpp} | 0
.../CXX/composite-cc.cpp} | 0
.../CXX/composite-triviality-fwd-decl.cpp} | 0
.../CXX/composite-triviality.cpp} | 0
.../CXX/context.cpp} | 0
.../CXX}/cp-blocks-linetables.cpp | 0
.../CXX/ctor-homing-flag.cpp} | 0
.../CXX/ctor.cpp} | 0
.../CXX/ctor2.cpp} | 0
.../CXX/cxx0x.cpp} | 0
.../CXX/cxx1y.cpp} | 0
.../CXX}/debug-info.cpp | 0
.../CXX/decl-nested.cpp} | 0
.../CXX}/defaulted-template-alias.cpp | 0
.../CXX/deleted.cpp} | 0
.../CXX}/dependent-template-alias.cpp | 0
.../CXX/destroy-helper.cpp} | 0
.../CXX}/destructor-debug-info.cpp | 0
.../CXX/determinism.cpp} | 0
.../CXX}/difile_entry.cpp | 0
.../CXX/dllimport-base-class.cpp} | 0
.../CXX/dtor-implicit-args.cpp} | 0
.../CXX/dup-fwd-decl.cpp} | 0
.../CXX/enum-class.cpp} | 0
.../CXX/enum-i128.cpp} | 0
.../CXX/enum-metadata-collision.cpp} | 0
.../CXX/enum.cpp} | 0
.../CXX/explicit-cast.cpp} | 0
.../CXX/explicit-this.cpp} | 0
.../CXX/export_symbols.cpp} | 0
.../CXX}/fdebug-info-for-profiling.cpp | 0
.../CXX}/field-access-debug-info.cpp | 0
.../CXX/fn-template.cpp} | 0
.../CXX/friend.cpp} | 0
.../CXX/function-context.cpp} | 0
.../CXX/fwd-ref.cpp} | 0
.../CXX/fwd-template-param.cpp} | 0
.../CXX/gline-tables-only-codeview.cpp} | 0
.../CXX/gline-tables-only.cpp} | 0
.../CXX/global-ctor-dtor.cpp} | 0
.../CXX/global.cpp} | 0
.../CXX}/globalinit-loc.cpp | 0
.../CXX/globalinit.cpp} | 0
.../CXX/hotpatch-aarch64.cpp} | 0
.../CXX/hotpatch-arm.cpp} | 0
.../CXX/hotpatch.cpp} | 0
.../CXX/incomplete-types.cpp} | 0
.../CXX/indirect-field-decl.cpp} | 0
.../CXX/inheriting-constructor.cpp} | 0
.../CXX}/inline-dllexport-member.cpp | 0
.../CXX/inlined.cpp} | 0
.../CXX/lambda-expressions.cpp} | 0
.../CXX/lambda-this.cpp} | 0
.../CXX/lambda.cpp} | 0
.../CXX/large-constant.cpp} | 0
.../CXX/limited-ctor.cpp} | 0
.../CXX/limited.cpp} | 0
.../CXX/line-if-2.cpp} | 0
.../CXX/line-if.cpp} | 0
.../CXX/line.cpp} | 0
.../CXX}/linetable-cleanup.cpp | 0
.../CXX}/linetable-eh.cpp | 0
.../CXX}/linetable-fnbegin.cpp | 0
.../CXX}/linetable-virtual-variadic.cpp | 0
.../CXX/loops.cpp} | 0
.../CXX}/lpad-linetable.cpp | 0
.../CXX/member-call.cpp} | 0
.../CXX/member.cpp} | 0
.../CXX/method-nodebug.cpp} | 0
.../CXX/method-spec.cpp} | 0
.../CXX/method.cpp} | 0
.../CXX/method2.cpp} | 0
...crosoft-abi-member-pointers-debug-info.cpp | 0
.../CXX/ms-abi.cpp} | 0
.../CXX/ms-anonymous-tag.cpp} | 0
.../CXX/ms-bitfields.cpp} | 0
.../CXX/ms-dtor-thunks.cpp} | 0
.../CXX/ms-novtable.cpp} | 0
.../CXX/ms-ptr-to-member.cpp} | 0
.../CXX/ms-vbase.cpp} | 0
.../CXX/namespace.cpp} | 0
.../CXX/nested-exprs.cpp} | 0
.../CXX/nodebug.cpp} | 0
.../CXX/noreturn.cpp} | 0
.../CXX/nrvo.cpp} | 0
.../CXX/nullptr.cpp} | 0
.../CXX/object-pointer.cpp} | 0
.../CXX/objname.cpp} | 0
.../CXX/prefix-map-lambda.cpp} | 0
.../CXX/programming-language.cpp} | 0
.../CXX/ptr-to-member-function.cpp} | 0
.../CXX/ptr-to-ptr.cpp} | 0
.../CXX/qualifiers.cpp} | 0
.../CXX/range-for-var-names.cpp} | 0
clang/test/DebugInfo/CXX/remove_substring.py | 49 +++++++++++++++++++
.../CXX/rvalue-ref.cpp} | 0
.../CXX/scope.cpp} | 0
.../CXX/scoped-class.cpp} | 0
.../CXX}/scoped-enums-debug-info.cpp | 0
.../CXX/simple-template-names.cpp} | 0
.../CXX}/standalone-debug-attribute.cpp | 0
.../CXX/static-fns.cpp} | 0
.../CXX/static-member.cpp} | 0
.../CXX/struct-align.cpp} | 0
.../CXX/structured-binding-bitfield.cpp} | 0
.../CXX/structured-binding.cpp} | 0
.../CXX}/template-alias.cpp | 0
.../CXX/template-align.cpp} | 0
.../CXX/template-array.cpp} | 0
.../CXX/template-deduction-guide.cpp} | 0
.../CXX/template-explicit-specialization.cpp} | 0
.../CXX/template-fwd.cpp} | 0
.../CXX/template-limit.cpp} | 0
.../CXX/template-member.cpp} | 0
.../CXX/template-parameter.cpp} | 0
.../CXX/template-partial-specialization.cpp} | 0
.../CXX/template-quals.cpp} | 0
.../CXX/template-recursive.cpp} | 0
.../CXX/template.cpp} | 0
.../CXX/this.cpp} | 0
.../CXX/thunk-msabi.cpp} | 0
.../CXX/thunk.cpp} | 0
.../CXX}/trivial_abi_debuginfo.cpp | 0
.../CXX}/ubsan-check-debuglocs.cpp | 0
.../CXX/union-template.cpp} | 0
.../CXX/union.cpp} | 0
.../CXX/use-after-free.cpp} | 0
.../CXX/uuid.cpp} | 0
.../CXX/var-template-partial-spec.cpp} | 0
.../CXX/var-template-partial.cpp} | 0
.../CXX/varargs.cpp} | 0
.../CXX}/variadic-template-alias.cpp | 0
.../CXX/verbose-trap.cpp} | 0
.../CXX/vla.cpp} | 0
.../CXX}/vtable-debug-info.cpp | 0
.../CXX}/vtable-holder-self-reference.cpp | 0
.../CXX/vtable-inheritance-diamond.cpp} | 0
.../CXX/vtable-inheritance-multiple.cpp} | 0
.../CXX/vtable-inheritance-simple-main.cpp} | 0
.../CXX/vtable-inheritance-simple.cpp} | 0
.../CXX/vtable-inheritance-virtual.cpp} | 0
.../CXX/vtable-optzn.cpp} | 0
.../CXX/wchar.cpp} | 0
.../CXX/windows-dtor.cpp} | 0
.../CXX/zero-length-arrays.cpp} | 0
184 files changed, 49 insertions(+)
rename clang/test/CodeGenCXX/{debug-info-lambda-this.cpp => lambda-this-2.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/2006-11-20-GlobalSymbols.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/2007-01-02-UnboundedArray.cpp (100%)
rename clang/test/{CodeGenCXX/2009-03-17-dbg.cpp => DebugInfo/CXX/2009-03-17.cpp} (100%)
rename clang/test/{CodeGenCXX/2009-06-16-DebugInfoCrash.cpp => DebugInfo/CXX/2009-06-16-Crash.cpp} (100%)
rename clang/test/{CodeGenCXX/2010-05-10-Var-DbgInfo.cpp => DebugInfo/CXX/2010-05-10-Var.cpp} (100%)
rename clang/test/{CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp => DebugInfo/CXX/2010-05-12-PtrToMember.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/2010-06-21-LocalVarDbg.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/2010-07-23-DeclLoc.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/PR20038.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-access.cpp => DebugInfo/CXX/access.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/aix-static-init-debug-info.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-alias.cpp => DebugInfo/CXX/alias.cpp} (100%)
rename clang/test/{CodeGenCXX/dbg-info-all-calls-described.cpp => DebugInfo/CXX/all-calls-described.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-anon-namespace.cpp => DebugInfo/CXX/anon-namespace.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-anon-union-vars.cpp => DebugInfo/CXX/anon-union-vars.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-artificial-arg.cpp => DebugInfo/CXX/artificial-arg.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-atexit-stub.cpp => DebugInfo/CXX/atexit-stub.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-auto-return.cpp => DebugInfo/CXX/auto-return.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-block-invocation-linkage-name.cpp => DebugInfo/CXX/block-invocation-linkage-name.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-blocks.cpp => DebugInfo/CXX/blocks.cpp} (100%)
rename clang/test/{CodeGenCXX/bpf-debug-structors.cpp => DebugInfo/CXX/bpf-structors.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-byval.cpp => DebugInfo/CXX/byval.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-calling-conventions.cpp => DebugInfo/CXX/calling-conventions.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-char16.cpp => DebugInfo/CXX/char16.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-class-limited-plugin.test => DebugInfo/CXX/class-limited-plugin.test} (100%)
rename clang/test/{CodeGenCXX/debug-info-class-limited.test => DebugInfo/CXX/class-limited.test} (100%)
rename clang/test/{CodeGenCXX/debug-info-class-nolimit.cpp => DebugInfo/CXX/class-nolimit.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-class-optzns.cpp => DebugInfo/CXX/class-optzns.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-class.cpp => DebugInfo/CXX/class.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-display-name.cpp => DebugInfo/CXX/codeview-display-name.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-heapallocsite.cpp => DebugInfo/CXX/codeview-heapallocsite.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-injected-class.cpp => DebugInfo/CXX/codeview-injected-class.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-nested-types.cpp => DebugInfo/CXX/codeview-nested-types.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-nodebug.cpp => DebugInfo/CXX/codeview-nodebug.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-template-literal.cpp => DebugInfo/CXX/codeview-template-literal.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-template-type.cpp => DebugInfo/CXX/codeview-template-type.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-unnamed.cpp => DebugInfo/CXX/codeview-unnamed.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-codeview-var-templates.cpp => DebugInfo/CXX/codeview-var-templates.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-coff.cpp => DebugInfo/CXX/coff.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-composite-cc.cpp => DebugInfo/CXX/composite-cc.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-composite-triviality-fwd-decl.cpp => DebugInfo/CXX/composite-triviality-fwd-decl.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-composite-triviality.cpp => DebugInfo/CXX/composite-triviality.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-context.cpp => DebugInfo/CXX/context.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/cp-blocks-linetables.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-ctor-homing-flag.cpp => DebugInfo/CXX/ctor-homing-flag.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ctor.cpp => DebugInfo/CXX/ctor.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ctor2.cpp => DebugInfo/CXX/ctor2.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-cxx0x.cpp => DebugInfo/CXX/cxx0x.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-cxx1y.cpp => DebugInfo/CXX/cxx1y.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/debug-info.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-decl-nested.cpp => DebugInfo/CXX/decl-nested.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/defaulted-template-alias.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-deleted.cpp => DebugInfo/CXX/deleted.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/dependent-template-alias.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-destroy-helper.cpp => DebugInfo/CXX/destroy-helper.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/destructor-debug-info.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-determinism.cpp => DebugInfo/CXX/determinism.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/difile_entry.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-dllimport-base-class.cpp => DebugInfo/CXX/dllimport-base-class.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-dtor-implicit-args.cpp => DebugInfo/CXX/dtor-implicit-args.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-dup-fwd-decl.cpp => DebugInfo/CXX/dup-fwd-decl.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-enum-class.cpp => DebugInfo/CXX/enum-class.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-enum-i128.cpp => DebugInfo/CXX/enum-i128.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-enum-metadata-collision.cpp => DebugInfo/CXX/enum-metadata-collision.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-enum.cpp => DebugInfo/CXX/enum.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-explicit-cast.cpp => DebugInfo/CXX/explicit-cast.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-explicit-this.cpp => DebugInfo/CXX/explicit-this.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-export_symbols.cpp => DebugInfo/CXX/export_symbols.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/fdebug-info-for-profiling.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/field-access-debug-info.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-fn-template.cpp => DebugInfo/CXX/fn-template.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-friend.cpp => DebugInfo/CXX/friend.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-function-context.cpp => DebugInfo/CXX/function-context.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-fwd-ref.cpp => DebugInfo/CXX/fwd-ref.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-fwd-template-param.cpp => DebugInfo/CXX/fwd-template-param.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-gline-tables-only-codeview.cpp => DebugInfo/CXX/gline-tables-only-codeview.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-gline-tables-only.cpp => DebugInfo/CXX/gline-tables-only.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-global-ctor-dtor.cpp => DebugInfo/CXX/global-ctor-dtor.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-global.cpp => DebugInfo/CXX/global.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/globalinit-loc.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-globalinit.cpp => DebugInfo/CXX/globalinit.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-hotpatch-aarch64.cpp => DebugInfo/CXX/hotpatch-aarch64.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-hotpatch-arm.cpp => DebugInfo/CXX/hotpatch-arm.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-hotpatch.cpp => DebugInfo/CXX/hotpatch.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-incomplete-types.cpp => DebugInfo/CXX/incomplete-types.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-indirect-field-decl.cpp => DebugInfo/CXX/indirect-field-decl.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-inheriting-constructor.cpp => DebugInfo/CXX/inheriting-constructor.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/inline-dllexport-member.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-inlined.cpp => DebugInfo/CXX/inlined.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-lambda-expressions.cpp => DebugInfo/CXX/lambda-expressions.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-lambda-this.cpp => DebugInfo/CXX/lambda-this.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-lambda.cpp => DebugInfo/CXX/lambda.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-large-constant.cpp => DebugInfo/CXX/large-constant.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-limited-ctor.cpp => DebugInfo/CXX/limited-ctor.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-limited.cpp => DebugInfo/CXX/limited.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-line-if-2.cpp => DebugInfo/CXX/line-if-2.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-line-if.cpp => DebugInfo/CXX/line-if.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-line.cpp => DebugInfo/CXX/line.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/linetable-cleanup.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/linetable-eh.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/linetable-fnbegin.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/linetable-virtual-variadic.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-loops.cpp => DebugInfo/CXX/loops.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/lpad-linetable.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-member-call.cpp => DebugInfo/CXX/member-call.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-member.cpp => DebugInfo/CXX/member.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-method-nodebug.cpp => DebugInfo/CXX/method-nodebug.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-method-spec.cpp => DebugInfo/CXX/method-spec.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-method.cpp => DebugInfo/CXX/method.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-method2.cpp => DebugInfo/CXX/method2.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/microsoft-abi-member-pointers-debug-info.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-ms-abi.cpp => DebugInfo/CXX/ms-abi.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ms-anonymous-tag.cpp => DebugInfo/CXX/ms-anonymous-tag.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ms-bitfields.cpp => DebugInfo/CXX/ms-bitfields.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ms-dtor-thunks.cpp => DebugInfo/CXX/ms-dtor-thunks.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ms-novtable.cpp => DebugInfo/CXX/ms-novtable.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ms-ptr-to-member.cpp => DebugInfo/CXX/ms-ptr-to-member.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ms-vbase.cpp => DebugInfo/CXX/ms-vbase.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-namespace.cpp => DebugInfo/CXX/namespace.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-nested-exprs.cpp => DebugInfo/CXX/nested-exprs.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-nodebug.cpp => DebugInfo/CXX/nodebug.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-noreturn.cpp => DebugInfo/CXX/noreturn.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-nrvo.cpp => DebugInfo/CXX/nrvo.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-nullptr.cpp => DebugInfo/CXX/nullptr.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-object-pointer.cpp => DebugInfo/CXX/object-pointer.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-objname.cpp => DebugInfo/CXX/objname.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-prefix-map-lambda.cpp => DebugInfo/CXX/prefix-map-lambda.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-programming-language.cpp => DebugInfo/CXX/programming-language.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ptr-to-member-function.cpp => DebugInfo/CXX/ptr-to-member-function.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-ptr-to-ptr.cpp => DebugInfo/CXX/ptr-to-ptr.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-qualifiers.cpp => DebugInfo/CXX/qualifiers.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-range-for-var-names.cpp => DebugInfo/CXX/range-for-var-names.cpp} (100%)
create mode 100644 clang/test/DebugInfo/CXX/remove_substring.py
rename clang/test/{CodeGenCXX/debug-info-rvalue-ref.cpp => DebugInfo/CXX/rvalue-ref.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-scope.cpp => DebugInfo/CXX/scope.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-scoped-class.cpp => DebugInfo/CXX/scoped-class.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/scoped-enums-debug-info.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-simple-template-names.cpp => DebugInfo/CXX/simple-template-names.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/standalone-debug-attribute.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-static-fns.cpp => DebugInfo/CXX/static-fns.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-static-member.cpp => DebugInfo/CXX/static-member.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-struct-align.cpp => DebugInfo/CXX/struct-align.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-structured-binding-bitfield.cpp => DebugInfo/CXX/structured-binding-bitfield.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-structured-binding.cpp => DebugInfo/CXX/structured-binding.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/template-alias.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-template-align.cpp => DebugInfo/CXX/template-align.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-array.cpp => DebugInfo/CXX/template-array.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-deduction-guide.cpp => DebugInfo/CXX/template-deduction-guide.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-explicit-specialization.cpp => DebugInfo/CXX/template-explicit-specialization.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-fwd.cpp => DebugInfo/CXX/template-fwd.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-limit.cpp => DebugInfo/CXX/template-limit.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-member.cpp => DebugInfo/CXX/template-member.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-parameter.cpp => DebugInfo/CXX/template-parameter.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-partial-specialization.cpp => DebugInfo/CXX/template-partial-specialization.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-quals.cpp => DebugInfo/CXX/template-quals.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template-recursive.cpp => DebugInfo/CXX/template-recursive.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-template.cpp => DebugInfo/CXX/template.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-this.cpp => DebugInfo/CXX/this.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-thunk-msabi.cpp => DebugInfo/CXX/thunk-msabi.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-thunk.cpp => DebugInfo/CXX/thunk.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/trivial_abi_debuginfo.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/ubsan-check-debuglocs.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-union-template.cpp => DebugInfo/CXX/union-template.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-union.cpp => DebugInfo/CXX/union.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-use-after-free.cpp => DebugInfo/CXX/use-after-free.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-uuid.cpp => DebugInfo/CXX/uuid.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-var-template-partial-spec.cpp => DebugInfo/CXX/var-template-partial-spec.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-var-template-partial.cpp => DebugInfo/CXX/var-template-partial.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-varargs.cpp => DebugInfo/CXX/varargs.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/variadic-template-alias.cpp (100%)
rename clang/test/{CodeGenCXX/debug-info-verbose-trap.cpp => DebugInfo/CXX/verbose-trap.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-vla.cpp => DebugInfo/CXX/vla.cpp} (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/vtable-debug-info.cpp (100%)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/vtable-holder-self-reference.cpp (100%)
rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-diamond.cpp => DebugInfo/CXX/vtable-inheritance-diamond.cpp} (100%)
rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-multiple.cpp => DebugInfo/CXX/vtable-inheritance-multiple.cpp} (100%)
rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-simple-main.cpp => DebugInfo/CXX/vtable-inheritance-simple-main.cpp} (100%)
rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-simple.cpp => DebugInfo/CXX/vtable-inheritance-simple.cpp} (100%)
rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-virtual.cpp => DebugInfo/CXX/vtable-inheritance-virtual.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-vtable-optzn.cpp => DebugInfo/CXX/vtable-optzn.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-wchar.cpp => DebugInfo/CXX/wchar.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-windows-dtor.cpp => DebugInfo/CXX/windows-dtor.cpp} (100%)
rename clang/test/{CodeGenCXX/debug-info-zero-length-arrays.cpp => DebugInfo/CXX/zero-length-arrays.cpp} (100%)
diff --git a/clang/test/CodeGenCXX/debug-info-lambda-this.cpp b/clang/test/CodeGenCXX/lambda-this-2.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-lambda-this.cpp
rename to clang/test/CodeGenCXX/lambda-this-2.cpp
diff --git a/clang/test/CodeGenCXX/2006-11-20-GlobalSymbols.cpp b/clang/test/DebugInfo/CXX/2006-11-20-GlobalSymbols.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2006-11-20-GlobalSymbols.cpp
rename to clang/test/DebugInfo/CXX/2006-11-20-GlobalSymbols.cpp
diff --git a/clang/test/CodeGenCXX/2007-01-02-UnboundedArray.cpp b/clang/test/DebugInfo/CXX/2007-01-02-UnboundedArray.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2007-01-02-UnboundedArray.cpp
rename to clang/test/DebugInfo/CXX/2007-01-02-UnboundedArray.cpp
diff --git a/clang/test/CodeGenCXX/2009-03-17-dbg.cpp b/clang/test/DebugInfo/CXX/2009-03-17.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2009-03-17-dbg.cpp
rename to clang/test/DebugInfo/CXX/2009-03-17.cpp
diff --git a/clang/test/CodeGenCXX/2009-06-16-DebugInfoCrash.cpp b/clang/test/DebugInfo/CXX/2009-06-16-Crash.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2009-06-16-DebugInfoCrash.cpp
rename to clang/test/DebugInfo/CXX/2009-06-16-Crash.cpp
diff --git a/clang/test/CodeGenCXX/2010-05-10-Var-DbgInfo.cpp b/clang/test/DebugInfo/CXX/2010-05-10-Var.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2010-05-10-Var-DbgInfo.cpp
rename to clang/test/DebugInfo/CXX/2010-05-10-Var.cpp
diff --git a/clang/test/CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp b/clang/test/DebugInfo/CXX/2010-05-12-PtrToMember.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp
rename to clang/test/DebugInfo/CXX/2010-05-12-PtrToMember.cpp
diff --git a/clang/test/CodeGenCXX/2010-06-21-LocalVarDbg.cpp b/clang/test/DebugInfo/CXX/2010-06-21-LocalVarDbg.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2010-06-21-LocalVarDbg.cpp
rename to clang/test/DebugInfo/CXX/2010-06-21-LocalVarDbg.cpp
diff --git a/clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp b/clang/test/DebugInfo/CXX/2010-07-23-DeclLoc.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp
rename to clang/test/DebugInfo/CXX/2010-07-23-DeclLoc.cpp
diff --git a/clang/test/CodeGenCXX/PR20038.cpp b/clang/test/DebugInfo/CXX/PR20038.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/PR20038.cpp
rename to clang/test/DebugInfo/CXX/PR20038.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-access.cpp b/clang/test/DebugInfo/CXX/access.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-access.cpp
rename to clang/test/DebugInfo/CXX/access.cpp
diff --git a/clang/test/CodeGenCXX/aix-static-init-debug-info.cpp b/clang/test/DebugInfo/CXX/aix-static-init-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/aix-static-init-debug-info.cpp
rename to clang/test/DebugInfo/CXX/aix-static-init-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-alias.cpp b/clang/test/DebugInfo/CXX/alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-alias.cpp
rename to clang/test/DebugInfo/CXX/alias.cpp
diff --git a/clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp b/clang/test/DebugInfo/CXX/all-calls-described.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
rename to clang/test/DebugInfo/CXX/all-calls-described.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-anon-namespace.cpp b/clang/test/DebugInfo/CXX/anon-namespace.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-anon-namespace.cpp
rename to clang/test/DebugInfo/CXX/anon-namespace.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp b/clang/test/DebugInfo/CXX/anon-union-vars.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
rename to clang/test/DebugInfo/CXX/anon-union-vars.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-artificial-arg.cpp b/clang/test/DebugInfo/CXX/artificial-arg.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-artificial-arg.cpp
rename to clang/test/DebugInfo/CXX/artificial-arg.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-atexit-stub.cpp b/clang/test/DebugInfo/CXX/atexit-stub.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-atexit-stub.cpp
rename to clang/test/DebugInfo/CXX/atexit-stub.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-auto-return.cpp b/clang/test/DebugInfo/CXX/auto-return.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-auto-return.cpp
rename to clang/test/DebugInfo/CXX/auto-return.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-block-invocation-linkage-name.cpp b/clang/test/DebugInfo/CXX/block-invocation-linkage-name.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-block-invocation-linkage-name.cpp
rename to clang/test/DebugInfo/CXX/block-invocation-linkage-name.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-blocks.cpp b/clang/test/DebugInfo/CXX/blocks.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-blocks.cpp
rename to clang/test/DebugInfo/CXX/blocks.cpp
diff --git a/clang/test/CodeGenCXX/bpf-debug-structors.cpp b/clang/test/DebugInfo/CXX/bpf-structors.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/bpf-debug-structors.cpp
rename to clang/test/DebugInfo/CXX/bpf-structors.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-byval.cpp b/clang/test/DebugInfo/CXX/byval.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-byval.cpp
rename to clang/test/DebugInfo/CXX/byval.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-calling-conventions.cpp b/clang/test/DebugInfo/CXX/calling-conventions.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-calling-conventions.cpp
rename to clang/test/DebugInfo/CXX/calling-conventions.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-char16.cpp b/clang/test/DebugInfo/CXX/char16.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-char16.cpp
rename to clang/test/DebugInfo/CXX/char16.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-class-limited-plugin.test b/clang/test/DebugInfo/CXX/class-limited-plugin.test
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class-limited-plugin.test
rename to clang/test/DebugInfo/CXX/class-limited-plugin.test
diff --git a/clang/test/CodeGenCXX/debug-info-class-limited.test b/clang/test/DebugInfo/CXX/class-limited.test
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class-limited.test
rename to clang/test/DebugInfo/CXX/class-limited.test
diff --git a/clang/test/CodeGenCXX/debug-info-class-nolimit.cpp b/clang/test/DebugInfo/CXX/class-nolimit.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class-nolimit.cpp
rename to clang/test/DebugInfo/CXX/class-nolimit.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-class-optzns.cpp b/clang/test/DebugInfo/CXX/class-optzns.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class-optzns.cpp
rename to clang/test/DebugInfo/CXX/class-optzns.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-class.cpp b/clang/test/DebugInfo/CXX/class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class.cpp
rename to clang/test/DebugInfo/CXX/class.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-display-name.cpp b/clang/test/DebugInfo/CXX/codeview-display-name.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-display-name.cpp
rename to clang/test/DebugInfo/CXX/codeview-display-name.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-heapallocsite.cpp b/clang/test/DebugInfo/CXX/codeview-heapallocsite.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-heapallocsite.cpp
rename to clang/test/DebugInfo/CXX/codeview-heapallocsite.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-injected-class.cpp b/clang/test/DebugInfo/CXX/codeview-injected-class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-injected-class.cpp
rename to clang/test/DebugInfo/CXX/codeview-injected-class.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-nested-types.cpp b/clang/test/DebugInfo/CXX/codeview-nested-types.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-nested-types.cpp
rename to clang/test/DebugInfo/CXX/codeview-nested-types.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp b/clang/test/DebugInfo/CXX/codeview-nodebug.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp
rename to clang/test/DebugInfo/CXX/codeview-nodebug.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-template-literal.cpp b/clang/test/DebugInfo/CXX/codeview-template-literal.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-template-literal.cpp
rename to clang/test/DebugInfo/CXX/codeview-template-literal.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-template-type.cpp b/clang/test/DebugInfo/CXX/codeview-template-type.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-template-type.cpp
rename to clang/test/DebugInfo/CXX/codeview-template-type.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp b/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
rename to clang/test/DebugInfo/CXX/codeview-unnamed.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-var-templates.cpp b/clang/test/DebugInfo/CXX/codeview-var-templates.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-var-templates.cpp
rename to clang/test/DebugInfo/CXX/codeview-var-templates.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-coff.cpp b/clang/test/DebugInfo/CXX/coff.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-coff.cpp
rename to clang/test/DebugInfo/CXX/coff.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-composite-cc.cpp b/clang/test/DebugInfo/CXX/composite-cc.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-composite-cc.cpp
rename to clang/test/DebugInfo/CXX/composite-cc.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-composite-triviality-fwd-decl.cpp b/clang/test/DebugInfo/CXX/composite-triviality-fwd-decl.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-composite-triviality-fwd-decl.cpp
rename to clang/test/DebugInfo/CXX/composite-triviality-fwd-decl.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-composite-triviality.cpp b/clang/test/DebugInfo/CXX/composite-triviality.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-composite-triviality.cpp
rename to clang/test/DebugInfo/CXX/composite-triviality.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-context.cpp b/clang/test/DebugInfo/CXX/context.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-context.cpp
rename to clang/test/DebugInfo/CXX/context.cpp
diff --git a/clang/test/CodeGenCXX/cp-blocks-linetables.cpp b/clang/test/DebugInfo/CXX/cp-blocks-linetables.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/cp-blocks-linetables.cpp
rename to clang/test/DebugInfo/CXX/cp-blocks-linetables.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ctor-homing-flag.cpp b/clang/test/DebugInfo/CXX/ctor-homing-flag.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ctor-homing-flag.cpp
rename to clang/test/DebugInfo/CXX/ctor-homing-flag.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ctor.cpp b/clang/test/DebugInfo/CXX/ctor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ctor.cpp
rename to clang/test/DebugInfo/CXX/ctor.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ctor2.cpp b/clang/test/DebugInfo/CXX/ctor2.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ctor2.cpp
rename to clang/test/DebugInfo/CXX/ctor2.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-cxx0x.cpp b/clang/test/DebugInfo/CXX/cxx0x.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-cxx0x.cpp
rename to clang/test/DebugInfo/CXX/cxx0x.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-cxx1y.cpp b/clang/test/DebugInfo/CXX/cxx1y.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-cxx1y.cpp
rename to clang/test/DebugInfo/CXX/cxx1y.cpp
diff --git a/clang/test/CodeGenCXX/debug-info.cpp b/clang/test/DebugInfo/CXX/debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info.cpp
rename to clang/test/DebugInfo/CXX/debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-decl-nested.cpp b/clang/test/DebugInfo/CXX/decl-nested.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-decl-nested.cpp
rename to clang/test/DebugInfo/CXX/decl-nested.cpp
diff --git a/clang/test/CodeGenCXX/defaulted-template-alias.cpp b/clang/test/DebugInfo/CXX/defaulted-template-alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/defaulted-template-alias.cpp
rename to clang/test/DebugInfo/CXX/defaulted-template-alias.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-deleted.cpp b/clang/test/DebugInfo/CXX/deleted.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-deleted.cpp
rename to clang/test/DebugInfo/CXX/deleted.cpp
diff --git a/clang/test/CodeGenCXX/dependent-template-alias.cpp b/clang/test/DebugInfo/CXX/dependent-template-alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/dependent-template-alias.cpp
rename to clang/test/DebugInfo/CXX/dependent-template-alias.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-destroy-helper.cpp b/clang/test/DebugInfo/CXX/destroy-helper.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-destroy-helper.cpp
rename to clang/test/DebugInfo/CXX/destroy-helper.cpp
diff --git a/clang/test/CodeGenCXX/destructor-debug-info.cpp b/clang/test/DebugInfo/CXX/destructor-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/destructor-debug-info.cpp
rename to clang/test/DebugInfo/CXX/destructor-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-determinism.cpp b/clang/test/DebugInfo/CXX/determinism.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-determinism.cpp
rename to clang/test/DebugInfo/CXX/determinism.cpp
diff --git a/clang/test/CodeGenCXX/difile_entry.cpp b/clang/test/DebugInfo/CXX/difile_entry.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/difile_entry.cpp
rename to clang/test/DebugInfo/CXX/difile_entry.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-dllimport-base-class.cpp b/clang/test/DebugInfo/CXX/dllimport-base-class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-dllimport-base-class.cpp
rename to clang/test/DebugInfo/CXX/dllimport-base-class.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp b/clang/test/DebugInfo/CXX/dtor-implicit-args.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp
rename to clang/test/DebugInfo/CXX/dtor-implicit-args.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp b/clang/test/DebugInfo/CXX/dup-fwd-decl.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp
rename to clang/test/DebugInfo/CXX/dup-fwd-decl.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-enum-class.cpp b/clang/test/DebugInfo/CXX/enum-class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-enum-class.cpp
rename to clang/test/DebugInfo/CXX/enum-class.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-enum-i128.cpp b/clang/test/DebugInfo/CXX/enum-i128.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-enum-i128.cpp
rename to clang/test/DebugInfo/CXX/enum-i128.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-enum-metadata-collision.cpp b/clang/test/DebugInfo/CXX/enum-metadata-collision.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-enum-metadata-collision.cpp
rename to clang/test/DebugInfo/CXX/enum-metadata-collision.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-enum.cpp b/clang/test/DebugInfo/CXX/enum.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-enum.cpp
rename to clang/test/DebugInfo/CXX/enum.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-explicit-cast.cpp b/clang/test/DebugInfo/CXX/explicit-cast.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-explicit-cast.cpp
rename to clang/test/DebugInfo/CXX/explicit-cast.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-explicit-this.cpp b/clang/test/DebugInfo/CXX/explicit-this.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-explicit-this.cpp
rename to clang/test/DebugInfo/CXX/explicit-this.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-export_symbols.cpp b/clang/test/DebugInfo/CXX/export_symbols.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-export_symbols.cpp
rename to clang/test/DebugInfo/CXX/export_symbols.cpp
diff --git a/clang/test/CodeGenCXX/fdebug-info-for-profiling.cpp b/clang/test/DebugInfo/CXX/fdebug-info-for-profiling.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/fdebug-info-for-profiling.cpp
rename to clang/test/DebugInfo/CXX/fdebug-info-for-profiling.cpp
diff --git a/clang/test/CodeGenCXX/field-access-debug-info.cpp b/clang/test/DebugInfo/CXX/field-access-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/field-access-debug-info.cpp
rename to clang/test/DebugInfo/CXX/field-access-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-fn-template.cpp b/clang/test/DebugInfo/CXX/fn-template.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-fn-template.cpp
rename to clang/test/DebugInfo/CXX/fn-template.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-friend.cpp b/clang/test/DebugInfo/CXX/friend.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-friend.cpp
rename to clang/test/DebugInfo/CXX/friend.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-function-context.cpp b/clang/test/DebugInfo/CXX/function-context.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-function-context.cpp
rename to clang/test/DebugInfo/CXX/function-context.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-fwd-ref.cpp b/clang/test/DebugInfo/CXX/fwd-ref.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-fwd-ref.cpp
rename to clang/test/DebugInfo/CXX/fwd-ref.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-fwd-template-param.cpp b/clang/test/DebugInfo/CXX/fwd-template-param.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-fwd-template-param.cpp
rename to clang/test/DebugInfo/CXX/fwd-template-param.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp b/clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
rename to clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp b/clang/test/DebugInfo/CXX/gline-tables-only.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp
rename to clang/test/DebugInfo/CXX/gline-tables-only.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp b/clang/test/DebugInfo/CXX/global-ctor-dtor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
rename to clang/test/DebugInfo/CXX/global-ctor-dtor.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-global.cpp b/clang/test/DebugInfo/CXX/global.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-global.cpp
rename to clang/test/DebugInfo/CXX/global.cpp
diff --git a/clang/test/CodeGenCXX/globalinit-loc.cpp b/clang/test/DebugInfo/CXX/globalinit-loc.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/globalinit-loc.cpp
rename to clang/test/DebugInfo/CXX/globalinit-loc.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-globalinit.cpp b/clang/test/DebugInfo/CXX/globalinit.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-globalinit.cpp
rename to clang/test/DebugInfo/CXX/globalinit.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp b/clang/test/DebugInfo/CXX/hotpatch-aarch64.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp
rename to clang/test/DebugInfo/CXX/hotpatch-aarch64.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp b/clang/test/DebugInfo/CXX/hotpatch-arm.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp
rename to clang/test/DebugInfo/CXX/hotpatch-arm.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-hotpatch.cpp b/clang/test/DebugInfo/CXX/hotpatch.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-hotpatch.cpp
rename to clang/test/DebugInfo/CXX/hotpatch.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-incomplete-types.cpp b/clang/test/DebugInfo/CXX/incomplete-types.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-incomplete-types.cpp
rename to clang/test/DebugInfo/CXX/incomplete-types.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-indirect-field-decl.cpp b/clang/test/DebugInfo/CXX/indirect-field-decl.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-indirect-field-decl.cpp
rename to clang/test/DebugInfo/CXX/indirect-field-decl.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp b/clang/test/DebugInfo/CXX/inheriting-constructor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
rename to clang/test/DebugInfo/CXX/inheriting-constructor.cpp
diff --git a/clang/test/CodeGenCXX/inline-dllexport-member.cpp b/clang/test/DebugInfo/CXX/inline-dllexport-member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/inline-dllexport-member.cpp
rename to clang/test/DebugInfo/CXX/inline-dllexport-member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-inlined.cpp b/clang/test/DebugInfo/CXX/inlined.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-inlined.cpp
rename to clang/test/DebugInfo/CXX/inlined.cpp
diff --git a/clang/test/CodeGenCXX/debug-lambda-expressions.cpp b/clang/test/DebugInfo/CXX/lambda-expressions.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-lambda-expressions.cpp
rename to clang/test/DebugInfo/CXX/lambda-expressions.cpp
diff --git a/clang/test/CodeGenCXX/debug-lambda-this.cpp b/clang/test/DebugInfo/CXX/lambda-this.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-lambda-this.cpp
rename to clang/test/DebugInfo/CXX/lambda-this.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-lambda.cpp b/clang/test/DebugInfo/CXX/lambda.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-lambda.cpp
rename to clang/test/DebugInfo/CXX/lambda.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-large-constant.cpp b/clang/test/DebugInfo/CXX/large-constant.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-large-constant.cpp
rename to clang/test/DebugInfo/CXX/large-constant.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-limited-ctor.cpp b/clang/test/DebugInfo/CXX/limited-ctor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-limited-ctor.cpp
rename to clang/test/DebugInfo/CXX/limited-ctor.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-limited.cpp b/clang/test/DebugInfo/CXX/limited.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-limited.cpp
rename to clang/test/DebugInfo/CXX/limited.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-line-if-2.cpp b/clang/test/DebugInfo/CXX/line-if-2.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-line-if-2.cpp
rename to clang/test/DebugInfo/CXX/line-if-2.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-line-if.cpp b/clang/test/DebugInfo/CXX/line-if.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-line-if.cpp
rename to clang/test/DebugInfo/CXX/line-if.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-line.cpp b/clang/test/DebugInfo/CXX/line.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-line.cpp
rename to clang/test/DebugInfo/CXX/line.cpp
diff --git a/clang/test/CodeGenCXX/linetable-cleanup.cpp b/clang/test/DebugInfo/CXX/linetable-cleanup.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/linetable-cleanup.cpp
rename to clang/test/DebugInfo/CXX/linetable-cleanup.cpp
diff --git a/clang/test/CodeGenCXX/linetable-eh.cpp b/clang/test/DebugInfo/CXX/linetable-eh.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/linetable-eh.cpp
rename to clang/test/DebugInfo/CXX/linetable-eh.cpp
diff --git a/clang/test/CodeGenCXX/linetable-fnbegin.cpp b/clang/test/DebugInfo/CXX/linetable-fnbegin.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/linetable-fnbegin.cpp
rename to clang/test/DebugInfo/CXX/linetable-fnbegin.cpp
diff --git a/clang/test/CodeGenCXX/linetable-virtual-variadic.cpp b/clang/test/DebugInfo/CXX/linetable-virtual-variadic.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/linetable-virtual-variadic.cpp
rename to clang/test/DebugInfo/CXX/linetable-virtual-variadic.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-loops.cpp b/clang/test/DebugInfo/CXX/loops.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-loops.cpp
rename to clang/test/DebugInfo/CXX/loops.cpp
diff --git a/clang/test/CodeGenCXX/lpad-linetable.cpp b/clang/test/DebugInfo/CXX/lpad-linetable.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/lpad-linetable.cpp
rename to clang/test/DebugInfo/CXX/lpad-linetable.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-member-call.cpp b/clang/test/DebugInfo/CXX/member-call.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-member-call.cpp
rename to clang/test/DebugInfo/CXX/member-call.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-member.cpp b/clang/test/DebugInfo/CXX/member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-member.cpp
rename to clang/test/DebugInfo/CXX/member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-method-nodebug.cpp b/clang/test/DebugInfo/CXX/method-nodebug.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-method-nodebug.cpp
rename to clang/test/DebugInfo/CXX/method-nodebug.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-method-spec.cpp b/clang/test/DebugInfo/CXX/method-spec.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-method-spec.cpp
rename to clang/test/DebugInfo/CXX/method-spec.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-method.cpp b/clang/test/DebugInfo/CXX/method.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-method.cpp
rename to clang/test/DebugInfo/CXX/method.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-method2.cpp b/clang/test/DebugInfo/CXX/method2.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-method2.cpp
rename to clang/test/DebugInfo/CXX/method2.cpp
diff --git a/clang/test/CodeGenCXX/microsoft-abi-member-pointers-debug-info.cpp b/clang/test/DebugInfo/CXX/microsoft-abi-member-pointers-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/microsoft-abi-member-pointers-debug-info.cpp
rename to clang/test/DebugInfo/CXX/microsoft-abi-member-pointers-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-abi.cpp b/clang/test/DebugInfo/CXX/ms-abi.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-abi.cpp
rename to clang/test/DebugInfo/CXX/ms-abi.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-anonymous-tag.cpp b/clang/test/DebugInfo/CXX/ms-anonymous-tag.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-anonymous-tag.cpp
rename to clang/test/DebugInfo/CXX/ms-anonymous-tag.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-bitfields.cpp b/clang/test/DebugInfo/CXX/ms-bitfields.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-bitfields.cpp
rename to clang/test/DebugInfo/CXX/ms-bitfields.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-dtor-thunks.cpp b/clang/test/DebugInfo/CXX/ms-dtor-thunks.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-dtor-thunks.cpp
rename to clang/test/DebugInfo/CXX/ms-dtor-thunks.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-novtable.cpp b/clang/test/DebugInfo/CXX/ms-novtable.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-novtable.cpp
rename to clang/test/DebugInfo/CXX/ms-novtable.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-ptr-to-member.cpp b/clang/test/DebugInfo/CXX/ms-ptr-to-member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-ptr-to-member.cpp
rename to clang/test/DebugInfo/CXX/ms-ptr-to-member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-vbase.cpp b/clang/test/DebugInfo/CXX/ms-vbase.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-vbase.cpp
rename to clang/test/DebugInfo/CXX/ms-vbase.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-namespace.cpp b/clang/test/DebugInfo/CXX/namespace.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-namespace.cpp
rename to clang/test/DebugInfo/CXX/namespace.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-nested-exprs.cpp b/clang/test/DebugInfo/CXX/nested-exprs.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-nested-exprs.cpp
rename to clang/test/DebugInfo/CXX/nested-exprs.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-nodebug.cpp b/clang/test/DebugInfo/CXX/nodebug.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-nodebug.cpp
rename to clang/test/DebugInfo/CXX/nodebug.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-noreturn.cpp b/clang/test/DebugInfo/CXX/noreturn.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-noreturn.cpp
rename to clang/test/DebugInfo/CXX/noreturn.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-nrvo.cpp b/clang/test/DebugInfo/CXX/nrvo.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-nrvo.cpp
rename to clang/test/DebugInfo/CXX/nrvo.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-nullptr.cpp b/clang/test/DebugInfo/CXX/nullptr.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-nullptr.cpp
rename to clang/test/DebugInfo/CXX/nullptr.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-object-pointer.cpp b/clang/test/DebugInfo/CXX/object-pointer.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-object-pointer.cpp
rename to clang/test/DebugInfo/CXX/object-pointer.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-objname.cpp b/clang/test/DebugInfo/CXX/objname.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-objname.cpp
rename to clang/test/DebugInfo/CXX/objname.cpp
diff --git a/clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp b/clang/test/DebugInfo/CXX/prefix-map-lambda.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp
rename to clang/test/DebugInfo/CXX/prefix-map-lambda.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-programming-language.cpp b/clang/test/DebugInfo/CXX/programming-language.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-programming-language.cpp
rename to clang/test/DebugInfo/CXX/programming-language.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ptr-to-member-function.cpp b/clang/test/DebugInfo/CXX/ptr-to-member-function.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ptr-to-member-function.cpp
rename to clang/test/DebugInfo/CXX/ptr-to-member-function.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ptr-to-ptr.cpp b/clang/test/DebugInfo/CXX/ptr-to-ptr.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ptr-to-ptr.cpp
rename to clang/test/DebugInfo/CXX/ptr-to-ptr.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-qualifiers.cpp b/clang/test/DebugInfo/CXX/qualifiers.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-qualifiers.cpp
rename to clang/test/DebugInfo/CXX/qualifiers.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-range-for-var-names.cpp b/clang/test/DebugInfo/CXX/range-for-var-names.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-range-for-var-names.cpp
rename to clang/test/DebugInfo/CXX/range-for-var-names.cpp
diff --git a/clang/test/DebugInfo/CXX/remove_substring.py b/clang/test/DebugInfo/CXX/remove_substring.py
new file mode 100644
index 0000000000000..8c71b328d5a40
--- /dev/null
+++ b/clang/test/DebugInfo/CXX/remove_substring.py
@@ -0,0 +1,49 @@
+import os
+import sys
+
+def remove_substring_from_files(directory, substring):
+ """
+ Removes a specified substring from all filenames in the directory.
+ Aborts if any duplicates would result.
+ """
+ if not os.path.isdir(directory):
+ print(f"Error: '{directory}' is not a valid directory.")
+ sys.exit(1)
+
+ original_to_new = {}
+ filenames = os.listdir(directory)
+
+ for filename in filenames:
+ new_filename = filename.replace(substring, '')
+ if new_filename != filename:
+ original_to_new[filename] = new_filename
+
+ # Check for duplicates
+ new_names = list(original_to_new.values())
+ if len(new_names) != len(set(new_names)):
+ print("Error: Removing the substring would result in duplicate filenames. Aborting.")
+ for new_name in new_names:
+ if new_names.count(new_name) > 1:
+ print(f" - Conflict: {new_name}")
+ sys.exit(1)
+
+ # Perform renaming
+ for old_name, new_name in original_to_new.items():
+ old_path = os.path.join(directory, old_name)
+ new_path = os.path.join(directory, new_name)
+ os.rename(old_path, new_path)
+ print(f"Renamed: '{old_name}' → '{new_name}'")
+
+ if not original_to_new:
+ print("No files were renamed (substring not found in any filenames).")
+
+if __name__ == "__main__":
+ import argparse
+
+ parser = argparse.ArgumentParser(description="Remove a substring from filenames in a directory.")
+ parser.add_argument("directory", help="Directory containing files to rename.")
+ parser.add_argument("substring", help="Substring to remove from filenames.")
+
+ args = parser.parse_args()
+ remove_substring_from_files(args.directory, args.substring)
+
diff --git a/clang/test/CodeGenCXX/debug-info-rvalue-ref.cpp b/clang/test/DebugInfo/CXX/rvalue-ref.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-rvalue-ref.cpp
rename to clang/test/DebugInfo/CXX/rvalue-ref.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-scope.cpp b/clang/test/DebugInfo/CXX/scope.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-scope.cpp
rename to clang/test/DebugInfo/CXX/scope.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-scoped-class.cpp b/clang/test/DebugInfo/CXX/scoped-class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-scoped-class.cpp
rename to clang/test/DebugInfo/CXX/scoped-class.cpp
diff --git a/clang/test/CodeGenCXX/scoped-enums-debug-info.cpp b/clang/test/DebugInfo/CXX/scoped-enums-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/scoped-enums-debug-info.cpp
rename to clang/test/DebugInfo/CXX/scoped-enums-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-simple-template-names.cpp b/clang/test/DebugInfo/CXX/simple-template-names.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-simple-template-names.cpp
rename to clang/test/DebugInfo/CXX/simple-template-names.cpp
diff --git a/clang/test/CodeGenCXX/standalone-debug-attribute.cpp b/clang/test/DebugInfo/CXX/standalone-debug-attribute.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/standalone-debug-attribute.cpp
rename to clang/test/DebugInfo/CXX/standalone-debug-attribute.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-static-fns.cpp b/clang/test/DebugInfo/CXX/static-fns.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-static-fns.cpp
rename to clang/test/DebugInfo/CXX/static-fns.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-static-member.cpp b/clang/test/DebugInfo/CXX/static-member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-static-member.cpp
rename to clang/test/DebugInfo/CXX/static-member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-struct-align.cpp b/clang/test/DebugInfo/CXX/struct-align.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-struct-align.cpp
rename to clang/test/DebugInfo/CXX/struct-align.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp b/clang/test/DebugInfo/CXX/structured-binding-bitfield.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
rename to clang/test/DebugInfo/CXX/structured-binding-bitfield.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-structured-binding.cpp b/clang/test/DebugInfo/CXX/structured-binding.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-structured-binding.cpp
rename to clang/test/DebugInfo/CXX/structured-binding.cpp
diff --git a/clang/test/CodeGenCXX/template-alias.cpp b/clang/test/DebugInfo/CXX/template-alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/template-alias.cpp
rename to clang/test/DebugInfo/CXX/template-alias.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-align.cpp b/clang/test/DebugInfo/CXX/template-align.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-align.cpp
rename to clang/test/DebugInfo/CXX/template-align.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-array.cpp b/clang/test/DebugInfo/CXX/template-array.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-array.cpp
rename to clang/test/DebugInfo/CXX/template-array.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-deduction-guide.cpp b/clang/test/DebugInfo/CXX/template-deduction-guide.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-deduction-guide.cpp
rename to clang/test/DebugInfo/CXX/template-deduction-guide.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp b/clang/test/DebugInfo/CXX/template-explicit-specialization.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp
rename to clang/test/DebugInfo/CXX/template-explicit-specialization.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-fwd.cpp b/clang/test/DebugInfo/CXX/template-fwd.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-fwd.cpp
rename to clang/test/DebugInfo/CXX/template-fwd.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-limit.cpp b/clang/test/DebugInfo/CXX/template-limit.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-limit.cpp
rename to clang/test/DebugInfo/CXX/template-limit.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-member.cpp b/clang/test/DebugInfo/CXX/template-member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-member.cpp
rename to clang/test/DebugInfo/CXX/template-member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-parameter.cpp b/clang/test/DebugInfo/CXX/template-parameter.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-parameter.cpp
rename to clang/test/DebugInfo/CXX/template-parameter.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-partial-specialization.cpp b/clang/test/DebugInfo/CXX/template-partial-specialization.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-partial-specialization.cpp
rename to clang/test/DebugInfo/CXX/template-partial-specialization.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-quals.cpp b/clang/test/DebugInfo/CXX/template-quals.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-quals.cpp
rename to clang/test/DebugInfo/CXX/template-quals.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-recursive.cpp b/clang/test/DebugInfo/CXX/template-recursive.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-recursive.cpp
rename to clang/test/DebugInfo/CXX/template-recursive.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template.cpp b/clang/test/DebugInfo/CXX/template.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template.cpp
rename to clang/test/DebugInfo/CXX/template.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-this.cpp b/clang/test/DebugInfo/CXX/this.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-this.cpp
rename to clang/test/DebugInfo/CXX/this.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-thunk-msabi.cpp b/clang/test/DebugInfo/CXX/thunk-msabi.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-thunk-msabi.cpp
rename to clang/test/DebugInfo/CXX/thunk-msabi.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-thunk.cpp b/clang/test/DebugInfo/CXX/thunk.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-thunk.cpp
rename to clang/test/DebugInfo/CXX/thunk.cpp
diff --git a/clang/test/CodeGenCXX/trivial_abi_debuginfo.cpp b/clang/test/DebugInfo/CXX/trivial_abi_debuginfo.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/trivial_abi_debuginfo.cpp
rename to clang/test/DebugInfo/CXX/trivial_abi_debuginfo.cpp
diff --git a/clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp b/clang/test/DebugInfo/CXX/ubsan-check-debuglocs.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp
rename to clang/test/DebugInfo/CXX/ubsan-check-debuglocs.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-union-template.cpp b/clang/test/DebugInfo/CXX/union-template.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-union-template.cpp
rename to clang/test/DebugInfo/CXX/union-template.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-union.cpp b/clang/test/DebugInfo/CXX/union.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-union.cpp
rename to clang/test/DebugInfo/CXX/union.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-use-after-free.cpp b/clang/test/DebugInfo/CXX/use-after-free.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-use-after-free.cpp
rename to clang/test/DebugInfo/CXX/use-after-free.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-uuid.cpp b/clang/test/DebugInfo/CXX/uuid.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-uuid.cpp
rename to clang/test/DebugInfo/CXX/uuid.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-var-template-partial-spec.cpp b/clang/test/DebugInfo/CXX/var-template-partial-spec.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-var-template-partial-spec.cpp
rename to clang/test/DebugInfo/CXX/var-template-partial-spec.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-var-template-partial.cpp b/clang/test/DebugInfo/CXX/var-template-partial.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-var-template-partial.cpp
rename to clang/test/DebugInfo/CXX/var-template-partial.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-varargs.cpp b/clang/test/DebugInfo/CXX/varargs.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-varargs.cpp
rename to clang/test/DebugInfo/CXX/varargs.cpp
diff --git a/clang/test/CodeGenCXX/variadic-template-alias.cpp b/clang/test/DebugInfo/CXX/variadic-template-alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/variadic-template-alias.cpp
rename to clang/test/DebugInfo/CXX/variadic-template-alias.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-verbose-trap.cpp b/clang/test/DebugInfo/CXX/verbose-trap.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-verbose-trap.cpp
rename to clang/test/DebugInfo/CXX/verbose-trap.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-vla.cpp b/clang/test/DebugInfo/CXX/vla.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-vla.cpp
rename to clang/test/DebugInfo/CXX/vla.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info.cpp b/clang/test/DebugInfo/CXX/vtable-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info.cpp
rename to clang/test/DebugInfo/CXX/vtable-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/vtable-holder-self-reference.cpp b/clang/test/DebugInfo/CXX/vtable-holder-self-reference.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-holder-self-reference.cpp
rename to clang/test/DebugInfo/CXX/vtable-holder-self-reference.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-diamond.cpp b/clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-diamond.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-multiple.cpp b/clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-multiple.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple-main.cpp b/clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple-main.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp b/clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-virtual.cpp b/clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-virtual.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-vtable-optzn.cpp b/clang/test/DebugInfo/CXX/vtable-optzn.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-vtable-optzn.cpp
rename to clang/test/DebugInfo/CXX/vtable-optzn.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-wchar.cpp b/clang/test/DebugInfo/CXX/wchar.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-wchar.cpp
rename to clang/test/DebugInfo/CXX/wchar.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-windows-dtor.cpp b/clang/test/DebugInfo/CXX/windows-dtor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
rename to clang/test/DebugInfo/CXX/windows-dtor.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-zero-length-arrays.cpp b/clang/test/DebugInfo/CXX/zero-length-arrays.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-zero-length-arrays.cpp
rename to clang/test/DebugInfo/CXX/zero-length-arrays.cpp
>From 683b9efd07778ad0830cef611dfb82e81e9a20db Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Wed, 20 Aug 2025 14:42:12 +0100
Subject: [PATCH 2/4] fixup! remove file
---
clang/test/DebugInfo/CXX/remove_substring.py | 49 --------------------
1 file changed, 49 deletions(-)
delete mode 100644 clang/test/DebugInfo/CXX/remove_substring.py
diff --git a/clang/test/DebugInfo/CXX/remove_substring.py b/clang/test/DebugInfo/CXX/remove_substring.py
deleted file mode 100644
index 8c71b328d5a40..0000000000000
--- a/clang/test/DebugInfo/CXX/remove_substring.py
+++ /dev/null
@@ -1,49 +0,0 @@
-import os
-import sys
-
-def remove_substring_from_files(directory, substring):
- """
- Removes a specified substring from all filenames in the directory.
- Aborts if any duplicates would result.
- """
- if not os.path.isdir(directory):
- print(f"Error: '{directory}' is not a valid directory.")
- sys.exit(1)
-
- original_to_new = {}
- filenames = os.listdir(directory)
-
- for filename in filenames:
- new_filename = filename.replace(substring, '')
- if new_filename != filename:
- original_to_new[filename] = new_filename
-
- # Check for duplicates
- new_names = list(original_to_new.values())
- if len(new_names) != len(set(new_names)):
- print("Error: Removing the substring would result in duplicate filenames. Aborting.")
- for new_name in new_names:
- if new_names.count(new_name) > 1:
- print(f" - Conflict: {new_name}")
- sys.exit(1)
-
- # Perform renaming
- for old_name, new_name in original_to_new.items():
- old_path = os.path.join(directory, old_name)
- new_path = os.path.join(directory, new_name)
- os.rename(old_path, new_path)
- print(f"Renamed: '{old_name}' → '{new_name}'")
-
- if not original_to_new:
- print("No files were renamed (substring not found in any filenames).")
-
-if __name__ == "__main__":
- import argparse
-
- parser = argparse.ArgumentParser(description="Remove a substring from filenames in a directory.")
- parser.add_argument("directory", help="Directory containing files to rename.")
- parser.add_argument("substring", help="Substring to remove from filenames.")
-
- args = parser.parse_args()
- remove_substring_from_files(args.directory, args.substring)
-
>From 16856a57995f9420f376e9ae8a8e637be688cebe Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Wed, 20 Aug 2025 15:10:32 +0100
Subject: [PATCH 3/4] fixup! fix failing tests
---
.../CXX}/Inputs/debug-info-class-limited.cpp | 0
clang/test/DebugInfo/CXX/anon-union-vars.cpp | 2 +-
clang/test/DebugInfo/CXX/function-context.cpp | 2 +-
clang/test/DebugInfo/CXX/lambda-expressions.cpp | 2 +-
clang/test/DebugInfo/CXX/simple-template-names.cpp | 8 ++++----
clang/test/DebugInfo/CXX/verbose-trap.cpp | 2 +-
6 files changed, 8 insertions(+), 8 deletions(-)
rename clang/test/{CodeGenCXX => DebugInfo/CXX}/Inputs/debug-info-class-limited.cpp (100%)
diff --git a/clang/test/CodeGenCXX/Inputs/debug-info-class-limited.cpp b/clang/test/DebugInfo/CXX/Inputs/debug-info-class-limited.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/Inputs/debug-info-class-limited.cpp
rename to clang/test/DebugInfo/CXX/Inputs/debug-info-class-limited.cpp
diff --git a/clang/test/DebugInfo/CXX/anon-union-vars.cpp b/clang/test/DebugInfo/CXX/anon-union-vars.cpp
index 61b3c7c0526c8..3aca4e199ab8d 100644
--- a/clang/test/DebugInfo/CXX/anon-union-vars.cpp
+++ b/clang/test/DebugInfo/CXX/anon-union-vars.cpp
@@ -46,7 +46,7 @@ void instantiate(int x) {
// CHECK: !DIGlobalVariable(name: "c",{{.*}} file: [[FILE:.*]], line: 6,{{.*}} isLocal: true, isDefinition: true
// CHECK: !DIGlobalVariable(name: "d",{{.*}} file: [[FILE]], line: 6,{{.*}} isLocal: true, isDefinition: true
-// CHECK: [[FILE]] = !DIFile(filename: "{{.*}}debug-info-anon-union-vars.cpp",
+// CHECK: [[FILE]] = !DIFile(filename: "{{.*}}anon-union-vars.cpp",
// CHECK: !DIGlobalVariable(name: "a",{{.*}} file: [[FILE]], line: 6,{{.*}} isLocal: true, isDefinition: true
// CHECK: !DIGlobalVariable(name: "b",{{.*}} file: [[FILE]], line: 6,{{.*}} isLocal: true, isDefinition: true
// CHECK: !DIGlobalVariable(name: "result", {{.*}} isLocal: false, isDefinition: true
diff --git a/clang/test/DebugInfo/CXX/function-context.cpp b/clang/test/DebugInfo/CXX/function-context.cpp
index 29c87b6ec0055..da5fa5a79a723 100644
--- a/clang/test/DebugInfo/CXX/function-context.cpp
+++ b/clang/test/DebugInfo/CXX/function-context.cpp
@@ -1,5 +1,5 @@
// RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -triple x86_64-pc-linux-gnu %s -fdebug-compilation-dir=%S \
-// RUN: -dwarf-version=5 -main-file-name debug-info-function-context.cpp -o - | FileCheck %s
+// RUN: -dwarf-version=5 -main-file-name function-context.cpp -o - | FileCheck %s
struct C {
void member_function();
diff --git a/clang/test/DebugInfo/CXX/lambda-expressions.cpp b/clang/test/DebugInfo/CXX/lambda-expressions.cpp
index 324c0926fb9f2..1604b908ab8bf 100644
--- a/clang/test/DebugInfo/CXX/lambda-expressions.cpp
+++ b/clang/test/DebugInfo/CXX/lambda-expressions.cpp
@@ -21,7 +21,7 @@ int d(int x) { D y[10]; return [x,y] { return y[x].x; }(); }
// CHECK-SAME: line: [[VAR_LINE:[0-9]+]]
// CHECK-SAME: type: ![[VAR_T:[0-9]+]]
-// CHECK: [[FILE:.*]] = !DIFile(filename: "{{.*}}debug-lambda-expressions.cpp",
+// CHECK: [[FILE:.*]] = !DIFile(filename: "{{.*}}lambda-expressions.cpp",
// CVAR:
// CHECK: !DIGlobalVariable(name: "cvar"
diff --git a/clang/test/DebugInfo/CXX/simple-template-names.cpp b/clang/test/DebugInfo/CXX/simple-template-names.cpp
index 98faa0fc6f0bb..5a5d706e81972 100644
--- a/clang/test/DebugInfo/CXX/simple-template-names.cpp
+++ b/clang/test/DebugInfo/CXX/simple-template-names.cpp
@@ -70,18 +70,18 @@ void f() {
// anything other than another unnamed class/struct.
auto Lambda = [] {};
f1<decltype(Lambda)>();
- // CHECK: !DISubprogram(name: "f1<(lambda at {{.*}}debug-info-simple-template-names.cpp:[[# @LINE - 2]]:17)>",
+ // CHECK: !DISubprogram(name: "f1<(lambda at {{.*}}simple-template-names.cpp:[[# @LINE - 2]]:17)>",
f1<t1<t1<decltype(Lambda)>>>();
// CHECK: !DISubprogram(name: "f1<t1<t1<(lambda at {{.*}}> > >",
struct {
} unnamed_struct;
f1<decltype(unnamed_struct)>();
- // CHECK: !DISubprogram(name: "f1<(unnamed struct at {{.*}}debug-info-simple-template-names.cpp:[[# @LINE - 3]]:3)>",
+ // CHECK: !DISubprogram(name: "f1<(unnamed struct at {{.*}}simple-template-names.cpp:[[# @LINE - 3]]:3)>",
f1<void (decltype(unnamed_struct))>();
- // CHECK: !DISubprogram(name: "f1<void ((unnamed struct at {{.*}}debug-info-simple-template-names.cpp:[[# @LINE - 5]]:3))>",
+ // CHECK: !DISubprogram(name: "f1<void ((unnamed struct at {{.*}}simple-template-names.cpp:[[# @LINE - 5]]:3))>",
enum {} unnamed_enum;
f1<decltype(unnamed_enum)>();
- // CHECK: !DISubprogram(name: "f1<(unnamed enum at {{.*}}debug-info-simple-template-names.cpp:[[# @LINE - 2]]:3)>",
+ // CHECK: !DISubprogram(name: "f1<(unnamed enum at {{.*}}simple-template-names.cpp:[[# @LINE - 2]]:3)>",
// Declarations can't readily be reversed as the value in the DWARF only
// contains the address of the value - we'd have to do symbol lookup to find
diff --git a/clang/test/DebugInfo/CXX/verbose-trap.cpp b/clang/test/DebugInfo/CXX/verbose-trap.cpp
index f492698ccab83..4a88df934ff7c 100644
--- a/clang/test/DebugInfo/CXX/verbose-trap.cpp
+++ b/clang/test/DebugInfo/CXX/verbose-trap.cpp
@@ -17,7 +17,7 @@
// CHECK: attributes #[[ATTR1]] = { cold {{.*}}}
-// CHECK: ![[FILESCOPE:.*]] = !DIFile(filename: "{{.*}}debug-info-verbose-trap.cpp"
+// CHECK: ![[FILESCOPE:.*]] = !DIFile(filename: "{{.*}}verbose-trap.cpp"
char const constCat[] = "category2";
char const constMsg[] = "hello";
>From f01d2cf657f06040e6c3cceed0ba2fc6d59dcd00 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Thu, 21 Aug 2025 07:50:43 +0100
Subject: [PATCH 4/4] fixup! remove some more debug-info* from filenames
---
.../test/CodeGen/cfi-check-fail-debuginfo.ll | 195 ++++++++++++++++++
clang/test/CodeGen/cfi-check-fail-debuginfo.o | Bin 0 -> 12488 bytes
.../dependent-template-type-scope.cpp | 12 ++
...fo-class-limited.cpp => class-limited.cpp} | 0
...nit-debug-info.cpp => aix-static-init.cpp} | 0
.../DebugInfo/CXX/class-limited-plugin.test | 2 +-
clang/test/DebugInfo/CXX/class-limited.test | 2 +-
...structor-debug-info.cpp => destructor.cpp} | 0
...access-debug-info.cpp => field-access.cpp} | 0
....cpp => microsoft-abi-member-pointers.cpp} | 0
...-enums-debug-info.cpp => scoped-enums.cpp} | 0
...vial_abi_debuginfo.cpp => trivial_abi.cpp} | 0
.../CXX/{vtable-debug-info.cpp => vtable.cpp} | 0
13 files changed, 209 insertions(+), 2 deletions(-)
create mode 100644 clang/test/CodeGen/cfi-check-fail-debuginfo.ll
create mode 100644 clang/test/CodeGen/cfi-check-fail-debuginfo.o
create mode 100644 clang/test/CodeGenCXX/dependent-template-type-scope.cpp
rename clang/test/DebugInfo/CXX/Inputs/{debug-info-class-limited.cpp => class-limited.cpp} (100%)
rename clang/test/DebugInfo/CXX/{aix-static-init-debug-info.cpp => aix-static-init.cpp} (100%)
rename clang/test/DebugInfo/CXX/{destructor-debug-info.cpp => destructor.cpp} (100%)
rename clang/test/DebugInfo/CXX/{field-access-debug-info.cpp => field-access.cpp} (100%)
rename clang/test/DebugInfo/CXX/{microsoft-abi-member-pointers-debug-info.cpp => microsoft-abi-member-pointers.cpp} (100%)
rename clang/test/DebugInfo/CXX/{scoped-enums-debug-info.cpp => scoped-enums.cpp} (100%)
rename clang/test/DebugInfo/CXX/{trivial_abi_debuginfo.cpp => trivial_abi.cpp} (100%)
rename clang/test/DebugInfo/CXX/{vtable-debug-info.cpp => vtable.cpp} (100%)
diff --git a/clang/test/CodeGen/cfi-check-fail-debuginfo.ll b/clang/test/CodeGen/cfi-check-fail-debuginfo.ll
new file mode 100644
index 0000000000000..1ca81a46973e6
--- /dev/null
+++ b/clang/test/CodeGen/cfi-check-fail-debuginfo.ll
@@ -0,0 +1,195 @@
+; ModuleID = 'clang/test/CodeGen/cfi-check-fail-debuginfo.c'
+source_filename = "clang/test/CodeGen/cfi-check-fail-debuginfo.c"
+target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux"
+
+ at llvm.used = appending global [1 x ptr] [ptr @__cfi_check_fail], section "llvm.metadata"
+
+; Function Attrs: nounwind
+define dso_local void @caller(ptr noundef %f) local_unnamed_addr #0 !dbg !7 !type !16 !type !17 !type !18 {
+entry:
+ #dbg_value(ptr %f, !15, !DIExpression(), !19)
+ %0 = tail call i1 @llvm.type.test(ptr %f, metadata !"_ZTSFvvE"), !dbg !20, !nosanitize !24
+ br i1 %0, label %cfi.cont, label %cfi.slowpath, !dbg !20, !prof !25, !nosanitize !24
+
+cfi.slowpath: ; preds = %entry
+ tail call void @__cfi_slowpath(i64 9080559750644022485, ptr %f) #6, !dbg !20, !nosanitize !24
+ br label %cfi.cont, !dbg !20, !nosanitize !24
+
+cfi.cont: ; preds = %cfi.slowpath, %entry
+ tail call void %f() #6, !dbg !23
+ ret void, !dbg !26
+}
+
+; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
+declare i1 @llvm.type.test(ptr, metadata) #1
+
+declare void @__cfi_slowpath(i64, ptr) local_unnamed_addr
+
+; Function Attrs: nounwind
+define weak_odr hidden void @__cfi_check_fail(ptr noundef %0, ptr noundef %1) #0 !dbg !27 {
+entry:
+ #dbg_value(ptr %0, !30, !DIExpression(), !33)
+ #dbg_value(ptr %1, !32, !DIExpression(), !33)
+ %.not = icmp eq ptr %0, null, !dbg !33, !nosanitize !24
+ br i1 %.not, label %trap, label %cont, !dbg !33, !prof !34, !nosanitize !24
+
+trap: ; preds = %entry
+ tail call void @llvm.ubsantrap(i8 2) #7, !dbg !33, !nosanitize !24
+ unreachable, !dbg !33, !nosanitize !24
+
+cont: ; preds = %entry
+ %2 = load i8, ptr %0, align 4, !dbg !33, !nosanitize !24
+ %3 = tail call i1 @llvm.type.test(ptr %1, metadata !"all-vtables"), !dbg !33, !nosanitize !24
+ %4 = zext i1 %3 to i64, !dbg !33, !nosanitize !24
+ switch i8 %2, label %cont10 [
+ i8 0, label %handler.cfi_check_fail
+ i8 1, label %trap3
+ i8 2, label %handler.cfi_check_fail5
+ i8 3, label %handler.cfi_check_fail7
+ i8 4, label %trap9
+ ], !dbg !33, !prof !35
+
+handler.cfi_check_fail: ; preds = %cont
+ %5 = ptrtoint ptr %0 to i64, !dbg !33, !nosanitize !24
+ %6 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+ tail call void @__ubsan_handle_cfi_check_fail(i64 %5, i64 %6, i64 %4) #8, !dbg !33, !nosanitize !24
+ br label %cont10, !dbg !33
+
+trap3: ; preds = %cont
+ tail call void @llvm.ubsantrap(i8 2) #9, !dbg !33, !nosanitize !24
+ unreachable, !dbg !33, !nosanitize !24
+
+handler.cfi_check_fail5: ; preds = %cont
+ %7 = ptrtoint ptr %0 to i64, !dbg !33, !nosanitize !24
+ %8 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+ tail call void @__ubsan_handle_cfi_check_fail_abort(i64 %7, i64 %8, i64 %4) #9, !dbg !33, !nosanitize !24
+ unreachable, !dbg !33, !nosanitize !24
+
+handler.cfi_check_fail7: ; preds = %cont
+ %9 = ptrtoint ptr %0 to i64, !dbg !33, !nosanitize !24
+ %10 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+ tail call void @__ubsan_handle_cfi_check_fail(i64 %9, i64 %10, i64 %4) #8, !dbg !33, !nosanitize !24
+ br label %cont10, !dbg !33
+
+trap9: ; preds = %cont
+ tail call void @llvm.ubsantrap(i8 2) #9, !dbg !33, !nosanitize !24
+ unreachable, !dbg !33, !nosanitize !24
+
+cont10: ; preds = %handler.cfi_check_fail7, %handler.cfi_check_fail, %cont
+ ret void, !dbg !33, !nosanitize !24
+}
+
+; Function Attrs: cold noreturn nounwind
+declare void @llvm.ubsantrap(i8 immarg) #2
+
+; Function Attrs: uwtable
+declare void @__ubsan_handle_cfi_check_fail(i64, i64, i64) local_unnamed_addr #3
+
+; Function Attrs: noreturn nounwind uwtable
+declare void @__ubsan_handle_cfi_check_fail_abort(i64, i64, i64) local_unnamed_addr #4
+
+; Function Attrs: nounwind
+define weak void @__cfi_check(i64 noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #5 align 4096 {
+entry:
+ #dbg_value(ptr %2, !30, !DIExpression(), !33)
+ #dbg_value(ptr %1, !32, !DIExpression(), !33)
+ %.not.i = icmp eq ptr %2, null, !dbg !33, !nosanitize !24
+ br i1 %.not.i, label %trap.i, label %cont.i, !dbg !33, !prof !34, !nosanitize !24
+
+trap.i: ; preds = %entry
+ tail call void @llvm.ubsantrap(i8 2) #7, !dbg !33, !nosanitize !24
+ unreachable, !dbg !33, !nosanitize !24
+
+cont.i: ; preds = %entry
+ %3 = load i8, ptr %2, align 4, !dbg !33, !nosanitize !24
+ %4 = tail call i1 @llvm.type.test(ptr %1, metadata !"all-vtables"), !dbg !33, !nosanitize !24
+ %5 = zext i1 %4 to i64, !dbg !33, !nosanitize !24
+ switch i8 %3, label %__cfi_check_fail.exit [
+ i8 0, label %handler.cfi_check_fail.i
+ i8 1, label %trap3.i
+ i8 2, label %handler.cfi_check_fail5.i
+ i8 3, label %handler.cfi_check_fail7.i
+ i8 4, label %trap9.i
+ ], !dbg !33, !prof !35
+
+handler.cfi_check_fail.i: ; preds = %cont.i
+ %6 = ptrtoint ptr %2 to i64, !dbg !33, !nosanitize !24
+ %7 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+ tail call void @__ubsan_handle_cfi_check_fail(i64 %6, i64 %7, i64 %5) #8, !dbg !33, !nosanitize !24
+ br label %__cfi_check_fail.exit, !dbg !33
+
+trap3.i: ; preds = %cont.i
+ tail call void @llvm.ubsantrap(i8 2) #9, !dbg !33, !nosanitize !24
+ unreachable, !dbg !33, !nosanitize !24
+
+handler.cfi_check_fail5.i: ; preds = %cont.i
+ %8 = ptrtoint ptr %2 to i64, !dbg !33, !nosanitize !24
+ %9 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+ tail call void @__ubsan_handle_cfi_check_fail_abort(i64 %8, i64 %9, i64 %5) #9, !dbg !33, !nosanitize !24
+ unreachable, !dbg !33, !nosanitize !24
+
+handler.cfi_check_fail7.i: ; preds = %cont.i
+ %10 = ptrtoint ptr %2 to i64, !dbg !33, !nosanitize !24
+ %11 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+ tail call void @__ubsan_handle_cfi_check_fail(i64 %10, i64 %11, i64 %5) #8, !dbg !33, !nosanitize !24
+ br label %__cfi_check_fail.exit, !dbg !33
+
+trap9.i: ; preds = %cont.i
+ tail call void @llvm.ubsantrap(i8 2) #9, !dbg !33, !nosanitize !24
+ unreachable, !dbg !33, !nosanitize !24
+
+__cfi_check_fail.exit: ; preds = %cont.i, %handler.cfi_check_fail.i, %handler.cfi_check_fail7.i
+ ret void
+}
+
+attributes #0 = { nounwind "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" }
+attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
+attributes #2 = { cold noreturn nounwind }
+attributes #3 = { uwtable }
+attributes #4 = { noreturn nounwind uwtable }
+attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" }
+attributes #6 = { nounwind }
+attributes #7 = { noreturn nounwind }
+attributes #8 = { nomerge nounwind }
+attributes #9 = { nomerge noreturn nounwind }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!2, !3, !4, !5, !6}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C11, file: !1, isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, nameTableKind: None)
+!1 = !DIFile(filename: "<stdin>", directory: "clang/test/CodeGen")
+!2 = !{i32 2, !"Debug Info Version", i32 3}
+!3 = !{i32 1, !"wchar_size", i32 4}
+!4 = !{i32 4, !"Cross-DSO CFI", i32 1}
+!5 = !{i32 4, !"CFI Canonical Jump Tables", i32 0}
+!6 = !{i32 7, !"debug-info-assignment-tracking", i1 true}
+!7 = distinct !DISubprogram(name: "caller", scope: !8, file: !8, line: 22, type: !9, scopeLine: 22, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !14)
+!8 = !DIFile(filename: "cfi-check-fail-debuginfo.c", directory: "clang/test/CodeGen")
+!9 = !DISubroutineType(types: !10)
+!10 = !{null, !11}
+!11 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !12, size: 64)
+!12 = !DISubroutineType(types: !13)
+!13 = !{null}
+!14 = !{!15}
+!15 = !DILocalVariable(name: "f", arg: 1, scope: !7, file: !8, line: 22, type: !11)
+!16 = !{i64 0, !"_ZTSFvPFvvEE"}
+!17 = !{i64 0, !"_ZTSFvPvE.generalized"}
+!18 = !{i64 0, i64 2451761621477796417}
+!19 = !DILocation(line: 0, scope: !7)
+!20 = !DILocation(line: 0, scope: !21, inlinedAt: !23)
+!21 = distinct !DISubprogram(name: "__ubsan_check_cfi_icall", scope: !8, file: !8, type: !22, flags: DIFlagArtificial, spFlags: DISPFlagDefinition, unit: !0)
+!22 = !DISubroutineType(types: null)
+!23 = !DILocation(line: 23, column: 3, scope: !7)
+!24 = !{}
+!25 = !{!"branch_weights", i32 1048575, i32 1}
+!26 = !DILocation(line: 24, column: 1, scope: !7)
+!27 = distinct !DISubprogram(linkageName: "__cfi_check_fail", scope: !1, file: !1, type: !28, flags: DIFlagArtificial, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !29)
+!28 = !DISubroutineType(types: !24)
+!29 = !{!30, !32}
+!30 = !DILocalVariable(arg: 1, scope: !27, type: !31, flags: DIFlagArtificial)
+!31 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
+!32 = !DILocalVariable(arg: 2, scope: !27, type: !31, flags: DIFlagArtificial)
+!33 = !DILocation(line: 0, scope: !27)
+!34 = !{!"branch_weights", i32 1, i32 1048575}
+!35 = !{!"branch_weights", i32 -20480, i32 4096, i32 4095, i32 4095, i32 4095, i32 4095}
diff --git a/clang/test/CodeGen/cfi-check-fail-debuginfo.o b/clang/test/CodeGen/cfi-check-fail-debuginfo.o
new file mode 100644
index 0000000000000000000000000000000000000000..4164cfc71a0838d730c1ee55f35eec0808ae3c10
GIT binary patch
literal 12488
zcmeHNU1(fY5T1MQCfOwIZqk at +s+MkJYhoq0Efkghq^s%AZ73zShPEiAo6RO!yWK6j
zw?B$#BrO_5C?e{M;JY9`6)Xh{eJKhef at oi)g+5eY)HkJtICJjI-Mc5ZeNjQ-4BT^O
zzL_&KXYTpA3H!#L1AA at Da)8N#5wJvv^xl&VA*a|J^u<~>><nirU at BlLU@BlLU at BlL
zU at BlLU@BlLU at BlLU@Gw6sDQWl=jYb>tG>N->#+Cb_g8*=_3kH$*S*EBy~S_tP>SB-
zjTe`0&A92c=T*jr128o(HK5I4)`6*kSqJ7`Fn6Ol3C&4pPC|1Mnv>9+gytmtKb(Z=
zweyswci}sK&|CZ=eaZF~{z#m$u6ggSREk34P0zZ%bn`O(9N=eyX47BfY}Je_Q2l>E
z$)pX)yRhW1PhV>LN1Tb%`}9jpy1I`63nqkJ7ea at G-4H^Dg&ho`L(GMp)opD^^|Uyt
zuFNB;Zfha~V7uU?wyxf_I@<~0xM;DeHP`Q?wsmgr97Gr((E at fR0QUC)w5)+GJrkLu
zoyR(l;E+}sQc+$2+R(gzf6rDNnM?zXXzztVlseLs$6NR$R6<Gh3yn33k85lK8^7tG
zX<0`U))zP+pl<=&mW>1>Ss4df0~TPE05zb^npi}k&3b`4NWP6tdk3-qF72rM)1}G?
z6w3L^>?Xfh_cx7Jr;GcF6_}hnJyp+FCJS at L!imYkOlh)I$d}7NO|gb*f&%4CzEp-8
zmFYv+(sD^a60CDwE83D5RT0-~^N=NQAl0>CA4?^#vHnrbj!H!2r at F>cNdR5HH&DY_
z*1v{w0(N3+S=QauO6n*9d at R6>hgHVIl=1L%aq9GJsWMY_3*<#=K|HjpcT1epYjrp;
zA8m1*%vh^ay58z!Zre8cP1q5u?heZyMUY0s(F)Wg;P<6CodaR8Cbh%Mun9yVvVxja
z4%R%59Ee{@4yY4o*$@ZRK8V4)mth1rfLlnTmr!06nU}opuMqFjY)SkWp8-4EHEL at R
z?&A|@|L}eA&k!G=xI9SKhiqbsumYcZe5UoX9lZh4Nvt7e2unrmcSdlklK5GLJdyYj
zT#h{5&$hr^#f<u4Sov{KSR1h;mi!a`90^GB#s%LVz-o at f3NAk@llcig!uGUpi3q1>
zfDQWzL=t=t<FXG0A7MPJtQ+<&<Lfp2S;i%Q+BoD(NX|%Fxx$l<-W?I)GL~eizu>YF
z<zgb79wAykL}K3_i10Y~gty_dnPsV;*vtI4uwKu97vo~Tm1S9vgtst8-5B#?e}Ls<
z5uEZ7nqr3H(s~d&#f<oo^&oo5Q({XE1(!PT>ruZvr1yfiqas-kVlV4k>LfUu!!yhX
zF6Tflf=BcBG<=k0sW;6_awJuj8YJ-_NC3N;(d~8rVn2N!`#Hu#|6G_c9cNkUPxjGy
zfvawt$^6t*t#}69TCtpW{o*-4yl3a~mFaR(yH(M?TJzaF at KD2>x>y%~b-yMza^N#C
zqFe33o+Bx^%kJ_B0B)t~7u|gaCx+{OzHovs{(8B3_Eg at VYf7zLsuY`mnOgp2Gg7V=
z9&`=6I3GVh1#bP7ld4yBs#T}+ex57*_qsuRF-`A9+-(e)-Spxjq=`W1Bw^7rNtyGy
z*vozBLX+vNr at J5*8U)NdZ=~al_hL``PWGqlyAKfy;%AX-(0DfBWxt3<3lHz1A};<-
zjxYOz;**^oe+LGq_>^0e-p>ZoP!vR-d_?JK92^&ah!5W1*qGu|jrI8Sg+=jox{?i$
zvZl~&@1Z^}em@^fQfG=!v6sb1O!tWp46UOUU?J$jR=1r)jgFD=r#$|haAd&fwgrUa
z^54w)kMjV^AOH4QmOrfz-6ulu)Bv>r$5q>CbX)pfh>Jfz6pXpbLn%IeUF!9F9x?K{
z8J{S9!0``8LF6UA^p_)8)buuwk7C5jIKh97!AN(9$Ip`xA<18$UyzBLf9{FE;vyT;
z{ON01#>=|;2{An<8Z!47wE**~Z8W;=4OGR&|CZxRT`4|&mFw|0p+mdjKIHCj{Es*w
Ib#d$GFP2YoYybcN
literal 0
HcmV?d00001
diff --git a/clang/test/CodeGenCXX/dependent-template-type-scope.cpp b/clang/test/CodeGenCXX/dependent-template-type-scope.cpp
new file mode 100644
index 0000000000000..25a4d8741b01e
--- /dev/null
+++ b/clang/test/CodeGenCXX/dependent-template-type-scope.cpp
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm -debug-info-kind=standalone -o - %s | FileCheck %s
+
+template <typename T = int>
+struct Y {
+ typedef int outside;
+ outside o;
+};
+
+Y<> y;
+
+// CHECK: ![[Y:.*]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Y<int>", {{.*}}identifier: "_ZTS1YIiE")
+// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "outside", scope: ![[Y]],
diff --git a/clang/test/DebugInfo/CXX/Inputs/debug-info-class-limited.cpp b/clang/test/DebugInfo/CXX/Inputs/class-limited.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/Inputs/debug-info-class-limited.cpp
rename to clang/test/DebugInfo/CXX/Inputs/class-limited.cpp
diff --git a/clang/test/DebugInfo/CXX/aix-static-init-debug-info.cpp b/clang/test/DebugInfo/CXX/aix-static-init.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/aix-static-init-debug-info.cpp
rename to clang/test/DebugInfo/CXX/aix-static-init.cpp
diff --git a/clang/test/DebugInfo/CXX/class-limited-plugin.test b/clang/test/DebugInfo/CXX/class-limited-plugin.test
index 17248d5743dac..1a2cc223a3829 100644
--- a/clang/test/DebugInfo/CXX/class-limited-plugin.test
+++ b/clang/test/DebugInfo/CXX/class-limited-plugin.test
@@ -1,2 +1,2 @@
-RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -o - -load %llvmshlibdir/PrintFunctionNames%pluginext -add-plugin print-fns %S/Inputs/debug-info-class-limited.cpp 2>&1 | FileCheck %S/Inputs/debug-info-class-limited.cpp
+RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -o - -load %llvmshlibdir/PrintFunctionNames%pluginext -add-plugin print-fns %S/Inputs/class-limited.cpp 2>&1 | FileCheck %S/Inputs/class-limited.cpp
REQUIRES: plugins, examples
diff --git a/clang/test/DebugInfo/CXX/class-limited.test b/clang/test/DebugInfo/CXX/class-limited.test
index c2e332866f9fa..b1279d9855bf7 100644
--- a/clang/test/DebugInfo/CXX/class-limited.test
+++ b/clang/test/DebugInfo/CXX/class-limited.test
@@ -1 +1 @@
-RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited %S/Inputs/debug-info-class-limited.cpp -o - | FileCheck %S/Inputs/debug-info-class-limited.cpp
+RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited %S/Inputs/class-limited.cpp -o - | FileCheck %S/Inputs/class-limited.cpp
diff --git a/clang/test/DebugInfo/CXX/destructor-debug-info.cpp b/clang/test/DebugInfo/CXX/destructor.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/destructor-debug-info.cpp
rename to clang/test/DebugInfo/CXX/destructor.cpp
diff --git a/clang/test/DebugInfo/CXX/field-access-debug-info.cpp b/clang/test/DebugInfo/CXX/field-access.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/field-access-debug-info.cpp
rename to clang/test/DebugInfo/CXX/field-access.cpp
diff --git a/clang/test/DebugInfo/CXX/microsoft-abi-member-pointers-debug-info.cpp b/clang/test/DebugInfo/CXX/microsoft-abi-member-pointers.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/microsoft-abi-member-pointers-debug-info.cpp
rename to clang/test/DebugInfo/CXX/microsoft-abi-member-pointers.cpp
diff --git a/clang/test/DebugInfo/CXX/scoped-enums-debug-info.cpp b/clang/test/DebugInfo/CXX/scoped-enums.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/scoped-enums-debug-info.cpp
rename to clang/test/DebugInfo/CXX/scoped-enums.cpp
diff --git a/clang/test/DebugInfo/CXX/trivial_abi_debuginfo.cpp b/clang/test/DebugInfo/CXX/trivial_abi.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/trivial_abi_debuginfo.cpp
rename to clang/test/DebugInfo/CXX/trivial_abi.cpp
diff --git a/clang/test/DebugInfo/CXX/vtable-debug-info.cpp b/clang/test/DebugInfo/CXX/vtable.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/vtable-debug-info.cpp
rename to clang/test/DebugInfo/CXX/vtable.cpp
More information about the cfe-commits
mailing list