Comments (3)
I'm not inclined to implement this. It's a run time, not a compile time cost that is incurred by everyone for a very, very small number of potential situations. That's like running ubsan every time, instead of only during testing. What do you want to do in undefined behaviour cases? Throw an error? Perhaps it could be a configurable compile time option, but someone else will need to implement it. Perhaps some of the simpler cases are easy enough like shifting by a negative number, overflow checking of addition, multiplication and negation seem harder
from jimtcl.
I'm not inclined to implement this.
I see. That's understandable.
What do you want to do in undefined behaviour cases? Throw an error?
Well, yeah.. That was an idea I had in mind.
Perhaps it could be a configurable compile time option, but someone else will need to implement it. Perhaps some of the simpler cases are easy enough
So basically you are not against patches that may address this right?
Perhaps some of the simpler cases are easy enough like shifting by a negative number,
I personally interested in improving this in context of OpenOCD tasks. For example it seems reasonable that operations like 1 << 63
to behave without ubsan
reporting a potential UB. I can try to provide patches for the detected "simple" cases, if there is no strong push back.
from jimtcl.
Yes, completely open to patches that are not detrimental (e.g. performance) to most users, or if so, then it is a configuration-time setting that can be turned off as required.
from jimtcl.
Related Issues (20)
- strncasecmp and strcasecmp in jim-signal.c w/o strings.h include
- Some return values ignored HOT 1
- configure does not/wrongly detect missing zlib and openssl with diet libc HOT 1
- Commenting JIM_OPTIMIZATION Breaks Build
- Provide a way to pass arbitrary strings to executed commands (likely with TIP 424) HOT 3
- Constant comparison HOT 1
- Feature request: add umask (or os.umask) command HOT 2
- documentation syntax examples are different than actual results HOT 6
- timer-3.2 test failure when building with tcl on osx HOT 3
- $(...) vs [expr {...}] HOT 2
- Compiling for Windows Using MSYS HOT 10
- Converting script into a standalone executable HOT 2
- segfault in "if string length" in jimsh 0.82 HOT 6
- aio hang HOT 3
- Backwards compatibility for oo.tcl HOT 1
- Bug in `subst`: If a `\[` follows a `$`, variables stop being interpolated HOT 1
- Add git hash to version number display
- UBSan complains while executing Jim_LreplaceCoreCommand HOT 1
- GCC 14: jimtcl will no longer build HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jimtcl.