[Bug c/55336] New: Feature request : message output format XML

2012-11-15 Thread clemens1509 at web dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55336



 Bug #: 55336

   Summary: Feature request : message output format XML

Classification: Unclassified

   Product: gcc

   Version: unknown

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: clemens1...@web.de





Every compiler has its own error output format. It would be better for IDE's if

all would have the same error message output syntax.



Benefits:

- easier parsing for all developmetn environments

- compount errors can be handelt together like



Exanmple:



error index=0 id=W0004711   !# index starting from zero

  text file=myfile.cpp line=12345wrong number of arguments in function

xyz/text

  text file=myfile2 line=54321error occurs at this position/text

/error



In this example you can see how it is possible to connect errors together.


[Bug middle-end/55336] Feature request : message output format XML

2012-11-15 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55336



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



  Component|c   |middle-end



--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-11-15 
08:08:31 UTC ---

I doubt this will be implemented.  The format for GCC's warning and errors are

simple to parse as of right now.  In fact GCC will never have an id to the

warning/error message.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread glider at google dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #39 from Alexander Potapenko glider at google dot com 2012-11-15 
08:18:01 UTC ---

I agree with Kostya that no major changes to mach_override are necessary

because we are really going to dump it. However minor fixes required for ASan

in GCC to work on Darwin right now should be perfectly ok.



As there currently are issues blocking the dynamic ASan runtime (e.g.

https://code.google.com/p/address-sanitizer/issues/detail?id=124), and we still

depend on CoreFoundation I can't promise that we'll get rid of mach_override

before the GCC 4.8 release.


[Bug middle-end/55336] Feature request : message output format XML

2012-11-15 Thread clemens1509 at web dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55336



--- Comment #2 from Clemens clemens1509 at web dot de 2012-11-15 08:24:41 UTC 
---

(In reply to comment #1)

 I doubt this will be implemented.  The format for GCC's warning and errors are

 simple to parse as of right now.  In fact GCC will never have an id to the

 warning/error message.



The idea is not to make parsing more simple, just make parsing common to *all*

compiler.



The second idea is that error messages could be connected together. This is

right now only possible of parser know the semantic of an msg. It can no be

determined from message format itself.


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-15 Thread ubizjak at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55325



--- Comment #13 from Uros Bizjak ubizjak at gmail dot com 2012-11-15 08:26:11 
UTC ---

(In reply to comment #10)



 Probably due to the fact that x86_64 defines TARGET_C_MODE_FOR_SUFFIX that

 declares support for non-standard 'q' and 'w' suffixes. There is a small group

 of targets that declare this define:



Patch for this problem is at [1].



[1] http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01198.html


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-15 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55325



--- Comment #14 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-15 
08:44:05 UTC ---

(In reply to comment #13)

 [1] http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01198.html



Thanks.  Note that pa handles 'q'.


[Bug c++/55337] New: [4.8 Regression] ICE tree check: expected sizeof_expr, have alignof_expr in cp_tree_equal, at cp/tree.c:2608

2012-11-15 Thread markus at trippelsdorf dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55337



 Bug #: 55337

   Summary: [4.8 Regression] ICE tree check: expected sizeof_expr,

have alignof_expr in cp_tree_equal, at cp/tree.c:2608

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: mar...@trippelsdorf.de





markus@x4 tmp % cat test.ii

templateint struct A;

templatetypename Type struct B

{

  static A__alignof__(Type) b;

};

templatetypename Type A__alignof__(Type) BType::b;



markus@x4 tmp % c++ -c test.ii

test.ii:6:44: internal compiler error: tree check: expected sizeof_expr, have

alignof_expr in cp_tree_equal, at cp/tree.c:2613

 templatetypename Type A__alignof__(Type) BType::b;

^

0xc3d0da tree_check_failed(tree_node const*, char const*, int, char const*,

...)

/home/markus/gcc/gcc/tree.c:8954

0x674dde tree_check

/home/markus/gcc/gcc/tree.h:3686

0x674dde cp_tree_equal(tree_node*, tree_node*)

/home/markus/gcc/gcc/cp/tree.c:2613

0x521b54 template_args_equal

/home/markus/gcc/gcc/cp/pt.c:6797

0x52211d comp_template_args_with_info

/home/markus/gcc/gcc/cp/pt.c:6824

0x522204 comp_template_args

/home/markus/gcc/gcc/cp/pt.c:6842

0x522204 eq_specializations

/home/markus/gcc/gcc/cp/pt.c:1471

0xf77c7c htab_find_with_hash

/home/markus/gcc/libiberty/hashtab.c:606

0x55aa38 lookup_template_class_1

/home/markus/gcc/gcc/cp/pt.c:7252

0x55aa38 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,

int, int)

/home/markus/gcc/gcc/cp/pt.c:7522

0x64d212 finish_template_type(tree_node*, tree_node*, int)

/home/markus/gcc/gcc/cp/semantics.c:2794

0x5e6c28 cp_parser_template_id

/home/markus/gcc/gcc/cp/parser.c:12705

0x5e6ff6 cp_parser_class_name

/home/markus/gcc/gcc/cp/parser.c:18089

0x5dc0db cp_parser_qualifying_entity

/home/markus/gcc/gcc/cp/parser.c:5264

0x5dc0db cp_parser_nested_name_specifier_opt

/home/markus/gcc/gcc/cp/parser.c:4995

0x5e7a07 cp_parser_constructor_declarator_p

/home/markus/gcc/gcc/cp/parser.c:21391

0x5e7a07 cp_parser_decl_specifier_seq

/home/markus/gcc/gcc/cp/parser.c:10878

0x5eb907 cp_parser_single_declaration

/home/markus/gcc/gcc/cp/parser.c:21876

0x5ee786 cp_parser_template_declaration_after_export

/home/markus/gcc/gcc/cp/parser.c:21761

0x5f6899 cp_parser_declaration

/home/markus/gcc/gcc/cp/parser.c:10302

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.


[Bug c++/55337] [4.8 Regression] ICE tree check: expected sizeof_expr, have alignof_expr in cp_tree_equal, at cp/tree.c:2608

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55337



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-15

 CC||jakub at gcc dot gnu.org

   Target Milestone|--- |4.8.0

 Ever Confirmed|0   |1


[Bug c++/55337] [4.8 Regression] ICE tree check: expected sizeof_expr, have alignof_expr in cp_tree_equal, at cp/tree.c:2608

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55337



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 #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-15 
10:04:19 UTC ---

Created attachment 28696

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28696

gcc48-pr55337.patch



Untested fix.


[Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test rnflow degraded

2012-11-15 Thread hubicka at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54717



--- Comment #15 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-15 
10:27:49 UTC ---

Path posted at http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01222.html

Can we figure out why the vectorization still does not happen?


[Bug target/55332] [4.8 Regression] libsanitizer breaks build on hpux

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55332



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 CC||jakub at gcc dot gnu.org

 Resolution||FIXED



--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-15 
10:38:26 UTC ---

It doesn't break bootstrap any longer, configure.tgt should enable it solely on

i?86/x86_64-linux right now.


[Bug other/19165] (Natural) language independent error / warning classification

2012-11-15 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19165

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

 CC||clemens1509 at web dot de

--- Comment #13 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-11-15 
10:39:35 UTC ---
*** Bug 55336 has been marked as a duplicate of this bug. ***


[Bug middle-end/55336] Feature request : message output format XML

2012-11-15 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55336

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-11-15 
10:39:35 UTC ---
Hi Clemens,

What IDE? I already implemented a prototype patch for this in PR 19165, and
there was zero interest from any IDE people. I honestly believe that if you
don't have interested people with the access and the time to integrate this
into a major IDE (Eclipse, Kdevelop, Emacs), then it will be a wasted effort.

In any case, nobody currently working on GCC has the time or the interest to
work on such a feature, so you would need to start contributing to GCC or hire
someone to implement it.

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


[Bug rtl-optimization/55330] [4.8 Regression] ICE: Maximum number of LRA constraint passes is achieved (15) on gfortran.dg/actual_array_constructor_1.f90

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55330



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-15

 CC||jakub at gcc dot gnu.org

   Target Milestone|--- |4.8.0

 Ever Confirmed|0   |1


[Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test rnflow degraded

2012-11-15 Thread hubicka at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54717



--- Comment #16 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-15 
10:52:13 UTC ---

OK, 4.7 vectorize two loops in the function in cptrf2



loop at ../a.f90:3538



  if (nxtr  4) then

 kerr = 1

 do ixtr = 1, nxtr - 1

   ixtrt (ixtr) = ixtr + 1

 enddo

 goto 9000

  endif





and 



loop at ../a.f90:3530





 ixtrt = 0





The second loop is recognized as memset by mainline, so it remains to figure

out what is wrong with the first loop.  It is unrolled:



Analyzing # of iterations of loop 9

  exit condition [1, + , 1](no_overflow) != ival2_27 + -1

  bounds on difference of bases: 0 ... 1

  result:

# of iterations (unsigned int) ival2_27 + 4294967294, bounded by 1

Loop 9 iterates at most 1 times.

Estimating sizes for loop 9

 BB: 8, after_exit: 0

  size:   0 _38 = (integer(kind=8)) ixtr_12;

   Induction variable computation will be folded away.

  size:   1 _39 = _38 + -1;

   Induction variable computation will be folded away.

  size:   1 ixtr_40 = ixtr_12 + 1;

   Induction variable computation will be folded away.

  size:   1 *ixtrt_33(D)[_39] = ixtr_40;

  size:   2 if (ixtr_12 == _37)

   Exit condition will be eliminated in last copy.

 BB: 79, after_exit: 1

size: 5-2, last_iteration: 5-4

  Loop size: 5

  Estimated size after unrolling: 2

Unrolled loop 9 completely (duplicated 1 times).



I do not quite see why it iterates at most once, but if seems to work. So I

would say that it is good idea to unroll rather than vectorize.



Is the slowdown still reproducing with my patch?


Re: [Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-15 Thread Jan Hubicka
 Note though that this is not an assert. It just emits a message to
 stderr. Do you think a better error message is appropriate? I'm not
 sure the some data files may have been removed is an accurate
 description of the issue. Perhaps something like Profile data file
 mismatch may indicate corrupt profile data?

Well, we should figure out why sum_all starts to diverge.  If we had
problems mixing cc1 and cc1plus executions, we should get mismatches in
number of counters.  What happens after the miscompare?

Honza


[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-15 Thread hubicka at ucw dot cz


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55051



--- Comment #24 from Jan Hubicka hubicka at ucw dot cz 2012-11-15 10:56:53 
UTC ---

 Note though that this is not an assert. It just emits a message to

 stderr. Do you think a better error message is appropriate? I'm not

 sure the some data files may have been removed is an accurate

 description of the issue. Perhaps something like Profile data file

 mismatch may indicate corrupt profile data?



Well, we should figure out why sum_all starts to diverge.  If we had

problems mixing cc1 and cc1plus executions, we should get mismatches in

number of counters.  What happens after the miscompare?



Honza


[Bug c++/55338] New: Incorrectly reported error in type name hiding

2012-11-15 Thread piotr.wyderski at gmail dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55338

 Bug #: 55338
   Summary: Incorrectly reported error in type name hiding
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: piotr.wyder...@gmail.com


The following snippet:

class A {};
class B : public A {

   typedef A super;

public:

   class X {};
};


class C : public B {

   typedef B super;

   class X : public super::X {

  typedef super::X super;
   };
};

compiles without a warning on Comeau and MSVC, but GCC (4.6.1 and
4.7.1) failes with the following message:

$ gcc -c bug.cpp
bug.cpp:18:24: error: declaration of ‘typedef class B::X C::X::super’
[-fpermissive]
bug.cpp:14:14: error: changes meaning of ‘super’ from ‘typedef class B
C::super’ [-fpermissive]

To my understanding of the Standard Comeau is right and GCC is wrong here.


[Bug tree-optimization/55334] mgrid regression (ipa-cp disables vectorization)

2012-11-15 Thread hubicka at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334



--- Comment #2 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-15 
11:07:10 UTC ---

I think the problem is that we somehow make MEM_REF to be base...


[Bug c++/55339] New: Generated code hangs with -O2 on Linux ppc

2012-11-15 Thread anton.katilin at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55339



 Bug #: 55339

   Summary: Generated code hangs with -O2 on Linux ppc

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: critical

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: anton.kati...@gmail.com





Please find attached a test program and _compile.sh to compile it.



_compile.sh produces 2 output files: test-O2.bin and test-O1.bin, compiled with

-O2 and -O1 respectively.



test-O1.bin works just fine:



$ ./test-O1.bin

entering...

exception caught, as expected

OK

$



test-O1.bin hangs:



$ ./test-O2.bin



entering...

hangs forever at this point...



$ g++ -v

Using built-in specs.

COLLECT_GCC=g++

COLLECT_LTO_WRAPPER=/opt/gcc-4.7.2/libexec/gcc/powerpc64-unknown-linux-gnu/4.7.2/lto-wrapper

Target: powerpc64-unknown-linux-gnu

Configured with: ../gcc-4.7.2/configure --prefix=/opt/gcc-4.7.2

--enable-threads=posix --disable-libunwind-exceptions --with-system-zlib

--enable-__cxa_atexit --enable-languages=c,c++ --enable-multilib

Thread model: posix

gcc version 4.7.2 (GCC)



$ uname -a

Linux localhost.localdomain 2.6.29-3.ydl61.3 #1 SMP Thu Jun 25 12:22:41 EDT

2009 ppc64 ppc64 ppc64 GNU/Linux


[Bug tree-optimization/55329] [4.8 Regression] ICE: internal compiler error: in operator[], at vec.h:487 with -O -fno-guess-branch-probability -fnon-call-exceptions --param=early-inlining-insns=111

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55329



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org

   Target Milestone|--- |4.8.0



--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-15 
11:26:25 UTC ---

Started with http://gcc.gnu.org/viewcvs?root=gccview=revrev=193157 but looks

unrelated to the ICE, so probably it has been just latent before.


[Bug c++/55339] Generated code hangs with -O2 on Linux ppc

2012-11-15 Thread anton.katilin at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55339



--- Comment #1 from anton.katilin at gmail dot com 2012-11-15 11:28:32 UTC ---

Compile with:

-



export PATH=/opt/gcc-4.7.2/bin:$PATH



g++ -m32 -fPIC -O2 *.cpp -o test-O2.bin

g++ -m32 -fPIC -O1 *.cpp -o test-O1.bin







Please find the source code of the test below.



-

Test.cpp

-



#include stdio.h



#include Foo.h



int main() {

  try {

printf(entering...\n);

fflush(stdout);



YS(-1); // will throw exception



printf(must never reach\n);

  }

  catch (int) {

printf(exception caught, as expected\n);

  }



  printf(OK\n);



  return 0;

}





-

Foo.h

-



#pragma once



void foo();



void checkPositive(int);



class YS {

public:

  YS(int capacity) {

checkPositive(capacity);

  }



  ~YS() {

foo();

  }

};



void throwException(const YS);





-

Foo.cpp

-



#include Foo.h



void foo() {

}



void checkPositive(int v) {

  if (v = 0) {

throwException(10);

  }

}



void throwException(const YS) {

  throw int(1);

}


[Bug tree-optimization/55329] [4.8 Regression] ICE: internal compiler error: in operator[], at vec.h:487 with -O -fno-guess-branch-probability -fnon-call-exceptions --param=early-inlining-insns=111

2012-11-15 Thread hubicka at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55329



Jan Hubicka hubicka at gcc dot gnu.org changed:



   What|Removed |Added



 CC||hubicka at gcc dot gnu.org



--- Comment #3 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-15 
11:29:24 UTC ---

Yep, it does not seem inliner related bug...


[Bug c++/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime

2012-11-15 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55339



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



   Severity|critical|normal


[Bug tree-optimization/55334] mgrid regression (ipa-cp disables vectorization)

2012-11-15 Thread hubicka at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334



Jan Hubicka hubicka at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-15

 Ever Confirmed|0   |1



--- Comment #3 from Jan Hubicka hubicka at gcc dot gnu.org 2012-11-15 
11:42:21 UTC ---

OK, it is not base_address, but base_object

Creating dr for MEM[(real(kind=8)[4] *)x + 58071104B][0]

analyze_innermost: success.

base_address: x

offset from base address: 0

constant offset from base address: 58071104

step: 0

aligned to: 128

base_object: MEM[(real(kind=8)[4] *)x + 58071104B]

Access function 0: 0



I do not see why we need to keep the base object to be offsetted. 

While it is first time I see the code, i think it is trying to look for

MEM_REFs and remember the fact that after putting it to 0 the offset may go

across the type boundry, since we changed the type via MEM_REF.  For

non-envolving mem-refs this however is not a problem.

I am testing the following that simply removes the constant from MEM_REF 



Index: tree-data-ref.c

===

--- tree-data-ref.c(revision 193503)

+++ tree-data-ref.c(working copy)

@@ -922,6 +922,16 @@ dr_analyze_indices (struct data_referenc

   DR_UNCONSTRAINED_BASE (dr) = true;

   VEC_safe_push (tree, heap, access_fns, access_fn);

 }

+  else

+{

+  if (!integer_zerop (TREE_OPERAND (ref, 1)))

+ref = fold_build2_loc (EXPR_LOCATION (ref),

+   MEM_REF, TREE_TYPE (ref),

+   op,

+   build_int_cst (TREE_TYPE (TREE_OPERAND (ref,

+ 1)),

+  0));

+}

 }

   else if (DECL_P (ref))

 {


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



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-11-15 
11:52:43 UTC ---

Hand-reduced testcase for -O2 -fno-tree-fre



struct A {};



void

foo (A *p, bool x)

{

  A a;

  char *e = (char *) (a + 1);

  if (x)

__builtin_memmove (p, a, e - (char *) a);

}


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



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 #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-15 
12:00:21 UTC ---

Created attachment 28697

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28697

gcc48-pr55331.patch



Untested fix.


[Bug target/44578] GCC generates MMX instructions but fails to generate emms

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44578



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org

  Known to work||



--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-15 
12:06:34 UTC ---

Using mmX as global registers variables is a user bug if you ever call

something that might be using FPU stack, because the registers can't be

preserved across that.  Don't do that.


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.6.4


[Bug c++/55340] New: Invalid maybe unitialized warning

2012-11-15 Thread jwillemsen at remedy dot nl

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55340

 Bug #: 55340
   Summary: Invalid maybe unitialized warning
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jwillem...@remedy.nl


Created attachment 28698
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28698
gzip with both preprocessed files

We have in some of our tests a warning that a variable may be used unitialized,
but we have validated that this is not the case (as far as we could tell). 

We tried to reduce our code to a minimum, but the strange thing is that when we
remove some not related code, the warning is gone. 

Attached 2 preprocessed files, t.cpp t2.cpp, compile using:
g++ --std=c++0x -fno-strict-aliasing -fvisibility=hidden
-fvisibility-inlines-hidden -O3 -ggdb -m64 -pthread -Wall -W -Wpointer-arith
-pipe -D_GNU_SOURCE-c t.cpp

When compiling t.cpp we get:
In file included from testC.cpp:26:0:   
testC.h: In member function ‘void Test::union_union::swap(Test::union_union)’: 
testC.h:764:3: warning: ‘*((void*)( intermediate)+8).Test::unionType::disc_’
may be used uninitialized in this function [-Wmaybe-uninitialized]  
testC.h:1325:27: note: ‘*((void*)( intermediate)+8).Test::unionType::disc_’
was declared here   
When compiling t2.cpp there is no warning. If you check the diff between t.cpp
and t2.cpp you will see that the code that triggers the warning is still there.

We have reduced the code to the point that removal of any type would not
trigger the warning.


[Bug fortran/55341] New: address-sanitizer and Fortran

2012-11-15 Thread Joost.VandeVondele at mat dot ethz.ch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55341



 Bug #: 55341

   Summary: address-sanitizer and Fortran

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: fortran

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: joost.vandevond...@mat.ethz.ch





Hardly a bug, rather a feature... it seems '-faddress-sanitizer' works with

Fortran seemingly out-of-the-box. Great!



could it be documented a being for c/c++/Fortran ?



Both these testcases work ('fail') as expected:



PROGRAM TEST_ASAN_01

  INTEGER :: A(10)

  i=-1

  A(i)=0

END PROGRAM





PROGRAM TEST_ASAN_02

  INTEGER, POINTER :: x1,x2,x3

  ALLOCATE(X1)

  X2=X1

  DEALLOCATE(X1)

  X2=0

END PROGRAM


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #40 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-15 
13:46:32 UTC ---

(In reply to comment #39)

 I agree with Kostya that no major changes to mach_override are necessary

 because we are really going to dump it. However minor fixes required for ASan

 in GCC to work on Darwin right now should be perfectly ok.

 

 As there currently are issues blocking the dynamic ASan runtime (e.g.

 https://code.google.com/p/address-sanitizer/issues/detail?id=124), and we 
 still

 depend on CoreFoundation I can't promise that we'll get rid of mach_override

 before the GCC 4.8 release.



Now that you have committed the patch from comment 29 to upstream

compiler-rt...



http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121112/155989.html



can we at least get missing mach_override/mach_override.h and

mach_override/mach_override.c files imported into the asan branch, if not gcc

trunk, as well as  the approved patch from...



http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01119.html



so that we can start building libsanitizer on intel darwin? Thanks in advance

for any help on these issues.


[Bug target/55332] [4.8 Regression] libsanitizer breaks build on hpux

2012-11-15 Thread dave.anglin at bell dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55332



--- Comment #2 from dave.anglin at bell dot net 2012-11-15 13:47:24 UTC ---

On 15-Nov-12, at 5:38 AM, jakub at gcc dot gnu.org wrote:



 It doesn't break bootstrap any longer, configure.tgt should enable  

 it solely on

 i?86/x86_64-linux right now.





I have a patch which enables build on hppa-linux but it's unclear  

whether

the library works.



--

John David Anglindave.ang...@bell.net


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #41 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-15 
13:51:11 UTC ---

I will also post a small patch to gcc-patches to allow darwin to automatically

pass the required linker flags on the link spec in darwin.h...



ndex: gcc/config/darwin.h

===

--- gcc/config/darwin.h(revision 193503)

+++ gcc/config/darwin.h(working copy)

@@ -180,6 +180,8 @@ extern GTY(()) int darwin_ms_struct;

 %{L*} %(link_libgcc) %o

%{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \

 %{fopenmp|ftree-parallelize-loops=*: \

   %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s;

: -lgomp } } \

+%{faddress-sanitizer: \

+  %{static|static-libgcc|static-libstdc++|static-libgfortran: -framework

CoreFoundation libasan.a%s; : -framework CoreFoundation -lasan } } \

 %{fgnu-tm: \

   %{static|static-libgcc|static-libstdc++|static-libgfortran: libitm.a%s;

: -litm } } \

 %{!nostdlib:%{!nodefaultlibs:\



It works fine for the dynamic linkage although we do seem to have an issue with

the static libasan.a that will require a new PR to be opened...



% gcc-fsf-4.8 -faddress-sanitizer -O1 -fno-omit-frame-pointer -static-libgcc 

-g -o use-after-free use-after-free.c

Undefined symbols for architecture x86_64:

  ___cxa_throw, referenced from:

  __asan::InitializeAsanInterceptors()  in

libasan.a(asan_interceptors.o)

 (maybe you meant: __interception::real___cxa_throw, _wrap___cxa_throw )

ld: symbol(s) not found for architecture x86_64

collect2: error: ld returned 1 exit status



However I don't see that as a blocker to getting libsanitizer building on intel

darwin.


[Bug c++/54466] [C++11] Recursive Type Alias, Member Function Pointer, Segmentation Fault

2012-11-15 Thread dodji at seketeli dot org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54466

--- Comment #14 from dodji at seketeli dot org dodji at seketeli dot org 
2012-11-15 13:52:18 UTC ---
mattyclarkson at gmail dot com gcc-bugzi...@gcc.gnu.org a écrit:

 @Dodji, thanks for fixing this :)

You are welcome.  Sorry for the delay.

  What release will this be in? 4.8.1?

As Jon said, 4.8.0.

Cheers.


[Bug fortran/55341] address-sanitizer and Fortran

2012-11-15 Thread Joost.VandeVondele at mat dot ethz.ch

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55341

Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch changed:

   What|Removed |Added

 CC||Joost.VandeVondele at mat
   ||dot ethz.ch

--- Comment #1 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
2012-11-15 14:02:47 UTC ---
Trying -faddress-sanitizer on CP2K leads to the following failure:

 cat bug.f90 
MODULE qs_environment_types
 TYPE rt_prop_type
INTEGER,DIMENSION(:,:),ALLOCATABLE:: orders
 END TYPE rt_prop_type
  TYPE qs_environment_type
TYPE(rt_prop_type),POINTER:: rtp
  END TYPE qs_environment_type
CONTAINS
  SUBROUTINE set_qs_env(qs_env,rtp)
TYPE(qs_environment_type), POINTER:: qs_env
TYPE(rt_prop_type), OPTIONAL, POINTER :: rtp
IF (PRESENT(rtp)) qs_env%rtp=rtp
  END SUBROUTINE set_qs_env
END MODULE qs_environment_types


 gfortran -O0 -faddress-sanitizer bug.f90 
bug.f90: In function ‘set_qs_env’:
bug.f90:9:0: error: type mismatch in binary expression
   SUBROUTINE set_qs_env(qs_env,rtp)
 ^
unsigned long

integer(kind=8)

unsigned long

_182 = _181 - 1;

bug.f90:9:0: error: type mismatch in binary expression
unsigned long

integer(kind=8)

unsigned long

_206 = _205 - 1;

bug.f90:9:0: internal compiler error: verify_gimple failed
0x9a47ac verify_gimple_in_cfg(function*)
../../gcc/gcc/tree-cfg.c:4728
0x8dad97 execute_function_todo
../../gcc/gcc/passes.c:1979
0x8db75d execute_todo
../../gcc/gcc/passes.c:2008
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug bootstrap/53300] [4.8 Regression] AIX bootstrap related to varpool patch

2012-11-15 Thread dje at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53300



--- Comment #19 from David Edelsohn dje at gcc dot gnu.org 2012-11-15 
14:04:10 UTC ---

The problem still is present, but when I asked Honza about the status on IRC,

he seemed to say the work-around patch was the correct fix -- that this

behavior is expected.


[Bug other/55304] libsanitizer can't be used with GCC autoconf

2012-11-15 Thread izamyatin at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55304



Igor Zamyatin izamyatin at gmail dot com changed:



   What|Removed |Added



 CC||izamyatin at gmail dot com



--- Comment #7 from Igor Zamyatin izamyatin at gmail dot com 2012-11-15 
14:09:09 UTC ---

That's strange but on x86 I see 



CDPATH=${ZSH_VERSION+.}:  cd ../../../libsanitizer  /bin/sh

/export/users/izamyati/tmp_gcc/missing --run aclocal-1.11 -I .. -I ../config

configure.ac:5: error: Please use exactly Autoconf 2.64 instead of 2.68.

../config/override.m4:12: _GCC_AUTOCONF_VERSION_CHECK is expanded from...

configure.ac:5: the top level

autom4te: m4 failed with exit status: 1

aclocal-1.11: autom4te failed with exit status: 1

make[2]: *** [../../../libsanitizer/aclocal.m4] Error 1



during build for following configuration



../configure --disable-bootstrap --enable-clocale=gnu --with-system-zlib

--enable-shared --with-demangler-in-ld --with-fpmath=sse

--enable-languages=c,c++,fortran 



My head is at r193515.



Did I miss anything?


[Bug other/55304] libsanitizer can't be used with GCC autoconf

2012-11-15 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55304



--- Comment #8 from H.J. Lu hjl.tools at gmail dot com 2012-11-15 14:11:54 
UTC ---

(In reply to comment #7)

 That's strange but on x86 I see 

 

 CDPATH=${ZSH_VERSION+.}:  cd ../../../libsanitizer  /bin/sh

 /export/users/izamyati/tmp_gcc/missing --run aclocal-1.11 -I .. -I ../config

 configure.ac:5: error: Please use exactly Autoconf 2.64 instead of 2.68.

 ../config/override.m4:12: _GCC_AUTOCONF_VERSION_CHECK is expanded from...

 configure.ac:5: the top level

 autom4te: m4 failed with exit status: 1

 aclocal-1.11: autom4te failed with exit status: 1

 make[2]: *** [../../../libsanitizer/aclocal.m4] Error 1

 

 during build for following configuration

 

 ../configure --disable-bootstrap --enable-clocale=gnu --with-system-zlib

 --enable-shared --with-demangler-in-ld --with-fpmath=sse

 --enable-languages=c,c++,fortran 

 

 My head is at r193515.

 

 Did I miss anything?



You must run



# ./contrib/gcc_update --touch


[Bug c++/55340] Invalid maybe unitialized warning

2012-11-15 Thread jwillemsen at remedy dot nl


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55340



--- Comment #1 from Johnny Willemsen jwillemsen at remedy dot nl 2012-11-15 
14:17:38 UTC ---

Lowering optimization from -O3 to -O2 removes the warning


[Bug other/55304] libsanitizer can't be used with GCC autoconf

2012-11-15 Thread izamyatin at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55304



--- Comment #9 from Igor Zamyatin izamyatin at gmail dot com 2012-11-15 
14:25:42 UTC ---

Thanks, this helped


[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-15 Thread tejohnson at google dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55051



--- Comment #25 from Teresa Johnson tejohnson at google dot com 2012-11-15 
14:34:10 UTC ---

On Thu, Nov 15, 2012 at 2:56 AM, hubicka at ucw dot cz 

gcc-bugzi...@gcc.gnu.org wrote:





 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55051



 --- Comment #24 from Jan Hubicka hubicka at ucw dot cz 2012-11-15

 10:56:53 UTC ---

  Note though that this is not an assert. It just emits a message to

  stderr. Do you think a better error message is appropriate? I'm not

  sure the some data files may have been removed is an accurate

  description of the issue. Perhaps something like Profile data file

  mismatch may indicate corrupt profile data?



 Well, we should figure out why sum_all starts to diverge.  If we had

 problems mixing cc1 and cc1plus executions, we should get mismatches in

 number of counters.





Right, it doesn't appear to be different executables since the number of

counters is identical. I'll instrument it and see if I can figure out why

they diverge.





 What happens after the miscompare?





A flag is set so that the error is emitted at most once per merge, and then

we continue on with the merge and ignore it. Basically what it is doing is

saving the first merged summary (for the first object file's gcda we merge

into), and then for each additional object file that gets its counters

merged the resulting program summary is compared against the saved program

summary. But only if the number of runs is the same as the saved summary.

This could happen if the gcda files are walked in a different order during

updates (i.e. the gcov_list is in a different order for different processes

of the same executable), but I am not sure if that can happen.



Teresa





 Honza



 --

 Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email

 --- You are receiving this mail because: ---

 You are on the CC list for the bug.




[Bug c++/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime

2012-11-15 Thread anton.katilin at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55339



--- Comment #2 from anton.katilin at gmail dot com 2012-11-15 14:35:12 UTC ---

An update:



There is no problem when linking statically, i.e. if we do



g++ -m32 -fPIC -O2 *.cpp -static-libstdc++ -static-libgcc -o test-O2.bin



instead of



g++ -m32 -fPIC -O2 *.cpp -o test-O2.bin


[Bug c++/55275] abi_tag attribute doesn't work on explicit specializations of class templates

2012-11-15 Thread jason at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55275



Jason Merrill jason at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2012-11-15 
14:48:41 UTC ---

Fixed.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread dominiq at lps dot ens.fr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #42 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-11-15 15:03:53 UTC ---

Jack,



Thanks for the patch in comment #37. I had to do some minor surgery to adjust

it to revision 193528, but otherwise it worked as expected for both -m32 and

-m64 even with gfortran.



I think it should go to trunk as an experimental feature (see pr55341).


[Bug tree-optimization/54717] [4.8 Regression] Runtime regression: polyhedron test rnflow degraded

2012-11-15 Thread dominiq at lps dot ens.fr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54717



--- Comment #17 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-11-15 15:07:33 UTC ---

 Is the slowdown still reproducing with my patch?



Most of it (if not all) is gone with the patch: 

23.96s with '-fprotect-parens -Ofast -funroll-loops -ftree-loop-linear

-fomit-frame-pointer -fwhole-program -flto' compared to 

23.37s with '-fprotect-parens -Ofast -funroll-loops -ftree-loop-linear

-fomit-frame-pointer -fwhole-program -flto -fno-tree-loop-if-convert'.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #43 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-15 
15:12:31 UTC ---

Posted updated patch to adjust for bit-rot from the libsanitizer multilib

support checkin and add required spec handling to gcc/config/darwin.h. Ignore

my previous comment about the static build failing. This was a glitch in my

fink packaging where I deleted the libstdc++.la from dependency_libs= in

libasan.la. So we have no issues with using libasan.a.



http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01251.html


[Bug rtl-optimization/55342] New: [LRA,x86] Non-optimal code for simple loop with LRA

2012-11-15 Thread ysrumyan at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55342



 Bug #: 55342

   Summary: [LRA,x86] Non-optimal code for simple loop with LRA

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: rtl-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: ysrum...@gmail.com

Target: x86





For a simple test-case we got -15% regression with LRA on x86 in 32-bit mode.

The test-case is



#define byte unsigned char

#define MIN(a, b) ((a)  (b)?(b):(a))



void convert_image(byte *in, byte *out, int size) {

int i;

byte * read = in,

 * write = out;

for(i = 0; i  size; i++) {

byte r = *read++;

byte g = *read++;

byte b = *read++;

byte c, m, y, k, tmp;

c = 255 - r;

m = 255 - g;

y = 255 - b;

if (c  m)

  k = MIN (c, y);

else

  k = MIN (m, y);

*write++ = c - k;

*write++ = m - k;

*write++ = y - k;

*write++ = k;

}

}



The essential part of assembly is (it is correspondent to write-part of loop): 



without LRA

.L4:

movl%esi, %ecx

addl$4, %eax

subl%ecx, %ebx

movzbl3(%esp), %ecx

movb%bl, -4(%eax)

movl%esi, %ebx

subl%ebx, %edx

movb%dl, -2(%eax)

subl%ebx, %ecx

movb%cl, -3(%eax)

cmpl%ebp, 4(%esp)

movb%bl, -1(%eax)

je.L1



with LRA



.L4:

movl%esi, %eax

subl%eax, %ebx

movl28(%esp), %eax

movb%bl, (%eax)

movl%esi, %eax

subl%eax, %ecx

movl28(%esp), %eax

movb%cl, 1(%eax)

movl%esi, %eax

subl%eax, %edx

movl28(%esp), %eax

movb%dl, 2(%eax)

addl$4, %eax

movl%eax, 28(%esp)

movl28(%esp), %ecx

movl%esi, %eax

cmpl%ebp, (%esp)

movb%al, -1(%ecx)

je.L1



I also wonder why additional moves are required to perform subtraction:



movl  %esi, %eax

subl  %eax, %ebx



whereas only one instruction is required:

subl  %esi, %ebx.



I assume that this part is not related to LRA.


[Bug other/19165] (Natural) language independent error / warning classification

2012-11-15 Thread clemens1509 at web dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19165



--- Comment #14 from Clemens clemens1509 at web dot de 2012-11-15 15:32:11 
UTC ---

As describt in duplication Bug 55336 I would extend the xml for compound

messages p.e. a warning/error which points to 2 source positions like member

initialisation and member position. In fact it is only one bug, but gcc

displays more.


[Bug c++/54903] [4.8 Regression] Auto + static in-class constant initialization not working

2012-11-15 Thread jason at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54903



--- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2012-11-15 
16:12:03 UTC ---

Author: jason

Date: Thu Nov 15 16:11:56 2012

New Revision: 193535



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193535

Log:

PR c++/54903

* decl2.c (mark_used): Don't complain about auto in templates.



Added:

trunk/gcc/testsuite/g++.dg/cpp0x/auto36.C

Modified:

trunk/gcc/cp/ChangeLog

trunk/gcc/cp/decl2.c


[Bug tree-optimization/55286] [4.7/4.8 Regression] Bytemark ASSIGNMENT 4% - 10% slower

2012-11-15 Thread wbrana at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55286



--- Comment #2 from wbrana wbrana at gmail dot com 2012-11-15 16:12:57 UTC ---

Created attachment 28699

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28699

function Assignment without 175752


[Bug tree-optimization/55286] [4.7/4.8 Regression] Bytemark ASSIGNMENT 4% - 10% slower

2012-11-15 Thread wbrana at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55286



--- Comment #3 from wbrana wbrana at gmail dot com 2012-11-15 16:16:05 UTC ---

Created attachment 28700

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28700

function Assignment with 175752



according to gprof Assignment is called 

1574 times without 175752

1449 times with 175752


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-15 Thread ubizjak at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55325



--- Comment #15 from Uros Bizjak ubizjak at gmail dot com 2012-11-15 16:23:51 
UTC ---

(In reply to comment #14)

 (In reply to comment #13)

  [1] http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01198.html

 

 Thanks.  Note that pa handles 'q'.



So, let's auto-detect support for non-standard suffixes in patch v2 [1].



[1] http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01263.html


[Bug tree-optimization/55329] [4.8 Regression] ICE: internal compiler error: in operator[], at vec.h:487 with -O -fno-guess-branch-probability -fnon-call-exceptions --param=early-inlining-insns=111

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55329



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-11-15 
16:31:10 UTC ---

Created attachment 28701

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28701

gcc48-pr55329.patch



Untested fix.  The problem is that clearing bits in a bitmap while it is being

iterated using EXECUTE_IF_SET_IN_BITMAP is dangerous and can't work reliably,

in this case the bitmap contained just a single bit, that got cleared and

replaced by a smaller bit (the clearing removed the only bitmap_element,

setting reused it with different index (smaller) with higher bits set in it).

In gimple_purge_all_dead_eh_edges it is just a few extra instructions to

process

the forwarder blocks (it quickly finds out that they don't have any EDGE_EH

edges and does nothing for them), so IMHO it doesn't matter much if we don't

clear those bits.  On the other side, if there could be multiple forwarder

blocks, we might risk we don't handle them correctly, as they could have bb's

with lower indexes as successors.


[Bug rtl-optimization/55342] [LRA,x86] Non-optimal code for simple loop with LRA

2012-11-15 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55342



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



   What|Removed |Added



 CC||hjl.tools at gmail dot com,

   ||ubizjak at gmail dot com,

   ||vmakarov at redhat dot com

   Target Milestone|--- |4.8.0


[Bug c++/54903] [4.8 Regression] Auto + static in-class constant initialization not working

2012-11-15 Thread jason at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54903



Jason Merrill jason at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2012-11-15 
16:47:45 UTC ---

Fixed.


[Bug fortran/55343] New: Renamed C_PTR entities are not treated as equivalent types.

2012-11-15 Thread juno.krahn at nih dot gov


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55343



 Bug #: 55343

   Summary: Renamed C_PTR entities are not treated as equivalent

types.

Classification: Unclassified

   Product: gcc

   Version: 4.6.3

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: fortran

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: juno.kr...@nih.gov





When the intrinsic C_PTR type is accessed via a local name, it is no longer

treated as equivalent to the C_PTR type under either the original name or any

other different local name.



Example code: (test_rename.f90)

-

module my_mod

  implicit none

  type int_type

integer :: i

  end type int_type

end module my_mod

program main

  use iso_c_binding, only: C_void_ptr=C_ptr, C_string_ptr=C_ptr

  use my_mod, only: i1_type=int_type, i2_type=int_type

  implicit none

  type(C_string_ptr) :: p_string

  type(C_void_ptr) :: p_void

  type (i1_type) :: i1

  type (i2_type) :: i2

  p_void = p_string

  i1 = i2

end program main

---



Result:

$ gfortran -c test_rename.f90

test_rename.f90:15.11:



  p_void = p_string

   1

Error: Can't convert TYPE(c_string_ptr) to TYPE(c_void_ptr) at (1)





I included a user defined derived type to illustrate that the equivalence of

renamed entities in that case works as expected. This used to work in Gnu

fortran, but I don't know what version I was using at that time.



(For comparison: Intel compilers handle it correctly. The latest Sun/Oracle

works when assigning from C_PTR to a renamed entity, but not the other way

around.)


[Bug tree-optimization/54619] GCC aborts during compilation with '-O2 -mips16'

2012-11-15 Thread vries at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54619



--- Comment #3 from vries at gcc dot gnu.org 2012-11-15 16:50:04 UTC ---

Author: vries

Date: Thu Nov 15 16:49:45 2012

New Revision: 193537



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193537

Log:

2012-11-15  Tom de Vries  t...@codesourcery.com



PR tree-optimization/54619

* tree-ssa-loop-ivopts.c (get_use_type): New function.

(get_computation_at): Use get_use_type.

(get_computation_cost_at): Declare and set mem_mode.  Use mem_mode.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/tree-ssa-loop-ivopts.c


[Bug tree-optimization/54619] GCC aborts during compilation with '-O2 -mips16'

2012-11-15 Thread vries at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54619



vries at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED

 AssignedTo|unassigned at gcc dot   |vries at gcc dot gnu.org

   |gnu.org |



--- Comment #4 from vries at gcc dot gnu.org 2012-11-15 16:55:13 UTC ---

Patch checked in, resolving as fixed.


[Bug tree-optimization/55286] [4.7/4.8 Regression] Bytemark ASSIGNMENT 4% - 10% slower

2012-11-15 Thread wbrana at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55286



--- Comment #4 from wbrana wbrana at gmail dot com 2012-11-15 17:01:22 UTC ---

Bytemark source code

http://www.tux.org/~mayer/linux/nbench-byte-2.2.3.tar.gz


[Bug target/44578] GCC generates MMX instructions but fails to generate emms

2012-11-15 Thread kl4yfd at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44578



--- Comment #6 from kl4yfd at gmail dot com 2012-11-15 17:05:16 UTC ---

(In reply to comment #5)

 Using mmX as global registers variables is a user bug if you ever call

 something that might be using FPU stack, because the registers can't be

 preserved across that.  Don't do that.



When running x86 in protected mode, you are right. User-error.

This is not for an error within the binary, rather an issue with the processor

state left-over after executable is finished.



For those of us not running in a protected mode / OS environment, ending a

binary execution that calls mmX instructions and does not issue emms leaves the

FPU essentially disabled.



One should never have to manually insert the opcodes 0F 77 into the binary for

proper inter-binary execution in a non-protected mode x86 environment and the

FPU being enabled should be the default assumption.



The example file is only to show that gcc has 3 bugs in its current mmx

handling:



- will auto-generate mmX opcodes, then not auto-generate the emms OP. 

- mmX opcodes were generated without the -mmmx flag.

- when -mmmx flag is used, emms OP is not inserted by default before return.

OK. Why not?

  -- Implementing this would be a great catch-all solution for many problems

associated with drivers, embedded, or the compiler using mmx

OPs/registers/inline-asm then not inserting an emms OP before returning.

  ^^ this will probably require some discussion ^^



If GCC is going to allow neat-features like global register variables, then it

needs to be checked to ensure they are properly used. 



--

- This is part of the fix (mostly real code...) 

- Also a similar check is needed whereever something that generates mmX OPs is

used. (like scoped mmX register variables) etc

- This does not address the fact that no emms is generated. That should be

covered by the catch-all -mmmx flag usage auto-inserts emms opcode @ binary

end.

  -- If that ends up being the solution.



=== From  gcc/varasm.c | line:1209 | gcc 4.7.2 ===



 /* First detect errors in declaring global registers.  */

  if (reg_number == -1)

error (register name not specified for %q+D, decl);



/// New PsuedoCode

  else if (MMX_REGNO_P(reg_number) ) {

if ( !(-mmmx) )

error (mmx register usage requires -mmmx flag for %q+D,

decl);

if ( !(-mfpmath=sse) )

error (mmx register usage requires -mfpmath=sse flag for

%q+D, decl);

///

}

  else if (reg_number  0)

error (invalid register name for %q+D, decl);

  else if (mode == BLKmode)

error (data type of %q+D isn%'t suitable for a register,

   decl);


[Bug middle-end/55321] [4.8 regression] Ada bootstrap failure on armv5tel-linux-gnueabi

2012-11-15 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55321



Eric Botcazou ebotcazou at gcc dot gnu.org changed:



   What|Removed |Added



  Component|bootstrap   |middle-end



--- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-15 
17:36:27 UTC ---

Are you really sure about the 20121028 date?


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #44 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-15 
17:53:40 UTC ---

Posted the final revision of the patch that now properly handles static linkage

options with -faddress-sanitizer...



http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01285.html



For example...



% gcc-fsf-4.8 -faddress-sanitizer -O1 -fno-omit-frame-pointer -g

-static-libstdc++ -o use-after-free use-after-free.c

% otool -L ./use-after-free

./use-after-free:

   

/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

(compatibility version 150.0.0, current version 744.12.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version

169.3.0)

/sw/lib/gcc4.8/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current

version 1.0.0)



links in libstdc++.a while...



% gcc-fsf-4.8 -faddress-sanitizer -O1 -fno-omit-frame-pointer -g -static-libgcc

-o use-after-free use-after-free.c



% otool -L ./use-after-free

./use-after-free:

   

/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

(compatibility version 150.0.0, current version 744.12.0)

/sw/lib/gcc4.8/lib/libstdc++.6.dylib (compatibility version 7.0.0, current

version 7.17.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version

169.3.0)



links libstdc++.dylib. The standard linkage with...



% gcc-fsf-4.8 -faddress-sanitizer -O1 -fno-omit-frame-pointer -g -o

use-after-free use-after-free.c



% otool -L ./use-after-free

./use-after-free:

   

/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

(compatibility version 150.0.0, current version 744.12.0)

/sw/lib/gcc4.8/lib/libasan.0.dylib (compatibility version 1.0.0, current

version 1.0.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version

169.3.0)

/sw/lib/gcc4.8/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current

version 1.0.0)



doesn't need to be directly linked against libstdc++ because libasan.0.dylib

already is...



% otool -L /sw/lib/gcc4.8/lib/libasan.0.dylib 

/sw/lib/gcc4.8/lib/libasan.0.dylib:

/sw/lib/gcc4.8/lib/libasan.0.dylib (compatibility version 1.0.0, current

version 1.0.0)

/sw/lib/gcc4.8/lib/libstdc++.6.dylib (compatibility version 7.0.0, current

version 7.17.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version

169.3.0)

/sw/lib/gcc4.8/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current

version 1.0.0)


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread iains at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #45 from Iain Sandoe iains at gcc dot gnu.org 2012-11-15 17:58:21 
UTC ---

(In reply to comment #35)

  Is that certain to be soon enough 

 Not 100%. I am just warning you.



apologies for not much input to this - somewhat tied up with other things.



will the new version (did I read somewhere, library interposing?) support the

older versions of Darwin/OSX (10.5, 10.6) ?  

(if not, then there's a place for the existing method).


[Bug target/55344] New: Cross compiling for alpha-linux fails because signal.h doesn't exist

2012-11-15 Thread dan at danny dot cz


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55344



 Bug #: 55344

   Summary: Cross compiling for alpha-linux fails because

signal.h doesn't exist

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: target

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: d...@danny.cz





Created attachment 28702

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28702

fix cross build



Cross compiling libgcc for alpha-linux fails because signal.h included from

libgcc/config/alpha/linux-unwind.h doesn't exist



/builddir/build/BUILD/gcc-4.7.2-20121114-aarch64/alpha-linux-gnu/./gcc/xgcc

-B/builddir/build/BUILD/gcc-4.7.2-20121114-aarch64/alpha-linux-gnu/./gcc/

-B/usr/alpha-linux-gnu/bin/ -B/usr/alpha-linux-gnu/lib/ -isystem

/usr/alpha-linux-gnu/include -isystem /usr/alpha-linux-gnu/sys-include-g

-O2 -mieee -O2  -g -O2 -mieee -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall

-Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes

-Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -mieee

-g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc  -fPIC

-mieee -I. -I. -I../.././gcc -I../../../gcc-4.7.2-20121114-aarch64/libgcc

-I../../../gcc-4.7.2-20121114-aarch64/libgcc/.

-I../../../gcc-4.7.2-20121114-aarch64/libgcc/../gcc

-I../../../gcc-4.7.2-20121114-aarch64/libgcc/../include  -DHAVE_CC_TLS  -o

unwind-c.o -MT unwind-c.o -MD -MP -MF unwind-c.dep -fexceptions -c

../../../gcc-4.7.2-20121114-aarch64/libgcc/unwind-c.c 

In file included from

../../../gcc-4.7.2-20121114-aarch64/libgcc/unwind-dw2.c:376:0:

./md-unwind-support.h:28:20: fatal error: signal.h: No such file or directory

compilation terminated.


[Bug target/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime

2012-11-15 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55339



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



 Target||powerpc-linux-gnu

  Component|c++ |target



--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-11-15 
18:06:08 UTC ---

--disable-libunwind-exceptions



Why did you do that?  Though it should not matter for PPC.


[Bug fortran/55345] New: ICE with abstract interface type with use-renamed local names

2012-11-15 Thread juno.krahn at nih dot gov


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55345



 Bug #: 55345

   Summary: ICE with  abstract interface type with use-renamed

local names

Classification: Unclassified

   Product: gcc

   Version: 4.6.3

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: fortran

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: juno.kr...@nih.gov





If an abstract interface type is renamed in the USE statement, and one of those

names includes the original name, an ICE can occur.



Example code (bug.f90):

--

module mod1

  abstract interface

subroutine func_t()

end subroutine func_t

  end interface

end module mod1

module bug

  use mod1, func_t=func_t, func1_t=func_t

end module bug

--



Result:

$ gfortran -c bug2.f90 

bug.f90:8:0: internal compiler error: in gfc_trans_use_stmts, at

fortran/trans-decl.c:3886

Please submit a full bug report,

with preprocessed source if appropriate.

See http://bugzilla.redhat.com/bugzilla for instructions.





If the two USE statements are switched, no ICE occurs. It also succeeds if the

rename statements are within an ONLY list.


[Bug c/55322] Suggestion: Warn suspicious usage of arrays of structures

2012-11-15 Thread stilgarwolf at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55322



--- Comment #2 from Wolf stilgarwolf at gmail dot com 2012-11-15 18:23:51 UTC 
---

I know it's legal, but it may be suspicious, like many other legal statements

which are, optionally, warned.

Anyway, such optional warning may be helpful.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #46 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-15 
18:28:44 UTC ---

(In reply to comment #45)

 (In reply to comment #35)

   Is that certain to be soon enough 

  Not 100%. I am just warning you.

 

 apologies for not much input to this - somewhat tied up with other things.

 

 will the new version (did I read somewhere, library interposing?) support the

 older versions of Darwin/OSX (10.5, 10.6) ?  

 (if not, then there's a place for the existing method).



See...



http://code.google.com/p/address-sanitizer/issues/detail?id=64



The interpose example code works fine here under 10.6.8.


[Bug middle-end/55321] [4.8 regression] Ada bootstrap failure on armv5tel-linux-gnueabi

2012-11-15 Thread mikpe at it dot uu.se


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55321



--- Comment #3 from Mikael Pettersson mikpe at it dot uu.se 2012-11-15 
18:47:31 UTC ---

(In reply to comment #2)

 Are you really sure about the 20121028 date?



Yes, 4.8-20121012 aka r192660 built fine, 20121104 and 2012 failed;

unfortunately I don't have the 20121104 build log any more so I can't check

exactly how it failed.



Do you want me to run a bisection?


[Bug middle-end/55321] [4.8 regression] Ada bootstrap failure on armv5tel-linux-gnueabi

2012-11-15 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55321



--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-15 
18:56:21 UTC ---

 Yes, 4.8-20121012 aka r192660 built fine, 20121104 and 2012 failed;

 unfortunately I don't have the 20121104 build log any more so I can't check

 exactly how it failed.



The reduced testcase fails with the 20121027 sources for me.



 Do you want me to run a bisection?



That's probably superfluous, I have a reasonable fix.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #47 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-15 
19:09:00 UTC ---

(In reply to comment #46)

 (In reply to comment #45)

  (In reply to comment #35)

Is that certain to be soon enough 

   Not 100%. I am just warning you.

  

  apologies for not much input to this - somewhat tied up with other things.

  

  will the new version (did I read somewhere, library interposing?) support 
  the

  older versions of Darwin/OSX (10.5, 10.6) ?  

  (if not, then there's a place for the existing method).

 

 See...

 

 http://code.google.com/p/address-sanitizer/issues/detail?id=64

 

 The interpose example code works fine here under 10.6.8.



The interpose example code also works fine under 10.5.8 on a dual G5.


[Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files

2012-11-15 Thread howarth at nitro dot med.uc.edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289



--- Comment #48 from Jack Howarth howarth at nitro dot med.uc.edu 2012-11-15 
19:19:06 UTC ---

As proof that the current mach_override.h and mach_override.c from current

compiler-rt svn are  reasonable to use for gcc 4.8.0, I compiled the complete

Polyhedron 2005 benchmark with...



gfortran-fsf-4.8 -O1 -g -fno-omit-frame-pointer -faddress-sanitizer  %n.f90 -o

%n



and



gfortran-fsf-4.8 -O3 -funroll-loops -ffast-math -g -fno-omit-frame-pointer

-faddress-sanitizer  %n.f90 -o %n



and in both cases each benchmark runs without any error output from

mach_override.c.


[Bug other/48983] No diagnostic message about no space left on device with LTO

2012-11-15 Thread d.g.gorbachev at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48983



--- Comment #3 from Dmitry Gorbachev d.g.gorbachev at gmail dot com 
2012-11-15 19:26:38 UTC ---

And this is not particularly useful: lto1: fatal error: short write.


[Bug rtl-optimization/55346] New: var-tracking generates incomplete/inaccurate debug info

2012-11-15 Thread eager at eagercon dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55346



 Bug #: 55346

   Summary: var-tracking generates incomplete/inaccurate debug

info

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: major

  Priority: P3

 Component: rtl-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: ea...@eagercon.com





Created attachment 28703

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28703

Test program



Var-tracking is does not record the lifetime of variables allocated to

registers correctly, resulting in gdb displaying the variable as optimized

out when it is live.  I've confirmed this problem on x86 and arm.  



The test case is a loop which parses command line options, indexed by integer

variable argno.  When compiled with -g -O2, argno is allocated to rbx, which

is never reused.  The DWARF location list which is generated from

NOTE_INSN_VAR_LOCATION insns, shows disjoint allocations for argno, omitting PC

ranges where the variable is live in rbx.



The DWARF location list has argno as literal 1 beyond the instruction where it

is allocated to rbx.  Argno is defined as rbx starts several instructions after

it is allocated and ends premature.



Var-tracking inserts a NOTE_INSN_VAR_LOCATION for argno as const int 1 at the

start of the BB #2, but one is not inserted when argno is allocated to rbx

later in BB #2.  One is generated later, in BB #5.



Var-tracking inserts a (nil) NOTE_INSN_VAR_LOCATION for argno after BB #3

(branch to epilogue), although argno is live and is used in BB #4, immediately

following BB #3.  Either this should not be generated or another

NOTE_INSN_VAR_LOCATION for argno should be generated at the start of BB #4.


[Bug rtl-optimization/55346] var-tracking generates incomplete/inaccurate debug info

2012-11-15 Thread eager at eagercon dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55346



--- Comment #1 from Michael Eager eager at eagercon dot com 2012-11-15 
19:53:53 UTC ---

Created attachment 28704

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28704

Disassembly and location list


[Bug fortran/55345] ICE with abstract interface type with use-renamed local names

2012-11-15 Thread dominiq at lps dot ens.fr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55345



Dominique d'Humieres dominiq at lps dot ens.fr changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-15

 CC||burnus at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-11-15 
20:04:19 UTC ---

Confirmed for 4.6.3. The ICE has been fixed for 4.7 between revisions 183001

(2012-01-09, ICE) and 183091 (2012-01-11, OK). Revision 183010 seems a good

candidate for the fix. The last comment for pr51578 says:



 FIXED on the trunk (GCC 4.7). Too big for backporting [esp. as no one has

 reported the bug/regression for years].



So please update your gfortran to 4.7.2.


[Bug c++/55325] [4.8 Regression]: g++.dg/cpp0x/constexpr-complex.C excess errors

2012-11-15 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55325



--- Comment #16 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-15 
20:06:32 UTC ---

(In reply to comment #15)

 So, let's auto-detect support for non-standard suffixes in patch v2 [1].

 

 [1] http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01263.html



JFTR, I see there's a v3:

http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01291.html

Nice. Thanks.


[Bug other/48983] No diagnostic message about no space left on device with LTO

2012-11-15 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48983

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #4 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-11-15 
20:23:43 UTC ---
Other gnu projects use gnulib functions to handle these:

http://lists.gnu.org/archive/html/bug-findutils/2005-01/msg00033.html

Perhaps GCC should start using more of gnulib?


[Bug other/54279] [4.8 Regression] first stage build with g++ fails with . as the first component of $PATH

2012-11-15 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54279



--- Comment #6 from Andrew Pinski pinskia at gcc dot gnu.org 2012-11-15 
20:29:12 UTC ---

(In reply to comment #5)

 libmudflap has the similar issue.



Actually the libmudflap is fixed by fixing libstdc++.  Anyways I have a full

fix now.  I am retesting it again.


[Bug bootstrap/53866] [4.8 Regression] lto-bootstrap failed at -O3

2012-11-15 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53866



--- Comment #7 from H.J. Lu hjl.tools at gmail dot com 2012-11-15 20:31:18 
UTC ---

Revision gave 193535:



/export/gnu/import/git/gcc/gcc/c/c-parser.c: In function

\u2018c_parser_postfix_expression_after_primary(c_parser*, unsigned int,

c_expr)\u2019: 

/export/gnu/import/git/gcc/gcc/c/c-parser.c:6917:16: error:

\u2018origtypes\u2019 may be used uninitialized in this function

[-Werror=maybe-uninitialized]

   origtypes);


[Bug c++/55347] New: Specialized member of class template prevents visibility setting

2012-11-15 Thread luto at mit dot edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55347



 Bug #: 55347

   Summary: Specialized member of class template prevents

visibility setting

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: l...@mit.edu





Compiling this code:



--- cut here ---

templatetypename T

class A

{

  void func() {}

};



//#pragma GCC visibility push(default) -- no effect



template void Aint::func() {}  // This causes a problem

template class __attribute__((visibility(default))) Aint;



//#pragma GCC visibility pop

--- cut here ---



results in:



template_visibility.cc:10:55: warning: type attributes ignored after type is

already defined [-Wattributes]



The emitted code ends up hidden.



This is a minor issue in C++98 (I'm not sure why you'd want to do this), but

it's an actual problem in C++11: extern templates behave the same way.



I think that gcc's behavior is consistent, but there should be a way to

override the visibility of a particular class template specialization *without

instantiating/defining it*, then specialize a member, then instantiate the

template.


[Bug rtl-optimization/55346] var-tracking generates incomplete/inaccurate debug info

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55346



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-11-15 
21:42:34 UTC ---

Which gcc version exactly (svn rev or date) you were using?

I can't reproduce this on x86_64-linux with current trunk and -g -O2.

 268: Abbrev Number: 4 (DW_TAG_variable)

69   DW_AT_name: (indirect string, offset: 0x74): argno

6d   DW_AT_decl_file   : 1

6e   DW_AT_decl_line   : 4

6f   DW_AT_type: 0x124

73   DW_AT_location: 0x98(location list)

...

0098 00400420 00400437 (DW_OP_lit1; DW_OP_stack_value)

0098 00400437 00400483 (DW_OP_reg3 (rbx))

0098 00400483 00400488 (DW_OP_breg3 (rbx): -1;

DW_OP_stack_value)

0098 00400488 00400491 (DW_OP_reg3 (rbx))

0098 0040049f 004004cc (DW_OP_reg3 (rbx))

0098 End of list



The only gap in there is in between 491 and 49f, and that is the epilogue:

  400491:   0f 1f 80 00 00 00 00nopl   0x0(%rax)

  400498:   5b  pop%rbx

  400499:   5d  pop%rbp

  40049a:   31 c0   xor%eax,%eax

  40049c:   41 5c   pop%r12

  40049e:   c3  retq   

  40049f:   90  nop



I can reproduce it with r192900 though, so I bet this is a dup of PR54693

(which after all was your testcase).


[Bug target/54829] bad optimization: sub followed by cmp w/ zero (x86 ARM)

2012-11-15 Thread daniel.santos at pobox dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54829



--- Comment #7 from Daniel Santos daniel.santos at pobox dot com 2012-11-15 
21:56:02 UTC ---

First off, I apologize for my late response here.



(In reply to comment #5)

I'm going to respond a little backwards..



 In fact, on ARM there is no branch instruction that can be used for  0 as a

 side effect of a subtract.  To get the desired effect the code would have to 
 be

 completely re-arranged to factor out the  0 (bmi) and then == 0 (beq)

 cases first.



I'm not an ARM programmer, but I'm looking at my reference book and it would

appear that BGT would perform a branch of greater than for signed comparison

and and BHI for unsigned comparison.  Again, convert the subtraction into a

comparison (subtract, but discard the result) and branch based upon the flags

(for signed numbers):



cmpr0, r1

bgt.L1

bne.L2

;handle equality here



Alternately, if the code to execute for each condition will not change the

result flags, then the use of condition instructions could replace the

branches.  In this example there is no need to check for equality because the

previous two branch instructions eliminate all other possibilities.  The reason

that my C code example above does *not* check for equality is that it is the

least likely condition and can be determined by eliminating the two most likely

conditions (negative or positive and not equal).



 The result of the comparison is used in more than one instruction, so combine

 cannot safely rework the branch instructions that follow to ensure that the

 result of the subtract is used correctly.



I suppose I'm going to have to learn the gcc internals.  It will probably be

good for me anyway.



However, If what you say is correct, then the *problem* lies at a higher level

than the combine, but it does not invalidate the problem its self.  Where do

we make the decision that a result can be discarded?  That would seem to be

where the cause of this problem lies.



So to break it down more accurately, if all of these conditions are true:



1.) we perform an integral subtraction,

2.) and every use of the result can be replaced with fewer instructions that

use the CPU flags that were changed by the subtraction instead of the result

its self,

3.) and no instructions between the subtraction and the last use of its result

modify those flags



then we should replace the subtract operation with a compare and use the CPU

flags instead.  I am not aware of any case, when both a and b are of the same 

signed integral type, where (a - b)  0 and (a - b)  0 cannot be replaced

with a  b and a  b, respectively.


[Bug middle-end/52650] [4.8 Regression] FAIL: gcc.dg/torture/pr51106-2.c * (internal compiler error)

2012-11-15 Thread bergner at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52650



Peter Bergner bergner at gcc dot gnu.org changed:



   What|Removed |Added



 CC||bergner at gcc dot gnu.org



--- Comment #13 from Peter Bergner bergner at gcc dot gnu.org 2012-11-15 
22:32:22 UTC ---

I'm seeing the same purge_dead_edges ICE on powerpc64-linux:



/home/bergner/gcc/gcc-fsf-mainline-base/gcc/testsuite/gcc.dg/torture/pr51106-2.c:13:1:

internal compiler error: in purge_dead_edges, at cfgrtl.c:2733

0x10242d27 purge_dead_edges(basic_block_def*)

/home/bergner/gcc/gcc-fsf-mainline-base/gcc/cfgrtl.c:2733

0x103bf8e3 instantiate_virtual_regs_in_insn

/home/bergner/gcc/gcc-fsf-mainline-base/gcc/function.c:1744

0x103bf8e3 instantiate_virtual_regs

/home/bergner/gcc/gcc-fsf-mainline-base/gcc/function.c:1922

Please submit a full bug report,


[Bug rtl-optimization/55346] var-tracking generates incomplete/inaccurate debug info

2012-11-15 Thread eager at eagercon dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55346



--- Comment #3 from Michael Eager eager at eagercon dot com 2012-11-15 
22:36:58 UTC ---

Top of tree as of Oct 20, 2012.  I'll update and verify.



On 11/15/2012 01:42 PM, jakub at gcc dot gnu.org wrote:



 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55346



 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-11-15 
 21:42:34 UTC ---

 Which gcc version exactly (svn rev or date) you were using?

 I can't reproduce this on x86_64-linux with current trunk and -g -O2.

   268: Abbrev Number: 4 (DW_TAG_variable)

  69   DW_AT_name: (indirect string, offset: 0x74): argno

  6d   DW_AT_decl_file   : 1

  6e   DW_AT_decl_line   : 4

  6f   DW_AT_type: 0x124

  73   DW_AT_location: 0x98(location list)

 ...

  0098 00400420 00400437 (DW_OP_lit1; 
 DW_OP_stack_value)

  0098 00400437 00400483 (DW_OP_reg3 (rbx))

  0098 00400483 00400488 (DW_OP_breg3 (rbx): -1;

 DW_OP_stack_value)

  0098 00400488 00400491 (DW_OP_reg3 (rbx))

  0098 0040049f 004004cc (DW_OP_reg3 (rbx))

  0098 End of list



 The only gap in there is in between 491 and 49f, and that is the epilogue:

400491:   0f 1f 80 00 00 00 00nopl   0x0(%rax)

400498:   5b  pop%rbx

400499:   5d  pop%rbp

40049a:   31 c0   xor%eax,%eax

40049c:   41 5c   pop%r12

40049e:   c3  retq

40049f:   90  nop



 I can reproduce it with r192900 though, so I bet this is a dup of PR54693

 (which after all was your testcase).




[Bug bootstrap/55051] [4.8 Regression] profiledbootstrap failed

2012-11-15 Thread tejohnson at google dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55051



--- Comment #26 from Teresa Johnson tejohnson at google dot com 2012-11-15 
22:42:12 UTC ---

On Thu, Nov 15, 2012 at 6:33 AM, Teresa Johnson tejohn...@google.com wrote:







 On Thu, Nov 15, 2012 at 2:56 AM, hubicka at ucw dot cz

 gcc-bugzi...@gcc.gnu.org wrote:





 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55051



 --- Comment #24 from Jan Hubicka hubicka at ucw dot cz 2012-11-15

 10:56:53 UTC ---

  Note though that this is not an assert. It just emits a message to

  stderr. Do you think a better error message is appropriate? I'm not

  sure the some data files may have been removed is an accurate

  description of the issue. Perhaps something like Profile data file

  mismatch may indicate corrupt profile data?



 Well, we should figure out why sum_all starts to diverge.  If we had

 problems mixing cc1 and cc1plus executions, we should get mismatches in

 number of counters.





 Right, it doesn't appear to be different executables since the number of

 counters is identical. I'll instrument it and see if I can figure out why

 they diverge.





 What happens after the miscompare?





 A flag is set so that the error is emitted at most once per merge, and then

 we continue on with the merge and ignore it. Basically what it is doing is

 saving the first merged summary (for the first object file's gcda we merge

 into), and then for each additional object file that gets its counters

 merged the resulting program summary is compared against the saved program

 summary. But only if the number of runs is the same as the saved summary.

 This could happen if the gcda files are walked in a different order during

 updates (i.e. the gcov_list is in a different order for different processes

 of the same executable), but I am not sure if that can happen.



It appears that this is what is happening, and I think it makes sense

that it can.



We're essentially doing this:



  /* Now merge each file.  */

  for (gi_ptr = gcov_list; gi_ptr; gi_ptr = gi_ptr-next)

{

// Open existing gcda file for gi_ptr

// Find program summary corresponding to this executable - save in prg

// Merge execution counts for each function

// Merge program summary

//  - If this is the first merged file for this execution,

save merged summary in all_prg

//  - Otherwise if #runs the same in prg and all_prg,

print error message if prg != all_prg.

// Write merged gcda

}



I found that in a couple cases, we printed the error message for

libcpp/directives.gcda, where the saved all_prg summary was from

gcc/gcc.gcda.



I then instrumented the code so that each time we merge into one of

these 2 gcda files I emit the pids, the number of runs, the number of

counters and the merged sum_all. Comparing the results from all the

merges to these two gcda files I see that most of the time the merges

proceed in the same order, but there are a few cases where the order

is different, resulting in a different sum_all with the same number of

runs, and then things go back to normal and the sum_all matches again.

E.g., here is one place where things get out of order briefly,

resulting in one of the error messages being printed:



...

pid 28432 ppid 28429 Merging summary for

/home/tejohnson/extra/gcc_trunk_3_obj/gcc/gcc.gcda with runs 254 num

13193 sum_all 17058327

pid 28437 ppid 28365 Merging summary for

/home/tejohnson/extra/gcc_trunk_3_obj/gcc/gcc.gcda with runs 255 num

13193 sum_all 17064832

pid 28439 ppid 28367 Merging summary for

/home/tejohnson/extra/gcc_trunk_3_obj/gcc/gcc.gcda with runs 256 num

13193 sum_all 17071340

pid 28440 ppid 28436 Merging summary for

/home/tejohnson/extra/gcc_trunk_3_obj/gcc/gcc.gcda with runs 257 num

13193 sum_all 17177525

...



vs



...

pid 28432 ppid 28429 Merging summary for

/home/tejohnson/extra/gcc_trunk_3_obj/libcpp/directives.gcda with runs

254 num 13193 sum_all 17058327

pid 28439 ppid 28367 Merging summary for

/home/tejohnson/extra/gcc_trunk_3_obj/libcpp/directives.gcda with runs

255 num 13193 sum_all 17064835

pid 28437 ppid 28365 Merging summary for

/home/tejohnson/extra/gcc_trunk_3_obj/libcpp/directives.gcda with runs

256 num 13193 sum_all 17071340

pid 28440 ppid 28436 Merging summary for

/home/tejohnson/extra/gcc_trunk_3_obj/libcpp/directives.gcda with runs

257 num 13193 sum_all 17177525

...



Notice the middle two pids are flipped, resulting in the sum_all being

different after run 255, and back to the same after run 256.



I believe this could happen if pids 28437 and 28439 finished

near-simultaneously, waited for the lock for gcc.gcda, and 28437 won

first, but then by some luck of timing they subsequently both

attempted to open directives.gcda at around the same time and 28439

happened to win the lock in the fcntl loop first.



I believe it is also possible for object files to be in different

orders in the 

[Bug fortran/45586] [4.8 Regression] ICE non-trivial conversion at assignment

2012-11-15 Thread bergner at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45586



Peter Bergner bergner at gcc dot gnu.org changed:



   What|Removed |Added



 CC||bergner at gcc dot gnu.org



--- Comment #87 from Peter Bergner bergner at gcc dot gnu.org 2012-11-15 
22:46:23 UTC ---

I noticed this same error on the pr45586*.f90 test cases, but the reduced test

case in Comment #86 ICEs for me too on powerpc64-linux.


[Bug c++/55348] New: Problem in tree-ssa-pre.c

2012-11-15 Thread suffolkwej at verizon dot net

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55348

 Bug #: 55348
   Summary: Problem in tree-ssa-pre.c
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
   URL: https://github.com/openlink/virtuoso-opensource
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: suffolk...@verizon.net
  Host: 2.6.32-279.14.1.el6.centos.plus.x86_64
Target: 2.6.32-279.14.1.el6.centos.plus.x86_64


Created attachment 28705
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28705
Failing preprocessed code

Output:
anon@localhost:372|virtuoso  gcc -DHAVE_CONFIG_H -I. -I../../libsrc/Dk
-fno-strict-aliasing -O2 -Wall -DNDEBUG -DPOINTER_64
-I/home/anon/src/virtuoso-opensource/libsrc/Xml.new -DOPENSSL_NO_KRB5 -Dlinux
-D_GNU_SOURCE -DFILE64 -D_LARGEFILE64_SOURCE -I../../libsrc -I../../libsrc/Dk
-I../../libsrc/Wi -I../../libsrc/odbcsdk/include -I../../libsrc/plugin
-I../../libsrc/langfunc -DBUILD_THREAD_MODEL=\-t\ -DSHARED_OBJECT -g -O2 -MT
libvirtuoso_t_la-viunix.lo -MD -MP -MF -v -fwrapv -Wextra
.deps/libvirtuoso_t_la-viunix.Tpo -c viunix.c -o libvirtuoso_t_la-viunix.o
viunix.c: In function ‘sigh_do_action’:
viunix.c:235:21: warning: unused parameter ‘is_asynchronous’
[-Wunused-parameter]
 sigh_do_action (int is_asynchronous)
 ^
viunix.c: At top level:
viunix.c:283:1: warning: ‘sigh_report_and_forget’ defined but not used
[-Wunused-function]
 sigh_report_and_forget (int sig)
 ^
viunix.c: In function ‘VirtuosoServerMain’:
viunix.c:559:1: internal compiler error: in compute_antic, at
tree-ssa-pre.c:2511
 VirtuosoServerMain (int argc, char **argv)
 ^
0x9ea778 compute_antic
../.././gcc/tree-ssa-pre.c:2511
0x9ecac1 do_pre
../.././gcc/tree-ssa-pre.c:4709
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
anon@localhost:373|virtuosogcc -v 
   
  18:30:39:12-11-15 Using built-in
specs. 
   
   COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-languages=c,c++,fortran,java,lto,objc
--no-create --no-recursion
Thread model: posix
gcc version 4.8.0 20121104 (experimental) (GCC) 
anon@localhost:374|virtuosouname -a
18:30:40:12-11-15 Linux localhost.localdomain
2.6.32-279.14.1.el6.centos.plus.x86_64 #1 SMP Wed Nov 7 00:40:45 UTC 2012
x86_64 x86_64 x86_64 GNU/Linux


[Bug rtl-optimization/54850] [4.8 Regression] FAIL: gcc.c-torture/execute/20041113-1.c execution, -Os

2012-11-15 Thread pthaugen at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54850



--- Comment #14 from Pat Haugen pthaugen at gcc dot gnu.org 2012-11-16 
00:11:40 UTC ---

Can this be closed? Working fine on powerpc64.


[Bug bootstrap/54795] [4.8 Regression] Random profiledbootstrap failure with LTO

2012-11-15 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54795



--- Comment #4 from H.J. Lu hjl.tools at gmail dot com 2012-11-16 00:34:07 
UTC ---

Revision 193543 gave:



lto1: internal compiler error: Segmentation fault

0xb37547 crash_signal

../../src-trunk/gcc/toplev.c:334

0x6c0763 resolve_addr_in_expr

../../src-trunk/gcc/dwarf2out.c:22440

0x6eb6e2 resolve_addr

../../src-trunk/gcc/dwarf2out.c:22636

0x6eb77b resolve_addr

../../src-trunk/gcc/dwarf2out.c:22687

0x6eb77b resolve_addr

../../src-trunk/gcc/dwarf2out.c:22687

0x6eb77b resolve_addr

../../src-trunk/gcc/dwarf2out.c:22687

0x6eb77b resolve_addr

../../src-trunk/gcc/dwarf2out.c:22687

0x6eb77b resolve_addr

../../src-trunk/gcc/dwarf2out.c:22687

0x6eb77b resolve_addr

../../src-trunk/gcc/dwarf2out.c:22687

0x6eb77b resolve_addr

../../src-trunk/gcc/dwarf2out.c:22687

0x6ec76b dwarf2out_finish

../../src-trunk/gcc/dwarf2out.c:23309

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.

make[7]: *** [/tmp/ccAUJBBj.ltrans24.ltrans.o] Error 1

make[7]: *** Waiting for unfinished jobs

lto-wrapper: make returned 2 exit status

/usr/local/x86_64-unknown-linux-gnu/bin/ld: lto-wrapper failed

collect2: error: ld returned 1 exit status

make[6]: *** [cc1plus] Error 1


[Bug c++/55348] Problem in tree-ssa-pre.c

2012-11-15 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55348



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |WAITING

   Last reconfirmed||2012-11-16

 Ever Confirmed|0   |1



--- Comment #1 from Steven Bosscher steven at gcc dot gnu.org 2012-11-16 
00:34:26 UTC ---

Probably a dup of bug 55191. Please try a newer revision of the trunk,

a checkout later than 2012-11-08.


[Bug other/54324] [4.8 Regression] GCC install document does not list minimum required g++ version

2012-11-15 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54324



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



   Severity|normal  |blocker


[Bug debug/53860] [4.8 Regression] ICE: in should_move_die_to_comdat, at dwarf2out.c:6254 with -fkeep-inline-functions -fdebug-types-section -g

2012-11-15 Thread siddhesh at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53860



Siddhesh Poyarekar siddhesh at redhat dot com changed:



   What|Removed |Added



 CC||siddhesh at redhat dot com



--- Comment #2 from Siddhesh Poyarekar siddhesh at redhat dot com 2012-11-16 
03:00:28 UTC ---

(In reply to comment #1)

 It is caused by revision 188621:

 

 http://gcc.gnu.org/ml/gcc-cvs/2012-06/msg00531.html



This was reverted with r189311, so the ICE is not reproducible anymore.


[Bug lto/54728] [4.8 regression] ICE in input_gimple_stmt, at gimple-streamer-in.c:254

2012-11-15 Thread pinskia at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54728

--- Comment #7 from Andrew Pinski pinskia at gcc dot gnu.org 2012-11-16 
03:36:35 UTC ---
here is the most reduced testcase.
cat  foo1.cc  EOF
templatetypename _CharT struct basic_string
{
  struct _Rep   {_CharT*  _M_refdata() throw()  {  return 0; }};
  _CharT * dst;
  static _Rep   _S_empty_rep();
  basic_string()   : dst(_S_empty_rep()._M_refdata())  {  }
};
extern template class basic_stringchar;
struct basic_ostringstream{
  basic_stringchar  _M_stringbuf;
};
basic_ostringstream foo1;
EOF
sed s/foo1/foo2/  foo1.cc  foo2.cc
g++ -Wfatal-errors   t1.cc t2.cc  -fpic  -flto -c
g++ -Wfatal-errors   t1.o t2.o -shared -flto -o t.so -flto-partition=none
In member function ‘_M_refdata’:
lto1: internal compiler error: in input_gimple_stmt, at
gimple-streamer-in.c:255
0xc565b6 input_gimple_stmt



[Bug c/55349] New: arm-linux-androideabi-gcc-4.6: Internal compiler error compiling libpng in debug mode

2012-11-15 Thread ibenrunnin at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55349



 Bug #: 55349

   Summary: arm-linux-androideabi-gcc-4.6: Internal compiler error

compiling libpng in debug mode

Classification: Unclassified

   Product: gcc

   Version: 4.6.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: ibenrun...@gmail.com





Firstly: ndk-build doesn't give output of which version of gcc it is using but

looking in the toolchains folder I checked the version number of what I believe

it is running:

arm-linux-androideabi-gcc-4.6 (GCC) 4.6 20120106 (prerelease)

Copyright (C) 2011 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



Here is information regarding the issue, which should be enough to reproduce

the problem:



Please describe the problem in detail, with the following information (if

applicable)

Host OS:Linux

NDK tools version: tested with android-ndk-r8b and android-ndk-r8c



STEPS TO REPRODUCE:

(Tested using android-ndk-r8b and android-ndk-r8c, libpng 1.2.38 and 1.5.13)

1.Setup simple NDK dev environment with libpng 1.5.13

2.run NDK_DEBUG=1 ndk-build

3.build will fail



EXPECTED RESULTS:

For libpng to compile successfully (which it does when NDK_DEBUG is set to 0)



OBSERVED RESULTS:

Compile thumb  : png = pngrtran.c

jni/png/pngrtran.c: In function 'png_do_rgb_to_gray':

jni/png/pngrtran.c:3418:1: internal compiler error: in reload, at

reload1.c:1061

Please submit a full bug report,

with preprocessed source if appropriate.

See http://gcc.gnu.org/bugs.html for instructions.

make: *** [obj/local/armeabi/objs-debug/png/pngrtran.o] Error 1





^It is therefore reasonable to conclude that this is a bug within NDK or

perhaps the version of GCC it is using.


[Bug c/55349] arm-linux-androideabi-gcc-4.6: Internal compiler error compiling libpng in debug mode

2012-11-15 Thread ibenrunnin at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55349



--- Comment #1 from Ben Clapp ibenrunnin at gmail dot com 2012-11-16 03:44:38 
UTC ---

ADDITIONAL INFORMATION:

I've hunted around Google for a good while, this is what I could find on the

subject (virtually no information of worth):



http://grokbase.com/t/gg/android-ndk/128b4k8wmm/ndk-r8b-debug-bild-does-not-link-anymore

http://stackoverflow.com/questions/11980870/error-on-building-android-ndk-assets/12234953#comment16414063_12234953

https://groups.google.com/forum/#!msg/android-ndk/n4RIOhx9f4Y/oOWF4nUxMPAJ

http://stackoverflow.com/questions/13042825/libpng-ndk-build-internal-compiler-error-in-debug-mode

http://sourceforge.net/mailarchive/message.php?msg_id=30009240

http://timecubepuzzle.blogspot.com/2012/05/development-on-android-ndk-gluing-c.html?showComment=1347158980877#c6889341856998289570



possible similar issue involving Visual Studio???

http://stackoverflow.com/questions/12933309/linker-error-unresolved-external-symbol-imp-iob-func-in-libpng-lib


[Bug c/55349] arm-linux-androideabi-gcc-4.6: Internal compiler error compiling libpng in debug mode

2012-11-15 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55349



--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-11-16 
03:46:48 UTC ---

http://code.google.com/p/android/issues/detail?id=20862


[Bug target/55349] arm-linux-androideabi-gcc-4.6: Internal compiler error compiling libpng in debug mode

2012-11-15 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55349



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

  Component|c   |target

 Resolution||MOVED



--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-11-16 
03:51:29 UTC ---

You should report this to google rather than here.  Google should have changed

the bug reporting url when they configured gcc.



You should also try a new version of GCC since this was a prerelease from

January.


[Bug c/55349] arm-linux-androideabi-gcc-4.6: Internal compiler error compiling libpng in debug mode

2012-11-15 Thread ibenrunnin at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55349



Ben Clapp ibenrunnin at gmail dot com changed:



   What|Removed |Added



 Status|RESOLVED|UNCONFIRMED

  Component|target  |c

 Resolution|MOVED   |



--- Comment #4 from Ben Clapp ibenrunnin at gmail dot com 2012-11-16 03:55:49 
UTC ---

Ok, I had already submitted a bug to Google:

http://code.google.com/p/android/issues/detail?can=2start=0num=100q=colspec=ID%20Type%20Status%20Owner%20Summary%20Starsgroupby=sort=id=39787



This is the version of GCC packaged with the latest ndk, r8c, which was

literally just released two days ago. Anyway, I'll go searching for a more

recent pre-release, thanks for the tip.


  1   2   >