aboutsummaryrefslogtreecommitdiff
path: root/src/gb/gb.h
Commit message (Collapse)AuthorAgeFilesLines
* Minor clean up of permanent/temporary arena usagegingerBill2025-09-101-11/+13
|
* Fix #5498Jeroen van Rijn2025-07-251-1/+1
| | | | | | Also: - Expands `tests/core/hash` - Fixes bug found in `#hash(s, "murmur64")`
* Define empty `gb_no_asan` if VS < 2022Jeroen van Rijn2025-06-101-1/+5
|
* gb.h: fix buffer overflow when printing long strings. fix #4831IllusionMan12122025-04-091-9/+17
|
* Work on making name mangling deterministicgingerBill2025-02-171-1/+1
|
* Fix `gb.h`'s `gb_fprintf_va` to allocate if the string is larger than the ↵gingerBill2025-01-311-1/+12
| | | | default buffer
* Fix passing nullptr to args marked as non-nullbobsayshilol2024-10-271-1/+5
| | | | | | | | | | | | | | | | | | | libstdc++'s |memcpy| and |memset| both state that their inputs should never be a nullptr since this matches the C spec. Some compilers act on these hints, so we shouldn't unconditionally call these as it would signal to the compiler that they can't be nullptrs. As an example, the following code will always call |do_something()| when compiled with optimisations since GCC version 4.9: ``` void clear(void *ptr, int size) { memset(ptr, 0, size); } void example(void *ptr, int size) { clear(ptr, size); if (ptr != nullptr) do_something(); } ```
* Fix CPU count detection in FreeBSD & NetBSDFeoramund2024-09-111-2/+10
|
* riscv compiler supportLaytan2024-09-011-2/+15
|
* Use `gb_zero_*` callsgingerBill2024-07-151-1/+1
|
* Added arm64 support for NetBSDAndreas T Jonsson2024-06-051-0/+3
|
* Merge pull request #3570 from jasonKercher/linux-arm32gingerBill2024-05-201-3/+4
|\ | | | | Get the compiler to build and work on arm32 Linux
| * arm32 now compiles and runs demojasonkercher2024-05-101-3/+4
| |
* | Merge branch 'master' into netbsdAndreas T Jonsson2024-05-101-0/+2
|\|
| * Minimally support compiling Odin on FreeBSD arm64Feoramund2024-05-051-0/+2
| | | | | | | | This is enough to get Odin itself compiling and the demo running.
* | Initial commit of NetBSD portAndreas T Jonsson2024-04-161-1/+42
|/
* fix gb.h to be able to use -fsanitize=addressLaytan Laats2024-03-291-4/+9
|
* Get Odin to compile on HaikuSlendi2024-02-151-2/+47
| | | | | | This patch makes Odin to compile on Haiku which is a good first step. Now, all that's needed to do is to figure out how to do futexes, which I am blaming for the program crashing.
* Fix gcc buildavanspector2024-01-131-1/+1
| | | | Although gcc is not officially supported, this little fix lets it to build Odin
* Remove unused code in gb.h; Minimize use of `heap_allocator()` in parsergingerBill2023-08-161-885/+4
|
* Fix line error printing for error messagesgingerBill2023-06-191-6/+33
|
* Update threading.cpp to have helgrind annotationsgingerBill2023-01-161-2/+0
|
* fix: Expand OpenBSD include for wait.h to all UnixJeroen Ruigrok van der Werven2022-08-221-1/+1
| | | | closes: #1968
* Undo changes to common.cpp and move the include of sys/wait.h to gb.hRonald19852022-07-221-0/+4
|
* Additional cleanup of microsoft_craziness.h.Jeroen van Rijn2022-05-271-1/+1
|
* Compiler: Add early error for output path being a directory.Jeroen van Rijn2022-04-241-11/+35
| | | | | | | | | | | | - Introduce new `Path` type and an array of build paths on the build context. - Resolve input and output paths/files early (before parsing). - Error early if inputs are missing or outputs are directories. - Plumb new file path generation into linker stage instead of its adhoc method. TODO: - Remove more adhoc file path generation in parser and linker stage. - Make intermediate object file generation use new path system. - Round out and robustify Path helper functions.
* provide a simple gb_file_copy() implementationSébastien Marie2022-02-251-4/+44
| | | | permit to not require sendfile(2) syscall for gb_file_copy()
* initial OpenBSD supportSébastien Marie2022-02-251-1/+45
|
* [report] Fix `odin report` crash if `/usr/lib/os-release` doesn't exist.Jeroen van Rijn2022-02-221-0/+1
|
* src: Add preliminary support for Linux AArch64Yawning Angel2021-12-231-0/+2
| | | | | Tested via `tests/core`, on a Raspberry Pi 4 running the latest 64-bit Raspberry Pi OS image (LLVM 11).
* fix strip-semicolon using original file handle sizeskytrias2021-10-231-1/+4
|
* Add some minor sanity checks to the compiler's `heap_allocator_proc` on DarwingingerBill2021-09-081-4/+8
|
* Change the implementation of `Arena` to use virtual memory, and remove the ↵gingerBill2021-08-261-626/+0
| | | | old gbArena code
* thread_pool.cpp: fix with 1 thread; gb.h: remove buggy /proc/cpuinfo codenakst2021-08-231-63/+3
|
* Migrate and remove more from gb.hgingerBill2021-08-191-1052/+4
|
* Remove unused code from gb.h (which means it is heavily modified now)gingerBill2021-08-191-2269/+2
|
* Improve the C++ to be more correct for clang on Windows, still requiring the ↵gingerBill2021-08-191-10/+31
| | | | same disabled warnings as on *nix
* Fix typogingerBill2021-08-071-6/+6
|
* Inline heap_allocator resize logic on *nix platformsgingerBill2021-08-071-15/+41
|
* Prepare tokenizer for optimizationsgingerBill2021-08-021-1/+1
|
* Begin optimizing tokenizer; Replace `gb_utf8_decode` with `utf8_decode` (CC ↵gingerBill2021-08-011-1/+3
| | | | but easier to change later)
* Fix `gb_shuffle`gingerBill2021-07-131-1/+1
|
* Fix typo in gb_get_envgingerBill2021-04-251-2/+2
|
* Add `gb_get_env`gingerBill2021-04-251-0/+42
|
* Fix potential Typo : S32 ==> I32Jason Dsouza2021-04-191-2/+2
|
* Make size of allocation multiple of the alignmentNakst2021-03-141-1/+1
| | | To silence an error from GCC's address sanitizer.
* Remove `bit_field` type from Odin (keyword and dead runtime code still exists)gingerBill2021-02-191-3/+3
|
* Patch up gb.hgingerBill2020-11-241-1/+22
|
* Prepare for M1 MacgingerBill2020-11-241-2/+78
|
* Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a blockgingerBill2020-11-151-1/+1
|