[Bug rtl-optimization/81747] [8 Regression] ICE in operator[], at vec.h:749

2017-08-09 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81747

Alan Modra  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |amodra at gmail dot com

[Bug c/81777] Compiler doesn't detect wrong function declaration

2017-08-09 Thread jsiebert at poczta dot wp.pl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81777

--- Comment #1 from jsiebert at poczta dot wp.pl ---
file test.c:
#include "testarg.h"

int main(void)
{
testarg();
return 0;
}

[Bug c/81777] New: Compiler doesn't detect wrong function declaration

2017-08-09 Thread jsiebert at poczta dot wp.pl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81777

Bug ID: 81777
   Summary: Compiler doesn't detect wrong function declaration
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jsiebert at poczta dot wp.pl
  Target Milestone: ---

Is it possible to miss wrong declaration of function in seperate include file.

An example:

file testarg.c:
#include 

typedef struct  {
int c;
} test_t;

void testarg(test_t *t)
{
printf("c = %d\n", t->c);
return;
}

file testarg.h:
void testarg(void);

file test.c:
#include "testarg.h"

int main(void)
{
gcc test.c testarg.c -o test
testarg();
return 0;
}

compilation with:
gcc -Wall -Werror -pedantic-errors test.c testarg.c -o test

gives no warning or error about wrong testarg() usage.

[Bug c/81777] Compiler doesn't detect wrong function declaration

2017-08-09 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81777

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #2 from Andrew Pinski  ---
Yes this is because this is not required to issue a diagnostic at compile time.
Also there is no real way. -flto is able to diagnose this though due to having
all the information while linking.

[Bug c/81777] Compiler doesn't detect wrong function declaration

2017-08-09 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81777

--- Comment #3 from Andrew Pinski  ---
Also -Wmissing-declarations helps here to make sure you have a declaration
before an external definition. It will warn as you don't have a declaration for
testarg function in testarg.c.

[Bug libstdc++/81751] __basic_file::sync() may flush _all_ files

2017-08-09 Thread bugzilla.volker at kabelmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81751

--- Comment #3 from Volker Wehrs  ---
Why is sync() (alias fflush()) called in sys_open(FILE*,...) at all?

1. It is not called in sys_open(int,...)
2. Both sys_open() functions are called in the constructor of stdio_filebuf
_only_.

So, as __basic_file seem to be intended as an internal class, maybe the call to
sync() can completely be omitted as there definitively is no open file.

[Bug rtl-optimization/81301] [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 13 dominated by a block in the cold partition (8)) on 32-bit BE powerpc target

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81301

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-08-09
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Can't reproduce, can you please provide -mtune and -march options?

[Bug rtl-optimization/81301] [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 13 dominated by a block in the cold partition (8)) on 32-bit BE powerpc target

2017-08-09 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81301

--- Comment #2 from Arseny Solokha  ---
I also cannot reproduce it anymore w/ gcc-8.0.0-alpha20170806 snapshot. It must
be fixed or made latent some time in between.

% powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20170806 -Q --help=target | grep -e
march -e mtune
  -mtune=   [default]
  Known CPUs (for use with the -mcpu= and -mtune= options):

The target CPU is e300c3, as the triplet says.

[Bug target/81708] The x86 stack canary location should be customizable

2017-08-09 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81708

--- Comment #10 from Uroš Bizjak  ---
Created attachment 41955
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41955&action=edit
patch that introduces mstack-protector-guard-symbol=

This patch can be used to override TLS offset with a symbol.

gcc.target/i386/stack-prot-guard.c compiles to (-O2 -fstack-protector-all
-mstack-protector-guard-symbol=symbol_name):

f:
subq$24, %rsp
movq%fs:symbol_name(%rip), %rax
movq%rax, 8(%rsp)
xorl%eax, %eax
movq8(%rsp), %rax
xorq%fs:symbol_name(%rip), %rax
jne .L5
addq$24, %rsp
ret

[Bug c/81417] -Wsign-compare should print types being compared

2017-08-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81417

--- Comment #4 from Marek Polacek  ---
Author: mpolacek
Date: Wed Aug  9 08:51:20 2017
New Revision: 250984

URL: https://gcc.gnu.org/viewcvs?rev=250984&root=gcc&view=rev
Log:
PR c/81417
* c-array-notation.c (fix_builtin_array_notation_fn): Update calls to
build_conditional_expr. 
* c-parser.c (c_parser_conditional_expression): Create locations for
EXP1 and EXP2 from their source ranges.  Pass the locations down to
build_conditional_expr.
* c-tree.h (build_conditional_expr): Update declaration.
* c-typeck.c (build_conditional_expr): Add location_t parameters.
For -Wsign-compare, also print the types.

* input.c (make_location): New overload.
* input.h (make_location): Declare.

* objc-next-runtime-abi-02.c (build_v2_build_objc_method_call): Update
a call to build_conditional_expr.

* Wsign-compare-1.c: New test.
* gcc.dg/compare1.c: Adjust dg-bogus.
* gcc.dg/compare2.c: Likewise.
* gcc.dg/compare3.c: Likewise.
* gcc.dg/compare7.c: Likewise.
* gcc.dg/compare8.c: Likewise.
* gcc.dg/compare9.c: Likewise.
* gcc.dg/pr11492.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/Wsign-compare-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-array-notation.c
trunk/gcc/c/c-parser.c
trunk/gcc/c/c-tree.h
trunk/gcc/c/c-typeck.c
trunk/gcc/input.c
trunk/gcc/input.h
trunk/gcc/objc/ChangeLog
trunk/gcc/objc/objc-next-runtime-abi-02.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/compare1.c
trunk/gcc/testsuite/gcc.dg/compare2.c
trunk/gcc/testsuite/gcc.dg/compare3.c
trunk/gcc/testsuite/gcc.dg/compare7.c
trunk/gcc/testsuite/gcc.dg/compare8.c
trunk/gcc/testsuite/gcc.dg/compare9.c
trunk/gcc/testsuite/gcc.dg/pr11492.c

[Bug c/81417] -Wsign-compare should print types being compared

2017-08-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81417

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Marek Polacek  ---
Done.

[Bug target/81708] The x86 stack canary location should be customizable

2017-08-09 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81708

--- Comment #11 from Uroš Bizjak  ---
(In reply to H. Peter Anvin from comment #8)
> How about simply letting the user enter an assembly expression of neither of
> the standard ABI options are suitable?  Also, shouldn't the user space
> default on 64 bits be an offset into the TLS using %fs, or is there
> something magic about how the kernel is compiled that changes it to %gs:?

-mcmodel=kernel switches TLS reg to %gs.

You can use mstack-protector-guard-reg=%gs with other code models.

[Bug libgomp/81778] New: libgomp.c/for-5.c failure on nvptx -- illegal memory access

2017-08-09 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81778

Bug ID: 81778
   Summary: libgomp.c/for-5.c failure on nvptx -- illegal memory
access
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vries at gcc dot gnu.org
CC: jakub at gcc dot gnu.org
  Target Milestone: ---

At r250889, I noticed libgomp.c/for-5.c fail for nvptx offloading:

Minimized example:
...
extern void abort ();

#pragma omp declare target

#define N 64

int a[N];

#pragma omp end declare target

__attribute__((noinline, noclone)) void
f2_tpf_simd_static32 (void)
{
  unsigned int i;
#pragma omp target parallel for simd schedule(static, 32)
  for (i = N; i > 0 ; i -= 1)
a[(i - 1)] -= 4;
}

__attribute__((noinline, noclone)) int
test_tpf_simd_static32 (void)
{
  int i;
  for (i = 0; i < N; i++)
a[i] = i - 25;

#pragma omp target update to(a)

  f2_tpf_simd_static32 ();

#pragma omp target update from(a)

  for (i = 0; i < N; i++)
if (a[i] != i - 29)
  return 1;

  return 0;
}

int
main ()
{
  if (test_tpf_simd_static32 ())
abort ();

  return 0;
}
...

...
$ ./install/bin/gcc \
  -fopenmp \
  -B$(pwd -P)/install/offload-nvptx-none/libexec/gcc/x86_64-pc-linux-gnu/8.0.0
\
  -B$(pwd -P)/install/offload-nvptx-none/bin \
  for-5.c \
  -O2
$ ( export LD_LIBRARY_PATH=$(pwd -P)/install/lib64/; ./a.out ; echo $? )

libgomp: cuCtxSynchronize error: an illegal memory access was encountered

libgomp: cuMemFreeHost error: an illegal memory access was encountered

libgomp: device finalization failed
1
...

[Bug libgomp/81778] libgomp.c/for-5.c failure on nvptx -- illegal memory access

2017-08-09 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81778

--- Comment #1 from Tom de Vries  ---
Created attachment 41956
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41956&action=edit
GOMP_DEBUG=1 log

[Bug libgomp/81778] libgomp.c/for-5.c failure on nvptx -- illegal memory access

2017-08-09 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81778

--- Comment #2 from Tom de Vries  ---
nvidia card: Quadro M1200
cuda: 7.5
cuda driver: 375.66

[Bug rtl-optimization/81301] [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 13 dominated by a block in the cold partition (8)) on 32-bit BE powerpc target

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81301

--- Comment #3 from Martin Liška  ---
(In reply to Arseny Solokha from comment #2)
> I also cannot reproduce it anymore w/ gcc-8.0.0-alpha20170806 snapshot. It
> must be fixed or made latent some time in between.
> 
> % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20170806 -Q --help=target | grep
> -e march -e mtune
>   -mtune= [default]
>   Known CPUs (for use with the -mcpu= and -mtune= options):
> 
> The target CPU is e300c3, as the triplet says.

Let me reproduce with a revision from the date you mentioned. For next PRs,
please output content of gcc -v so that we can identify a single commit.
Thanks.

[Bug middle-end/19706] Recognize common Fortran usages of copysign.

2017-08-09 Thread tnfchris at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19706

Tamar Christina  changed:

   What|Removed |Added

 CC||tnfchris at gcc dot gnu.org

--- Comment #5 from Tamar Christina  ---
(In reply to Ramana Radhakrishnan from comment #4)
> 
> I would have put these testcases into gcc.dg/vect and added a
> target_supports_vect_xorsign so that other targets had a fighting chance of
> catching such changes.

Except for the execution tests, the rest are way too AArch64 specific as they
scan the generated assembly. I could however write a generic mid-end one I
think to check for the internal function.

> 
> Is this pattern relevant to AArch32 for instance ? If so I'd like to add
> those patterns there for bonus points ...  

Yeah AArch32 would benefit some as well. So fair enough, I'll add it there too.

> 
> I suspect the drotg testcase is fixed up by this . If so this bug should
> then be closed out as the mid-end has support for it. I'm not clear if
> slasv2.f is worth  looking at further as another example.

Indeed this does fix drotg for targets that implement the optab, the slasv2 is
interesting as it does point out one issue which is combining XORSIGN and
COPYSIGN  calls in the same chain produces suboptimal code.

[Bug rtl-optimization/81301] [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 13 dominated by a block in the cold partition (8)) on 32-bit BE powerpc target

2017-08-09 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81301

--- Comment #4 from Arseny Solokha  ---
(In reply to Martin Liška from comment #3)
> For next PRs,
> please output content of gcc -v so that we can identify a single commit.

Sure, but how can this possibly help to identify a commit? I dont' have a
revision in the gcc -v output. I believe snapshot announcements[1] are those
authoritative sources that list revisions from which the corresponding
snapshots has been generated. Am I missing something?

[1] https://gcc.gnu.org/ml/gcc/2017-08/msg00071.html

[Bug c/81779] New: bool define from stdbool.h suppresses -Wdeclaration-after-statement

2017-08-09 Thread sirl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81779

Bug ID: 81779
   Summary: bool define from stdbool.h suppresses
-Wdeclaration-after-statement
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sirl at gcc dot gnu.org
  Target Milestone: ---

This testcase warns only once with -Wdeclaration-after-statement since at least
gcc-4.8:

#include 

bool f2(char *pRedo)
{
if (!pRedo)
return false;

bool ret = true;
return ret;
}

int f3(char *pRedo)
{
if (!pRedo)
return 0;

int ret = 1;
return ret;
}

# gcc-7 -c -Wdeclaration-after-statement Wdeclaration-after-statement.c
Wdeclaration-after-statement.c: In function 'f3':
Wdeclaration-after-statement.c:18:2: warning: ISO C90 forbids mixed
declarations and code [-Wdeclaration-after-statement]
  int ret = 1;
  ^~~

gcc-4.4 warned 2 for both occurences:
# gcc-4.4 -c -Wdeclaration-after-statement Wdeclaration-after-statement.c
Wdeclaration-after-statement.c: In function 'f2':
Wdeclaration-after-statement.c:10: warning: ISO C90 forbids mixed declarations
and code
Wdeclaration-after-statement.c: In function 'f3':
Wdeclaration-after-statement.c:17: warning: ISO C90 forbids mixed declarations
and code

Adding -Wsystem-headers shows 2 warnings also with newer GCC, but I don't think
that this option should influence -Wdeclaration-after-statement.

[Bug rtl-optimization/81301] [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 13 dominated by a block in the cold partition (8)) on 32-bit BE powerpc target

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81301

--- Comment #5 from Martin Liška  ---
(In reply to Arseny Solokha from comment #4)
> (In reply to Martin Liška from comment #3)
> > For next PRs,
> > please output content of gcc -v so that we can identify a single commit.
> 
> Sure, but how can this possibly help to identify a commit? I dont' have a
> revision in the gcc -v output. I believe snapshot announcements[1] are those
> authoritative sources that list revisions from which the corresponding
> snapshots has been generated. Am I missing something?
> 
> [1] https://gcc.gnu.org/ml/gcc/2017-08/msg00071.html

Yes, but I was thinking that you are using a nighly builds from trunk?
Even my distribution release comes with a revision:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/7/lto-wrapper
OFFLOAD_TARGET_NAMES=hsa:nvptx-none
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,obj-c++,ada,go
--enable-offload-targets=hsa,nvptx-none=/usr/nvptx-none, --without-cuda-driver
--enable-checking=release --disable-werror
--with-gxx-include-dir=/usr/include/c++/7 --enable-ssp --disable-libssp
--disable-libvtv --disable-libcc1 --enable-plugin
--with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux'
--with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --with-gcc-major-version-only
--enable-linker-build-id --enable-linux-futex --enable-gnu-indirect-function
--program-suffix=-7 --without-system-libunwind --enable-multilib
--with-arch-32=x86-64 --with-tune=generic --build=x86_64-suse-linux
--host=x86_64-suse-linux
Thread model: posix
gcc version 7.1.1 20170629 [gcc-7-branch revision 249772] (SUSE Linux)

[Bug rtl-optimization/81301] [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 13 dominated by a block in the cold partition (8)) on 32-bit BE powerpc target

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81301

Martin Liška  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #6 from Martin Liška  ---
Anyway, closing as invalid.

[Bug rtl-optimization/81301] [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 13 dominated by a block in the cold partition (8)) on 32-bit BE powerpc target

2017-08-09 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81301

--- Comment #7 from Arseny Solokha  ---
(In reply to Martin Liška from comment #5)
> Yes, but I was thinking that you are using a nighly builds from trunk?

I use weekly snapshots. Sorry for not mentioning it earlier.

> Even my distribution release comes with a revision:

I don't see one neither for stable distribution release nor for vanilla weekly
snapshots.

[Bug c++/81668] LTO ODR warnings are not helpful

2017-08-09 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81668

--- Comment #8 from Manuel López-Ibáñez  ---
(In reply to sgunderson from comment #7)
> What I'd like is some sort of indication about where test.h came in from
> (test1.cc and test2.cc).

Actually, what would be more useful is to detect that the difference in type
comes from S and point out where S has been declared as different types.

Note that this is not the same bug I pointed out for 

../include/violite.h:288:8: warning: type ‘struct st_vio’ violates the C++ One
Definition Rule [-Wodr]
../include/violite.h:288:0: note: a different type is defined in another
translation unit

The :0: indicates something wrong with the location info. If the location is
unknown, it would be better to use UNKNOWN_LOCATION.

[Bug debug/80938] [7/8 Regression] ICE in maybe_record_trace_start, at dwarf2cfi.c:2330

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80938

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||amodra at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org,
   ||segher at gcc dot gnu.org
Summary|[8 Regression] ICE in   |[7/8 Regression] ICE in
   |maybe_record_trace_start,   |maybe_record_trace_start,
   |at dwarf2cfi.c:2330 |at dwarf2cfi.c:2330
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, started with r235672.

[Bug c/81417] -Wsign-compare should print types being compared

2017-08-09 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81417

Eric Gallager  changed:

   What|Removed |Added

 CC||egallager at gcc dot gnu.org

--- Comment #6 from Eric Gallager  ---
(In reply to Marek Polacek from comment #5)
> Done.

Thank you!

[Bug libgomp/81778] libgomp.c/for-5.c failure on nvptx -- illegal memory access

2017-08-09 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81778

--- Comment #3 from Tom de Vries  ---
The core loop looks like this:
...
 $L4:
  add.u32 %r31,%r42,-1;
  cvt.u64.u32 %r63,%r31;
  shl.b64 %r64,%r63,2;
  add.u64 %r65,%r75,%r64;
  ld.u32 %r71,[%r65];
  add.u32 %r70,%r71,-4;
  st.u32 [%r65],%r70;
  add.u32 %r42,%r42,-32;
  setp.lt.u32 %r72,%r30,%r42;
  @ %r72 bra $L4;
...

If we comment out the branch, the testcase passes.

I've investigated the ranges of the registers to understand why the branch is
taken. [ By storing the reg into the array, and printing it out afterwards. 
That meant disabling the jump, otherwise I don't get to the print. ]:
...
r42: [0,63]  -> [-31,32]
r30: [0-31]  ->  0
 [32-63] -> 32
...

So for index 0, we have:
...
setp.lt.u32 %r72,0,-31;
...

This evaluates to true, because (u32)-31 is bigger than 0.

Changing the compare from unsigned to signed makes the test pass.

[Bug target/81389] _mm_cmpestri segfault on -O0

2017-08-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81389

H.J. Lu  changed:

   What|Removed |Added

 Status|REOPENED|WAITING
 CC||hjl.tools at gmail dot com

--- Comment #8 from H.J. Lu  ---
Please provide a run-time testcase.

[Bug c++/81668] LTO ODR warnings are not helpful

2017-08-09 Thread sgunderson at bigfoot dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81668

--- Comment #9 from sgunderson at bigfoot dot com ---
(In reply to Manuel López-Ibáñez from comment #8)
> Actually, what would be more useful is to detect that the difference in type
> comes from S and point out where S has been declared as different types.

Yes, that would be even better. But save for that :-)

> Note that this is not the same bug I pointed out for 
> 
> ../include/violite.h:288:8: warning: type ‘struct st_vio’ violates the C++
> One Definition Rule [-Wodr]
> ../include/violite.h:288:0: note: a different type is defined in another
> translation unit
> 
> The :0: indicates something wrong with the location info. If the location is
> unknown, it would be better to use UNKNOWN_LOCATION.

Yes, I know. It's a bit odd, but it doesn't bother me as much in this case.

[Bug target/81780] New: -finstrument-control-flow -mcet is incompatible with __attribute__ ((regparm (3)))

2017-08-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81780

Bug ID: 81780
   Summary: -finstrument-control-flow -mcet is incompatible with
__attribute__ ((regparm (3)))
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hjl.tools at gmail dot com
CC: igor.v.tsimbalist at intel dot com
Blocks: 81652
  Target Milestone: ---
Target: i386

When -finstrument-control-flow -mcet is used, __attribute__ ((regparm (3)))
can't be used to call external function should is defined in a shared object:

https://sourceware.org/bugzilla/show_bug.cgi?id=21598

But

https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html has

regparm (number)
On x86-32 targets, the regparm attribute causes the compiler to pass arguments
number one to number if they are of integral type in registers EAX, EDX, and
ECX instead of on the stack. Functions that take a variable number of arguments
continue to be passed all of their arguments on the stack.

Beware that on some ELF systems this attribute is unsuitable for global
functions in shared libraries with lazy binding (which is the default). Lazy
binding sends the first call via resolving code in the loader, which might
assume EAX, EDX and ECX can be clobbered, as per the standard calling
conventions. Solaris 8 is affected by this. Systems with the GNU C Library
version 2.1 or higher and FreeBSD are believed to be safe since the loaders
there save EAX, EDX and ECX. (Lazy binding can be disabled with the linker or
the loader if desired, to avoid the problem.)

-finstrument-control-flow -mcet should disallow __attribute__ ((regparm (3)))
on a non-hidden external function declaration.  __attribute__ ((regparm (3)))
should be allowed on external function function body since linker may turn
it a hidden definition at link-time.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81652
[Bug 81652] [meta-bug] -finstrument-control-flow -mcet bugs

[Bug c++/81781] New: consexpr pointer comparsion error

2017-08-09 Thread bobk-off at yandex dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81781

Bug ID: 81781
   Summary: consexpr pointer comparsion error
   Product: gcc
   Version: 7.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bobk-off at yandex dot ru
  Target Milestone: ---

Any gcc version cannot compile code below with error: '((&
std::integral_constant::value) == (& std::integral_constant::value))' is not a constant expression. Compilation success only if
template arguments of left side and right side parts of equation are equal.

static constexpr bool x = &std::integral_constant::value ==
&std::integral_constant::value;

[Bug target/81780] -finstrument-control-flow -mcet is incompatible with __attribute__ ((regparm (3)))

2017-08-09 Thread fw at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81780

--- Comment #1 from Florian Weimer  ---
Could we turn calls to regparam (3) functions into noplt calls?  Some
additional mechanics are probably needed if the address of such a function is
taken.

[Bug target/80700] [7/8 Regression] ICE: Bus error (on SPE target)

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80700

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||bergner at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
Summary|[8 Regression] ICE: Bus |[7/8 Regression] ICE: Bus
   |error (on SPE target)   |error (on SPE target)
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
Confirmed, started with r244609.

[Bug target/80503] ICE in extract_insn, at recog.c:2311 on ppc64le-linux-gnu

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80503

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||amodra at gcc dot gnu.org,
   ||segher at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug target/81780] -finstrument-control-flow -mcet is incompatible with __attribute__ ((regparm (3)))

2017-08-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81780

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 Ever confirmed|0   |1

--- Comment #2 from H.J. Lu  ---
(In reply to Florian Weimer from comment #1)
> Could we turn calls to regparam (3) functions into noplt calls?  Some
> additional mechanics are probably needed if the address of such a function
> is taken.

Yes, we can make regparam (3) to imply __attribute__ ((noplt)) with
-finstrument-control-flow -mcet.  It should work.

[Bug c++/81750] Calling generic lambda with no parameter fails to compile

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81750

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #2 from Jonathan Wakely  ---
Indeed, thanks, Tim.

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

[Bug c++/64095] [C++14] Ellipsis at end of generic lambda parameter-declaration-clause should be parsed as a parameter pack

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64095

Jonathan Wakely  changed:

   What|Removed |Added

 CC||d25fe0be at outlook dot com

--- Comment #6 from Jonathan Wakely  ---
*** Bug 81750 has been marked as a duplicate of this bug. ***

[Bug c/81233] --Wdiscarded-qualifiers and Wincompatible-pointer-types missing important detail

2017-08-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81233

--- Comment #2 from Marek Polacek  ---
Author: mpolacek
Date: Wed Aug  9 11:28:22 2017
New Revision: 250985

URL: https://gcc.gnu.org/viewcvs?rev=250985&root=gcc&view=rev
Log:
PR c/81233
* c-typeck.c (pedwarn_init): Make the function take a variable list.
Call emit_diagnostic_valist instead of pedwarn.
(convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro.
Print the relevant types in diagnostics.

* diagnostic-core.h (emit_diagnostic_valist): Add declaration.
* diagnostic.c (emit_diagnostic): Add a comment.
(emit_diagnostic_valist): New function.

* gcc.dg/diagnostic-types-1.c: New test.
* gcc.dg/assign-warn-1.c: Update warning messages.
* gcc.dg/assign-warn-2.c: Likewise.
* gcc.dg/c90-const-expr-5.c: Likewise.
* gcc.dg/c99-const-expr-5.c: Likewise.
* gcc.dg/conv-2.c: Likewise.
* gcc.dg/init-bad-7.c: Likewise.
* gcc.dg/overflow-warn-1.c: Likewise.
* gcc.dg/overflow-warn-2.c: Likewise.
* gcc.dg/overflow-warn-3.c: Likewise.
* gcc.dg/overflow-warn-4.c: Likewise.
* gcc.dg/pointer-array-atomic.c: Likewise.
* gcc.dg/pr26865.c: Likewise.
* gcc.dg/pr61162-2.c: Likewise.
* gcc.dg/pr61162.c: Likewise.
* gcc.dg/pr67730-2.c: Likewise.
* gcc.dg/pr69156.c: Likewise.
* gcc.dg/pr70174.c: Likewise.
* objc.dg/proto-lossage-4.m: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/diagnostic-types-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-typeck.c
trunk/gcc/diagnostic-core.h
trunk/gcc/diagnostic.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/assign-warn-1.c
trunk/gcc/testsuite/gcc.dg/assign-warn-2.c
trunk/gcc/testsuite/gcc.dg/c90-const-expr-5.c
trunk/gcc/testsuite/gcc.dg/c99-const-expr-5.c
trunk/gcc/testsuite/gcc.dg/conv-2.c
trunk/gcc/testsuite/gcc.dg/init-bad-7.c
trunk/gcc/testsuite/gcc.dg/overflow-warn-1.c
trunk/gcc/testsuite/gcc.dg/overflow-warn-2.c
trunk/gcc/testsuite/gcc.dg/overflow-warn-3.c
trunk/gcc/testsuite/gcc.dg/overflow-warn-4.c
trunk/gcc/testsuite/gcc.dg/pointer-array-atomic.c
trunk/gcc/testsuite/gcc.dg/pr26865.c
trunk/gcc/testsuite/gcc.dg/pr61162-2.c
trunk/gcc/testsuite/gcc.dg/pr61162.c
trunk/gcc/testsuite/gcc.dg/pr67730-2.c
trunk/gcc/testsuite/gcc.dg/pr69156.c
trunk/gcc/testsuite/gcc.dg/pr70174.c
trunk/gcc/testsuite/objc.dg/proto-lossage-4.m

[Bug c/81233] --Wdiscarded-qualifiers and Wincompatible-pointer-types missing important detail

2017-08-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81233

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Marek Polacek  ---
Fixed.  Further improvements are possible.

[Bug c++/81781] consexpr pointer comparsion error

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81781

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely  ---
Confirmed. Reduced:

template struct I { static constexpr int value = N; };

template constexpr int I::value;

static constexpr bool x = &I<5>::value == &I<10>::value;


ce.cc:5:40: error: ‘((& I<5>::value) == (& I<10>::value))’ is not a constant
expression
 static constexpr bool x = &I<5>::value == &I<10>::value;
   ~^

[Bug debug/79953] ICE in expand_debug_locations when attribute target is used

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79953

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||aoliva at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, all releases I have ICE.

(gdb) p debug_rtx(val)
(mem/c:V32QI (plus:DI (reg/f:DI 82 virtual-stack-vars)
(const_int -32 [0xffe0])) [0 x+0 S32 A256])
$4 = void
(gdb) p mode
$5 = BLKmode

Problem is probably that nehalem does not have -mavx2 enabled and it's enabled
in the source code via target attribute.

[Bug libstdc++/81751] __basic_file::sync() may flush _all_ files

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81751

--- Comment #4 from Jonathan Wakely  ---
But there is an open FILE and it might have pending writes or ungetc'd data
that should be flushed. I think that's why it's there. Consider:

  FILE* f = std::fopen("81751.txt", "w+");
  std::fwrite("Some words.", 1, 10, f);
  __gnu_cxx::stdio_filebuf buf(f, std::ios::in|std::ios::out, BUFSIZ);
  int c = buf.sgetc();

If the constructor doesn't flush then the read performed by sgetc will follow
the write without an intervening seek or flush, which is undefined behaviour.

The constructor taking a file descriptor creates a new FILE using fdopen, so
there are no buffered writes on the stream, and a flush isn't needed.

[Bug target/79810] ICE in ix86_vector_duplicate_value, at config/i386/i386.c:45701

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79810

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
  Known to work||7.1.0
 Ever confirmed|0   |1
  Known to fail||5.4.0, 6.3.0

--- Comment #1 from Martin Liška  ---
Fixed on trunk in r246161. Do you plan Uros to backport it?

[Bug middle-end/80295] [7/8 Regression] ICE in __builtin_update_setjmp_buf expander

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80295

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||marxin at gcc dot gnu.org
  Known to work||6.4.0
Summary|ICE in  |[7/8 Regression] ICE in
   |__builtin_update_setjmp_buf |__builtin_update_setjmp_buf
   |expander|expander
 Ever confirmed|0   |1
  Known to fail||7.1.0, 8.0

--- Comment #1 from Martin Liška  ---
Confirmed. Started with your commit r246720.

[Bug middle-end/81782] New: Yet another -Wmaybe-uninitialized false positive with empty array

2017-08-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81782

Bug ID: 81782
   Summary: Yet another -Wmaybe-uninitialized false positive with
empty array
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

I hope this isn't a duplicate of one of the many similar PRs.  This one happens
with -O0.  Also, if you remove the (int) cast, the warning disappears, because
then we get rid of the if conditional.

$ ./cc1 -quiet w.c -Wall
w.c: In function ‘foo’:
w.c:8:22: warning: ‘empty_array[i]’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
 ret = empty_array[i];
   ~~~^~~

int
foo (void)
{
  char empty_array[] = { };
  int i, ret = 0;

  for (i = 0; i < (int) (sizeof (empty_array) / sizeof (empty_array[0])); i++)
ret = empty_array[i];

  return ret;
}

[Bug middle-end/81782] [7/8 Regression] Yet another -Wmaybe-uninitialized false positive with empty array

2017-08-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81782

Marek Polacek  changed:

   What|Removed |Added

   Target Milestone|--- |7.2
Summary|Yet another |[7/8 Regression] Yet
   |-Wmaybe-uninitialized false |another
   |positive with empty array   |-Wmaybe-uninitialized false
   ||positive with empty array

--- Comment #1 from Marek Polacek  ---
Started with
commit 4d2b9d1e3c794a05c00708035519290e920768e8
Author: rguenth 
Date:   Thu Mar 2 13:42:05 2017 +

2017-03-02  Richard Biener  

PR tree-optimization/79345
PR c++/42000
* tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
param and abort the walk, returning -1 if it is hit.
(walk_aliased_vdefs): Take a limit param and pass it on.
* tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
defaulting to 0 and return a signed int.
* tree-ssa-uninit.c (struct check_defs_data): New struct.
(check_defs): New helper.
(warn_uninitialized_vars): Use walk_aliased_vdefs to warn
about uninitialized memory.

* fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
bogus uninitialized warning.
(fixed_convert_from_real): Likewise.

* g++.dg/warn/Wuninitialized-7.C: New testcase.
* c-c++-common/ubsan/bounds-2.c: Add -Wno-uninitialized.
* gcc.dg/uninit-pr19430-2.c: Add expected warning.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245840
138bc75d-0d04-0410-961f-82ee72b054a4

[Bug target/68485] ICE while building gpsd package on microblaze

2017-08-09 Thread sergio.pr...@e-labworks.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485

--- Comment #2 from Sergio Prado  ---
Created attachment 41957
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41957&action=edit
Pre-processed file from rtcm2_json.c compiled with -E option

Here is the pre-processed file.

[Bug middle-end/81695] [5/6/7 Regression] internal compiler error: in size_binop_loc, at fold-const.c:1768

2017-08-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81695

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Marek Polacek  ---
I think I won't backport this, so closing.

[Bug libstdc++/11196] _GNU_SOURCE vs. M_PI

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=11196

--- Comment #16 from Jonathan Wakely  ---
See https://sourceware.org/bugzilla/show_bug.cgi?id=21326 and
https://sourceware.org/bugzilla/show_bug.cgi?id=21327 for the changes to glibc
that are needed before we can change anything in GCC.

[Bug c++/2082] g++ defines _GNU_SOURCE by default

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=2082

Jonathan Wakely  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=11196

--- Comment #10 from Jonathan Wakely  ---
Should this be WONTFIX rather than FIXED? I think FIXED is the default for
"closed" from the old gnatweb system, but this was not fixed.

Or now that I'm (slowly) working on fixing it, maybe even REOPENED, or make it
a dup of Bug 11196.

[Bug c/81783] New: -Wtautological-compare could do better

2017-08-09 Thread sirl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81783

Bug ID: 81783
   Summary: -Wtautological-compare could do better
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sirl at gcc dot gnu.org
  Target Milestone: ---

This example code doesn't warn with -Wtautological-compare:

int f(int a)
{
if ((a & 0x10) == 10)
return 1;
return 0;
}

clang warns like this:
Wtautological-compare-1.c:5:17: warning: bitwise comparison always evaluates to
false [-Wtautological-compare]
if ((a & 0x10) == 10)
~~~^

[Bug target/80214] ICE in s390_initial_elimination_offset, at config/s390/s390.c:10249

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80214

Martin Liška  changed:

   What|Removed |Added

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

--- Comment #1 from Martin Liška  ---
Dup.

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

[Bug target/79890] ICE in s390_initial_elimination_offset, at config/s390/s390.c:10430

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79890

--- Comment #8 from Martin Liška  ---
*** Bug 80214 has been marked as a duplicate of this bug. ***

[Bug target/68485] ICE while building gpsd package on microblaze

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485

--- Comment #3 from Martin Liška  ---
Created attachment 41958
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41958&action=edit
Minimal test-case

[Bug target/68485] ICE while building gpsd package on microblaze

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485

Martin Liška  changed:

   What|Removed |Added

 Status|WAITING |NEW

[Bug middle-end/81782] [7/8 Regression] Yet another -Wmaybe-uninitialized false positive with empty array

2017-08-09 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81782

Eric Gallager  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||egallager at gcc dot gnu.org
 Blocks||24639
 Ever confirmed|0   |1

--- Comment #2 from Eric Gallager  ---
Confirmed that GCC warns here


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639
[Bug 24639] [meta-bug] bug to track all Wuninitialized issues

[Bug tree-optimization/79987] [CHKP] ICE in gimplify_expr, at gimplify.c:12151

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79987

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
   Assignee|unassigned at gcc dot gnu.org  |marxin at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Taking, I've got a patch.

[Bug target/48227] "rep ret" generated for -march=core2

2017-08-09 Thread matt at godbolt dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48227

--- Comment #5 from Matt Godbolt  ---
Seems to have been fixed in 4.9

[Bug target/80019] ICE in ix86_vector_duplicate_value, at config/i386/i386.c:42584

2017-08-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80019

--- Comment #6 from H.J. Lu  ---
*** Bug 79810 has been marked as a duplicate of this bug. ***

[Bug target/79810] ICE in ix86_vector_duplicate_value, at config/i386/i386.c:45701

2017-08-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79810

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from H.J. Lu  ---
(In reply to Martin Liška from comment #1)
> Fixed on trunk in r246161. Do you plan Uros to backport it?

Should have been fixed on all branches.

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

[Bug target/68485] ICE while building gpsd package on microblaze

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485

Martin Liška  changed:

   What|Removed |Added

 CC||eager at gcc dot gnu.org

--- Comment #4 from Martin Liška  ---
Started with r248540:

commit 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 (refs/bisect/bad)
Author: eager 
Date:   Sat May 27 18:29:40 2017 +

Revert:
2016-01-21  Ajit Agarwal  

See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html.

* config/microblaze/microblaze.h
(FIXED_REGISTERS): Update in macro.
(CALL_USED_REGISTERS): Update in macro.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540
138bc75d-0d04-0410-961f-82ee72b054a4

Can you please Agit take a look?

[Bug target/78643] [5/6/7/8 Regression] ICE in convert_move, at expr.c:230

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78643

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||jakub at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
Summary|ICE in convert_move, at |[5/6/7/8 Regression] ICE in
   |expr.c:230  |convert_move, at expr.c:230
 Ever confirmed|0   |1
  Known to fail||8.0

--- Comment #1 from Martin Liška  ---
Confirmed, started with
r220609.https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78643#

[Bug preprocessor/53404] warning column reported on comment in warning during bootstrap

2017-08-09 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53404

--- Comment #4 from Eric Gallager  ---
(In reply to Eric Gallager from comment #3)
> (In reply to Manuel López-Ibáñez from comment #2)
> > I don't see this any longer.
> 
> I think I might've seen this before, but I'll have to double-check the next
> time I bootstrap to make sure

The warnings I get from gengtype-lex.c when bootstrapping are now:

../../gcc/gengtype-lex.l: In function ‘int yylex(const char**)’:
gengtype-lex.c:287:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
  *yy_cp = '\0'; \
  ~~~^~~
../../gcc/gengtype-lex.l:116:1: note: in expansion of macro
‘YY_DO_BEFORE_ACTION’
 *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1);
 ^   ~~~
../../gcc/gengtype-lex.l:113:1: note: here
 "~" |
 ^~~~
gengtype-lex.c:287:13: warning: this statement may fall through
[-Wimplicit-fallthrough=]
  *yy_cp = '\0'; \
  ~~~^~~
../../gcc/gengtype-lex.l:133:1: note: in expansion of macro
‘YY_DO_BEFORE_ACTION’

 ^  
../../gcc/gengtype-lex.l:131:1: note: here
 "ENUM_BITFIELD"{WS}?"("{WS}?{ID}{WS}?")" {
 ^~~~

...which is no longer in a comment, but it still seems like there's some wrong
location information involved. Separate issue or the same thing?

[Bug target/77953] [MIPS] ice: insn does not satisfy its constraints - __bswapsi2

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77953

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-08-09
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Can't reproduce on x86_64-linux-gnu cross compiler. Is it reproducible?

[Bug c++/2082] g++ defines _GNU_SOURCE by default

2017-08-09 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=2082

Eric Gallager  changed:

   What|Removed |Added

 CC||egallager at gcc dot gnu.org
 Resolution|FIXED   |WONTFIX

--- Comment #11 from Eric Gallager  ---
(In reply to Jonathan Wakely from comment #10)
> Should this be WONTFIX rather than FIXED? I think FIXED is the default for
> "closed" from the old gnatweb system, but this was not fixed.
> 
> Or now that I'm (slowly) working on fixing it, maybe even REOPENED, or make
> it a dup of Bug 11196.

From reading the previous comments it looks like WONTFIX is indeed more
accurate than FIXED, so I'm changing the status to that for now. Bug 11196
looks like a more specific instance of this one so I'd say if one's going to be
marked a duplicate of the other, it should probably be the other way around.

[Bug debug/80938] [7/8 Regression] ICE in maybe_record_trace_start, at dwarf2cfi.c:2330

2017-08-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80938

Segher Boessenkool  changed:

   What|Removed |Added

 Target|powerpcspe-*-linux-gnu* |powerpcspe-*-linux-gnu*,
   ||powerpc*-*-*

--- Comment #2 from Segher Boessenkool  ---
Also fails on powerpc*-linux (it needs -Os -fPIC -m32 -g).  It gets
a conflict in the CFI for the hard frame pointer.

[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+

2017-08-09 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763

Alexander Monakov  changed:

   What|Removed |Added

 CC||amonakov at gcc dot gnu.org

--- Comment #8 from Alexander Monakov  ---
Mike, you can start by preparing two build trees, one with faulty mesa compiled
with -march=native, the other with working-fine mesa compiled with
-march=native -mno-bmi. You should be able to collect:

- .o files from each tree, and
- link commands from build logs

and be able to re-link mesa libraries by hand and verify they still exhibit the
same behavior (one fails, the other doesn't).

>From there you can proceed by building "hybrid" libraries by taking a set of
good .o files and a complementary set of bad .o files. This will allow you to
find a single .o file that makes the library behave wrongly. More explanation
and a helper script for bisecting is available at
https://gcc.gnu.org/wiki/Analysing_Large_Testcases

At that point please share your status (once you're down to one file there's no
generic recipe, you'd have to get creative).

[Bug libstdc++/81751] __basic_file::sync() may flush _all_ files

2017-08-09 Thread bugzilla.volker at kabelmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81751

--- Comment #5 from Volker Wehrs  ---
I'm sorry but I ignored the first if-clause in sys_open(). That if-clause makes
sure there is no open file referenced by the __basic_file, otherwise sys_open()
fails.

Then the sync() is called before the new __file is set, so in the current
implementation sync() can only see a _M_cfile set to NULL. Thus sync() is wrong
here.

Note that currently the new file (in __file) is implicitly flushed by the call
to fflush("NULL"), i.e. "flush all". So the new file should be sync'd
explicitly.

So sys_open() might look like this:

  __basic_file*
  __basic_file::sys_open(__c_file* __file, ios_base::openmode)
  {
__basic_file* __ret = NULL;
if (!this->is_open() && __file)
  {
_M_cfile = __file;
_M_cfile_created = false;
__ret = this;
this->sync();
  }
return __ret;
  }

[...]

  int
  __basic_file::sync()
  {
int __err;
do
  __err = fflush(_M_cfile);
while ( __err && errno == EINTR );
return __err;
  }

[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+

2017-08-09 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763

--- Comment #9 from Alexander Monakov  ---
A (potentially simpler) alternative is to use sequential builds (make without
-j) and bisect by index of compiled source file, i.e. have a wrapper script
around gcc that uses some global counter to pass -mno-bmi to first N compiler
invocations.

[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+

2017-08-09 Thread mike at fireburn dot co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763

--- Comment #10 from Mike Lothian  ---
Unfortunately it also depends on LLVM not just Mesa which makes it a much
bigger target for figuring this out

[Bug target/79565] ICE in copy_to_mode_reg, at explow.c:612

2017-08-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79565

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #1 from H.J. Lu  ---
(In reply to Martin Liška from comment #0)
> All releases I have suffer from:
> 
> Clang is also broken, ICC work for that test-case.

What does ICC generate with -mno-mmx -O0?

[Bug libfortran/80850] Sourced allocate() fails to allocate a pointer

2017-08-09 Thread liakhdi at ornl dot gov
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80850

--- Comment #12 from DIL  ---
Could you please tell me if there is a way I can check whether the dissociated
unlimited polymorphic pointer (class(*), pointer), which is set to NULL, is
indeed set to a clean state internally? That is, could you please tell me the
size and structure of the internal representation of a class(*) pointer and
what the proper values of those components would be when the pointer is set to
NULL()? I am still trying to understand why the sourced allocate() statement
sees that pointer as ALLOCATED. Basically, I want to inspect the internal state
of the class(*) NULL pointer to make sure that the problem indeed occurs inside
the sourced allocate() statement. Thanks!

[Bug c++/81586] valgrind error in output_buffer_append_r with -Wall

2017-08-09 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81586

--- Comment #6 from David Binderman  ---
(In reply to Martin Sebor from comment #5)
> Patch: https://gcc.gnu.org/ml/gcc-patches/2017-07/msg01866.html

Did this patch ever get into trunk gcc ?

I have some evidence that gcc trunk revision 250947
doesn't have it.

[Bug target/80503] ICE in extract_insn, at recog.c:2311 on ppc64le-linux-gnu

2017-08-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80503

--- Comment #1 from Segher Boessenkool  ---
Is this a dup of PR80618?  That is fixed on all branches already.

[Bug testsuite/81784] New: [8 regression] gcc.dg/compare2.c fails starting with r250984

2017-08-09 Thread seurer at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81784

Bug ID: 81784
   Summary: [8 regression] gcc.dg/compare2.c fails starting with
r250984
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

The recent change to the test case gcc.dg/compare2.c doesn't seem to work quite
right.  At least not on powerpc64 where it fails on both BE and LE (tested on
power8).

spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/xgcc
-B/home/seurer/gcc/build/gcc-trunk/gcc/
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -Wsign-compare -S -o
compare2.s
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c: In function 'f':
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:21:5: warning:
comparison of integer expressions of different signedness: 'unsigned int' and
'int' [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:25:5: warning:
comparison of integer expressions of different signedness: 'unsigned int' and
'int' [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:37:5: warning:
comparison of integer expressions of different signedness: 'unsigned int' and
'int' [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:41:5: warning:
comparison of integer expressions of different signedness: 'unsigned int' and
'int' [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:49:12: warning:
operand of ?: changes signedness from 'int' to 'unsigned int' due to
unsignedness of other operand [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:57:12: warning:
operand of ?: changes signedness from 'int' to 'unsigned int' due to
unsignedness of other operand [-Wsign-compare]
output is:
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c: In function 'f':
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:21:5: warning:
comparison of integer expressions of different signedness: 'unsigned int' and
'int' [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:25:5: warning:
comparison of integer expressions of different signedness: 'unsigned int' and
'int' [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:37:5: warning:
comparison of integer expressions of different signedness: 'unsigned int' and
'int' [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:41:5: warning:
comparison of integer expressions of different signedness: 'unsigned int' and
'int' [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:49:12: warning:
operand of ?: changes signedness from 'int' to 'unsigned int' due to
unsignedness of other operand [-Wsign-compare]
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:57:12: warning:
operand of ?: changes signedness from 'int' to 'unsigned int' due to
unsignedness of other operand [-Wsign-compare]

PASS: gcc.dg/compare2.c case 1 (test for bogus messages, line 12)
PASS: gcc.dg/compare2.c case 2 (test for bogus messages, line 13)
PASS: gcc.dg/compare2.c case 3 (test for bogus messages, line 16)
PASS: gcc.dg/compare2.c case 4 (test for bogus messages, line 17)
PASS: gcc.dg/compare2.c case 5 (test for bogus messages, line 20)
PASS: gcc.dg/compare2.c case 6 (test for warnings, line 21)
PASS: gcc.dg/compare2.c case 7 (test for bogus messages, line 24)
PASS: gcc.dg/compare2.c case 8 (test for warnings, line 25)
PASS: gcc.dg/compare2.c case 9 (test for bogus messages, line 28)
PASS: gcc.dg/compare2.c case 10 (test for bogus messages, line 29)
PASS: gcc.dg/compare2.c case 11 (test for bogus messages, line 32)
PASS: gcc.dg/compare2.c case 12 (test for bogus messages, line 33)
PASS: gcc.dg/compare2.c case 13 (test for bogus messages, line 36)
PASS: gcc.dg/compare2.c case 14 (test for warnings, line 37)
PASS: gcc.dg/compare2.c case 15 (test for bogus messages, line 40)
PASS: gcc.dg/compare2.c case 16 (test for warnings, line 41)
PASS: gcc.dg/compare2.c case 17 (test for bogus messages, line 44)
PASS: gcc.dg/compare2.c case 18 (test for bogus messages, line 45)
PASS: gcc.dg/compare2.c case 19 (test for bogus messages, line 48)
FAIL: gcc.dg/compare2.c case 20 (test for warnings, line 49)
PASS: gcc.dg/compare2.c case 21 (test for bogus messages, line 52)
PASS: gcc.dg/compare2.c case 22 (test for bogus messages, line 53)
PASS: gcc.dg/compare2.c case 23 (test for bogus messages, line 56)
FAIL: gcc.dg/compare2.c case 24 (test for warnings, line 57)
FAIL: gcc.dg/compare2.c (test for excess errors)
Excess errors:
/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compare2.c:49:12: warning:
operand of ?: changes signedness from 'int' to 'unsigned int' due to
unsignedness of other 

[Bug c++/81767] Unused variable warning with structured binding

2017-08-09 Thread antoshkka at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81767

Antony Polukhin  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Antony Polukhin  ---
Yep, feature was already implemented in r248483

[Bug target/79565] ICE in copy_to_mode_reg, at explow.c:612

2017-08-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79565

--- Comment #2 from H.J. Lu  ---
Created attachment 41959
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41959&action=edit
A patch

I got

[hjl@gnu-6 pr79565]$ cat x.i
typedef float a __attribute__ ((__vector_size__ (16)));
a b, d;
int __attribute__ ((__vector_size__ (2 * sizeof (int c;
void e () { d = __builtin_ia32_cvtpi2ps (b, c); }
[hjl@gnu-6 pr79565]$ make x.s
/export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -mno-mmx -S -o x.s x.i
x.i: In function ‘e’:
x.i:4:17: error: ‘__builtin_ia32_cvtpi2ps’ needs isa option -m32 -msse -mmmx
 void e () { d = __builtin_ia32_cvtpi2ps (b, c); }
 ^~
make: *** [Makefile:21: x.s] Error 1
[hjl@gnu-6 pr79565]$ cat y.i
typedef short v4hi __attribute__ ((__vector_size__ (4 * sizeof (short;
v4hi a, b, c;
void
foo (void)
{
  a = __builtin_ia32_psubusw (b, c);
}
[hjl@gnu-6 pr79565]$ make y.s
/export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -mno-mmx -S -o y.s y.i
y.i: In function ‘foo’:
y.i:6:7: error: ‘__builtin_ia32_psubusw’ needs isa option -m32 -mmmx
   a = __builtin_ia32_psubusw (b, c);
   ^
make: *** [Makefile:21: y.s] Error 1
[hjl@gnu-6 pr79565]$

[Bug c++/81767] Unused variable warning with structured binding

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81767

Jonathan Wakely  changed:

   What|Removed |Added

 Resolution|INVALID |FIXED
   Target Milestone|--- |8.0

[Bug libgomp/81778] libgomp.c/for-5.c failure on nvptx -- illegal memory access

2017-08-09 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81778

Alexander Monakov  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 Ever confirmed|0   |1

--- Comment #4 from Alexander Monakov  ---
I agree that simd loop in the presented testcase is mishandled, but fwiw the
original for-5.c testcase should not exhibit this issue with loop counter
wraparound; the root cause must have been different in the original failure you
were seeing.

[Bug libstdc++/81751] __basic_file::sync() may flush _all_ files

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81751

--- Comment #6 from Jonathan Wakely  ---
Or just call fflush(__file) directly:

https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00673.html

[Bug middle-end/80295] [7/8 Regression] ICE in __builtin_update_setjmp_buf expander

2017-08-09 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80295

--- Comment #2 from Andreas Schwab  ---
No, it doesn't.  It only made it possible to call the builtin from the
frontend.

[Bug target/81753] Building of cross-compiler for powerpc-darwin7 is broken

2017-08-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81753

Segher Boessenkool  changed:

   What|Removed |Added

 Status|ASSIGNED|NEW

--- Comment #6 from Segher Boessenkool  ---
(In reply to Martin Liška from comment #4)
> I can confirm it works ;) Should I send the patch and install it?

Please send the patch for review.

[Bug testsuite/81784] [8 regression] gcc.dg/compare2.c fails starting with r250984

2017-08-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81784

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2017-08-09
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org
 Ever confirmed|0   |1

[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+

2017-08-09 Thread mike at fireburn dot co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763

--- Comment #11 from Mike Lothian  ---
So a lot of the segfaults I see are in si_shader so I thought I'd compile Mesa
with and without BMI and compare the onjdumps of the two .o files

CFLAGS="-O2 -march=native -pipe -mno-bmi -m32" CXXFLAGS="-O2 -march=native
-pipe -mno-bmi -m32" LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
-fuse-ld=bfd -m32" ./autogen.sh --prefix=/usr --build=i686-pc-linux-gnu
--host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info
--datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
--disable-dependency-tracking --disable-silent-rules
--docdir=/usr/share/doc/mesa- --htmldir=/usr/share/doc/mesa-/html
--libdir=/usr/lib32 --enable-dri --enable-glx --enable-shared-glapi
--enable-texture-float --enable-nine --disable-debug --enable-dri3 --enable-egl
--enable-gbm --enable-gles1 --enable-gles2 --enable-glx-tls --disable-libunwind
--enable-valgrind=no --enable-llvm-shared-libs --with-dri-drivers=,swrast,i965
--with-gallium-drivers=,swrast,radeonsi --with-vulkan-drivers=,intel,radeon
PYTHON2=/usr/bin/python2.7 --with-platforms=x11,surfaceless,wayland,drm
--enable-nine --enable-llvm --enable-omx --enable-va --enable-vdpau
--disable-xa --disable-xvmc --with-va-libdir=/usr/lib32/va/drivers
--disable-glx-read-only-text --disable-gallium-osmesa


CFLAGS="-O2 -march=native -pipe -m32" CXXFLAGS="-O2 -march=native -pipe -m32"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fuse-ld=bfd -m32"
./autogen.sh --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu
--mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
--sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking
--disable-silent-rules --docdir=/usr/share/doc/mesa-
--htmldir=/usr/share/doc/mesa-/html --libdir=/usr/lib32 --enable-dri
--enable-glx --enable-shared-glapi --enable-texture-float --enable-nine
--disable-debug --enable-dri3 --enable-egl --enable-gbm --enable-gles1
--enable-gles2 --enable-glx-tls --disable-libunwind --enable-valgrind=no
--enable-llvm-shared-libs --with-dri-drivers=,swrast,i965
--with-gallium-drivers=,swrast,radeonsi --with-vulkan-drivers=,intel,radeon
PYTHON2=/usr/bin/python2.7 --with-platforms=x11,surfaceless,wayland,drm
--enable-nine --enable-llvm --enable-omx --enable-va --enable-vdpau
--disable-xa --disable-xvmc --with-va-libdir=/usr/lib32/va/drivers
--disable-glx-read-only-text --disable-gallium-osmesa

Were my configure options, and LLVM was compiled with -mno-bmi 

I'm attaching the dumps

[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+

2017-08-09 Thread mike at fireburn dot co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763

--- Comment #12 from Mike Lothian  ---
Created attachment 41960
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41960&action=edit
si_shader objdumps

[Bug target/80503] ICE in extract_insn, at recog.c:2311 on ppc64le-linux-gnu

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80503

Martin Liška  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from Martin Liška  ---
Confirmed, it's dup.

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

[Bug target/80618] [8 regression] test case gcc.dg/pr50310-2.c fails with ICE starting with 247544

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80618

--- Comment #14 from Martin Liška  ---
*** Bug 80503 has been marked as a duplicate of this bug. ***

[Bug libstdc++/79820] std::ifstream sets errno to zero

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79820

--- Comment #8 from Jonathan Wakely  ---
Author: redi
Date: Wed Aug  9 17:52:10 2017
New Revision: 250993

URL: https://gcc.gnu.org/viewcvs?rev=250993&root=gcc&view=rev
Log:
PR libstdc++/81751 don't call fflush(NULL)

PR libstdc++/79820
PR libstdc++/81751
* config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
Call fflush on the stream instead of calling sync() while _M_cfile is
null. Restore original value of errno.
* testsuite/ext/stdio_filebuf/char/79820.cc: New.
* testsuite/ext/stdio_filebuf/char/81751.cc: New.

Added:
trunk/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
trunk/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/io/basic_file_stdio.cc

[Bug libstdc++/81751] __basic_file::sync() may flush _all_ files

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81751

--- Comment #7 from Jonathan Wakely  ---
Author: redi
Date: Wed Aug  9 17:52:10 2017
New Revision: 250993

URL: https://gcc.gnu.org/viewcvs?rev=250993&root=gcc&view=rev
Log:
PR libstdc++/81751 don't call fflush(NULL)

PR libstdc++/79820
PR libstdc++/81751
* config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
Call fflush on the stream instead of calling sync() while _M_cfile is
null. Restore original value of errno.
* testsuite/ext/stdio_filebuf/char/79820.cc: New.
* testsuite/ext/stdio_filebuf/char/81751.cc: New.

Added:
trunk/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
trunk/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/io/basic_file_stdio.cc

[Bug debug/80938] [7/8 Regression] ICE in maybe_record_trace_start, at dwarf2cfi.c:2330

2017-08-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80938

Segher Boessenkool  changed:

   What|Removed |Added

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

--- Comment #3 from Segher Boessenkool  ---
I have a patch (for rs6000).

[Bug libstdc++/79820] std::ifstream sets errno to zero

2017-08-09 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79820

Jonathan Wakely  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |8.0

--- Comment #9 from Jonathan Wakely  ---
Fixed for GCC 8.

[Bug target/67694] ICE on returning undefined enum in must_pass_in_stack_var_size_or_pad

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67694

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed for GCC 6 and 7.

[Bug c++/81359] [7/8 Regression] bogus error: constructor required before non-static data member for ‘Foo::Bar::test’ has been parsed

2017-08-09 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81359

--- Comment #3 from Jason Merrill  ---
Author: jason
Date: Wed Aug  9 18:32:02 2017
New Revision: 250994

URL: https://gcc.gnu.org/viewcvs?rev=250994&root=gcc&view=rev
Log:
PR c++/81359 - Unparsed NSDMI error from SFINAE context.

* init.c (get_nsdmi): Add complain parm.
* typeck2.c (digest_nsdmi_init): Add complain parm.
(process_init_constructor_record): Pass complain to get_nsdmi.
* pt.c (maybe_instantiate_noexcept): Add complain parm, return bool.
* method.c (get_defaulted_eh_spec): Add complain parm.  Pass it into
synthesized_method_walk.
(synthesized_method_walk): Adjust.
(walk_field_subobs): Pass complain to get_nsdmi.
(defaulted_late_check): Skip other checks if deleted.
* decl2.c (mark_used): Pass complain to maybe_instantiate_noexcept.
* call.c (build_aggr_conv): Pass complain to get_nsdmi.
* parser.c (defarg_location): New.
* error.c (location_of): Use it.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/sfinae59.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl2.c
trunk/gcc/cp/error.c
trunk/gcc/cp/init.c
trunk/gcc/cp/method.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/typeck2.c
trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi-defer6.C
trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi-template14.C
trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi10.C

[Bug libstdc++/81359] [7 Regression] bogus error: constructor required before non-static data member for ‘Foo::Bar::test’ has been parsed

2017-08-09 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81359

Jason Merrill  changed:

   What|Removed |Added

 Status|ASSIGNED|NEW
  Component|c++ |libstdc++
   Assignee|jason at gcc dot gnu.org   |unassigned at gcc dot 
gnu.org
Summary|[7/8 Regression] bogus  |[7 Regression] bogus error:
   |error: constructor required |constructor required before
   |before non-static data  |non-static data member for
   |member for ‘Foo::Bar::test’ |‘Foo::Bar::test’ has been
   |has been parsed |parsed

--- Comment #4 from Jason Merrill  ---
I've adjusted the compiler to accept this on trunk, but the change is too
invasive for the GCC 7 branch.  I'm changing the component to libstdc++ so that
library folks can consider a library approach for the branch.

[Bug c/81785] New: Segmentation fault for signed overflow in index expression when -fwrapv is enabled

2017-08-09 Thread willwalker26 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81785

Bug ID: 81785
   Summary: Segmentation fault for signed overflow in index
expression when -fwrapv is enabled
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: willwalker26 at gmail dot com
  Target Milestone: ---

Created attachment 41961
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41961&action=edit
reproduction preprocessed file

gcc version 4.9.2 (Debian 4.9.2-10)
Target: x86_64-linux-gnu
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O0' '-fwrapv' '-mtune=generic'
'-march=x86-64'

Compiling the c file (see the attached preprocessed file):

% gcc -O0 -fwrapv repro.c

Execution results in:

% ./a.out
Segmentation fault

I also tried with varied levels of optimization to the same results. It looks
like 4.7.x and earlier versions of gcc work as expected.

The offending code segment is:

 unsigned int k;
 unsigned int i;
 i = 0U;
 k = 2147483648U;
 while (k < 2147483658U) {
  y[i] = x[(int)k - (int)2147483611];
  k++;
  i++;
 }

What I was hoping to happen, is to have (int)k wrap to some large negative
value and the following signed subtraction wrap to a small positive value in
the range [37,46]. Note the arrays for x and y are length 100.

I am aware that signed overflow is not defined in C, but was hoping that using
the -fwrapv compiler option would let this through.

Note, hoisting out the index expression results in the expected execution,
e.g.:

tmp = (int)k - (int)2147483611;
y[i] = x[tmp];

[Bug libgomp/68033] OpenMP: ICE with teams distribute

2017-08-09 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68033

Martin Jambor  changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu.org

--- Comment #2 from Martin Jambor  ---
Below is a slightly more reduced testcase, crashes with gcc -S -fopenmp.

From what I have gathered so far, we would like to issue an error from
the gimplifier about a non sharing of an artificial temporary variable
that has not DECL_NAME and thus segfault.


void lud_omp(float *a, int size)
{
 int i,j,k;
 float sum;
 for (i=0; i 

[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+

2017-08-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763

--- Comment #13 from H.J. Lu  ---
(In reply to Mike Lothian from comment #12)
> Created attachment 41960 [details]
> si_shader objdumps

We need a small testcase in C.

[Bug target/68834] ICE: in decompose_normal_address, at rtlanal.c:6086 with -O2 -fPIC --param=sched-autopref-queue-depth=1

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68834

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||marxin at gcc dot gnu.org,
   ||segher at gcc dot gnu.org
  Known to work||7.1.0, 8.0
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, it's connected to haifa scheduler. Fixed on trunk in r239105 as we
switched to LRA. It's probably broken since the problematic param was
introduced.

[Bug target/67643] [SH] ICE with ISR and -mfmovd

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67643

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-09
 CC||aoliva at gcc dot gnu.org,
   ||kkojima at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org,
   ||olegendo at gcc dot gnu.org
  Known to work||4.9.0
 Ever confirmed|0   |1
  Known to fail||5.4.0

--- Comment #1 from Martin Liška  ---
Confirmed, 4.9 looks fine, while 5 is affected by the ICE. Adding port
maintainers.

[Bug target/67638] [SH] ICE with nosave_low_regs ISR and -mfmovd

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67638

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-08-09
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Can't reproduce with cross compiler on trunk and gcc-5 branch. Is it
reproducible with cross compiler? Which options do you use?

[Bug target/67586] xtensa: ICE with -Os -g -fno-builtin-malloc in dwarf2out_var_location, at dwarf2out.c:22380

2017-08-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67586

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-08-09
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Can't reproduce with cross-compiler, is it reproducible on x86_64-linux-gnu?

  1   2   >