diff options
author | Tor Egge <tegge@FreeBSD.org> | 1997-06-12 18:10:08 +0000 |
---|---|---|
committer | Tor Egge <tegge@FreeBSD.org> | 1997-06-12 18:10:08 +0000 |
commit | 18d5819376635f6f7466a0474dc34669e1de580d (patch) | |
tree | 93d5da0c9fe9b0003345e5a2da9d1621a058521e /usr.bin/xlint | |
parent | d49f28633597c479da134194e11a8250f1528445 (diff) | |
download | src-18d5819376635f6f7466a0474dc34669e1de580d.tar.gz src-18d5819376635f6f7466a0474dc34669e1de580d.zip |
Work around a gcc bug (causing false warnings about integral constant being too large, even when the integral constant was e.g. 1).
Notes
Notes:
svn path=/head/; revision=26582
Diffstat (limited to 'usr.bin/xlint')
-rw-r--r-- | usr.bin/xlint/lint1/cgram.y | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.bin/xlint/lint1/cgram.y b/usr.bin/xlint/lint1/cgram.y index e65584ac998b..6be2089ee40a 100644 --- a/usr.bin/xlint/lint1/cgram.y +++ b/usr.bin/xlint/lint1/cgram.y @@ -1612,10 +1612,21 @@ toicon(tn) warning(56); } } else { +#ifdef XXX_BROKEN_GCC + if (v->v_quad > INT_MAX) { + /* integral constant too large */ + warning(56); + } + else if (v->v_quad < INT_MIN) { + /* integral constant too large */ + warning(56); + } +#else if (v->v_quad > INT_MAX || v->v_quad < INT_MIN) { /* integral constant too large */ warning(56); } +#endif } } free(v); |