[Bug middle-end/32441] [4.3 Regression] ICE in expand_expr_real_1, at expr.c:7109
--- Comment #8 from zackw at panix dot com 2007-07-06 17:58 --- Subject: Bug 32441 Author: zack Date: Fri Jul 6 17:57:58 2007 New Revision: 126424 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126424 Log: 2007-07-06 Ian Lance Taylor <[EMAIL PROTECTED]> Zack Weinberg <[EMAIL PROTECTED]> PR middle-end/32441 * builtins.c (std_expand_builtin_va_start): Don't use make_tree. Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32441
[Bug middle-end/18897] [4.0 Regression] /usr/ccs/bin/ld: Unsatisfied symbols: putchar (first referenced in build/gengenrtl.o) (data)
--- Additional Comments From zack at gcc dot gnu dot org 2004-12-18 06:42 --- Fixed. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18897
[Bug preprocessor/9449] UCNs not recognized in identifiers (c++/c99)
--- Additional Comments From zack at gcc dot gnu dot org 2005-01-07 07:10 --- Joseph - I never properly answered your question in comment #7, although arguably the answer is already in comment #4. I should mention I take as a basic premise that without exception, a sequence of UCNs and a sequence of extended-source-character-set characters (which both encode the same sequence of ISO10646 code points) should be treated identically. Therefore, I'm going to talk exclusively about code points below. The scenario that causes ABI breakage is as follows: 1) A shared library author gives an exported interface function a name containing, for instance, U+212B ANGSTROM SIGN. 2) This is compiled with a compiler that, hewing to the letter of the standard, does not perform any normalization. The shared library's symbol table therefore also contains U+212B. That code point is now part of the library ABI. 3) A program that uses this library is compiled with the same compiler; it expects a symbol containing U+212B. 4) Later, someone recompiles the library with a compiler that applies NFC to all identifiers. The library now exports a symbol containing U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE. The program compiled in step 3 breaks. An obvious rebuttal to this is that the compiler used in step 4 is broken. As you say, the C standard references ISO10646 not Unicode and the concept of normalization does not exist in ISO10646, and this could be taken to imply that no normalization shall occur. However, there is no unambiguous statement to that effect in the standard, and there is strong quality-of-implementation pressure in the opposite direction. Put aside the standard for a moment: are users going to like a compiler that insists that "Å" (U+00C5) and "Å" (U+212B) are not the same character? [It happens that on my screen those are ever so slightly different, but that's just luck - and X11 will only let me type U+00C5; I resorted to hex-editing to get the other.] Furthermore, I can easily imagine someone writing a Unicode-aware text editor and thinking it's a good idea to convert every file to NFC when saved. Making some unrelated change to the file defining the symbol with U+212B in it, with this editor, would trigger the exact same ABI break that the hypothetical normalizing compiler would. This possibility means that a WG14/21 no-normalization mandate would NOT prevent silent ABI breakage. And the existence of this possibility increases the QoI pressure for a compiler to do normalization, as a defensive measure against such external changes. You could argue that this is just another way for C programmers to shoot themselves in the foot, but I don't think the myriad ways that already exist are a reason to add more. For these reasons I see no safe way to implement extended identifiers except to persuade both WG14 and WG21 to mandate use of UAX#15 annex 7, instead of the existing lists of allowed characters. I'm willing to consider other normalization schemas and sets of allowed characters (as long as C and C++ are consistent with each other) but not plans which don't include normalization. To address the concern about requiring huge tables, perhaps the standards could say that it is implementation-defined whether extended characters are allowed at all. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9449
[Bug c++/19583] New: Incorrect diagnostic: control may reach end of non-void function '...' being inlined
$ /scratch/zack/i/gcc-vanilla/bin/g++ -v Using built-in specs. Configured with: /home/zack/src/gcc/HEAD/vanilla/configure --prefix=/scratch/zack/i/gcc-vanilla --disable-checking --enable-languages=c,c++ --disable-multilib Thread model: posix gcc version 4.0.0 20050122 (experimental) $ /scratch/zack/i/gcc-vanilla/bin/g++ -S -O2 -W -Wall testcase.cc testcase.cc: In function void finalize(): testcase.cc:29: warning: control may reach end of non-void function bool N::operator!=(N) const being inlined I will attach the testcase. -- Summary: Incorrect diagnostic: control may reach end of non-void function '...' being inlined Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: diagnostic Severity: minor Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zack at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19583
[Bug c++/19583] Incorrect diagnostic: control may reach end of non-void function '...' being inlined
--- Additional Comments From zack at gcc dot gnu dot org 2005-01-23 05:08 --- Created an attachment (id=8039) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8039&action=view) test case -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19583
[Bug c++/19583] Incorrect diagnostic: control may reach end of non-void function '...' being inlined
--- Additional Comments From zack at gcc dot gnu dot org 2005-01-23 05:11 --- Created an attachment (id=8040) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8040&action=view) shorter test case -- What|Removed |Added Attachment #8039 is|0 |1 obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19583
[Bug rtl-optimization/17958] New: expand_divmod fails to optimize division of 64-bit quantity by small constant when BITS_PER_WORD is 32
expand_divmod cannot optimize code such as long long div10(long long n) { return n / 10; } when BITS_PER_WORD is 32. A call to __divdi3 gets generated. By contrast, when BITS_PER_WORD is 64, this is optimized to a multiply and a shift. I noticed this problem on powerpc32, but it ought to affect any 32-bit target. -- Summary: expand_divmod fails to optimize division of 64-bit quantity by small constant when BITS_PER_WORD is 32 Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P2 Component: rtl-optimization AssignedTo: roger at eyesopen dot com ReportedBy: zack at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: powerpc-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17958
[Bug c++/18075] [4.0 Regression] #pragma implementation broken in presence of #pragma ident
--- Additional Comments From zack at gcc dot gnu dot org 2004-10-27 17:18 --- (From update of attachment 7415) fix mime type, mark as patch -- What|Removed |Added Attachment #7415|text/x-patch|text/plain mime type|| Attachment #7415 is|0 |1 patch|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18075
[Bug c++/18075] [4.0 Regression] #pragma implementation broken in presence of #pragma ident
--- Additional Comments From zack at gcc dot gnu dot org 2004-10-27 17:31 --- fixed. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18075
[Bug java/17265] [4.0 Regression] Libjava doesn't build
-- Bug 17265 depends on bug 18075, which changed state. Bug 18075 Summary: [4.0 Regression] #pragma implementation broken in presence of #pragma ident http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18075 What|Old Value |New Value Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17265
[Bug debug/18199] [4.0 Regression] AIX XCOFF debugging broken
--- Additional Comments From zack at gcc dot gnu dot org 2004-10-28 21:01 --- Fixed. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18199
[Bug target/6123] __pic__/__PIC__ not defined when -fpic/-fPIC is specified
-- What|Removed |Added BugsThisDependsOn||18382 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6123
[Bug c/18382] New: define __pic__ and/or __PIC__ in c-cppbuiltins.c instead of scattershot in target config
The __pic__ and __PIC__ macros are currently defined scattershot in target configuration files, some using specs %{pic:-D...} notation and some using builtin_define() from TARGET_*_CPP_BUILTINS. It would be better to define them in a consistent fashion (__pic__ only if -fpic, both if -fPIC) in c-cppbuiltin.c. See bug 6123 for examples of what this would help. I'm tasking myself with this, but I'm not going to do it until 4.1. -- Summary: define __pic__ and/or __PIC__ in c-cppbuiltins.c instead of scattershot in target config Product: gcc Version: unknown Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: c AssignedTo: zack at gcc dot gnu dot org ReportedBy: zack at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: *-*-* OtherBugsDependingO 6123 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18382
[Bug c/18382] define __pic__ and/or __PIC__ in c-cppbuiltins.c instead of scattershot in target config
--- Additional Comments From zack at gcc dot gnu dot org 2004-11-08 20:36 --- accept, set milestone. Just to be clear, I'm not doing this until 4.1 because global changes to target configury would be too destabilizing right now. We can live with scattershot for one more release. -- What|Removed |Added Status|UNCONFIRMED |ASSIGNED Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2004-11-08 20:36:12 date|| Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18382
[Bug target/6123] __pic__/__PIC__ not defined when -fpic/-fPIC is specified
--- Additional Comments From zack at gcc dot gnu dot org 2004-11-08 20:37 --- I've filed bug 18382 for the general solution to this problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6123
[Bug c/14411] Request for setjmp/longjmp attributes
--- Additional Comments From zack at gcc dot gnu dot org 2004-11-30 07:47 --- +kw, milestone; assigning to myself for commitment once 4.1 opens. -- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |zack at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Keywords||patch Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14411
[Bug bootstrap/18804] [4.0 Regression] lib2funcs.vis:1: Error: unknown pseudo-op: `.hidden'
--- Additional Comments From zack at gcc dot gnu dot org 2004-12-04 03:38 --- The question is then why -fvisibility=hidden -Werror does not cause the compiler to exit unsuccessfully. libgcc.mk uses that incantation to determine whether .hidden is supported. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18804
[Bug middle-end/17982] stop calling assemble_external before final assembly output time
--- Additional Comments From zack at gcc dot gnu dot org 2004-12-08 22:04 --- Uh, no, it's not fixed. It is, however, papered over adequately for 4.0. I'm turning this into a 4.1 enhancement PR. http://gcc.gnu.org/ml/gcc-patches/2004-12/msg00491.html explains what needs to happen for 4.1. -- What|Removed |Added OtherBugsDependingO|18632 | nThis|| Severity|critical|enhancement Status|RESOLVED|REOPENED Keywords|patch, wrong-code | Resolution|FIXED | Summary|[4.0 regression] asm|stop calling |declaration ignored due to |assemble_external before |conflict with previous |final assembly output time |rename | Target Milestone|4.0.0 |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982
[Bug middle-end/17982] stop calling assemble_external before final assembly output time
--- Additional Comments From zack at gcc dot gnu dot org 2004-12-08 22:05 --- ... and assigning to self. -- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |zack at gcc dot gnu dot org |dot org | Status|REOPENED|ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982