1RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/start.s -o %t.o
2
3; Verify we can parse large integers such as when we ask for 2G of total
4; memory.
5RUN: wasm-ld %t.o -o %t1.wasm --max-memory=2147483648
6RUN: obj2yaml %t1.wasm | FileCheck %s --check-prefixes=CHECK,CHECK-2G
7
8; And also 4G of total memory
9RUN: wasm-ld %t.o -o %t2.wasm --max-memory=4294967296
10RUN: obj2yaml %t2.wasm | FileCheck %s --check-prefixes=CHECK,CHECK-4G
11
12CHECK:      - Type:            MEMORY
13CHECK-NEXT:   Memories:
14CHECK-NEXT:     - Flags:           [ HAS_MAX ]
15CHECK-NEXT:       Minimum:         0x2
16CHECK-2G-NEXT:    Maximum:         0x8000
17CHECK-4G-NEXT:    Maximum:         0x10000
18
19; Test error for more than 4G of memory
20RUN: not wasm-ld %t.o -o %t3.wasm --initial-memory=4295032832 2>&1 | FileCheck %s --check-prefix INIT-ERROR
21RUN: not wasm-ld %t.o -o %t4.wasm --max-memory=4295032832 2>&1 | FileCheck %s --check-prefix MAX-ERROR
22
23INIT-ERROR: initial memory too large, cannot be greater than 4294967296
24MAX-ERROR: maximum memory too large, cannot be greater than 4294967296
25