[cfe-commits] r157269 - /cfe/trunk/test/CodeGenCXX/debug-info-vla-range.cpp
Robinson, Paul
Paul.Robinson at am.sony.com
Tue May 22 14:08:27 PDT 2012
> Author: echristo
> Date: Tue May 22 13:04:48 2012
> New Revision: 157269
>
> URL: http://llvm.org/viewvc/llvm-project?rev=157269&view=rev
> Log:
> Test that we emit a subrange type for vlas.
>
> Part of rdar://11457152
>
> Added:
> cfe/trunk/test/CodeGenCXX/debug-info-vla-range.cpp
>
> Added: cfe/trunk/test/CodeGenCXX/debug-info-vla-range.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/debug-info-vla-range.cpp?rev=157269&view=auto
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/debug-info-vla-range.cpp (added)
> +++ cfe/trunk/test/CodeGenCXX/debug-info-vla-range.cpp Tue May 22 13:04:48 2012
> @@ -0,0 +1,9 @@
> +// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o -
| FileCheck %s
> +
> +// CHECK: DW_TAG_subrange_type
> +
> +struct StructName {
> + int member[];
> +};
> +
> +struct StructName SN;
The log says VLA, but the test code is actually a flex array member.
To be a complete test for flex array member, I suggest adding
// CHECK-NOT: DW_AT_upper_bound
A VLA would be something like this:
void foo (int bound) {
int vla[bound];
}
and the DW_TAG_subrange_type should have a DW_AT_upper_bound
that is a reference to the DW_TAG_formal_parameter for "bound".
Or, hm, actually an expression that evaluates to (bound - 1).
--paulr
More information about the cfe-commits
mailing list