[Bug bootstrap/25842] New: Error in building libiberty

2006-01-18 Thread fxcoudert at gcc dot gnu dot org
In file included from ../../gcc/libiberty/md5.c:40:
../../gcc/include/md5.h:83: warning: no semicolon at end of struct or union
../../gcc/include/md5.h:83: error: parse error before
"ATTRIBUTE_ALIGNED_ALIGNOF"
[ ... snip ... ]
gmake[3]: *** [md5.o] Error 1
gmake[3]: Leaving directory `/tmp/gfortran-20060118/ibin/libiberty'
gmake[2]: *** [all-stage1-libiberty] Error 2
gmake[2]: Leaving directory `/tmp/gfortran-20060118/ibin'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/tmp/gfortran-20060118/ibin'
gmake: *** [all] Error 2


-- 
   Summary: Error in building libiberty
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
 GCC build triplet: powerpc64-unknown-linux-gnu
  GCC host triplet: powerpc64-unknown-linux-gnu
GCC target triplet: powerpc64-unknown-linux-gnu


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



[Bug target/17390] missing floating point compare optimization

2006-01-18 Thread uros at kss-loka dot si


--- Comment #8 from uros at kss-loka dot si  2006-01-18 09:50 ---
(In reply to comment #7)

> Hmm, I get (but that looks like different branch predictions):

It looks that your default is -mtune=pentium.

> _testf:
> fldl4(%esp)
> ftst
> fnstsw  %ax
> testb   $64, %ah
> jne L10
> ftst
> fnstsw  %ax
> fstp%st(0)
> testb   $69, %ah
> jne L5
> fld1
> ret
> .align 2,0x90
> L10:
> fstp%st(0)
> fldz
> ret
> L5:
> fldsLC2
> ret

With proposed patch, this code is compiled to (-O2 -ffast-math -mtune=pentium
-fomit-frame-pointer):

testf:
fldl   4(%esp)
ftst
fnstsw %ax
fstp   %st(0)
testb  $64, %ah
jne .L10
testb  $69, %ah
jne .L5
fld1
ret
.p2align 4,,7
.L10:
fldz
ret
.L5:
flds   .LC2
ret

and for -mtune=i686:

testf:
fldl   4(%esp)
ftst
fnstsw %ax
fstp   %st(0)
sahf
je .L10
jbe .L5
fld1
ret
.p2align 4,,7
.L10:
fldz
.p2align 4,,8
ret
.L5:
flds   .LC2
.p2align 4,,4
ret

BTW: I'll attach a patch, rediffed to current SVN.


-- 


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



[Bug target/17390] missing floating point compare optimization

2006-01-18 Thread uros at kss-loka dot si


--- Comment #9 from uros at kss-loka dot si  2006-01-18 09:53 ---
Created an attachment (id=10666)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10666&action=view)
patch to SVN GCC: (GNU) 4.2.0 20060117 (experimental)


-- 


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



[Bug libstdc++/25824] --disable-hosted-libstdcxx causes build break in eh_globals.cc

2006-01-18 Thread paolo at gcc dot gnu dot org


--- Comment #3 from paolo at gcc dot gnu dot org  2006-01-18 11:22 ---
Subject: Bug 25824

Author: paolo
Date: Wed Jan 18 11:22:10 2006
New Revision: 109883

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109883
Log:
2006-01-18  Perry Smith  <[EMAIL PROTECTED]>

PR libstdc++/25823
PR libstdc++/25824
* libsupc++/eh_alloc.cc: Fix return type of memset declaration.
* libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.

2006-01-18  Paolo Carlini  <[EMAIL PROTECTED]>

* include/ext/pb_assoc/detail/value_type_adapter/
value_type_adapter.hpp: Include .
* include/ext/pb_assoc/detail/value_type_adapter/
it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
Use tr1::aligned_storage and tr1::alignment_of.
(it_value_type_traits_<>::buf_t): Remove.
(it_value_type_traits_<>::make_valid, recast): Adjust.

Modified:
trunk/libstdc++-v3/ChangeLog
   
trunk/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
   
trunk/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
trunk/libstdc++-v3/libsupc++/eh_alloc.cc
trunk/libstdc++-v3/libsupc++/eh_globals.cc


-- 


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



[Bug libstdc++/25823] --disable-hosted-libstdcxx causes build break

2006-01-18 Thread paolo at gcc dot gnu dot org


--- Comment #9 from paolo at gcc dot gnu dot org  2006-01-18 11:22 ---
Subject: Bug 25823

Author: paolo
Date: Wed Jan 18 11:22:10 2006
New Revision: 109883

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109883
Log:
2006-01-18  Perry Smith  <[EMAIL PROTECTED]>

PR libstdc++/25823
PR libstdc++/25824
* libsupc++/eh_alloc.cc: Fix return type of memset declaration.
* libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.

2006-01-18  Paolo Carlini  <[EMAIL PROTECTED]>

* include/ext/pb_assoc/detail/value_type_adapter/
value_type_adapter.hpp: Include .
* include/ext/pb_assoc/detail/value_type_adapter/
it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
Use tr1::aligned_storage and tr1::alignment_of.
(it_value_type_traits_<>::buf_t): Remove.
(it_value_type_traits_<>::make_valid, recast): Adjust.

Modified:
trunk/libstdc++-v3/ChangeLog
   
trunk/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
   
trunk/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
trunk/libstdc++-v3/libsupc++/eh_alloc.cc
trunk/libstdc++-v3/libsupc++/eh_globals.cc


-- 


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



[Bug libstdc++/25824] --disable-hosted-libstdcxx causes build break in eh_globals.cc

2006-01-18 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2006-01-18 12:38 ---
Target is 4.1.1, not suited for 4_0-branch, because of libstdc++/25472.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

   Target Milestone|--- |4.1.1


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



[Bug libstdc++/25824] --disable-hosted-libstdcxx causes build break in eh_globals.cc

2006-01-18 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-18 12:38:59
   date||


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



[Bug libstdc++/25823] --disable-hosted-libstdcxx causes build break

2006-01-18 Thread pcarlini at suse dot de


--- Comment #10 from pcarlini at suse dot de  2006-01-18 12:39 ---
Target is 4.1.1, not suited for 4_0-branch, because of libstdc++/25472.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

   Target Milestone|--- |4.1.1


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



[Bug rtl-optimization/25791] -O2 execution fails, -O and -g work

2006-01-18 Thread ebotcazou at gcc dot gnu dot org


--- Comment #12 from ebotcazou at gcc dot gnu dot org  2006-01-18 13:31 
---
> I rebuilt with -O2 AND -g, and got the following trace.  Notice the while-loop
> in nscan, statements 1141 thru 1147 are four single statements.  The "next"
> trace by gdb shows them occuring multiple times.  This should NOT be
> happening.  This may be another BUG, this time with 'gdb'.

That is expected because -O2 seriously breaks the source code apart and
reorders things.  Use "nexti" in that case.


-- 


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



[Bug rtl-optimization/25791] -O2 execution fails, -O and -g work

2006-01-18 Thread ebotcazou at gcc dot gnu dot org


--- Comment #13 from ebotcazou at gcc dot gnu dot org  2006-01-18 13:38 
---
> Notice that 'nscan' expects 'scancb' in %l0, but it is ZERO.

Better not trust GDB at -O2 on that one, it is easily fooled.

> It does NOT contain the value in R1 (aka: r1).
> (gdb) x/4bx &r1
> 0x2d6a0c :  0x000x310x170x80

That value is in %i0.

> Notice the assembly code in NSCAN just before the 'call nscan'
> at NSCAN+80.  r1 never gets loaded into %l0.  Therefore, it is
> NOT passed to 'nscan' properly.

The value is loaded into %o0 before 'call nscan' and end up in %i0 after the
save register window instruction.


-- 


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



[Bug bootstrap/25842] Error in building libiberty

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-18 14:07 ---
Hmm, ansidecl.h should have been included.


-- 


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



[Bug fortran/25785] [4.1/4.2 Regression] gfortran - incorrectly issues an error on tests for optional arguments with assumed length

2006-01-18 Thread dir at lanl dot gov


--- Comment #9 from dir at lanl dot gov  2006-01-18 14:20 ---
Paul,

I am sorry that I upset you. It was completely unintentional.

Dale.


-- 


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



[Bug ada/25844] New: ICE (Regression) on overloaded renames

2006-01-18 Thread holmana at adsmr dot co dot za
Output of gcc -v:
-
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1-20060113/configure --disable-nls
--enable-languages=c,ada
--prefix=/disc/gbcc/home/chrisp/GNAT/koala/gcc4/native-20060113 --enable-libada
Thread model: posix
gcc version 4.1.0 20060113 (prerelease)
--

gnatmake command entered and its output:


[EMAIL PROTECTED] t]# gnatmake x-toolkit
gcc -c x-toolkit.adb
+===GNAT BUG DETECTED==+
| 4.1.0 20060113 (prerelease) (i686-pc-linux-gnu) Assert_Failure atree.adb:812|
| Error detected at x-toolkit.ads:1369:7   |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.

x-toolkit.adb
x-toolkit.ads
x.ads
tgx.ads
tgx-lists.ads
x-resource_manager.ads
x-data_resources.ads
x-dtrs.ads
x-toolkit_names.ads
x-basics.ads
x-toolkit-classes.ads

compilation abandoned
gnatmake: "x-toolkit.adb" compilation error
--


Expected Behaviour:

GNAT compiles x-toolkit.ad[bs] to .ali and .o

Actual Behaviour:

GNAT experiences an internal compiler error and presents the bug box given
above.


-- 
   Summary: ICE (Regression) on overloaded renames
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: holmana at adsmr dot co dot za
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug middle-end/25840] libjava is broken on Linux/x86-64

2006-01-18 Thread hjl at lucon dot org


--- Comment #1 from hjl at lucon dot org  2006-01-18 14:40 ---
See

http://gcc.gnu.org/ml/gcc-testresults/2006-01/msg00924.html


-- 

hjl at lucon dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-01-18 14:40:59
   date||


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |major
   Keywords||wrong-code
Summary|libjava is broken on|[4.2 Regression] libjava is
   |Linux/x86-64|broken on Linux/x86-64
   Target Milestone|--- |4.2.0


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



[Bug ada/25844] ICE (Regression) on overloaded renames

2006-01-18 Thread holmana at adsmr dot co dot za


--- Comment #1 from holmana at adsmr dot co dot za  2006-01-18 14:34 ---
Created an attachment (id=10669)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10669&action=view)
Files listed in bugbox, concatenated (suitable for gnatchop) (gzipped)


-- 


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



[Bug c++/25845] New: want optional warning for non-constant declarations that could be constant

2006-01-18 Thread sigra at home dot se
Declaring variables and parameters as constants is a very useful feature that
should be used as much as possible. Therefore it would be very useful to have
an option to warn when something is not declared as constant eventhough it
could be, at least in C++ and probably in other languages as well.


-- 
   Summary: want optional warning for non-constant declarations that
could be constant
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sigra at home dot se


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-18 15:36 ---
Can you give an example?


-- 


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



[Bug target/25731] Complex values passed in wrong registers

2006-01-18 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2006-01-18 15:45 ---
Subject: Bug 25731

Author: danglin
Date: Wed Jan 18 15:44:57 2006
New Revision: 109894

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109894
Log:
PR target/25731
* config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
hppa[12]*-*-hpux11*): Override default shared libgcc version for both
sjlj and dwarf2 exception handling.
* pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable.
Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION.
* pa/pa.c (function_value): Treat complex and vector types as
aggregates.
(function_arg): Likewise.  Only pass scalar floats in the floating
point argument registers.
* pa/t-slibgcc-dwarf-ver: New file.
* pa/t-slibgcc-sjlj-ver: New file.
* pa/t-slibgcc-elf-ver: Delete file.


Added:
trunk/gcc/config/pa/t-slibgcc-dwarf-ver
trunk/gcc/config/pa/t-slibgcc-sjlj-ver
Removed:
trunk/gcc/config/pa/t-slibgcc-elf-ver
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config.gcc
trunk/gcc/config/pa/pa.c
trunk/gcc/config/pa/t-hpux-shlib


-- 


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



[Bug c++/25846] New: declaration scope of template members

2006-01-18 Thread vna at rts dot co dot at
I have a problem with template construction compiled by g++ 4.0.2 (SuSE Linux).
The compiler populate following error message:
"test.cpp:17: error: a m_pData was not declared in this scope"
Previous release g++ 3.3.3 works fine.

template class c1T
{
public:
  c1T () { }
  ~c1T (){ }
  operator T*() const { return m_pData; }
  T *m_pData;
};

template class c1newT : public c1T
{
public:
  c1newT () : c1T () { }
  T* operator->() const   { return m_pData; }
};

main ()
{
  c1T hugo;
}

Thanks


-- 
   Summary: declaration scope of template members
   Product: gcc
   Version: 4.0.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: vna at rts dot co dot at


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



[Bug c++/12970] Strange class member access rules

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #18 from pinskia at gcc dot gnu dot org  2006-01-18 16:06 
---
*** Bug 25846 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||vna at rts dot co dot at


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



[Bug c++/25846] declaration scope of template members

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-18 16:06 ---
Please read http://gcc.gnu.org/gcc-3.4/changes.html.

This is a dup of bug 12970.

*** This bug has been marked as a duplicate of 12970 ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread sigra at home dot se


--- Comment #2 from sigra at home dot se  2006-01-18 16:07 ---
Example 1:
{
 int i = f();
 do_something(i + 1, 7, 'h');
 do_something_else(i % 3, 'e');
}

If i could be declared "const int", the compiler should warn.


Example 2:
float dra(float m, Panel & p) {
 p.do_me(5);
 return p.set_moad(m);
}

If m could be declared "const float", the compiler should warn.


Example 3:
{
 char t = 2;
 if (hej.is_double()) t *= 7;
 std::cout << static_cast(t) << std::endl;
}

If "static_cast" would work, the compiler should warn.


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-01-18 16:13 ---
I still don't understand what this warning is useful for?  

const does nothing when it comes to local variables except for not letting you
touch it in other expressions.  It does nothing for optimizations or anything
else.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||diagnostic


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2006-01-18 16:19 ---
(In reply to comment #3)
> const does nothing when it comes to local variables except for not letting you
> touch it in other expressions.  It does nothing for optimizations or anything
> else.

This last point is not obvious at all, in my opinion. Why not? In principle,
certainly const-ness *can* help optimizers one way or the other. Is this just a
current limitation? A design choice? Anything in the standard making that
tricky? I would like to know more.


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread sigra at home dot se


--- Comment #5 from sigra at home dot se  2006-01-18 16:25 ---
(In reply to comment #3)
> I still don't understand what this warning is useful for?  
> 
> const does nothing when it comes to local variables except for not letting
> you touch it in other expressions.  It does nothing for optimizations or
> anything else.

That is what const does for local variables. It is useful for preventing
unintended modifications which can cause bugs. That is why the feature exists
at all.


-- 


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



[Bug target/25731] Complex values passed in wrong registers

2006-01-18 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2006-01-18 16:30 ---
Subject: Bug 25731

Author: danglin
Date: Wed Jan 18 16:30:18 2006
New Revision: 109895

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109895
Log:
PR target/25731
* config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
hppa[12]*-*-hpux11*): Override default shared libgcc version for both
sjlj and dwarf2 exception handling.
* pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable.
Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION.
* pa/pa.c (function_value): Treat complex and vector types as
aggregates.
(function_arg): Likewise.  Only pass scalar floats in the floating
point argument registers.
* pa/t-slibgcc-dwarf-ver: New file.
* pa/t-slibgcc-sjlj-ver: New file.
* pa/t-slibgcc-elf-ver: Delete file.


Added:
branches/gcc-4_1-branch/gcc/config/pa/t-slibgcc-dwarf-ver
branches/gcc-4_1-branch/gcc/config/pa/t-slibgcc-sjlj-ver
Removed:
branches/gcc-4_1-branch/gcc/config/pa/t-slibgcc-elf-ver
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/config.gcc
branches/gcc-4_1-branch/gcc/config/pa/pa.c
branches/gcc-4_1-branch/gcc/config/pa/t-hpux-shlib


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread pcarlini at suse dot de


--- Comment #7 from pcarlini at suse dot de  2006-01-18 16:32 ---
(In reply to comment #6)

> int f(const int *a, int *b)
> {
>*b = 1;
>return *a;
> }
> 
> a and b can alias and there is no way around that at all because that is
> what the C++ standard says.

Interesting example. But what if the parameters cannot alias (e.g., different
types). What about the other cases mentioned in the PR (probably more important
to me)? No pointers involved at all?


-- 


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



[Bug target/20754] ACATS cxg1005 fails at runtime on hppa-linux

2006-01-18 Thread danglin at gcc dot gnu dot org


--- Comment #13 from danglin at gcc dot gnu dot org  2006-01-18 16:34 
---
Fixed by patches on 4.0, 4.1 and trunk.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread pinskia at physics dot uc dot edu


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-01-18 16:29 ---
Subject: Re:  want optional warning for non-constant declarations that could be
constant


On Jan 18, 2006, at 11:19 AM, pcarlini at suse dot de wrote:

> --- Comment #4 from pcarlini at suse dot de  2006-01-18 16:19 
> ---
> (In reply to comment #3)
>> const does nothing when it comes to local variables except for not 
>> letting you
>> touch it in other expressions.  It does nothing for optimizations or 
>> anything
>> else.
>
> This last point is not obvious at all, in my opinion. Why not? In 
> principle,
> certainly const-ness *can* help optimizers one way or the other. Is 
> this just a
> current limitation? A design choice? Anything in the standard making 
> that
> tricky? I would like to know more.


int f(const int *a, int *b)
{
   *b = 1;
   return *a;
}

a and b can alias and there is no way around that at all because that is
what the C++ standard says.

-- Pinski


-- 


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



Re: [Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread Andrew Pinski


On Jan 18, 2006, at 11:19 AM, pcarlini at suse dot de wrote:

--- Comment #4 from pcarlini at suse dot de  2006-01-18 16:19 
---

(In reply to comment #3)
const does nothing when it comes to local variables except for not 
letting you
touch it in other expressions.  It does nothing for optimizations or 
anything

else.


This last point is not obvious at all, in my opinion. Why not? In 
principle,
certainly const-ness *can* help optimizers one way or the other. Is 
this just a
current limitation? A design choice? Anything in the standard making 
that

tricky? I would like to know more.



int f(const int *a, int *b)
{
  *b = 1;
  return *a;
}

a and b can alias and there is no way around that at all because that is
what the C++ standard says.

-- Pinski



[Bug fortran/25785] [4.1/4.2 Regression] gfortran - incorrectly issues an error on tests for optional arguments with assumed length

2006-01-18 Thread paulthomas2 at wanadoo dot fr


--- Comment #10 from paulthomas2 at wanadoo dot fr  2006-01-18 16:45 ---
Subject: Re:  [4.1/4.2 Regression] gfortran - incorrectly
 issues an error on tests for optional arguments with assumed length

Dale,

>
>I am sorry that I upset you. It was completely unintentional.
>
>  
>
I upset myself; you were just the trigger!

Paul


-- 


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



[Bug target/25731] Complex values passed in wrong registers

2006-01-18 Thread danglin at gcc dot gnu dot org


--- Comment #3 from danglin at gcc dot gnu dot org  2006-01-18 17:02 ---
Fixed in 4.1.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread ian at airs dot com


--- Comment #2 from ian at airs dot com  2006-01-18 17:04 ---
I just reconfirmed that I don't see any problems running the libjava testsuite
on i686-pc-linux-gnu.  And I don't have access to any x86_64 systems.  So I
can't recreate this problem myself.

The backtrace suggests that there is some problem in the crt0 file.  Can you
please try building crtbegin.o and crtend.o with -fno-unit-at-a-time and with
-fno-toplevel-reorder.  I changed the default from the former to the latter. 
There shouldn't be any significant differences between the two.  If there are,
please let me know.

I'll try building a cross-compiler to x86_64-linux to try this myself.  I may
run into header file problems; I'll see.


-- 

ian at airs dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ian at airs dot com
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-01-18 14:40:59 |2006-01-18 17:04:42
   date||


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread ian at airs dot com


--- Comment #3 from ian at airs dot com  2006-01-18 17:39 ---
Building a cross-compiler did not shed any light on the problem.

Can anybody provide more information about what is going wrong?


-- 


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread hjl at lucon dot org


--- Comment #4 from hjl at lucon dot org  2006-01-18 17:47 ---
I rebuilt crt*.o* with -fno-toplevel-reorder -fno-unit-at-a-time and
recreated lib*.so. I still have the same problem.


-- 


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread hjl at lucon dot org


--- Comment #5 from hjl at lucon dot org  2006-01-18 18:48 ---
I found this in my build log

creating gcj-dbtool ./gcj-dbtool -n classmap.db || touch classmap.db
creating gij /bin/sh: line 1: 17842 Segmentation fault  ./gcj-dbtool -n
classmap.db
make[5]: Leaving directory
`/export/build/gnu/gcc-next/build-x86_64-linux/x86_64-unknown-linux-gnu/libjava'
 

Why doesn't libjava stop?


-- 


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



[Bug ada/25844] [4.1/4.2 regression] Ada ICE (Regression) on overloaded renames

2006-01-18 Thread laurent at guerby dot net


--- Comment #2 from laurent at guerby dot net  2006-01-18 18:49 ---
With 4.0.2:
$ gcc -c x-toolkit.adb
x-toolkit.ads:590:04: this instantiation requires "Tgx.Lists (body)"
x-toolkit.ads:590:04: but file "tgx-lists.adb" was not found

With 4.1:
$ gcc -c x-toolkit.adb
+===GNAT BUG DETECTED==+
| 4.1.0 20060116 (prerelease) (i686-pc-linux-gnu) Assert_Failure atree.adb:812|
| Error detected at x-toolkit.ads:1369:7   |

With 4.2:
$ gcc -c x-toolkit.adb
+===GNAT BUG DETECTED==+
| 4.2.0 20060112 (experimental) (i686-pc-linux-gnu) Assert_Failure
atree.adb:812|
| Error detected at x-toolkit.ads:1369:7   |


-- 

laurent at guerby dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2006-01-18 18:49:05
   date||
Summary|ICE (Regression) on |[4.1/4.2 regression] Ada ICE
   |overloaded renames  |(Regression) on overloaded
   ||renames


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



[Bug fortran/20869] EXTERNAL and INTRINSIC cannot be used together

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-01-18 18:55 ---
Subject: Bug 20869

Author: pault
Date: Wed Jan 18 18:55:01 2006
New Revision: 109899

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109899
Log:
2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>
Steven G. Kargl  <[EMAIL PROTECTED]>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/assumed_present.f90
trunk/gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
trunk/gcc/testsuite/gfortran.dg/external_procedures_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25024] ICE with external declaration inside same procedure

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2006-01-18 18:55 ---
Subject: Bug 25024

Author: pault
Date: Wed Jan 18 18:55:01 2006
New Revision: 109899

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109899
Log:
2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>
Steven G. Kargl  <[EMAIL PROTECTED]>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/assumed_present.f90
trunk/gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
trunk/gcc/testsuite/gfortran.dg/external_procedures_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25785] [4.1/4.2 Regression] gfortran - incorrectly issues an error on tests for optional arguments with assumed length

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #11 from pault at gcc dot gnu dot org  2006-01-18 18:55 ---
Subject: Bug 25785

Author: pault
Date: Wed Jan 18 18:55:01 2006
New Revision: 109899

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109899
Log:
2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>
Steven G. Kargl  <[EMAIL PROTECTED]>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/assumed_present.f90
trunk/gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
trunk/gcc/testsuite/gfortran.dg/external_procedures_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/20875] elemental function may not be pointer valued

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #1 from pault at gcc dot gnu dot org  2006-01-18 18:55 ---
Subject: Bug 20875

Author: pault
Date: Wed Jan 18 18:55:01 2006
New Revision: 109899

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109899
Log:
2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>
Steven G. Kargl  <[EMAIL PROTECTED]>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/assumed_present.f90
trunk/gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
trunk/gcc/testsuite/gfortran.dg/external_procedures_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/20869] EXTERNAL and INTRINSIC cannot be used together

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2006-01-18 18:56 ---
Subject: Bug 20869

Author: pault
Date: Wed Jan 18 18:56:43 2006
New Revision: 109900

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109900
Log:
2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>
Steven G. Kargl  <[EMAIL PROTECTED]>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/assumed_present.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/external_procedures_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/decl.c
branches/gcc-4_1-branch/gcc/fortran/gfortran.h
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/fortran/symbol.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/20875] elemental function may not be pointer valued

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2006-01-18 18:56 ---
Subject: Bug 20875

Author: pault
Date: Wed Jan 18 18:56:43 2006
New Revision: 109900

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109900
Log:
2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>
Steven G. Kargl  <[EMAIL PROTECTED]>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/assumed_present.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/external_procedures_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/decl.c
branches/gcc-4_1-branch/gcc/fortran/gfortran.h
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/fortran/symbol.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25785] [4.1/4.2 Regression] gfortran - incorrectly issues an error on tests for optional arguments with assumed length

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #12 from pault at gcc dot gnu dot org  2006-01-18 18:56 ---
Subject: Bug 25785

Author: pault
Date: Wed Jan 18 18:56:43 2006
New Revision: 109900

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109900
Log:
2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>
Steven G. Kargl  <[EMAIL PROTECTED]>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/assumed_present.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/external_procedures_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/decl.c
branches/gcc-4_1-branch/gcc/fortran/gfortran.h
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/fortran/symbol.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25024] ICE with external declaration inside same procedure

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-01-18 18:56 ---
Subject: Bug 25024

Author: pault
Date: Wed Jan 18 18:56:43 2006
New Revision: 109900

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109900
Log:
2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/20869
PR fortran/20875
PR fortran/25024
* symbol.c (check_conflict): Add pointer valued elemental
functions and internal procedures with the external attribute
to the list of conflicts.
(gfc_add_attribute): New catch-all function to perform the
checking of symbol attributes for attribute declaration
statements.
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
Remove spurious calls to checks in symbol.c.  Set the
attribute directly and use the call to attr_decl() for
checking.
* gfortran.h:  Add prototype for gfc_add_attribute.

PR fortran/25785
* resolve.c (resolve_function): Exclude PRESENT from assumed size
argument checking. Replace strcmp's with comparisons with generic
codes.

2006-01-18  Paul Thomas  <[EMAIL PROTECTED]>
Steven G. Kargl  <[EMAIL PROTECTED]>

PR fortran/20869
* gfortran.dg/intrinsic_external_1.f90: New test.

PR fortran/20875.
* gfortran.dg/elemental_pointer_1.f90: New test.

PR fortran/25024
* gfortran.dg/external_procedures_1.f90: New test.

PR fortran/25785
gfortran.dg/assumed_present.f90: New test.

Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/assumed_present.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/external_procedures_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/decl.c
branches/gcc-4_1-branch/gcc/fortran/gfortran.h
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/fortran/symbol.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug java/25847] New: libjava build doesn't stop when there is a fatal error

2006-01-18 Thread hjl at lucon dot org
While investigating PR 25840, I notice that when there is a fatal error during
libjava build, build doesn't stop. I found this in my build log:

creating gcj-dbtool ./gcj-dbtool -n classmap.db || touch classmap.db
creating gij /bin/sh: line 1: 17842 Segmentation fault  ./gcj-dbtool -n
classmap.db
make[5]: Leaving directory
`/export/build/gnu/gcc-next/build-x86_64-linux/x86_64-unknown-linux-gnu/libjava'
 

The problem is in libjava/Makefile.am:

## The .db file.  This rule is only used for native builds, so it is
## safe to invoke gcj-dbtool.
$(db_name): gcj-dbtool$(EXEEXT)
## In case it exists already.
@rm -f $(db_name)
## We don't actually care if it fails -- if it does, just make an
## empty file.  This is simpler than trying to discover when mmap is
## not available.
./gcj-dbtool -n $(db_name) || touch $(db_name)


-- 
   Summary: libjava build doesn't stop when there is a fatal error
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



[Bug fortran/20869] EXTERNAL and INTRINSIC cannot be used together

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #7 from pault at gcc dot gnu dot org  2006-01-18 18:57 ---
Fixed on trunk and 4.1


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/20875] elemental function may not be pointer valued

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-01-18 18:58 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/25024] ICE with external declaration inside same procedure

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-01-18 18:59 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/25785] [4.1/4.2 Regression] gfortran - incorrectly issues an error on tests for optional arguments with assumed length

2006-01-18 Thread pault at gcc dot gnu dot org


--- Comment #13 from pault at gcc dot gnu dot org  2006-01-18 18:59 ---
Fixed on trunk and 4.1

Thanks and sorry

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug java/25847] libjava build doesn't stop when there is a fatal error

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-18 19:00 ---
Lets look:

## We don't actually care if it fails -- if it does, just make an
## empty file.  This is simpler than trying to discover when mmap is
## not available.

so what is the problem here?  This is not really a major failure really.


-- 


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



[Bug java/25847] libjava build doesn't stop when there is a fatal error

2006-01-18 Thread hjl at lucon dot org


--- Comment #2 from hjl at lucon dot org  2006-01-18 19:14 ---
It depends on what kind of failure. This "Segmentation fault" is due to a
broken libgcj.so. It makes no senses to continue.


-- 


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread hjl at lucon dot org


--- Comment #6 from hjl at lucon dot org  2006-01-18 19:23 ---
It looks like gcc puts some junks in .ctors section:

[EMAIL PROTECTED] .libs]$ objdump -s -j .ctors libgcj.so.7

libgcj.so.7: file format elf64-x86-64

Contents of section .ctors:
 190c000      
 190c010 60cdfe00     `...
 190c020 48c7c00f 000f 0500   H...
 190c030 0021     . ..
 190c040 48c7c00f 000f 0500   H...
 190c050 d03f0101  10605101   .?...`Q.
 190c060 20605101  30605101    `Q.0`Q.
 190c070 40605101  50605101   @`Q.P`Q.
 190c080 60605101  70605101   ``Q.p`Q.
 190c090 80605101  90605101   .`Q..`Q.
 190c0a0 a0605101     .`Q.

The "0500" entry is bogus.


-- 


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



[Bug target/25281] [3.4/4.0 only] Request fix for Bug #23150 (aka Bug #24675) in gcc 3.4.x and gcc 4.0.x for arm arch.

2006-01-18 Thread armcc2000 at yahoo dot com


--- Comment #3 from armcc2000 at yahoo dot com  2006-01-18 19:28 ---
(In reply to comment #2)
>
> Kazu, does your patch for PR 23150 apply to 4.0?  If so, would you please
> test that change?

I think we've tried that already.
Patch applies to 4.0.2 without problems, but is doesn't seem to alter the bug.

See comment #5 in bug #24675


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread sigra at home dot se


--- Comment #8 from sigra at home dot se  2006-01-18 19:29 ---
> On Jan 18, 2006, at 11:19 AM, pcarlini at suse dot de wrote:
> 
> > --- Comment #4 from pcarlini at suse dot de  2006-01-18 16:19 
> > ---
> > (In reply to comment #3)
> >> const does nothing when it comes to local variables except for not 
> >> letting you
> >> touch it in other expressions.  It does nothing for optimizations or 
> >> anything
> >> else.
> >
> > This last point is not obvious at all, in my opinion. Why not? In 
> > principle,
> > certainly const-ness *can* help optimizers one way or the other. Is 
> > this just a
> > current limitation? A design choice? Anything in the standard making 
> > that
> > tricky? I would like to know more.
> 
> 
> int f(const int *a, int *b)
> {
>*b = 1;
>return *a;
> }
> 
> a and b can alias and there is no way around that at all because that is
> what the C++ standard says.

In this case the compiler should warn because a could be declared "const int *
const" and b could be declared "int * const".


-- 


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-01-18 19:30 ---
Hmm:
interpret.o: file format elf64-x86-64

Contents of section .ctors:
       
 0010 48c7c00f 000f 05 H   
prims.o: file format elf64-x86-64

Contents of section .ctors:
       
 0010 48c7c00f 000f 05 H   


Those are the two ctors might have caused this.


-- 


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-01-18 19:31 ---
Both prims.o and interpret.o are created from C++ code.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org


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



Re: [Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread Andrew Pinski
> > int f(const int *a, int *b)
> > {
> >*b = 1;
> >return *a;
> > }
> > 
> > a and b can alias and there is no way around that at all because that is
> > what the C++ standard says.
> 
> In this case the compiler should warn because a could be declared "const int *
> const" and b could be declared "int * const".

That still does not change the fact that a could point to the same location as
b is pointing too.

-- Pinski


[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread pinskia at physics dot uc dot edu


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-01-18 19:33 ---
Subject: Re:  want optional warning for non-constant declarations that could be
constant

> > int f(const int *a, int *b)
> > {
> >*b = 1;
> >return *a;
> > }
> > 
> > a and b can alias and there is no way around that at all because that is
> > what the C++ standard says.
> 
> In this case the compiler should warn because a could be declared "const int *
> const" and b could be declared "int * const".

That still does not change the fact that a could point to the same location as
b is pointing too.

-- Pinski


-- 


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



[Bug middle-end/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread hjl at lucon dot org


--- Comment #9 from hjl at lucon dot org  2006-01-18 19:34 ---
Looks at interpret.s

.Ldebug_line0:
.text
.Ltext0:
.section.ctors,"aw",@progbits
.align 8
.quad   _GLOBAL__I__Jv_soleInterpreterEngine
#APP
.byte 0  # Yes, this really is necessary

.text is missing here.


-- 


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



[Bug libgcj/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2006-01-18 19:39 
---
(In reply to comment #9)
> Looks at interpret.s

This is a bug in java-signal.h:
# 61 "./include/java-signal.h"
asm ( ".byte 0  # Yes, this really is necessary\n" ".align 16\n" "__"
"restore_rt" ":\n" "  movq $" "15" ", %rax\n" "   syscall\n" );

There is no .text in the source in the first place so we were just getting
lucky before.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|middle-end  |libgcj


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



[Bug libgcj/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread hjl at lucon dot org


--- Comment #11 from hjl at lucon dot org  2006-01-18 19:48 ---
I am testing this patch now:

http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01192.html


-- 


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



[Bug rtl-optimization/25848] New: missed-rtl-optimization

2006-01-18 Thread dtemirbulatov at gmail dot com
This C example:

int f1(int a)
{
  int b = a*2;
  return b+a;
}
---
Currently we produce:
_f1:
mr 0,3
slwi 3,3,1
add 3,3,0
extsw 3,0
blr

-

We should be able to produce:
_f1:
mr 0,3
slwi 3,3,1
add 3,0,3
blr

,so the "extsw" instruction should go out.


-- 
   Summary: missed-rtl-optimization
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dtemirbulatov at gmail dot com
GCC target triplet: powerpc64-unknown-linux-gnu


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



[Bug libgcj/25840] [4.2 Regression] libjava is broken on Linux/x86-64

2006-01-18 Thread hjl at gcc dot gnu dot org


--- Comment #12 from hjl at gcc dot gnu dot org  2006-01-18 20:04 ---
Subject: Bug 25840

Author: hjl
Date: Wed Jan 18 20:04:50 2006
New Revision: 109909

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109909
Log:
2006-01-18  H.J. Lu  <[EMAIL PROTECTED]>

PR libgcj/25840
* include/x86_64-signal.h (RESTORE2): Add ".text\n".

Modified:
trunk/libjava/ChangeLog
trunk/libjava/include/x86_64-signal.h


-- 


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



[Bug rtl-optimization/25848] missed-rtl-optimization

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-18 20:08 ---
Hmm, I don't think so as slwi only acts on the lower 32bits so the upper 32bits
have the same sign as before which might be invalid if the b+a overflows.

Actually optimial is:
_f1:
slwi r0,r3,1
add r0,r0,r3
extsw r3,r0
blr

No extra move.  
The extsw is to extend the return value to 64bits as required by the ABI.
In fact I can think of different cases where this would cause issues.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work|3.4.5   |


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



[Bug bootstrap/25842] Error in building libiberty

2006-01-18 Thread dj at redhat dot com


--- Comment #2 from dj at redhat dot com  2006-01-18 20:23 ---
Subject: Re:   New: Error in building libiberty


Fixed.


-- 


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



[Bug middle-end/23488] [4.1/4.2 Regression] GCSE load PRE does not work with non sets

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2006-01-18 20:26 
---
Hmm, we actually produce better code on the mainline for my example in comment
#2:
_xtermEnvEncoding1:
movl_result.1525, %edx
movl$2, %eax
pushl   %ebp
movl%esp, %ebp
popl%ebp
testl   %edx, %edx
cmovne  _result.1525, %eax
movl%eax, _result.1525
ret

But that is does not fix the problem in comment #0.  Load PRE on the tree level
is not working because this is not an indirect reference to the variable.  That
is a known issue too.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|target  |middle-end
 GCC target triplet|i686-pc-linux.-gnu  |i686-*-*


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread gdr at cs dot tamu dot edu


--- Comment #10 from gdr at cs dot tamu dot edu  2006-01-18 20:29 ---
Subject: Re:   New: want optional warning for non-constant declarations that
could be constant

"sigra at home dot se" <[EMAIL PROTECTED]> writes:

| Declaring variables and parameters as constants is a very useful feature that
| should be used as much as possible. Therefore it would be very useful to have
| an option to warn when something is not declared as constant eventhough it
| could be, at least in C++ and probably in other languages as well.

Isn't this a task for lint-like tool?  GCC isn't such thing.

-- Gaby


-- 


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



Re: [Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread Gabriel Dos Reis
"sigra at home dot se" <[EMAIL PROTECTED]> writes:

|  std::cout << static_cast(t) << std::endl;
| }
| 
| If "static_cast" would work, the compiler should warn.

given call-by-value, you must be joking.

-- Gaby


[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread gdr at cs dot tamu dot edu


--- Comment #11 from gdr at cs dot tamu dot edu  2006-01-18 20:30 ---
Subject: Re:  want optional warning for non-constant declarations that could be
constant

"sigra at home dot se" <[EMAIL PROTECTED]> writes:

|  std::cout << static_cast(t) << std::endl;
| }
| 
| If "static_cast" would work, the compiler should warn.

given call-by-value, you must be joking.

-- Gaby


-- 


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



Re: [Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread Gabriel Dos Reis
"sigra at home dot se" <[EMAIL PROTECTED]> writes:

| --- Comment #8 from sigra at home dot se  2006-01-18 19:29 ---
| > On Jan 18, 2006, at 11:19 AM, pcarlini at suse dot de wrote:
| > 
| > > --- Comment #4 from pcarlini at suse dot de  2006-01-18 16:19 
| > > ---
| > > (In reply to comment #3)
| > >> const does nothing when it comes to local variables except for not 
| > >> letting you
| > >> touch it in other expressions.  It does nothing for optimizations or 
| > >> anything
| > >> else.
| > >
| > > This last point is not obvious at all, in my opinion. Why not? In 
| > > principle,
| > > certainly const-ness *can* help optimizers one way or the other. Is 
| > > this just a
| > > current limitation? A design choice? Anything in the standard making 
| > > that
| > > tricky? I would like to know more.
| > 
| > 
| > int f(const int *a, int *b)
| > {
| >*b = 1;
| >return *a;
| > }
| > 
| > a and b can alias and there is no way around that at all because that is
| > what the C++ standard says.
| 
| In this case the compiler should warn because a could be declared "const int *
| const" and b could be declared "int * const".

It does not make any sense to require the compiler to give a warning
in that case. 

-- Gaby


[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread gdr at cs dot tamu dot edu


--- Comment #12 from gdr at cs dot tamu dot edu  2006-01-18 20:33 ---
Subject: Re:  want optional warning for non-constant declarations that could be
constant

"sigra at home dot se" <[EMAIL PROTECTED]> writes:

| --- Comment #8 from sigra at home dot se  2006-01-18 19:29 ---
| > On Jan 18, 2006, at 11:19 AM, pcarlini at suse dot de wrote:
| > 
| > > --- Comment #4 from pcarlini at suse dot de  2006-01-18 16:19 
| > > ---
| > > (In reply to comment #3)
| > >> const does nothing when it comes to local variables except for not 
| > >> letting you
| > >> touch it in other expressions.  It does nothing for optimizations or 
| > >> anything
| > >> else.
| > >
| > > This last point is not obvious at all, in my opinion. Why not? In 
| > > principle,
| > > certainly const-ness *can* help optimizers one way or the other. Is 
| > > this just a
| > > current limitation? A design choice? Anything in the standard making 
| > > that
| > > tricky? I would like to know more.
| > 
| > 
| > int f(const int *a, int *b)
| > {
| >*b = 1;
| >return *a;
| > }
| > 
| > a and b can alias and there is no way around that at all because that is
| > what the C++ standard says.
| 
| In this case the compiler should warn because a could be declared "const int
*
| const" and b could be declared "int * const".

It does not make any sense to require the compiler to give a warning
in that case. 

-- Gaby


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread sigra at home dot se


--- Comment #13 from sigra at home dot se  2006-01-18 20:41 ---
> It does not make any sense to require the compiler to give a warning
> in that case. 

Read the subject again: "optional"


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread sigra at home dot se


--- Comment #14 from sigra at home dot se  2006-01-18 20:49 ---
> Isn't this a task for lint-like tool?  GCC isn't such thing.

Are you sure? http://directory.fsf.org/GNU/gcc.html says: "GCC provides many
levels of source code error checking traditionally provided by other tools
(such as lint)"

Since GCC is the tool that is best at reading and understanding the sourcecode,
I assume that it is best suited for source code diagnosis. What tool are you
thinking of for C++?


-- 


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



[Bug fortran/18540] Jumping into blocks gives error rather than warning

2006-01-18 Thread tobi at gcc dot gnu dot org


--- Comment #18 from tobi at gcc dot gnu dot org  2006-01-18 20:54 ---
Subject: Bug 18540

Author: tobi
Date: Wed Jan 18 20:54:49 2006
New Revision: 109914

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109914
Log:
PR fortran/18540
PR fortran/18937
* gfortran.h (BBT_HEADER): Move definition up.
(gfc_st_label): Add BBT_HEADER, remove 'prev' and 'next'.
* io.c (format_asterisk): Adapt initializer.
* resolve.c (resolve_branch): Allow FORTRAN 66 cross-block GOTOs
as extension.
* symbol.c (compare_st_labels): New function.
(gfc_free_st_label, free_st_labels, gfc_get_st_label): Convert to
using balanced binary tree.
* decl.c (match_char_length, gfc_match_old_kind_spec): Do away
with 'cnt'.
(warn_unused_label): Adapt to binary tree.
* match.c (gfc_match_small_literal_int): Only set cnt if non-NULL.
* primary.c (match_kind_param): Do away with cnt.

Also converted the ChangeLog to use latin1 characters.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/io.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/primary.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c


-- 


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



[Bug fortran/18937] quadratic behaviour with many label "spaghetti" code

2006-01-18 Thread tobi at gcc dot gnu dot org


--- Comment #8 from tobi at gcc dot gnu dot org  2006-01-18 20:54 ---
Subject: Bug 18937

Author: tobi
Date: Wed Jan 18 20:54:49 2006
New Revision: 109914

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109914
Log:
PR fortran/18540
PR fortran/18937
* gfortran.h (BBT_HEADER): Move definition up.
(gfc_st_label): Add BBT_HEADER, remove 'prev' and 'next'.
* io.c (format_asterisk): Adapt initializer.
* resolve.c (resolve_branch): Allow FORTRAN 66 cross-block GOTOs
as extension.
* symbol.c (compare_st_labels): New function.
(gfc_free_st_label, free_st_labels, gfc_get_st_label): Convert to
using balanced binary tree.
* decl.c (match_char_length, gfc_match_old_kind_spec): Do away
with 'cnt'.
(warn_unused_label): Adapt to binary tree.
* match.c (gfc_match_small_literal_int): Only set cnt if non-NULL.
* primary.c (match_kind_param): Do away with cnt.

Also converted the ChangeLog to use latin1 characters.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/io.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/primary.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/symbol.c


-- 


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



[Bug fortran/18937] quadratic behaviour with many label "spaghetti" code

2006-01-18 Thread tobi at gcc dot gnu dot org


--- Comment #9 from tobi at gcc dot gnu dot org  2006-01-18 21:07 ---
The committed patch fixes only part of the problem, this is still a quadratic
bottleneck.


-- 


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



[Bug fortran/18540] Jumping into blocks gives error rather than warning

2006-01-18 Thread tobi at gcc dot gnu dot org


--- Comment #19 from tobi at gcc dot gnu dot org  2006-01-18 21:08 ---
Fixed on the mainline.  I will backport the cross-jumping part to 4.1.


-- 


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



[Bug c++/25849] New: 8 byte memory leak using cerr with libpthread linked in

2006-01-18 Thread loizeaux1 at hotmail dot com
If you link in libpthread with a program that uses cerr, you leak 8 bytes of
memory (determined through Purify).  I discovered this using a RHEL 3 WS box
and also had the same occur on a RHEL 4 AS box.  This will not occur when you
use cout or clog in place of cerr, or if libpthread is not linked in.

Granted, 8 bytes is a small leak, but it still is a memory leak.


> cat test.cpp
#include 

int main( int argc, char* argv[] )
{
   std::cerr << "This is a message" << std::endl;
   return 0;
}

> which purify
/usr/local/rational/releases/PurifyPlus.2003a.06.13.FixPack.0177/i386_linux2/bin/purify

> purify --version
Version 2003a.06.13 FixPack 0177 050331 Linux (32-bit)

> which g++
/app/gnu/gcc-4.0.1/bin/g++

> g++ -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /gnu/gcc-4.0.1-src/configure --prefix=/gnu/gcc-4.0.1
Thread model: posix
gcc version 4.0.1

> uname -a
Linux testbox 2.6.9-11.ELsmp #1 SMP Fri May 20 18:26:27 EDT 2005 i686 i686 i386
GNU/Linux

> purify g++ -o test test.cpp -lpthread
Purify 2003a.06.13 FixPack 0177 050331 Linux (32-bit) (c) Copyright IBM Corp.
1992, 2005 All rights reserved.
Instrumenting: crtbegin.o cctQmZeb.o
libgcc.a
crtend.o Linking

> test

[from PurifyPlus window]
Purify: Searching for all memory leaks...

Memory leaked: 8 bytes (100%); potentially leaked: 0 bytes (0%)

MLK: 8 bytes leaked at 0x80b4c10
   * This memory was allocated from:
 malloc [rtlib.o]
 __cxa_get_globals [eh_globals.cc:115]
 std::uncaught_exception( void) [eh_catch.cc:138]
 std::basic_ostream< char,std::char_traights< char>> & std::operator
<<>(std::basic_ostream< char,std::char_traits< char>>
&, char const *) [ostream:405]
 main   [ccz2Vq3m.o]
 __libc_start_main [libc.so.6]

Purify Heap Analysis (combining supressed and unsupressed blocks)
  BlocksBytes
  Leaked   18
  Potentially Leaked   00
  In-Use   00
  -
 Total Allocated   18



Along with the memory leak, Purify reported two categories of uninitialized
memory reads (UMR) that are normally suppressed.  I wouldn't usually report
these, but they seem to be related (I performed some mild editing).

UMR: Uninitialized memory read (2 times):
   * This is occurring while in thread -1224099488:
 __pthread_initialize_minimal [libpthread.so.0]
 call_initialize_minimal [libpthread.so.0]
 _init  [libpthread.so.0]
 _dl_init   []
 _dl_start_user []
   * Reading 4 bytes from 0xbfffdaac on the stack of thread -1224099488.
   * Address 0xbfffdaac is  168 bytes below frame pointer in function
__pthread_initialize_minimal.
   * Command-line: test

UMR: Uninitialized memory read (128 times):
   * This is occurring while in thread -1224099488:
 __gconv_transform_internal_ascii [libc.so.6]
 wctob  [libc.so.6]
 std::ctype< wchar_t>::_M_initialize_ctype( void)
[ctype_members.cc:246]
 std::ctype< wchar_t>::ctype( unsigned) [ctype.cc:91]
 std::locale::_Impl::_Impl( unsigned) [locale_init.cc:304]
 std::locale::_S_initialize_once( void) [locale_init.cc:143]
   * Reading 4 bytes from 0xbfffd904 on the stack of thread -1224099488.
   * Address 0xbfffd904 is   84 bytes below frame pointer in function
wctob.


-- 
   Summary: 8 byte memory leak using cerr with libpthread linked in
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: loizeaux1 at hotmail dot com


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



[Bug c++/25836] [3.4/4.0/4.1/4.2 Regression] G++ does not allow a conversion of templated types

2006-01-18 Thread janis at gcc dot gnu dot org


--- Comment #4 from janis at gcc dot gnu dot org  2006-01-18 21:24 ---
A regression hunt on powerpc-linux using the submitter's testcase identified
the following very large patch:

http://gcc.gnu.org/viewcvs?view=rev&rev=69130

r69130 | mmitchel | 2003-07-09 08:48:08 + (Wed, 09 Jul 2003)


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mmitchel at gcc dot gnu dot
   ||org


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



[Bug libstdc++/25849] 8 byte memory leak using cerr with libpthread linked in

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-18 21:26 ---
Can you first read:
http://gcc.gnu.org/onlinedocs/libstdc++/debug.html#mem


-- 


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



[Bug libstdc++/25849] 8 byte memory leak using cerr with libpthread linked in

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-18 21:30 ---
Also looking at the code:
  void* v = std::malloc(sizeof(__cxa_eh_globals));
  if (v == 0 || __gthread_setspecific(init._M_key, v) != 0)
std::terminate();

This is a false postive as we do free it in eh_globals_dtor.


-- 


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



[Bug target/24547] Branch cost of -Os is ignored

2006-01-18 Thread hjl at lucon dot org


--- Comment #2 from hjl at lucon dot org  2006-01-18 21:45 ---
4.2 is fixed by

http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01029.html


-- 


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



[Bug fortran/25850] New: gfortran - 8 testsuite failures on darwin

2006-01-18 Thread dir at lanl dot gov
I cannot find were anyone else has submitted this as a bug -


Test Run By dir on Wed Jan 18 13:21:27 2006
Native configuration is powerpc-apple-darwin8.4.0

=== gfortran tests ===

Schedule of variations:
unix

Running target unix
Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file
for target.
Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for
target.
Using /Users/dir/gfortran/gcc/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /Users/dir/gfortran/gcc/gcc/testsuite/gfortran.dg/dg.exp ...
FAIL: gfortran.dg/large_real_kind_2.F90 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 execution test
FAIL: gfortran.dg/large_real_kind_2.F90 execution test
Running /Users/dir/gfortran/gcc/gcc/testsuite/gfortran.dg/vect/vect.exp ...
Running
/Users/dir/gfortran/gcc/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
...
Running
/Users/dir/gfortran/gcc/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
...

=== gfortran Summary ===

# of expected passes11299
# of unexpected failures8
# of expected failures  7
# of unsupported tests  42
/Users/dir/gfortran/ibin/gcc/testsuite/gfortran/../../gfortran  version 4.2.0
20060118 (experimental)

make: [check-gfortran] Error 1 (ignored)
[dranta:~/gfortran/ibin/gcc] dir% gfortran --v
Using built-in specs.
Target: powerpc-apple-darwin8.4.0
Configured with: ../gcc/configure --prefix=/Users/dir/gfortran
--enable-languages=c,f95
Thread model: posix
gcc version 4.2.0 20060118 (experimental)


-- 
   Summary: gfortran - 8 testsuite failures on darwin
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dir at lanl dot gov
  GCC host triplet: powerpc-apple-darwin8.4.0


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



[Bug fortran/25850] gfortran - 8 testsuite failures on darwin

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-01-18 21:51 ---
Mine.  All mine.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   GCC host triplet|powerpc-apple-darwin8.4.0   |
 GCC target triplet||powerpc-apple-darwin8.4.0
   Last reconfirmed|-00-00 00:00:00 |2006-01-18 21:51:10
   date||


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



[Bug fortran/25850] gfortran - 8 testsuite failures on darwin

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-18 21:52 ---
Part of this will be fixed by the patch for PR 25477.  The other parts I
submitted but I need to reply to the comments.  There is two Fortran front-end
parts so I am going to keep this as the fortran front-end bug.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||25477


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



[Bug c++/22136] [4.1/4.2 regression] Rejects old-style using declaration

2006-01-18 Thread mmitchel at gcc dot gnu dot org


--- Comment #16 from mmitchel at gcc dot gnu dot org  2006-01-18 21:55 
---
I'm still wrestling with this PR.

As I suggested earlier, I turned off the caching of nested-name-specifiers
unless we're in the check_dependency_p case.  However, that causes
g++.dg/parse/operator2.C to fail, for essentially the opposite reason.

On:

template  B::C::operator typename B::Y::X() const { return
0;\
 }

we cache the check_dependency_p lookup for B::C, which is "typename
B::C".  As a result, we don't enter the scope of B::C when looking up
names in the type-specifier following the operator.

I think that we could fix that in cp_paser_conversion_function_id (by using
resolve_typename_type), but I'm afraid that it's not really safe to cache
either version of the nested-name-specifier lookup, and then return it for the
other case of check_dependency_p.

Still thinking.


-- 


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



[Bug target/23504] 22_locale/money_get/get/char/5.cc fails on ppc-darwin7. because libstdc++ believes long double returns works

2006-01-18 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-18 21:55 ---
I am going to mark this as depending on PR 25477 for now.  I am almost ready to
submit the patch for PR 25477 again.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||25477


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



[Bug c++/22136] [4.1/4.2 regression] Rejects old-style using declaration

2006-01-18 Thread mmitchel at gcc dot gnu dot org


--- Comment #17 from mmitchel at gcc dot gnu dot org  2006-01-18 22:25 
---
In retrospect, I wonder if we should be complaining about a using-declaration
in a template in the first place.  

For example, is:

  struct X { void f(); };

  template 
  struct S : public T {
using X::f;
  };

actually invalid? 

Both EDG and G++ complain about this (saying that X is not a base class of
S), but should that matter at this stage?


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread gdr at cs dot tamu dot edu


--- Comment #15 from gdr at cs dot tamu dot edu  2006-01-18 22:35 ---
Subject: Re:  want optional warning for non-constant declarations that could be
constant

"sigra at home dot se" <[EMAIL PROTECTED]> writes:

| > It does not make any sense to require the compiler to give a warning
| > in that case. 
| 
| Read the subject again: "optional"

That is beside the point.

-- Gaby


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread gdr at cs dot tamu dot edu


--- Comment #16 from gdr at cs dot tamu dot edu  2006-01-18 22:37 ---
Subject: Re:  want optional warning for non-constant declarations that could be
constant

"sigra at home dot se" <[EMAIL PROTECTED]> writes:

| > Isn't this a task for lint-like tool?  GCC isn't such thing.
| 
| Are you sure?

yes, there many lint stuff best handled in dedicated tools.

-- Gaby


-- 


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



[Bug middle-end/22275] [3.4/4.0/4.1/4.2 Regression] bitfield layout change (regression?)

2006-01-18 Thread mark at codesourcery dot com


--- Comment #29 from mark at codesourcery dot com  2006-01-18 23:00 ---
Subject: Re:  [3.4/4.0/4.1/4.2 Regression] bitfield
 layout change (regression?)

I think that we should do as follows.

Preserve the original value of maximum_field_alignment when doing
#pragma pack.  Then, for zero-width bitfields, we should align to the
minimum of the original maximum_field_alignment and the otherwise
natural alignment.

The difference between this and the last proposed patch is that I don't
think we should entirely ignore maximum_field_alignment for zero-width
bitfields; if "long long" as a field will only have (say) 2-byte
alignment on some embedded target where structure-packing is the
default, then a "long long : 0;" bitfield should only force 4-byte
alignment.

However, that's an abstract argument; I'm not actually sure what
existing practice was with older versions of GCC.

Again, in the abstract, I think the example in Comment #12 ought to have
size 8 on both IA32 and AMD64 architectures.  I can't see any good
justification for size 12, with a PCC_BITFIELD_TYPES_MATTER ABI.  And, I
think that the size of the structure with #pragma pack(1) ought to be
the same as with __attribute__((packed)).

So, my concern with the patch in Comment #12 is that it would ignore the
pre-set maximum_field_alignment on targets with default structure
packing; other than that, I think it looks fine.


-- 


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



[Bug middle-end/22275] [3.4/4.0/4.1/4.2 Regression] bitfield layout change (regression?)

2006-01-18 Thread steven at gcc dot gnu dot org


--- Comment #30 from steven at gcc dot gnu dot org  2006-01-18 23:08 ---
We should at least avoid introducing a third variant of how we lay out these
nasty zero-sized friends.  People actually use them.  For example Wine uses
them to enforce compatible alignment and data layout with MS Windows
datastructure.  Wine has a bunch of #ifdefs spread around in its sources to
make it work with the pre- and post-GCC 3.4 layout.  Adding a third would drive
those poor people nuts.


-- 


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread sigra at home dot se


--- Comment #17 from sigra at home dot se  2006-01-18 23:23 ---
There is some good advice at http://www.gotw.ca/publications/advice98.htm which
says that one should be const-correct and use const whenever possible. (But I
do not suggest using const for return values.) This feature request is intended
to help in that task.


-- 


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



[Bug middle-end/22275] [3.4/4.0/4.1/4.2 Regression] bitfield layout change (regression?)

2006-01-18 Thread mark at codesourcery dot com


--- Comment #31 from mark at codesourcery dot com  2006-01-18 23:28 ---
Subject: Re:  [3.4/4.0/4.1/4.2 Regression] bitfield
 layout change (regression?)

steven at gcc dot gnu dot org wrote:
> --- Comment #30 from steven at gcc dot gnu dot org  2006-01-18 23:08 
> ---
> We should at least avoid introducing a third variant of how we lay out these
> nasty zero-sized friends.  People actually use them.  For example Wine uses
> them to enforce compatible alignment and data layout with MS Windows
> datastructure.  Wine has a bunch of #ifdefs spread around in its sources to
> make it work with the pre- and post-GCC 3.4 layout.  Adding a third would 
> drive
> those poor people nuts.

I agree -- but I don't think we're talking about a third variant.
Michael's patch looks to me like it will restore the pre-3.4 behavior,
which everyone agrees makes more sense.  My issue with respect to
maximum_field_alignment doesn't really apply to pre-4.0 toolchains,
since they didn't have default structure packing for targets, AFAICT.


-- 


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



[Bug tree-optimization/23282] [4.0 Regression] wrong results at -O on x86

2006-01-18 Thread rakdver at gcc dot gnu dot org


--- Comment #15 from rakdver at gcc dot gnu dot org  2006-01-18 23:31 
---
Subject: Bug 23282

Author: rakdver
Date: Wed Jan 18 23:31:16 2006
New Revision: 109920

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109920
Log:
PR tree-optimization/23282
* tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs
correctly.

PR tree-optimization/23282
* gcc.c-torture/execute/pr23282.c: New test.


Added:
branches/gcc-4_0-branch/gcc/testsuite/gcc.c-torture/execute/pr23282.c
Modified:
branches/gcc-4_0-branch/gcc/ChangeLog
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog
branches/gcc-4_0-branch/gcc/tree-chrec.c


-- 


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



[Bug other/1] Test of new GCC GNATS db.

2006-01-18 Thread dharinih at yahoo dot com


--- Comment #7 from dharinih at yahoo dot com  2006-01-18 23:53 ---
I am trying to build a cross compiler for host i686-pc-cygwin and target
h8300-hms. I built binutils, bootstrap GCC and newlib successfully. ( using
binutils-2.16, newlib-1.14.0 and gcc-3.4.4. When I build the final gcc using
this configure command
configure target=h8300-hms prefix=/usr/local --enable-languages=c,c++
--with-newlib --with-headers=../newlib-1.14.0/newlib/libc/include 
I get an internal compile error after about half hour of compiling in
build_gcc/h8300-hms/h8300s/normal/libstdc++-v3/include/bits/locale_facets.tcc:702:internal
compile error: in extract_inst, at recog.c:2083.

I have tried to do the config without the --with-headers option and it always
gets internal compile error at the same place. 
Can someone help me get past this. I have tried different versions of gcc code
but always have some internal compile error at the last step.
Thanks
Dharini


-- 

dharinih at yahoo dot com changed:

   What|Removed |Added

 CC||dharinih at yahoo dot com


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



[Bug c++/25845] want optional warning for non-constant declarations that could be constant

2006-01-18 Thread gdr at cs dot tamu dot edu


--- Comment #18 from gdr at cs dot tamu dot edu  2006-01-19 00:09 ---
Subject: Re:  want optional warning for non-constant declarations that could be
constant

"sigra at home dot se" <[EMAIL PROTECTED]> writes:


| There is some good advice at

that precisely prooves my point: it is a coding style issue best
served by a deicated tool.  We plenty of coding stule rules out
there. 

-- Gaby


-- 


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



[Bug rtl-optimization/25654] [4.0/4.1/4.2 Regression] RTL alias analysis unprepared to handle stack slot sharing

2006-01-18 Thread hubicka at gcc dot gnu dot org


--- Comment #10 from hubicka at gcc dot gnu dot org  2006-01-19 00:14 
---
My understanding of C type based aliasing rules always was that char, as an
exception, might alias with everything.  Perhaps I lived in false belief for a
while, but at least -Wstrict-aliasing seems to think so:
ibm:~ # more t.c
char a[10];
short b[10];
main()
{
  *(int *)a=5;
  *(int *)b=5;
}
ibm:~ # gcc -O2 -Wstrict-aliasing t.c
t.c: In function main:
t.c:6: warning: dereferencing type-punned pointer will break strict-aliasing
rules


-- 


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



  1   2   >