[Bug ada/31808] cross-built gnattools installs vxaddr2line regardless of target triplet
--- Comment #5 from ludovic at ludovic-brenta dot org 2008-05-13 08:29 --- Could someone please set the target milestone for this bug? Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31808
[Bug ada/31808] cross-built gnattools installs vxaddr2line regardless of target triplet
--- Comment #6 from ludovic at ludovic-brenta dot org 2008-05-13 08:30 --- Also the bug should not remain tagged as INVALID. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31808
[Bug ada/26635] [4.3/4.4 regression] bogus Storage_Error warning
--- Comment #14 from ebotcazou at gcc dot gnu dot org 2008-05-13 08:53 --- Fixed in the upcoming 4.3.1 release. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc- ||patches/2008- ||05/msg00731.html Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|4.1.3 |4.3.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26635
[Bug ada/26635] [4.3/4.4 regression] bogus Storage_Error warning
--- Comment #13 from ebotcazou at gcc dot gnu dot org 2008-05-13 08:47 --- Subject: Bug 26635 Author: ebotcazou Date: Tue May 13 08:46:49 2008 New Revision: 135258 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135258 Log: PR ada/24880 PR ada/26635 * utils.c (convert) : When converting an additive expression to an integral type with lower precision, use NOP_EXPR directly in a couple of special cases. Added: branches/gcc-4_3-branch/gcc/testsuite/gnat.dg/conv_integer.adb branches/gcc-4_3-branch/gcc/testsuite/gnat.dg/discr7.adb Modified: branches/gcc-4_3-branch/gcc/ada/ChangeLog branches/gcc-4_3-branch/gcc/ada/utils.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26635
[Bug middle-end/36201] NVR in the front-end causes missed optimization later on ( thought to alias arguments)
--- Comment #1 from rguenth at gcc dot gnu dot org 2008-05-13 08:43 --- Confirmed on 32bit targets. SMT.6, UID D.1708, struct a, is addressable, is global, score: 320004, direct reads: 0, direct writes: 0, indirect reads: 2, indirect writes: 0, call clobbered (is global var, is incoming pointer), may aliases: { } , UID D.1678, struct a, is addressable, score: 1280052, direct reads: 2, direct writes: 2, indirect reads: 2, indirect writes: 0, call clobbered (is global var, is incoming pointer) It's easy to hack flow-insensitive aliasing to say that RESULT_DECL isn't really addressable (which is the difference here I believe) - but it is harder to argue that this doesn't ever go wrong ;) With that we get a f(a&, a&) (struct a & g, struct a & h) { long long int pretmp.12; : pretmp.12 = h->b; .b = (pretmp.12 + g->b) + pretmp.12 * 1023; return ; } Now onto why the following is safe... Index: tree-ssa-alias.c === --- tree-ssa-alias.c(revision 135255) +++ tree-ssa-alias.c(working copy) @@ -3338,6 +3338,10 @@ debug_may_aliases_for (tree var) bool may_be_aliased (tree var) { + /* Nothing can alias the result decl. */ + if (TREE_CODE (var) == RESULT_DECL) +return false; + /* Obviously. */ if (TREE_ADDRESSABLE (var)) return true; -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 GCC target triplet||i?86-*-* Last reconfirmed|-00-00 00:00:00 |2008-05-13 08:43:57 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
[Bug ada/24880] [4.1/4.2/4.3/4.4 regression] infinite loop on conversion of integer type with size clause
--- Comment #7 from ebotcazou at gcc dot gnu dot org 2008-05-13 08:47 --- Subject: Bug 24880 Author: ebotcazou Date: Tue May 13 08:46:18 2008 New Revision: 135257 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135257 Log: PR ada/24880 PR ada/26635 * utils.c (convert) : When converting an additive expression to an integral type with lower precision, use NOP_EXPR directly in a couple of special cases. Added: trunk/gcc/testsuite/gnat.dg/conv_integer.adb trunk/gcc/testsuite/gnat.dg/discr7.adb Modified: trunk/gcc/ada/ChangeLog trunk/gcc/ada/utils.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24880
[Bug ada/24880] [4.1/4.2 regression] infinite loop on conversion of integer type with size clause
--- Comment #9 from ebotcazou at gcc dot gnu dot org 2008-05-13 08:52 --- Fixed in the upcoming 4.3.1 release. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc- ||patches/2008- ||05/msg00731.html Status|ASSIGNED|RESOLVED Resolution||FIXED Summary|[4.1/4.2/4.3/4.4 regression]|[4.1/4.2 regression] |infinite loop on conversion |infinite loop on conversion |of integer type with size |of integer type with size |clause |clause Target Milestone|4.1.3 |4.3.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24880
[Bug ada/24880] [4.1/4.2/4.3/4.4 regression] infinite loop on conversion of integer type with size clause
--- Comment #8 from ebotcazou at gcc dot gnu dot org 2008-05-13 08:47 --- Subject: Bug 24880 Author: ebotcazou Date: Tue May 13 08:46:49 2008 New Revision: 135258 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135258 Log: PR ada/24880 PR ada/26635 * utils.c (convert) : When converting an additive expression to an integral type with lower precision, use NOP_EXPR directly in a couple of special cases. Added: branches/gcc-4_3-branch/gcc/testsuite/gnat.dg/conv_integer.adb branches/gcc-4_3-branch/gcc/testsuite/gnat.dg/discr7.adb Modified: branches/gcc-4_3-branch/gcc/ada/ChangeLog branches/gcc-4_3-branch/gcc/ada/utils.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24880
[Bug ada/26635] [4.3/4.4 regression] bogus Storage_Error warning
--- Comment #12 from ebotcazou at gcc dot gnu dot org 2008-05-13 08:47 --- Subject: Bug 26635 Author: ebotcazou Date: Tue May 13 08:46:18 2008 New Revision: 135257 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135257 Log: PR ada/24880 PR ada/26635 * utils.c (convert) : When converting an additive expression to an integral type with lower precision, use NOP_EXPR directly in a couple of special cases. Added: trunk/gcc/testsuite/gnat.dg/conv_integer.adb trunk/gcc/testsuite/gnat.dg/discr7.adb Modified: trunk/gcc/ada/ChangeLog trunk/gcc/ada/utils.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26635
[Bug middle-end/36201] NVR in the front-end causes missed optimization later on ( thought to alias arguments)
--- Comment #2 from rguenth at gcc dot gnu dot org 2008-05-13 09:14 --- Nevertheless, mine. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2008-05-13 08:43:57 |2008-05-13 09:14:21 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
[Bug tree-optimization/34330] -ftree-parallelize-loops=4 ICE with the vectorizer also
--- Comment #8 from rguenth at gcc dot gnu dot org 2008-05-13 09:07 --- To fix potential TBAA miscompilations the vectorizer could mark all pointer (types) it creates with TYPE_REF_CAN_ALIAS_ALL. But I guess I have a more pragmatic fix for this. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2007-12-16 22:07:18 |2008-05-13 09:07:52 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34330
[Bug ada/29127] gnatchop-gcc: installation problem, executable not found
--- Comment #8 from rguenth at gcc dot gnu dot org 2008-05-13 09:39 --- It's not the same. This is the problem that surfaces if you fix PR864. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|DUPLICATE | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29127
[Bug target/36004] alpha doesn't see stores, through other variables, for "struct hack"
--- Comment #2 from oliver at linux-kernel dot at 2008-05-13 10:49 --- Finally I have a working gcc 4.3.0, although I had to disable gnat compilation, as there's some error. With gcc 4.3.0 ustr compiles, so this really is fixed. Regarding gnat; Can we use this ticket for tracking the problem? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36004
[Bug middle-end/35964] ICE with -funroll-loops on arm/arm eabi
--- Comment #14 from aurelien at aurel32 dot net 2008-05-13 10:34 --- Created an attachment (id=15633) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15633&action=view) Patch to fix the problem This patch fixes the problem. It has been extracted from gfortran-armel-updates.dpatch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35964
[Bug middle-end/35964] ICE with -funroll-loops on arm/arm eabi
--- Comment #13 from aurelien at aurel32 dot net 2008-05-13 10:32 --- > (The "Unshare RTX earlier..." one). Andrew and I actually did this work (ObjC > Good catch, I confirm that this part of the patch fixes the problem. This is clearly a regression from gcc 4.2. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35964
[Bug middle-end/36201] NVR in the front-end causes missed optimization later on ( thought to alias arguments)
--- Comment #3 from rguenth at gcc dot gnu dot org 2008-05-13 11:41 --- The patch isn't really correct, but the problem is that the fact that is marked addressable is causing flow-insensitive analysis to say that the incoming pointers can alias it. Also incoming pointers don't get useful constraints for PTA - they should get &NONLOCAL (err, ok - we had that once ;)). Or we can simply prune the points-to set after the fact. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
[Bug ada/31808] cross-built gnattools installs vxaddr2line regardless of target triplet
--- Comment #7 from sam at gcc dot gnu dot org 2008-05-13 11:55 --- Reopening to close it properly and setting target milestone. -- sam at gcc dot gnu dot org changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|INVALID | Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31808
[Bug ada/31808] cross-built gnattools installs vxaddr2line regardless of target triplet
--- Comment #8 from sam at gcc dot gnu dot org 2008-05-13 11:56 --- Fixed in SVN trunk by Arno's patch. -- sam at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31808
[Bug target/36225] Gcc doesn't mangle fastcall
--- Comment #3 from rguenth at gcc dot gnu dot org 2008-05-13 12:00 --- Surely not, this would break the ABI. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36225
[Bug middle-end/36227] [4.3/4.4 Regression] POINTER_PLUS folding introduces undefined overflow
--- Comment #1 from rguenth at gcc dot gnu dot org 2008-05-13 12:43 --- Err - only with volatiles ... !? volatile unsigned long * sat_add(volatile unsigned long *ptr, unsigned long i, volatile unsigned long *end) { if ((unsigned long)ptr + i * sizeof(*ptr) > (unsigned long)ptr) return ptr + i; else return end; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36227
[Bug middle-end/36227] [4.3/4.4 Regression] POINTER_PLUS folding introduces undefined overflow
--- Comment #2 from rguenth at gcc dot gnu dot org 2008-05-13 12:54 --- Part of the fix is Index: fold-const.c === --- fold-const.c(revision 135255) +++ fold-const.c(working copy) @@ -6831,7 +6831,8 @@ fold_sign_changed_comparison (enum tree_ && TREE_TYPE (TREE_OPERAND (arg1, 0)) == inner_type)) return NULL_TREE; - if (TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type) + if ((TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type) + || POINTER_TYPE_P (inner_type) != POINTER_TYPE_P (outer_type)) && code != NE_EXPR && code != EQ_EXPR) return NULL_TREE; but the question is if the folding to POINTER_PLUS is correct at all. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2008-05-13 12:54:21 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36227
[Bug inline-asm/31693] Incorrectly assigned registers to operands for ARM inline asm
--- Comment #4 from siarhei dot siamashka at gmail dot com 2008-05-13 12:32 --- This bug is still present in gcc 4.3 -- siarhei dot siamashka at gmail dot com changed: What|Removed |Added Known to fail||3.3.6 4.0.4 4.1.2 4.2.0 ||4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31693
[Bug fortran/24978] ICE in gfc_assign_data_value_range
--- Comment #16 from riccardo dot scorretti at univ-lyon1 dot fr 2008-05-13 12:42 --- Hi! I think I'm experiencing a similar bug: the source code is: program test_vecteurs implicit none integer :: n integer, dimension(0:9) :: x = (/ (n, n=1,10,2), (0,n=1,5) /) data (x(n), n=0,9) / 10*0 / x = (/ (n, n=1,10,2), (0, n=1,5) /) do n = 0, 9 print *, "x(", n, ") = ", x(n) end do end program >> gfortran -v -save-temps f3.f95 -o f3 Driving: gfortran -v -save-temps f3.f95 -o f3 -lgfortranbegin -lgfortran -lm -shared-libgcc Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7) /usr/lib/gcc/x86_64-linux-gnu/4.2.3/f951 f3.f95 -quiet -dumpbase f3.f95 -mtune=generic -auxbase f3 -version -fstack-protector -I /usr/lib/gcc/x86_64-linux-gnu/4.2.3/finclude -o f3.s GNU F95 version 4.2.3 (Ubuntu 4.2.3-2ubuntu7) (x86_64-linux-gnu) compiled by GNU C version 4.2.3 (Ubuntu 4.2.3-2ubuntu7). GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 f3.f95: In function MAIN__: f3.f95:1: internal compiler error: in output_constructor, at varasm.c:4308 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. For Debian GNU/Linux specific bug reporting instructions, see . -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24978
[Bug middle-end/36227] New: [4.3/4.4 Regression] POINTER_PLUS folding introduces undefined overflow
unsigned long * sat_add(unsigned long *ptr, unsigned long i, unsigned long *end) { if ((unsigned long)ptr + i * sizeof(*ptr) > (unsigned long)ptr) return ptr + i; else return end; } is folded to if (ptr + (long unsigned int) (i * 8) > ptr) { return ptr + (long unsigned int) (i * 8); } else { return end; } -- Summary: [4.3/4.4 Regression] POINTER_PLUS folding introduces undefined overflow Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36227
[Bug tree-optimization/36228] New: redundant runtime check while vectorizing
/* { dg-do compile } */ /* { dg-options "-O3 -c" } */ #define COLS 8 #define ROWS 8 int t_run_test(void); int t_run_test() { int k_1,i_1, j_1; static signed char f_1[ROWS][COLS] ; static long F_1[ROWS][COLS] ; long cosMatrixA[ROWS][COLS] ; for( k_1 = 0 ; k_1 < COLS ; k_1++ ) { for( i_1 = 0 ; i_1 < ROWS ; i_1++ ) { for( j_1 = 0 ; j_1 < COLS ; j_1++ ) F_1[i_1][j_1] += f_1[i_1][k_1] * cosMatrixA[k_1][j_1] ; } } return 0; } A redundant check for aliasing is created. Looking at the vectorizer's dump, we see: versioning for alias required: can't determine dependence between F_1[i_1_41][j_1_42] and F_1[i_1_41][j_1_42] Tested on Power6. -- Summary: redundant runtime check while vectorizing Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: razya at il dot ibm dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36228
[Bug c/36229] New: scanf does not read correctly
#include #define length 50 int main() { int i=0,finish=0; char A[length]; char B[3]; printf("Input A --> ? "); scanf("%s",A); printf("Input B --> ? "); scanf("%s",B); printf("Output A --> %s (It reads first char as \'\\0\')\n",A); printf("Output B --> %s\n",B); printf("Output A --> "); while(finish!=1) { if((i>1)&&(A[i]=='\0')) finish=1; printf("%c",A[i],i); i++; } printf(" (This is the proof!)\n"); } hi, i am new in C language. i tried to find what is wrong the code above. The code runs correctly when i compiled it with gcc-3.x and 2.9x, but it does not run when i compiled it using gcc-4.1.1 (linux debian 4.0 etch). you could see when you input something for A and B. It reads B correctly. For A, it reads first character as '\0'. I find a solution to fix it from the code. in the code: - char A[length]; char B[3]; --- if i change it as in below: char B[3]; char A[length]; scanf runs correctly. I am not sure it is a bug. But I thought it might be. -- Summary: scanf does not read correctly Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mkarakoc at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36229
[Bug tree-optimization/36230] New: load PRE doesn't deal with more precise alias info on one path
If points-to sets for incoming pointers are properly pruned (see PR36201), loadPRE no longer optimizes gcc.dg/tree-ssa/loadpre1[45].c which look like # VUSE d_3 = (*a_2(D))[0]; if (argc_4(D) != 0) goto ; else goto ; : goto ; : : # a_1 = PHI # VUSE e_6 = (*a_1)[0]; where we know that a_2(D) cannot point to c and thus the first load doesn't alias c. Without PR36201 fixed we got # VUSE d_3 = (*a_2(D))[0]; if (argc_4(D) != 0) goto ; else goto ; : goto ; : : # a_1 = PHI # VUSE e_6 = (*a_1)[0]; and loadPRE did its job. -- Summary: load PRE doesn't deal with more precise alias info on one path Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36230
[Bug middle-end/36201] NVR in the front-end causes missed optimization later on ( thought to alias arguments)
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-05-13 13:16 --- Created an attachment (id=15634) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15634&action=view) patch fixing the problem Regresses gcc.dg/tree-ssa/loadpre1[45].c, see PR36230. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
[Bug c++/35159] g++ and gfortran inoperable with no error message
--- Comment #21 from nightstrike at gmail dot com 2008-05-13 13:23 --- ping.. Is there anyone that can help us with this? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35159
[Bug ada/29127] gnatchop-gcc: installation problem, executable not found
--- Comment #9 from charlet at gcc dot gnu dot org 2008-05-13 13:24 --- I'm sorry, but I have an experimental patch (still needs some refining) fixing PR864 which does also fix this PR, so I do not understand your comment, could you please elaborate ? Arno -- charlet at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29127
[Bug ada/29127] gnatchop-gcc: installation problem, executable not found
--- Comment #10 from rguenther at suse dot de 2008-05-13 13:36 --- Subject: Re: gnatchop-gcc: installation problem, executable not found On Tue, 13 May 2008, charlet at gcc dot gnu dot org wrote: > --- Comment #9 from charlet at gcc dot gnu dot org 2008-05-13 13:24 > --- > I'm sorry, but I have an experimental patch (still needs some refining) fixing > PR864 which does also fix this PR, so I do not understand your comment, could > you > please elaborate ? Most distributions have local patches that apply --program-suffix (and similar configure switches) also to Ada executables (this is PR864). If you do so and use for example '-4.3' as suffix you will hit this (PR29127) PR because the Ada driver now thinks that binaries with '-' contained are cross-compiling. See also PR33857 for a symptom of that. It would be really nice if the Ada driver would finally cope with being suffixed with the gcc version number. Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29127
[Bug c/36229] scanf does not read correctly
--- Comment #1 from rguenth at gcc dot gnu dot org 2008-05-13 13:38 --- You are likely overrunning B. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36229
[Bug ada/29127] gnatchop-gcc: installation problem, executable not found
--- Comment #11 from charlet at gcc dot gnu dot org 2008-05-13 13:39 --- Right, as I said, this is exactly PR864 for which I have an experimental patch which needs small refinements. Arno *** This bug has been marked as a duplicate of 864 *** -- charlet at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29127
[Bug ada/864] --program-suffix is ignored (for ada)
--- Comment #8 from charlet at gcc dot gnu dot org 2008-05-13 13:39 --- *** Bug 29127 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=864
[Bug ada/864] --program-suffix is ignored (for ada)
--- Comment #9 from charlet at gcc dot gnu dot org 2008-05-13 13:40 --- Assigning to myself. -- charlet at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |charlet at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=864
[Bug tree-optimization/36228] redundant runtime check while vectorizing
--- Comment #1 from rguenth at gcc dot gnu dot org 2008-05-13 13:40 --- I belive this is a known issue with the data-dependence analyzer? (I never understood why it doesn't recognize identical references...) -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||spop at gcc dot gnu dot org Severity|normal |enhancement Keywords||missed-optimization http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36228
[Bug ada/36207] [4.4 regression] Ada bootstrap fails in uintp.adb:1595
--- Comment #3 from aaronavay62 at aaronwl dot com 2008-05-13 13:50 --- Here is the information. I included the stage1 compiler as well just for comparison purposes. For some reason, the source line information is missing from both, but I suspect thats not very important. Unfortunately, I don't see anything wrong here, so I'm not quite sure how to proceed. stage1 0014 <_get_target_char_size>: 14: 55 push %ebp 15: 89 e5 mov%esp,%ebp 17: b8 08 00 00 00 mov$0x8,%eax 1c: 5d pop%ebp 1d: c3 ret <_ttypes___elabs>: 0: 55 push %ebp 1: 89 e5 mov%esp,%ebp 3: 83 ec 08sub$0x8,%esp 6: e8 00 00 00 00 call b <_ttypes___elabs+0xb> 7: DISP32 _get_target_char_size b: a3 00 00 00 00 mov%eax,0x0 c: dir32.bss 10: a1 00 00 00 00 mov0x0,%eax 11: dir32 .bss 15: 89 04 24mov%eax,(%esp) 18: e8 00 00 00 00 call 1d <_ttypes___elabs+0x1d> stage2 0018 <_get_target_char_size>: 18: 55 push %ebp 19: 89 e5 mov%esp,%ebp 1b: b8 08 00 00 00 mov$0x8,%eax 20: c9 leave 21: c3 ret 22: 66 90 xchg %ax,%ax <_ttypes___elabs>: 0: 55 push %ebp 1: 89 e5 mov%esp,%ebp 3: 83 ec 08sub$0x8,%esp 6: e8 00 00 00 00 call b <_ttypes___elabs+0xb> 7: DISP32 _get_target_char_size b: a3 00 00 00 00 mov%eax,0x0 c: dir32.bss 10: 89 04 24mov%eax,(%esp) 13: e8 00 00 00 00 call 18 <_ttypes___elabs+0x18> -- aaronavay62 at aaronwl dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2008-05-13 13:50:21 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36207
[Bug middle-end/36227] [4.3/4.4 Regression] POINTER_PLUS folding introduces undefined overflow
--- Comment #3 from rguenth at gcc dot gnu dot org 2008-05-13 14:02 --- Subject: Bug 36227 Author: rguenth Date: Tue May 13 14:01:53 2008 New Revision: 135260 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135260 Log: 2008-05-13 Richard Guenther <[EMAIL PROTECTED]> PR middle-end/36227 * fold-const.c (fold_sign_changed_comparison): Do not allow changes in pointer-ness. * gcc.dg/pr36227.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/pr36227.c Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36227
[Bug middle-end/36227] [4.3/4.4 Regression] POINTER_PLUS folding introduces undefined overflow
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-05-13 14:05 --- Subject: Bug 36227 Author: rguenth Date: Tue May 13 14:04:40 2008 New Revision: 135261 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135261 Log: 2008-05-13 Richard Guenther <[EMAIL PROTECTED]> PR middle-end/36227 * fold-const.c (fold_sign_changed_comparison): Do not allow changes in pointer-ness. * gcc.dg/pr36227.c: New testcase. Added: branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/pr36227.c - copied unchanged from r135260, trunk/gcc/testsuite/gcc.dg/pr36227.c Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/fold-const.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36227
[Bug middle-end/36227] [4.3/4.4 Regression] POINTER_PLUS folding introduces undefined overflow
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.3.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36227
[Bug target/36222] x86 fails to optimize out __v4si -> __m128i move
--- Comment #4 from hjl dot tools at gmail dot com 2008-05-13 14:09 --- It looks like reload doesn't check any vector instructions. I guess there may be many missed optimizations with vector instructions. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36222
[Bug middle-end/36227] [4.3/4.4 Regression] POINTER_PLUS folding introduces undefined overflow
--- Comment #5 from rguenth at gcc dot gnu dot org 2008-05-13 14:13 --- Only the theoretical problem remains. We still fold (unsigned long)ptr + (unsigned long)i to (unsigned long)(ptr + (unsigned long)i) where the inner POINTER_PLUS_EXPR now may invoke undefined behavior on overflow. No testcase is known where that results in a wrong-code bug. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|rguenth at gcc dot gnu dot |unassigned at gcc dot gnu |org |dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36227
[Bug target/36222] x86 fails to optimize out __v4si -> __m128i move
--- Comment #3 from hjl dot tools at gmail dot com 2008-05-13 13:58 --- This bug may be related to PR 30961. Another example: bash-3.2$ cat d.c #include __m128i foo2 (long long x1, long long x2) { return _mm_set_epi64x (x1, x2); } bash-3.2$ /export/build/gnu/gcc-stack/build-x86_64-linux/gcc/xgcc -B./ -B/export/build/gnu/gcc-stack/build-x86_64-linux/gcc/ -Wall -I.. -O2 -march=core2 -msse4 -fno-asynchronous-unwind-tables -DDEBUG -S d.c bash-3.2$ cat d.s .file "d.c" .text .p2align 4,,15 .globl foo2 .type foo2, @function foo2: movd%rsi, %xmm1 pinsrq $0x1, %rdi, %xmm1 movdqa %xmm1, %xmm0 ret .size foo2, .-foo2 d.c.176r.lreg has ;; Pred edge ENTRY [100.0%] (fallthru) (note:HI 5 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK) (insn:HI 2 5 3 2 d.c:5 (set (reg/v:DI 59 [ x1 ]) (reg:DI 5 di [ x1 ])) 89 {*movdi_1_rex64} (expr_list:REG_DEAD (reg:DI 5 di [ x1 ]) (nil))) (insn:HI 3 2 4 2 d.c:5 (set (reg/v:DI 60 [ x2 ]) (reg:DI 4 si [ x2 ])) 89 {*movdi_1_rex64} (expr_list:REG_DEAD (reg:DI 4 si [ x2 ]) (nil))) (note:HI 4 3 7 2 NOTE_INSN_FUNCTION_BEG) (note:HI 7 4 12 2 NOTE_INSN_DELETED) (insn:HI 12 7 18 2 d.c:7 (set (reg/i:V2DI 21 xmm0 [ ]) (vec_concat:V2DI (reg/v:DI 60 [ x2 ]) (reg/v:DI 59 [ x1 ]))) 1340 {*vec_concatv2di_rex64_sse4_1} (expr_lis t:REG_DEAD (reg/v:DI 60 [ x2 ]) (expr_list:REG_DEAD (reg/v:DI 59 [ x1 ]) (nil (insn:HI 18 12 0 2 d.c:7 (use (reg/i:V2DI 21 xmm0 [ ])) -1 (nil)) ;; End of basic block 2 -> ( 1) ;; lr out 6 [bp] 7 [sp] 16 [argp] 20 [frame] 21 [xmm0] ;; live out 6 [bp] 7 [sp] 16 [argp] 20 [frame] 21 [xmm0] But d.c.177r.greg has ;; Pred edge ENTRY [100.0%] (fallthru) (note:HI 5 1 4 2 [bb 2] NOTE_INSN_BASIC_BLOCK) (note:HI 4 5 7 2 NOTE_INSN_FUNCTION_BEG) (note:HI 7 4 24 2 NOTE_INSN_DELETED) (insn 24 7 12 2 d.c:7 (set (reg:DI 22 xmm1) (reg/v:DI 4 si [orig:60 x2 ] [60])) 89 {*movdi_1_rex64} (nil)) (insn:HI 12 24 25 2 d.c:7 (set (reg:V2DI 22 xmm1) (vec_concat:V2DI (reg:DI 22 xmm1) (reg/v:DI 5 di [orig:59 x1 ] [59]))) 1340 {*vec_concatv2di_rex64_sse 4_1} (nil)) (insn 25 12 18 2 d.c:7 (set (reg/i:V2DI 21 xmm0 [ ]) (reg:V2DI 22 xmm1)) 1019 {*movv2di_internal} (nil)) (insn 18 25 23 2 d.c:7 (use (reg/i:V2DI 21 xmm0 [ ])) -1 (nil)) ;; End of basic block 2 -> ( 1) ;; lr out 7 [sp] 21 [xmm0] ;; live out 7 [sp] 21 [xmm0] Ulrich, do you have any idea why reload won't use xmm0? Thanks. -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||uweigand at de dot ibm dot ||com BugsThisDependsOn||30961 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36222
[Bug preprocessor/22168] #if #A == #B should have a diagnostic in ISO C mode
--- Comment #17 from tromey at gcc dot gnu dot org 2008-05-13 14:51 --- Subject: Bug 22168 Author: tromey Date: Tue May 13 14:50:27 2008 New Revision: 135264 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135264 Log: libcpp PR preprocessor/22168: * include/cpplib.h (struct cpp_options) : Update documentation. * expr.c (eval_token): Warn for use of assertions. * directives.c (directive_diagnostics): Warn about extensions. (DEPRECATED): New define. (DIRECTIVE_TABLE): Use it. gcc PR preprocessor/22168: * doc/cpp.texi (Top): Update menu. (Alternatives to Wrapper #ifndef): New node. (Other Directives): Document deprecation. (Obsolete Features): Remove menu. (Assertions): Merge node into Obsolete Features. (Obsolete once-only headers): Move earlier; rename to Alternatives to Wrapper #ifndef. * doc/cppopts.texi: Update. * c.opt (Wdeprecated): Enable for C and ObjC. * doc/invoke.texi (Option Summary): Move -Wno-deprecated. (C++ Dialect Options): Move -Wno-deprecated from here to... (Warning Options): ... here. gcc/testsuite PR preprocessor/22168: * gcc.dg/pch/import-2.hs: Add -Wno-deprecated. * gcc.dg/pch/import-1.hs: Add -Wno-deprecated. * gcc.dg/pch/import-2.c: Add -Wno-deprecated. * gcc.dg/pch/import-1.c: Add -Wno-deprecated. * gcc.dg/cpp/import2.c: Add -Wno-deprecated. * gcc.dg/cpp/import1.c: Add -Wno-deprecated. * gcc.dg/cpp/trad/assert3.c: Add -Wno-deprecated. * gcc.dg/cpp/trad/assert2.c: Add -Wno-deprecated. * gcc.dg/cpp/trad/assert1.c: Add -Wno-deprecated. * gcc.dg/cpp/ident.c: Add -Wno-deprecated. * gcc.dg/cpp/ident-1.c: Add -Wno-deprecated. * gcc.dg/cpp/extratokens.c: Add -Wno-deprecated. * gcc.dg/cpp/assert3.c: Add -Wno-deprecated. * gcc.dg/cpp/assert2.c: Add -Wno-deprecated. * gcc.dg/cpp/assert1.c: Add -Wno-deprecated. * gcc.dg/cpp/assert4.c: Compile with -ansi and not -pedantic. Add -Wno-deprecated. * gcc.dg/cpp/pr22168.c: New file. * gcc.dg/cpp/pr22168-2.c: New file. Added: trunk/gcc/testsuite/gcc.dg/cpp/pr22168-2.c trunk/gcc/testsuite/gcc.dg/cpp/pr22168.c Modified: trunk/gcc/ChangeLog trunk/gcc/c.opt trunk/gcc/doc/cpp.texi trunk/gcc/doc/cppopts.texi trunk/gcc/doc/invoke.texi trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/cpp/assert1.c trunk/gcc/testsuite/gcc.dg/cpp/assert2.c trunk/gcc/testsuite/gcc.dg/cpp/assert3.c trunk/gcc/testsuite/gcc.dg/cpp/assert4.c trunk/gcc/testsuite/gcc.dg/cpp/extratokens.c trunk/gcc/testsuite/gcc.dg/cpp/ident-1.c trunk/gcc/testsuite/gcc.dg/cpp/ident.c trunk/gcc/testsuite/gcc.dg/cpp/import1.c trunk/gcc/testsuite/gcc.dg/cpp/import2.c trunk/gcc/testsuite/gcc.dg/cpp/trad/assert1.c trunk/gcc/testsuite/gcc.dg/cpp/trad/assert2.c trunk/gcc/testsuite/gcc.dg/cpp/trad/assert3.c trunk/gcc/testsuite/gcc.dg/pch/import-1.c trunk/gcc/testsuite/gcc.dg/pch/import-1.hs trunk/gcc/testsuite/gcc.dg/pch/import-2.c trunk/gcc/testsuite/gcc.dg/pch/import-2.hs trunk/libcpp/ChangeLog trunk/libcpp/directives.c trunk/libcpp/expr.c trunk/libcpp/include/cpplib.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22168
[Bug tree-optimization/36188] missed CCP
--- Comment #5 from rguenth at gcc dot gnu dot org 2008-05-13 15:01 --- Ok, that doesn't really work well. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36188
[Bug preprocessor/22168] #if #A == #B should have a diagnostic in ISO C mode
--- Comment #18 from tromey at gcc dot gnu dot org 2008-05-13 15:20 --- Fixed on trunk. I think we're unlikely to backport this, so I'm closing it. -- tromey at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22168
[Bug tree-optimization/36188] missed CCP
--- Comment #3 from rguenth at gcc dot gnu dot org 2008-05-13 14:43 --- So the problem is that we are not optimistically treating static variables. If we fix that then the testcase is optimized to return 1344 with store_ccp. The question is how many bugs we hit with that and how restrictive we need to be ;) -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2008-05-13 14:43:14 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36188
[Bug tree-optimization/36188] missed CCP
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-05-13 14:44 --- Created an attachment (id=15635) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15635&action=view) very optimistic patch Which also handles int f(int lay) { static int syncsize, init; if (init == 1) syncsize = 1344, init = 1; return syncsize; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36188
[Bug middle-end/36099] [4.4 Regression] early loop unrolling pass prevents vectorization, SLP doesn't do its job
--- Comment #5 from dominiq at lps dot ens dot fr 2008-05-13 15:27 --- I just noticed today that the vectorization of the variant induct.v2.f90 depends on the -m64 flag: [ibook-dhum] source/dir_indu% gfc -m64 -O3 -ffast-math -funroll-loops -ftree-vectorizer-verbose=2 indu.v2.f90 ... indu.v2.f90:2322: note: not vectorized: unsupported use in stmt. indu.v2.f90:2245: note: not vectorized: unsupported unaligned store. indu.v2.f90:2244: note: vectorizing stmts using SLP. indu.v2.f90:2244: note: LOOP VECTORIZED. indu.v2.f90:2146: note: not vectorized: unsupported use in stmt. indu.v2.f90:2069: note: not vectorized: unsupported unaligned store. indu.v2.f90:2068: note: vectorizing stmts using SLP. indu.v2.f90:2068: note: LOOP VECTORIZED. indu.v2.f90:1976: note: not vectorized: complicated access pattern. indu.v2.f90:1875: note: vectorized 2 loops in function. indu.v2.f90:1816: note: not vectorized: unsupported use in stmt. indu.v2.f90:1771: note: not vectorized: unsupported unaligned store. indu.v2.f90:1770: note: vectorizing stmts using SLP. indu.v2.f90:1770: note: LOOP VECTORIZED. indu.v2.f90:1682: note: not vectorized: unsupported use in stmt. indu.v2.f90:1633: note: not vectorized: unsupported unaligned store. indu.v2.f90:1632: note: vectorizing stmts using SLP. indu.v2.f90:1632: note: LOOP VECTORIZED. indu.v2.f90:1543: note: not vectorized: complicated access pattern. indu.v2.f90:1441: note: vectorized 2 loops in function. ... [ibook-dhum] source/dir_indu% gfc -O3 -ffast-math -funroll-loops -ftree-vectorizer-verbose=2 indu.v2.f90 ... indu.v2.f90:2334: note: LOOP VECTORIZED. indu.v2.f90:2245: note: not vectorized: unsupported unaligned store. indu.v2.f90:2244: note: vectorizing stmts using SLP. indu.v2.f90:2244: note: LOOP VECTORIZED. indu.v2.f90:2158: note: LOOP VECTORIZED. indu.v2.f90:2069: note: not vectorized: unsupported unaligned store. indu.v2.f90:2068: note: vectorizing stmts using SLP. indu.v2.f90:2068: note: LOOP VECTORIZED. indu.v2.f90:1976: note: not vectorized: complicated access pattern. indu.v2.f90:1875: note: vectorized 4 loops in function. indu.v2.f90:1825: note: LOOP VECTORIZED. indu.v2.f90:1771: note: not vectorized: unsupported unaligned store. indu.v2.f90:1770: note: vectorizing stmts using SLP. indu.v2.f90:1770: note: LOOP VECTORIZED. indu.v2.f90:1691: note: LOOP VECTORIZED. indu.v2.f90:1633: note: not vectorized: unsupported unaligned store. indu.v2.f90:1632: note: vectorizing stmts using SLP. indu.v2.f90:1632: note: LOOP VECTORIZED. indu.v2.f90:1543: note: not vectorized: complicated access pattern. indu.v2.f90:1441: note: vectorized 4 loops in function. ... Where the nested loop vectorized without -m64 at 1691 is: ... do j = 1, 9 c_vector(3) = 0.5_longreal * h_coil * z1gauss(j) ! ! rotate coil vector into the global coordinate system and translate it ! rot_c_vector(1) = rot_i_vector(1) + rotate_coil(1,3) * c_vector(3) rot_c_vector(2) = rot_i_vector(2) + rotate_coil(2,3) * c_vector(3) rot_c_vector(3) = rot_i_vector(3) + rotate_coil(3,3) * c_vector(3) ! do k = 1, 9! < line 1691 ! ! rotate quad vector into the global coordinate system ! rot_q_vector(1) = rot_q1_vector(k,1) - rot_c_vector(1) rot_q_vector(2) = rot_q1_vector(k,2) - rot_c_vector(2) rot_q_vector(3) = rot_q1_vector(k,3) - rot_c_vector(3) ! ! compute and add in quadrature term ! numerator = dotp * w1gauss(j) * w2gauss(k) dotp2=rot_q_vector(1)*rot_q_vector(1)+rot_q_vector(2)*rot_q_vector(2)+& rot_q_vector(3)*rot_q_vector(3) denominator = sqrt(dotp2) l12_lower = l12_lower + numerator/denominator end do end do ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36099
[Bug middle-end/36194] [4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations
--- Comment #2 from nemet at gcc dot gnu dot org 2008-05-13 16:38 --- The change causing this was not present in 4.1. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Summary|[4.1/4.2/4.3/4.4 Regression]|[4.2/4.3/4.4 Regression] |Truncation optimization in |Truncation optimization in |combine can remove necessary|combine can remove necessary |truncations |truncations Target Milestone|4.1.3 |4.2.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194
[Bug fortran/28378] Intrinsic extensions should be deselectable via command line
--- Comment #3 from jkrahn at nc dot rr dot com 2008-05-13 17:05 --- This is an important to fix. I just ran into problems from this. Gfortran is supposed to aim for standards conformance, but vendor extensions are not supposed to break valid code. I think this behavior is a Standards violation, and really should be a BUG and not just an enhancement. This is mainly a problem with intrinsic subroutines, because non-intrinsic functions require an EXTERNAL declaration, and automatically override intrinsic functions. This is also the main reason the INTRINSIC declaration exists. Without it, Gfortran should assume that it is an external subroutine, not an intrinsic. Some F77 compilers make the selection automatic by letting the linker find the user's subroutine first, and then link to one in a Fortran extension library if not found. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28378
[Bug testsuite/35127] Ineffective dg-options in gcc.c-torture/compile
--- Comment #2 from janis at gcc dot gnu dot org 2008-05-13 18:07 --- Subject: Bug 35127 Author: janis Date: Tue May 13 18:06:33 2008 New Revision: 135269 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135269 Log: PR testsuite/35127 * gcc.c-torture/compile/20031125-1.c: Remove dg-do, dg-options. * gcc.c-torture/compile/20031125-2.c: Ditto. * gcc.c-torture/compile/20031203-1.c: Ditto. * gcc.c-torture/compile/acc1.c: Remove -O2 from dg-options. * gcc.c-torture/compile/builtin_constant_p.c: Remove dg-options. * gcc.c-torture/compile/pr21562.c: Remove -O3 from dg-options. * gcc.c-torture/compile/pr25483.c: Remove -O from dg-options. * gcc.c-torture/compile/pr32349.c: Remove -O2 from dg-options. * gcc.c-torture/compile/pr32355.c: Remove dg-options. * gcc.c-torture/compile/pr34448.c: Ditto. * gcc.c-torture/compile/pr34648.c: Remove -O2 from dg-options. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.c-torture/compile/20031125-1.c trunk/gcc/testsuite/gcc.c-torture/compile/20031125-2.c trunk/gcc/testsuite/gcc.c-torture/compile/20031203-1.c trunk/gcc/testsuite/gcc.c-torture/compile/acc1.c trunk/gcc/testsuite/gcc.c-torture/compile/builtin_constant_p.c trunk/gcc/testsuite/gcc.c-torture/compile/pr21562.c trunk/gcc/testsuite/gcc.c-torture/compile/pr25483.c trunk/gcc/testsuite/gcc.c-torture/compile/pr32349.c trunk/gcc/testsuite/gcc.c-torture/compile/pr32355.c trunk/gcc/testsuite/gcc.c-torture/compile/pr34448.c trunk/gcc/testsuite/gcc.c-torture/compile/pr34648.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35127
[Bug fortran/28378] Intrinsic extensions should be deselectable via command line
--- Comment #4 from kargl at gcc dot gnu dot org 2008-05-13 18:11 --- (In reply to comment #3) > This is an important to fix. I just ran into problems from this. Gfortran is > supposed to aim for standards conformance, but vendor extensions are not > supposed to break valid code. I think this behavior is a Standards violation, > and really should be a BUG and not just an enhancement. You conveniently forgot to include your standing conforming code. Also, note the standard does not prohibit a vendor for add intrinsic subprograms to its runtime library that are not explicitly listed in the standard. > This is mainly a problem with intrinsic subroutines, because non-intrinsic > functions require an EXTERNAL declaration, and automatically override > intrinsic > functions. This is also the main reason the INTRINSIC declaration exists. > Without it, Gfortran should assume that it is an external subroutine, not an > intrinsic. Some F77 compilers make the selection automatic by letting the > linker find the user's subroutine first, and then link to one in a Fortran > extension library if not found. > There is an option. troutmask:kargl[208] gfc -o z a.f90 troutmask:kargl[209] ./z 0 troutmask:kargl[210] gfc -o z -std=f95 a.f90 troutmask:kargl[211] ./z 42 troutmask:kargl[212] cat a.f90 program a integer i i = iargc() print *, i end program a function iargc() integer iargc iargc = 42 end function iargc And for the record, troutmask:kargl[213] gfc -o z -std=f95 -fall-intrinsics a.f90 troutmask:kargl[214] ./z 0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28378
[Bug libfortran/25561] Eventually get rid of the Alloc Stream Facility
--- Comment #6 from jb at gcc dot gnu dot org 2008-05-13 19:07 --- Patch for part 1 here: http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00769.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25561
[Bug libstdc++/36231] New: ostream includes unistd.h outside namespace std, polluting
Include chain is ostream -> ios -> iosfwd -> bits/c++io.h -> bits/gthr.h -> bits/gthr-default.h -> unistd.h. The same chain also includes pthread.h. These are imported at file scope, not in namespace std, which pollutes the application name space. I tried to report this to libstdc++ project, but their reporting instructions seem to lead here although strictly there's no problem with the compiler itself. -- Summary: ostream includes unistd.h outside namespace std, polluting Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: igodard at pacbell dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36231
[Bug c/36232] New: Optimizer removes condition check to terminate loop
This section of code is used in a bootloader to test DRAM. It loops over the DRAM performing various operations of reads and writes. When optimization (O2 or Os) is switched on the second loop in this example no longer terminates, but continues indefinitely because the loop condition has been removed from the optimized code -- Summary: Optimizer removes condition check to terminate loop Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: nick dot spence at freescale dot com GCC build triplet: gcc version 4.1.2 20070626 (Red Hat 4.1.2-13) GCC host triplet: i386-redhat-linux GCC target triplet: i386-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232
[Bug c/36232] Optimizer removes condition check to terminate loop
--- Comment #1 from nick dot spence at freescale dot com 2008-05-13 19:51 --- Created an attachment (id=15636) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15636&action=view) Example code source file Compile with 'gcc -Os test.c' or 'gcc -O2 test.c' and examine assembly output. Note this code cannot be run in user space becuase it will generate a segmentation fault. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232
[Bug c/36232] Optimizer removes condition check to terminate loop
--- Comment #2 from nick dot spence at freescale dot com 2008-05-13 19:52 --- Created an attachment (id=15637) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15637&action=view) Compiler intermediate file -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232
[Bug preprocessor/28079] #line range not verified without -pedantic
--- Comment #5 from tromey at gcc dot gnu dot org 2008-05-13 19:52 --- I don't see why this should be marked "wait". Changing back to "new". -- tromey at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2008-05-13 19:52:30 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28079
[Bug c/36232] Optimizer removes condition check to terminate loop
--- Comment #3 from nick dot spence at freescale dot com 2008-05-13 19:56 --- The code has two loops, which compile correctly when no optimization, or -O1 are used, but the second loop becomes infinite if -Os or -O2 is used. .file "test.c" .section.rodata.str1.1,"aMS",@progbits,1 .LC0: .string "\n reads %d, 0x%08X" .text .globl main .type main, @function main: leal4(%esp), %ecx andl$-16, %esp pushl -4(%ecx) pushl %ebp movl%esp, %ebp pushl %esi pushl %ebx xorl%ebx, %ebx pushl %ecx subl$12, %esp .L2: movl$0, (%ebx) addl$4, %ebx cmpl$64, %ebx jne .L2 /* branch condition for first loop */ xorl%esi, %esi .L4: pushl %eax pushl %ebx subl$4, %ebx pushl %esi incl%esi pushl $.LC0 callprintf movl(%ebx), %eax addl$16, %esp jmp .L4/* branch condition for second loop was lost */ .size main, .-main .ident "GCC: (GNU) 4.1.2 20070626 (Red Hat 4.1.2-13)" .section.note.GNU-stack,"",@progbits -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232
[Bug c/36232] Optimizer removes condition check to terminate loop
--- Comment #4 from pinskia at gcc dot gnu dot org 2008-05-13 20:02 --- a pointer cannot go from a valid pointer to a NULL pointer. See PR 36124. *** This bug has been marked as a duplicate of 36124 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232
[Bug middle-end/36124] conditional loop becomes infinite loop in -O2 (gcc 4.2 -> 4.3 regression)
--- Comment #10 from pinskia at gcc dot gnu dot org 2008-05-13 20:02 --- *** Bug 36232 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||nick dot spence at freescale ||dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36124
[Bug c/36232] Optimizer removes condition check to terminate loop
--- Comment #5 from pinskia at gcc dot gnu dot org 2008-05-13 20:02 --- >This section of code is used in a bootloader to test DRAM. You cannot use C for that code because of how C defines pointers. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232
[Bug libstdc++/36231] ostream includes unistd.h outside namespace std, polluting
--- Comment #1 from pinskia at gcc dot gnu dot org 2008-05-13 20:03 --- Try 4.3.0 which includes fixes like this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36231
[Bug fortran/35997] [4.3/4.4 regression] Used function interface bug
--- Comment #5 from pault at gcc dot gnu dot org 2008-05-13 20:27 --- Subject: Bug 35997 Author: pault Date: Tue May 13 20:26:47 2008 New Revision: 135273 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135273 Log: 2008-05-13 Paul Thomas <[EMAIL PROTECTED]> PR fortran/35997 * module.c (find_symbol): Do not return a result for a symbol that has been renamed in another module. 2008-05-13 Paul Thomas <[EMAIL PROTECTED]> PR fortran/35997 * gfortran.dg/use_rename_3.f90 Added: branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/used_rename_3.f90 Modified: branches/gcc-4_3-branch/gcc/fortran/ChangeLog branches/gcc-4_3-branch/gcc/fortran/module.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35997
[Bug fortran/35997] [4.3/4.4 regression] Used function interface bug
--- Comment #6 from pault at gcc dot gnu dot org 2008-05-13 20:28 --- Fixed on trunk and 4.3 Thanks for the report. Paul -- pault at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35997
[Bug fortran/36233] New: [Regression 4.4,4.3] Array valued actual procedure argument rejected
module mod contains function foo (arg) integer foo (10) integer arg foo = arg end function end module use mod call bar (foo) contains subroutine bar (arg) interface function arg (x) integer arg (10) integer x end function end interface print *, arg (10) end subroutine end produces test.f90:11.12: call bar (foo) 1 Warning: Actual argument contains too few elements for dummy argument 'arg' (1/10) at (1) -- Summary: [Regression 4.4,4.3] Array valued actual procedure argument rejected Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pault at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36233
[Bug c/36232] Optimizer removes condition check to terminate loop
--- Comment #6 from nick dot spence at freescale dot com 2008-05-13 20:41 --- 1) Since most bootloaders are written in C your view is very interesting but probably not shared by everyone else working with embedded software. 2) If the compiler now treats this as an undefined condition it should report a warning instead of silently creating invalid code. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232
[Bug middle-end/36124] conditional loop becomes infinite loop in -O2 (gcc 4.2 -> 4.3 regression)
--- Comment #11 from scottwood at freescale dot com 2008-05-13 21:13 --- (In reply to comment #4) > If your code invokes undefined behavior, how is gcc going > to read your mind? If GCC can tell that it is undefined behavior, then warning the user is more useful than silently producing nasal demons, regardless of what might be in the user's mind. "The spec allows us to do something stupid" doesn't mean "we should do something stupid". > Maybe the programmer meant to enter > an infinite, so a warning isn't correct. If it's undefined behavior, then too bad, right? I have a really hard time seeing how one would derive such intent from the above code, though -- or imagining what GCC is doing that made it think that generating the code it does is a good idea. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36124
[Bug testsuite/36196] gcc.dg/pr22231.c doesn't work
--- Comment #1 from janis at gcc dot gnu dot org 2008-05-13 21:29 --- This was fixed by r135136; HJ's test results for that revision don't show the failure. -- janis at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36196
[Bug testsuite/36155] UTF tests doesn't work on Linux
--- Comment #4 from janis at gcc dot gnu dot org 2008-05-13 21:34 --- Fixed. -- janis at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36155
[Bug target/36222] x86 fails to optimize out __v4si -> __m128i move
--- Comment #5 from uros at gcc dot gnu dot org 2008-05-13 21:34 --- Subject: Bug 36222 Author: uros Date: Tue May 13 21:33:40 2008 New Revision: 135275 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135275 Log: PR target/36222 * config/i386/i386.c (ix86_expand_vector_init_general): Rearrange op0 and op1 expansion before vector concat to have less live pseudos. testsuite/ChangeLog: PR target/36222 * gcc.target/i386/pr36222-1.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr36222-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36222
[Bug fortran/36233] [Regression 4.4,4.3] Array valued actual procedure argument rejected
--- Comment #1 from pault at gcc dot gnu dot org 2008-05-13 21:34 --- (In reply to comment #0) This fixs it and regtests OK Index: gcc/fortran/interface.c === *** gcc/fortran/interface.c (revision 134835) --- gcc/fortran/interface.c (working copy) *** compare_actual_formal (gfc_actual_arglis *** 1942,1948 actual_size = get_expr_storage_size (a->expr); formal_size = get_sym_storage_size (f->sym); ! if (actual_size != 0 && actual_size < formal_size) { if (a->expr->ts.type == BT_CHARACTER && !f->sym->as && where) gfc_warning ("Character length of actual argument shorter " --- 1942,1950 actual_size = get_expr_storage_size (a->expr); formal_size = get_sym_storage_size (f->sym); ! if (actual_size != 0 ! && actual_size < formal_size ! && a->expr->ts.type != BT_PROCEDURE) { if (a->expr->ts.type == BT_CHARACTER && !f->sym->as && where) gfc_warning ("Character length of actual argument shorter " -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36233
[Bug testsuite/36087] [4.4 Regression] test failures between revs. 134696 and 134717
--- Comment #2 from janis at gcc dot gnu dot org 2008-05-13 22:00 --- Those tests have been failing for quite awhile and are reported through http://gcc.gnu.org/ml/gcc-testresults/2008-04/msg01958.html. Starting in http://gcc.gnu.org/ml/gcc-testresults/2008-04/msg01978.html we see: ERROR: tcl error sourcing /Users/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/dg.exp. ERROR: unmatched open brace in list When that tcl error was fixed, the tests apparently started running again and the failures were reported again. It's a problem that the tests fail, but we should close this entry because the failures are unrelated. The gcc.dg/memcpy-1.c failure is reported in 31677. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36087
[Bug testsuite/35981] FAIL: gcc.dg/utf-cvt.c (test for warnings, line 46/47) with -m64
--- Comment #6 from janis at gcc dot gnu dot org 2008-05-13 22:01 --- Fixed. -- janis at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35981
[Bug testsuite/35127] Ineffective dg-options in gcc.c-torture/compile
--- Comment #3 from janis at gcc dot gnu dot org 2008-05-13 22:03 --- Fixed. -- janis at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35127
[Bug testsuite/36087] [4.4 Regression] test failures between revs. 134696 and 134717
--- Comment #3 from pinskia at gcc dot gnu dot org 2008-05-13 22:08 --- >ERROR: gcc.dg/var-expand3.c: error executing dg-final: no files matched glob I reported this to the developer before: http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01229.html -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36087
[Bug testsuite/36087] [4.4 Regression] test failures between revs. 134696 and 134717
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36087
[Bug testsuite/34880] gcc.c-torture/execute/float-floor.c fails for targets with no 64-bit double type
--- Comment #4 from janis at gcc dot gnu dot org 2008-05-13 22:10 --- Paulo, please send the patch from comment #2 to [EMAIL PROTECTED] with an appropriate ChangeLog entry. Let me know if you need help with that. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34880
[Bug testsuite/25352] xfail within dg-do command has no effect
--- Comment #11 from janis at gcc dot gnu dot org 2008-05-13 22:19 --- Fixed, via documentation and workarounds. -- janis at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25352
[Bug target/24713] objc/execute/exceptions/foward-1.m fails on sh-elf with -O3
--- Comment #2 from kkojima at gcc dot gnu dot org 2008-05-13 22:43 --- Fixed. -- kkojima at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24713
[Bug testsuite/20771] Duplicate PCH test names
--- Comment #2 from janis at gcc dot gnu dot org 2008-05-13 23:59 --- This is still a problem. The PASS or FAIL messages come from a few levels deeper within the testsuite infrastructure, so dg-pch.exp can't just add something meaningful. It can, however, change '$flags "-I."' to '"$flags -I." ""' so that output is now: PASS: gcc.dg/pch/common-1.c -O0 -g -I. (test for excess errors) PASS: gcc.dg/pch/common-1.c -O0 -g (test for excess errors) That makes all of the messages unique. Would that be acceptable? -- janis at gcc dot gnu dot org changed: What|Removed |Added CC||janis at gcc dot gnu dot org Last reconfirmed|2006-01-09 12:55:21 |2008-05-13 23:59:52 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20771
[Bug fortran/36233] [Regression 4.4,4.3] Array valued actual procedure argument rejected
--- Comment #2 from jvdelisle at gcc dot gnu dot org 2008-05-14 00:04 --- OK to commit as simple. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36233
[Bug testsuite/25177] [4.1 Regression] gcc.target/powerpc/pr18096-1.c fails on PPC
--- Comment #9 from janis at gcc dot gnu dot org 2008-05-14 00:12 --- This has been fixed on active branches, OK to close it? -- janis at gcc dot gnu dot org changed: What|Removed |Added CC||janis at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25177
[Bug testsuite/26813] Testsuite does not check for ICEs
--- Comment #5 from janis at gcc dot gnu dot org 2008-05-14 00:17 --- Are there any objections to calling this fixed, based on the committed patch referenced in comment #2? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26813
[Bug testsuite/26981] g++.old-deja/g++.other/init18.C fails
--- Comment #2 from janis at gcc dot gnu dot org 2008-05-14 00:21 --- Fixed by sje in r114327 (fix below is for an unrelated PR). -- janis at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26981
[Bug testsuite/26982] g++.old-deja/g++.other/init19.C execution test fails
--- Comment #2 from janis at gcc dot gnu dot org 2008-05-14 00:23 --- Fixed by test changes from sje in r114327. -- janis at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26982
[Bug testsuite/20771] Duplicate PCH test names
--- Comment #3 from joseph at codesourcery dot com 2008-05-14 00:28 --- Subject: Re: Duplicate PCH test names On Tue, 13 May 2008, janis at gcc dot gnu dot org wrote: > The PASS or FAIL messages come from a few levels deeper within the testsuite > infrastructure, so dg-pch.exp can't just add something meaningful. It can, > however, change '$flags "-I."' to '"$flags -I." ""' so that output is now: > > PASS: gcc.dg/pch/common-1.c -O0 -g -I. (test for excess errors) > PASS: gcc.dg/pch/common-1.c -O0 -g (test for excess errors) > > That makes all of the messages unique. Would that be acceptable? That's sufficient for automatic test results comparison, which is what I care about uniqueness for. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20771
[Bug tree-optimization/36228] redundant runtime check while vectorizing
--- Comment #2 from spop at gcc dot gnu dot org 2008-05-14 03:59 --- Subject: Re: redundant runtime check while vectorizing How costly would it be if we do as a first data dependence test a call to operand_equal_p on the array references? That certainly would avoid lot of computations downstream in the data dependence test, but would be applied as an initial test to all dependence relations. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36228
[Bug fortran/36233] [Regression 4.4,4.3] Array valued actual procedure argument rejected
--- Comment #3 from pault at gcc dot gnu dot org 2008-05-14 05:15 --- (In reply to comment #2) > OK to commit as simple. > Jerry, In the clear light of day, I think that I need to separate the character and the array checks. I'll check the standard and try other compilers - once I 'm happy, I'll commit. Thanks Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36233