####### T++ ######

#!/bin/bash
#export COMPILER_PATH=/usr/local/dest/gcc/libexec/gcc/i686-pc-linux-gnu/4.5.0
/usr/local/dest/gcc/bin/g++ -v -c -fdump-tree-original $*

###### t.cc ######

int main(int, char*[])
{
  int i = 2;
  const int *p = &i;
  int const* q = &i;   // legal C++ ???????
  int *const r = &i;

  return *p + *q +*r;
}

###### internal tree dump

;; Function int main(int, char**) (null)
;; enabled by -tree-original

{
  int i = 2;
  const int * p;
  const int * q;
  int * const r;

  <<cleanup_point   int i = 2;>>;
    const int * p;
  <<cleanup_point <<< Unknown tree: expr_stmt
  (void) (p = (const int *) &i) >>>
>>;
    const int * q;
  <<cleanup_point <<< Unknown tree: expr_stmt
  (void) (q = (const int *) &i) >>>    // const re-ordered
>>;
    int * const r;
  <<cleanup_point <<< Unknown tree: expr_stmt
  (void) (r = &i) >>>            // const disappeared
>>;
  return <retval> = ((int) *p + (int) *q) + *(int *) r;
}
return <retval> = 0;

##### run log ######

t...@tcm-laptop:/usr/local/src/tcmplug$ bash T++ 
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /usr/local/src/gcc/configure --prefix=/usr/local/dest/gcc
--disable-bootstrap --enable-languages=c++ --enable-stage1-languages=c,c++
Thread model: posix
gcc version 4.5.0 20090926 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-c' '-fdump-tree-original' '-shared-libgcc'
'-mtune=generic'
 /usr/local/dest/gcc/libexec/gcc/i686-pc-linux-gnu/4.5.0/cc1plus -quiet -v
-D_GNU_SOURCE /usr/local/src/tcmplug/t.cc -quiet -dumpbase t.cc -mtune=generic
-auxbase t -version -fdump-tree-original -o /tmp/cc8A2zxv.s
GNU C++ (GCC) version 4.5.0 20090926 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 4.3.2, GMP version 4.2.2, MPFR version 2.3.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory
"/usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:

/usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/../../../../include/c++/4.5.0

/usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/../../../../include/c++/4.5.0/i686-pc-linux-gnu

/usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/../../../../include/c++/4.5.0/backward
 /usr/local/include
 /usr/local/dest/gcc/include
 /usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/include
 /usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/include-fixed
 /usr/include
End of search list.
GNU C++ (GCC) version 4.5.0 20090926 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 4.3.2, GMP version 4.2.2, MPFR version 2.3.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: d742ed2881e46df50c8f8990eb3c1d97
COLLECT_GCC_OPTIONS='-v' '-c' '-fdump-tree-original' '-shared-libgcc'
'-mtune=generic'
 as -V -Qy -o t.o /tmp/cc8A2zxv.s
GNU assembler version 2.18.93 (i486-linux-gnu) using BFD version (GNU Binutils
for Ubuntu) 2.18.93.20081009
COMPILER_PATH=/usr/local/dest/gcc/libexec/gcc/i686-pc-linux-gnu/4.5.0/:/usr/local/dest/gcc/libexec/gcc/i686-pc-linux-gnu/4.5.0/:/usr/local/dest/gcc/libexec/gcc/i686-pc-linux-gnu/:/usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/:/usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/
LIBRARY_PATH=/usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/:/usr/local/dest/gcc/lib/gcc/i686-pc-linux-gnu/4.5.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-c' '-fdump-tree-original' '-shared-libgcc'
'-mtune=generic'


-- 
           Summary: "const" mishandled in parsing and tree dump (different
                    errors)
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: terrencem at sbcglobal dot net
 GCC build triplet: i686-pc-linix-gnu/4.5.0
  GCC host triplet: i686-pc-linix-gnu/4.5.0
GCC target triplet: i686-pc-linix-gnu/4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41509

Reply via email to