[Bug target/54404] [4.8 Regression] *cfstring* failures for (obj-c|g)++ on *-apple-darwin* after revision 186789
howarth at nitro dot med.uc.edu
gcc-bugzilla@gcc.gnu.org
Sat Oct 13 19:27:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54404
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.8.0
Jack Howarth <howarth at nitro dot med.uc.edu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |howarth at nitro dot
| |med.uc.edu
--- Comment #1 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-10-13 19:27:40 UTC ---
Below is a trace through current gcc trunk for the failure of...
FAIL: g++.dg/other/darwin-cfstring1.C -std=gnu++98 (test for errors, line 21)
at -m32 with darwin.c built at -O0 for debugging purposes.
# gdb
/sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/gcc/testsuite/g++/../../cc1plus
...
(gdb) break darwin.c:3310
...
(gdb) r -quiet -nostdinc++ -v -I
/sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/x86_64-apple-darwin12.2.0/i386/libstdc++-v3/include/x86_64-apple-darwin12.2.0
-I
/sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/x86_64-apple-darwin12.2.0/i386/libstdc++-v3/include
-I /sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/libstdc++-v3/libsupc++
-I
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/libstdc++-v3/include/backward
-I
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/libstdc++-v3/testsuite/util
-imultilib i386 -iprefix
/sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/gcc/../lib/gcc/x86_64-apple-darwin12.2.0/4.8.0/
-isystem
/sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/gcc/testsuite/g++/../../include
-isystem
/sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/gcc/testsuite/g++/../../include-fixed
-D__DYNAMIC__
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/gcc/testsuite/g++.dg/other/darwin-cfstring1.C
-fPIC -quiet -dumpbase darwin-cfstring1.C -mmacosx-version-min=10.8.2
-mconstant-cfstrings -m32 -mtune=core2 -auxbase-strip darwin-cfstring1.s
-std=gnu++98 -version -fno-diagnostics-show-caret -fmessage-length=0 -o
darwin-cfstring1.s
...
Breakpoint 1, darwin_build_constant_cfstring (str=0x10104dbc0) at
../../gcc-4.8-20121011/gcc/config/darwin.c:3316
3316 if (!str)
(gdb) c
Continuing.
Current language: auto; currently c++
Breakpoint 1, darwin_build_constant_cfstring (str=0x10104ddc0) at
../../gcc-4.8-20121011/gcc/config/darwin.c:3316
3316 if (!str)
(gdb) s
3322 STRIP_NOPS (str);
(gdb)
tree_strip_nop_conversions (exp=0x10104ddc0) at
../../gcc-4.8-20121011/gcc/tree.c:11254
11254 {
(gdb)
11204 if (!CONVERT_EXPR_P (exp)
(gdb)
4047 char const __c = TREE_CODE_CLASS (TREE_CODE (__t));
(gdb)
4048 if (!IS_EXPR_CODE_CLASS (__c))
(gdb)
4092 if (VL_EXP_CLASS_P (node))
(gdb)
4095 return TREE_CODE_LENGTH (TREE_CODE (node));
(gdb)
4127 if (__i < 0 || __i >= TREE_OPERAND_LENGTH (__u))
(gdb)
11207 if (TREE_OPERAND (exp, 0) == error_mark_node)
(gdb)
3995 if (tree_contains_struct[TREE_CODE(__t)][__s] != 1)
(gdb)
4092 if (VL_EXP_CLASS_P (node))
(gdb)
11210 outer_type = TREE_TYPE (exp);
(gdb)
4092 if (VL_EXP_CLASS_P (node))
(gdb)
4095 return TREE_CODE_LENGTH (TREE_CODE (node));
(gdb)
4127 if (__i < 0 || __i >= TREE_OPERAND_LENGTH (__u))
(gdb)
3785 if (tree_contains_struct[TREE_CODE(__t)][__s] != 1)
(gdb)
11211 inner_type = TREE_TYPE (TREE_OPERAND (exp, 0));
(gdb)
11213 if (!inner_type)
(gdb)
11219 || POINTER_TYPE_P (outer_type)
(gdb)
11221 && (INTEGRAL_TYPE_P (inner_type)
(gdb)
11222 || POINTER_TYPE_P (inner_type)
(gdb)
11221 && (INTEGRAL_TYPE_P (inner_type)
(gdb)
3794 if (TREE_CODE_CLASS (TREE_CODE(__t)) != __class)
(gdb)
11224 return TYPE_PRECISION (outer_type) == TYPE_PRECISION (inner_type);
(gdb)
3794 if (TREE_CODE_CLASS (TREE_CODE(__t)) != __class)
(gdb)
11224 return TYPE_PRECISION (outer_type) == TYPE_PRECISION (inner_type);
(gdb)
11255 while (tree_nop_conversion (exp))
(gdb)
3839 char const __c = TREE_CODE_CLASS (TREE_CODE (__t));
(gdb)
3840 if (!IS_EXPR_CODE_CLASS (__c))
(gdb)
4092 if (VL_EXP_CLASS_P (node))
(gdb)
4095 return TREE_CODE_LENGTH (TREE_CODE (node));
(gdb)
4106 if (__i < 0 || __i >= TREE_OPERAND_LENGTH (__u))
(gdb)
11256 exp = TREE_OPERAND (exp, 0);
(gdb)
11204 if (!CONVERT_EXPR_P (exp)
(gdb)
11205 && TREE_CODE (exp) != NON_LVALUE_EXPR)
(gdb)
11258 }
(gdb)
darwin_build_constant_cfstring (str=0x1429c1e40) at
../../gcc-4.8-20121011/gcc/config/darwin.c:3324
3324 if (TREE_CODE (str) == ADDR_EXPR)
(gdb)
3327 if (TREE_CODE (str) != STRING_CST)
(gdb)
3329 error ("CFString literal expression is not a string constant");
(gdb)
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/gcc/testsuite/g++.dg/other/darwin-cfstring1.C:
In function ‘int main()’:
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/gcc/testsuite/g++.dg/other/darwin-cfstring1.C:13:79:
error: CFString literal expression is not a string constant
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/gcc/testsuite/g++.dg/other/darwin-cfstring1.C:21:20:
note: in expansion of macro 'CFSTR'
Breakpoint 1, darwin_build_constant_cfstring (str=0x1429c1e70) at
../../gcc-4.8-20121011/gcc/config/darwin.c:3316
3316 if (!str)
(gdb)
3322 STRIP_NOPS (str);
(gdb)
tree_strip_nop_conversions (exp=0x1429c1e70) at
../../gcc-4.8-20121011/gcc/tree.c:11254
11254 {
(gdb)
11204 if (!CONVERT_EXPR_P (exp)
(gdb)
11205 && TREE_CODE (exp) != NON_LVALUE_EXPR)
(gdb)
11258 }
(gdb)
darwin_build_constant_cfstring (str=0x1429c1e70) at
../../gcc-4.8-20121011/gcc/config/darwin.c:3324
3324 if (TREE_CODE (str) == ADDR_EXPR)
(gdb)
3327 if (TREE_CODE (str) != STRING_CST)
(gdb)
3329 error ("CFString literal expression is not a string constant");
(gdb)
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/gcc/testsuite/g++.dg/other/darwin-cfstring1.C:13:79:
error: CFString literal expression is not a string constant
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121011/gcc/testsuite/g++.dg/other/darwin-cfstring1.C:22:20:
note: in expansion of macro 'CFSTR'
Program exited with code 01.
More information about the Gcc-bugs
mailing list