Re: Boehm-gc performance data

2006-06-25 Thread Paulo J. Matos

On 23/06/06, Laurynas Biveinis [EMAIL PROTECTED] wrote:

I'm still waiting for the testsuite to complete (it's been running
just for about 24 hours so far). In the meanwhile I'd like to discuss
the first performance results, which I've put on the Wiki:

First number is GCC with Boehm's GC and the number in parentheses is
GCC with page collector.

combine.c: top mem usage: 52180k (13915k). GC execution time 0.66
(0.61) 4% (4%). User running time: 0m16 (0m14).



How are you collecting top mem usage?

Thanks,
--
Paulo Jorge Matos - pocm at sat inesc-id pt
Web: http://sat.inesc-id.pt/~pocm
Computer and Software Engineering
INESC-ID - SAT Group


Re: unable to detect exception model

2006-06-25 Thread Andrew Pinski


On Jun 24, 2006, at 6:58 AM, Andrew Pinski wrote:


I can reproduce this, something is miscompiling cc1plus.


If I revert:
2006-06-23  Richard Guenther  [EMAIL PROTECTED]

* ggc-page.c (init_ggc): Do not round up the  
extra_order_size_table

sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
alignment requests instead.  Add verification code.
Add struct tree_function_decl and struct tree_binfo size to
extra_order_size_table.  Add missing element to size_lookup
table.

Bootstrap works.


Thanks,
Andrew Pinski




Re: unable to detect exception model

2006-06-25 Thread Richard Guenther
On Sun, 25 Jun 2006, Andrew Pinski wrote:

 
 On Jun 24, 2006, at 6:58 AM, Andrew Pinski wrote:
 
 I can reproduce this, something is miscompiling cc1plus.
 
 If I revert:
 2006-06-23  Richard Guenther  [EMAIL PROTECTED]
 
* ggc-page.c (init_ggc): Do not round up the extra_order_size_table
sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
alignment requests instead.  Add verification code.
Add struct tree_function_decl and struct tree_binfo size to
extra_order_size_table.  Add missing element to size_lookup
table.
 
 Bootstrap works.

How does size_loopup look like?  And object_size_table?  Does

Index: ggc-page.c
===
--- ggc-page.c  (revision 114974)
+++ ggc-page.c  (working copy)
@@ -1574,8 +1574,9 @@ init_ggc (void)

   /* Verify we got everything right with respect to alignment requests.  
*/
   for (order = 1; order  512; ++order)
-gcc_assert (ffs (OBJECT_SIZE (size_lookup [order]))
-   = ffs (order | MAX_ALIGNMENT));
+gcc_assert ((ffs (OBJECT_SIZE (size_lookup [order]))
+= ffs (order | MAX_ALIGNMENT))
+order = OBJECT_SIZE (size_lookup [order]));

   G.depth_in_use = 0;
   G.depth_max = 10;

pass?  What is MAX_ALIGNMENT on ppc-darwin?  It's defined as

struct max_alignment {
  char c;
  union {
HOST_WIDEST_INT i;
long double d;
  } u;
};

/* The biggest alignment required.  */

#define MAX_ALIGNMENT (offsetof (struct max_alignment, u))


I would guess this exposes a latent GC problem, do you have a testcase
or a .o file that is miscompiled?  Does it reproduce with different
gc --parms?  Does ppc-darwin use the USING_MMAP variant?

It would be nice if you can track down this some more, as I do not
have access to ppc-darwin.

Richard.

--
Richard Guenther [EMAIL PROTECTED]
Novell / SUSE Labs


Re: unable to detect exception model

2006-06-25 Thread Daniel Jacobowitz
On Sun, Jun 25, 2006 at 07:59:14PM +0200, Richard Guenther wrote:
 pass?  What is MAX_ALIGNMENT on ppc-darwin?  It's defined as
 
 struct max_alignment {
   char c;
   union {
 HOST_WIDEST_INT i;
 long double d;
   } u;
 };
 
 /* The biggest alignment required.  */
 
 #define MAX_ALIGNMENT (offsetof (struct max_alignment, u))

I learned while working on the zone collector that there is at least
one platform where this doesn't work, because long double had an
alignment of eight on its own and four as a structure field.  It might
have been powerpc-darwin.

-- 
Daniel Jacobowitz
CodeSourcery


Re: unable to detect exception model

2006-06-25 Thread Andrew Pinski


On Jun 25, 2006, at 11:12 AM, Daniel Jacobowitz wrote:


I learned while working on the zone collector that there is at least
one platform where this doesn't work, because long double had an
alignment of eight on its own and four as a structure field.  It might
have been powerpc-darwin.


Maybe the struct should be rewritten like:

struct max_alignment {
  char c;
  union {
long double d;
HOST_WIDEST_INT i;
  } u;
};


To make sure the long double was first which is usually the cures the  
whole struct

alignment issues.

I will see if this fixes the issue but after I finish watching Dr. Who.

Thanks,
Andrew Pinski


Re: Boehm-gc performance data

2006-06-25 Thread Laurynas Biveinis

2006/6/25, Paulo J. Matos [EMAIL PROTECTED]:

 combine.c: top mem usage: 52180k (13915k). GC execution time 0.66
 (0.61) 4% (4%). User running time: 0m16 (0m14).


How are you collecting top mem usage?


Sorry, that's not the top mem usage, but rather peak GC allocated
bytes. Determining them is easy from -Q output.

--
Laurynas


Re: unable to detect exception model

2006-06-25 Thread Daniel Jacobowitz
On Sun, Jun 25, 2006 at 11:19:45AM -0700, Andrew Pinski wrote:
 Maybe the struct should be rewritten like:
 struct max_alignment {
   char c;
   union {
 long double d;
 HOST_WIDEST_INT i;
   } u;
 };
 
 To make sure the long double was first which is usually the cures the  
 whole struct
 alignment issues.

It's a union.  If that makes a difference the platform ABI is
hopelessly broken.

Anyway, I'm thinking of MAX_FIELD_ALIGNMENT or something like that.

-- 
Daniel Jacobowitz
CodeSourcery


Re: unable to detect exception model

2006-06-25 Thread Richard Guenther

On 6/25/06, Daniel Jacobowitz [EMAIL PROTECTED] wrote:

On Sun, Jun 25, 2006 at 07:59:14PM +0200, Richard Guenther wrote:
 pass?  What is MAX_ALIGNMENT on ppc-darwin?  It's defined as

 struct max_alignment {
   char c;
   union {
 HOST_WIDEST_INT i;
 long double d;
   } u;
 };

 /* The biggest alignment required.  */

 #define MAX_ALIGNMENT (offsetof (struct max_alignment, u))

I learned while working on the zone collector that there is at least
one platform where this doesn't work, because long double had an
alignment of eight on its own and four as a structure field.  It might
have been powerpc-darwin.


Though that particular part of ggc-page is the same before and after
the patch.  Of course we may now get MAX_ALIGNMENT alignment
where we got MAX_ALIGNMENT*2 before.

Richard.


Re: unable to detect exception model

2006-06-25 Thread Eric Botcazou
 It would be nice if you can track down this some more, as I do not
 have access to ppc-darwin.

And to SPARC/Solaris 32-bit? :-)

/opt/build/eric/gcc/./gcc/xgcc -B/opt/build/eric/gcc/./gcc/ 
-B/opt/build/eric/local/gcc/sparc-sun-solaris2.7/bin/ 
-B/opt/build/eric/local/gcc/sparc-sun-solaris2.7/lib/ 
-isystem /opt/build/eric/local/gcc/sparc-sun-solaris2.7/include 
-isystem /opt/build/eric/local/gcc/sparc-sun-solaris2.7/sys-include -O2 -g  
-DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition  -isystem ./include  -I. -I. -I/home/eric/svn/gcc/gcc 
-I/home/eric/svn/gcc/gcc/. -I/home/eric/svn/gcc/gcc/../include -I./../intl 
-I/home/eric/svn/gcc/gcc/../libcpp/include -I/opt/build/eric/local/include 
-I/opt/build/eric/local/include -I/home/eric/svn/gcc/gcc/../libdecnumber 
-I../libdecnumber  \
-c /home/eric/svn/gcc/gcc/config/sparc/gmon-sol2.c -o gmon.o
/home/eric/svn/gcc/gcc/config/sparc/gmon-sol2.c:1: internal compiler error: 
BusError
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
gmake[3]: *** [gmon.o] Error 1
gmake[3]: Leaving directory `/opt/build/eric/gcc/gcc'
gmake[2]: *** [all-stage2-gcc] Error 2
gmake[2]: Leaving directory `/opt/build/eric/gcc'
gmake[1]: *** [stage2-bubble] Error 2
gmake[1]: Leaving directory `/opt/build/eric/gcc'
gmake: *** [all] Error 2

Reverting your patch makes it go away too.  I'll try and look into it 
tomorrow.

-- 
Eric Botcazou


Re: unable to detect exception model

2006-06-25 Thread Richard Guenther

On 6/25/06, Eric Botcazou [EMAIL PROTECTED] wrote:

 It would be nice if you can track down this some more, as I do not
 have access to ppc-darwin.

And to SPARC/Solaris 32-bit? :-)


No ;)  But I verified that i386-apple-darwin still works.  Also ppc-aix still
works.


/opt/build/eric/gcc/./gcc/xgcc -B/opt/build/eric/gcc/./gcc/
-B/opt/build/eric/local/gcc/sparc-sun-solaris2.7/bin/
-B/opt/build/eric/local/gcc/sparc-sun-solaris2.7/lib/
-isystem /opt/build/eric/local/gcc/sparc-sun-solaris2.7/include
-isystem /opt/build/eric/local/gcc/sparc-sun-solaris2.7/sys-include -O2 -g
-DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -I. -I. -I/home/eric/svn/gcc/gcc
-I/home/eric/svn/gcc/gcc/. -I/home/eric/svn/gcc/gcc/../include -I./../intl
-I/home/eric/svn/gcc/gcc/../libcpp/include -I/opt/build/eric/local/include
-I/opt/build/eric/local/include -I/home/eric/svn/gcc/gcc/../libdecnumber
-I../libdecnumber  \
-c /home/eric/svn/gcc/gcc/config/sparc/gmon-sol2.c -o gmon.o
/home/eric/svn/gcc/gcc/config/sparc/gmon-sol2.c:1: internal compiler error:
BusError
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
gmake[3]: *** [gmon.o] Error 1
gmake[3]: Leaving directory `/opt/build/eric/gcc/gcc'
gmake[2]: *** [all-stage2-gcc] Error 2
gmake[2]: Leaving directory `/opt/build/eric/gcc'
gmake[1]: *** [stage2-bubble] Error 2
gmake[1]: Leaving directory `/opt/build/eric/gcc'
gmake: *** [all] Error 2

Reverting your patch makes it go away too.  I'll try and look into it
tomorrow.


At least this one looks easier to look at.  Is SPARC/Solaris a
strict alignment
target?

Richard.


Re: unable to detect exception model

2006-06-25 Thread Richard Guenther
On Sun, 25 Jun 2006, Eric Botcazou wrote:

  At least this one looks easier to look at.  Is SPARC/Solaris a
  strict alignment target?
 
 Yes, all SPARC targets are.

So, something obviously wrong with

struct max_alignment {
 char c;
 union {
   HOST_WIDEST_INT i;
   long double d;
 } u;
};

/* The biggest alignment required.  */

#define MAX_ALIGNMENT (offsetof (struct max_alignment, u))

for SPARC 32bit?

Richard.

--
Richard Guenther [EMAIL PROTECTED]
Novell / SUSE Labs


Re: unable to detect exception model

2006-06-25 Thread Eric Botcazou
 So, something obviously wrong with

 struct max_alignment {
  char c;
  union {
HOST_WIDEST_INT i;
long double d;
  } u;
 };

 /* The biggest alignment required.  */

 #define MAX_ALIGNMENT (offsetof (struct max_alignment, u))

 for SPARC 32bit?

I don't think so, the ABI says 8 in both cases.

Note that bootstrap doesn't fail on SPARC/Solaris 2.[56] and (presumably) 
SPARC/Linux, which have HOST_WIDE_INT == 32, whereas SPARC/Solaris 7+ have 
HOST_WIDE_INT == 64.  All are 32-bit compilers.

Bootstrap doesn't fail on SPARC64/Solaris 7+ either, for which the ABI says 16 
for the alignment in both cases.  They are 64-bit compilers.

-- 
Eric Botcazou


RE: RFC: __cxa_atexit for mingw32

2006-06-25 Thread Danny Smith
 From: Ranjit Mathew
 Sent: Sunday, June 25, 2006 1:28 PM
 Danny Smith wrote:
  Adding a real __cxa_atexit to mingw runtime is of course also
  possible, but I thought I'd attempt the easy options first.
 
 When you say runtime, do you mean libstdc++ or something like 
 libmingwex.a in mingw-runtime? If you mean the former, you can add 
 this in for GCC 4.2 and work on a real
 __cxa_atexit() for GCC 4.3, if you want.


A real __cxa_atexit solution needs to be integrated into the
mingw-runtime. The initialization and finalization of the at-exit
tables needs to be handled by mainCRTStartup/DllMainCRTStartup and the C
runtime functions _onexit, atexit and possibly dllonexit need to
rewritten as wrappers around cxa_atexit.  As it turns out, that is
fairly simple: eg.,  the version of __cxa_atexit and friends that is in
the STLPort library translate to mingw quite easily with a few minor
tweaks to accomodate the win32 API.  And  integrating atexit/_onexit
into cxa_atexit is facilitated by the fact that the msvcrt versions of
these functions are exported only as _imp__   prefixed indirect
references, so that we can avoid getting mixed up with MS version of
these functions.I have tested all that with a basic single-threaded
implementation and no problems.

But that won't happen before 4.2 is released.  I don't know how
difficult it will be  to convince other mingw developers that this idea
is a good thing: replace an ISO standard-conformant and perfectly
adequate  atexit function already supplied by OS vendor with a new
version, perhaps with some licensing strings attached.  I expect the
fake cxa_atexit hack I illustrated earlier would meet less resistance,
and that is why I considered it the easier option.

Me?  The __cxa_atexit behaviour is documented.  AFAICT, the
msvcrt-specific behaviour of the atexit and dllonexit functions is not,
and was 'discovered' by a lot of trial and error. So, today, I'd prefer
to implement a real __cxa_atexit and point users to the ABI specs.  

Thanks for replying to this thread, Ranjit.  We'll see if any other
mingw developers read this list.

Danny
 
 Thanks,
 Ranjit.
 




How can I remove articles posted under my name?

2006-06-25 Thread Alexander Verhaeghe
Hello,

As the title says, how can I remove articles posted
under my name Alexander Verhaeghe or e-mailaddress
alexanderverhaeghe at yahoo dot com

When I do a search in http://gcc.gnu.org/lists.html I
get 8 results which I would like to have removed,
espcially when they popup in the searchengines.

My next mail will be a list of e-mailaddresses that
don't work!


Regards,

Alexander Verhaeghe

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: How can I remove articles posted under my name?

2006-06-25 Thread Gerald Pfeifer
On Sun, 25 Jun 2006, Alexander Verhaeghe wrote:
 As the title says, how can I remove articles posted
 under my name Alexander Verhaeghe or e-mailaddress
 alexanderverhaeghe at yahoo dot com

You can't.

And by shot-gunning your request to 

  [EMAIL PROTECTED], 
  [EMAIL PROTECTED], 
  gcc@gcc.gnu.org, 
  [EMAIL PROTECTED] (which probably was ment to read gnu.org),
  [EMAIL PROTECTED], 
  [EMAIL PROTECTED], 
  [EMAIL PROTECTED], 
  [EMAIL PROTECTED], 
  [EMAIL PROTECTED]

you certainly aren't doing yourself a favor and, by the way, just 
generated another couple of hits in the archives.

Plus, even if we removed the message posted by you, there still
would me those where others responded and quoted from your original
message, and we definitely do not want to touch those.

Obviously, you have not bothered to read the footer we carefully put
on every single page at http://gcc.gnu.org, have you?

Gerald


Re: How can I remove articles posted under my name?

2006-06-25 Thread Steven Bosscher

On 6/26/06, Alexander Verhaeghe [EMAIL PROTECTED] wrote:

As the title says, how can I remove articles posted
under my name Alexander Verhaeghe or e-mailaddress
alexanderverhaeghe at yahoo dot com


You can not.

And it would not be very useful either, because all the lists you sent
mail to are archived in a lot more places than just gcc.gnu.org.

Sorry.

Gr.
Steven


Re: Boehm-gc performance data

2006-06-25 Thread Paulo J. Matos

On 25/06/06, Laurynas Biveinis [EMAIL PROTECTED] wrote:

2006/6/25, Paulo J. Matos [EMAIL PROTECTED]:
  combine.c: top mem usage: 52180k (13915k). GC execution time 0.66
  (0.61) 4% (4%). User running time: 0m16 (0m14).
 

 How are you collecting top mem usage?

Sorry, that's not the top mem usage, but rather peak GC allocated
bytes. Determining them is easy from -Q output.



Ah, ok!


--
Laurynas




--
Paulo Jorge Matos - pocm at sat inesc-id pt
Web: http://sat.inesc-id.pt/~pocm
Computer and Software Engineering
INESC-ID - SAT Group


Re: How can I remove articles posted under my name?

2006-06-25 Thread tobias . schlueter


[ cutting down the CC list ]

Alexander Verhaeghe [EMAIL PROTECTED] wrote on Mon, 26 Jun 2006:

As the title says, how can I remove articles posted
under my name Alexander Verhaeghe or e-mailaddress
alexanderverhaeghe at yahoo dot com

When I do a search in http://gcc.gnu.org/lists.html I
get 8 results which I would like to have removed,
espcially when they popup in the searchengines.


You've just added another 2 to that list.  Had you not misspelled  
gnu.org once that would have been three.  Needless to say that these 2  
will be reproduced on several other list archives, including gmane.org  
which you found before.


Please stop spamming the lists with requests to be removed from the  
list archives hosted on gcc.gnu.org and other, unrelated sites.  As  
other people have pointed out to you, this is not going to happen  
(reg. my previous answers, I might add that I wasn't aware that  
there's a policy in place against this, but it makes a lot of sense),  
and the lists themselves are the wrong place to ask for this.  If you  
don't want your address published, this originally happened a year  
ago, when you originally posted to the list and only turning back time  
can revert this fact.  If you don't want unfavorably looking posts  
appearing in a google search of your name, you've not done yourself a  
favor with today's series of posts.


Sorry,
- Tobi



This message was sent using IMP, the Internet Messaging Program.




Free as in Freedom

2006-06-25 Thread Alexander Verhaeghe
Free as in Freedom in
http://www.gnu.org/home.html#ContactInfo

You're not even able to remove a couple of messages,
so how free am I now?
[EMAIL PROTECTED] wanted $300 for removal!
How free am I now? You should be ashamed of
yourselves!

Not only privacy is not respected, [EMAIL PROTECTED]
also threatened that more hits would be generated in
the archives, [EMAIL PROTECTED] shouldn't do that,
it's against privacy in case you didn't realize!

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Question concerning shared libraries in non-standard locations

2006-06-25 Thread Paul Hilfinger

I have a situation (on Linux or Solaris, at least), in which I install
versions of GCC in non-standard directories (specifically, directories not
owned  operated by root).  With such an installation, when a GCC link
finds a definition of an external reference in a shared library that is
part of the .../lib subdirectory used by this installation, it treats the 
shared library as if it were also installed in one of the standard locations
known to the dynamic linker, and does NOT store the path to the directory
in which that library is found.  The result is that to run the linked
executable, one must either 

1. Add this non-standard directory to one's LD_LIBRARY_PATH, or
2. Remember to include the appropriate -W,l-R option or whatever in
   and every compilation.

For C programs, this is seldom an issue, although it can be if one uses
-shared-libgcc.  It's more problematic with G++, where a simple 
Hello World program that uses iostream requires this special treatment.

Of course, I could just install everything in a standard location, but I
keep several versions of GCC around, so that is not the best solution.

Besides which, as a DEFAULT behavior, this strikes me as odd---linking
against a standard shared library that the compiler (in principle)
KNOWS will likely be unavailable or incompatible at execution.  Of
course, it's easy to come up with cases where you really want to make
sure that the runtime link is satisfied from some standard location,
so the current behavior has to be supported, but isn't it a little odd
as a default?

Comments and instructions as to how to configure my local GCC builds to 
do what I want by default (which in this case means recording the path to
the non-standard library in the executables) welcome.  Thanks.

Paul Hilfinger


Re: Free as in Freedom

2006-06-25 Thread Jan-Benedict Glaw
On Sun, 2006-06-25 16:44:22 -0700, Alexander Verhaeghe [EMAIL PROTECTED] 
wrote:
 Not only privacy is not respected, [EMAIL PROTECTED]
 also threatened that more hits would be generated in
 the archives, [EMAIL PROTECTED] shouldn't do that,
 it's against privacy in case you didn't realize!

This is the internet. It's where people work together and share data.
If you want to do that in private, use a VPN. If you want to be in
private, just don't post emails to publically archived mailing lists.

That's not hard, but it's too late right now. You've done that
mistake and you cannot turn back time.

So please shut up now.

MfG, JBG

-- 
Jan-Benedict Glaw   [EMAIL PROTECTED]. +49-172-7608481 _ O _
Eine Freie Meinung in  einem Freien Kopf| Gegen Zensur | Gegen Krieg  _ _ O
 für einen Freien Staat voll Freier Bürger  | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH)  ~(NEW_COPYRIGHT_LAW | DRM | TCPA));


signature.asc
Description: Digital signature


Re: Free as in Freedom

2006-06-25 Thread Alexander Verhaeghe
Quote Jan-Benedict Glaw So please shut up now.

Quite friendly I must say, it's the german way I
suppose of handling things?

To Jan-Benedict Glaw I WON'T SHUT UP because of Free
as in Freedom!

--- Jan-Benedict Glaw [EMAIL PROTECTED] wrote:

 On Sun, 2006-06-25 16:44:22 -0700, Alexander
 Verhaeghe [EMAIL PROTECTED] wrote:
  Not only privacy is not respected,
 [EMAIL PROTECTED]
  also threatened that more hits would be generated
 in
  the archives, [EMAIL PROTECTED] shouldn't do
 that,
  it's against privacy in case you didn't realize!
 
 This is the internet. It's where people work
 together and share data.
 If you want to do that in private, use a VPN. If you
 want to be in
 private, just don't post emails to publically
 archived mailing lists.
 
 That's not hard, but it's too late right now. You've
 done that
 mistake and you cannot turn back time.
 
 So please shut up now.
 
 MfG, JBG
 
 -- 
 Jan-Benedict Glaw   [EMAIL PROTECTED].
 +49-172-7608481 _ O _
 Eine Freie Meinung in  einem Freien Kopf| Gegen
 Zensur | Gegen Krieg  _ _ O
  für einen Freien Staat voll Freier Bürger  | im
 Internet! |   im Irak!   O O O
 ret = do_actions((curr | FREE_SPEECH) 
 ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
 


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: RFC: __cxa_atexit for mingw32

2006-06-25 Thread Brian Dessent
Danny Smith wrote:

 is a good thing: replace an ISO standard-conformant and perfectly
 adequate  atexit function already supplied by OS vendor with a new
 version, perhaps with some licensing strings attached.  I expect the
 fake cxa_atexit hack I illustrated earlier would meet less resistance,
 and that is why I considered it the easier option.

This change would be contained in crt?.o  dllcrt?.o, no?  So that would
mean it would get statically linked, with no additional runtime
dependency.  Assuming it was licensed the same way as the rest of the
existing CRT startup code, I don't see how anyone could complain.  It
would give us proper __cxa_atexit support for essentially free.

Brian


Re: Free as in Freedom

2006-06-25 Thread Alexander Verhaeghe
Always threatening, you're even worse than
Microsoft...
Once again Free as in Freedom, how dare you to use
this? Please don't forget to mention that you want to
rip me off $300!

--- Robert Dewar [EMAIL PROTECTED] wrote:

 Alexander Verhaeghe wrote:
  Quote Jan-Benedict Glaw So please shut up now.
  
  Quite friendly I must say, it's the german way I
  suppose of handling things?
  
  To Jan-Benedict Glaw I WON'T SHUT UP because of
 Free
  as in Freedom!
 
 If I googled on your name and found this sort of
 absurd post, I would form conclusions right away.
 People will see these quotes for ever, they are
 not going away, they will follow you everywhere,
 is this what you want?
 
 Do you not understand that it is technically
 impossible
 to remove those posts, there are thousands of copies
 of
 this all over the net. By posting to this list, you
 gave consent to this massing reproduction of what
 you
 wrote, and it cannot be undone.
 
 Free as in freedom does not allow you to insist on
 other
 people removing your messages, and the idea that it
 violates privacy rules to refuse is absurd. On the
 contrary the operation of freedom here is that
 anyone
 anywhere has the ability and right to copy your
 posts,
 and thousands of people have already taken advantage
 of
 this permission that you gave by posting in the
 first place.
 
 


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: Free as in Freedom

2006-06-25 Thread Christopher Faylor
On Sun, Jun 25, 2006 at 05:02:41PM -0700, Alexander Verhaeghe wrote:
Quote Jan-Benedict Glaw So please shut up now.

Quite friendly I must say, it's the german way I suppose of handling
things?

To Jan-Benedict Glaw I WON'T SHUT UP because of Free as in Freedom!

However, you have been told quite clearly what the site policy is.  None
of the mailing lists at gcc.gnu.org are intended to be rant lists so you
really do have to stop sending this type of email since it is off-topic
for every list that you are using.

If you can't stop yourself, then steps will be taken to block you from
sending email here.


Re: Free as in Freedom

2006-06-25 Thread Jan-Benedict Glaw
On Sun, 2006-06-25 17:02:41 -0700, Alexander Verhaeghe [EMAIL PROTECTED] 
wrote:
 To Jan-Benedict Glaw I WON'T SHUT UP because of Free
 as in Freedom!

Ah, so your understanding of Freedom reads like:

   Okay guys, I've sent out some rude emails insulting you a bit about
   your fortran stuff and all. I've put that into publically archived
   mailing lists and I just ignored the fact of publically archived.
   Well, it seems to fuck up by bio and because of me being lame,
   please waste your time to search the archives for my name and drop
   them all, maybe even including replys etc.

My reading of Freedom is more like:

   Heya, your mailing list archive sux because you cannot easily find
   a people's attitude there. I've taken all the HTML stuff and made
   it useful. With a single click, you can now find out if a person is
   only a lame guy not reading sources or documentation, yelling about
   it's inabilities and not doing any community work.

See the difference? Freedom, as we see it, is the right to
participate, not the right to let others work for you. But you'll
learn that the other day.

MfG, JBG

-- 
Jan-Benedict Glaw   [EMAIL PROTECTED]. +49-172-7608481 _ O _
Eine Freie Meinung in  einem Freien Kopf| Gegen Zensur | Gegen Krieg  _ _ O
 für einen Freien Staat voll Freier Bürger  | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH)  ~(NEW_COPYRIGHT_LAW | DRM | TCPA));


signature.asc
Description: Digital signature


Re: Free as in Freedom

2006-06-25 Thread Steve Kargl
On Sun, Jun 25, 2006 at 05:16:37PM -0700, Alexander Verhaeghe wrote:
 Always threatening, you're even worse than
 Microsoft...
 Once again Free as in Freedom, how dare you to use
 this? Please don't forget to mention that you want to
 rip me off $300!
 

Alexander the email you requested removed at this link

http://blog.gmane.org/gmane.comp.gcc.fortran/day=20050926#

was written by me.  You have no right to ask for my post
to be removed.  In viewing the above link, you will find

On Sun, Sep 25, 2005 at 04:21:19PM -0700, Alexander Verhaeghe wrote:

There is no email address at that link.

It is however interesting to read your posts to Lahey and
Microsoft forums.  

I suspect your recent spat of postings here has earned
you many killfile entries.  

-- 
Steve


Re: Free as in Freedom

2006-06-25 Thread Alexander Verhaeghe
It is of course not a threat to point out that
anything you post here will be permanently
associated with your name for ever, and that
there is no way to undo this. This is just a
statement of fact.

There is always a way of undoing things, it's simply a
matter if you want to do so or not, and in this case
clearly not. I don't see any reason why this
conversation will be listed by just mailing a couple
e-mailaddresses which I contacted before numerous
times and no one responded for the simple reason they
don't want to. Just delete all e-mailaddresses and
state clearly that once posted it can not be undone. 

I'm almost sure that your practices are against the
laws of privacy. Tomorrow I will check this out, as a
matter of fact I already did. You have no right to
publish things without permission. If all this crap is
ever to be published, no one will believe, gnu.org is
simply making itself ridiculous by publishing this.

I just got another mail from Christopher Faylor, which
threatens to block me from sending mail, why not,
once again so much freedom...
There isn't even freedom of speech here.
Do I continue until I'm blocked?

--- Robert Dewar [EMAIL PROTECTED] wrote:

 I did not mean my message at all as a threat, but
 just as some helpful advice. Note that it was sent
 only to you, not to the list. It is normally not a
 good idea to post such private messages to a public
 list without permission (and may indeed violate
 copyright, though that's not clear). For sure it is
 a violation of netiquette, so you add that to your
 record here.
 
 I respond to the list here just to make it clear
 that I did not post the message to the list.
 
 It is of course not a threat to point out that
 anything you post here will be permanently
 associated with your name for ever, and that
 there is no way to undo this. This is just a
 statement of fact.
 
 In our modern day and age, people will often google
 a name to find out more about someone, and when they
 do that, all your old posts will appear. Again,
 that's
 not a threat, just a statement of a fact that should
 be clear to anyone posting on any list.
 
 Alexander Verhaeghe wrote:
  Go ahead threatening people, it's all what you
  accomplished so far! You say Are you really
 sure, I
  don't even have the chance to say yes or no, so
 much
  freedom!
  
  That e-mail of $300 I will keep just in case...
  
  --- Robert Dewar [EMAIL PROTECTED] wrote:
  
  Are you really sure you want the below message to
 be
  permanently associated with your name, it is now
 ..
  and this association can never be removed. I
 think
  you should think before posting any more messages
  that will follow you around.
 
  Alexander Verhaeghe wrote:
  Free as in Freedom in
  http://www.gnu.org/home.html#ContactInfo
 
  You're not even able to remove a couple of
  messages,
  so how free am I now?
  [EMAIL PROTECTED] wanted $300 for removal!
  How free am I now? You should be ashamed of
  yourselves!
 
  Not only privacy is not respected,
  [EMAIL PROTECTED]
  also threatened that more hits would be
 generated
  in
  the archives, [EMAIL PROTECTED] shouldn't do
  that,
  it's against privacy in case you didn't realize!
 
 
 __
  Do You Yahoo!?
  Tired of spam?  Yahoo! Mail has the best spam
  protection around 
  http://mail.yahoo.com 
 
 
  
  
  __
  Do You Yahoo!?
  Tired of spam?  Yahoo! Mail has the best spam
 protection around 
  http://mail.yahoo.com 
 
 
 


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: Free as in Freedom

2006-06-25 Thread Alexander Verhaeghe
Please tell me where I can read this spat of
postings so that I can evaluate them. I guess I have
to change emailaddress (not difficult) and name (more
difficult) after this stuff. I never typed so much in
a short time!

--- Steve Kargl [EMAIL PROTECTED]
wrote:

 On Sun, Jun 25, 2006 at 05:16:37PM -0700, Alexander
 Verhaeghe wrote:
  Always threatening, you're even worse than
  Microsoft...
  Once again Free as in Freedom, how dare you to
 use
  this? Please don't forget to mention that you want
 to
  rip me off $300!
  
 
 Alexander the email you requested removed at this
 link
 

http://blog.gmane.org/gmane.comp.gcc.fortran/day=20050926#
 
 was written by me.  You have no right to ask for my
 post
 to be removed.  In viewing the above link, you will
 find
 
 On Sun, Sep 25, 2005 at 04:21:19PM -0700, Alexander
 Verhaeghe wrote:
 
 There is no email address at that link.
 
 It is however interesting to read your posts to
 Lahey and
 Microsoft forums.  
 
 I suspect your recent spat of postings here has
 earned
 you many killfile entries.  
 
 -- 
 Steve
 


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: Free as in Freedom

2006-06-25 Thread Robert Dewar

Alexander Verhaeghe wrote:

Always threatening, you're even worse than
Microsoft...
Once again Free as in Freedom, how dare you to use
this? Please don't forget to mention that you want to
rip me off $300!


First of all, again you are quoting my private
messages.

Second, the $300 has nothing to do with me, though
I see no objection to people charging for work you
ask them to do on your behalf.

Third, can't you get it through your head that
no threats are involved here, just some very
basic statements of facts. You seem to be unaware
of these facts as was clear from your initial post.

This is certainly off-topic noise but on the other
hand perhaps it is instructive to any others
following this list who may be sharing the same
misconceptions as Alexander.

Anyway, I am killing this thread now, and apologies
to anyone annoyed by these messages. In both the
last two cases, I made the mistake of sending
private advice to Alexander, clearly something
that is not helpful in this situation.


--- Robert Dewar [EMAIL PROTECTED] wrote:


Alexander Verhaeghe wrote:

Quote Jan-Benedict Glaw So please shut up now.

Quite friendly I must say, it's the german way I
suppose of handling things?

To Jan-Benedict Glaw I WON'T SHUT UP because of

Free

as in Freedom!

If I googled on your name and found this sort of
absurd post, I would form conclusions right away.
People will see these quotes for ever, they are
not going away, they will follow you everywhere,
is this what you want?

Do you not understand that it is technically
impossible
to remove those posts, there are thousands of copies
of
this all over the net. By posting to this list, you
gave consent to this massing reproduction of what
you
wrote, and it cannot be undone.

Free as in freedom does not allow you to insist on
other
people removing your messages, and the idea that it
violates privacy rules to refuse is absurd. On the
contrary the operation of freedom here is that
anyone
anywhere has the ability and right to copy your
posts,
and thousands of people have already taken advantage
of
this permission that you gave by posting in the
first place.





__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 





Re: Free as in Freedom

2006-06-25 Thread Steve Kargl
On Sun, Jun 25, 2006 at 05:43:41PM -0700, Alexander Verhaeghe wrote:
 Please tell me where I can read this spat of
 postings so that I can evaluate them. I guess I have
 to change emailaddress (not difficult) and name (more
 difficult) after this stuff. I never typed so much in
 a short time!
 

Well, to start with you can go to 

http://gcc.gnu.org/ml/fortran/2006-06/

Look for post by Alexander Verhaeghe.  These posts will
soon be mirrored.  Your google hits are going up.

-- 
Steve


ADMINISTRIVIA about Re: Free as in Freedom

2006-06-25 Thread Christopher Faylor
I thought I should point out that this thread has hit the too many recipients
spam blocking rule at gcc.gnu.org so there are a number of messages from various
people (but mostly from Alexander) which are not making it to the mailing list.

cgf


Re: unable to detect exception model

2006-06-25 Thread Seongbae Park

On 6/25/06, Eric Botcazou [EMAIL PROTECTED] wrote:

 So, something obviously wrong with

 struct max_alignment {
  char c;
  union {
HOST_WIDEST_INT i;
long double d;
  } u;
 };

 /* The biggest alignment required.  */

 #define MAX_ALIGNMENT (offsetof (struct max_alignment, u))

 for SPARC 32bit?

I don't think so, the ABI says 8 in both cases.

Note that bootstrap doesn't fail on SPARC/Solaris 2.[56] and (presumably)
SPARC/Linux, which have HOST_WIDE_INT == 32, whereas SPARC/Solaris 7+ have
HOST_WIDE_INT == 64.  All are 32-bit compilers.

Bootstrap doesn't fail on SPARC64/Solaris 7+ either, for which the ABI says 16
for the alignment in both cases.  They are 64-bit compilers.


SPARC psABI3.0 (32bit version) defines long double as 8 byte aligned.
SCD4.2, 64bit version, defines long double as 16 byte aligned with some caveat
(which essentially says long double can be 8-byte aligned in some cases
- fortran common block case - but the compiler should assume
16-byte unless it can prove otherwise).
On 32bit ABI, there's also a possiblity of doubles being only 4-byte aligned
when a double is passed on the stack.

I don't know enough about gcc's gc to know whether the above can trip it over,
but the memory allocation (malloc and the likes) shouldn't be a
problem as long as
it returns 8-byte aligned block on 32bit and 16-byte aligned on 64bit.
--
#pragma ident Seongbae Park, compiler, http://seongbae.blogspot.com;


Re: Question concerning shared libraries in non-standard locations

2006-06-25 Thread Albert Chin
On Sun, Jun 25, 2006 at 07:47:52PM -0400, Paul Hilfinger wrote:
 
 I have a situation (on Linux or Solaris, at least), in which I
 install versions of GCC in non-standard directories (specifically,
 directories not owned  operated by root).  With such an
 installation, when a GCC link finds a definition of an external
 reference in a shared library that is part of the .../lib
 subdirectory used by this installation, it treats the shared library
 as if it were also installed in one of the standard locations known
 to the dynamic linker, and does NOT store the path to the directory
 in which that library is found.  The result is that to run the
 linked executable, one must either 

So you simply want the RPATH entry in the executable created by gcc
-o foo foo.c to contain an entry to locate libgcc.so and
libstdc++.so?

You can modify the specs file to _automatically_ add the -R/-Wl,-rpath
when linking. Below is a possible patch for the GCC 4.0.2 specs file
to accomplish it for Solaris. Linux is handled in a similar way.

-- 
albert chin ([EMAIL PROTECTED])

-- snip snip
--- specs.orig  Sun Jun 25 23:30:01 2006
+++ specs   Fri Oct 21 00:05:58 2005
@@ -173,6 +173,12 @@
 *link_arch:
 %{m32:%(link_arch32)} %{m64:%(link_arch64)} 
%{!m32:%{!m64:%(link_arch_default)}} 
 
+*rpath:
+-R[gcc library path]
+
+*rpath64:
+-R[gcc library path]/sparcv9
+
 *link_command:
-%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %{pie:} %X %{o*} 
%{A} %{d} %{e*} %{m} %{N} %{n} %{r}%{s} %{t} %{u*} %{x} %{z} %{Z} 
%{!A:%{!nostdlib:%{!nostartfiles:%S}}}%{static:} %{L*} %(mfwrap) 
%(link_libgcc) %o %(mflib)%{fprofile-arcs|fprofile-generate:-lgcov}
%{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}
+%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %{pie:} %X %{o*} 
%{A} %{d} %{e*} %{m} %{N} %{n} %{r}%{s} %{t} %{u*} %{x} %{z} %{Z} 
%{!A:%{!nostdlib:%{!nostartfiles:%S}}}%{static:} %{L*} %(mfwrap) 
%(link_libgcc) %o %(mflib)%{fprofile-arcs|fprofile-generate:-lgcov}
%{!nostdlib:%{!nodefaultlibs:%{!m64:%(rpath)} %{m64:%(rpath64)} 
%(link_gcc_c_sequence)}}%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}
 


[Bug middle-end/28160] New: Bogus size of array 'foo' is too large error with -mms-bitfields

2006-06-25 Thread kkojima at gcc dot gnu dot org
Several g++ tests in tmpdir-g++.dg-struct-layout-1 fail during
the compilation with the error message like

  error: size of array 'foo' is too large

with -mms-bitfields.  A reduced testcase is

typedef long int along __attribute__((aligned (32)));
struct S
{
  unsigned char a;
  along d:130;
  int e:66;
} A[1];

It looks the ms-bitfield code in stor-layout.c doesn't take
the bit field with excessive size into account and it makes
the negative remaining_in_alignment which causes the above
error.


-- 
   Summary: Bogus size of array 'foo' is too large error with -
mms-bitfields
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kkojima at gcc dot gnu dot org
 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=28160



[Bug middle-end/28161] New: Wrong bit field layout with -mms-bitfields

2006-06-25 Thread kkojima at gcc dot gnu dot org
Several g++ tests in tmpdir-g++.dg-struct-layout-1 fail with
the execution error.  A reduced testcase is

extern C void abort (void);

struct S
{
  long long d:23;
  int e:32;
  int f:32;
} a;

int main (void)
{
  a.e = -3;
  a.f = 1;
  if (a.e != -3)
abort ();
  return 0;
}

which shows that the current compiler allocates a.e and a.f in
an overlapped manner with -mms-bitfields.  With that option,
the 4.1 compiler allocates a field in the first 8-byte for a.d,
the next 4-byte for a.e and the another 4-byte for a.f, but 4.2
allocates 23-bit for a.d, the next 32-bit for a.e and the last
32-bit for a.f in the same 8-byte.


-- 
   Summary: Wrong bit field layout with -mms-bitfields
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kkojima at gcc dot gnu dot org
 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=28161



[Bug target/28150] ICE in reload_cse_simplify_operands, at postreload.c:394

2006-06-25 Thread pluto at agmk dot net


--- Comment #3 from pluto at agmk dot net  2006-06-25 08:47 ---
(In reply to comment #2)
 How did you configure GCC becase having TFmode there sounds like you 
 configured
 to have 128bit long double to be default.
 

$ gcc -v
Reading specs from /usr/lib/gcc/ppc-pld-linux/4.1.2/specs
Target: ppc-pld-linux
Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local
--libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info
--mandir=/usr/share/man --x-libraries=/usr/lib --enable-shared
--enable-threads=posix --enable-languages=c,c++,fortran,objc,obj-c++,ada,java
--enable-c99 --enable-long-long --disable-multilib --enable-nls
--disable-werror --with-gnu-as --with-gnu-ld --with-demangler-in-ld
--with-system-zlib --with-slibdir=/lib --without-system-libunwind
--enable-cmath --with-long-double-128 --enable-secureplt
--with-gxx-include-dir=/usr/include/c++/4.1.2 --disable-libstdcxx-pch
--enable-__cxa_atexit --enable-libstdcxx-allocator=new
--with-qt4dir=/usr/lib/qt4 --disable-libjava-multilib --enable-libgcj
--enable-libgcj-multifile --enable-libgcj-database --enable-gtk-cairo
--enable-java-awt=qt,gtk,xlib --enable-jni --enable-xmlj --enable-alsa
--enable-dssi ppc-pld-linux
Thread model: posix
gcc version 4.1.2 20060623 (prerelease) (PLD-Linux)

glibc-2.4, kernel-2.6


-- 


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



[Bug c/28162] New: ice on valid code

2006-06-25 Thread dcb314 at hotmail dot com
I just tried to compile the attached source code with compiler flag -O3.
GNU C compiler version 4.2 snapshot 20060624 said

[EMAIL PROTECTED]:~/gnu/42-20060617/bugs ~/gnu/42-20060624/results/bin/gcc -O3 
bug18.c
bug18.c: In function 'Speech_Encode_Frame_init':
bug18.c:24528: warning: passing argument 1 of 'Speech_Encode_Frame_exit' from
incompatible pointer type
bug18.c: In function 'ol_ltp':
bug18.c:19118: internal compiler error: in set_value_range, at tree-vrp.c:157
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
[EMAIL PROTECTED]:~/gnu/42-20060624/bugs

Preprocessed source code attached.  Flag -O3 required.


-- 
   Summary: ice on valid code
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dcb314 at hotmail dot com
  GCC host triplet: x86_64-suse


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



[Bug c/28162] ice on valid code

2006-06-25 Thread dcb314 at hotmail dot com


--- Comment #1 from dcb314 at hotmail dot com  2006-06-25 09:28 ---
Created an attachment (id=11744)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11744action=view)
C source code


-- 


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



[Bug c/28162] ice on valid code

2006-06-25 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-06-25 10:01 ---
min is not less than max:

(gdb) call debug_tree (min)
 integer_cst 0xa78f57b0 type integer_type 0xa7bf42e0 unsigned int constant
invariant 4294966724
(gdb) call debug_tree (max)
 integer_cst 0xa7be2498 type integer_type 0xa7bf433c long int constant
invariant 2147483647

but worse, their types don't match.  (I guess the former wants to be casted
to int)

#1  0x086124ff in set_value_range (vr=0xaff5a110, t=VR_RANGE, min=0xa78f57b0,
max=0xa7be2498, equiv=0x8a30dd8)
at /home/richard/src/trunk/gcc/tree-vrp.c:157
#2  0x08617d92 in adjust_range_with_scev (vr=0xaff5a110, loop=0x89f3980,
stmt=0xa7966774, var=0xa700a1e0)
at /home/richard/src/trunk/gcc/tree-vrp.c:2090
#3  0x0861e035 in vrp_visit_assignment (stmt=0xa7966774, output_p=0xaff5a278)
at /home/richard/src/trunk/gcc/tree-vrp.c:3457
#4  0x0861f9a0 in vrp_visit_stmt (stmt=0xa7966774, taken_edge_p=0xaff5a27c,
output_p=0xaff5a278) at /home/richard/src/trunk/gcc/tree-vrp.c:3850

(gdb) call debug_generic_expr (stmt)
D.23941_257 = p_max1D.23874_118 * 0fffc
 mult_expr 0xa7966798
type integer_type 0xa7bf42e0 unsigned int public unsigned SI
size integer_cst 0xa7be23f0 constant invariant 32
unit size integer_cst 0xa7be2180 constant invariant 4
align 32 symtab 0 alias set -1 precision 32 min integer_cst 0xa7be2468
0 max integer_cst 0xa7be2450 4294967295
pointer_to_this pointer_type 0xa7c94e60

arg 0 ssa_name 0xa7566e40
type integer_type 0xa7a5bcf0 Word32 sizes-gimplified public SI size
integer_cst 0xa7be23f0 32 unit size integer_cst 0xa7be2180 4
align 32 symtab 0 alias set -1 precision 32 min integer_cst
0xa7be2480 -2147483648 max integer_cst 0xa7be2498 2147483647
pointer_to_this pointer_type 0xa7a60678
var var_decl 0xa7897898 p_max1 def_stmt modify_expr 0xa794fbf4
version 118
arg 1 integer_cst 0xa79a1be8 type integer_type 0xa7bf42e0 unsigned int
constant invariant 4294967292

type mismatch in the MULT_EXPR (signed vs. unsigned).

ol_ltpD.6288::

;; basic block 10, loop depth 1, count 0
;; prev block 17, next block 11
;; pred:   67 (true,exec)
;; succ:   11 (true) 12 (false)
L24:;
p_max1_118 = ASSERT_EXPR p_max1_13, p_max1_13  19;
D.23941_257 = p_max1_118 * 0fffc;
D.23942_258 = (Float32 *) D.23941_257;
D.23943_259 = D.23942_258 + corr[143];
...


-- 


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



[Bug tree-optimization/28162] ICE in set_value_range, at tree-vrp.c:157

2006-06-25 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-06-25 10:30 ---
Reduced testcase, still needs -O3 (and checking enabled):

void Lag_max_wght(float corr[], long wght_flg)
{
 float t0, max;
 const float *ww;
 long i;
 if ( wght_flg  0 ) {
for ( i = 143; i = 20; i-- ) {
   t0 = corr[ - i] * *ww--;
   if ( t0 = max )
 max = t0;
}
 }
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-25 10:30:15
   date||


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



[Bug tree-optimization/27937] [4.2 Regression] Ada bootstrap failure on Solaris 10/x86

2006-06-25 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2006-06-25 10:58 ---
Is there a testcase for this bug that can be examined on more common
host/target systems?


-- 


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



[Bug c++/28051] [4.0/4.1/4.2 regression] ICE on invalid conversion operator

2006-06-25 Thread lmillward at gcc dot gnu dot org


--- Comment #3 from lmillward at gcc dot gnu dot org  2006-06-25 11:07 
---
Subject: Bug 28051

Author: lmillward
Date: Sun Jun 25 11:07:05 2006
New Revision: 114985

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114985
Log:
PR c++/28051
* mangle.c (mangle_conv_op_name_for_type): Check for
invalid types.
*name-lookup.c (push_class_level_binding): Robustify.
(do_class_using_decl): Return early if name is error_mark_node.


Added:
trunk/gcc/testsuite/g++.dg/template/using13.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/mangle.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/28051] [4.0/4.1 regression] ICE on invalid conversion operator

2006-06-25 Thread lmillward at gcc dot gnu dot org


--- Comment #4 from lmillward at gcc dot gnu dot org  2006-06-25 11:07 
---
Fixed on mainline.


-- 

lmillward at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.0/4.1/4.2 regression] ICE|[4.0/4.1 regression] ICE on
   |on invalid conversion   |invalid conversion operator
   |operator|


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



[Bug c++/28054] [4.2 regression] ICE with friend declaration of invalid bitfield

2006-06-25 Thread lmillward at gcc dot gnu dot org


--- Comment #1 from lmillward at gcc dot gnu dot org  2006-06-25 11:28 
---
Subject: Bug 28054

Author: lmillward
Date: Sun Jun 25 11:28:01 2006
New Revision: 114986

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114986
Log:
PR c++/28054
* decl2.c (grokbitfield): Remove check for grokdeclarator
returning NULL_TREE, instead check for error_mark_node
to indicate failure.
* decl.c (grokdeclarator): Adjust block comment.

* g++.dg/other/incomplete3.C: New test.


Added:
trunk/gcc/testsuite/g++.dg/other/incomplete3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/28054] [4.2 regression] ICE with friend declaration of invalid bitfield

2006-06-25 Thread lmillward at gcc dot gnu dot org


--- Comment #2 from lmillward at gcc dot gnu dot org  2006-06-25 11:28 
---
Fixed.


-- 

lmillward at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/28162] ICE in set_value_range, at tree-vrp.c:157

2006-06-25 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2006-06-25 12:02 ---
.003.original is already wrong:

t0 = *((float *) (i * 0fffc) + corr) * (float) *ww-- ;

we ask fold to fold (unsigned)-i * 4U

which continues to ask fold to fold i * -4U (buggy already), which is from

case MULT_EXPR:
  /* (-A) * (-B) - A * B  */
  if (TREE_CODE (arg0) == NEGATE_EXPR  negate_expr_p (arg1))
return fold_build2 (MULT_EXPR, type,
TREE_OPERAND (arg0, 0),
negate_expr (arg1));

it should use fold_convert () on the args.  The following fixes it:

Index: fold-const.c
===
--- fold-const.c(revision 114974)
+++ fold-const.c(working copy)
@@ -8866,12 +8866,12 @@ fold_binary (enum tree_code code, tree t
   /* (-A) * (-B) - A * B  */
   if (TREE_CODE (arg0) == NEGATE_EXPR  negate_expr_p (arg1))
return fold_build2 (MULT_EXPR, type,
-   TREE_OPERAND (arg0, 0),
-   negate_expr (arg1));
+   fold_convert (type, TREE_OPERAND (arg0, 0)),
+   fold_convert (type, negate_expr (arg1)));
   if (TREE_CODE (arg1) == NEGATE_EXPR  negate_expr_p (arg0))
return fold_build2 (MULT_EXPR, type,
-   negate_expr (arg0),
-   TREE_OPERAND (arg1, 0));
+   fold_convert (type, negate_expr (arg0)),
+   fold_convert (type, TREE_OPERAND (arg1, 0)));

   if (! FLOAT_TYPE_P (type))
{

(obvious, but has to wait until after the summit.)


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-06-25 10:30:15 |2006-06-25 12:02:00
   date||


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



[Bug fortran/28163] New: Calling libgfortran's copy_string is inefficient

2006-06-25 Thread fxcoudert at gcc dot gnu dot org
Currently, string assignments are done via calls to _gfortran_copy_string,
which is a simple wrapper around memmove/memset:

void
copy_string (GFC_INTEGER_4 destlen, char * dest,
 GFC_INTEGER_4 srclen, const char * src)
{
  if (srclen = destlen)
{
  /* This will truncate if too long.  */
  memmove (dest, src, destlen);
}
  else
{
  memmove (dest, src, srclen);
  /* Pad with spaces.  */
  memset (dest[srclen], ' ', destlen - srclen);
}
}


With this implementation, AERMOD (from polyhedron benchmark) spends most of its
time in calls to memmove/memset. If the above code is directly emitted by the
front-end, I measure on i686-linux a 27% improvement in execution time with the
following options:
  gfortran -march=pentium4 -ffast-math -funroll-loops -O3 aermod.f90


-- 
   Summary: Calling libgfortran's copy_string is inefficient
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org


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



[Bug fortran/28163] Calling libgfortran's copy_string is inefficient

2006-06-25 Thread fxcoudert at gcc dot gnu dot org


--- Comment #1 from fxcoudert at gcc dot gnu dot org  2006-06-25 12:31 
---
Created an attachment (id=11746)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11746action=view)
Patch described in the bug report


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |fxcoudert at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED


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



[Bug target/27827] gcc 4 produces worse x87 code on all platforms than gcc 3

2006-06-25 Thread whaley at cs dot utsa dot edu


--- Comment #17 from whaley at cs dot utsa dot edu  2006-06-25 13:17 ---
OK, thanks for the reply.  I will assume gcc 4 won't be fixed in the near
future.  My guess is this will make icc an easier compiler for users, which I
kind of hate, which is why I worked as much as I did on this report . . .

I hope you will consider adding the mmbench4s.tar.gz attachment above (the one
that runs both single and double precision) to the gcc regression tests. 
Notice that it caught this problem between 3 and 4, as well as a similar fp
performance drop between gcc 2 and 3 (bugzilla 4991).  The kernel here is
typical of those used in ATLAS, which is used by hundreds of thousands of
people worldwide.  I believe these kernels are also typical of pretty much any
register blocked fp code, so having them in the regression tests may help other
open source fp packages (eg, fftw, etc) as well.  Notice that closed-source
alternatives that ship binaries do not face this challenge, so that having the
compiler drop between releases gives them an advantage, and can drive HPC users
(where performance dictates everything) to proprietary solutions.

Thanks,
Clint


-- 


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



[Bug c++/28164] New: g++ core when init a struct

2006-06-25 Thread tiramisu dot xc at gmail dot com
using ACE 5.4.1
command line:g++ -I/usr/local/ACE_wrappers test.cpp
gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)
source:
#include ace/INET_Addr.h

struct ERR
{
ACE_INET_Addr err[10][2]; /// right: int err[10][2]; or ACE_INET_Addr [10];
};

ERR temp = {0};
int main()
{
return 0;
}


-- 
   Summary: g++ core when init a struct
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tiramisu dot xc at gmail dot com


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



[Bug c++/28164] g++ core when init a struct

2006-06-25 Thread tiramisu dot xc at gmail dot com


--- Comment #1 from tiramisu dot xc at gmail dot com  2006-06-25 13:38 
---
Created an attachment (id=11747)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11747action=view)
/tmp/cciuGwmP.out


-- 


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



[Bug fortran/27554] Strange assembler produced

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-06-25 15:11 ---
Subject: Bug 27554

Author: pault
Date: Sun Jun 25 15:11:02 2006
New Revision: 114987

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114987
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/elemental_result_1.f90
trunk/gcc/testsuite/gfortran.dg/forall_4.f90
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/impure_actual_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
trunk/gcc/testsuite/gfortran.dg/select_7.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25056] non-PURE function should not be a valid argument

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-06-25 15:11 ---
Subject: Bug 25056

Author: pault
Date: Sun Jun 25 15:11:02 2006
New Revision: 114987

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114987
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/elemental_result_1.f90
trunk/gcc/testsuite/gfortran.dg/forall_4.f90
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/impure_actual_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
trunk/gcc/testsuite/gfortran.dg/select_7.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/20874] elemental function ought to be scalar

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-06-25 15:11 ---
Subject: Bug 20874

Author: pault
Date: Sun Jun 25 15:11:02 2006
New Revision: 114987

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114987
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/elemental_result_1.f90
trunk/gcc/testsuite/gfortran.dg/forall_4.f90
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/impure_actual_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
trunk/gcc/testsuite/gfortran.dg/select_7.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25073] CASEs overlap

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2006-06-25 15:11 ---
Subject: Bug 25073

Author: pault
Date: Sun Jun 25 15:11:02 2006
New Revision: 114987

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114987
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/elemental_result_1.f90
trunk/gcc/testsuite/gfortran.dg/forall_4.f90
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/impure_actual_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
trunk/gcc/testsuite/gfortran.dg/select_7.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/20867] statement function args not given implicit type early enough

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-06-25 15:11 ---
Subject: Bug 20867

Author: pault
Date: Sun Jun 25 15:11:02 2006
New Revision: 114987

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114987
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/elemental_result_1.f90
trunk/gcc/testsuite/gfortran.dg/forall_4.f90
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/impure_actual_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
trunk/gcc/testsuite/gfortran.dg/select_7.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/28119] forall_stmt ; stmt gives an internal error

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2006-06-25 15:11 ---
Subject: Bug 28119

Author: pault
Date: Sun Jun 25 15:11:02 2006
New Revision: 114987

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114987
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/elemental_result_1.f90
trunk/gcc/testsuite/gfortran.dg/forall_4.f90
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/impure_actual_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
trunk/gcc/testsuite/gfortran.dg/select_7.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/22038] Forall with mask broken

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2006-06-25 15:11 ---
Subject: Bug 22038

Author: pault
Date: Sun Jun 25 15:11:02 2006
New Revision: 114987

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114987
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/elemental_result_1.f90
trunk/gcc/testsuite/gfortran.dg/forall_4.f90
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/impure_actual_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
trunk/gcc/testsuite/gfortran.dg/select_7.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25072] non PURE function used in For-All

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #8 from pault at gcc dot gnu dot org  2006-06-25 15:11 ---
Subject: Bug 25072

Author: pault
Date: Sun Jun 25 15:11:02 2006
New Revision: 114987

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114987
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
trunk/gcc/testsuite/gfortran.dg/elemental_result_1.f90
trunk/gcc/testsuite/gfortran.dg/forall_4.f90
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/impure_actual_1.f90
trunk/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
trunk/gcc/testsuite/gfortran.dg/select_7.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/26244] [4.2 Regression] FAIL: gcc.c-torture/execute/builtin-bitops-1.c execution, -O3 -fomit-frame-pointer -funroll-loops

2006-06-25 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #21 from dave at hiauly1 dot hia dot nrc dot ca  2006-06-25 
15:32 ---
Subject: Re:  [4.2 Regression] FAIL: gcc.c-torture/execute/builtin-bitops-1.c
execution,  -O3 -fomit-frame-pointer -funroll-loops

 I looked at the documentation for lshiftrt, but it doesn't say
 whether the shift amount range handled by the PA insn for variable
 shifts is ok or not.  On the otherhand, there's no obvious reason
 why we should need to support logical right shifts larger than 31
 bits and I have to wonder why the generated code does this.

I looked at this a bit more and I believe that this behavior is normal
when SHIFT_COUNT_TRUNCATED is defined.

The test doesn't fail with -fno-unroll-loops-all-loops.  It appears
to me that this is a loop unrolling rather than a loop invariant bug,
although I must admit it's not clear where things actually go wrong
because of the complexity of this operation.

I modified the testcase a bit to make debugging easier.  I've attached
the modified testcase and the dumps from loop2_unroll, loop2_done, web
and cse2.  The initialization of count in the block after code_label 21
definitely appears wrong after cse2.

I've also attached the final assembly code for reference.

Dave


--- Comment #22 from dave at hiauly1 dot hia dot nrc dot ca  2006-06-25 
15:32 ---
Created an attachment (id=11748)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11748action=view)


--- Comment #23 from dave at hiauly1 dot hia dot nrc dot ca  2006-06-25 
15:32 ---
Created an attachment (id=11749)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11749action=view)


--- Comment #24 from dave at hiauly1 dot hia dot nrc dot ca  2006-06-25 
15:32 ---
Created an attachment (id=11750)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11750action=view)


--- Comment #25 from dave at hiauly1 dot hia dot nrc dot ca  2006-06-25 
15:32 ---
Created an attachment (id=11751)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11751action=view)


--- Comment #26 from dave at hiauly1 dot hia dot nrc dot ca  2006-06-25 
15:32 ---
Created an attachment (id=11752)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11752action=view)


--- Comment #27 from dave at hiauly1 dot hia dot nrc dot ca  2006-06-25 
15:32 ---
Created an attachment (id=11753)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11753action=view)


-- 


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



[Bug tree-optimization/28162] [4.2 Regression] ICE in set_value_range, at tree-vrp.c:157

2006-06-25 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
Summary|ICE in set_value_range, at  |[4.2 Regression] ICE in
   |tree-vrp.c:157  |set_value_range, at tree-
   ||vrp.c:157
   Target Milestone|--- |4.2.0


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



[Bug c++/27821] [4.0/4.1 regression] ICE with invalid ptr-to-member

2006-06-25 Thread lmillward at gcc dot gnu dot org


--- Comment #4 from lmillward at gcc dot gnu dot org  2006-06-25 17:00 
---
Subject: Bug 27821

Author: lmillward
Date: Sun Jun 25 17:00:43 2006
New Revision: 114988

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114988
Log:
PR c++/27821
* decl.c (grokdeclarator): Return error_mark_node 
on invalid uses of the scope resolution operator.


Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/template/error22.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/decl.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/27821] [4.0/4.1 regression] ICE with invalid ptr-to-member

2006-06-25 Thread lmillward at gcc dot gnu dot org


--- Comment #5 from lmillward at gcc dot gnu dot org  2006-06-25 17:05 
---
Subject: Bug 27821

Author: lmillward
Date: Sun Jun 25 17:05:22 2006
New Revision: 114989

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114989
Log:
PR c++/27821
* decl.c (grokdeclarator): Return error_mark_node 
on invalid uses of the scope resolution operator.


Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/template/error22.C
Modified:
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/decl.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/27821] [4.0/4.1 regression] ICE with invalid ptr-to-member

2006-06-25 Thread lmillward at gcc dot gnu dot org


--- Comment #6 from lmillward at gcc dot gnu dot org  2006-06-25 17:06 
---
Fixed in 4.1.2 and 4.0.4.


-- 

lmillward at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/28151] [4.1/4.2 Regression] ICE with complex math

2006-06-25 Thread ebotcazou at gcc dot gnu dot org


--- Comment #10 from ebotcazou at gcc dot gnu dot org  2006-06-25 17:16 
---
Subject: Bug 28151

Author: ebotcazou
Date: Sun Jun 25 17:16:25 2006
New Revision: 114992

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114992
Log:
PR middle-end/28151
* fold-const.c (const_binop): Be prepared for self returning zero.
Simplify code handling complex values.


Added:
trunk/gcc/testsuite/gcc.c-torture/compile/20060625-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/28151] [4.1/4.2 Regression] ICE with complex math

2006-06-25 Thread ebotcazou at gcc dot gnu dot org


--- Comment #11 from ebotcazou at gcc dot gnu dot org  2006-06-25 17:18 
---
Subject: Bug 28151

Author: ebotcazou
Date: Sun Jun 25 17:18:00 2006
New Revision: 114993

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114993
Log:
PR middle-end/28151
* fold-const.c (const_binop): Be prepared for self returning zero.
Simplify code handling complex values.


Added:
branches/gcc-4_1-branch/gcc/testsuite/gcc.c-torture/compile/20060625-1.c
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/fold-const.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/28151] [4.1/4.2 Regression] ICE with complex math

2006-06-25 Thread ebotcazou at gcc dot gnu dot org


--- Comment #12 from ebotcazou at gcc dot gnu dot org  2006-06-25 17:19 
---
Fixed everywhere.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/25056] non-PURE function should not be a valid argument

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-06-25 18:08 ---
Subject: Bug 25056

Author: pault
Date: Sun Jun 25 18:08:13 2006
New Revision: 114994

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114994
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_result_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_4.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/impure_actual_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/select_7.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/interface.c
branches/gcc-4_1-branch/gcc/fortran/match.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/20874] elemental function ought to be scalar

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2006-06-25 18:08 ---
Subject: Bug 20874

Author: pault
Date: Sun Jun 25 18:08:13 2006
New Revision: 114994

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114994
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_result_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_4.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/impure_actual_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/select_7.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/interface.c
branches/gcc-4_1-branch/gcc/fortran/match.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/27554] Strange assembler produced

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-06-25 18:08 ---
Subject: Bug 27554

Author: pault
Date: Sun Jun 25 18:08:13 2006
New Revision: 114994

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114994
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_result_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_4.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/impure_actual_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/select_7.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/interface.c
branches/gcc-4_1-branch/gcc/fortran/match.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/20867] statement function args not given implicit type early enough

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-06-25 18:08 ---
Subject: Bug 20867

Author: pault
Date: Sun Jun 25 18:08:13 2006
New Revision: 114994

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114994
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_result_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_4.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/impure_actual_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/select_7.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/interface.c
branches/gcc-4_1-branch/gcc/fortran/match.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25073] CASEs overlap

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #11 from pault at gcc dot gnu dot org  2006-06-25 18:08 ---
Subject: Bug 25073

Author: pault
Date: Sun Jun 25 18:08:13 2006
New Revision: 114994

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114994
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_result_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_4.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/impure_actual_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/select_7.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/interface.c
branches/gcc-4_1-branch/gcc/fortran/match.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/28119] forall_stmt ; stmt gives an internal error

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-06-25 18:08 ---
Subject: Bug 28119

Author: pault
Date: Sun Jun 25 18:08:13 2006
New Revision: 114994

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114994
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_result_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_4.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/impure_actual_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/select_7.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/interface.c
branches/gcc-4_1-branch/gcc/fortran/match.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/22038] Forall with mask broken

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2006-06-25 18:08 ---
Subject: Bug 22038

Author: pault
Date: Sun Jun 25 18:08:13 2006
New Revision: 114994

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114994
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_result_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_4.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/impure_actual_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/select_7.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/interface.c
branches/gcc-4_1-branch/gcc/fortran/match.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25072] non PURE function used in For-All

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2006-06-25 18:08 ---
Subject: Bug 25072

Author: pault
Date: Sun Jun 25 18:08:13 2006
New Revision: 114994

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=114994
Log:
2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/25056
* interface.c (compare_actual_formal): Signal an error if the formal
argument is a pure procedure and the actual is not pure.

PR fortran/27554
* resolve.c (resolve_actual_arglist): If the type of procedure
passed as an actual argument is not already declared, see if it is
an intrinsic.

PR fortran/25073
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
keep track of  the appearance of constant logical case expressions.
Signal an error is either value appears more than once.

PR fortran/20874
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
function is not scalar valued.

PR fortran/20867
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.

PR fortran/22038
* match.c (match_forall_iterator): Mark new variables as
FL_UNKNOWN if the match fails.

PR fortran/28119
* match.c (gfc_match_forall): Remove extraneous call to
gfc_match_eos.

PR fortran/25072
* resolve.c (resolve_code, resolve_function): Rework
forall_flag scheme so that it is set and has a value of
2, when the code-expr (ie. the forall mask) is resolved.
This is used to change block to mask in the non-PURE
error message.


2006-06-25  Paul Thomas  [EMAIL PROTECTED]

PR fortran/20867
* gfortran.dg/stfunc_3.f90: New test.

PR fortran/25056
* gfortran.dg/impure_actual_1.f90: New test.

PR fortran/20874
* gfortran.dg/elemental_result_1.f90: New test.

PR fortran/25073
* gfortran.dg/select_7.f90: New test.

PR fortran/27554
* intrinsic_actual_1.f: New test.

PR fortran/22038
PR fortran/28119
* gfortran.dg/forall_4.f90: New test.

PR fortran/25072
* gfortran.dg/forall_5.f90: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_result_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_4.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_5.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/impure_actual_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_1.f
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/select_7.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/stfunc_3.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/fortran/interface.c
branches/gcc-4_1-branch/gcc/fortran/match.c
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/25056] non-PURE function should not be a valid argument

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-06-25 18:09 ---
Fixed on trunk and 4.1

Paul


-- 

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=25056



[Bug fortran/20867] statement function args not given implicit type early enough

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-06-25 18:10 ---
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=20867



[Bug fortran/20874] elemental function ought to be scalar

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #7 from pault at gcc dot gnu dot org  2006-06-25 18:11 ---
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=20874



[Bug fortran/25073] CASEs overlap

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #12 from pault at gcc dot gnu dot org  2006-06-25 18:11 ---
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=25073



[Bug fortran/27554] Strange assembler produced

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2006-06-25 18:12 ---
Fixed on trunk and 4.1

Paul


-- 

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=27554



[Bug fortran/22038] Forall with mask broken

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #11 from pault at gcc dot gnu dot org  2006-06-25 18:12 ---
Fixed on trunk and 4.1

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/28119] forall_stmt ; stmt gives an internal error

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-06-25 18:13 ---
Fixed on trunk and 4.1

Paul


-- 

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=28119



[Bug fortran/25072] non PURE function used in For-All

2006-06-25 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2006-06-25 18:13 ---
Fixed on trunk and 4.1

Paul


-- 

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=25072



[Bug c++/28164] g++ core when init a struct

2006-06-25 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-06-25 19:55 ---
Fixed in 4.0.0


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
   Keywords||ice-on-valid-code
 Resolution||FIXED
   Target Milestone|--- |4.0.0


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



[Bug target/27827] gcc 4 produces worse x87 code on all platforms than gcc 3

2006-06-25 Thread rguenth at gcc dot gnu dot org


--- Comment #18 from rguenth at gcc dot gnu dot org  2006-06-25 20:05 
---
Unfortunately we don't have infrastructure for performance regression tests. 
Btw. did you check what happens if you do not unroll the innermost loop
manually but let -funroll-loops do it?  For me the performance is the same (but
I may have screwed up removing the unrolling).


-- 


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



[Bug middle-end/27950] [4.2 regression] undefined reference when compiling valgrind 3.2.0

2006-06-25 Thread steven at gcc dot gnu dot org


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-25 23:05:26
   date||


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



[Bug middle-end/27889] [4.1/4.2 Regression] ICE on complex assignment in nested function

2006-06-25 Thread roger at eyesopen dot com


--- Comment #14 from roger at eyesopen dot com  2006-06-26 00:24 ---
The problem appears to be that DECL_COMPLEX_GIMPLE_REG_P is not getting set on
the declarations correctly.  The VAR_DECLs that are operands to the additions
don't have DECL_COMPLEX_GIMPLE_REG_P set, so fail the is_gimple_val check in
verify_stmts.


-- 


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



[Bug target/27827] gcc 4 produces worse x87 code on all platforms than gcc 3

2006-06-25 Thread whaley at cs dot utsa dot edu


--- Comment #19 from whaley at cs dot utsa dot edu  2006-06-26 00:55 ---
Thanks for the info.  I'm sorry to hear that no performance regression tests
are done, but I guess it kind of explains why these problems reoccur :)

As to not unrolling, the fully unrolled case is almost always commandingly
better whenever I've looked at it.  After your note, I just tried on my P4,
using ATLAS's  P4 kernel, and I get (ku is inner loop unrolling, and nb=40, so
40 is fully unrolled):
  GCC 4 ku=1  : 1.65Gflop
  GCC 4 ku=40 : 1.84Gflop
  Gcc 3 ku=1  : 1.90Gflop
  Gcc 3 ku=40:  2.19Gflop

This is throwing the -funroll-loops flag.

BTW, gcc 4 w/o the -funroll-loops (ku=1) is indeed slower, at roughly 1.54 . .
.

Anyway, I've never found the performance of gcc ku=1 competitive with ku=fully
unrolled on any machine.  Even in assembly, I have to fully unroll the inner
loop to get near peak on all intel machines.  On the Opteron, you can get
within 5% or so with a rolled loop in assembly, but I've not gotten a C code to
do that.I think the gcc unrolling probably defaults to something like 4 or 8
(guess from performance, not verified): unrolling all the way (the loop is over
a compile-time constant) is the way to go . . .

When you said competitive, did you mean that gcc 4 ku=1 was competitive with
gcc 4 ku=40 or gcc 3 ku=1?  If the latter, I find it hard to believe unless you
use SSE for gcc 4 and something unexpected happens.  Even so, if you are using
SSE try it with the single precision kernel, where SSE cannot compete with the
x87 unit (even the broken one in gcc 4). 

Thanks,
Clint


-- 


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



[Bug preprocessor/28165] New: _Pragma GCC system_header broken

2006-06-25 Thread sabre at nondot dot org
In a main translation unit, this:

#pragma GCC system_header

results in this warning:
warning: #pragma system_header ignored outside include file

However, this doesn't:
_Pragma (GCC system_header)

In fact, this causes GCC to emit a line marker switching the main translation
unit to look like a system header.

-Chris


-- 
   Summary: _Pragma GCC system_header broken
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sabre at nondot dot org


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



[Bug c/28166] New: internal compiler error when -finstrument-functions on an inline function.

2006-06-25 Thread murdo at catapult dot com
Internal compiler error when compiling an inline static function with
-finstrument-functions and -finline-functions, even if the function has the
no_instrument_function attribute.

No error occurs if inlining is turned off or an addressable version of the
function is provided with -fkeep-inline-functions


-- 
   Summary: internal compiler error when -finstrument-functions on
an inline function.
   Product: gcc
   Version: 3.4.3
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: murdo at catapult dot com


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



[Bug c/28166] internal compiler error when -finstrument-functions on an inline function.

2006-06-25 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-06-26 02:42 ---
This was fixed in 4.0.0 and this is also a dup of bug 16780.

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


-- 

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=28166



[Bug c/16780] [3.4 regression] ICE with -finstrument-functions -funit-at-a-time -finline -finline-functions

2006-06-25 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-06-26 02:42 ---
*** Bug 28166 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||murdo at catapult dot com


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



[Bug c/28166] internal compiler error when -finstrument-functions on an inline function.

2006-06-25 Thread murdo at catapult dot com


--- Comment #2 from murdo at catapult dot com  2006-06-26 02:43 ---
Created an attachment (id=11754)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11754action=view)
Minimum failing case plus gcc version, command, output and .i file


-- 


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