dec05eba
ff58f09b68
Use better haystack size and needle size for cutoff between linear and BMH
2020-09-06 16:23:18 +02:00
dec05eba
8af1f8ba1a
Add comment to clearify why the first/last element in preprocess is
...
skipped
2020-09-05 21:15:44 +02:00
dec05eba
0a016e8fc2
Fix indexOf and lastIndexOf with empty needle
2020-09-05 16:55:32 +02:00
dec05eba
f93498d2d8
Fix start index if @sizeOf(T) > 1
2020-09-05 15:31:22 +02:00
dec05eba
3a6e6bd538
Check if the type has unique bit representation to see if it can be compared byte-wise
2020-09-05 15:20:48 +02:00
dec05eba
db51821a97
Remove type size check, looks like its not needed
...
Add check if the type is float. Float byte comparison doesn't work
because +0.0 and -0.0 are considered equal but their byte
representations are not equal.
2020-09-05 14:56:59 +02:00
dec05eba
997451da03
Make preprocess function take comptime sized slice
2020-09-05 14:25:44 +02:00
dec05eba
a394a6300c
Fix lastIndexOf and add tests that do not fallback to linear search
...
Use sliceAsBytes to convert []const T to []const u8.
Cleanup.
2020-09-05 14:17:38 +02:00
dec05eba
f65f3d24f8
Only use boyer-moore-horsepool for types that are power of 2
2020-09-05 12:57:05 +02:00
dec05eba
d012507a8f
Use boyer-moore-horspool with all types of T
2020-09-05 12:02:18 +02:00
dec05eba
e297b4815c
Create skipping table
...
Also fallback to naive implementation if haystack is small
or if the needle is small or if sizeof type is not 1.
2020-09-05 11:24:05 +02:00
dec05eba
50c52e0135
Use boyer-moore-horspool algorithm for indexOfPos and lastIndexOf
2020-09-05 11:22:12 +02:00
Andrew Kelley
cff14dc2c6
Merge pull request #6247 from alexnask/stage2_pe
...
Added a basic Portable Executable linker to stage2
2020-09-04 16:05:58 -04:00
Andrew Kelley
209a3da4f7
provide default implementation of std.log on freestanding
...
closes #6252
2020-09-04 13:00:10 -07:00
yettinmoor
0c43b6ef5c
document how to escape curly braces in fmt.format
2020-09-04 22:11:09 +03:00
Vexu
6b2f4fd20d
langref: atomic ops are allowed on pointers
...
Closes #6217
2020-09-04 22:02:39 +03:00
Alexandros Naskos
e9807418e7
Added .pe ObjectFormat
...
MachO linker no longer collects unused dwarf debug information
2020-09-04 05:22:26 +03:00
Alexandros Naskos
e9b137f23a
Completed basic PE linker for stage2
...
Added std.coff.MachineType
Added image characteristic and section flag valued to std.coff
Added std.Target.Cpu.Arch.toCoffMachine
Fixed stage2 --watch flag on windows
2020-09-04 05:15:03 +03:00
Alexandros Naskos
fe0ad8d6e9
Write PE section table
2020-09-04 05:12:27 +03:00
Alexandros Naskos
fac9a4e286
Start working on PE/COFF linking.
2020-09-04 05:12:26 +03:00
Felix (xq) Queißner
88724b2a89
Introduces a space after the ellipsis for test and progress.
2020-09-03 18:07:30 -04:00
Andrew Kelley
1034459170
Merge pull request #6243 from ifreund/uid-gid-cleanup
...
std: clean up usage of uid_t/gid_t, add seteuid/setegid to std.os
2020-09-03 18:05:59 -04:00
Andrew Kelley
17f36566de
stage2: upgrade Scope.Container decls from ArrayList to HashMap
2020-09-03 15:02:38 -07:00
Andrew Kelley
f2bbd8a548
Merge pull request #6242 from Vexu/stage2
...
Stage2: slicing and split container scope from file scope
2020-09-03 17:22:57 -04:00
Jakub Konka
dac1cd7750
Write out simple Mach-O object file
...
This commit adds enough Mach-O linker implementation to write out simple
Mach-O object file. Be warned however, the object file is largely incomplete:
misses relocation info, debug symbols, etc. However, it seemed like a
good starting to get the basic understanding right.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-09-03 16:43:47 -04:00
Lachlan Easton
2a58e30bd5
std meta: fix use of alignOf in meta.cast
2020-09-03 14:11:04 -04:00
Andrew Kelley
39a80cf59e
Merge pull request #6238 from Aransentin/master
...
Add the "sync" family of functions
2020-09-03 14:07:36 -04:00
Kenta Iwasaki
50e3906951
os: return error.SocketNotListening for EINVAL on accept ( #6226 )
2020-09-03 13:57:08 -04:00
LemonBoy
969547902b
std: Fix silent overflow in float parsing code
...
A u64 can only hold 19 decimal digits, adjust the limit.
2020-09-03 18:14:19 +03:00
Isaac Freund
d0d6647fdb
std: add seteuid/setegid to std.os
...
Currently these are only implemented for linux.
2020-09-03 15:22:43 +02:00
Isaac Freund
01a365f1b0
std: ensure seteuid/setegid do not change saved id
2020-09-03 15:16:26 +02:00
Isaac Freund
e8a2aecd2f
std: fix linux uid_t, use uid_t/gid_t in std.os
...
- correct uid_t from i32 to u32 on linux
- define uid_t and gid_t for OSes missing definitions
- use uid_t/gid_t instead of plain u32s throughout std.os
2020-09-03 15:08:37 +02:00
Vexu
6f0126e957
stage2: split Scope.Container from Scope.File
2020-09-03 15:06:45 +03:00
Vexu
1174cb1517
stage2: fix tokenizer float bug
2020-09-03 15:05:47 +03:00
Vexu
6ab0ac161e
stage2: slice return type analysis
2020-09-03 15:05:47 +03:00
Vexu
2a628fd401
stage2: astgen slice
2020-09-03 15:05:46 +03:00
Vexu
ff7c6e1e3c
stage2: astgen orelse
2020-09-03 15:05:43 +03:00
Vexu
9a59cdcd41
stage2: various small type fixes
2020-09-03 15:05:10 +03:00
Jens Goldberg
68818983ae
Split the sync tests into sync and fsync
2020-09-03 09:52:26 +00:00
Jens Goldberg
e747d2ba17
Add C declarations and tests for the sync functions
2020-09-03 07:49:18 +00:00
daurnimator
fb3c5b84ed
std: add fmt option to escape non-printable characters
2020-09-02 19:18:36 -04:00
Andrew Kelley
c86108dd63
Merge pull request #6229 from LemonBoy/fix-6054
...
ir: Typecheck the sentinel value in *[N:S1]T to [S2]T casts
2020-09-02 19:13:21 -04:00
Aransentin
25f6663304
Add the sync functions
2020-09-02 22:16:40 +00:00
Andrew Kelley
405c7215a8
Merge pull request #6194 from LakeByTheWoods/fmt_indentation
...
Refactor zig fmt indentation. Remove indent from rendering code
2020-09-02 18:14:28 -04:00
Lachlan Easton
bb848dbeee
zig fmt: Patch rename stream to ais (auto indenting stream) & other small refactors
2020-09-02 20:16:28 +10:00
Andrew Kelley
12ce6eb8f6
stage2: support dbg_stmt at comptime
2020-09-02 00:09:24 -07:00
Sahnvour
90ace40e07
Merge pull request #5999 from Sahnvour/hashmap
...
New hashmap implementation
2020-09-02 08:52:32 +02:00
Tadeo Kondrak
1b2154dfe2
builtin: Add TypeInfo.StructField.is_comptime
2020-09-02 00:17:59 -04:00
Sahnvour
575fbd5e35
hash_map: rename to ArrayHashMap and add new HashMap implementation
2020-09-02 00:17:50 +02:00
Andrew Kelley
3f7cb14b26
Merge pull request #6225 from ziglang/stage2-comptime
...
stage2: introduce the ability for Scope.Block to be comptime
2020-09-01 15:44:45 -04:00