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 <michaelbuc...@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 <michaelbuc...@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 <michaelbuc...@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 <michaelbuc...@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" + +@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@+s+MkJYhoq0Efkghq^s%AZ73zShPEiAo6RO!yWK6j zw?B$#BrO_5C?e{M;JY9`6)Xh{eJKhef@oi)g+5eY)HkJtICJjI-Mc5ZeNjQ-4BT^O zzL_&KXYTpA3H!#L1AA@Da)8N#5wJvv^xl&VA*a|J^u<~>><nirU@BlLU@BlLU@BlL zU@BlLU@BlLU@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@G-4H^Dg&ho`L(GMp)opD^^|Uyt zuFNB;Zfha~V7uU?wyxf_I@<~0xM;DeHP`Q?wsmgr97Gr((E@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@L!imYkOlh)I$d}7NO|gb*f&%4CzEp-8 zmFYv+(sD^a60CDwE83D5RT0-~^N=NQAl0>CA4?^#vHnrbj!H!2r@F>cNdR5HH&DY_ z*1v{w0(N3+S=QauO6n*9d@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@R z?&A|@|L}eA&k!G=xI9SKhiqbsumYcZe5UoX9lZh4Nvt7e2unrmcSdlklK5GLJdyYj zT#h{5&$hr^#f<u4Sov{KSR1h;mi!a`90^GB#s%LVz-o@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@KD2>x>y%~b-yMza^N#C zqFe33o+Bx^%kJ_B0B)t~7u|gaCx+{OzHovs{(8B3_Eg@VYf7zLsuY`mnOgp2Gg7V= z9&`=6I3GVh1#bP7ld4yBs#T}+ex57*_qsuRF-`A9+-(e)-Spxjq=`W1Bw^7rNtyGy z*vozBLX+vNr@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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits