[Bug fortran/90198] internal compiler error: in convert_move, at expr.c:229

2019-04-21 Thread g.granda at irya dot unam.mx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90198

--- Comment #3 from guido  ---
Hello Kargl,
Thank you a lot! The problem was that I was calling the 
heat_function_field incorrectly. I forgot to put the "()" and the error 
message wasn't that helpful. Therefore this is not a bug at all.
Cheers,


On 2019-04-22 00:04, kargl at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90198
> 
> --- Comment #2 from kargl at gcc dot gnu.org ---
> Reduced testcase.
> 
> program test
> 
>implicit none
> 
>contains
> 
>   real function  foo(temp)
>  real, intent(in) :: temp
>  foo=bah()*(2)
>   end function foo
> 
>   real function bar(temp,nh)
>  real,intent(in):: temp,nh
>  bar = 2 * bah  ! Danger Will Roberson!
>   end function bar
> 
>   real function bah()
>  bah = 1
>   end function bah
> 
> end program
> 
> The problem is that bah is referenced in bar() as a variable.  Later,
> we find that bah is defined as a function.  gfortran chokes on this.
> 
> Note, if the function bah() were moved in front of the function
> bar(), then gfortran generates
> 
> a.f90:18:36:
> 
>18 |  bar = 2 * bah  ! Danger Will Roberson!
>   |1
> Error: Function 'bah' requires an argument list at (1)

[Bug c++/18635] [DR 504] use of uninitialised reference accepted (without -Wuninitialized) in C++ front end

2019-04-21 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18635

Eric Gallager  changed:

   What|Removed |Added

   Keywords|accepts-invalid |diagnostic
 Blocks||24639
Summary|[DR 504] use of |[DR 504] use of
   |uninitialised reference |uninitialised reference
   |accepted in C++ front end   |accepted (without
   ||-Wuninitialized) in C++
   ||front end
   Severity|normal  |enhancement

--- Comment #17 from Eric Gallager  ---
(In reply to Jonathan Wakely from comment #16)
> This is
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3293.html#504 which
> is Open, so I'm suspending this. If/when that gets resolved we can revisit
> this PR.
> 
> I think SUSPENDED rather than INVALID is being generous, as G++ is
> completely correct to accept the code, and follows the committee's
> intentions:
> "Implementations can warn about such constructs, and the resolution for
> issue 453 makes executing such code undefined behavior; that seemed to
> address the situation adequately."

Changing from an accepts-invalid to an enhancement request for an optional
-Wuninitialized diagnostic then


Referenced Bugs:

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

[Bug fortran/90198] internal compiler error: in convert_move, at expr.c:229

2019-04-21 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90198

--- Comment #2 from kargl at gcc dot gnu.org ---
Reduced testcase.

program test

   implicit none

   contains

  real function  foo(temp)
 real, intent(in) :: temp
 foo=bah()*(2)
  end function foo

  real function bar(temp,nh)
 real,intent(in):: temp,nh
 bar = 2 * bah  ! Danger Will Roberson!
  end function bar

  real function bah()
 bah = 1
  end function bah

end program

The problem is that bah is referenced in bar() as a variable.  Later,
we find that bah is defined as a function.  gfortran chokes on this.

Note, if the function bah() were moved in front of the function
bar(), then gfortran generates

a.f90:18:36:

   18 |  bar = 2 * bah  ! Danger Will Roberson!
  |1
Error: Function 'bah' requires an argument list at (1)

[Bug target/38182] stddef.h assumes machinee/ansi.h defines _ANSI_H_

2019-04-21 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38182

Eric Gallager  changed:

   What|Removed |Added

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

--- Comment #21 from Eric Gallager  ---
(In reply to jos...@codesourcery.com from comment #20)
> r261797 removed all references to _ANSI_H_ from stddef.h, so this issue 
> can't be relevant after then.

...so that sounds like it can be closed, then.

[Bug fortran/90198] internal compiler error: in convert_move, at expr.c:229

2019-04-21 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90198

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu.org

--- Comment #1 from kargl at gcc dot gnu.org ---
(In reply to guido from comment #0)
> Hello gcc users,
> While trying to compile a fortran code, I obtained the following error:
> 
> flash_err.f90:31:0:
> 
>   
> l_t_field=rho_0*heat_function_field*(1E7*1.184E5/(temp+1000)**2*exp(-1.184E5/
> (temp+1000))+1.4E-2*(0.5*temp**(-0.5)*exp(-92/temp)+sqrt(temp)*92/
> temp**2*exp(-92/temp)))/sim_m_proton

While gfortran should not ICE, it would help if you considered
writing better structure code.  In the above line of code, 
what does "rho_0 * heat_function_field * (1E7 *..." do?

[Bug rtl-optimization/90174] Bad register spill due to top-down allocation order

2019-04-21 Thread fxue at os dot amperecomputing.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90174

--- Comment #2 from Feng Xue  ---
Created attachment 46219
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46219=edit
asm file generated by llvm

[Bug rtl-optimization/90174] Bad register spill due to top-down allocation order

2019-04-21 Thread fxue at os dot amperecomputing.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90174

--- Comment #1 from Feng Xue  ---
Created attachment 46218
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46218=edit
asm file generated by gcc

[Bug tree-optimization/90200] New: [graphite] ICE: Segmentation fault (in apply_schedule_on_deps)

2019-04-21 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90200

Bug ID: 90200
   Summary: [graphite] ICE: Segmentation fault (in
apply_schedule_on_deps)
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: asolokha at gmx dot com
  Target Milestone: ---
Target: powerpc-*-linux-gnu

Created attachment 46217
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46217=edit
The original testcase

gfortran-9.0.0-alpha20190414 snapshot (r270355) ICEs when compiling silup.f
from the MATH77 package[1] w/ -Ofast -floop-parallelize-all -fstack-reuse=none
-fwrapv -fno-code-hoisting -fno-tree-ccp -fno-tree-vrp
-fno-unsafe-math-optimizations:

% powerpc-e300c3-linux-gnu-gfortran-9.0.0-alpha20190414 -Ofast
-floop-parallelize-all -fstack-reuse=none -fwrapv -fno-code-hoisting
-fno-tree-ccp -fno-tree-vrp -fno-unsafe-math-optimizations -w -c silup.f
during GIMPLE pass: graphite
silup.f:1:0:

1 |   subroutine SILUP (X, Y, NTAB, XT, YT, NDEG, LUP, IOPT, EOPT)
  | 
internal compiler error: Segmentation fault
0xd84526 crash_signal
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/toplev.c:326
0x14ba10d apply_schedule_on_deps
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/graphite-dependences.c:207
0x14ba10d carries_deps(isl_union_map*, isl_union_map*, int)
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/graphite-dependences.c:229
0x14b5b7a ast_build_before_for(isl_ast_build*, void*)
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/graphite-isl-ast-to-gimple.c:1372
0x14b6f3b translate_isl_ast_to_gimple::scop_to_isl_ast(scop*)
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/graphite-isl-ast-to-gimple.c:1407
0x14b9547 graphite_regenerate_ast_isl(scop*)
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/graphite-isl-ast-to-gimple.c:1480
0x14b4da4 graphite_transform_loops()
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/graphite.c:472
0x14b5340 graphite_transforms
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/graphite.c:538
0x14b5340 execute
   
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/graphite.c:615

Unfortunately I failed to minimize the testcase in any meaningful way.

I have isl 0.21 installed on this machine.

[1] http://netlib.org/math/index.html

[Bug c++/90199] New: ICE: tree check: expected complex_cst, have plus_expr in output_constant, at varasm.c:4994

2019-04-21 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90199

Bug ID: 90199
   Summary: ICE: tree check: expected complex_cst, have plus_expr
in output_constant, at varasm.c:4994
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Keywords: error-recovery, ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: asolokha at gmx dot com
  Target Milestone: ---

g++-9.0.0-alpha20190414 snapshot (r270355), 8.3, 7.4, 6.3 all ICE when
compiling the following testcase w/ -frounding-math:

template 
class complex;

template  constexpr complex
operator+ (complex hd, complex qc)
{
  hd += qc;
  return hd;
}

template <>
class complex {
public:
  constexpr complex
  operator+= (complex rm)
  {
jp += rm.jp;
return *this;
  }

  _Complex float jp;
};

constexpr complex fl{3.3}, ka{1.1}, r0 = fl + ka;

% g++-9.0.0-alpha20190414 -frounding-math -c cvzjr7ol.cc
cvzjr7ol.cc:24:56: internal compiler error: tree check: expected complex_cst,
have plus_expr in output_constant, at varasm.c:4994
   24 | constexpr complex fl{3.3}, ka{1.1}, r0 = fl + ka;
  |^
0x7b55c1 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/tree.c:9881
0x7cce74 tree_check(tree_node*, char const*, int, char const*, tree_code)
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/tree.h:3176
0x7cce74 output_constant
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/varasm.c:4994
0x126c2bf output_constant
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/varasm.c:5246
0x126c2bf output_constructor_regular_field
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/varasm.c:5246
0x126c2bf output_constructor
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/varasm.c:5513
0x126d034 output_constant
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/varasm.c:4885
0x126d034 assemble_variable_contents
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/varasm.c:2144
0x1275ad4 assemble_variable(tree_node*, int, int, int)
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/varasm.c:2323
0x1278449 varpool_node::assemble_decl()
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/varpool.c:584
0xb6b69c output_in_order
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cgraphunit.c:2446
0xb6b69c symbol_table::compile()
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cgraphunit.c:2686
0xb6ddfc symbol_table::compile()
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cgraphunit.c:2599
0xb6ddfc symbol_table::finalize_compilation_unit()
   
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cgraphunit.c:2865

[Bug fortran/90198] New: internal compiler error: in convert_move, at expr.c:229

2019-04-21 Thread g.granda at irya dot unam.mx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90198

Bug ID: 90198
   Summary: internal compiler error: in convert_move, at
expr.c:229
   Product: gcc
   Version: 7.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: g.granda at irya dot unam.mx
  Target Milestone: ---

Hello gcc users,
While trying to compile a fortran code, I obtained the following error:

flash_err.f90:31:0:

  
l_t_field=rho_0*heat_function_field*(1E7*1.184E5/(temp+1000)**2*exp(-1.184E5/(temp+1000))+1.4E-2*(0.5*temp**(-0.5)*exp(-92/temp)+sqrt(temp)*92/temp**2*exp(-92/temp)))/sim_m_proton

internal compiler error: in convert_move, at expr.c:229
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

I compiled it the following way:
gfortran -ffree-line-length-none flash_err.f90 -o flash.exe 

Here you have some compiler information:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
7.3.0-27ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr
--with-gcc-major-version-only --program-suffix=-7
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie
--with-system-zlib --with-target-system-zlib --enable-objc-gc=auto
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none --without-cuda-driver
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04) 

I tried to compile the same code using gcc version 4.4.7 20120313 (Red Hat
4.4.7-11) (GCC) and I got the same error. 
The code I used is:

program test
  implicit none
  real:: sim_temp,sim_num_dens,sim_k,sim_cond,sim_box_size,sim_pi
  real::sim_m_proton,sim_gamma,sim_mu_mol,sim_gasconstant,sim_boltzmann
  real,dimension(4) :: coeff
  sim_m_proton=1.6726219E-24
  sim_gamma=1.
  sim_mu_mol=1.27
  sim_gasconstant=8.3144598E-7
  sim_boltzmann=1.38064852E-16
  sim_pi=3.14159265
  sim_temp=729.5  
  sim_num_dens=3.0
  sim_box_size=10*3.085678E18
  sim_k=2*sim_pi/sim_box_size
  sim_cond=67524.2086
  call coeficients(sim_temp,sim_num_dens,sim_k,sim_cond,coeff)
  contains
  !! Initial velocity functions !
  real function  cool_function_field(temp)
  real, intent(in) :: temp
 
cool_function_field=heat_function_field()*(1.0E7*exp(-1.184E5/(temp+1000))+1.4*1e-2*sqrt(temp)*exp(-92/temp))/sim_m_proton
  end function cool_function_field
  real function l_t_field(temp,nh)
  real,intent(in):: temp,nh
  real :: rho_0
  rho_0=sim_m_proton*nh
 
l_t_field=rho_0*heat_function_field*(1E7*1.184E5/(temp+1000)**2*exp(-1.184E5/(temp+1000))+1.4E-2*(0.5*temp**(-0.5)*exp(-92/temp)+sqrt(temp)*92/temp**2*exp(-92/temp)))/sim_m_proton
  end function l_t_field
  real function heat_function_field()
  heat_function_field=2.0E-26/sim_m_proton
  end function heat_function_field
  real function sound_speed(temp)
  real,intent(in):: temp

 
sound_speed=sqrt(sim_gamma*sim_boltzmann*temp/(sim_mu_mol*sim_m_proton))
  end function sound_speed
  real function kappa_rho(temp,nh)
  real,intent(in):: temp,nh
  real:: rho_0
  rho_0=sim_m_proton*nh
 
kappa_rho=sim_mu_mol*rho_0*cool_function_field(temp)/(sim_gasConstant*sound_speed(temp)*temp)
  end function kappa_rho
  real function kappa_t(temp,nh)
  real,intent(in):: temp,nh
 
kappa_t=sim_mu_mol*(sim_gamma-1)*l_t_field(temp,nh)/(sim_gasConstant*sound_speed(temp))

  end function kappa_t
  real function kappa_k(temp,nh,cond)
  real,intent(in):: temp,nh,cond
  real :: rho_0
  rho_0=sim_m_proton*nh
 
kappa_k=sim_gasConstant*sound_speed(temp)*rho_0/(sim_mu_mol*(sim_gamma-1)*cond)
  end function kappa_k
  real function 

[Bug d/90130] gdc.test/runnable/test12.d FAILs

2019-04-21 Thread ibuclaw at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90130

--- Comment #2 from ibuclaw at gcc dot gnu.org ---
Author: ibuclaw
Date: Sun Apr 21 20:26:12 2019
New Revision: 270485

URL: https://gcc.gnu.org/viewcvs?rev=270485=gcc=rev
Log:
PR d/90130
d/dmd: Merge upstream dmd 065fbd452

Fixes endian bug in CTFE, and corrects tests in the D2 testsuite that
failed on big endian targets.

Initial patch by Robin Dapp.

Reviewed-on: https://github.com/dlang/dmd/pull/9665

Modified:
trunk/gcc/d/dmd/MERGE
trunk/gcc/d/dmd/constfold.c
trunk/gcc/testsuite/gdc.test/runnable/mars1.d
trunk/gcc/testsuite/gdc.test/runnable/test12.d
trunk/gcc/testsuite/gdc.test/runnable/test23.d

[Bug fortran/83118] [7/8/9 Regression] Bad intrinsic assignment of class(*) array component of derived type

2019-04-21 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83118

--- Comment #17 from Paul Thomas  ---
Created attachment 46216
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46216=edit
Patch for the remaining problems.

I am registering this now as a measure of progress towards doing a proper job
of fixing this PR for good.

The part in trans-expr.c(gfc_trans_assignment_1) is obligatory and stops the
compiler doubling up mallocs on top of one another.

The part in trans-array.c(gfc_alloc_allocatable_for_assignment) is a partial
solution. Instead of testing the shape of the lhs against that of that of the
rhs, we need to be comparing the size in bytes. The attached lets the system do
this by relying on realloc to do the job. This might be the most efficient way
to do it - I will look into it. I note in passing that the estimate of the size
of the rhs is going to fail, where class entities are a dynamic type other than
the declared type. This is easily done and requires perspiration rather than
inspiration :-)

Paul

[Bug target/90178] [9 Regression] Missed optimization: duplicated terminal basic block with -mavx

2019-04-21 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90178

H.J. Lu  changed:

   What|Removed |Added

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

--- Comment #9 from H.J. Lu  ---
Fixed.

[Bug target/90178] [9 Regression] Missed optimization: duplicated terminal basic block with -mavx

2019-04-21 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90178

--- Comment #8 from hjl at gcc dot gnu.org  ---
Author: hjl
Date: Sun Apr 21 18:23:00 2019
New Revision: 270484

URL: https://gcc.gnu.org/viewcvs?rev=270484=gcc=rev
Log:
LRA: Revert "Remove useless move insns"

Useless move insn removal was added to LRA just to avoid wasting CPU
cycles on such insn processing afterwards.  Such insns are removed
anyway later in the pass pipeline.  The CPU time savings are tiny but
the removal creates too many problems including PR target/90178.
Vladimir pre-approved the patch to remove the code:

https://gcc.gnu.org/ml/gcc-patches/2019-04/msg00834.html

gcc/

PR target/90178
Revert:
2018-11-21  Uros Bizjak  

Revert the revert:
2013-10-26  Vladimir Makarov  

Revert:
2013-10-25  Vladimir Makarov  

* lra-spills.c (lra_final_code_change): Remove useless move insns.

gcc/testsuite/

PR target/90178
* gcc.target/i386/pr90178.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr90178.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lra-spills.c
trunk/gcc/testsuite/ChangeLog

gcc-b...@gcc.gnu.orgHP

2019-04-21 Thread ljeyr via gcc-bugs
gcc-bugs+
开各地正规普通增值税票,点优惠,包真。
详 电 :林(姐) 业务部 
手机及V信:133-6051-3868
Q Q : 692210769
+++lBWeIaCyj+++
2:09胶俞,%hSZWu丝歌会

[Bug c++/90196] std:: types unused without warnings but simple type not affected

2019-04-21 Thread maxim.prohorenko at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90196

--- Comment #5 from Максим Прохоренко  ---

using namespace std;

class __attribute__((warn_unused)) kw
{
public:
  bitset<12> flags{"0010"};

};

int main() {
  printf("Hello World!\n");

  kw KW;
  puts(to_string(sizeof(kw)).c_str());
  return 0;
}

Mark all my class by __attribute__((warn_unused)) and all my colleagues was
hate me.

[Bug d/88431] link errors on build

2019-04-21 Thread ibuclaw at gdcproject dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88431

--- Comment #3 from Iain Buclaw  ---
Added some debug prints in the boilerplate check.

configure:12017: Checking compiler boilerplate from: $CC -o conftest$ac_exeext
$CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5
configure:12018: module mod; extern(C) int main() { return 0; }
configure:12019: Boilerplate = d21: warning: command line option '-Wlogical-op'
is valid for C/C++/ObjC/ObjC++ but not for D
d21: error: cannot find source code for runtime library file 'object.d'
d21: note: dmd might not be correctly installed. Run 'dmd -man' for
installation instructions.
d21: note: config file: not found
import path[0] = /usr/include/d


So the D boilerplate in the initial test does not match the warnings in latter
tests.

This is the problem here.

[Bug libstdc++/83029] Memory leaks due to leaked thread local variable

2019-04-21 Thread ppluzhnikov at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83029

--- Comment #5 from Paul Pluzhnikov  ---
(In reply to Jonathan Wakely from comment #4)
> Which version of glibc are you using?

"Debian GLIBC 2.24-12".

I believe this bug should be closed as fixed or invalid:

1. The original test case does not fail on this system, and produces expected
matching constructors / destructors:

Constructing printer.
Constructing printer.
Printing something...
Destroying printer...
Printing something...
Destroying printer...

2. The test case from #c2 is quite different (because thread_local is in
function scope rather than the global scope), and is actually a (hard to spot)
bug in the test case.

Analysis by richardsm...@google.com: "The program references a function-static
local variable without ever having executed its initializer."

(This happens because function-local thread_local variables are initialized
when they are reached, just like function-local static variables, and that
never happens in the test case from #c2)

[Bug c++/55203] No unused warning for variables of non-trivial types

2019-04-21 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55203

Andrew Pinski  changed:

   What|Removed |Added

 CC||maxim.prohorenko at gmail dot 
com

--- Comment #21 from Andrew Pinski  ---
*** Bug 90196 has been marked as a duplicate of this bug. ***

[Bug c++/90196] std:: types unused without warnings but simple type not affected

2019-04-21 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90196

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #4 from Andrew Pinski  ---
Dup of bug 55203.

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

[Bug d/88431] link errors on build

2019-04-21 Thread ibuclaw at gdcproject dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88431

--- Comment #2 from Iain Buclaw  ---
(In reply to David Binderman from comment #1)
> This config line works fine:
> 
> ../trunk/configure --prefix=/home/dcb/gcc/results.266950 \
>   --disable-multilib \
>   --disable-werror \
>   --enable-checking=df,extra,fold,rtl,yes \
>   --enable-languages=d
> 
> so it looks like using -O3 in the top level Makefile causes trouble.

I see the following in the config.cache for libphobos:

lt_cv_prog_compiler_pic_works=${lt_cv_prog_compiler_pic_works=yes}
lt_cv_prog_compiler_pic_works_D=${lt_cv_prog_compiler_pic_works_D=no}


config.log:

configure:12414: checking if ./gcc/gdc -B./gcc/ PIC flag -fPIC works
configure:12432: ./gcc/gdc -B./gcc/ -c -nophoboslib -fno-moduleinfo -nostdinc
-g -O3 -march=native -Wlogical-op  -fPIC conftest.d >&5
d21: warning: command line option '-Wlogical-op' is valid for C/C++/ObjC/ObjC++
but not for D
configure:12436: $? = 0
configure:12449: result: no


It looks like -Wlogical-op is the culprit, not -O3.

This is the condition in configure:
---
if (exit $ac_status) && test -s "$ac_outfile"; then
  # The compiler can only warn and ignore the option if not recognized
  # So say no if there are warnings other than the usual output.
  $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
  $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_pic_works_D=yes
  fi
fi

[Bug debug/90197] New: [8/9 Regression] Cannot step through simple loop at -O -g

2019-04-21 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90197

Bug ID: 90197
   Summary: [8/9 Regression] Cannot step through simple loop at -O
-g
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rsandifo at gcc dot gnu.org
  Target Milestone: ---

Compiling:

__attribute__((noipa))
void
test (unsigned int *dst, unsigned int base, int count)
{
  for (int i = 0; i < count; ++i, base += 15)
dst[i] = base;
}

int
main (void)
{
  unsigned int dst[100];
  test (dst, 0x4000, 100);
}

with -O -g and launching with recent gdb trunk (and stock gdb):

(gdb) break test
Breakpoint 1 ...
(gdb) run
Starting program: ...

Breakpoint 1, test ...
5 for (int i = 0; i < count; ++i, base += 15)
(gdb) next
6   dst[i] = base;
(gdb) next
__libc_start_main (main=...

i.e. it isn't possible to step through each iteration of the loop.  With gcc 7
this worked even for -O2 -g.

The test works with -O -fno-tree-ch -g (and thus also with -Og).  For -O2
-fno-tree-ch -g we get:

(gdb) break test
Breakpoint 1 ...
(gdb) run
Starting program: ...

Breakpoint 1, test ...
5 for (int i = 0; i < count; ++i, base += 15)
(gdb) next
__libc_start_main ...

With just -O2 -g we get the same as for -O -g.

A breakpoint on the loop body (line 6) hits for each iteration of the loop
though.

As you can tell, this isn't my area, so I'm not sure whether it's actually a
gdb bug (or a dup).

[Bug c++/90196] std:: types unused without warnings but simple type not affected

2019-04-21 Thread maxim.prohorenko at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90196

--- Comment #3 from Максим Прохоренко  ---
Allocate GiB of unused memory and don't warn about it? But 1 simple double - it
is a big problem.

For std:: objects with side effect - OK!
But for simple unused vector or set or map???

[Bug c++/90196] std:: types unused without warnings but simple type not affected

2019-04-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90196

--- Comment #2 from Jonathan Wakely  ---
The warning works as intended. Types with a non-trivial destructor do not cause
a warning, because if the destructor has side effects then the variable is not
unused. We don't want to warn for types like std::lock_guard which are
constructed and then not "used", because the destructor does all the useful
work.

[Bug libstdc++/83029] Memory leaks due to leaked thread local variable

2019-04-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83029

--- Comment #4 from Jonathan Wakely  ---
Which version of glibc are you using?

2019 CCTV Accessories Supplier

2019-04-21 Thread export...@isgcode.com
Dear Manager,
Happy New Year!
This is Kevin from INSTARGO CO.,LTD
We are factory produce a wide range of CCTV Accessories, POE switch, Tester, 
Power Supply, IR Lighting, BNC Connector, CCTV Housing & Bracket,Wire/Cable, 
Microphone,Video Balun, Lens, package etc.
All of the products are high quality with 100% QC test before shipping.
Welcome your inquiry.
Regards,
Kevin


[Bug d/88238] libphobos compile problems on Solaris 10

2019-04-21 Thread ibuclaw at gdcproject dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88238

--- Comment #1 from Iain Buclaw  ---
(In reply to Rainer Orth from comment #0)
> 
> which allow libgdruntime.so and libgphobos.so to link on Solaris 11.3 without
> unresolved symbols, there are more on Solaris 10:
> 
> * 
>   symbol not found: backtrace 
> (libdruntime/.libs/libgdruntime.so)
>   symbol not found: backtrace_symbols_fd  
> (libdruntime/.libs/libgdruntime.so)
>   symbol not found: backtrace_symbols 
> (libdruntime/.libs/libgdruntime.so)
> 
>   Unlike Solaris 11, Solaris 10 lacks the backtrace functions in libc.  When
>   trying to use them, this failed because backtrace-supported.h wasn't found 
>   during configure.  This is due to an error in m4/druntime/libraries.m4
> which
>   tries to add to CPPFLAGS with +=, which of course the shell doesn't
> understand.
> 

Just saw this, I noticed this also when building on one of the BSDs, fixed in
r270377.


> * 
> 
>   symbol not found: dl_iterate_phdr   
> (libdruntime/.libs/libgdruntime.so)
> 
>   Unlike Solaris 11, dl_iterate_phdr support was only backported to a late
>   Solaris 10 update and even so only lives in libdl, not in libc.  Not yet
>   fixed.
> 

So does dlopen and dl_iterate_phdr live in separate libraries?  I would have
thought that DRUNTIME_LIBRARIES_DLOPEN would correctly add -ldl to the driver
spec file.


> *
> 
>   symbol not found: getprogname   
> (libdruntime/.libs/libgdruntime.so)
> 
>   Solaris 10 lacks getprogname or equivalent; for now I'm faking this by just
>   returning "a.out".
> 

There's the following function in rt/dmain2.d

extern (C) string[] rt_args();

Would the basename() of argv[0] be a suitable fallback?  Looking at illumos,
they use dlinfo(RTLD_SELF, RTLD_DI_ARGSINFO) and strrchr(argv0, '/').


> *
> symbol not found: posix_memalign   
> (src/.libs/libgphobos.so)
> 
>   Also missing from Solaris 10.  I've not yet checked what to do here.  One
>   might be able to use pagealign_alloc from gnulib instead?

If the OS version can be obtained from the compiler, same as FBSD_MAJOR, then
one option would be to provide posix_memalign internally in druntime.

extern(D) int posix_memalign(void** ptr, size_t alignment, size_t size)
{
  // ...
}

extern(D) so that it won't conflict with extern(C) function of the same name.

Though whether it is worth the effort, I'm not so sure.  As you've said that
Solaris10 will be removed before.

[Bug c++/90178] [9 Regression] Missed optimization: duplicated terminal basic block with -mavx

2019-04-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90178

--- Comment #7 from Paolo Carlini  ---
The Component field is wrong, right?

[Bug c++/90172] [9 Regression] ICE: Segmentation fault (in contains_struct_check)

2019-04-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90172

Paolo Carlini  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-04-21
 CC||paolo.carlini at oracle dot com
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini  ---
I think this is also a rejects-valid.

[Bug d/90064] InSituRegion lacks SPARC64 support

2019-04-21 Thread ibuclaw at gdcproject dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90064

Iain Buclaw  changed:

   What|Removed |Added

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

--- Comment #2 from Iain Buclaw  ---
Merged in r270483.

[Bug d/90064] InSituRegion lacks SPARC64 support

2019-04-21 Thread ibuclaw at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90064

--- Comment #1 from ibuclaw at gcc dot gnu.org ---
Author: ibuclaw
Date: Sun Apr 21 10:21:07 2019
New Revision: 270483

URL: https://gcc.gnu.org/viewcvs?rev=270483=gcc=rev
Log:
PR d/90064
libphobos: Merge upstream phobos 428460ddd

Defines growDownwards on SPARC64, initial patch by Rainer Orth.

Backports another fix to std.process, allowing permissions tests to be
skipped when running as root.

Reviewed-on: https://github.com/dlang/phobos/pull/6962

Modified:
trunk/libphobos/src/MERGE
trunk/libphobos/src/std/experimental/allocator/building_blocks/region.d
trunk/libphobos/src/std/process.d

[Bug c++/89900] [9 Regression] ICE: Segmentation fault (in check_instantiated_arg)

2019-04-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89900

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #9 from Paolo Carlini  ---
Fixed.

[Bug d/89017] ICE in force_type_die, at dwarf2out.c:26061

2019-04-21 Thread ibuclaw at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89017

--- Comment #4 from ibuclaw at gcc dot gnu.org ---
Author: ibuclaw
Date: Sun Apr 21 07:03:32 2019
New Revision: 270478

URL: https://gcc.gnu.org/viewcvs?rev=270478=gcc=rev
Log:
d: Use semanticRun to prevent declaration pass from running multiple times.

This shouldn't happen during normal traversal of the AST provided from
the front-end, however as there are some cases where declarations need
to be visited out of order, such as what is being done in PR d/89017, it
then becomes necessary to guard against this.

gcc/d/ChangeLog:

2019-04-21  Iain Buclaw  

* decl.cc (DeclVisitor::visit(Import)): Set semanticRun after
completion, guard against being called more than once.
(DeclVisitor::visit(StructDeclaration)): Likewise.
(DeclVisitor::visit(ClassDeclaration)): Likewise.
(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
(DeclVisitor::visit(VarDeclaration)): Likewise.
(DeclVisitor::visit(TypeInfoDeclaration)): Likewise.

Modified:
trunk/gcc/d/ChangeLog
trunk/gcc/d/decl.cc