;RUN: dsaopt %s -dsa-local -analyze -verify-flags "main:obj1+UP2"
;RUN: dsaopt %s -dsa-local -analyze -verify-flags "main:obj+UP2"
;RUN: dsaopt %s -dsa-local -analyze -check-type=main:obj,0:i32*::4:i32
;RUN: dsaopt %s -dsa-local -analyze -check-type=main:obj1,0:i32\|i32*

; if any part of pointer overlaps with an interger, we must mark the into to ptr flag.
 

; ModuleID = 'union_P21.o'
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"

%struct.StructType = type { i32, i32 }
%union.UnionType = type { i32* }

define i32 @main() nounwind {
entry:
  %retval = alloca i32                            ; <i32*> [#uses=1]
  %obj = alloca %union.UnionType                  ; <%union.UnionType*> [#uses=2]
  %d = alloca i32                                 ; <i32*> [#uses=1]
  %obj1 = alloca %union.UnionType                 ; <%union.UnionType*> [#uses=2]
  %e = alloca i32                                 ; <i32*> [#uses=1]
  %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
  %0 = call noalias i8* @malloc(i64 4) nounwind   ; <i8*> [#uses=1]
  %1 = bitcast i8* %0 to i32*                     ; <i32*> [#uses=1]
  %2 = getelementptr inbounds %union.UnionType, %union.UnionType* %obj, i32 0, i32 0 ; <i32**> [#uses=1]
  store i32* %1, i32** %2, align 8
  %3 = getelementptr inbounds %union.UnionType, %union.UnionType* %obj, i32 0, i32 0 ; <i32**> [#uses=1]
  %4 = bitcast i32** %3 to %struct.StructType*    ; <%struct.StructType*> [#uses=1]
  %5 = getelementptr inbounds %struct.StructType, %struct.StructType* %4, i32 0, i32 1 ; <i32*> [#uses=1]
  %6 = load i32, i32* %5, align 4                      ; <i32> [#uses=1]
  store i32 %6, i32* %d, align 4
  %7 = call noalias i8* @malloc(i64 4) nounwind   ; <i8*> [#uses=1]
  %8 = bitcast i8* %7 to i32*                     ; <i32*> [#uses=1]
  %9 = getelementptr inbounds %union.UnionType, %union.UnionType* %obj1, i32 0, i32 0 ; <i32**> [#uses=1]
  store i32* %8, i32** %9, align 8
  %10 = getelementptr inbounds %union.UnionType, %union.UnionType* %obj1, i32 0, i32 0 ; <i32**> [#uses=1]
  %11 = bitcast i32** %10 to %struct.StructType*  ; <%struct.StructType*> [#uses=1]
  %12 = getelementptr inbounds %struct.StructType, %struct.StructType* %11, i32 0, i32 0 ; <i32*> [#uses=1]
  %13 = load i32, i32* %12, align 8                    ; <i32> [#uses=1]
  store i32 %13, i32* %e, align 4
  br label %return

return:                                           ; preds = %entry
  %retval1 = load i32, i32* %retval                    ; <i32> [#uses=1]
  ret i32 %retval1
}

declare noalias i8* @malloc(i64) nounwind
