From d7e2928e1b401e99a09709fb535c46018515abbc Mon Sep 17 00:00:00 2001 From: mertcandav Date: Tue, 25 Feb 2025 20:14:23 +0300 Subject: [PATCH] compiler: fix integer wrap around behavior might compile with undefined behavior --- src/julec/compile.jule | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/julec/compile.jule b/src/julec/compile.jule index f0a0224d7..5baf4cf39 100644 --- a/src/julec/compile.jule +++ b/src/julec/compile.jule @@ -103,6 +103,7 @@ fn pushCompCmdClang(mut &cmd: strings::Builder) { cmd.WriteByte(' ')! if env::Production { + cmd.WriteStr("-fwrapv ")! // Enable wrap around behavior. cmd.WriteStr("-O3 ")! // Enable all optimizations. cmd.WriteStr("-flto ")! // Enable LTO. cmd.WriteStr("-DNDEBUG ")! // Define NDEBUG, turn off assertions. @@ -129,6 +130,7 @@ fn pushCompCmdGcc(mut &cmd: strings::Builder) { cmd.WriteByte(' ')! if env::Production { + cmd.WriteStr("-fwrapv ")! // Enable wrap around behavior. cmd.WriteStr("-O3 ")! // Enable all optimizations. cmd.WriteStr("-DNDEBUG ")! // Define NDEBUG, turn off assertions. cmd.WriteStr("-fomit-frame-pointer ")! // Do not use frame pointer.