1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/Verifier/invalid-disubrange-stride.ll
Alok Kumar Sharma 6077c65472 [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays
This patch upgrades DISubrange to support fortran requirements.

Summary:
Below are the updates/addition of fields.
lowerBound - Now accepts signed integer or DIVariable or DIExpression,
earlier it accepted only signed integer.
upperBound - This field is now added and accepts signed interger or
DIVariable or DIExpression.
stride - This field is now added and accepts signed interger or
DIVariable or DIExpression.
This is required to describe bounds of array which are known at runtime.

Testing:
unit test cases added (hand-written)
check clang
check llvm
check debug-info

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D80197
2020-05-28 13:46:41 +05:30

7 lines
277 B
LLVM

; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
!named = !{!0, !1}
; CHECK: Stride must be signed constant or DIVariable or DIExpression
!0 = !DISubrange(upperBound: 1, stride: !1)
!1 = !DIBasicType(name: "integer*8", size: 64, align: 64, encoding: DW_ATE_signed)