File tree 3 files changed +8
-2
lines changed
3 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -1489,6 +1489,8 @@ Expr ScriptParser::readPrimary() {
1489
1489
Expr e = readPrimary ();
1490
1490
return [=] { return -e ().getValue (); };
1491
1491
}
1492
+ if (consume (" +" ))
1493
+ return readPrimary ();
1492
1494
1493
1495
StringRef tok = next ();
1494
1496
std::string location = getCurrentLocation ();
Original file line number Diff line number Diff line change @@ -12,9 +12,9 @@ SECTIONS {
12
12
}
13
13
14
14
# RUN: not ld.lld -shared 0.o -T 1.lds 2>&1 | FileCheck %s --check-prefix=CHECK1 --match-full-lines --strict-whitespace
15
- # CHECK1:{{.*}}:2: malformed number: +
15
+ # CHECK1:{{.*}}:2: malformed number: {
16
16
# CHECK1-NEXT:>>> .text + { *(.text) }
17
- # CHECK1-NEXT:>>> ^
17
+ # CHECK1-NEXT:>>> ^
18
18
19
19
#--- 2.lds
20
20
Original file line number Diff line number Diff line change @@ -73,6 +73,8 @@ SECTIONS {
73
73
log2ceil100000000 = LOG2CEIL(0x100000000);
74
74
log2ceil100000001 = LOG2CEIL(0x100000001);
75
75
log2ceilmax = LOG2CEIL(0xffffffffffffffff);
76
+ unaryadd = +3 + ++5;
77
+ unaryadd_and_unaryminus = 15 + +-5 + -+7;
76
78
}
77
79
78
80
# CHECK: 0000000000000002 A unary
@@ -126,6 +128,8 @@ SECTIONS {
126
128
# CHECK-NEXT: 0000000000000020 A log2ceil100000000
127
129
# CHECK-NEXT: 0000000000000021 A log2ceil100000001
128
130
# CHECK-NEXT: 0000000000000040 A log2ceilmax
131
+ # CHECK-NEXT: 0000000000000008 A unaryadd
132
+ # CHECK-NEXT: 0000000000000003 A unaryadd_and_unaryminus
129
133
130
134
## Mailformed number error.
131
135
# RUN: echo "SECTIONS { . = 0x12Q41; }" > %t.script
You can’t perform that action at this time.
0 commit comments