From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4040 invoked by alias); 21 Apr 2002 21:46:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 4026 invoked by uid 71); 21 Apr 2002 21:46:01 -0000 Date: Sun, 21 Apr 2002 14:46:00 -0000 Message-ID: <20020421214601.4025.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Daniel Berlin Subject: Re: c++/6392: Problems with __restrict__ type qualifier (array) Reply-To: Daniel Berlin X-SW-Source: 2002-04/txt/msg01088.txt.bz2 List-Id: The following reply was made to PR c++/6392; it has been noted by GNATS. From: Daniel Berlin To: Peter Schmid Cc: gcc-gnats@gcc.gnu.org, , , Subject: Re: c++/6392: Problems with __restrict__ type qualifier (array) Date: Sun, 21 Apr 2002 17:44:17 -0400 (EDT) It's a gcc flaw. I analyzed this and asked what the right approach to fixing it was. No response. See http://gcc.gnu.org/ml/gcc-patches/2002-04/msg00147.html On Sun, 21 Apr 2002, Peter Schmid wrote: > > >Number: 6392 > >Category: c++ > >Synopsis: Problems with __restrict__ type qualifier (array) > >Confidential: no > >Severity: serious > >Priority: medium > >Responsible: unassigned > >State: open > >Class: rejects-legal > >Submitter-Id: net > >Arrival-Date: Sun Apr 21 06:16:00 PDT 2002 > >Closed-Date: > >Last-Modified: > >Originator: Peter Schmid > >Release: 3.1 20020418 (prerelease) > >Organization: > TU Darmstadt > >Environment: > System: Linux kiste 2.4.18 #8 Sat Mar 9 15:33:15 CET 2002 i686 unknown > Architecture: i686 > host: i686-pc-linux-gnu > build: i686-pc-linux-gnu > target: i686-pc-linux-gnu > configured with: ../gcc/configure --enable-shared --disable-nls --enable-threads=posix --enable-languages=c,c++,f77,objc > >Description: > The following source code, extracted from FTensor, is rejected by gcc > 3.1. KCC supports this feature, an array of restricted pointers. Is > this a gcc flaw or a KCC extension? > > >How-To-Repeat: > source code restrict.C > > struct A > { > int* __restrict__ data[10]; > }; > > g++ -v -c restrict.C -W -Wall > Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs > Configured with: ../gcc/configure --enable-shared --disable-nls --enable-threads=posix --enable-languages=c,c++,f77,objc > Thread model: posix > gcc version 3.1 20020418 (prerelease) > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/cc1plus -v -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -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 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ restrict.C -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -quiet -dumpbase restrict.C -W -Wall -version -o /tmp /ccjnyjd2.s > GNU CPP version 3.1 20020418 (prerelease) (cpplib) (i386 Linux/ELF) > GNU C++ version 3.1 20020418 (prerelease) (i686-pc-linux-gnu) > compiled by GNU C version 3.1 20020418 (prerelease). > ignoring nonexistent directory "NONE/include" > ignoring nonexistent directory "/usr/local/i686-pc-linux-gnu/include" > #include "..." search starts here: > #include <...> search starts here: > /usr/local/include/g++-v3 > /usr/local/include/g++-v3/i686-pc-linux-gnu > /usr/local/include/g++-v3/backward > /usr/local/include > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/include > /usr/include > End of search list. > restrict.C:3: `__restrict' qualifiers cannot be applied to `int*[10]' > restrict.C:3: invalid use of `restrict' > > >Fix: > > >Release-Note: > >Audit-Trail: > >Unformatted: >