public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted.
@ 2008-07-16 16:25 djh at emss dot co dot za
2008-07-16 16:38 ` [Bug c++/36852] " paolo dot carlini at oracle dot com
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: djh at emss dot co dot za @ 2008-07-16 16:25 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1557 bytes --]
We have a class more or less like this: (please bear with me, this is only an
approximation.
class A
{
template <class T> static T determinant4(T matrix[4][4]);
template <class T> static T determinant3(T matrix[3][3]);
template <class T> static T determinant2(T matrix[2][2]);
};
template <class T>
T A::determinant3(T matrix[3][3])
{
// do stuff
}
When this header file is included in a cpp file, its compilation with gcc 4.3.1
tells me it can't find the determinant3 method.
GCC tells me:
common_Math.h:270: error: prototype for T common_Math::determinant3(T (*)[3])
does not match any in class common_Math
common_Math.h:179: error: candidate is: template<class T> static T
common_Math::determinant3(T (*)[3])
I have had trouble reproducing this example in an isolated environment. What I
can tell you thought is that if you modify the array to be only of single
dimension, it compiles happily.
Also all the methods that are not 3x3 matrices, the 4x4 method for example
compiles correctly.
For this instance of the compilation, T is of type double. It was compiled on
a 32 bit machine.
--
Summary: Two dimensional array in template method argument list
incorrectly interpreted.
Product: gcc
Version: 4.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: djh at emss dot co dot za
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
@ 2008-07-16 16:38 ` paolo dot carlini at oracle dot com
2008-07-17 12:48 ` djh at emss dot co dot za
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: paolo dot carlini at oracle dot com @ 2008-07-16 16:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from paolo dot carlini at oracle dot com 2008-07-16 16:37 -------
We badly need a self-contained testcase (per our general guidelines) because
something trivial inspired by your PR, like the below compiles just fine.
template <class T>
T A::determinant3(T matrix[3][3])
{
// NB: not the real formula ;)
return matrix[0][0] + matrix[1][1] + matrix[2][2];
}
int main()
{
double array[3][3];
A::determinant3(array);
}
--
paolo dot carlini at oracle dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
2008-07-16 16:38 ` [Bug c++/36852] " paolo dot carlini at oracle dot com
@ 2008-07-17 12:48 ` djh at emss dot co dot za
2008-07-17 20:25 ` [Bug c++/36852] [4.3/4.4 Regression] " pinskia at gcc dot gnu dot org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: djh at emss dot co dot za @ 2008-07-17 12:48 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1861 bytes --]
------- Comment #2 from djh at emss dot co dot za 2008-07-17 12:47 -------
I have successfully reproduced this problem:
Create a header file with the following structure, saving it as "a.h":
class A
{
public:
template <class T> static T foo1(T [3][3]);
};
template <class T> T A::foo1(T t[3][3])
{
return t[0][1];
}
Then compile it to precompiled header with GCC 4.3.1 using the following
command:"g++ -x c++-header -c a.h -o .obj/test.gch/c++"
Then create another file, say "test.cpp" that looks like this:
#include "a.h"
int main(int argc, char ** argv)
{
}
and then compile it using the following command:
"g++ -c test.cpp -include .obj/test"
This gives the output:
In file included from test.cpp:2:
a.h:1: error: redefinition of class A
a.h:2: error: previous definition of class A
a.h:8: error: prototype for T A::foo1(T (*)[3]) does not match any in class
A
However, when I compile this with GCC 4.2.1 it has the following output:
In file included from test.cpp:2:
a.h:1: error: redefinition of class A
a.h:2: error: previous definition of class A
a.h:8: error: redefinition of static T A::foo1(T (*)[3])
a.h:8: error: static T A::foo1(T (*)[3]) previously declared here
As you can see GCC 4.3.1 does not match the foo1 method with any in the class.
This is exactly the error that I am getting in our example. This smaller
version thought, is obviously easy to fix: just add the #ifndef A, #define A
guard around the header file, and it works. That solution thought does not
work for our real problem.
--
djh at emss dot co dot za changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |UNCONFIRMED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
2008-07-16 16:38 ` [Bug c++/36852] " paolo dot carlini at oracle dot com
2008-07-17 12:48 ` djh at emss dot co dot za
@ 2008-07-17 20:25 ` pinskia at gcc dot gnu dot org
2008-07-18 7:14 ` djh at emss dot co dot za
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-07-17 20:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from pinskia at gcc dot gnu dot org 2008-07-17 20:24 -------
So here is how to get an ICE out of the trunk.
--- t.h ----
class A
{
public:
template <class T> static T foo1(T [3][3]);
};
template <class T> T A::foo1(T t[3][3])
{
return t[0][1];
}
--- t.cc ---
#include "t.h"
#include "t.h"
---- CMD ---
g++ t.h
g++ t.cc
In file included from t.cc:2:
t.h:2: error: redefinition of 'class A'
t.h:3: error: previous definition of 'class A'
t.h:8: internal compiler error: canonical types differ for identical types T
[3] and T [3]
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
If we don't use a PCH, it works correctly.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |minor
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |diagnostic, error-recovery,
| |ice-on-invalid-code
Last reconfirmed|0000-00-00 00:00:00 |2008-07-17 20:24:42
date| |
Summary|Two dimensional array in |[4.3/4.4 Regression] Two
|template method argument |dimensional array in
|list incorrectly |template method argument
|interpreted. |list incorrectly
| |interpreted.
Target Milestone|--- |4.3.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (2 preceding siblings ...)
2008-07-17 20:25 ` [Bug c++/36852] [4.3/4.4 Regression] " pinskia at gcc dot gnu dot org
@ 2008-07-18 7:14 ` djh at emss dot co dot za
2008-07-23 4:30 ` jvdelisle at gcc dot gnu dot org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: djh at emss dot co dot za @ 2008-07-18 7:14 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 4752 bytes --]
------- Comment #4 from djh at emss dot co dot za 2008-07-18 07:13 -------
using your t.h file, the following command
"g++ -v -save-temps -x c++-header -c t.h -o .obj/test.gch/c++"
gives the following output
<code>
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/opt/gcc4.3.1
Thread model: posix
gcc version 4.3.1 (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-o' '.obj/test.gch/c++'
'-shared-libgcc' '-mtune=generic'
/opt/gcc4.3.1/libexec/gcc/i686-pc-linux-gnu/4.3.1/cc1plus -E -quiet -v
-D_GNU_SOURCE t.h -mtune=generic -fpch-preprocess -o t.ii
ignoring nonexistent directory
"/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/../../../../include/c++/4.3.1
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/../../../../include/c++/4.3.1/i686-pc-linux-gnu
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/../../../../include/c++/4.3.1/backward
/usr/local/include
/opt/gcc4.3.1/include
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/include
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/include-fixed
/usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-o' '.obj/test.gch/c++'
'-shared-libgcc' '-mtune=generic'
/opt/gcc4.3.1/libexec/gcc/i686-pc-linux-gnu/4.3.1/cc1plus -fpreprocessed t.ii
-quiet -dumpbase t.h -mtune=generic -auxbase-strip .obj/test.gch/c++ -version
-o t.s --output-pch= .obj/test.gch/c++
GNU C++ (GCC) version 4.3.1 (i686-pc-linux-gnu)
compiled by GNU C version 4.3.1, GMP version 4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 769fc73960e4feb81129a017258e8f57
</code>
the t.ii file is not that interesting. Is just the t.h file with
# 1 "t.h"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "t.h"
added at the top.
The t.cpp file gives us the following output:
<code>
g++ -v -save-temps -include .obj/test t.cpp
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/opt/gcc4.3.1
Thread model: posix
gcc version 4.3.1 (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-include' '.obj/test' '-shared-libgcc'
'-mtune=generic'
/opt/gcc4.3.1/libexec/gcc/i686-pc-linux-gnu/4.3.1/cc1plus -E -quiet -v
-D_GNU_SOURCE -include .obj/test t.cpp -mtune=generic -fpch-preprocess -o t.ii
ignoring nonexistent directory
"/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/../../../../include/c++/4.3.1
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/../../../../include/c++/4.3.1/i686-pc-linux-gnu
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/../../../../include/c++/4.3.1/backward
/usr/local/include
/opt/gcc4.3.1/include
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/include
/opt/gcc4.3.1/lib/gcc/i686-pc-linux-gnu/4.3.1/include-fixed
/usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-include' '.obj/test' '-shared-libgcc'
'-mtune=generic'
/opt/gcc4.3.1/libexec/gcc/i686-pc-linux-gnu/4.3.1/cc1plus -fpreprocessed t.ii
-quiet -dumpbase t.cpp -mtune=generic -auxbase t -version -o t.s
GNU C++ (GCC) version 4.3.1 (i686-pc-linux-gnu)
compiled by GNU C version 4.3.1, GMP version 4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 769fc73960e4feb81129a017258e8f57
In file included from t.cpp:2:
t.h:1: error: redefinition of class A
t.h:2: error: previous definition of class A
t.h:7: error: prototype for T A::foo1(T (*)[3]) does not match any in class
A
t.h:4: error: candidate is: template<class T> static T A::foo1(T (*)[3])
In file included from t.cpp:3:
t.h:1: error: redefinition of class A
t.h:2: error: previous definition of class A
t.h:7: error: prototype for T A::foo1(T (*)[3]) does not match any in class
A
t.h:4: error: candidate is: template<class T> static T A::foo1(T (*)[3])
</code>
t.ii contains:
<code>
# 1 "t.cpp"
# 1 "<built-in>"
# 1 "<command-line>"
#pragma GCC pch_preprocess "./.obj/test.gch/c++"
# 1 "t.cpp"
# 1 "t.h" 1
class A
{
public:
template <class T> static T foo1(T [3][3]);
};
template <class T> T A::foo1(T t[3][3])
{
return t[0][1];
}
# 2 "t.cpp" 2
# 1 "t.h" 1
class A
{
public:
template <class T> static T foo1(T [3][3]);
};
template <class T> T A::foo1(T t[3][3])
{
return t[0][1];
}
# 2 "t.cpp" 2
</code>
this was done not with GCC trunk, but GCC 4.3.1.
Thanks
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (3 preceding siblings ...)
2008-07-18 7:14 ` djh at emss dot co dot za
@ 2008-07-23 4:30 ` jvdelisle at gcc dot gnu dot org
2008-07-23 4:38 ` jvdelisle at gcc dot gnu dot org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-07-23 4:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from jvdelisle at gcc dot gnu dot org 2008-07-23 04:30 -------
Subject: Bug 36852
Author: jvdelisle
Date: Wed Jul 23 04:29:15 2008
New Revision: 138072
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138072
Log:
2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/36852
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer.
Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/list_read.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (4 preceding siblings ...)
2008-07-23 4:30 ` jvdelisle at gcc dot gnu dot org
@ 2008-07-23 4:38 ` jvdelisle at gcc dot gnu dot org
2008-07-26 12:58 ` jvdelisle at gcc dot gnu dot org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-07-23 4:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from jvdelisle at gcc dot gnu dot org 2008-07-23 04:37 -------
Subject: Bug 36852
Author: jvdelisle
Date: Wed Jul 23 04:36:54 2008
New Revision: 138073
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138073
Log:
2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/36852
* gfortran.dg/namelist_52.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/namelist_52.f90
Modified:
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (5 preceding siblings ...)
2008-07-23 4:38 ` jvdelisle at gcc dot gnu dot org
@ 2008-07-26 12:58 ` jvdelisle at gcc dot gnu dot org
2008-07-26 13:07 ` jvdelisle at gcc dot gnu dot org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-07-26 12:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from jvdelisle at gcc dot gnu dot org 2008-07-26 12:57 -------
Subject: Bug 36852
Author: jvdelisle
Date: Sat Jul 26 12:57:06 2008
New Revision: 138170
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138170
Log:
2008-07-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/36852
Backport from trunk.
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer.
Modified:
branches/gcc-4_3-branch/libgfortran/ChangeLog
branches/gcc-4_3-branch/libgfortran/io/list_read.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (6 preceding siblings ...)
2008-07-26 12:58 ` jvdelisle at gcc dot gnu dot org
@ 2008-07-26 13:07 ` jvdelisle at gcc dot gnu dot org
2008-07-29 13:30 ` jakub at gcc dot gnu dot org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-07-26 13:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from jvdelisle at gcc dot gnu dot org 2008-07-26 13:07 -------
Subject: Bug 36852
Author: jvdelisle
Date: Sat Jul 26 13:06:21 2008
New Revision: 138172
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138172
Log:
2008-07-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/36852
* gfortran.dg/namelist_52.f90: New test.
Added:
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/namelist_52.f90
Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (7 preceding siblings ...)
2008-07-26 13:07 ` jvdelisle at gcc dot gnu dot org
@ 2008-07-29 13:30 ` jakub at gcc dot gnu dot org
2008-07-29 16:31 ` jakub at gcc dot gnu dot org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-07-29 13:30 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2008-07-17 20:24:42 |2008-07-29 13:30:04
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (8 preceding siblings ...)
2008-07-29 13:30 ` jakub at gcc dot gnu dot org
@ 2008-07-29 16:31 ` jakub at gcc dot gnu dot org
2008-07-29 16:41 ` jakub at gcc dot gnu dot org
2008-07-29 20:41 ` jakub at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-07-29 16:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from jakub at gcc dot gnu dot org 2008-07-29 16:30 -------
Subject: Bug 36852
Author: jakub
Date: Tue Jul 29 16:29:33 2008
New Revision: 138250
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138250
Log:
PR c++/36852
* tree.c (cplus_array_hash, build_cplus_array_type_1): Hash on
TYPE_UID instead of pointers.
* g++.dg/pch/array-1.C: New test.
* g++.dg/pch/array-1.Hs: New file.
Added:
trunk/gcc/testsuite/g++.dg/pch/array-1.C
trunk/gcc/testsuite/g++.dg/pch/array-1.Hs
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/tree.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (9 preceding siblings ...)
2008-07-29 16:31 ` jakub at gcc dot gnu dot org
@ 2008-07-29 16:41 ` jakub at gcc dot gnu dot org
2008-07-29 20:41 ` jakub at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-07-29 16:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from jakub at gcc dot gnu dot org 2008-07-29 16:41 -------
Subject: Bug 36852
Author: jakub
Date: Tue Jul 29 16:40:15 2008
New Revision: 138253
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138253
Log:
PR c++/36852
* tree.c (cplus_array_hash, build_cplus_array_type_1): Hash on
TYPE_UID instead of pointers.
* g++.dg/pch/array-1.C: New test.
* g++.dg/pch/array-1.Hs: New file.
Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/pch/array-1.C
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/pch/array-1.Hs
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/tree.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/36852] [4.3/4.4 Regression] Two dimensional array in template method argument list incorrectly interpreted.
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
` (10 preceding siblings ...)
2008-07-29 16:41 ` jakub at gcc dot gnu dot org
@ 2008-07-29 20:41 ` jakub at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-07-29 20:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from jakub at gcc dot gnu dot org 2008-07-29 20:40 -------
Fixed.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36852
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2008-07-29 20:41 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-16 16:25 [Bug c++/36852] New: Two dimensional array in template method argument list incorrectly interpreted djh at emss dot co dot za
2008-07-16 16:38 ` [Bug c++/36852] " paolo dot carlini at oracle dot com
2008-07-17 12:48 ` djh at emss dot co dot za
2008-07-17 20:25 ` [Bug c++/36852] [4.3/4.4 Regression] " pinskia at gcc dot gnu dot org
2008-07-18 7:14 ` djh at emss dot co dot za
2008-07-23 4:30 ` jvdelisle at gcc dot gnu dot org
2008-07-23 4:38 ` jvdelisle at gcc dot gnu dot org
2008-07-26 12:58 ` jvdelisle at gcc dot gnu dot org
2008-07-26 13:07 ` jvdelisle at gcc dot gnu dot org
2008-07-29 13:30 ` jakub at gcc dot gnu dot org
2008-07-29 16:31 ` jakub at gcc dot gnu dot org
2008-07-29 16:41 ` jakub at gcc dot gnu dot org
2008-07-29 20:41 ` jakub at gcc dot gnu dot org
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).