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: link
Be 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).