[Bug c/59073] [4.9 Regression] ICE with missing increment in OpenMP for-loop

2013-11-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59073

--- Comment #3 from Tobias Burnus  ---
(In reply to Tobias Burnus from comment #2)
> Untested patch

Which doesn't work (or is insufficient).


[Bug c/59100] requesting optimization of safe rotate function

2013-11-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59100

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
Yeah, see PR45216 and PR57157.  Recognizing n?rotate:x as rotate can
be done, but probably not in forwprop or at least not at the same spot as
simplify_rotate, because it involves PHIs and different basic blocks.
Anyway, if you are going to recommend some idiom, I think the one in PR57157 is
better because if it doesn't get optimized into the rotate, it at least doesn't
contain any conditionals.


[Bug debug/59105] New: -fdebug-prefix-map doesn't affect DW_AT_comp_dir.

2013-11-13 Thread pluto at agmk dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59105

Bug ID: 59105
   Summary: -fdebug-prefix-map doesn't affect DW_AT_comp_dir.
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pluto at agmk dot net

Created attachment 31203
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31203&action=edit
testcase

hi,

i'm trying to use -fdebug-prefix-map to reuse (ccache) compilation units
across multiple software branches. the first problem was reported as PR58767
and the second one is here.

the gcc hardcodes DW_AT_comp_dir when -fdebug-prefix-map is in use and prevents
ccache from computing identical checksum/manifest. imo -fdebug-prefix-map
should adjust DW_AT_comp_dir in the same way as source name (DW_AT_name).


$ ./bug.sh
+ rm -f '*.o'
+ CXXFLAGS='-Wall -gno-record-gcc-switches -g2 -gdwarf-4 -c' 
+ cd repo/branch
+ readlink -m t.cpp
+ src=/home/users/pawels/bugs/gcc-bug/repo/branch/t.cpp 
+ dirname /home/users/pawels/bugs/gcc-bug/repo/branch/t.cpp
+ g++ -Wall -gno-record-gcc-switches -g2 -gdwarf-4 -c
/home/users/pawels/bugs/gcc-bug/repo/branch/t.cpp
'-fdebug-prefix-map=/home/users/pawels/bugs/gcc-bug/repo/branch/='
+ objdump -g t.o
+ grep -E DW_AT_name.+cpp
<11>   DW_AT_name: (indirect string, offset: 0x0): t.cpp
+ objdump -g t.o
+ grep -E DW_AT_comp_dir.+string
<15>   DW_AT_comp_dir: (indirect string, offset: 0x14c):
/home/users/pawels/bugs/gcc-bug/repo/branch
+ cd ../..


[Bug sanitizer/58937] Preloaded libasan segfaults on unsanitized executables

2013-11-13 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58937

--- Comment #9 from Yury Gribov  ---
Created attachment 31204
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31204&action=edit
Repro

Just occured to me that I forgot to attach a reprocase, so doing this now.

@Evegeniy: could you check whether this reproduces under Android/Darwin?


[Bug c++/59083] -fisolate-erroneous-paths produces illegal instruction with enabled -fprofile-generate

2013-11-13 Thread octoploid at yandex dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59083

--- Comment #14 from Markus Trippelsdorf  ---
The 'kernel' case passes a NULL pointer to qsort:

 % < test.i
struct relocs {
  int *offset;
};
static struct relocs a;
void qsort(void *, int) __attribute__((__nonnull__));
void die(int *p1, ...) {}

void sort_relocs(struct relocs *p1) { qsort(p1->offset, 0); }

int main() {
  sort_relocs(&a);
  return 0;
}


[Bug target/59101] [4.7/4.8/4.9 Regression] integer wrong code bug

2013-11-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59101

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-13
 CC||jakub at gcc dot gnu.org
  Component|c   |target
   Target Milestone|--- |4.7.4
Summary|integer wrong code bug  |[4.7/4.8/4.9 Regression]
   ||integer wrong code bug
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek  ---
Sounds to be a bug in the x86_64 *anddi_2 pattern.  If the constant is > 0 and
has bit 31 set, then we can't match CCNOmode, just CCZmode.


[Bug sanitizer/55353] [asan] the flag for asan should match the one used in clang

2013-11-13 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55353

Yury Gribov  changed:

   What|Removed |Added

 CC||y.gribov at samsung dot com

--- Comment #4 from Yury Gribov  ---
Could someone close this? Was fixed in r193702


[Bug sanitizer/59106] New: Failure to link against static libasan

2013-11-13 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

Bug ID: 59106
   Summary: Failure to link against static libasan
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: sanitizer
  Assignee: unassigned at gcc dot gnu.org
  Reporter: y.gribov at samsung dot com
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
e.gavrin at samsung dot com, jakub at gcc dot gnu.org,
kcc at gcc dot gnu.org, tetra2005 at gmail dot com,
v.garbuzov at samsung dot com
Target: x86_64

When linking sanitized C executable against static libasan I see linker errors:
 $ cat repro.i
 int main() {
   return 0;
 }
 $ /home/ygribov/install/gcc-master/bin/gcc -g repro.i -fsanitize=address
-static-libasan

/home/ygribov/install/gcc-master/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/../../../../lib64/libasan.a(asan_thread.o):(.data.rel.ro._ZTIN6__asan17AsanThreadContextE[_ZTIN6__asan17AsanThreadContextE]+0x0):
undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
 ...
 collect2: error: ld returned 1 exit status

This is trunk gcc, x86_64.


[Bug sanitizer/55353] [asan] the flag for asan should match the one used in clang

2013-11-13 Thread kcc at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55353

Kostya Serebryany  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Kostya Serebryany  ---
fixed indeed.


[Bug c++/59085] internal compiler error: Segmentation fault

2013-11-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59085

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com
   Severity|blocker |normal


[Bug target/59101] [4.7/4.8/4.9 Regression] integer wrong code bug

2013-11-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59101

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
Created attachment 31205
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31205&action=edit
gcc49-pr59101.patch

Untested fix.


[Bug fortran/59107] New: Spurious "Type specified for intrinsic function 'command_argument_count' at (1) is ignored" under -Wsurprising.

2013-11-13 Thread mathewc at nag dot co.uk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59107

Bug ID: 59107
   Summary: Spurious "Type specified for intrinsic function
'command_argument_count' at (1) is ignored" under
-Wsurprising.
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mathewc at nag dot co.uk

> cat test.f90
Program p
  Integer :: nargs
  Intrinsic :: command_argument_count
  nargs = command_argument_count()
End
> gfortran --version
GNU Fortran (GCC) 4.8.2 20131017 (Red Hat 4.8.2-1)
> gfortran -Wsurprising test.f90
test.f90:3.37:

  Intrinsic :: command_argument_count
 1
Warning: Type specified for intrinsic function 'command_argument_count' at (1)
is ignored


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

--- Comment #1 from Yury Gribov  ---
Created attachment 31206
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31206&action=edit
Proposed patch

Does this look sane?


[Bug c++/59066] C++11, 'using' instead of 'typedef' causes a segmentation fault.

2013-11-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59066

--- Comment #3 from Paolo Carlini  ---
Doesn't look like a front-end issue.


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread kcc at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

--- Comment #2 from Kostya Serebryany  ---
We should be building libsanitizer with -fno-rtti


[Bug sanitizer/58937] Preloaded libasan segfaults on unsanitized executables

2013-11-13 Thread eugeni.stepanov at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58937

--- Comment #10 from Evgeniy Stepanov  ---
We don't intercept signal() on Android, because there is a friendly crash
handler installed by the OS, and we don't need to handle segv ourselves.


[Bug ada/35998] debug info invalid x86_64 DW_AT_byte_size 0xffffffff

2013-11-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35998

--- Comment #8 from Eric Botcazou  ---
Author: ebotcazou
Date: Wed Nov 13 10:07:14 2013
New Revision: 204736

URL: http://gcc.gnu.org/viewcvs?rev=204736&root=gcc&view=rev
Log:
PR ada/35998
* dwarf2out.c (add_byte_size_attribute): Also use int_size_in_bytes
for fields.  Do not add the attribute if the size is negative.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c


[Bug ada/35998] debug info invalid x86_64 DW_AT_byte_size 0xffffffff

2013-11-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35998

Eric Botcazou  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #9 from Eric Botcazou  ---
Fixed, at long last.


[Bug libfortran/59108] New: ACTION='READ' is using O_CREAT

2013-11-13 Thread nmm1 at cam dot ac.uk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59108

Bug ID: 59108
   Summary: ACTION='READ' is using O_CREAT
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: nmm1 at cam dot ac.uk

Running 'strace -v -e trace=open' on the following program:

PROGRAM Main
OPEN(11,FILE='wombat',ACTION='READ')
OPEN(12,FILE='numbat',ACTION='READ',ACCESS='STREAM')
OPEN(13,FILE='dingbat',ACTION='READ',ACCESS='DIRECT',RECL=8)
END PROGRAM Main

produces:

open("wombat", O_RDONLY|O_CREAT, 0666)  = 3
open("numbat", O_RDONLY|O_CREAT, 0666)  = 4
open("dingbat", O_RDONLY|O_CREAT, 0666) = 5

Not merely does this create files when the user isn't expecting it,
it fails if the directory or file system is protected against writing.

wheeler$uname -a
Linux wheeler 2.6.37.6-24-desktop #1 SMP PREEMPT 2012-10-18 22:36:08 +0200
x86_64 x86_64 x86_64 GNU/Linux
wheeler$gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/home/nmm/GCC/libexec/gcc/x86_64-unknown-linux-gnu/4.8.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/home/nmm/GCC --disable-bootstrap
--enable-languages=c,c++,fortran --enable-werror=yes --disable-decimal-float
Thread model: posix
gcc version 4.8.1 (GCC)


[Bug c/35547] -Wparentheses not useful in its current form

2013-11-13 Thread Ian.Kirkham at brownandsticky dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35547

--- Comment #3 from Ian Kirkham  ---
-Wparentheses is potentially very useful but certainly too broad.

I agree that it would help if qualifiers could be added that split the coverage
to be able to distinguish between the extremes of 'very probably not intended'
from the 'might make intent more explicit'.
The former class should include:

if (mask & 1 == 1) ...

the latter class should include:

if (var1 == 1 && var2 == 2 || var1 = 2 && var2 == 1) ...

At the moment -Wparentheses will flag both as needing parens to scope the &/&&
operator. However, I argue that the latter is at worst a stylistic error
because adding the parens as suggested will not change the effect of the code.

However in the former case, adding the parens will certainly change the effect
of the code as there is a very strong likelihood that the bit-wise AND was
expected to have a higher precedence than the comparison operators.

Perhaps the suggested -Woperator-precedence qualifier should be two:

-Wsafe-operator-precedence
flagging all the operator precedence categories

-Woperator-precedence
flagging just those where bitwise operators are at the same lexical scope
as a comparison operator.


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread glider at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #6 from Alexander Potapenko  ---
The problem is caused by _NSGetEnviron() being called before libSystem is
initialized. This happens because some initialization code calls __cxa_atexit()
before libSystem_initialize(), and __cxa_atexit() calls __asan_init() and
_NSGetEnviron().

The fix is trivial (call the real __cxa_atexit() if asan_inited == 0 instead of
calling __asan_init()), but before landing it I'll check why the crash doesn't
happen on LLVM (I suspect different linkage order).


[Bug c++/59056] enable_if turns a non-ambiguous template into an ambiguous one

2013-11-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59056

Paolo Carlini  changed:

   What|Removed |Added

 CC||richard-gccbugzilla@metafoo
   ||.co.uk

--- Comment #4 from Paolo Carlini  ---
Maybe we can ask Richard's opinion about this one too.


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

--- Comment #3 from Yury Gribov  ---
(In reply to Kostya Serebryany from comment #2)
> We should be building libsanitizer with -fno-rtti

Ubsan seems to require it:
 /home/ygribov/gcc/gcc-master/libsanitizer/ubsan/ubsan_type_hash.cc:121:63:
error: ‘dynamic_cast’ not permitted with -fno-rtti
 dynamic_cast(Derived))
   ^

[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread samsonov at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

Alexey Samsonov  changed:

   What|Removed |Added

 CC||samsonov at google dot com

--- Comment #4 from Alexey Samsonov  ---
Yeah, in LLVM/Clang we build C++-specific part of UBSan with -frtti (and link
it to C++ programs only), and the rest sanitizers with -fno-rtti.


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread kcc at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

--- Comment #5 from Kostya Serebryany  ---
a small part of ubsan does indeed require rtti. 
See ubsan/CMakeLists.txt (UBSAN_SOURCES vs UBSAN_CXX_SOURCES)
The rest of libsanitizer does not and should use -fno-rtti. 

OMG, I hate having so many different build systems.
Long term this will be a maintenance nightmare to support them.


[Bug tree-optimization/59109] New: [4.9 regression] ICE in mark_reachable_handlers, at tree-eh.c:3826

2013-11-13 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59109

Bug ID: 59109
   Summary: [4.9 regression] ICE in mark_reachable_handlers, at
tree-eh.c:3826
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sch...@linux-m68k.org
CC: law at gcc dot gnu.org
Target: ia64-*-*

Broken by r204708.

$ ../../xgcc -B../../ -c -O2 -g -W -Wall  -gnatpg -gnata -I- -I../rts -I.
-I../../../../gcc/ada ../../../../gcc/ada/make.adb -o make.o
../../../../gcc/ada/make.adb: In function
‘Make.Compile_Sources.Start_Compile_If_Possible’:
../../../../gcc/ada/make.adb:2613:32: warning: ‘Pid’ may be used uninitialized
in this function [-Wmaybe-uninitialized]
../../../../gcc/ada/make.adb:2519:10: note: ‘Pid’ was declared here
+===GNAT BUG DETECTED==+
| 4.9.0 20131113 (experimental) (ia64-suse-linux) GCC error:   |
| in mark_reachable_handlers, at tree-eh.c:3826|
| Error detected around ../../../../gcc/ada/make.adb:3312:7|

#1  0x41257b10 in mark_reachable_handlers (
r_reachablep=, lp_reachablep=)
at ../../gcc/tree-eh.c:3826
3826  gcc_assert (gsi_one_before_end_p (gsi));

[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread glider at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #7 from Alexander Potapenko  ---
If I compile stack-overflow-1.c with 'clang -fsanitize=address -c', the
resulting object file can be linked into an executable with either 'clang
-fsanitize=address' or 'gcc -fsanitize=address' (this requires declaring "void
*__asan_mapping_offset=0x1000;", since the GCC instrumentation pass
doesn't insert the mapping offset). The executable linked with Clang works just
fine, while the GCC one crashes on the same env_ptr assertion.

Clang:
$ $CLANG  stack-overflow-1.o -fsanitize=address -v && ./a.out
...
"/usr/bin/ld" -dynamic -arch x86_64 -macosx_version_min 10.8.0 -o a.out
stack-overflow-1.o -lstdc++
/Users/glider/src/asan/llvm/llvm_cmake_build/bin/../lib/clang/3.4/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
-lSystem
=
==37032==ERROR: AddressSanitizer: stack-buffer-overflow on address
0x7fff5add8aea at pc 0x104e27c93 bp 0x7fff5add89f0 sp 0x7fff5add89e8
...

GCC:
$ $GCC  stack-overflow-1.o -fsanitize=address -v && ./a.out
...
/usr/bin/ld -dynamic -arch x86_64 -macosx_version_min 10.8.5
-weak_reference_mismatches non-weak -o a.out
-L/Users/glider/src/gcc-asan/build/inst/lib/gcc/x86_64-apple-darwin12.5.0/4.9.0
-L/Users/glider/src/gcc-asan/build/inst/lib/gcc/x86_64-apple-darwin12.5.0/4.9.0/../../..
stack-overflow-1.o -lasan -no_compact_unwind -lSystem -lgcc_ext.10.5 -lgcc
-lSystem -v
...
==37029==AddressSanitizer CHECK failed:
../../../../libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) !=
(0)" (0x0, 0x0)


This seems to have nothing to do with the linkage order: I've tried to change
the order of -l flags in the ld invocation from $GCC, but that didn't work.
However when I replaced '-lasan' with the full path to the ASan runtime from
the Clang build, it worked fine. So there's some subtle difference between the
ASan runtimes compiled when building GCC and Clang.


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

Yury Gribov  changed:

   What|Removed |Added

  Attachment #31206|0   |1
is obsolete||

--- Comment #6 from Yury Gribov  ---
Created attachment 31207
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31207&action=edit
New patch

(In reply to Kostya Serebryany from comment #5)
> a small part of ubsan does indeed require rtti. 
> See ubsan/CMakeLists.txt (UBSAN_SOURCES vs UBSAN_CXX_SOURCES)

This is going to be fun because automake does not seem to allow to specify
per-file compile flags.

> The rest of libsanitizer does not and should use -fno-rtti. 

Patch attached (without ubsan support for now).


[Bug tree-optimization/59077] ipa-pure-const.c (better_state): comment and code mistmatch

2013-11-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59077

--- Comment #1 from Marc Glisse  ---
Author: glisse
Date: Wed Nov 13 11:55:01 2013
New Revision: 204739

URL: http://gcc.gnu.org/viewcvs?rev=204739&root=gcc&view=rev
Log:
2013-11-13  Marc Glisse  

PR tree-optimization/59077
* ipa-pure-const.c (better_state): Update *state.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-pure-const.c


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread kcc at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

--- Comment #7 from Kostya Serebryany  ---
Patch looks ok. 
Please send it in a usual way and someone else (Jakub?) will need to approve
it.


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

--- Comment #8 from Jakub Jelinek  ---
(In reply to Alexey Samsonov from comment #4)
> Yeah, in LLVM/Clang we build C++-specific part of UBSan with -frtti (and
> link it to C++ programs only), and the rest sanitizers with -fno-rtti.

Can't we just add asm (".weak _Z..."); to the ubsan source that needs C++ and
perhaps check if those symbols are non-NULL, otherwise simply fail the dynamic
type checking?
Then libubsan wouldn't require libstdc++, but, supposedly if you call the ubsan
C++ diagnostics, you'd have libstdc++ or libsupc++ linked in and it would DTRT.


[Bug tree-optimization/59077] ipa-pure-const.c (better_state): comment and code mistmatch

2013-11-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59077

Marc Glisse  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Marc Glisse  ---
.


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread glider at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #8 from Alexander Potapenko  ---
Clang's libclang_rt.asan_osx_dynamic.dylib depends on the Foundation framework.
When I remove that dependency, ASanified programs crash on the same env_ptr
assertion.


[Bug tree-optimization/59109] [4.9 regression] ICE in mark_reachable_handlers, at tree-eh.c:3826

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59109

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug tree-optimization/59102] [4.9 Regression] ICE on valid code at -Os and above on x86_64-linux-gnu

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59102

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-13
 CC||law at gcc dot gnu.org
   Target Milestone|--- |4.9.0
Summary|ICE on valid code at -Os|[4.9 Regression] ICE on
   |and above on|valid code at -Os and above
   |x86_64-linux-gnu|on x86_64-linux-gnu
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed.  Use gimple_get_lhst ().


[Bug tree-optimization/59100] requesting optimization of safe rotate function

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59100

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-13
  Component|c   |tree-optimization
 Ever confirmed|0   |1

--- Comment #3 from Richard Biener  ---
phiopt would be the pass to recognize new patterns with PHIs, it should be
reasonably simple to add there in the value_replacement handler.


[Bug c++/59097] [4.7/4.8/4.9 Regression] ICE with invalid statement expression as array size

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59097

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
   Target Milestone|--- |4.7.4


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread kcc at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

Kostya Serebryany  changed:

   What|Removed |Added

 CC||nlewycky at google dot com

--- Comment #9 from Kostya Serebryany  ---
>> Can't we just add asm (".weak _Z...");
The current scheme is more portable 
(e.g. I am not sure if Windows supports weak symbols at all)


[Bug sanitizer/59106] Failure to link against static libasan

2013-11-13 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59106

Yury Gribov  changed:

   What|Removed |Added

  Attachment #31207|0   |1
is obsolete||

--- Comment #10 from Yury Gribov  ---
Created attachment 31208
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31208&action=edit
Patch with a test

Added a test.


[Bug sanitizer/58680] Spurious warnings from libasan

2013-11-13 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58680

--- Comment #14 from Yury Gribov  ---
I hate zombie bugs. Can we either fix or wontfix this?


[Bug rtl-optimization/58934] [4.9 Regression]: build fails on cris-elf in reload_cse_simplify_operands for newlib dtoa.c

2013-11-13 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58934

--- Comment #13 from Martin Jambor  ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #12)
> > --- Comment #11 from Martin Jambor  ---
> [...]
> > If anyone is willing to test the patch on any platform but especially
> > on those which I could not, I'd be very grateful.  Thanks.
> 
> I've now regression-tested the patch on sparc-sun-solaris2.11.
> Bootstrap works and I find just a single regression:
> 
> FAIL: gfortran.fortran-torture/execute/pr32604.f90 execution,  -O2
> -fbounds-check 
> 
> which is reproducible.
> 
>   Rainer

Thanks a lot.  I committed the patch a few moments before reading your
comment so I suppose trunk now suffers from this failure.  If so, can
you please open a bug report?

I tried to reproduce it on gcc54 on the compile farm (sparc64-linux)
but so far I have failed to even build the gcc itself there :-/

[Bug c++/59110] New: [4.9 Regression] [c++1y] ICE using auto in cast

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59110

Bug ID: 59110
   Summary: [4.9 Regression] [c++1y] ICE using auto in cast
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following invalid code snippet (compiled with "-std=c++1y") triggers an ICE
on trunk:

=
int i = *(auto*)0;
=

bug.cc:1:17: internal compiler error: tree check: expected record_type or
union_type or qual_union_type, have template_type_parm in lookup_conversions,
at cp/search.c:2509
 int i = *(auto*)0;
 ^
0xd3a614 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/gcc/tree.c:9166
0x6bd9f7 tree_check3
../../gcc/gcc/tree.h:2746
0x6bd9f7 lookup_conversions(tree_node*)
../../gcc/gcc/cp/search.c:2509
0x5493a6 build_user_type_conversion_1
../../gcc/gcc/cp/call.c:3447
0x54a3c1 implicit_conversion
../../gcc/gcc/cp/call.c:1756
0x54ff6c can_convert_arg_bad(tree_node*, tree_node*, tree_node*, int, int)
../../gcc/gcc/cp/call.c:8960
0x677940 convert_for_assignment
../../gcc/gcc/cp/typeck.c:7992
0x5eff71 digest_init_r
../../gcc/gcc/cp/typeck2.c:1009
0x5f1dc2 digest_init_flags
../../gcc/gcc/cp/typeck2.c:1078
0x5f1dc2 store_init_value(tree_node*, tree_node*, vec**, int)
../../gcc/gcc/cp/typeck2.c:766
0x566066 check_initializer
../../gcc/gcc/cp/decl.c:5739
0x57909d cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
../../gcc/gcc/cp/decl.c:6358
0x666c11 cp_parser_init_declarator
../../gcc/gcc/cp/parser.c:16727
0x66837f cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:8
0x64c7b0 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:10999
0x670477 cp_parser_declaration
../../gcc/gcc/cp/parser.c:10896
0x66f198 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10782
0x670a3a cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4010
0x670a3a c_parse_file()
../../gcc/gcc/cp/parser.c:31187
0x791cd3 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1055
Please submit a full bug report, [etc.]


[Bug middle-end/58555] [4.9 Regression] Floating point exception in want_inline_self_recursive_call_p

2013-11-13 Thread dcb314 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58555

--- Comment #9 from David Binderman  ---
(In reply to Markus Trippelsdorf from comment #8)
> The following patch seems to fix the issue:

Looks good to me. 

I think it needs to get into the compiler source code somehow.

Would posting the patch to gcc-patches be the correct way forward ?


[Bug c++/59110] [4.9 Regression] [c++1y] ICE using auto in cast

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59110

Volker Reichelt  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
  Known to work||4.8.0
   Target Milestone|--- |4.9.0
  Known to fail||4.9.0


[Bug c++/59111] New: [4.9 Regression] [c++11] ICE on invalid usage of auto in return type

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111

Bug ID: 59111
   Summary: [4.9 Regression] [c++11] ICE on invalid usage of auto
in return type
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following invalid code snippet (compiled with "-std=c++11") triggers an ICE
on trunk:

=
auto& foo();

int i = foo();
=

bug.cc:1:11: warning: 'foo' function uses 'auto' type specifier without
trailing return type [enabled by default]
 auto& foo();
   ^
bug.cc:3:13: internal compiler error: tree check: expected record_type or
union_type or qual_union_type, have template_type_parm in lookup_conversions,
at cp/search.c:2509
 int i = foo();
 ^
0xd3a614 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/gcc/tree.c:9166
0x6bd9f7 tree_check3
../../gcc/gcc/tree.h:2746
0x6bd9f7 lookup_conversions(tree_node*)
../../gcc/gcc/cp/search.c:2509
0x5493a6 build_user_type_conversion_1
../../gcc/gcc/cp/call.c:3447
0x54a3c1 implicit_conversion
../../gcc/gcc/cp/call.c:1756
0x54ff6c can_convert_arg_bad(tree_node*, tree_node*, tree_node*, int, int)
../../gcc/gcc/cp/call.c:8960
0x677940 convert_for_assignment
../../gcc/gcc/cp/typeck.c:7992
0x5eff71 digest_init_r
../../gcc/gcc/cp/typeck2.c:1009
0x5f1dc2 digest_init_flags
../../gcc/gcc/cp/typeck2.c:1078
0x5f1dc2 store_init_value(tree_node*, tree_node*, vec**, int)
../../gcc/gcc/cp/typeck2.c:766
0x566066 check_initializer
../../gcc/gcc/cp/decl.c:5739
0x57909d cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
../../gcc/gcc/cp/decl.c:6358
0x666c11 cp_parser_init_declarator
../../gcc/gcc/cp/parser.c:16727
0x66837f cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:8
0x64c7b0 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:10999
0x670477 cp_parser_declaration
../../gcc/gcc/cp/parser.c:10896
0x66f198 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10782
0x670a3a cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4010
0x670a3a c_parse_file()
../../gcc/gcc/cp/parser.c:31187
0x791cd3 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1055
Please submit a full bug report, [etc.]


[Bug c++/59112] New: [c++1y] ICE using auto as parameter in local class

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59112

Bug ID: 59112
   Summary: [c++1y] ICE using auto as parameter in local class
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following (invalid ?) code snippet (compiled with "-std=c++1y") triggers an
ICE on trunk:


void foo()
{
  struct A
  {
A(auto) {}
  };
}


bug.cc: In function 'void foo()':
bug.cc:5:14: internal compiler error: in check_member_template, at
cp/decl2.c:505
 A(auto) {}
  ^
0x61e8e9 check_member_template(tree_node*)
../../gcc/gcc/cp/decl2.c:505
0x59550b finish_member_template_decl(tree_node*)
../../gcc/gcc/cp/pt.c:291
0x63dd49 finish_fully_implicit_template
../../gcc/gcc/cp/parser.c:31363
0x66969e cp_parser_member_declaration
../../gcc/gcc/cp/parser.c:20287
0x6492ad cp_parser_member_specification_opt
../../gcc/gcc/cp/parser.c:19850
0x6492ad cp_parser_class_specifier_1
../../gcc/gcc/cp/parser.c:19094
0x6492ad cp_parser_class_specifier
../../gcc/gcc/cp/parser.c:19321
0x6492ad cp_parser_type_specifier
../../gcc/gcc/cp/parser.c:14215
0x661b57 cp_parser_decl_specifier_seq
../../gcc/gcc/cp/parser.c:11460
0x6681d9 cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:11050
0x64c7b0 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:10999
0x64d8d3 cp_parser_declaration_statement
../../gcc/gcc/cp/parser.c:10646
0x64df47 cp_parser_statement
../../gcc/gcc/cp/parser.c:9387
0x64ec49 cp_parser_statement_seq_opt
../../gcc/gcc/cp/parser.c:9665
0x64edbe cp_parser_compound_statement
../../gcc/gcc/cp/parser.c:9619
0x66248b cp_parser_function_body
../../gcc/gcc/cp/parser.c:18525
0x66248b cp_parser_ctor_initializer_opt_and_function_body
../../gcc/gcc/cp/parser.c:18561
0x6662c3 cp_parser_function_definition_after_declarator
../../gcc/gcc/cp/parser.c:22593
0x667102 cp_parser_function_definition_from_specifiers_and_declarator
../../gcc/gcc/cp/parser.c:22505
0x667102 cp_parser_init_declarator
../../gcc/gcc/cp/parser.c:16506
Please submit a full bug report, [etc.]


[Bug c++/59113] New: [c++1y] ICE using auto as parameter in local function

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59113

Bug ID: 59113
   Summary: [c++1y] ICE using auto as parameter in local function
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following invalid code snippet (compiled with "-std=c++1y") triggers an ICE
on trunk:

===
void foo()
{
  void bar(auto) {}
}

auto i = 0;
===

bug.cc: In function 'void foo()':
bug.cc:3:18: error: a function-definition is not allowed here before '{' token
   void bar(auto) {}
  ^
bug.cc: At global scope:
bug.cc:6:6: error: 'template auto i' redeclared as different kind
of symbol
 auto i = 0;
  ^
bug.cc:6:6: note: previous declaration of 'auto i'
bug.cc:6:11: internal compiler error: in mangle_decl_string, at
cp/mangle.c:3426
 auto i = 0;
   ^
0x712eff mangle_decl_string
../../gcc/gcc/cp/mangle.c:3426
0x713000 get_mangled_id
../../gcc/gcc/cp/mangle.c:3468
0x713000 mangle_decl(tree_node*)
../../gcc/gcc/cp/mangle.c:3491
0xd3c6d0 decl_assembler_name(tree_node*)
../../gcc/gcc/tree.c:587
0xb2e23e wrapup_global_declaration_2(tree_node*)
../../gcc/gcc/toplev.c:403
0xb2e39b wrapup_global_declarations(tree_node**, int)
../../gcc/gcc/toplev.c:445
0x55e804 wrapup_globals_for_namespace(tree_node*, void*)
../../gcc/gcc/cp/decl.c:882
0x55b7ec walk_namespaces_r
../../gcc/gcc/cp/decl.c:844
0x629884 cp_write_global_declarations()
../../gcc/gcc/cp/decl2.c:4303
Please submit a full bug report, [etc.]


[Bug c++/59114] New: [c++1y] ICE using auto in conversion operator

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59114

Bug ID: 59114
   Summary: [c++1y] ICE using auto in conversion operator
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following invalid code snippet (compiled with "-std=c++1y") triggers an ICE
since GCC 4.8.0:

===
template struct A
{
  template operator T();
};

void foo()
{
  A<0>().operator auto();
}
===

bug.cc: In function 'void foo()':
bug.cc:8:24: internal compiler error: in push_access_scope, at cp/pt.c:220
   A<0>().operator auto();
^
0x591647 push_access_scope
../../gcc/gcc/cp/pt.c:219
0x5e266c fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool)
../../gcc/gcc/cp/pt.c:15679
0x54d05c add_template_candidate_real
../../gcc/gcc/cp/call.c:2923
0x548ce9 add_template_candidate
../../gcc/gcc/cp/call.c:3020
0x548ce9 add_candidates
../../gcc/gcc/cp/call.c:5075
0x550617 build_new_method_call_1
../../gcc/gcc/cp/call.c:7698
0x550617 build_new_method_call(tree_node*, tree_node*, vec**, tree_node*, int, tree_node**, int)
../../gcc/gcc/cp/call.c:7884
0x652842 cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:6065
0x6548cd cp_parser_unary_expression
../../gcc/gcc/cp/parser.c:7100
0x65543f cp_parser_binary_expression
../../gcc/gcc/cp/parser.c:7804
0x65590f cp_parser_assignment_expression
../../gcc/gcc/cp/parser.c:8042
0x657e63 cp_parser_expression
../../gcc/gcc/cp/parser.c:8204
0x65865e cp_parser_expression
../../gcc/gcc/cp/parser.c:8243
0x65865e cp_parser_expression_statement
../../gcc/gcc/cp/parser.c:9542
0x64df67 cp_parser_statement
../../gcc/gcc/cp/parser.c:9393
0x64ec49 cp_parser_statement_seq_opt
../../gcc/gcc/cp/parser.c:9665
0x64edbe cp_parser_compound_statement
../../gcc/gcc/cp/parser.c:9619
0x66248b cp_parser_function_body
../../gcc/gcc/cp/parser.c:18525
0x66248b cp_parser_ctor_initializer_opt_and_function_body
../../gcc/gcc/cp/parser.c:18561
0x6662c3 cp_parser_function_definition_after_declarator
../../gcc/gcc/cp/parser.c:22593
Please submit a full bug report, [etc.]


[Bug c++/59115] New: [c++1y] ICE with auto as template parameter

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59115

Bug ID: 59115
   Summary: [c++1y] ICE with auto as template parameter
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following invalid code snippet (compiled with "-std=c++1y") triggers an ICE
on trunk:

===
template void foo(T, auto) {}

void bar()
{
  foo(0, 0);
}
===

bug.cc:1:22: error: 'auto' parameter not permitted in this context
 template void foo(T, auto) {}
  ^
bug.cc: In substitution of 'template, int
, class auto:1> void foo(T, auto:1) [with T = int;  = ; int  = ; auto:1 = ]':
bug.cc:5:11:   required from here
bug.cc:5:11: internal compiler error: in unify, at cp/pt.c:17279
   foo(0, 0);
   ^
0x5d5e3d unify
../../gcc/gcc/cp/pt.c:17279
0x5de566 unify_one_argument
../../gcc/gcc/cp/pt.c:16102
0x5d3493 type_unification_real
../../gcc/gcc/cp/pt.c:16174
0x5e225e fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool)
../../gcc/gcc/cp/pt.c:15615
0x54d05c add_template_candidate_real
../../gcc/gcc/cp/call.c:2923
0x548ce9 add_template_candidate
../../gcc/gcc/cp/call.c:3020
0x548ce9 add_candidates
../../gcc/gcc/cp/call.c:5075
0x550062 perform_overload_resolution
../../gcc/gcc/cp/call.c:3816
0x556b5a build_new_function_call(tree_node*, vec**, bool, int)
../../gcc/gcc/cp/call.c:3893
0x6cc2d0 finish_call_expr(tree_node*, vec**, bool,
bool, int)
../../gcc/gcc/cp/semantics.c:2274
0x652023 cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:6094
0x6548cd cp_parser_unary_expression
../../gcc/gcc/cp/parser.c:7100
0x65543f cp_parser_binary_expression
../../gcc/gcc/cp/parser.c:7804
0x65590f cp_parser_assignment_expression
../../gcc/gcc/cp/parser.c:8042
0x657e63 cp_parser_expression
../../gcc/gcc/cp/parser.c:8204
0x65865e cp_parser_expression
../../gcc/gcc/cp/parser.c:8243
0x65865e cp_parser_expression_statement
../../gcc/gcc/cp/parser.c:9542
0x64df67 cp_parser_statement
../../gcc/gcc/cp/parser.c:9393
0x64ec49 cp_parser_statement_seq_opt
../../gcc/gcc/cp/parser.c:9665
0x64edbe cp_parser_compound_statement
../../gcc/gcc/cp/parser.c:9619
Please submit a full bug report, [etc.]


[Bug rtl-optimization/59099] Erroneous register allocation on 32-bit x86 using regparm

2013-11-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59099

H.J. Lu  changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu.org
   Target Milestone|--- |4.9.0

--- Comment #1 from H.J. Lu  ---
It is caused by r204698.  I also saw:

FAIL: gcc.dg/ira-shrinkwrap-prep-1.c scan-rtl-dump ira "Split live-range of
register"
FAIL: gcc.dg/ira-shrinkwrap-prep-1.c scan-rtl-dump ira "Will split live ranges
of parameters"
FAIL: gcc.dg/ira-shrinkwrap-prep-1.c scan-rtl-dump pro_and_epilogue "Performing
shrink-wrapping"
FAIL: gcc.dg/ira-shrinkwrap-prep-2.c scan-rtl-dump ira "Split live-range of
register"
FAIL: gcc.dg/ira-shrinkwrap-prep-2.c scan-rtl-dump ira "Will split live ranges
of parameters"
FAIL: gcc.dg/ira-shrinkwrap-prep-2.c scan-rtl-dump pro_and_epilogue "Performing
shrink-wrapping"

on x86-64.


[Bug c++/58533] [c++1y] ICE with auto in function pointer

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58533

Volker Reichelt  changed:

   What|Removed |Added

   Keywords|ice-on-valid-code   |error-recovery,
   ||ice-on-invalid-code

--- Comment #2 from Volker Reichelt  ---
Sorry, it's not compiled but properly rejected now.


[Bug middle-end/58555] [4.9 Regression] Floating point exception in want_inline_self_recursive_call_p

2013-11-13 Thread octoploid at yandex dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58555

--- Comment #10 from Markus Trippelsdorf  ---
(In reply to David Binderman from comment #9)
> (In reply to Markus Trippelsdorf from comment #8)
> > The following patch seems to fix the issue:
> 
> Looks good to me. 
> 
> I think it needs to get into the compiler source code somehow.
> 
> Would posting the patch to gcc-patches be the correct way forward ?

Yes, but I'd prefer not to. Because without commit rights you'll
have to find someone to commit things for you. And the need to 
repeatedly ping even for trivial patches soon gets ridiculous.


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #9 from Jack Howarth  ---
(In reply to Alexander Potapenko from comment #8)
> Clang's libclang_rt.asan_osx_dynamic.dylib depends on the Foundation
> framework. When I remove that dependency, ASanified programs crash on the
> same env_ptr assertion.

Should we just add a CoreFoundation linkage to the creation of libasan.1.dylib
in FSF gcc instead?


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread glider at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #10 from Alexander Potapenko  ---
This might help, but we don't actually need that dependency.
Instead libsanitizer should be updated to r194573.


[Bug c++/59111] [4.9 Regression] [c++11] ICE on invalid usage of auto in return type

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59111

Richard Biener  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
   Target Milestone|--- |4.9.0


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread glider at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #12 from Alexander Potapenko  ---
That was Foundation, not sure if CoreFoundation also works.


[Bug c++/59080] [4.9 Regression] [c++11] ICE with array of auto

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59080

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug tree-optimization/56902] Fails to SLP with mismatched +/- and negatable constants

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56902

--- Comment #2 from Richard Biener  ---
Created attachment 31209
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31209&action=edit
hack

Btw, I also had a patch^Whack, see attached.  Also further patches that didn't
get merged to take care of vectorizing PR37021 better.


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #11 from Jack Howarth  ---
(In reply to Alexander Potapenko from comment #10)
> This might help, but we don't actually need that dependency.
> Instead libsanitizer should be updated to r194573.

Okay, I assume the missing linkage should be a trivial change like...

Index: libsanitizer/asan/Makefile.am
===
--- libsanitizer/asan/Makefile.am(revision 204618)
+++ libsanitizer/asan/Makefile.am(working copy)
@@ -43,7 +43,11 @@ libasan_la_LIBADD = $(top_builddir)/sani
 endif
 libasan_la_LIBADD += $(LIBSTDCXX_RAW_CXX_LDFLAGS)

+if USING_MAC_INTERPOSE
+libasan_la_LDFLAGS = -framework CoreFoundation -version-info `grep -v '^\#'
$(srcdir)/libtool-version` -lpthread -ldl
+else
 libasan_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
-lpthread -ldl
+endif

 libasan_preinit.o: asan_preinit.o
 cp $< $@


[Bug c++/59082] [4.7/4.8/4.9 Regression] ICE with duplicate (virtual) base

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59082

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P5
   Target Milestone|--- |4.7.4


[Bug libstdc++/59087] Issues including complex.h in C++11/1y mode because of C's complex.h

2013-11-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59087

--- Comment #4 from Marc Glisse  ---
Author: glisse
Date: Wed Nov 13 15:47:04 2013
New Revision: 204750

URL: http://gcc.gnu.org/viewcvs?rev=204750&root=gcc&view=rev
Log:
2013-11-13  Marc Glisse  

PR libstdc++/59087
* include/ext/pod_char_traits.h: Uglify V, I and S.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/ext/pod_char_traits.h


[Bug libstdc++/59116] New: std::nth_element segfaults by invalidating one of the vector elements

2013-11-13 Thread chandraprakashblr at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59116

Bug ID: 59116
   Summary: std::nth_element segfaults by invalidating one of the
vector elements
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chandraprakashblr at gmail dot com

std::nth_element segfaults by invalidating one of the vector elements.

Note : Replacing nth_element by partial_sort works fine.

Trying nth_element less than 6 also doesn't result in segfault.


Sample program : 

#include 
#include 
#include 
#include 

int main()
{
  for (size_t i(0); i < 1000; ++i) {
std::vector vec;
uint32_t nth_element = 7;

for (size_t i(0); i < 10; ++i) {
  vec.push_back(std::rand());
  std::cout << " n = " << vec.back() << std::endl;
}
assert((vec.size() >= nth_element));
std::nth_element(vec.begin(), vec.begin() + nth_element, vec.end());
  }
}


// commandline:  g++ nth_element.cc -std=c++11  -Wall -Wextra 



// stack trace

Program received signal SIGSEGV, Segmentation fault.
0x00401fdf in __gnu_cxx::__normal_iterator > >
std::__unguarded_partition<__gnu_cxx::__normal_iterator > >, int>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, int const&) ()


// system info

OS Ubuntu 13.10 (64 bit)

gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.8.1-10ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin
--with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
--enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre
--enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)


[Bug c++/59083] -fisolate-erroneous-paths produces illegal instruction with enabled -fprofile-generate

2013-11-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59083

--- Comment #15 from Richard Biener  ---
Note that technically invalid C programs still may be "reasonable".  For
example
writing *0 = 1; and catching that via sigsetjmp/siglongjmp and a signal handler
is possible but of course invokes undefined behavior according to the C
standard.

But yes, if now random "POSIX" programs start failing then that's bad.  Does
-fnon-call-exceptions exeption handling on SJLJ targets still work?  (I suppose
we lower to SJLJ only after RTL expansion or we at least still have EH edges
around).


[Bug rtl-optimization/59099] [4.9 Regression] Erroneous register allocation on 32-bit x86 using regparm

2013-11-13 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59099

Martin Jambor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-11-13
   Assignee|unassigned at gcc dot gnu.org  |jamborm at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Jambor  ---
The test failures should be resolved by
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01461.html

The original problem is another matter and I will have a look into it.


[Bug libstdc++/59116] std::nth_element segfaults by invalidating one of the vector elements

2013-11-13 Thread chandraprakashblr at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59116

--- Comment #1 from chandraprakashblr at gmail dot com ---
Created attachment 31210
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31210&action=edit
preprocessed file of sample program


[Bug libstdc++/59116] std::nth_element segfaults by invalidating one of the vector elements

2013-11-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59116

Marc Glisse  changed:

   What|Removed |Added

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

--- Comment #2 from Marc Glisse  ---
Already fixed.

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


[Bug libstdc++/58800] [4.7/4.8/4.9 Regression] std::nth_element segfaults on valid input

2013-11-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58800

Marc Glisse  changed:

   What|Removed |Added

 CC||chandraprakashblr at gmail dot 
com

--- Comment #26 from Marc Glisse  ---
*** Bug 59116 has been marked as a duplicate of this bug. ***


[Bug bootstrap/58951] [4.9 regression] cilk build fails due to use of -ldl

2013-11-13 Thread gerald at pfeifer dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58951

Gerald Pfeifer  changed:

   What|Removed |Added

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

--- Comment #4 from Gerald Pfeifer  ---
Fixed now, confirmed on i386-unknown-freebsd10.0 with the following
additional change:

  2013-11-12  Balaji V. Iyer  

* Makefile.am (libcilkrts_la_LDFLAGS): Added a check for availability
of "-ldl" flag.
* configure.ac: Likewise.
* configure: Regenerate
* Makefile.in: Likewise.


[Bug objc++/59117] New: Is the default constructor generated by the compiler actually called?

2013-11-13 Thread konevaanna2012 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59117

Bug ID: 59117
   Summary: Is the default constructor generated by the compiler
actually called?
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: objc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: konevaanna2012 at gmail dot com

Dear sirs!
I am Anna Koneva from Moscow, Russia. I have faced with some problem using
XCode 4.6.3 and the LLVM GCC 4.2. I use the following code.

Let's say we have an Objective-C class and a C++ class:

FileObjCClass.h:

#include "CppClass.h"

@interface ObjCClass :NSObject
{
CppClass cppClass;
}

- (void)SomeObjCMethod;
@end

File ObjCClass.mm:

#import "ObjCClass.h"

@implementation ObjCClass

- (void)SomeObjCMethod
{
cppClass.someMethod(43);
}
@end

FileCppClass.h:

classCppClass
{
private:
int _var;
public:
CppClass();
int someMethod(int param);
};

File CppClass.cpp:

#include "CppClass.h"
#include 

using namespace std;

CppClass::CppClass()
{
_var = 26;
}

int CppClass::someMethod(int param)
{
cout << "param = " << param << endl << "_var = " << _var << endl;
return param;
}

File main.mm:

#import 
#import "ObjCClass.h"

int main(int argc, const char * argv[])
{
ObjCClass *obj = [[ObjCClass alloc]init];
[obj SomeObjCMethod];
[obj release];
return 0;
}

If you switch to «LLVM GCC» from «Apple LLVM compiler» (selected by default
after the creation of the project) a checkbox appears in the project settings
(which is not available for Clang) «Call C++ Default Ctors / Dtors in
Objective-C» (GCC_OBJC_CALL_CXX_CDTORS, -fobjc-call-cxx-cdtors).

Case 1. The checkbox is off.

Results: compiler warnings

«Type 'CppClass' has a user-defined constructor»
«C++ constructors and destructors will not be invoked for Objective-C fields»

The sequence of calls (in order from top to bottom):
— [ObjCClass init]
— [ObjCClass SomeObjCMethod]
CppClass::someMethod(int)

What is interesting, the program succeeds and does not crash.

In this case, our constructor (CppClass::CppClass) actually is not called, but
the object is still created. It seems that the constructor generated by the
compiler is called, but the ours is ignored. 

So my question - is it really called the constructor generated by GCC? How can
I prove it? Can I see it in the assembly listing or somehow else? Or am I
totally wrong?

In this case the variable _var has a value 0 both in release and in debug
modes, though in C++ member variables are not initialized by default.

Case 2. If the checkbox is on, then our constructor will be successfully
invoked.

Results:
no compiler warnings

The sequence of calls:
_objc_rootAllocWithZone
object_cxxConstructFromClass(objc_object*, objc_class*)
— [ObjCClass .cxx_construct]
CppClass::CppClass()
— [ObjCClass init]
— [ObjCClass SomeObjCMethod]
CppClass::someMethod(int)

[Bug sanitizer/59009] libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux

2013-11-13 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009

--- Comment #8 from Pat Haugen  ---
(In reply to Kostya Serebryany from comment #7)
> Is this fixed by  http://gcc.gnu.org/viewcvs?rev=204726&root=gcc&view=rev ?

I just tried r204726 on powerpc64-linux and it's failing as follows now.

In file included from
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:17:0:
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:247:72:
error: size of array ‘assertion_failed__869’ is negative
 typedef char IMPL_PASTE(assertion_failed_##_, line)[2*(int)(pred)-1]
^
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:241:30:
note: in expansion of macro ‘IMPL_COMPILER_ASSERT’
 #define COMPILER_CHECK(pred) IMPL_COMPILER_ASSERT(pred, __LINE__)
  ^
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:739:3:
note: in expansion of macro ‘COMPILER_CHECK’
   COMPILER_CHECK(sizeof(__sanitizer_##TYPE) == sizeof(TYPE))
   ^
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:869:1:
note: in expansion of macro ‘CHECK_TYPE_SIZE’
 CHECK_TYPE_SIZE(__kernel_old_uid_t);
 ^
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:247:72:
error: size of array ‘assertion_failed__870’ is negative
 typedef char IMPL_PASTE(assertion_failed_##_, line)[2*(int)(pred)-1]
^
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:241:30:
note: in expansion of macro ‘IMPL_COMPILER_ASSERT’
 #define COMPILER_CHECK(pred) IMPL_COMPILER_ASSERT(pred, __LINE__)
  ^
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:739:3:
note: in expansion of macro ‘COMPILER_CHECK’
   COMPILER_CHECK(sizeof(__sanitizer_##TYPE) == sizeof(TYPE))
   ^
/home/pthaugen/src/gcc/trunk/gcc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:870:1:
note: in expansion of macro ‘CHECK_TYPE_SIZE’
 CHECK_TYPE_SIZE(__kernel_old_gid_t);
 ^
make: *** [sanitizer_platform_limits_posix.lo] Error 1

[Bug c++/59083] -fisolate-erroneous-paths produces illegal instruction with enabled -fprofile-generate

2013-11-13 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59083

--- Comment #16 from Jeffrey A. Law  ---
Richi,

No doubt about *0 = 1 and the like.  While it's clearly undefined, I think
we've got to continue to support catching the SIGSEGV/SIGBUS from a QOI
standpoint.  That's why I installed the changes to preserve the actual null
dereferences yesterday.

The cases where a NULL is passed as an argument to a function which declares
the argument must be non-NULL isn't as clear cut.  Similarly for a NULL which
reaches a return statement in a function declared as returning non-NULL.   I
feel we're doing the right thing for those by just trapping.  There's no
guarantee the caller/callee will dereference those values -- all we know is a
NULL pointer is disallowed in those cases by way of the attributes.

And FWIW, we're going to have the same bundle of questions when we want to
start isolating and trapping out of bounds array accesses.

All cases look more and more like something we should be warning about.

WRT non-call-exceptions on SJLJ targets, we should still have the EH edges
around, so fixing the abnormal edge handing should be all we need to do (of
course, SJLJ targets are less and less important, but presumably they're still
around?)


[Bug c++/59083] -fisolate-erroneous-paths produces illegal instruction with enabled -fprofile-generate

2013-11-13 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59083

--- Comment #17 from Jeffrey A. Law  ---
Markus,

For the kernel case, note the qsort prototype and the non-null attribute.  That
explicitly states that the pointer arguments must not be null.  Any code which
then passes null for those arguments has stepped into the realm of undefined
behaviour.

Prior to CCP2 we have:

main ()
{
  int * _3;

;;   basic block 2, loop depth 0, count 0, freq 1, maybe hot
;;prev block 0, next block 1, flags: (NEW, REACHABLE)
;;pred:   ENTRY [100.0%]  (FALLTHRU,EXECUTABLE)
  _3 = a.offset;
  qsort (_3, 0);
  return 0;
;;succ:   EXIT [100.0%]

}

a.offset gets folded to zero by CCP2 resulting in:
main ()
{
;;   basic block 2, loop depth 0, count 0, freq 1, maybe hot
;;prev block 0, next block 1, flags: (NEW, REACHABLE)
;;pred:   ENTRY [100.0%]  (FALLTHRU,EXECUTABLE)
  qsort (0B, 0);
  return 0;
;;succ:   EXIT [100.0%]

}

Note we're passing NULL as the first argument to qsort, which has a declaration
saying that none of its pointer arguments can be NULL.  

Note we're able to fold a.offset to zero because we can see "a"'s initializer. 

AFAICT the code is doing exactly what is expected.


[Bug c++/59118] New: internal compiler error: Segmentation fault - with "using" keyword and template parameter(s) (C++11)

2013-11-13 Thread reagentoo at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59118

Bug ID: 59118
   Summary: internal compiler error: Segmentation fault - with
"using" keyword and template parameter(s) (C++11)
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reagentoo at gmail dot com

Minimal code where the bug is reproducible (http://ideone.com/tTVorC):

#include 

template 
class Test {
public:
template 
using Wrapper = std::string;

template  class C>
void func(const C& t) {
t;
return;
}

void test()
{
std::string sss;
Wrapper www;
func((const Wrapper&)sss);
}
};

int main(int argc, char *argv[])
{
Test ttt;
ttt.test();
}


[Bug c++/59083] -fisolate-erroneous-paths produces illegal instruction with enabled -fprofile-generate

2013-11-13 Thread octoploid at yandex dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59083

--- Comment #18 from Markus Trippelsdorf  ---
(In reply to Jeffrey A. Law from comment #17)
> For the kernel case, note the qsort prototype and the non-null attribute. 
> That explicitly states that the pointer arguments must not be null.  Any
> code which then passes null for those arguments has stepped into the realm
> of undefined behaviour.

Yes, I've already posted a patch to the LKML to fix this issue.

Now the question is if one could also find *real* bugs with the help of
 -fisolate-erroneous-path and if the inconvenience of breaking otherwise 
"harmless" programs is counterbalanced by this ability?


[Bug sanitizer/59009] libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux

2013-11-13 Thread bergner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009

--- Comment #9 from Peter Bergner  ---
I'm testing a fix for the left over failures.


[Bug c++/59083] -fisolate-erroneous-paths produces illegal instruction with enabled -fprofile-generate

2013-11-13 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59083

--- Comment #19 from Jeffrey A. Law  ---
Yes, the glibc guys have already found real bugs that they've fixed.


[Bug sanitizer/59009] libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux

2013-11-13 Thread meissner at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009

--- Comment #10 from Michael Meissner  ---
On Wed, Nov 13, 2013 at 06:03:50AM +, kcc at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009
> 
> --- Comment #7 from Kostya Serebryany  ---
> Is this fixed by  http://gcc.gnu.org/viewcvs?rev=204726&root=gcc&view=rev ?

No, other patches are needed as communicated in the other threads on this.


[Bug middle-end/59119] New: Segfault in -fisolate-erroneous-paths pass

2013-11-13 Thread uweigand at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59119

Bug ID: 59119
   Summary: Segfault in -fisolate-erroneous-paths pass
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: uweigand at gcc dot gnu.org

Building the following test case (reduced from Python 2.7.5) with -O2 -g:

extern void *memmove (void *, const void *, __SIZE_TYPE__);
extern void *memset (void *, int, __SIZE_TYPE__);

typedef struct {
long n_prefix;
long n_spadding;
} NumberFieldWidths;

void
fill_number(char *buf, const NumberFieldWidths *spec)
{
if (spec->n_prefix) {
memmove(buf,
(char *) 0,
spec->n_prefix * sizeof(char));
buf += spec->n_prefix;
}
if (spec->n_spadding) {
memset(buf, 0, spec->n_spadding);
buf += spec->n_spadding;
}
}

crashes the compiler with:

formatter_string.i: In function ‘fill_number’:
formatter_string.i:11:1: internal compiler error: Segmentation fault
 fill_number(char *buf, const NumberFieldWidths *spec)
 ^
0x1064f147 crash_signal
/home/uweigand/src/gcc/gcc/toplev.c:334
0x1090806c ptrofftype_p
/home/uweigand/src/gcc/gcc/tree.h:4463
0x1090806c build2_stat(tree_code, tree_node*, tree_node*, tree_node*)
/home/uweigand/src/gcc/gcc/tree.c:4151
0x1022c0db gimple_assign_rhs_to_tree(gimple_statement_d*)
/home/uweigand/src/gcc/gcc/cfgexpand.c:103
0x10861e67 insert_debug_temp_for_var_def(gimple_stmt_iterator_d*, tree_node*)
/home/uweigand/src/gcc/gcc/tree-ssa.c:442
0x10862397 insert_debug_temps_for_defs(gimple_stmt_iterator_d*)
/home/uweigand/src/gcc/gcc/tree-ssa.c:549
0x103ff49b gsi_remove(gimple_stmt_iterator_d*, bool)
/home/uweigand/src/gcc/gcc/gimple-iterator.c:563
0x10ba8083 insert_trap_and_remove_trailing_statements
/home/uweigand/src/gcc/gcc/gimple-ssa-isolate-paths.c:110
0x10ba8a47 gimple_ssa_isolate_erroneous_paths
/home/uweigand/src/gcc/gcc/gimple-ssa-isolate-paths.c:305
0x10ba8a47 execute
/home/uweigand/src/gcc/gcc/gimple-ssa-isolate-paths.c:370

[Bug sanitizer/59009] libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux

2013-11-13 Thread bergner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009

--- Comment #11 from Peter Bergner  ---
This patch seem to have fixed the last of the powerpc64-linux build failures:

Index: libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
===
--- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc   
(revision 204747)
+++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc   
(working copy)
@@ -855,6 +855,7 @@ CHECK_STRUCT_SIZE_AND_OFFSET(sigaction, 
 CHECK_STRUCT_SIZE_AND_OFFSET(sigaction, sa_restorer);
 #endif

+#ifdef SYSCALL_INTERCEPTION
 #if SANITIZER_LINUX
 CHECK_TYPE_SIZE(__sysctl_args);
 CHECK_SIZE_AND_OFFSET(__sysctl_args, name);
@@ -872,6 +873,7 @@ CHECK_TYPE_SIZE(__kernel_off_t);
 CHECK_TYPE_SIZE(__kernel_loff_t);
 CHECK_TYPE_SIZE(__kernel_fd_set);
 #endif
+#endif

 #if !SANITIZER_ANDROID
 CHECK_TYPE_SIZE(wordexp_t);


[Bug sanitizer/59009] libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux

2013-11-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009

--- Comment #12 from Jakub Jelinek  ---
(In reply to Peter Bergner from comment #11)
> This patch seem to have fixed the last of the powerpc64-linux build failures:
> 
> Index: libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
> ===
> --- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
> (revision 204747)
> +++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
> (working copy)
> @@ -855,6 +855,7 @@ CHECK_STRUCT_SIZE_AND_OFFSET(sigaction, 
>  CHECK_STRUCT_SIZE_AND_OFFSET(sigaction, sa_restorer);
>  #endif
>  
> +#ifdef SYSCALL_INTERCEPTION
>  #if SANITIZER_LINUX
>  CHECK_TYPE_SIZE(__sysctl_args);
>  CHECK_SIZE_AND_OFFSET(__sysctl_args, name);
> @@ -872,6 +873,7 @@ CHECK_TYPE_SIZE(__kernel_off_t);
>  CHECK_TYPE_SIZE(__kernel_loff_t);
>  CHECK_TYPE_SIZE(__kernel_fd_set);
>  #endif
> +#endif
>  
>  #if !SANITIZER_ANDROID
>  CHECK_TYPE_SIZE(wordexp_t);

If it compiles/links and you don't get new undefined symbols from libasan, then
I guess it should work (of course, please do make check to verify).  If Kostya
doesn't have anything against it and testing looks good, please write a
ChangeLog and check it in.


[Bug sanitizer/59009] libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux

2013-11-13 Thread kcc at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009

--- Comment #13 from Kostya Serebryany  ---
No objections, thanks!


[Bug tree-optimization/59109] [4.9 regression] ICE in mark_reachable_handlers, at tree-eh.c:3826

2013-11-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59109

Eric Botcazou  changed:

   What|Removed |Added

 Target|ia64-*-*|
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-13
 CC||ebotcazou at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Eric Botcazou  ---
It's broken everywhere.


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #13 from Jack Howarth  ---
(In reply to Alexander Potapenko from comment #12)
> That was Foundation, not sure if CoreFoundation also works.

Linking libasan against -Wl,-framework,CoreFoundation for gcc trunk at r204750
suppresses all of the failures in asan.exp on x86_64-apple-darwin12. Retesting
with -Wl,-framework,Foundation.


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread glider at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #14 from Alexander Potapenko  ---
I think one of the frameworks depends on another one, please make sure to
pick the latter one if that's true.
Also add a comment denoting this is a dirty workaround.
On Nov 13, 2013 9:38 PM, "howarth at nitro dot med.uc.edu" <
gcc-bugzi...@gcc.gnu.org> wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994
>
> --- Comment #13 from Jack Howarth  ---
> (In reply to Alexander Potapenko from comment #12)
> > That was Foundation, not sure if CoreFoundation also works.
>
> Linking libasan against -Wl,-framework,CoreFoundation for gcc trunk at
> r204750
> suppresses all of the failures in asan.exp on x86_64-apple-darwin12.
> Retesting
> with -Wl,-framework,Foundation.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
>


[Bug rtl-optimization/59036] [4.9 regression] Performance degradation after r204212 on 32-bit x86 targets.

2013-11-13 Thread vmakarov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59036

--- Comment #3 from Vladimir Makarov  ---
Author: vmakarov
Date: Wed Nov 13 18:00:43 2013
New Revision: 204752

URL: http://gcc.gnu.org/viewcvs?rev=204752&root=gcc&view=rev
Log:
2013-11-13  Vladimir Makarov  

PR rtl-optimization/59036
* ira-color.c (struct allocno_color_data): Add new members
first_thread_allocno, next_thread_allocno, thread_freq.
(sorted_copies): New static var.
(allocnos_conflict_by_live_ranges_p, copy_freq_compare_func): Move
up.
(allocno_thread_conflict_p, merge_threads)
(form_threads_from_copies, form_threads_from_bucket)
(form_threads_from_colorable_allocno, init_allocno_threads): New
functions.
(bucket_allocno_compare_func): Add comparison by thread frequency
and threads.
(add_allocno_to_ordered_bucket): Rename to
add_allocno_to_ordered_colorable_bucket.  Remove parameter.
(push_only_colorable): Call form_threads_from_bucket.
(color_pass): Call init_allocno_threads.  Use
consideration_allocno_bitmap instead of coloring_allocno_bitmap
for nuillify allocno color data.
(ira_initiate_assign, ira_finish_assign): Allocate/free
sorted_copies.
(coalesce_allocnos): Use static sorted copies.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c


[Bug middle-end/59119] Segfault in -fisolate-erroneous-paths pass

2013-11-13 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59119

Jeffrey A. Law  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-11-13
 CC||law at redhat dot com
   Assignee|unassigned at gcc dot gnu.org  |law at redhat dot com
 Ever confirmed|0   |1

--- Comment #1 from Jeffrey A. Law  ---
Thanks Ulrich.  I'm pretty sure I know what's going on here.  When we remove
statements after the builtin_trap, we remove them in statement order:

;;   basic block 3, loop depth 0
;;pred:   2
  _8 = (long unsigned int) _6;
  memmove (buf_7(D), 0B, _8);
  _10 = spec_5(D)->n_prefix;
  _11 = (sizetype) _10;
  buf_12 = buf_7(D) + _11;
  # DEBUG buf => buf_12

In this block we're going to insert a __builtin_trap before the memmove call as
memmove is not allowed to have NULL pointer arguments.

When then proceed to remove the remaining statements in the block starting with
the memmove call proceeding to the end of the block.  As we remove statements
with an LHS (such as _11 = ...) we release the SSA name back to the name
manager.

The problem is once released, we're not supposed to touch the names anymore. 
But a later remove (say of the statement buf_12 = ... ) may try to insert debug
temps which will look at the RHS of that statement.  In particular it'll look
at SSA_NAME 11 which we have already released to the manager.

This should be an easy fix.


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #15 from Jack Howarth  ---
(In reply to Alexander Potapenko from comment #14)
> I think one of the frameworks depends on another one, please make sure to
> pick the latter one if that's true.
> Also add a comment denoting this is a dirty workaround.
> On Nov 13, 2013 9:38 PM, "howarth at nitro dot med.uc.edu" <
> gcc-bugzi...@gcc.gnu.org> wrote:
> 
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994
> >
> > --- Comment #13 from Jack Howarth  ---
> > (In reply to Alexander Potapenko from comment #12)
> > > That was Foundation, not sure if CoreFoundation also works.
> >
> > Linking libasan against -Wl,-framework,CoreFoundation for gcc trunk at
> > r204750
> > suppresses all of the failures in asan.exp on x86_64-apple-darwin12.
> > Retesting
> > with -Wl,-framework,Foundation.
> >
> > --
> > You are receiving this mail because:
> > You are on the CC list for the bug.
> >

The Foundation framework is already linked against the CoreFoundation
framework. I've confirmed that linking libasan against
-Wl,-framework,Foundation alone (as is done by llvm) is sufficient to suppress
the asan.exp failures. This change will duplicate the linkage used by llvm for
the asan shared library. Posted proposed patch at
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01499.html,


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread glider at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #16 from Alexander Potapenko  ---
I've actually removed the Foundation linkage from LLVM today.
On Nov 13, 2013 10:45 PM, "howarth at nitro dot med.uc.edu" <
gcc-bugzi...@gcc.gnu.org> wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994
>
> --- Comment #15 from Jack Howarth  ---
> (In reply to Alexander Potapenko from comment #14)
> > I think one of the frameworks depends on another one, please make sure to
> > pick the latter one if that's true.
> > Also add a comment denoting this is a dirty workaround.
> > On Nov 13, 2013 9:38 PM, "howarth at nitro dot med.uc.edu" <
> > gcc-bugzi...@gcc.gnu.org> wrote:
> >
> > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994
> > >
> > > --- Comment #13 from Jack Howarth 
> ---
> > > (In reply to Alexander Potapenko from comment #12)
> > > > That was Foundation, not sure if CoreFoundation also works.
> > >
> > > Linking libasan against -Wl,-framework,CoreFoundation for gcc trunk at
> > > r204750
> > > suppresses all of the failures in asan.exp on x86_64-apple-darwin12.
> > > Retesting
> > > with -Wl,-framework,Foundation.
> > >
> > > --
> > > You are receiving this mail because:
> > > You are on the CC list for the bug.
> > >
>
> The Foundation framework is already linked against the CoreFoundation
> framework. I've confirmed that linking libasan against
> -Wl,-framework,Foundation alone (as is done by llvm) is sufficient to
> suppress
> the asan.exp failures. This change will duplicate the linkage used by llvm
> for
> the asan shared library. Posted proposed patch at
> http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01499.html,
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
>


[Bug middle-end/59119] Segfault in -fisolate-erroneous-paths pass

2013-11-13 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59119

--- Comment #2 from Jeffrey A. Law  ---
Ah nuts.

While pondering this a bit more, I realized we have the same problem in this
code that we do in DOM.   Namely that we can have references to SSA_NAMEs that
have been released to the name manager in blocks that become unreachable. 
That's fine except that we're also creating new SSA_NAMEs which is strictly
verboten if there are still references to released names in the IL.

I'm going to have to ponder this a bit more.


[Bug ada/54040] [x32] Incorrect timeval and timespec

2013-11-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54040

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-13
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1

--- Comment #1 from H.J. Lu  ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01504.html


[Bug ada/54040] [x32] Incorrect timeval and timespec

2013-11-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54040

H.J. Lu  changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu.org

--- Comment #2 from H.J. Lu  ---
Without the fix, many Ada tests fail with timeout:

FAIL: gnat.dg/curr_task.adb execution test
FAIL: gnat.dg/interface2.adb execution test
FAIL: gnat.dg/lto8.adb execution test
FAIL: gnat.dg/null_pointer_deref2.adb execution test
FAIL: gnat.dg/requeue1.adb execution test
FAIL: gnat.dg/stack_check1.adb execution test
FAIL: gnat.dg/stack_check2.adb execution test
FAIL: gnat.dg/task_stack_align.adb execution test
FAIL: gnat.dg/test_image.adb execution test
FAIL: gnat.dg/test_prio.adb execution test
FAIL: gnat.dg/timer_cancel.adb execution test


[Bug sanitizer/58994] asan.exp regressions on x86_64 darwin at -m64 but not -m32 at r204372

2013-11-13 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58994

--- Comment #17 from Jack Howarth  ---
(In reply to Alexander Potapenko from comment #16)
> I've actually removed the Foundation linkage from LLVM today.

Unfortunately, that is impossible to test here. A remerge of llvm libsanitizer
at 194597 with gcc trunk at r204752 bootstraps on x86_64-apple-darwin12 but
shows
lots of new test suite failures in asan.exp...

FAIL: c-c++-common/asan/global-overflow-1.c  -O0  output pattern test, is dyld:
Symbol not found: __ZN11__sanitizer10Symbolizer21symbolizer_allocator_E
  Referenced from:
/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/x86_64-apple-darwin12.5.0/i386/libsanitizer/asan/.libs/libasan.1.dylib
  Expected in: flat namespace
 in
/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/x86_64-apple-darwin12.5.0/i386/libsanitizer/asan/.libs/libasan.1.dylib
, should match READ of size 1 at 0x[0-9a-f]+ thread T0.*(
|
)#0 0x[0-9a-f]+ (in _*main ([^
]*global-overflow-1.c:20|[^
]*:0)|[(])[^
]*(
|
).*0x[0-9a-f]+ is located 0 bytes to the right of global variable.*YYY[^
]* of size 10[^
]*(
|
)

Shouldn't llvm's libsanitizer be better synced with FSF gcc's at this point?


[Bug target/57363] IBM long double: adding NaN and number raises inexact exception

2013-11-13 Thread uweigand at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57363

Ulrich Weigand  changed:

   What|Removed |Added

 CC||uweigand at gcc dot gnu.org

--- Comment #3 from Ulrich Weigand  ---
Hi Adhemerval, I'm also seeing that this patch fixes some glibc failures.

What's the status of this?  Were you planning to submit it for inclusion?

B.t.w. I'm wondering if we don't need to use

+  if (fabs (z) != inf())
+   return z;

instead; z could still be minus infinity, right?


[Bug c++/59056] enable_if turns a non-ambiguous template into an ambiguous one

2013-11-13 Thread richard-gccbugzilla at metafoo dot co.uk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59056

--- Comment #5 from Richard Smith  ---
(In reply to Jonathan Wakely from comment #2)
> I thought if the partial specializations were ambiguous then these function
> overloads should be too.

Yes, this inconsistency is very surprising. GCC, EDG, and Clang all behave the
same way, and yet I can find no justification for this behavior in the
standard.

Morally, the function call should be ambiguous. The first 'func' takes Bar
for any X where check() is true, and the second 'func' takes Bar for any
X that matches Foo. Neither of those constraints implies the other, so the
call should be ambiguous.

In Clang's case, the problem is that we fail to enforce
[temp.deduct.type](14.8.2.5)/1 when partially ordering function templates -- we
don't check that deduction actually succeeded in finding types that make 'A'
match the 'deduced A' -- but we do check that when partially ordering class
templates, and we don't spot the problem earlier because the enable_if<...> is
a non-deduced context. I expect EDG and GCC have a similar bug.


[Bug c++/59120] [c++11] ICE with invalid template alias

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59120

Volker Reichelt  changed:

   What|Removed |Added

   Keywords||error-recovery,
   ||ice-on-invalid-code
   Priority|P3  |P5
  Known to fail||4.7.0, 4.8.0, 4.9.0


[Bug c++/59120] New: [c++11] ICE with invalid template alias

2013-11-13 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59120

Bug ID: 59120
   Summary: [c++11] ICE with invalid template alias
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following invalid line of code (compiled with "-std=c++11") triggers an ICE
since GCC 4.7.0 (when template alias was introduced):

=
template using X = int T::T*;
=

bug.cc:1:36: error: expected ';'
 template using X = int T::T*;
^
bug.cc:1:39: internal compiler error: in dependent_type_p, at cp/pt.c:20192
 template using X = int T::T*;
   ^
0x596ea0 dependent_type_p(tree_node*)
../../gcc/gcc/cp/pt.c:20192
0x597644 dependent_scope_p(tree_node*)
../../gcc/gcc/cp/pt.c:20223
0x639251 cp_parser_lookup_name
../../gcc/gcc/cp/parser.c:21789
0x658ec0 cp_parser_class_name
../../gcc/gcc/cp/parser.c:18819
0x65935c cp_parser_constructor_declarator_p
../../gcc/gcc/cp/parser.c:4
0x65935c cp_parser_decl_specifier_seq
../../gcc/gcc/cp/parser.c:11374
0x65fd89 cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:10979
0x643860 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:10928
0x66aaae cp_parser_declaration
../../gcc/gcc/cp/parser.c:10825
0x6697ca cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10711
0x66b0e6 cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:3989
0x66b0e6 c_parse_file()
../../gcc/gcc/cp/parser.c:30962
0x787f73 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1046
Please submit a full bug report, [etc.]


[Bug tree-optimization/59121] New: endless loop with -O2 -floop-parallelize-all

2013-11-13 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59121

Bug ID: 59121
   Summary: endless loop with -O2 -floop-parallelize-all
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: janus at gcc dot gnu.org

Consider the following simple Fortran code:


subroutine smooth1

  implicit none

  integer :: j, k, l, nbin1(3)
  real, dimension(55,48,49) :: atemp, acc
  common /ACC_INPUT/ nbin1

  do j=1,nbin1(1)
do k=1,nbin1(2)
  do l=1,nbin1(3)
acc(j,k,l) = atemp(j,k,l)
  end do
end do
  end do

end


Compiling this with "gfortran -c -O2 -floop-parallelize-all" apparently never
finishes.



$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.8.1-10ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin
--with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
--enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre
--enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)


[Bug tree-optimization/59102] [4.9 Regression] ICE on valid code at -Os and above on x86_64-linux-gnu

2013-11-13 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59102

Jeffrey A. Law  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||law at redhat dot com
   Assignee|unassigned at gcc dot gnu.org  |law at redhat dot com

--- Comment #2 from Jeffrey A. Law  ---
No, it should be checking is_gimple_assign before looking at the .  We don't
want to allow a case where there's a call on the RHS as that call may have
observable side effects that would get wiped out.


[Bug ipa/58862] [4.9 Regression] LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008

2013-11-13 Thread tejohnson at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58862

--- Comment #24 from tejohnson at gcc dot gnu.org ---
Author: tejohnson
Date: Wed Nov 13 21:48:59 2013
New Revision: 204755

URL: http://gcc.gnu.org/viewcvs?rev=204755&root=gcc&view=rev
Log:
2013-11-13  Teresa Johnson  

PR ipa/58862
* ipa-inline.c (edge_badness): Fix overflow.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline.c


[Bug ipa/58862] [4.9 Regression] LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008

2013-11-13 Thread tejohnson at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58862

--- Comment #25 from tejohnson at gcc dot gnu.org ---
Author: tejohnson
Date: Wed Nov 13 21:51:44 2013
New Revision: 204756

URL: http://gcc.gnu.org/viewcvs?rev=204756&root=gcc&view=rev
Log:
2013-11-13  Teresa Johnson  

PR ipa/58862
* predict.c (drop_profile): Error is currently too strict.
(handle_missing_profiles): Pass call_count to drop_profile.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/predict.c


  1   2   >