public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: wesarg@informatik.uni-halle.de To: gcc-gnats@gcc.gnu.org Subject: c/9481: no imaginary long long constants Date: Tue, 28 Jan 2003 15:36:00 -0000 [thread overview] Message-ID: <20030128152932.2474.qmail@sources.redhat.com> (raw) >Number: 9481 >Category: c >Synopsis: no imaginary long long constants >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Jan 28 15:36:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Bert Wesarg >Release: gcc-3.2.2-20030128 >Organization: >Environment: i686-pc-linux-gnu >Description: it is not possible to build complex long long constant with the GNU extension for the imaginary suffix and the long long suffix (see test file). i think this is only in the 3_2-branch, because in the 3_3-branch the file gcc/c-lex.c was rewritten gcc putput: $ gcc322p -v -save-temps pr.c Reading specs from /opt/gcc-3.2.2pre/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/specs Configured with: ../gcc-3.2.2-20030128/configure --enable-threads --enable-long-long --prefix=/opt/gcc-3.2.2pre --enable-languages=c --disable-nls --enable-shared --program-suffix=322p Thread model: posix gcc version 3.2.2 20030128 (prerelease) /opt/gcc-3.2.2pre/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/cpp0 -lang-c -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=2 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ pr.c pr.i GNU CPP version 3.2.2 20030128 (prerelease) (cpplib) (i386 Linux/ELF) ignoring nonexistent directory "/opt/gcc-3.2.2pre/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /opt/gcc-3.2.2pre/include /opt/gcc-3.2.2pre/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/include /usr/include End of search list. /opt/gcc-3.2.2pre/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/cc1 -fpreprocessed pr.i -quiet -dumpbase pr.c -version -o pr.s GNU CPP version 3.2.2 20030128 (prerelease) (cpplib) (i386 Linux/ELF) GNU C version 3.2.2 20030128 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 3.2.2 20030128 (prerelease). pr.c: In function `main': pr.c:18: complex integer constant is too wide for 'complex int' pr.c:24: complex integer constant is too wide for 'complex int' >How-To-Repeat: #include <complex.h> int main() { complex int ci; complex long int cli; complex long long int clli; complex unsigned int cui; complex unsigned long int culi; complex unsigned long long int culli; ci = 1i; cli = 1li; clli = 1lli; cui = 1ui; culi = 1uli; culli = 1ulli; return 0; } >Fix: --- gcc-3.2.2-20030128/gcc/c-lex.c Fri Jun 28 00:27:09 2002 +++ gcc-3.2.2-20030128-pr/gcc/c-lex.c Tue Jan 28 14:24:27 2003 @@ -1266,6 +1266,14 @@ <= TYPE_PRECISION (integer_type_node)) value = build_complex (NULL_TREE, integer_zero_node, convert (integer_type_node, value)); + else if (TYPE_PRECISION (type) + <= TYPE_PRECISION (long_integer_type_node)) + value = build_complex (NULL_TREE, integer_zero_node, + convert (long_integer_type_node, value)); + else if (TYPE_PRECISION (type) + <= TYPE_PRECISION (long_long_integer_type_node)) + value = build_complex (NULL_TREE, integer_zero_node, + convert (long_long_integer_type_node, value)); else ERROR ("complex integer constant is too wide for 'complex int'"); } >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="pr.i.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pr.i.bz2" QlpoOTFBWSZTWbrNo4IAAyRfgBYQWGf/7wgAAAC/9/76UAU+52wpHqsJdtaNyzGA0BoAANNBoBoA 0DVT/IijRoANNAAAMgAJPVSipmm1MoABkGgAaDTQIoikaYJkDE9EwQNDRppiBUSREp+pkaYCnlM1 BtQA0D0mibRKI7ye+UGKWKtVSxVSU0iXv+3pdE2655uZv+67pa684HKioqKio1f349fNtq663xb4 +wcE88ydnM6aKlIqN7FHO31Zu/V/SLwKKLUuzklHhvwb7cczhu4/wSKSN/sJ4Cz0TMslOiZbx4xS 5bpW+atVeu3r8RgwYMRERBiCkxGlNps2ypqItprS2gwYMGIiIgxBj/bOOa045WuXISFy4ly5EZlt YTMuSTJydCkkkACQleobWuSSSSABISAAD0WquIaVE32fOrpDZUTbba5lnzfs7BlkPMHnJPlQ+rRA 9PpB9LJbJbIi2ItiLUck93rM8nlTJVSjrRUUCqjPOmRR02N8fOJhAoQvo1rRUJh3M5PjV9P5XTSp D4iiUqc1QOSp28/6Cq0FFfoYBQZBQbBDitoZQ7jVIxD1RIpNI2j+0dhEj/lp7PZu/sAAH26ucAAA AAADy84Hg4Dg4Dx2t11eVa69Q7vOAAAHToAAAAAAAHlB27l22t38dyHmqUpZLJRRbbYiwh+pEj5S JzfBPOMmnWQNk3SA5k4oer/FjVyucOWpxY1crnDlq5zYqAIBImkSSyUM1PN9yLwKKLSuzklGMIiD 1UuG7j1d0dCHUqoiomunu8WZ7ATM0zLeXOend3uXYEX0bW8bXLoCKAh2dDvp+FZWrl3maTDl/vKR OGxHd0p6o6ecEEEEGQTBsNvEmmmeVQRgUU1lnLklRhEPCrmcN3H2ESOZIDk6dvfZ1XLrPdu1q3e6 h4okbJuh4KqIoOMO7aRKnX8dQ7e2SA5OEtvhEDIky9MxktuwJWYZhmHLLmHhubde+qt5Ld3trbZg SgAMCuYEUxD7jfFACo6mB7xtMKMjeTRgGfIEA6B5jk7AiuOetoED8+i118lFb6d28AAAA69act59 k73DtcRIy1bOXDSqqqqqqr1kDdpFd6OrUe3m5yJHRykTl5X23LL4zdMCj0j1AqusYBEIG9Aqth/i 7kinChIXWbRwQA==
reply other threads:[~2003-01-28 15:36 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20030128152932.2474.qmail@sources.redhat.com \ --to=wesarg@informatik.uni-halle.de \ --cc=gcc-gnats@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).