octave-patch-tracker
[Top][All Lists]
Advanced

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

[Octave-patch-tracker] [patch #8395] Work-in-progress port of Octave JIT


From: David Malcolm
Subject: [Octave-patch-tracker] [patch #8395] Work-in-progress port of Octave JIT to libgccjit
Date: Tue, 29 Jul 2014 15:23:10 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22

Follow-up Comment #4, patch #8395 (project octave):

> * there's a name-mangling issue with gripe_divide_by_zero,
> which for me gets name-mangled by the C++ compiler (to
> "_Z20gripe_divide_by_zerov"). 
> For now I have a horrible hack I'm applying on the libgccjit 
> side which
> special-cases this, and applies the mangling when referencing 
> this symbol (am attaching it) 

I had a look at fixing this properly from the libgccjit end, by having a flag
to enable name-mangling on a function's name, but it's not going to be easy
(the name-mangling support in gcc is all inside the C++ frontend, so it's
non-trivial to refactor that out).

I think the simplest solution for this is to wrap the decl of
  gripe_divide_by_zero
in gripes.h within an extern "C" thusly:
  extern "C" {
    extern OCTINTERP_API void
    gripe_divide_by_zero (void);
  }
though I'm not sure if that's going to require changes to the LLVM JIT code.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/patch/?8395>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]