aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authormax99x <max99x@gmail.com>2011-06-28 13:24:05 +0300
committermax99x <max99x@gmail.com>2011-06-28 13:34:23 +0300
commit126df9fa21f59c41456208879165805b908699d5 (patch)
tree0837408c8e9510aea70c619e80d01116b6e6e5d8 /tests
parent0ea0b71b3464198288a27ad21072e32166fcc2de (diff)
Added proper argument size support to _formatString/printf.
Diffstat (limited to 'tests')
-rw-r--r--tests/printf/output.txt279
-rw-r--r--tests/printf/test.c279
2 files changed, 558 insertions, 0 deletions
diff --git a/tests/printf/output.txt b/tests/printf/output.txt
index 7ea7b01c..80b4db80 100644
--- a/tests/printf/output.txt
+++ b/tests/printf/output.txt
@@ -8017,3 +8017,282 @@ in%3.5valid
%-5p : 0x4f318
%-10p : 0x4f318
%-30p : 0x4f318
+
+de
+bcde
+789abcde
+789abcde
+123456789abcde
+123456789abcde
+
+de
+bcde
+789abcde
+789abcde
+123456789abcde
+123456789abcde
+
+de
+bcde
+789abcde
+789abcde
+123456789abcde
+123456789abcde
+
+789abcde
+123456789abcde
+789abcde
+123456789abcde
+789abcde
+
+-34
+-17186
+2023406814
+2023406814
+5124095576030430
+5124095576030430
+
+-34
+-17186
+2023406814
+2023406814
+5124095576030430
+5124095576030430
+
+-34
+-17186
+2023406814
+2023406814
+5124095576030430
+5124095576030430
+
+2023406814
+5124095576030430
+2023406814
+5124095576030430
+2023406814
+
+222
+48350
+2023406814
+2023406814
+5124095576030430
+5124095576030430
+
+222
+48350
+2023406814
+2023406814
+5124095576030430
+5124095576030430
+
+222
+48350
+2023406814
+2023406814
+5124095576030430
+5124095576030430
+
+2023406814
+5124095576030430
+2023406814
+5124095576030430
+2023406814
+
+22
+4322
+87654322
+87654322
+ffedcba987654322
+ffedcba987654322
+
+22
+4322
+87654322
+87654322
+ffedcba987654322
+ffedcba987654322
+
+22
+4322
+87654322
+87654322
+ffedcba987654322
+ffedcba987654322
+
+87654322
+ffedcba987654322
+87654322
+ffedcba987654322
+87654322
+
+34
+17186
+-2023406814
+-2023406814
+-5124095576030430
+-5124095576030430
+
+34
+17186
+-2023406814
+-2023406814
+-5124095576030430
+-5124095576030430
+
+34
+17186
+-2023406814
+-2023406814
+-5124095576030430
+-5124095576030430
+
+-2023406814
+-5124095576030430
+-2023406814
+-5124095576030430
+-2023406814
+
+34
+17186
+2271560482
+2271560482
+18441619978133520000
+18441619978133520000
+
+34
+17186
+2271560482
+2271560482
+18441619978133520000
+18441619978133520000
+
+34
+17186
+2271560482
+2271560482
+18441619978133520000
+18441619978133520000
+
+2271560482
+18441619978133520000
+2271560482
+18441619978133520000
+2271560482
+
+1234567.890123
+1234567.890123
+1234567.890123
+1234567.890123
+
+-1234567.890123
+-1234567.890123
+-1234567.890123
+-1234567.890123
+
+1234567.875000
+1234567.875000
+1234567.875000
+1234567.875000
+
+-1234567.875000
+-1234567.875000
+-1234567.875000
+-1234567.875000
+
+0
+0
+0
+0
+0
+0
+0
+0
+
+1
+1
+1
+1
+1
+1
+1
+1
+
+255
+65535
+4294967295
+18446744073709552000
+ff
+ffff
+ffffffff
+ffffffffffffffff
+
+126
+32766
+2147483646
+140737488355326
+7e
+7ffe
+7ffffffe
+7ffffffffffe
+
+127
+32767
+2147483647
+140737488355327
+7f
+7fff
+7fffffff
+7fffffffffff
+
+128
+32768
+134217728
+549755813888
+80
+8000
+8000000
+8000000000
+
+255
+65535
+4294967295
+281474976710655
+ff
+ffff
+ffffffff
+
+130
+32770
+2147483650
+18446603336221196000
+82
+8002
+80000002
+ffff800000000002
+
+129
+32769
+2147483649
+18446603336221196000
+81
+8001
+80000001
+ffff800000000001
+
+128
+32768
+4160749568
+18446743523953738000
+80
+8000
+f8000000
+ffffff8000000000
+
+1
+1
+1
+18446462598732840000
+1
+1
+1
diff --git a/tests/printf/test.c b/tests/printf/test.c
index 68779e51..b0d83b45 100644
--- a/tests/printf/test.c
+++ b/tests/printf/test.c
@@ -8022,5 +8022,284 @@ int main() {
printf("%-15s: %-5p\n", "%-5p", (void*)324376);
printf("%-15s: %-10p\n", "%-10p", (void*)324376);
printf("%-15s: %-30p\n", "%-30p", (void*)324376);
+ printf("\n");
+ printf("%hhx\n", 0x0123456789ABCDE);
+ printf("%hx\n", 0x0123456789ABCDE);
+ printf("%x\n", 0x0123456789ABCDE);
+ printf("%lx\n", 0x0123456789ABCDE);
+ printf("%llx\n", 0x0123456789ABCDE);
+ printf("%Lx\n", 0x0123456789ABCDE);
+ printf("\n");
+ printf("%hhx\n", 0x0123456789ABCDEl);
+ printf("%hx\n", 0x0123456789ABCDEl);
+ printf("%x\n", 0x0123456789ABCDEl);
+ printf("%lx\n", 0x0123456789ABCDEl);
+ printf("%llx\n", 0x0123456789ABCDEl);
+ printf("%Lx\n", 0x0123456789ABCDEl);
+ printf("\n");
+ printf("%hhx\n", 0x0123456789ABCDEll);
+ printf("%hx\n", 0x0123456789ABCDEll);
+ printf("%x\n", 0x0123456789ABCDEll);
+ printf("%lx\n", 0x0123456789ABCDEll);
+ printf("%llx\n", 0x0123456789ABCDEll);
+ printf("%Lx\n", 0x0123456789ABCDEll);
+ printf("\n");
+ printf("%zx\n", 0x0123456789ABCDEll);
+ printf("%jx\n", 0x0123456789ABCDEll);
+ printf("%tx\n", 0x0123456789ABCDEll);
+ printf("%qx\n", 0x0123456789ABCDEll);
+ printf("%Ix\n", 0x0123456789ABCDEll);
+ printf("\n");
+ printf("%hhd\n", 0x0123456789ABCDE);
+ printf("%hd\n", 0x0123456789ABCDE);
+ printf("%d\n", 0x0123456789ABCDE);
+ printf("%ld\n", 0x0123456789ABCDE);
+ printf("%lld\n", 0x0123456789ABCDE);
+ printf("%Ld\n", 0x0123456789ABCDE);
+ printf("\n");
+ printf("%hhd\n", 0x0123456789ABCDEl);
+ printf("%hd\n", 0x0123456789ABCDEl);
+ printf("%d\n", 0x0123456789ABCDEl);
+ printf("%ld\n", 0x0123456789ABCDEl);
+ printf("%lld\n", 0x0123456789ABCDEl);
+ printf("%Ld\n", 0x0123456789ABCDEl);
+ printf("\n");
+ printf("%hhd\n", 0x0123456789ABCDEll);
+ printf("%hd\n", 0x0123456789ABCDEll);
+ printf("%d\n", 0x0123456789ABCDEll);
+ printf("%ld\n", 0x0123456789ABCDEll);
+ printf("%lld\n", 0x0123456789ABCDEll);
+ printf("%Ld\n", 0x0123456789ABCDEll);
+ printf("\n");
+ printf("%zd\n", 0x0123456789ABCDEll);
+ printf("%jd\n", 0x0123456789ABCDEll);
+ printf("%td\n", 0x0123456789ABCDEll);
+ printf("%qd\n", 0x0123456789ABCDEll);
+ printf("%Id\n", 0x0123456789ABCDEll);
+ printf("\n");
+ printf("%hhu\n", 0x0123456789ABCDE);
+ printf("%hu\n", 0x0123456789ABCDE);
+ printf("%u\n", 0x0123456789ABCDE);
+ printf("%lu\n", 0x0123456789ABCDE);
+ printf("%llu\n", 0x0123456789ABCDE);
+ printf("%Lu\n", 0x0123456789ABCDE);
+ printf("\n");
+ printf("%hhu\n", 0x0123456789ABCDEl);
+ printf("%hu\n", 0x0123456789ABCDEl);
+ printf("%u\n", 0x0123456789ABCDEl);
+ printf("%lu\n", 0x0123456789ABCDEl);
+ printf("%llu\n", 0x0123456789ABCDEl);
+ printf("%Lu\n", 0x0123456789ABCDEl);
+ printf("\n");
+ printf("%hhu\n", 0x0123456789ABCDEll);
+ printf("%hu\n", 0x0123456789ABCDEll);
+ printf("%u\n", 0x0123456789ABCDEll);
+ printf("%lu\n", 0x0123456789ABCDEll);
+ printf("%llu\n", 0x0123456789ABCDEll);
+ printf("%Lu\n", 0x0123456789ABCDEll);
+ printf("\n");
+ printf("%zu\n", 0x0123456789ABCDEll);
+ printf("%ju\n", 0x0123456789ABCDEll);
+ printf("%tu\n", 0x0123456789ABCDEll);
+ printf("%qu\n", 0x0123456789ABCDEll);
+ printf("%Iu\n", 0x0123456789ABCDEll);
+ printf("\n");
+ printf("%hhx\n", -0x0123456789ABCDE);
+ printf("%hx\n", -0x0123456789ABCDE);
+ printf("%x\n", -0x0123456789ABCDE);
+ printf("%lx\n", -0x0123456789ABCDE);
+ printf("%llx\n", -0x0123456789ABCDE);
+ printf("%Lx\n", -0x0123456789ABCDE);
+ printf("\n");
+ printf("%hhx\n", -0x0123456789ABCDEl);
+ printf("%hx\n", -0x0123456789ABCDEl);
+ printf("%x\n", -0x0123456789ABCDEl);
+ printf("%lx\n", -0x0123456789ABCDEl);
+ printf("%llx\n", -0x0123456789ABCDEl);
+ printf("%Lx\n", -0x0123456789ABCDEl);
+ printf("\n");
+ printf("%hhx\n", -0x0123456789ABCDEll);
+ printf("%hx\n", -0x0123456789ABCDEll);
+ printf("%x\n", -0x0123456789ABCDEll);
+ printf("%lx\n", -0x0123456789ABCDEll);
+ printf("%llx\n", -0x0123456789ABCDEll);
+ printf("%Lx\n", -0x0123456789ABCDEll);
+ printf("\n");
+ printf("%zx\n", -0x0123456789ABCDEll);
+ printf("%jx\n", -0x0123456789ABCDEll);
+ printf("%tx\n", -0x0123456789ABCDEll);
+ printf("%qx\n", -0x0123456789ABCDEll);
+ printf("%Ix\n", -0x0123456789ABCDEll);
+ printf("\n");
+ printf("%hhd\n", -0x0123456789ABCDE);
+ printf("%hd\n", -0x0123456789ABCDE);
+ printf("%d\n", -0x0123456789ABCDE);
+ printf("%ld\n", -0x0123456789ABCDE);
+ printf("%lld\n", -0x0123456789ABCDE);
+ printf("%Ld\n", -0x0123456789ABCDE);
+ printf("\n");
+ printf("%hhd\n", -0x0123456789ABCDEl);
+ printf("%hd\n", -0x0123456789ABCDEl);
+ printf("%d\n", -0x0123456789ABCDEl);
+ printf("%ld\n", -0x0123456789ABCDEl);
+ printf("%lld\n", -0x0123456789ABCDEl);
+ printf("%Ld\n", -0x0123456789ABCDEl);
+ printf("\n");
+ printf("%hhd\n", -0x0123456789ABCDEll);
+ printf("%hd\n", -0x0123456789ABCDEll);
+ printf("%d\n", -0x0123456789ABCDEll);
+ printf("%ld\n", -0x0123456789ABCDEll);
+ printf("%lld\n", -0x0123456789ABCDEll);
+ printf("%Ld\n", -0x0123456789ABCDEll);
+ printf("\n");
+ printf("%zd\n", -0x0123456789ABCDEll);
+ printf("%jd\n", -0x0123456789ABCDEll);
+ printf("%td\n", -0x0123456789ABCDEll);
+ printf("%qd\n", -0x0123456789ABCDEll);
+ printf("%Id\n", -0x0123456789ABCDEll);
+ printf("\n");
+ printf("%hhu\n", -0x0123456789ABCDE);
+ printf("%hu\n", -0x0123456789ABCDE);
+ printf("%u\n", -0x0123456789ABCDE);
+ printf("%lu\n", -0x0123456789ABCDE);
+ printf("%llu\n", -0x0123456789ABCDE);
+ printf("%Lu\n", -0x0123456789ABCDE);
+ printf("\n");
+ printf("%hhu\n", -0x0123456789ABCDEl);
+ printf("%hu\n", -0x0123456789ABCDEl);
+ printf("%u\n", -0x0123456789ABCDEl);
+ printf("%lu\n", -0x0123456789ABCDEl);
+ printf("%llu\n", -0x0123456789ABCDEl);
+ printf("%Lu\n", -0x0123456789ABCDEl);
+ printf("\n");
+ printf("%hhu\n", -0x0123456789ABCDEll);
+ printf("%hu\n", -0x0123456789ABCDEll);
+ printf("%u\n", -0x0123456789ABCDEll);
+ printf("%lu\n", -0x0123456789ABCDEll);
+ printf("%llu\n", -0x0123456789ABCDEll);
+ printf("%Lu\n", -0x0123456789ABCDEll);
+ printf("\n");
+ printf("%zu\n", -0x0123456789ABCDEll);
+ printf("%ju\n", -0x0123456789ABCDEll);
+ printf("%tu\n", -0x0123456789ABCDEll);
+ printf("%qu\n", -0x0123456789ABCDEll);
+ printf("%Iu\n", -0x0123456789ABCDEll);
+ printf("\n");
+ printf("%hhf\n", 1234567.890123456789);
+ printf("%hf\n", 1234567.890123456789);
+ printf("%f\n", 1234567.890123456789);
+ printf("%lf\n", 1234567.890123456789);
+ printf("\n");
+ printf("%hhf\n", -1234567.890123456789);
+ printf("%hf\n", -1234567.890123456789);
+ printf("%f\n", -1234567.890123456789);
+ printf("%lf\n", -1234567.890123456789);
+ printf("\n");
+ printf("%hhf\n", 1234567.890123456789f);
+ printf("%hf\n", 1234567.890123456789f);
+ printf("%f\n", 1234567.890123456789f);
+ printf("%lf\n", 1234567.890123456789f);
+ printf("\n");
+ printf("%hhf\n", -1234567.890123456789f);
+ printf("%hf\n", -1234567.890123456789f);
+ printf("%f\n", -1234567.890123456789f);
+ printf("%lf\n", -1234567.890123456789f);
+ printf("\n");
+ printf("%hhu\n", 0);
+ printf("%hu\n", 0);
+ printf("%u\n", 0);
+ printf("%llu\n", 0ll);
+ printf("%hhx\n", 0);
+ printf("%hx\n", 0);
+ printf("%x\n", 0);
+ printf("%llx\n", 0ll);
+ printf("\n");
+ printf("%hhu\n", 1);
+ printf("%hu\n", 1);
+ printf("%u\n", 1);
+ printf("%llu\n", 1ll);
+ printf("%hhx\n", 1);
+ printf("%hx\n", 1);
+ printf("%x\n", 1);
+ printf("%llx\n", 1ll);
+ printf("\n");
+ printf("%hhu\n", -1);
+ printf("%hu\n", -1);
+ printf("%u\n", -1);
+ printf("%llu\n", -1ll);
+ printf("%hhx\n", -1);
+ printf("%hx\n", -1);
+ printf("%x\n", -1);
+ printf("%llx\n", -1ll);
+ printf("\n");
+ printf("%hhu\n", 0x7E);
+ printf("%hu\n", 0x7FFE);
+ printf("%u\n", 0x7FFFFFFE);
+ printf("%llu\n", 0x7FFFFFFFFFFE);
+ printf("%hhx\n", 0x7E);
+ printf("%hx\n", 0x7FFE);
+ printf("%x\n", 0x7FFFFFFE);
+ printf("%llx\n", 0x7FFFFFFFFFFE);
+ printf("\n");
+ printf("%hhu\n", 0x7F);
+ printf("%hu\n", 0x7FFF);
+ printf("%u\n", 0x7FFFFFFF);
+ printf("%llu\n", 0x7FFFFFFFFFFF);
+ printf("%hhx\n", 0x7F);
+ printf("%hx\n", 0x7FFF);
+ printf("%x\n", 0x7FFFFFFF);
+ printf("%llx\n", 0x7FFFFFFFFFFF);
+ printf("\n");
+ printf("%hhu\n", 0x80);
+ printf("%hu\n", 0x8000);
+ printf("%u\n", 0x8000000);
+ printf("%llu\n", 0x8000000000);
+ printf("%hhx\n", 0x80);
+ printf("%hx\n", 0x8000);
+ printf("%x\n", 0x8000000);
+ printf("%llx\n", 0x8000000000);
+ printf("\n");
+ printf("%hhu\n", 0xFF);
+ printf("%hu\n", 0xFFFF);
+ printf("%u\n", 0xFFFFFFFF);
+ printf("%llu\n", 0xFFFFFFFFFFFF);
+ printf("%hhx\n", 0xFF);
+ printf("%hx\n", 0xFFFF);
+ printf("%x\n", 0xFFFFFFFF);
+ printf("\n");
+ printf("%hhu\n", -0x7E);
+ printf("%hu\n", -0x7FFE);
+ printf("%u\n", -0x7FFFFFFE);
+ printf("%llu\n", -0x7FFFFFFFFFFE);
+ printf("%hhx\n", -0x7E);
+ printf("%hx\n", -0x7FFE);
+ printf("%x\n", -0x7FFFFFFE);
+ printf("%llx\n", -0x7FFFFFFFFFFE);
+ printf("\n");
+ printf("%hhu\n", -0x7F);
+ printf("%hu\n", -0x7FFF);
+ printf("%u\n", -0x7FFFFFFF);
+ printf("%llu\n", -0x7FFFFFFFFFFF);
+ printf("%hhx\n", -0x7F);
+ printf("%hx\n", -0x7FFF);
+ printf("%x\n", -0x7FFFFFFF);
+ printf("%llx\n", -0x7FFFFFFFFFFF);
+ printf("\n");
+ printf("%hhu\n", -0x80);
+ printf("%hu\n", -0x8000);
+ printf("%u\n", -0x8000000);
+ printf("%llu\n", -0x8000000000);
+ printf("%hhx\n", -0x80);
+ printf("%hx\n", -0x8000);
+ printf("%x\n", -0x8000000);
+ printf("%llx\n", -0x8000000000);
+ printf("\n");
+ printf("%hhu\n", -0xFF);
+ printf("%hu\n", -0xFFFF);
+ printf("%u\n", -0xFFFFFFFF);
+ printf("%llu\n", -0xFFFFFFFFFFFF);
+ printf("%hhx\n", -0xFF);
+ printf("%hx\n", -0xFFFF);
+ printf("%x\n", -0xFFFFFFFF);
return 0;
}