[Bug fortran/57749] -ffpe-trap=zero or invalid produces SIGFPE on complex zero ** 1e0

2013-06-29 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749

--- Comment #2 from Vittorio Zecca  ---
I believe -O0 is the default optimization level, so it is important.

Of course the code I sent you is a fragment from a much larger program,
kind of c**x with c complex and x real. It is not possible to make x
into an integer.

When x is zero and y is real, x**y is singular for y<=0, right?

Also, I do not understand why I get SIGFPE on either zero or invalid
-ffpe-trap suboption,
but this is a lesser issue.


[Bug target/57754] Loongson 3A is MIPS64R2-compatible

2013-06-29 Thread root at heiher dot info
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57754

--- Comment #1 from Heiher  ---
Created attachment 30409
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30409&action=edit
Patch


[Bug fortran/57749] -ffpe-trap=zero or invalid produces SIGFPE on complex zero ** 1e0

2013-06-29 Thread anlauf at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749

--- Comment #3 from Harald Anlauf  ---
(In reply to Vittorio Zecca from comment #2)
> I believe -O0 is the default optimization level, so it is important.
> 
> Of course the code I sent you is a fragment from a much larger program,
> kind of c**x with c complex and x real. It is not possible to make x
> into an integer.
> 
> When x is zero and y is real, x**y is singular for y<=0, right?

I think you are missing the intricacies of complex arithmetics.

x**y = exp (y * log(x)) has an *essential singularity* at x=0,
which is the starting point of a branch cut (usually the negative
real axis).  See also cpow(3).

The man page for pow(3) covers only real arithmetics and does not apply.

> Also, I do not understand why I get SIGFPE on either zero or invalid
> -ffpe-trap suboption,
> but this is a lesser issue.

A quick search did not turn up any result whether IEEE specifies
a defined behavior for your case.  Maybe you are more successful.
I also could not find anything in the Fortran standard.


[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread harald at gigawatt dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714

Harald van Dijk  changed:

   What|Removed |Added

 CC||harald at gigawatt dot nl

--- Comment #11 from Harald van Dijk  ---
(In reply to Manuel López-Ibáñez from comment #9)
> It would be an improvement if it ignored the \ between valid tokens 
> boundaries even if there is no whitespace,

Since the GCC documentation explicitly documents that no whitespace is inserted
except when necessary, as noted by David in comment #3, removing the backslash
in your example,

int foo(){\
return 0;}

would be invalid, as there was no whitespace between { and return in the
original code, and there would be after removing the backslash. It would be
valid as far as the C and C++ standards are concerned, but invalid if you also
include the documented extensions of GCC.

Could you either not suggest that the current behaviour is a bug (even if it is
a minor one) in the FAQ, or change the documentation so that it is unspecified
what that code preprocesses to?

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714

--- Comment #12 from Manuel López-Ibáñez  ---
(In reply to Harald van Dijk from comment #11)
> Could you either not suggest that the current behaviour is a bug (even if it
> is a minor one) in the FAQ, or change the documentation so that it is
> unspecified what that code preprocesses to?

Good observation. Feel free to edit the wiki to match the documentation.
Changing the documentation is less trivial, but if you think that is a better
option, you could submit a patch.

[Bug fortran/57749] -ffpe-trap=zero or invalid produces SIGFPE on complex zero ** 1e0

2013-06-29 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749

--- Comment #4 from Vittorio Zecca  ---
I am happy to refresh my complex analysis study of long ago.
The singularity of log(x) in zero is not essential.
Essential singularity means the Laurent seriesis infinite in both
directions?
z**-k and z**+k  roughly, but log(z) Laurent series is infinite only for
z**+k.
I hope to remember correctly.
But exp(y*log(x)) may well be essential, however.
Anyway I am not sure this is an essential (forgive the pun) reason to raise
an exception

Also I do not understand the different behaviour with different levels of
optimization,
and I confirm the a.out executable runs fine under valgrind.
And the code runs fine with Intel ifort.
And I really do not see how complex zero raised to a positive power should
raise an exception.


2013/6/29 anlauf at gmx dot de 

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749
>
> --- Comment #3 from Harald Anlauf  ---
> (In reply to Vittorio Zecca from comment #2)
> > I believe -O0 is the default optimization level, so it is important.
> >
> > Of course the code I sent you is a fragment from a much larger program,
> > kind of c**x with c complex and x real. It is not possible to make x
> > into an integer.
> >
> > When x is zero and y is real, x**y is singular for y<=0, right?
>
> I think you are missing the intricacies of complex arithmetics.
>
> x**y = exp (y * log(x)) has an *essential singularity* at x=0,
> which is the starting point of a branch cut (usually the negative
> real axis).  See also cpow(3).
>
> The man page for pow(3) covers only real arithmetics and does not apply.
>
> > Also, I do not understand why I get SIGFPE on either zero or invalid
> > -ffpe-trap suboption,
> > but this is a lesser issue.
>
> A quick search did not turn up any result whether IEEE specifies
> a defined behavior for your case.  Maybe you are more successful.
> I also could not find anything in the Fortran standard.
>
> --
> You are receiving this mail because:
> You reported the bug.
>


[Bug c++/57699] Disable empty parameter list misinterpretation in libstdc++ headers when !defined(NO_IMPLICIT_EXTERN_C)

2013-06-29 Thread bernd.edlinger at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57699

Bernd Edlinger  changed:

   What|Removed |Added

 CC||bernd.edlinger at hotmail dot 
de

--- Comment #3 from Bernd Edlinger  ---
The eCos libc headers are 100% C++ compatible,
in fact the whole system is based on C++.

Is this NO_IMPLICIT_EXTERN_C define set by the
configure script? Should I make sure that the
configure script sets NO_IMPLICIT_EXTERN_C?


[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread harald at gigawatt dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714

--- Comment #13 from Harald van Dijk  ---
Sure. I have no strong preference on the matter, and have changed the wiki.


[Bug fortran/57749] -ffpe-trap=zero or invalid produces SIGFPE on complex zero ** 1e0

2013-06-29 Thread anlauf at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749

--- Comment #5 from Harald Anlauf  ---
(In reply to Vittorio Zecca from comment #4)
> I am happy to refresh my complex analysis study of long ago.
> The singularity of log(x) in zero is not essential.

Right.

> Essential singularity means the Laurent seriesis infinite in both
> directions?
> z**-k and z**+k  roughly, but log(z) Laurent series is infinite only for
> z**+k.
> I hope to remember correctly.
> But exp(y*log(x)) may well be essential, however.

Yes, since exp(z) has an essential singularity at complex infinity.

> Anyway I am not sure this is an essential (forgive the pun) reason to raise
> an exception

So what should the correct result be?

> Also I do not understand the different behaviour with different levels of
> optimization,

I think that compile-time optimization realizes that the exponent y
is actually exactly a positive integer and does some simplification.
At -O0, you get an evaluation by the run-time library.

> and I confirm the a.out executable runs fine under valgrind.
> And the code runs fine with Intel ifort.
> And I really do not see how complex zero raised to a positive power should
> raise an exception.

Well, you actually provide a non-integer (real or complex) exponent,
even if it is accidentally a positive integer.


[Bug c++/57699] Disable empty parameter list misinterpretation in libstdc++ headers when !defined(NO_IMPLICIT_EXTERN_C)

2013-06-29 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57699

--- Comment #4 from Jonathan Wakely  ---
(In reply to Bernd Edlinger from comment #3)
> Is this NO_IMPLICIT_EXTERN_C define set by the
> configure script?

It's set by headers under gcc/config/

> Should I make sure that the
> configure script sets NO_IMPLICIT_EXTERN_C?

Yes, but whether eCos defines it is not really relevant to this PR, which is
about the general feature not whether it's used on a given platform or not.


[Bug testsuite/57687] FAIL: c-c++-common/cilk-plus/AN/comma_exp.c on x86_64-apple-darwin10

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57687

--- Comment #8 from Dominique d'Humieres  ---
Seems to have been fixed between revisions 200407 and 200557. Could someone
confirm, narrow the range, or point to the revision before I close this PR as
FIXED?


[Bug c/57692] FAIL: c-c++-common/cilk-plus/AN/gather_scatter.c

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57692

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #8 from Dominique d'Humieres  ---
Fixed by revision 200414

Author:bviyer
Date:Wed Jun 26 02:31:27 2013 UTC (3 days, 10 hours ago)
Changed paths:2
Log Message:
+2013-06-25  Balaji V. Iyer  
+
+   * c-c++-common/cilk-plus/AN/gather_scatter.c: Fixed a bug of stack
+   overflow due to size of arrays.
+


[Bug testsuite/57687] FAIL: c-c++-common/cilk-plus/AN/comma_exp.c on x86_64-apple-darwin10

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57687

--- Comment #9 from Dominique d'Humieres  ---
Fixed by revision 200554?


[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714

--- Comment #14 from David Krauss  ---
Harald's comment #10 is almost accurate, but for two things:

1. Actually the C standard does care whether whitespace is added. Whitespace is
visible in the result of stringizing, and when comparing duplicate macro
definitions.

2. Whitespace does not need to be added to cause the visual formatting of the
output to match the input. The trick is to output a backslash character in the
output. Of course this would disturb clients who don't expect backslashes in
their pretty-printed output. But pretty-printed output shouldn't be used for
automatic translation in the first place — that is what the -P option is for.

And to reconcile #2 with #1, the stringize operator and macro definition
comparison need to track splices in preserved whitespace, and treat whitespace
composed entirely of splices as nonexistent. That is exactly what I implemented
in my own preprocessor. See edits subsequent to the one linked above.

Such changes must be done internally even if you choose not to print
backslashes to the final output stream. If someone wants to fix this in GCC,
let this be a guide…

[Bug fortran/57749] -ffpe-trap=zero or invalid produces SIGFPE on complex zero ** 1e0

2013-06-29 Thread anlauf at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749

--- Comment #6 from Harald Anlauf  ---
(In reply to Harald Anlauf from comment #5)
> (In reply to Vittorio Zecca from comment #4)
> > Also I do not understand the different behaviour with different levels of
> > optimization,
> 
> I think that compile-time optimization realizes that the exponent y
> is actually exactly a positive integer and does some simplification.
> At -O0, you get an evaluation by the run-time library.

Looking at the dump tree, one find that the following is generated:

  D.1825 = __builtin_cpowf (D.1824, __complex__ (1.0e+0, 0.0));

Without optimization, this is converted into a call to cpowf.

A straigtforward C example shows that the exception is generated
within libm:

#define _GNU_SOURCE 
#include 
#include 
#include 

main()
{
  complex x, y, z;
  x = 0.;
  y = 1.;
  feenableexcept (FE_DIVBYZERO | FE_OVERFLOW | FE_INVALID);
  z = cpowf (x, y);
  printf("z = %f + %f * i\n", creal(z), cimag(z));
}

(gdb) run
Starting program: /home/anlauf/a.out 

Program received signal SIGFPE, Arithmetic exception.
0xb7f98ea3 in clogf () from /lib/libm.so.6
Missing separate debuginfos, use: zypper install
glibc-debuginfo-2.14.1-14.27.1.i686
(gdb) where
#0  0xb7f98ea3 in clogf () from /lib/libm.so.6
#1  0xb7f9a4d4 in cpowf () from /lib/libm.so.6
#2  0x080485a2 in main () at check-cpow.c:12

That's with glibc-2.14.1.


[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714

--- Comment #15 from David Krauss  ---
Corrections to previous: Harald's comment is #11, and I meant to refer to the
commits in my repo from
http://code.google.com/p/c-plus/source/detail?r=d462b650c355b606545158f4da7365180b699752
up through
http://code.google.com/p/c-plus/source/detail?r=2849f0f6d0677ed2679e39aad2c85e87f9b7ebd4
.


[Bug c++/57746] rejected valid specialization of member function of class template (I think)

2013-06-29 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57746

Daniel Krügler  changed:

   What|Removed |Added

 CC||daniel.kruegler@googlemail.
   ||com

--- Comment #1 from Daniel Krügler  ---
According to the standard in general a definition is also a declaration
([basic.def] p2 "A declaration is a definition unless it declares a function
without specifying the function’s body (8.4), [..]"), therefore [temp.explicit]
applies here as well. 

I think that GCC is incorrect in not rejecting both cases, because the wording
clearly includes a "static data member of a class template" (This error still
exists in gcc 4.9 trunk).

I also think that the meaning of the code is well-defined only for C++11,
because in C++03 the concept of an explicit instantiation declaration did not
exist.

[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread harald at gigawatt dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714

--- Comment #16 from Harald van Dijk  ---
(In reply to David Krauss from comment #14)
> 1. Actually the C standard does care whether whitespace is added.

You're right for stringizing, but GCC already takes care to treat that as a
special case.

#define ID(x) x
#define STR(x) STR_(x)
#define STR_(x) #x
STR(ID(1)ID(2))ID(3)ID(4)

preprocesses to

"12"3 4

No space is inserted between the 1 and 2, because the C standard does not allow
that. No space is inserted between "12" and 3, because no space was present in
the input and no space is required. A space is inserted between 3 and 4 because
the preprocessed output would be misinterpreted otherwise.

> 2. Whitespace does not need to be added to cause the visual formatting of the 
> output to match the input. The trick is to output a backslash character in 
> the output.

A trailing backslash at the end of a line after preprocessing is a syntax error
and is treated as such by GCC. What you suggest requires running the result
through the preprocessor again in order to be able to compile the result. Note
that

int main() {
  ret\
urn 0;
}

is perfectly valid, but 

#define ID(x) x
int main() {
  ID(ret)ID(\)
urn 0;
}

is not. If these become undistinguishable after preprocessing, it is impossible
to diagnose the syntax error, and that diagnostic is required.


[Bug c++/57757] New: CPP extra inserted whitespace needs to be reviewed for C++11 user-defined literals

2013-06-29 Thread harald at gigawatt dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57757

Bug ID: 57757
   Summary: CPP extra inserted whitespace needs to be reviewed for
C++11 user-defined literals
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: harald at gigawatt dot nl

This invalid code

void operator"" _u(const char *, __SIZE_TYPE__) { }

#define ID(x) x
int main() {
  ID("")ID(_u);
}

is correctly rejected with

$ g++ -std=c++11 -c test.cc
test.cc: In function ‘int main()’:
test.cc:5:12: error: expected ‘;’ before ‘_u’
   ID("")ID(_u);
^
test.cc:3:15: note: in definition of macro ‘ID’
 #define ID(x) x
   ^

as the "" and _u are separate tokens. However, with -save-temps, it gets
accepted incorrectly, because in the preprocessor output, "" and _u are joined
as ""_u.

$ g++ -std=c++11 -save-temps -c test.cc
(no output)

The preprocessor needs to insert a space between "" and _u in C++11 mode. For C
mode and C++03 mode, whitespace is not required, and as the documentation
states that GCC does not insert whitespace unless required, the preprocessor
output should only change in C++11 mode.

Modifying the example slightly, it's also possible to get something that
compiles without -save-temps, and gets rejected with it:

#define ID(x) x

void operator ID("")ID(_u)(const char *, __SIZE_TYPE__) { }

int main() {
  ""_u;
}

$ g++ -std=c++11 -c test.cc
$ g++ -std=c++11 -save-temps -c test.cc
test.cc:3:6: error: missing space between ‘""’ and suffix identifier
 void operator ID("")ID(_u)(const char *, __SIZE_TYPE__) { }
  ^
test.cc: In function ‘int main()’:
test.cc:6:3: error: unable to find string literal operator ‘operator"" _u’
   ""_u;
   ^

[Bug fortran/34547] NULL(): Fortran 2003 changes, accepts invalid, ICE on invalid

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34547

--- Comment #8 from Dominique d'Humieres  ---
> It looks like it was fixed in 4.7.0 with the following error message
>
> Error: NULL intrinsic at (1) in data transfer statement requires MOLD=

Confirmed, however compiling the second test in comment #0, namely

 integer, allocatable :: i(:)
 print *, NULL(i)
end

gives an ICE with 4.8.1 and trunk (4.9)

pr34547_1.f90:2:0: internal compiler error: in gfc_conv_expr_descriptor, at
fortran/trans-array.c:6423
  print *, NULL(i)

It compiles with 4.7.3, and gives the reported error with 4.6.4.


[Bug preprocessor/57714] Newline rendered incorrectly in output

2013-06-29 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714

--- Comment #17 from David Krauss  ---
Yes, my preprocessor classifies the backslash-after-preprocessing as a
whitespace token. I simply don't intend to make textual preprocessing output.
With raw strings, UCNs, and user-defined literals, there's just no way a user
would handle it all properly. GCC avoids inserting whitespace except where
"necessary," where a token boundary would be invisible, but tokenizing has
gotten harder than it was. My preprocessor doesn't bother with any artificial
whitespace.

Pretty mode is for user display only, and robust processing needs out-of-band
non-text data.


[Bug fortran/54852] Bogus(?) warnings when compiling gfortran.dg/bind_c_vars.f90 gfortran.dg/bind_c_vars_driver.c with -flto

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54852

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-06-29
 CC||jh at suse dot cz
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Still present at revision 200557.


[Bug c++/57757] CPP extra inserted whitespace needs to be reviewed for C++11 user-defined literals

2013-06-29 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57757

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
That should be fixed by the r200563 changes committed today for the trunk.  Not
sure if a backport of that is planned or not though.


[Bug c++/57757] CPP extra inserted whitespace needs to be reviewed for C++11 user-defined literals

2013-06-29 Thread harald at gigawatt dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57757

--- Comment #2 from Harald van Dijk  ---
Thanks for the pointer. That commit looks like it fixes a different issue: that
looks like it's about allowing

void operator""_u(const char *, __SIZE_TYPE__) { }

which was previously rejected. It does not actually fix the issue my testcase
demonstrates, it merely makes it so that my testcase no longer demonstrates my
issue. I'll attempt to come up with a different testcase.


[Bug fortran/57553] Valid use of STORAGE_SIZE rejected, bad error message for invalid use

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57553

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #4 from Dominique d'Humieres  ---
> TODO: The following message for invalid code should be improved. ...

Confirmed.


[Bug fortran/45417] DEALLOCATE: No error when deallocating a target

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45417

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Still present at revision 200557.


[Bug c++/57757] CPP extra inserted whitespace needs to be reviewed for C++11 user-defined literals

2013-06-29 Thread harald at gigawatt dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57757

--- Comment #3 from Harald van Dijk  ---
Updated testcase, tested with :

#define ID(x) x
extern ID("C")void exit(int);
int main() { exit(0); }

This should be accepted, and is, except when -save-temps is used:

$ ~/gcc-run/bin/g++ -std=c++11 -c test.cc
$ ~/gcc-run/bin/g++ -std=c++11 -save-temps -c test.cc
test.cc:2:8: error: expected unqualified-id before ‘STRING_USERDEF’ token
 extern ID("C")void exit(int);
^
test.cc: In function ‘int main()’:
test.cc:3:20: error: ‘exit’ was not declared in this scope
 int main() { exit(0); }
^
$ ~/gcc-run/bin/g++ --version
g++ (GCC) 4.9.0 20130629 (experimental)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Using sources from git mirror, commit 801070f5acc11e86fd587b583ebe2ce900ab7a5d,
corresponding to svn rev 200565.

[Bug fortran/48244] iso-c-binding support missing on NetBSD (with patch)

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48244

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-06-29
 CC||cato at df dot lth.se
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Is there still maintainers/users of NetBSD?


[Bug fortran/52176] Valgrind complains about some realloc on assignment to unallocated LHS

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52176

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #2 from Dominique d'Humieres  ---
What should I do with this PR?


[Bug target/54407] FAIL: 30_threads/condition_variable/54185.cc execution test program timed out on powerpc-apple-darwin9 and x86_64-apple-darwin10

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54407

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #19 from Dominique d'Humieres  ---
> I posted this patch back in Oct as...
>
> http://gcc.gnu.org/ml/libstdc++/2012-10/msg00111.html
>
> Mike wanted a comment about an associated radar which doesn't exist. 
> As far as I know this bug was fixed in the pthread rewrites for darwin11 
> and later.

Could someone commit the patch?


[Bug tree-optimization/52267] a&~N where N has all the bits set up till a specific point can be folded to ((unsigned)a) < N

2013-06-29 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52267

Jorn Wolfgang Rennecke  changed:

   What|Removed |Added

 CC||amylaar at gcc dot gnu.org

--- Comment #8 from Jorn Wolfgang Rennecke  ---
(In reply to Georg-Johann Lay from comment #7)

> I just rediced the test case to find this thinko; I don't know if there are
> more because of the sheer amount of values in this program.

Here is a summary of the failing subtests / iteration counts:
f2,f1: i == 6,7
f4,f5,f3: i == 13,15,16,24,25,31
f7,f8,f6: i == 10..12,23
f11,f9: i == 11,13,15,24,25,31
f12,f10: i == 11,13,15,24,25,26,31
f17: i == 12,13
f21: i == 21,22,38..45


[Bug tree-optimization/52267] a&~N where N has all the bits set up till a specific point can be folded to ((unsigned)a) < N

2013-06-29 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52267

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |4.8.0


[Bug c++/57757] CPP extra inserted whitespace needs to be reviewed for C++11 user-defined literals

2013-06-29 Thread harald at gigawatt dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57757

--- Comment #4 from Harald van Dijk  ---
It looks like this is a simple matter of adding an extra case in
libcpp/lex.c:cpp_avoid_paste, returning true for (CPP_STRING, CPP_NAME) when
UDLs are enabled. (I'd attach a working patch instead of a brief one-sentence
description, but won't because I unfortunately expect copyright assignment
would be a problem.)


[Bug tree-optimization/57719] [4.8/4.9 Regression] wrong code at -O3 on x86_64-linux-gnu

2013-06-29 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57719

Mikael Pettersson  changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #3 from Mikael Pettersson  ---
(In reply to Zhendong Su from comment #2)
> test #2: wrong code from both gcc trunk and 4.8 at -O3 in 32-bit mode only: 

The wrong-code for test #2 also started with r196174.


[Bug c++/57758] New: gcc accepts incorrect in-class brace initializers

2013-06-29 Thread lundberj at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57758

Bug ID: 57758
   Summary: gcc accepts incorrect in-class brace initializers
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: lundberj at gmail dot com

In summary, having a class member in-class copy-construct from itself (!)
compiles without warning when curly-brace syntax is used.

The result is that the class invariants are never established. The following
code is accepted: 

#include 
struct C{
   C()=delete;
   C(const C& other): x(other.x+1){}
   int x=10;
};
struct D{
   C c0{c0};  // << -- compiles without warning
 //C c1{c1};  // << -- correctly rejected
};
int main(){
   D d;
   std::cout << d.c0.x << std::endl; // prints 1
}

You already get the point. Similarly, these definitions of C also compiles, and
the printed value of x is 0 in both cases.

struct C{
   int x=10;  
   C(float,float){}
};
struct C{
   int x=10;  
};

Using the following definition I get an un-initialized reference: x == 1412476
:

struct C{
   C(const C& other): z(other.z),x(other.x){}
   int z=10;
   int & x{z};
};

This seems like something that would be good to detect.

Using class C{}; is correctly rejected (with 'too many initializers for ‘C’').

[Bug tree-optimization/57719] [4.8/4.9 Regression] wrong code at -O3 on x86_64-linux-gnu

2013-06-29 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57719

--- Comment #4 from Mikael Pettersson  ---
(In reply to Zhendong Su from comment #2)
> test #3: wrong code from gcc trunk (but not gcc 4.8) at -O3 in 32-bit mode
> only: 

The wrong-code for test #3 started with r198121.


[Bug tree-optimization/52267] a&~N where N has all the bits set up till a specific point can be folded to ((unsigned)a) < N

2013-06-29 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52267

--- Comment #9 from Jorn Wolfgang Rennecke  ---
(In reply to Jorn Wolfgang Rennecke from comment #8)
> (In reply to Georg-Johann Lay from comment #7)
> 
> > I just rediced the test case to find this thinko; I don't know if there are
> > more because of the sheer amount of values in this program.
> 
> Here is a summary of the failing subtests / iteration counts:
> f2,f1: i == 6,7
> f4,f5,f3: i == 13,15,16,24,25,31
> f7,f8,f6: i == 10..12,23
> f11,f9: i == 11,13,15,24,25,31
> f12,f10: i == 11,13,15,24,25,26,31
> f17: i == 12,13
> f21: i == 21,22,38..45

I've tried to shift/mask the values / tests to fit 16 bit ints while keeping
to the spirit of the tests and leaving the int >= 32 bit case unchanged,
but the various leading bits, / masking, and 16 bit value comparisons
are just to intertwined for this to make any sense.

I think we should simply restrict the test to target { ! int16 } .


[Bug tree-optimization/57719] [4.8/4.9 Regression] wrong code at -O3 on x86_64-linux-gnu

2013-06-29 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57719

--- Comment #5 from Mikael Pettersson  ---
(In reply to Zhendong Su from comment #2)
> test #4: wrong code from gcc trunk (but not gcc 4.8) at -O3 in both 32-bit
> and 64-bit modes: 

The wrong-code for test #4 also started with r198121.


[Bug c++/57758] gcc accepts incorrect in-class brace initializers

2013-06-29 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57758

Paolo Carlini  changed:

   What|Removed |Added

   Keywords||diagnostic
 CC||paolo.carlini at oracle dot com

--- Comment #1 from Paolo Carlini  ---
Frankly, I doubt this issue adds new information beyond what we have got
already in Bugzilla, eg PR52167 & co.


[Bug tree-optimization/57701] Incorrect optimisation of inlined function with inline assembly when cross-compiling

2013-06-29 Thread rennis at gmx dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57701

rennis at gmx dot com changed:

   What|Removed |Added

 CC||rennis at gmx dot com

--- Comment #3 from rennis at gmx dot com ---
Richard, do you have any information on how to specify the side-effects?  Any
tips or guesses on how you would go about it in this situation?  I'm having the
same problem as sqweek (we're both trying to build inferno-os, a 32-bit
application, on archlinux 64-bit).  I'm far out of my realm here.  I've played
with assembly before, but never done much with inline assembly.

Thanks,
Rob


[Bug target/54407] FAIL: 30_threads/condition_variable/54185.cc execution test program timed out on powerpc-apple-darwin9 and x86_64-apple-darwin10

2013-06-29 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54407

--- Comment #20 from Paolo Carlini  ---
Commit *what*? Please add a link to something actually OKed.


[Bug fortran/54384] gfortran memory leaks

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54384

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #11 from Dominique d'Humieres  ---
Considering the number of commits, this PR can probably marked as confirmed.


[Bug fortran/50149] loader error with source containing common blocks

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50149

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #5 from Dominique d'Humieres  ---
Closing as WORKSFORME.


[Bug libfortran/48961] EXECUTE_COMMAND_LINE(WAIT=.false.) fails on MinGW

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48961

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #13 from Dominique d'Humieres  ---
>From comment #12
> So it seems the current implementation is not so bad after all.

Could this PR be closed as FIXED?


[Bug fortran/50516] gfortran must detect illegal statements in a block data (r178939)

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50516

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Still there at revision 200557.



[Bug fortran/52274] [Meta-bug] Fortran translation related issues: Typos and more

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52274

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1


[Bug fortran/57598] [Coarray,caf] Add FPE-Summary printing (floating-point exception) for STOP/ERROR STOP

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57598

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Has not this bug fixed by revision 200147?

Author:burnus
Date:Mon Jun 17 07:48:21 2013 UTC (12 days, 13 hours ago)
Changed paths:19 (showing only 10; show all)
Log Message:
2013-06-17  Tobias Burnus  

* gfortran.h (gfc_option_t): Add fpe_summary.
* gfortran.texi (_gfortran_set_options): Update.
* invoke.texi (-ffpe-summary): Add doc.
* lang.opt (ffpe-summary): Add flag.
* options.c (gfc_init_options, gfc_handle_option): Handle it.
(gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option,
also handle fpe_summary.
* trans-decl.c (create_main_function): Update
_gfortran_set_options call.

2013-06-17  Tobias Burnus  

* libgfortran.h (compile_options_t) Add fpe_summary.
(get_fpu_except_flags): New prototype.
* runtime/compile_options.c (set_options, init_compile_options):
Handle fpe_summary.
* runtime/stop.c (report_exception): New function.
(stop_numeric, stop_numeric_f08, stop_string, error_stop_string,
error_stop_numeric): Call it.
* config/fpu-387.h (get_fpu_except_flags): New function.
* config/fpu-aix.h (get_fpu_except_flags): New function.
* config/fpu-generic.h (get_fpu_except_flags): New function.
* config/fpu-glibc.h (get_fpu_except_flags): New function.
* config/fpu-glibc.h (get_fpu_except_flags): New function.
* configure.ac: Check for fpxcp.h.
* configure: Regenerate.
* config.h.in: Regenerate.


[Bug fortran/57096] Allocatable variable is not behaved as expected

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57096

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1

--- Comment #5 from Dominique d'Humieres  ---
>From comment #1
> Confirmed with current trunk.


[Bug fortran/56471] Program crashes when allocating a derived type with an allocatable component

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56471

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1


[Bug fortran/56596] Invalid read of size 4 gfortran.dg/class_array_7.f03

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56596

Dominique d'Humieres  changed:

   What|Removed |Added

 CC||howarth at nitro dot med.uc.edu

--- Comment #5 from Dominique d'Humieres  ---
*** Bug 55482 has been marked as a duplicate of this bug. ***


[Bug fortran/55482] gfortran.dg/class_array_7.f03 execution failures with -fsanitize=address

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55482

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #5 from Dominique d'Humieres  ---
Fixed by the patch for PR57456, r199528, duplicate of pr56956.

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


[Bug fortran/52279] Fortran translation issues issues

2013-06-29 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52279

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 Ever confirmed|0   |1


[Bug target/57754] Loongson 3A is MIPS64R2-compatible

2013-06-29 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57754

Steven Bosscher  changed:

   What|Removed |Added

 Target||mips64
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-29
 CC||rsandifo at gcc dot gnu.org
 Ever confirmed|0   |1


[Bug c++/57758] gcc accepts incorrect in-class brace initializers

2013-06-29 Thread lundberj at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57758

--- Comment #2 from Johan Lundberg  ---
Yes. I'm sorry, it's almost word-for-word identical to 48483.


Re: [Bug fortran/48244] iso-c-binding support missing on NetBSD (with patch)

2013-06-29 Thread Krister Walfridsson
> --- Comment #1 from Dominique d'Humieres  ---
> Is there still maintainers/users of NetBSD?

There are still users.  But my paperwork is not in order since I
changed employer some years ago, so I am not allowed to commit
anything... :(

   /Krister


[Bug fortran/48244] iso-c-binding support missing on NetBSD (with patch)

2013-06-29 Thread krister.walfridsson at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48244

--- Comment #2 from krister.walfridsson at gmail dot com ---
> --- Comment #1 from Dominique d'Humieres  ---
> Is there still maintainers/users of NetBSD?

There are still users.  But my paperwork is not in order since I
changed employer some years ago, so I am not allowed to commit
anything... :(

   /Krister


[Bug testsuite/57687] FAIL: c-c++-common/cilk-plus/AN/comma_exp.c on x86_64-apple-darwin10

2013-06-29 Thread bviyer at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57687

Balaji V. Iyer  changed:

   What|Removed |Added

 CC||bviyer at gmail dot com

--- Comment #10 from Balaji V. Iyer  ---
This should be fixed in the recent check-in I did with Jason Merrill's changes.

Thanks,

Balaji V. Iyer.


[Bug fortran/57749] -ffpe-trap=zero or invalid produces SIGFPE on complex zero ** 1e0

2013-06-29 Thread zeccav at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749

--- Comment #7 from Vittorio Zecca  ---
Looking at the source code for cpowf, it computes x**y straightly as
exp(y*log(x)),
no check on y or x.

I am not happy with that, because I expect that complex zero raised to any
(real or integer) positive power should be zero. No exceptions raised.
I do not know if this is correct, but it looks reasonable to me.
Computing complex zero**1 delivers (0.0,0.0),
but complex zero**1.0 raises an exception.
How strange.
This is reading the base and exponent, no optimization involved.
As in:
  complex zero
  read *,zero,i,x
  print *,zero,i,x
  print *,zero**i
  print *,zero**x

When both numbers are complex, the standards (F95, F2003, and F2008)
state that "the value of the operation x1**x2 is the principal value of
x1 raised to x2". Does it help?
When aimag(x2) is zero what is the principal value?
I cannot believe that zero**1e0 is a singularity.
The Intel ifort compiler delivers the "reasonable" result,
it even goes beyond that and computes zero**zero as (1.0,0.0)!

And I still believe the result should not depend on the optimization level.
Note that compiling without -ffpe-trap the result
with default optimization, -O0, is (  0., -0.),
higher optimizations deliver (  0.,  0.).
Another mystery.