[Bug c++/54557] [c++ lambda] error in assigning lambda expr though operator?: while capturing

2012-09-13 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54557

vincenzo Innocente vincenzo.innocente at cern dot ch changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID
Summary|[c++ lambda] error in   |[c++ lambda] error in
   |assigning lambda expr   |assigning lambda expr
   |though operator?: while   |though operator?: while
   |catching|capturing

--- Comment #2 from vincenzo Innocente vincenzo.innocente at cern dot ch 
2012-09-13 06:37:02 UTC ---
Understood.
Thanks for the detailed answer: I will read the standard more in detail.

Syntactic-wise It seems that I can implement it as

bool A::foo4(int i, int j) const {
  auto f1 = sel ? [](int a, int b,int) { return ab;} :
  [](int a, int b, int k) { return ab+k;};

  auto f = [this,f1](int a, int b) { return f1(a,b,q);};
  return f(i,j);
}

As optimization is what I'm looking for
I will look to the generated assembler and then decide the specific
implementation.


[Bug gcov-profile/54487] [4.8 Regression] profiledbootstrap broken by r190952

2012-09-13 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54487

Markus Trippelsdorf markus at trippelsdorf dot de changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #29 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-09-13 06:39:02 UTC ---
Fixed. Thanks all.


[Bug target/54546] SH: Enable -fshrink-wrap

2012-09-13 Thread chrbr at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54546

--- Comment #1 from chrbr at gcc dot gnu.org 2012-09-13 06:40:54 UTC ---
shrink-wrapping exposes a few problems related to partitioning. 

1) Tries to duplicate a Basic block that has only one predecessor coming from a
different partition. Since the edge is not marking with with EDGE_CROSSING
missing across section boundary. Note that even with EDGE_CROSSING information,
the generated code would be quite bad, with extra jumps coming from the
critical path.

The problem is explained with the start of a resolution here
http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00794.html

2) Seem to miss redirecting CROSS_JUMPING jumps. When we have 

jump_insn 205 204 179 4 (set (pc)
(reg:SI 1 r1 [237])) 316 {indirect_jump_compact}
 (expr_list:REG_CROSSING_JUMP (nil)
(nil))

we have a  JUMP_LABEL (insn) containing the setting or r1 with the label_rtx,
but 'patch_jump_insn' fails to see it, although it looks like the branch could
be redirected.


[Bug driver/54563] New: [4.7][C++11] MacOS 10.8, ICE in redirect_eh_edge_1, at tree-eh.c:2215

2012-09-13 Thread david.abdurachmanov at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54563

 Bug #: 54563
   Summary: [4.7][C++11] MacOS 10.8, ICE in redirect_eh_edge_1, at
tree-eh.c:2215
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: driver
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: david.abdurachma...@gmail.com


Created attachment 28184
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28184
Pre-processed testcase

Tested with 190338 (pre-4.7.2) and 188597 (4.7.1). It only happens with double
and float. If you switch to int and pow function instead of powf it works fine.
It crashes only on C++11. Compiled files with -ansi (no C++11), exit code 0.

Current workaround/fix is to use std::pow() in the code.

GCC compiled with LLVM/clang on Mac OS X 10.8, Xcode 4.4 (build: 4F250)

$ clang -v
Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.0.0
Thread model: posix

sw_vers
ProductName:Mac OS X
ProductVersion: 10.8
BuildVersion:   12A269

## Detailed information about GCC ##

c++: warning: -pipe ignored because -save-temps specified
Using built-in specs.
COLLECT_GCC=/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/c++
Target: x86_64-apple-darwin12.0.0
Configured with: ../configure
--prefix=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--disable-multilib --disable-nls --enable-languages=c,c++,fortran,objc,obj-c++
--with-gmp=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--with-mpfr=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--with-mpc=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--with-ppl=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--with-cloog=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--enable-cloog-backend=isl --enable-shared CC='clang -fPIC' CXX='clang++ -fPIC'
CPP='clang -E' CXXCPP='clang++ -E'
Thread model: posix
gcc version 4.7.1 (GCC) 
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.8.0' '-v' '-save-temps' '-c' '-D'
'GNU_GCC' '-D' '_GNU_SOURCE' '-D' '__STDC_LIMIT_MACROS' '-D'
'__STDC_FORMAT_MACROS' '-O2' '-pedantic' '-ansi' '-pthread' '-pipe' '-Wno-vla'
'-m64' '-std=c++11' '-msse3' '-ftree-vectorize' '-Wno-strict-overflow'
'-Werror=array-bounds' '-Werror=format-contains-nul' '-Werror=type-limits'
'-fvisibility-inlines-hidden' '-fno-math-errno' '--param'
'vect-max-version-for-alias-checks=50' '-fipa-pta' '-felide-constructors'
'-fmessage-length=0' '-ftemplate-depth=300' '-Wall' '-Wno-non-template-friend'
'-Wno-long-long' '-Wreturn-type' '-Wunused' '-Wparentheses' '-Wno-deprecated'
'-Werror=return-type' '-Werror=missing-braces' '-Werror=unused-value'
'-Werror=address' '-Werror=format' '-Werror=sign-compare'
'-Werror=write-strings' '-fdiagnostics-show-option' '-fPIC' '-MMD' '-o'
'osx108-ice-testcase.o' '-shared-libgcc' '-mtune=core2'

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../libexec/gcc/x86_64-apple-darwin12.0.0/4.7.1/cc1plus
-E -quiet -v -iprefix
/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/
-MMD osx108-ice-testcase.d -MQ osx108-ice-testcase.o -D__DYNAMIC__ -D_REENTRANT
-D GNU_GCC -D _GNU_SOURCE -D __STDC_LIMIT_MACROS -D __STDC_FORMAT_MACROS
./osx108-ice-testcase.cc -fPIC -mmacosx-version-min=10.8.0 -m64 -msse3
-mtune=core2 -ansi -std=c++11 -pedantic -Wno-vla -Wno-strict-overflow
-Werror=array-bounds -Werror=format-contains-nul -Werror=type-limits -Wall
-Wno-non-template-friend -Wno-long-long -Wreturn-type -Wunused -Wparentheses
-Wno-deprecated -Werror=return-type -Werror=missing-braces -Werror=unused-value
-Werror=address -Werror=format -Werror=sign-compare -Werror=write-strings
-ftree-vectorize -fvisibility-inlines-hidden -fno-math-errno -fipa-pta
-felide-constructors -fmessage-length=0 -ftemplate-depth=300
-fdiagnostics-show-option -fPIC -O2 -fpch-preprocess -o osx108-ice-testcase.ii
ignoring nonexistent directory
/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../x86_64-apple-darwin12.0.0/include
ignoring duplicate directory
/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/../../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../include/c++/4.7.1

[Bug target/54445] TLS array lookup with negative constant is not combined into a single instruction

2012-09-13 Thread adam at consulting dot net.nz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54445

--- Comment #8 from Adam Warner adam at consulting dot net.nz 2012-09-13 
09:01:44 UTC ---
Awesome! Thanks Uros Bizjak and H.J. Lu for locating and fixing the bug.


[Bug driver/54563] [4.7][C++11] MacOS 10.8, ICE in redirect_eh_edge_1, at tree-eh.c:2215

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54563

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-13
 Ever Confirmed|0   |1
  Known to fail||4.7.0, 4.7.2, 4.8.0

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
09:27:30 UTC ---
Confirmed, ICEs this way at -O1.  Reducing.


[Bug c/54559] [4.7 Regression], ICE in gimplify_expr, at gimplify.c:7592

2012-09-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54559

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-13 
09:31:34 UTC ---
Created attachment 28185
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28185
gcc48-pr54559.patch

Untested fix.


[Bug c/54559] [4.7/4.8 Regression], ICE in gimplify_expr, at gimplify.c:7592

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54559

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
  Known to work|4.8.0   |
Summary|[4.7 Regression], ICE in|[4.7/4.8 Regression], ICE
   |gimplify_expr, at   |in gimplify_expr, at
   |gimplify.c:7592 |gimplify.c:7592
  Known to fail||4.8.0

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
09:33:43 UTC ---
Trunk also fails for me.  P1.


[Bug middle-end/54563] [4.7/4.8 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2215

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54563

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
   Priority|P3  |P2
  Component|driver  |middle-end
  Known to work||4.6.3
   Target Milestone|--- |4.7.2
Summary|[4.7][C++11] MacOS 10.8,|[4.7/4.8 Regression] ICE in
   |ICE in redirect_eh_edge_1,  |redirect_eh_edge_1, at
   |at tree-eh.c:2215   |tree-eh.c:2215
   Severity|major   |normal

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
09:39:10 UTC ---
Reduced testcase:

struct vector
{
  ~vector();
};
extern C float powf(float, float);
double getSomeDouble();
double x;
void dummyFunction()
{
  vector vals;
  x = powf(getSomeDouble(), 2.);
}


[Bug c++/53039] [4.7 Regression] including functional breaks std::is_convertible with template-pack expansion

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53039

--- Comment #18 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
10:31:18 UTC ---
Jason, are we still considering backporting something? It would be great - I
find the issue pretty annoying - but it's your call.


[Bug c++/53210] warning for data member initialized with itself should be in -Wall

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53210

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
10:37:30 UTC ---
Thus, Manuel, I suppose you still consider your patchlet pretty obvious? I
would be willing to test and tweak the testsuite and submit and resolve this.


[Bug libmudflap/12310] [tree-ssa] libmudflap fails to build on mips-sgi-IRIX6.5

2012-09-13 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12310

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||steven at gcc dot gnu.org
 Resolution||WONTFIX

--- Comment #13 from Steven Bosscher steven at gcc dot gnu.org 2012-09-13 
10:41:59 UTC ---
mips-sgi-irix6.5 is no longer supported.


[Bug libmudflap/14118] h8300-elf, avr-elf, m68k-elf ports cannot build libmudflap

2012-09-13 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14118

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 Status|SUSPENDED   |RESOLVED
 CC||steven at gcc dot gnu.org
 Resolution||WONTFIX

--- Comment #14 from Steven Bosscher steven at gcc dot gnu.org 2012-09-13 
10:43:33 UTC ---
This won't be fixed for generic *-elf targets.


[Bug libmudflap/16454] [meta-bug] tracking bug for libmudflap build problems

2012-09-13 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16454

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

Bug 16454 depends on bug 14118, which changed state.

Bug 14118 Summary: h8300-elf, avr-elf, m68k-elf ports cannot build libmudflap
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14118

   What|Old Value   |New Value

 Status|SUSPENDED   |RESOLVED
 Resolution||WONTFIX

--- Comment #4 from Steven Bosscher steven at gcc dot gnu.org 2012-09-13 
10:44:39 UTC ---
.


[Bug libmudflap/16454] [meta-bug] tracking bug for libmudflap build problems

2012-09-13 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16454

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

Bug 16454 depends on bug 14118, which changed state.

Bug 14118 Summary: h8300-elf, avr-elf, m68k-elf ports cannot build libmudflap
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14118

   What|Old Value   |New Value

 Status|SUSPENDED   |RESOLVED
 Resolution||WONTFIX

--- Comment #4 from Steven Bosscher steven at gcc dot gnu.org 2012-09-13 
10:44:39 UTC ---
.


[Bug target/54564] New: [4.8 Regression

2012-09-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54564

 Bug #: 54564
   Summary: [4.8 Regression
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org


[Bug c++/52806] zero as null pointer constant in C++98 mode

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52806

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
11:03:05 UTC ---
Closing.


[Bug target/54564] [4.8 Regression

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54564

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
11:04:40 UTC ---
Unintended, I suppose ;)


[Bug target/54564] [4.8 Regression

2012-09-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54564

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-13 
11:12:40 UTC ---
Seems that starting with
http://gcc.gnu.org/viewcvs?root=gccview=revrev=190492
some fma tests fail:
FAIL: gcc.target/i386/fma-fmaddXX.c execution test
FAIL: gcc.target/i386/fma-fmsubXX.c execution test
FAIL: gcc.target/i386/fma-fnmaddXX.c execution test
FAIL: gcc.target/i386/fma-fnmsubXX.c execution test

The bug seems to be in the fmai_vmfmadd_mode expander and following patterns.
(match_dup 0) in the expander for the input operand that provides the vector
elts other than lowest is definitely wrong, the first operand to the expander
is the destination register, very likely uninitialized pseudo that is only
going to be initialized by that vfma*s{s,d} insn.  That means that the high
elements of the result of _mm_f{,n}m{add,sub}_s{s,d} are pretty much garbage.
The question is what the high elements of the result are supposed to be, the
intrinsics aren't very well documented.  Are the high elements supposed to
contain the high elements of the first argument of the intrinsics?  I'd assume
so.  But then it must be (match_dup 1) in the expander, and we need to rule out
the last alternative from the patterns.  Also the question is about
_mm_fnm{add_sub}_s{s,d} - those currently negate the first operand, thus it
would be pretty random what gets in the high elements.  Shouldn't we negate the
second argument instead?


[Bug target/54564] [4.8 Regression] Broken __builtin_ia32_vfmadds[sd]3

2012-09-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54564

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|NEW
   Last reconfirmed||2012-09-13
 Resolution|INVALID |
   Target Milestone|--- |4.7.2
Summary|[4.8 Regression |[4.8 Regression] Broken
   ||__builtin_ia32_vfmadds[sd]3
 Ever Confirmed|0   |1


[Bug tree-optimization/54565] New: pass_update_address_taken before forwprop1 for vectors

2012-09-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54565

 Bug #: 54565
   Summary: pass_update_address_taken before forwprop1 for vectors
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: gli...@gcc.gnu.org


Created attachment 28186
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28186
IRC log

Hello,

during forwprop1, some of the optimizations for vectors fail because some
vectors appear as PARM_DECL or such instead of SSA_NAME. An example is
forwprop-22.c where the code does detect that {v[0],v[1]} is just v, but v is a
PARM_DECL so it just gives up. Before forwprop2, something (fre?) changes it to
an SSA_NAME and the optimization then works. Following some advice by pinskia
and stevenb on IRC (log attached), I tried adding pass_update_address_taken
right before forwprop1 and it did allow the optimization to happen in
forwprop1. The log also contains an argument by pinskia that doing
optimizations in forwprop1 can help a bit make better inlining decisions, and
some later comments by richi.


[Bug target/54564] [4.8 Regression] Broken __builtin_ia32_vfmadds[sd]3

2012-09-13 Thread kirill.yukhin at intel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54564

--- Comment #3 from Yukhin Kirill kirill.yukhin at intel dot com 2012-09-13 
11:57:35 UTC ---
Fails also occur on real HW.


[Bug c++/53210] warning for data member initialized with itself should be in -Wall

2012-09-13 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53210

--- Comment #4 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-09-13 
12:05:49 UTC ---
(In reply to comment #3)
 Thus, Manuel, I suppose you still consider your patchlet pretty obvious? I
 would be willing to test and tweak the testsuite and submit and resolve this.

Either that or change the warning to use OPT_Winit_self. But that makes less
sense to me because Winit-selft has a very specific purpose, to override that
work-around used by GCC to silence Wuninitialized warnings, which does not
apply in this case. Thanks for taking care of this.


[Bug target/54564] [4.8 Regression] Broken __builtin_ia32_vfmadds[sd]3

2012-09-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54564

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-13 
12:07:28 UTC ---
Created attachment 28187
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28187
gcc48-pr54564.patch

Very lightly tested fix (just
make check-gcc RUNTESTFLAGS='--target_board=valgrind-sim/-m64 i386.exp=\*fma\*'
with valgrind that supports fma).

It is unfortunate that we don't generate the vf{,n}madd231s{s,d} insns any
longer, but I don't see how that would be possible, because the intrinsic (as
the testcases for it show) really wants to put the high elements of the first
argument into the destination, merged with the fma result.  The insns are
barely useful for anything else than the intrinsic, normal code would either
use the scalar insn that ignores the higher elements, or full vector version,
so IMHO this isn't a big deal.


[Bug fortran/54556] [4.8 Regression] Marking implicitly pure variables as DECL_PURE_P leads to wrong code

2012-09-13 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54556

--- Comment #11 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
2012-09-13 12:31:03 UTC ---
(In reply to comment #10)
 Draft patch (replaces the one in comment 9):
 
 --- a/gcc/fortran/resolve.c
 +++ b/gcc/fortran/resolve.c
 @@ -13567,6 +13572,5 @@ gfc_impure_variable (gfc_symbol *sym)
proc = sym-ns-proc_name;
 -  if (sym-attr.dummy  gfc_pure (proc)
 -((proc-attr.subroutine  sym-attr.intent == INTENT_IN)
 -   ||
 -proc-attr.function))
 +  if (sym-attr.dummy
 +   ((proc-attr.subroutine  sym-attr.intent == INTENT_IN)
 + || proc-attr.function))
  return 1;

this one fixes the error seen with CP2K.


[Bug middle-end/54563] [4.7/4.8 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2215

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54563

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 CC||wschmidt at gcc dot gnu.org

--- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2012-09-13 12:40:26 
UTC ---
It is caused by revision 174196:

http://gcc.gnu.org/ml/gcc-cvs/2011-05/msg00977.html


[Bug c++/50025] [DR 1288] C++0x initialization syntax doesn't work for class members of reference type

2012-09-13 Thread temp78593 at mutluit dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50025

--- Comment #9 from Uenal Mutlu temp78593 at mutluit dot com 2012-09-13 
12:44:44 UTC ---
Created attachment 28188
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28188
Testcase for Bug error: invalid initialization of non-const reference of type
‘std::istream

Mysterious compiler error in line 35 of the attached testcase (test1.cpp);
marked there as BUG:

test1.cpp:35:45: error: invalid initialization of non-const reference of type
‘std::istream {aka std::basic_istreamchar}’ from an rvalue of type ‘void*’


[Bug target/54566] New: __builtin_shuffle: use psrldq+pslldq+por for rotations

2012-09-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54566

 Bug #: 54566
   Summary: __builtin_shuffle: use psrldq+pslldq+por for rotations
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: gli...@gcc.gnu.org
Target: x86_64-linux-gnu


Hello,

this PR is based on those 2 emails:
http://gcc.gnu.org/ml/libstdc++/2012-09/msg00048.html
http://gcc.gnu.org/ml/libstdc++/2012-09/msg00050.html

which say that permutations that are rotations (like {1,2,3,4,5,6,7,0}) should
more often be based on the rotation instructions (as in _mm_srli_si128 and
_mm_slli_si128). Whether it is better than pshufb is not for me to say, but it
could at least help where pshufb is not available. (256 bit AVX2 versions are
also possible, although they require an additional lane swap)


[Bug target/54566] __builtin_shuffle: use psrldq+pslldq+por for rotations

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54566

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-13
 Ever Confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
12:54:40 UTC ---
Confirmed.


[Bug tree-optimization/54565] pass_update_address_taken before forwprop1 for vectors

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54565

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-13
 CC||rguenth at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
13:02:33 UTC ---
I think I removed it because pass_build_ealias performs it already.  It does
make sense to do after CCP, but it didn't look profitable before forwprop
before it got all the tree-combining things.

Thus, confirmed.  Moving the TODO from before alias computation to after
CCP instead makes sense.


[Bug c++/53210] warning for data member initialized with itself should be in -Wall

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53210

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
   Target Milestone|--- |4.8.0

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
13:09:17 UTC ---
Ok. Your patchlet as-is passes bootstrap and testing, I'm going to send it to
gcc-patches and ask if people alternately prefer OPT_Winit_self.


[Bug tree-optimization/54565] pass_update_address_taken before forwprop1 for vectors

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54565

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
13:09:38 UTC ---
Created attachment 28189
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28189
patch

Like with this.


[Bug gcov-profile/54487] [4.8 Regression] profiledbootstrap broken by r190952

2012-09-13 Thread tejohnson at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54487

--- Comment #30 from tejohnson at gcc dot gnu.org 2012-09-13 13:32:45 UTC ---
Author: tejohnson
Date: Thu Sep 13 13:32:31 2012
New Revision: 191254

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191254
Log:
2012-09-12  Teresa Johnson  tejohn...@google.com

Backport from mainline.
2012-09-12  Teresa Johnson  tejohn...@google.com

PR gcov-profile/54487
* configure.ac (HOST_HAS_F_SETLKW): Set based on compile
test using F_SETLKW with fcntl.
* configure, config.in: Regenerate.

Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config.in
branches/gcc-4_7-branch/gcc/configure
branches/gcc-4_7-branch/gcc/configure.ac


[Bug other/24724] _Unwind_Backtrace() calls malloc

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24724

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
   Last reconfirmed||2012-09-13
 Resolution|WONTFIX |
 Ever Confirmed|0   |1

--- Comment #14 from H.J. Lu hjl.tools at gmail dot com 2012-09-13 13:43:42 
UTC ---
(In reply to comment #13)
 There are two solutions to this:
 
 (1) Make sure your binary provides PT_GNU_EH_FRAME.  This is the quickest
 path through the unwinder, since the table is pre-sorted by the linker.

This isn't the problem.

 (2) Have your malloc detect the recursion and return NULL.  This will cause
 the unwinder to perform a linear search through the unsorted tables.
 It should not fail due to the fake out-of-memory condition, since it
 was designed to handle throwing an exception during a true OOM condition.

The problem is _Unwind_Find_FDE in unwind-dw2-fde.c
calls search_object to find FDE in the registered objects,
which is loaded unsorted from .eh_frame section.  Can
we use .eh_frame_hdr section to load the sorted table
directly?


[Bug other/24724] _Unwind_Backtrace() calls malloc

2012-09-13 Thread ian at airs dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24724

Ian Lance Taylor ian at airs dot com changed:

   What|Removed |Added

 CC||ian at airs dot com

--- Comment #15 from Ian Lance Taylor ian at airs dot com 2012-09-13 14:06:03 
UTC ---
On a system whose linker supports --eh-frame-hdr, we will use the version of
_Unwind_Find_FDE in unwind-dw2-fde-dip.c.  It will override the version in
unwind-dw2-fde.c by renaming it via #define.  This file is selected by
libgcc/config/t-eh-dw2-dip.  It will still call the version of
_Unwind_Find_FDE, but that function will only look through files registered by
__register_frame_info_bases.  __register_frame_info_bases is called by
crtstuff.c, but it is only called on systems whose linker does not support
--eh-frame-hdr.

So on what system are you actually seeing a call to qsort?  Does that system
have a linker that supports --eh-frame-hdr?


[Bug other/24724] _Unwind_Backtrace() calls malloc

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24724

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||WONTFIX

--- Comment #16 from H.J. Lu hjl.tools at gmail dot com 2012-09-13 14:20:21 
UTC ---
It is an Android target bug.


[Bug debug/54567] New: Incomplete PT_GNU_EH_FRAME support for Android

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54567

 Bug #: 54567
   Summary: Incomplete PT_GNU_EH_FRAME support for Android
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: pavel.v.chu...@gmail.com


Revision 186788:

http://gcc.gnu.org/ml/gcc-cvs/2012-04/msg00740.html

defines USE_PT_GNU_EH_FRAME for BIONIC. But it misses
USE_PT_GNU_EH_FRAME in crtstuff.c:

crtstuff.c:# define USE_PT_GNU_EH_FRAME
crtstuff.c:# define USE_PT_GNU_EH_FRAME
crtstuff.c:#  define USE_PT_GNU_EH_FRAME
crtstuff.c:# define USE_PT_GNU_EH_FRAME
crtstuff.c:#if defined(EH_FRAME_SECTION_NAME)  !defined(USE_PT_GNU_EH_FRAME)

We should have a single place to define USE_PT_GNU_EH_FRAME
to avoid the problem like this.


[Bug debug/54568] New: Unused codes in unwind-dw2-fde.c on PT_GNU_EH_FRAME targets

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54568

 Bug #: 54568
   Summary: Unused codes in unwind-dw2-fde.c on PT_GNU_EH_FRAME
targets
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


From

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24724#c15

--
On a system whose linker supports --eh-frame-hdr, we will use the version of
_Unwind_Find_FDE in unwind-dw2-fde-dip.c.  It will override the version in
unwind-dw2-fde.c by renaming it via #define.  This file is selected by
libgcc/config/t-eh-dw2-dip.  It will still call the version of
_Unwind_Find_FDE, but that function will only look through files registered by
__register_frame_info_bases.  __register_frame_info_bases is called by
crtstuff.c, but it is only called on systems whose linker does not support
--eh-frame-hdr.
--

On PT_GNU_EH_FRAME targets, even __register_frame_info_bases isn't
defined/used, we still include unwind-dw2-fde.c and call its
_Unwind_Find_FDE as _Unwind_Find_registered_FDE.  Should we skip
the whole thing?


[Bug c++/54569] New: Compiling code with -O3 results to segfault in MAME/MESS binary

2012-09-13 Thread agarcia at igalia dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54569

 Bug #: 54569
   Summary: Compiling code with -O3 results to segfault in
MAME/MESS binary
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: agar...@igalia.com


Created attachment 28190
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28190
Preprocessed source file

Debian bug: http://bugs.debian.org/686645

MAME / MESS segfault when compiled with -O3 using GCC 4.7.1. The problem
doesn't seem to happen with GCC  4.7

GCC version:

Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.1-8'
--with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs
--enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.7 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object
--enable-plugin --enable-objc-gc --enable-targets=all --with-arch-32=i586
--with-tune=generic --enable-checking=release --build=i486-linux-gnu
--host=i486-linux-gnu --target=i486-linux-gnu
gcc version 4.7.1 (Debian 4.7.1-8)

Command line that triggers the bug:

gcc -DCRLF=2 -DINLINE=static inline -DLSB_FIRST -DNDEBUG -DUSE_SYSTEM_JPEGLIB
-DSDLMAME_SDL2=0 -DDISTRO=generic -DSDLMAME_ARCH=-march=pentium2
-DSYNC_IMPLEMENTATION=tc -DSDLMAME_UNIX -DUSE_OPENGL=1 -DUSE_DISPATCH_GL=1
-DSDLMAME_X11 -DNATIVE_DRC=drcbe_x86 -pipe -O3 -fno-strict-aliasing
-march=pentium2 -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-strings
-Wno-sign-compare -Wno-conversion -DINI_PATH=/etc/mess -D_GNU_SOURCE=1
-D_REENTRANT -m32 -pthread -pthread -Isrc/mess -Iobj/sdl/mess/layout -Isrc/emu
-Iobj/sdl/emu -Iobj/sdl/emu/layout -Isrc/lib/util -Isrc/lib -Isrc/osd
-Isrc/osd/sdl -Isrc/debug -include src/osd/sdl/sdlprefix.h -I/usr/include
-I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0
-I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gconf/2
-I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include
-I/usr/X11/include -I/usr/X11R6/include -I/usr/openwin/include -Isrc/mame
-Iobj/sdl/mame/layout -Isrc/mess/osd -Isrc/mess/osd/sdl -Isrc/mess/tools
-Isrc/mess/tools/imgtool -Isrc/mess/tools/castool -Isrc/mess/tools/floptool -x
c++ -std=gnu++98 -Woverloaded-virtual -c src/emu/ioport.c -o
obj/sdl/emu/ioport.o

(no compiler output).

The problem disappears if the file is compiled without -O3 or with -O3
-fno-ipa-cp-clone.

It also disappears if you remove the '__attribute__((optimize(O0)))' line
from the source file.

You can see a few more details -including a backtrace- in the Debian bug report
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686645#60).


[Bug c++/51662] Temporary objects gets garbage collected in cc1plus

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51662

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
14:52:42 UTC ---
Have you had a chance to test the fix?


[Bug fortran/54556] [4.8 Regression] Marking implicitly pure variables as DECL_PURE_P leads to wrong code

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54556

--- Comment #12 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
14:57:45 UTC ---
Author: burnus
Date: Thu Sep 13 14:57:38 2012
New Revision: 191259

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191259
Log:
2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54556
* resolve.c (resolve_formal_arglist): Allow VALUE arguments
with implicit_pure.
(gfc_impure_variable): Don't check gfc_pure such that the
function also works for gfc_implicit_pure procedures.

2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54556
* gfortran.dg/implicit_pure_3.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/implicit_pure_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


[Bug tree-optimization/54570] New: [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570

 Bug #: 54570
   Summary: [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c
execution test
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


I broke it by making early FRE more reliably figure out address equivalences.

extern void abort (void);
union A
{
  int a1;
  char a2[3];
};
int main()
{
  union A *a = __builtin_malloc (212);
  if (__builtin_object_size (a-a1, 1) != 4
  || __builtin_object_size (a-a2, 1) != 212)
abort ();
  return 0;
}

Would break in similar ways with struct { int a[]; } a; and a vs. a.a.


[Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:13:23 UTC ---
Author: jason
Date: Thu Sep 13 15:13:08 2012
New Revision: 191260

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191260
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/pt.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug c++/53836] [4.7/4.8 Regression] ICE: unexpected expression of kind template_parm_index

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53836

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:13:40 UTC ---
Author: jason
Date: Thu Sep 13 15:13:24 2012
New Revision: 191261

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191261
Log:
PR c++/53836
* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
be dependent.

Added:
trunk/gcc/testsuite/g++.dg/template/init10.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:13:23 UTC ---
Author: jason
Date: Thu Sep 13 15:13:08 2012
New Revision: 191260

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191260
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/pt.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:14:03 UTC ---
Author: jason
Date: Thu Sep 13 15:13:45 2012
New Revision: 191262

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191262
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

Added:
trunk/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/53839] [4.7/4.8 Regression] [C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53839

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:14:18 UTC ---
Author: jason
Date: Thu Sep 13 15:14:08 2012
New Revision: 191263

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191263
Log:
PR c++/53839
* semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
address, make sure the value is constant.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-temp1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:14:03 UTC ---
Author: jason
Date: Thu Sep 13 15:13:45 2012
New Revision: 191262

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191262
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

Added:
trunk/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

--- Comment #7 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:15:06 UTC ---
Author: jason
Date: Thu Sep 13 15:14:49 2012
New Revision: 191265

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191265
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/pt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug c++/53836] [4.7/4.8 Regression] ICE: unexpected expression of kind template_parm_index

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53836

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:13:40 UTC ---
Author: jason
Date: Thu Sep 13 15:13:24 2012
New Revision: 191261

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191261
Log:
PR c++/53836
* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
be dependent.

Added:
trunk/gcc/testsuite/g++.dg/template/init10.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:14:41 UTC ---
Author: jason
Date: Thu Sep 13 15:14:27 2012
New Revision: 191264

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191264
Log:
PR c++/53836
* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
be dependent.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/template/init10.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/pt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug c++/53839] [4.7/4.8 Regression] [C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53839

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:14:18 UTC ---
Author: jason
Date: Thu Sep 13 15:14:08 2012
New Revision: 191263

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191263
Log:
PR c++/53839
* semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
address, make sure the value is constant.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-temp1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:15:22 UTC ---
Author: jason
Date: Thu Sep 13 15:15:06 2012
New Revision: 191266

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191266
Log:
PR c++/53839
* semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
address, make sure the value is constant.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-temp1.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/semantics.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug tree-optimization/54570] [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |4.8.0

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
15:15:31 UTC ---
We talked about disabling SCCVNs offset-based field VN here:

case COMPONENT_REF:
  /* The field decl is enough to unambiguously specify the field,
 a matching type is not necessary and a mismatching type
 is always a spurious difference.  */
  temp.type = NULL_TREE;
  temp.op0 = TREE_OPERAND (ref, 1);
  temp.op1 = TREE_OPERAND (ref, 2);
  {
tree this_offset = component_ref_field_offset (ref);
if (this_offset
...

thus keep temp.off == -1 or adjust the equality function.


[Bug tree-optimization/54570] [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |4.8.0

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
15:15:31 UTC ---
We talked about disabling SCCVNs offset-based field VN here:

case COMPONENT_REF:
  /* The field decl is enough to unambiguously specify the field,
 a matching type is not necessary and a mismatching type
 is always a spurious difference.  */
  temp.type = NULL_TREE;
  temp.op0 = TREE_OPERAND (ref, 1);
  temp.op1 = TREE_OPERAND (ref, 2);
  {
tree this_offset = component_ref_field_offset (ref);
if (this_offset
...

thus keep temp.off == -1 or adjust the equality function.

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-13 
15:17:10 UTC ---
And introducing a global flag whether any __builtin_object_size calls where
in the code and not pessimize opts if not.


[Bug c++/54511] [4.6/4.7/4.8 Regression] internal compiler error: in make_decl_rtl, at varasm.c:1147

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54511

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:14:03 UTC ---
Author: jason
Date: Thu Sep 13 15:13:45 2012
New Revision: 191262

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191262
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

Added:
trunk/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

--- Comment #7 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:15:06 UTC ---
Author: jason
Date: Thu Sep 13 15:14:49 2012
New Revision: 191265

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191265
Log:
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/template/anonunion2.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/pt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog

--- Comment #8 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:29:12 UTC ---
Fixed for 4.6.4.


[Bug c++/53839] [4.7/4.8 Regression] [C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53839

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED

--- Comment #7 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:30:14 UTC ---
Fixed for 4.7.2.


[Bug c++/53836] [4.7/4.8 Regression] ICE: unexpected expression of kind template_parm_index

2012-09-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53836

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:13:40 UTC ---
Author: jason
Date: Thu Sep 13 15:13:24 2012
New Revision: 191261

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191261
Log:
PR c++/53836
* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
be dependent.

Added:
trunk/gcc/testsuite/g++.dg/template/init10.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:14:41 UTC ---
Author: jason
Date: Thu Sep 13 15:14:27 2012
New Revision: 191264

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191264
Log:
PR c++/53836
* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
be dependent.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/template/init10.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/pt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog

--- Comment #7 from Jason Merrill jason at gcc dot gnu.org 2012-09-13 
15:30:24 UTC ---
Fixed for 4.7.2.


[Bug debug/54568] Unused codes in unwind-dw2-fde.c on PT_GNU_EH_FRAME targets

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54568

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 CC||jakub at redhat dot com

--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2012-09-13 15:50:08 
UTC ---
It is needed by crtbeginT.o for -static since PT_GNU_EH_FRAME isn't
used for static executables.  However, dl_iterate_phdr works fine
with libc.a from glibc.  Jakub, do you remember why PT_GNU_EH_FRAME
isn't used on static executables?


[Bug debug/54568] Unused codes in unwind-dw2-fde.c on PT_GNU_EH_FRAME targets

2012-09-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54568

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-13 
16:11:12 UTC ---
Think about libraries built with older GCC versions or built with older
binutils.  Those would still call the register routines instead of building
.eh_frame_hdr.


[Bug gcov-profile/54487] [4.8 Regression] profiledbootstrap broken by r190952

2012-09-13 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54487

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #31 from Jan Hubicka hubicka at gcc dot gnu.org 2012-09-13 
16:17:10 UTC ---
Huh, 9 years for sucha nonsence is quite impressive. Thanks for tracking it
down! :)


[Bug debug/54568] Unused codes in unwind-dw2-fde.c on PT_GNU_EH_FRAME targets

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54568

--- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2012-09-13 16:18:24 
UTC ---
(In reply to comment #2)
 Think about libraries built with older GCC versions or built with older
 binutils.  Those would still call the register routines instead of building
 .eh_frame_hdr.

We are talking static executables here.  .eh-frame-hdr section is generated by
the linker to create static executable and we know --eh-frame-hdr works with
the linker.  Why shouldn't --eh-frame-hdr work for static executable linked
with libraries built with older GCC versions or built with older binutils?


[Bug c/54559] [4.7/4.8 Regression], ICE in gimplify_expr, at gimplify.c:7592

2012-09-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54559

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-13 
16:57:31 UTC ---
Author: jakub
Date: Thu Sep 13 16:57:15 2012
New Revision: 191270

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191270
Log:
PR c/54559
* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
COMPLEX_TYPE with in_late_binary_op set temporarily to true.

* gcc.c-torture/compile/pr54559.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr54559.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-typeck.c
trunk/gcc/testsuite/ChangeLog


[Bug c/54559] [4.7/4.8 Regression], ICE in gimplify_expr, at gimplify.c:7592

2012-09-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54559

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-13 
17:04:59 UTC ---
Author: jakub
Date: Thu Sep 13 17:04:44 2012
New Revision: 191271

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191271
Log:
PR c/54559
* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
COMPLEX_TYPE with in_late_binary_op set temporarily to true.

* gcc.c-torture/compile/pr54559.c: New test.

Added:
branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54559.c
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/c-typeck.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug libstdc++/52015] std::to_string does not work under MinGW

2012-09-13 Thread expl0i...@my-gate.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52015

Lukas Dürrenberger expl0i...@my-gate.net changed:

   What|Removed |Added

 CC||expl0i...@my-gate.net

--- Comment #8 from Lukas Dürrenberger expl0i...@my-gate.net 2012-09-13 
17:31:13 UTC ---
As mentioned before this bug is still active in GCC 4.7.0.

The issue got additionally mentioned in the MinGW bug tracker:
https://sourceforge.net/tracker/?func=detailatid=102435aid=3413241group_id=2435

There's a possible patch for it at: http://tehsausage.com/mingw-to-string

Since it's not clear how long that website will be up, I'll post it here again:

__

24 August 2012, 11:16 UTC
This patch enables the following list of C++11 functions and templates in the
std namespace:
stoi, stol, stoul, stoll, stof, stod, stold, to_string, to_wstring

This assumes you are using the official MinGW distribution.
If you are applying this patch to a version of MinGW GCC later than 4.7, you
should examine and apply the patches rather than using the zip file.

* Download mingw-to-string-gcc47.zip which contains three patched header files.
(Original patches: wchar.h, stdio.h, os_defines.h)

* Copy wchar.h and stdio.h from the include directory in the zip file to the
following directory (overwrite):
C:\mingw\include
(replace C:\mingw\ with the appropriate directory)

* Copy os_defines.h to the following directory (overwrite):
C:\mingw\lib\gcc\mingw32\4.7.0\include\c++\mingw32\bits
(replace C:\mingw\ with the appropriate directory)
(replace 4.7.0 with the correct version number)

Author: Julian Smythe


[Bug libstdc++/52015] std::to_string does not work under MinGW

2012-09-13 Thread expl0i...@my-gate.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52015

--- Comment #9 from Lukas Dürrenberger expl0i...@my-gate.net 2012-09-13 
17:33:51 UTC ---
Created attachment 28191
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28191
Enabling string conversion functions in MinGW

Patch from: http://tehsausage.com/mingw-to-string


[Bug fortran/54556] [4.8 Regression] Marking implicitly pure variables as DECL_PURE_P leads to wrong code

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54556

--- Comment #13 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
18:10:13 UTC ---
Author: burnus
Date: Thu Sep 13 18:10:04 2012
New Revision: 191275

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191275
Log:
2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54556
* resolve.c (resolve_formal_arglist): Allow VALUE arguments
with implicit_pure.
(gfc_impure_variable): Don't check gfc_pure such that the
function also works for gfc_implicit_pure procedures.

2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54556
* gfortran.dg/implicit_pure_3.f90: New.


Added:
branches/gcc-4_7-branch/gcc/testsuite/gfortran.dg/implicit_pure_3.f90
Modified:
branches/gcc-4_7-branch/gcc/fortran/ChangeLog
branches/gcc-4_7-branch/gcc/fortran/resolve.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug fortran/54556] [4.8 Regression] Marking implicitly pure variables as DECL_PURE_P leads to wrong code

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54556

--- Comment #14 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
18:16:01 UTC ---
Author: burnus
Date: Thu Sep 13 18:15:52 2012
New Revision: 191276

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191276
Log:
2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54556
* resolve.c (resolve_formal_arglist): Allow VALUE arguments
with implicit_pure.
(gfc_impure_variable): Don't check gfc_pure such that the
function also works for gfc_implicit_pure procedures.

2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54556
* gfortran.dg/implicit_pure_3.f90: New.


Added:
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/implicit_pure_3.f90
Modified:
branches/gcc-4_6-branch/gcc/fortran/ChangeLog
branches/gcc-4_6-branch/gcc/fortran/resolve.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug fortran/53306] [4.6/4.7/4.8 Regression] ICE on invalid 'array(*) =' statement

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53306

--- Comment #7 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
18:19:29 UTC ---
Author: burnus
Date: Thu Sep 13 18:19:22 2012
New Revision: 191277

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191277
Log:
2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54225
PR fortran/53306
* array.c (match_subscript, gfc_match_array_ref): Fix
diagnostic of coarray's '*'.

2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54225
PR fortran/53306
* gfortran.dg/coarray_10.f90: Update dg-error.
* gfortran.dg/coarray_28.f90: New.
* gfortran.dg/array_section_3.f90: New.


Added:
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/array_section_3.f90
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/coarray_28.f90
Modified:
branches/gcc-4_6-branch/gcc/fortran/ChangeLog
branches/gcc-4_6-branch/gcc/fortran/array.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/coarray_10.f90


[Bug fortran/54225] [4.6/4.7/4.8 Regression] fortran compiler segfault processing ' print *, A(1,*) '

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54225

--- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
18:19:28 UTC ---
Author: burnus
Date: Thu Sep 13 18:19:22 2012
New Revision: 191277

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191277
Log:
2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54225
PR fortran/53306
* array.c (match_subscript, gfc_match_array_ref): Fix
diagnostic of coarray's '*'.

2012-09-13  Tobias Burnus  bur...@net-b.de

PR fortran/54225
PR fortran/53306
* gfortran.dg/coarray_10.f90: Update dg-error.
* gfortran.dg/coarray_28.f90: New.
* gfortran.dg/array_section_3.f90: New.


Added:
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/array_section_3.f90
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/coarray_28.f90
Modified:
branches/gcc-4_6-branch/gcc/fortran/ChangeLog
branches/gcc-4_6-branch/gcc/fortran/array.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/coarray_10.f90


[Bug debug/49459] attribute((mode(byte))) in a typedef produces wrong debug information

2012-09-13 Thread paul_koning at dell dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49459

--- Comment #3 from Paul Koning paul_koning at dell dot com 2012-09-13 
18:52:51 UTC ---
I spent some time trying to figure this out.  The offending code seems to be
the prune_unused_types machinery.  

If there is a reference to a static method, but no other references to parts of
the class, then the class is treated as unused.  However, the static method
does cause the class name to be emitted in the dwarf output.  But because of
the fact that it is treated as unused, nothing else about the class is emitted.

This messes up code that consumes the debug data, because it now looks like the
class IS defined there, but most of its substance is missing.

This code is sufficiently hard to understand that I'm not likely to get much
further.

Meanwhile, I noticed a documentation bug: the documentation for
-feliminate-unused-debug-types says that this switch is off by default.  That
is no longer true, it is on by default.  If I turn it off, the
prune_unused_types machinery is suppressed and I get valid debug output.


[Bug fortran/54556] [4.8 Regression] Marking implicitly pure variables as DECL_PURE_P leads to wrong code

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54556

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #15 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
19:03:05 UTC ---
FIXED on the trunk - and on the 4.6/4.7 branch. (The bug on the branches is
more difficult to trigger.)

Thanks for the bug report and the reduced test case. Sorry for the breakage!


[Bug fortran/54225] [4.6/4.7/4.8 Regression] fortran compiler segfault processing ' print *, A(1,*) '

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54225

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #7 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
19:47:18 UTC ---
FIXED on the trunk (4.8) and the 4.6 and 4.7 branches; hence, the bug will be
fix in the upcoming 4.7.2 release.

Thanks for the report!


[Bug fortran/53306] [4.6/4.7/4.8 Regression] ICE on invalid 'array(*) =' statement

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53306

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #8 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
19:47:26 UTC ---
FIXED on the trunk (4.8) and the 4.6 and 4.7 branches; hence, the bug will be
fix in the upcoming 4.7.2 release.

Thanks for the report!


[Bug fortran/54389] [F2003/F2008 difference] PURE functions and pointer dummy arguments / DECL_PURE_P issue

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54389

--- Comment #5 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-13 
19:49:11 UTC ---
(In reply to comment #3)
 This revision causes CP2K to produce wrong results at -O1 and above.

That bug has been analysed and fixed, see PR 54556.


(In reply to comment #4)
 Dick Hendrickson asked at j3's mailing list (on 2012-09-05) whether that was
 intended; no reply so far.

Actually, Bob had answered; he reads the standard in the same way as Dick and
Ian (cf. comment 0).


[Bug bootstrap/38607] AIX error messages about TOC during build

2012-09-13 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38607

David Edelsohn dje at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|UNCONFIRMED |NEW
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2012-09/msg00532.htm
   ||l
   Last reconfirmed||2012-09-13
 CC||dje at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #19 from David Edelsohn dje at gcc dot gnu.org 2012-09-13 
20:10:17 UTC ---
First, this is a warning from the AIX linker, not an error and not a failure. 
The warning technically is correct but slightly misleading and should not cause
problems.

When the libstdc++ shared library is created for AIX, all global symbols are
exported.  AIX does not understand visibility decorations, but GCC uses it to
determine if a function will be local to a translation unit, not requiring a
nop after the call. Because they symbols are global and exported, the linker
complains.

GCC -fpic/-fPIC (XLC -qpic) no longer means position independent code, but that
the code will be used in a shared library.  XLC defaults to -qpic, GCC does
not.  Changing GCC for AIX to the XLC default causes other problems, so the
best solution is to add -fPIC to the link line of shared libraries so that GCC
on AIX looks more like GCC on Linux, which is what the patch does.  This
removes all but one warning, which probably is due to a latent bug in G++
itself.


[Bug debug/49459] attribute((mode(byte))) in a typedef produces wrong debug information

2012-09-13 Thread paul_koning at dell dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49459

--- Comment #4 from Paul Koning paul_koning at dell dot com 2012-09-13 
21:18:17 UTC ---
Sorry, please disregard the previous comment, I put it on the wrong bug.


[Bug debug/54508] Wrong debug information emitted if data members not referenced

2012-09-13 Thread paul_koning at dell dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54508

--- Comment #1 from Paul Koning paul_koning at dell dot com 2012-09-13 
21:21:58 UTC ---
I spent some time trying to figure this out.  The offending code seems to be
the prune_unused_types machinery.  

If there is a reference to a static method, but no other references to parts of
the class, then the class is treated as unused.  However, the static method
does cause the class name to be emitted in the dwarf output.  But because of
the fact that it is treated as unused, nothing else about the class is emitted.

This messes up code that consumes the debug data, because it now looks like the
class IS defined there, but most of its substance is missing.

Meanwhile, I noticed a documentation bug: the documentation for
-feliminate-unused-debug-types says that this switch is off by default.  That
is no longer true, it is on by default.  If I turn it off, the
prune_unused_types machinery is suppressed and I get valid debug output. 
Unfortunately, it is also so much larger that my builds run very slowly and
some binaries grow by as much as a factor of 5.


[Bug middle-end/54571] New: Missed optimization converting between bit sets

2012-09-13 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54571

 Bug #: 54571
   Summary: Missed optimization converting between bit sets
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org


When converting a bit set from one domain to another,code such as

  if (old  OLD_X) new |= NEW_X;
  if (old  OLD_Y) new |= NEW_Y;

is common.  If OLD_X and NEW_X are single bits, then this conversion
need not include any conditional code.  One can mask out OLD_X and
shift it left or right to become NEW_X.  Or, vice versa, shift left
or right and then mask out NEW_X.

Indeed, it's probably preferable to perform the mask with the smaller
of OLD_X and NEW_X in order to maximize the possibility of having a
valid immediate operand to the logical insn.

A test case that would seem to cover the all the cases, including 
converting logical not to bitwise not, would seem to be

int f1(int x, int y) { if (x  1) y |= 1; return y; }
int f2(int x, int y) { if (x  1) y |= 2; return y; }
int f3(int x, int y) { if (x  2) y |= 1; return y; }
int g1(int x, int y) { if (!(x  1)) y |= 1; return y; }
int g2(int x, int y) { if (!(x  1)) y |= 2; return y; }
int g3(int x, int y) { if (!(x  2)) y |= 1; return y; }

I'll also note that on the (presumably) preferred alternatives:

int h1(int x, int y) { return (x  1) | y; }
int h2(int x, int y) { return ((x  1)  1) | y; }
int h3(int x, int y) { return ((x  2)  1) | y; }
int k1(int x, int y) { return (~x  1) | y; }
int k2(int x, int y) { return ((~x  1)  1) | y; }
int k3(int x, int y) { return ((~x  1)  1) | y; }

there's some less-than-optimial code generated for k1 and k2.


[Bug target/43168] internal compiler error for xgcc when building gcc for pdp11-unknown-aout

2012-09-13 Thread paul_koning at dell dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43168

Paul Koning paul_koning at dell dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.6.0
 Resolution||FIXED

--- Comment #2 from Paul Koning paul_koning at dell dot com 2012-09-13 
21:25:19 UTC ---
As I mentioned, this was fixed a while ago.


[Bug middle-end/54571] Missed optimization converting between bit sets

2012-09-13 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54571

Richard Henderson rth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
   Severity|normal  |enhancement


[Bug libstdc++/52015] std::to_string does not work under MinGW

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52015

--- Comment #10 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
22:14:32 UTC ---
Patch should be sent to the gcc-patches (and libstdc++) mailing list (any
contributor must have a Copyright assignment on file, of course)


[Bug debug/54568] --eh-frame-hdr should also be enabled for static executable

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54568

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

Summary|Unused codes in |--eh-frame-hdr should also
   |unwind-dw2-fde.c on |be enabled for static
   |PT_GNU_EH_FRAME targets |executable

--- Comment #4 from H.J. Lu hjl.tools at gmail dot com 2012-09-13 22:23:08 
UTC ---
The old interface is needed for DSO and executable created by
the older binutils.  However, it has nothing to with -static.
Also for Android targets, there is no old DSO.


[Bug fortran/54572] New: Use libbacktrace library

2012-09-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54572

 Bug #: 54572
   Summary: Use libbacktrace library
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: j...@gcc.gnu.org


Ian has created a shiny libbacktrace libray which should be used to replace the
current implementation in libgfortran/runtime/backtrace.c, which uses 
unwinder and, if available, addr2line.

libbacktrace is installed both as host library (i.e. for backtraces of the
compiler when an ICE occurs) and as target library, to be used by go and
possibly other users (e.g. libgfortran).


TODO:


a) Enable the building of the target library:

--- ./gcc/fortran/config-lang.in.orig   2011-05-10 23:12:01.0 +0200
+++ ./gcc/fortran/config-lang.in2012-09-13 22:06:38.0 +0200
@@ -30 +30 @@ compilers=f951\$(exeext)
-target_libs=target-libgfortran
+target_libs=target-libgfortran target-libbacktrace


b) Add --disable-target-libbacktrace to the toplevel configure to disable
libbacktrace; e.g. for our embedded users. (toplevel implies a sync with
sourceware; watch out for go which also uses the target library, check that
go is still be working without target libbacktrace.)


c) Configure check: Check whether the library is available. (See
libgfortran/acinclude.m4's LIBGFOR_CHECK_FLOAT128 for some ideas how one can
test this.)

d) Configure check 2: Check whether BACKTRACE_SUPPORTED is set to 0 (-
backtrace-supported.h), in that case, it is also pointless to build the
support.



e) Replace the current version by calls to libbacktrace.

Almost latest version of the patch:
  http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00806.html
Or wait a while and browse libbacktrace/ directly.

  * backtrace-supported.h contains BACKTRACE_USES_MALLOC
and BACKTRACE_SUPPORTED

  * Available functions are listed in backtrace.h


[The current version of libbacktrace only handles ELF+DWARF; one could consider
keeping the other version for a while. On the other hand, I assume that other
formats will soon be supported.]


[Bug middle-end/54573] New: [4.8 Regression]: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54573

 Bug #: 54573
   Summary: [4.8 Regression]: gcc.dg/builtin-object-size-8.c
execution test
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: h...@gcc.gnu.org
CC: rgue...@gcc.gnu.org
  Host: x86_64-unknown-linux-gnu
Target: cris-axis-elf


This test previously passed, now it fails.
A patch in the revision range (last_known_working:first_known_failing)
191244:191253 exposed or caused this regression.  Since then it fails as
follows:

Running /tmp/hpautotest-gcc0/gcc/gcc/testsuite/gcc.dg/dg.exp ...
...
FAIL: gcc.dg/builtin-object-size-8.c execution test


The messages in gcc.log says that abort() was called:

Executing on host: /tmp/hpautotest-gcc0/cris-elf/gccobj/gcc/xgcc
-B/tmp/hpautotest-gcc0/cris-elf/gccobj/gcc/ /tmp/hpaut\
otest-gcc0/gcc/gcc/testsuite/gcc.dg/builtin-object-size-8.c 
-fno-diagnostics-show-caret   -O2   -isystem /tmp/hpautote\
st-gcc0/cris-elf/gccobj/cris-elf/./newlib/targ-include -isystem
/tmp/hpautotest-gcc0/gcc/newlib/libc/include -B/tmp/hpa\
utotest-gcc0/cris-elf/gccobj/cris-elf/./libgloss/cris/
-L/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/./libgloss/cris \
-L/tmp/hpautotest-gcc0/gcc/libgloss/cris 
-B/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/./newlib/ -L/tmp/hpautotest-g\
cc0/cris-elf/gccobj/cris-elf/./newlib -sim3  -lm   -o
./builtin-object-size-8.exe(timeout = 300)
PASS: gcc.dg/builtin-object-size-8.c (test for excess errors)
program stopped with signal 6.^M
FAIL: gcc.dg/builtin-object-size-8.c execution test

I see this FAIL in messages to gcc-testresults too, for example (x86_64)
http://gcc.gnu.org/ml/gcc-testresults/2012-09/msg01239.html and (i686)
http://gcc.gnu.org/ml/gcc-testresults/2012-09/msg01225.html so the regression
seems universal.

Author of only suspect patch in revision range CC:ed.


[Bug debug/54567] Incomplete PT_GNU_EH_FRAME support for Android

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54567

--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2012-09-13 22:58:38 
UTC ---
This is not a real problem for Android since Android doesn't
use crt* files from GCC. However it will be nicer to define
USE_PT_GNU_EH_FRAME in a single place.


[Bug c++/53210] warning for data member initialized with itself should be in -Wall

2012-09-13 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53210

--- Comment #6 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2012-09-13 23:04:12 UTC ---
Author: paolo
Date: Thu Sep 13 23:04:04 2012
New Revision: 191284

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191284
Log:
2012-09-13  Paolo Carlini  paolo.carl...@oracle.com
Manuel López-Ibáñez  m...@gcc.gnu.org

PR c++/53210
* doc/invoke.texi ([Winit-self]): Document as enabled by -Wall
in C++.

/c-family
2012-09-13  Paolo Carlini  paolo.carl...@oracle.com
Manuel López-Ibáñez  m...@gcc.gnu.org

PR c++/53210
* c.opt ([Winit-self]): Enabled by -Wall in C++.

/cp
2012-09-13  Paolo Carlini  paolo.carl...@oracle.com
Manuel López-Ibáñez  m...@gcc.gnu.org

PR c++/53210
* init.c (perform_member_init): Use OPT_Winit_self instead of
OPT_Wuninitialized.

/testsuite
2012-09-13  Paolo Carlini  paolo.carl...@oracle.com
Manuel López-Ibáñez  m...@gcc.gnu.org

PR c++/53210
* g++.dg/warn/Winit-self.C: New.

Added:
trunk/gcc/testsuite/g++.dg/warn/Winit-self.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c.opt
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/init.c
trunk/gcc/doc/invoke.texi
trunk/gcc/testsuite/ChangeLog


[Bug c++/53210] warning for data member initialized with itself should be in -Wall

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53210

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
23:08:01 UTC ---
Done.


[Bug c++/53661] [gcc-4.7/4.8 regression] Wrong narrowing conversion warning with -std=c++11

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53661

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
23:40:22 UTC ---
Manuel, what do you think about this? I see the warning happening because the
underlying type of Code is unsigned int.


[Bug c++/53661] [gcc-4.7/4.8 regression] Wrong narrowing conversion warning with -std=c++11

2012-09-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53661

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-13 
23:43:01 UTC ---
Actually adding Manuel in CC.


[Bug c++/54574] New: G++ accepts parameters with wrong types in parent constructor

2012-09-13 Thread carrot at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54574

 Bug #: 54574
   Summary: G++ accepts parameters with wrong types in parent
constructor
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: car...@google.com


When compiling the following source code,

class C
{
public:
  C (int* Items[]);
};

templateclass T class A : public C
{
public:
  A (int Items[])
: C (Items) {// C is called with wrong parameter type, expects
int**
  };
};

int i[5];
Aint yyy(i);

Trunk g++ silently accepts it. While clang produces following error message:


cursesm.ii:11:7: error: no matching constructor for initialization of 'C'
: C (Items) {
  ^  ~
cursesm.ii:4:3: note: candidate constructor not viable: no known conversion
from 'int *' to 'int **' for 1st argument; take the address of the argument
with 
  C (int* Items[]);
  ^
cursesm.ii:1:7: note: candidate constructor (the implicit copy constructor) not
viable: no known conversion from 'int *' to 'const C' for 1st argument;
class C
  ^
cursesm.ii:10:3: error: constructor for 'Aint' must explicitly initialize the
base class 'C' which does not have a default constructor
  A (int Items[])
  ^
cursesm.ii:16:8: note: in instantiation of member function 'Aint::A'
requested here
Aint yyy(i);
   ^
cursesm.ii:1:7: note: 'C' declared here
class C
  ^

It also impacts branches 4.6 and 4.7.


[Bug middle-end/54573] [4.8 Regression]: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54573

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot
   ||gnu.org
 Resolution||DUPLICATE

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-09-13 
23:55:34 UTC ---
.

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


[Bug tree-optimization/54570] [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hp at gcc dot gnu.org

--- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-09-13 
23:55:35 UTC ---
*** Bug 54573 has been marked as a duplicate of this bug. ***


[Bug tree-optimization/54570] [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-13
 CC||ebotcazou at gcc dot
   ||gnu.org
 Ever Confirmed|0   |1

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-09-13 
23:58:36 UTC ---
By the duplicate.


[Bug c++/54575] New: ICE with std::vector::insert and -std=c++11

2012-09-13 Thread bangerth at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54575

 Bug #: 54575
   Summary: ICE with std::vector::insert and -std=c++11
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bange...@gmail.com


The following currently produces an ICE when using -std=c++11:
..
#include vector

template class DH
void
foo()
{
  std::vectorunsigned int local_dof_indices;
  std::vectorunsigned int subdomain_indices;

  subdomain_indices.insert(subdomain_indices.end(),
   local_dof_indices.begin(),
   local_dof_indices.end());
}
..


 /home/bangerth/bin/gcc-mainline/bin/gcc -v 
Using built-in specs.
COLLECT_GCC=/home/bangerth/bin/gcc-mainline/bin/gcc
COLLECT_LTO_WRAPPER=/home/bangerth/bin/gcc-mainline/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../mainline/configure --prefix=/home/bangerth/bin/gcc-mainline
--enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 4.8.0 20120913 (experimental) [trunk revision 183295] (GCC) 


 /home/bangerth/bin/gcc-mainline/bin/gcc -c -std=c++11 x.cc
In file included from
/home/bangerth/bin/gcc-mainline/include/c++/4.8.0/vector:65:0,
 from dofs/dof_tools.cc:1:
/home/bangerth/bin/gcc-mainline/include/c++/4.8.0/bits/stl_vector.h: In
function 'void foo()':
/home/bangerth/bin/gcc-mainline/include/c++/4.8.0/bits/stl_vector.h:1042:9:
internal compiler error: tree check: expected class 'type', have 'exceptional'
(error_mark) in strip_typedefs, at cp/tree.c:1215
 typename = std::_RequireInputIter_InputIterator
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug libstdc++/54576] New: [4.8 Regression] random_device isn't protected by _GLIBCXX_USE_C99_STDINT_TR1

2012-09-13 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54576

 Bug #: 54576
   Summary: [4.8 Regression] random_device isn't protected by
_GLIBCXX_USE_C99_STDINT_TR1
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


include/random has

#ifdef _GLIBCXX_USE_C99_STDINT_TR1

#include cstdint // For uint_fast32_t, uint_fast64_t, uint_least32_t
#include bits/random.h
#include bits/random.tcc

#endif // _GLIBCXX_USE_C99_STDINT_TR1

random_device is defined in bits/random.h. But src/c++11/random.cc
has

#include random
...
  void
  random_device::_M_init(const std::string token)
  {

It doesn't check if _GLIBCXX_USE_C99_STDINT_TR1 is defined.


[Bug tree-optimization/54570] [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570

--- Comment #5 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-09-14 
01:03:09 UTC ---
(In reply to comment #3)
 *** Bug 54573 has been marked as a duplicate of this bug. ***

Sorry, but bugzilla just didn't find this for me when doing due diligence.
Putting builtin-object-size-8.c in the Comment / default choice (contains
all of the strings) or choosing contains the string which used to be
foolproof, doesn't find anything.  I don't know what to do about that.  Other
similar search strings still find PR:s, like attr-weakref-1.c and
PT_GNU_EH_FRAME.


[Bug libstdc++/54577] New: dequeT::erase() still takes iterator instead of const_iterator

2012-09-13 Thread thunderliu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54577

 Bug #: 54577
   Summary: dequeT::erase() still takes iterator instead of
const_iterator
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: thunder...@gmail.com


In C++11 mode, deque::erase() should be able to take const_iterator instead of
iterator. It's not reflected in bits/deque.tcc yet. Checked 4.7, it's the same.

(Line 193 of bits/deque.tcc:)

  template typename _Tp, typename _Alloc
typename deque_Tp, _Alloc::iterator
deque_Tp, _Alloc::
erase(iterator __position)


[Bug tree-optimization/54570] [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c execution test

2012-09-13 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570

--- Comment #6 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-09-14 
01:30:57 UTC ---
(In reply to comment #5)
 Sorry, but bugzilla just didn't find this for me when doing due diligence.

Update: now it does.  Weird.  I guess the database wasn't updated or something.
Whatever.


[Bug fortran/54556] [4.8 Regression] Marking implicitly pure variables as DECL_PURE_P leads to wrong code

2012-09-13 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54556

--- Comment #16 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
2012-09-14 05:57:51 UTC ---
(In reply to comment #15)
 FIXED on the trunk - and on the 4.6/4.7 branch. Sorry for the breakage!

Thank you and other gcc experts for regularly fixing issues quickly and
professionally, while steadily improving the quality of the compiler!