Re: Strings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Philip Herron <redbrain@xxxxxxxxxxx> writes:

> In function âfooâ:
> gpy1: internal compiler error: output_operand: invalid expression as operand
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.
>
> I spent quite a while trying to trace it from when
> cgraph_finalize_compilation_unit () and it comes down to:

You will get farther if you set a breakpoint on fancy_abort and on
internal_error and get a backtrace from that point.

> Example of where this string code is being used is
>
>   const char * c_ident = IDENTIFIER_POINTER(DECL_NAME(decl));
>
>   tree str = build_string (strlen (c_ident), c_ident);

You can use IDENTIFIER_LENGTH rather than strlen.

>   TREE_TYPE (str) = gpy_const_char_ptr;
>   tree ident = build_fold_addr_expr (str);
>
>   return build_call_expr (gpy_rr_decl, 3,
> 			  build_fold_addr_expr (decl),
> 			  build_int_cst (integer_type_node, n),
> 			  ident);

You may need to put the address in a variable rather than using it
directly.  I'm not sure offhand.

Ian



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux