diff options
| -rw-r--r-- | .envrc | 4 | ||||
| -rw-r--r-- | flake.lock | 18 | ||||
| -rw-r--r-- | flake.nix | 16 | ||||
| -rw-r--r-- | tests/empty_statements.c | 4 | ||||
| -rw-r--r-- | tests/for_loops.c | 7 | ||||
| -rw-r--r-- | tests/pointers.c | 5 | ||||
| -rw-r--r-- | tests/structs.c | 6 |
7 files changed, 34 insertions, 26 deletions
@@ -1,5 +1,5 @@ # shellcheck shell=bash -if ! has nix_direnv_version || ! nix_direnv_version 3.1.0; then - source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.1.0/direnvrc" "sha256-yMJ2OVMzrFaDPn7q8nCBZFRYpL/f0RcHzhmw/i6btJM=" +if ! has nix_direnv_version || ! nix_direnv_version 3.1.1; then + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.1.1/direnvrc" "sha256-p+fzQdrms/hDa7g+soShAybJNo4bN4SIAeSfqNKgD5I=" fi use flake @@ -22,16 +22,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1767379071, - "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", - "owner": "nixos", + "lastModified": 1770843696, + "narHash": "sha256-LovWTGDwXhkfCOmbgLVA10bvsi/P8eDDpRudgk68HA8=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "fb7944c166a3b630f177938e478f0378e64ce108", + "rev": "2343bbb58f99267223bc2aac4fc9ea301a155a16", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1767468822, - "narHash": "sha256-MpffQxHxmjVKMiQd0Tg2IM/bSjjdQAM+NDcX6yxj7rE=", + "lastModified": 1770228511, + "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "d56486eb9493ad9c4777c65932618e9c2d0468fc", + "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", "type": "github" }, "original": { @@ -2,7 +2,7 @@ description = "Decidedly Unimplemented C compiler, a toy C compiler"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; systems.url = "github:nix-systems/x86_64-linux"; @@ -31,10 +31,20 @@ pkgs = import nixpkgs { inherit system; }; treefmt = treefmt-nix.lib.evalModule pkgs ./treefmt.nix; in + let + version = + let + versionFileContent = builtins.readFile ./src/version.h; + matches = builtins.match ''.*DUCC_VERSION "([^"]+)".*'' versionFileContent; + in + builtins.head matches; + in { + formatter = treefmt.config.build.wrapper; + packages.default = pkgs.stdenv.mkDerivation { pname = "ducc"; - version = "0.4.0"; + inherit version; src = ./.; # Disable some kinds of hardening to disable GCC optimization. # cf. https://nixos.wiki/wiki/C#Hardening_flags @@ -64,8 +74,6 @@ )" ''; }; - - formatter = treefmt.config.build.wrapper; } ); } diff --git a/tests/empty_statements.c b/tests/empty_statements.c index 0424cf2..7644c94 100644 --- a/tests/empty_statements.c +++ b/tests/empty_statements.c @@ -1 +1,3 @@ -int main() { ; } +int main() { + ; +} diff --git a/tests/for_loops.c b/tests/for_loops.c index 9a70737..06e8545 100644 --- a/tests/for_loops.c +++ b/tests/for_loops.c @@ -38,16 +38,17 @@ int main() { ASSERT_EQ(10, sum); sum = 0; - for (i = 10; i < 15; ) { + for (i = 10; i < 15;) { sum = sum + i; i = i + 1; } ASSERT_EQ(60, sum); sum = 0; - for (i = 20; ; i = i + 1) { + for (i = 20;; i = i + 1) { sum = sum + i; - if (i == 25) break; + if (i == 25) + break; } ASSERT_EQ(135, sum); diff --git a/tests/pointers.c b/tests/pointers.c index 8fd1d9c..05d9b8f 100644 --- a/tests/pointers.c +++ b/tests/pointers.c @@ -114,8 +114,9 @@ int main() { "abc"; "\"foo\"bar\\\n\""; - ASSERT_EQ_STR("defghijkl", "def" "ghi" - "jkl"); + ASSERT_EQ_STR("defghijkl", "def" + "ghi" + "jkl"); char* h = " hello,world" + 1; ASSERT_EQ('h', *h); diff --git a/tests/structs.c b/tests/structs.c index 734d501..fa82cc1 100644 --- a/tests/structs.c +++ b/tests/structs.c @@ -141,11 +141,7 @@ typedef union { char b; } AnonU; -typedef enum { - RED, - GREEN, - BLUE -} AnonE; +typedef enum { RED, GREEN, BLUE } AnonE; struct S_nested { struct { |
