Git Product home page Git Product logo

tcltcc's People

Watchers

James Cloos avatar  avatar

tcltcc's Issues

C++ isms and unistd/windows breakage

What steps will reproduce the problem?
1. configure compile on aix, solaris or similar boxes
2. compile on windows using MSVC
3.

What is the expected output? What do you see instead?

The compiler fails with syntax errors, as it doesn't handle // as a
comment. On windows it fails with a missing unistd.h error/

What version of the product are you using? On what operating system?


Please provide any additional information below.

 Attached a patch fixing the problems.

Original issue reported on code.google.com by [email protected] on 12 Oct 2007 at 7:16

Attachments:

Makefile does not contain correct dependencies

What steps will reproduce the problem?
1. Build tcltcc
2. Change file tcltcc.c
3. Do a make

What is the expected output? What do you see instead?

Library will be rebuild. Instead make will indicate there is nothing to be 
done. This has to do with tcc including the c files instead of compiling 
them to .o files and linking them together. Either the TEA config should 
be adapted to add the .c files as dependencies, or the include of the c 
files should be removed. Currently a make clean ; make is required


Original issue reported on code.google.com by [email protected] on 15 Oct 2007 at 10:16

Allow selection of different backends at runtime

Currently tcltcc will select the code generation backend at compile time. 
It would be very useful to be able to select the backend a runtime so it 
will for instance be possible to generate win32 dlls on linux


Original issue reported on code.google.com by [email protected] on 16 Oct 2007 at 10:02

Compile Error under Linux


What steps will reproduce the problem?
1. configure
2. make


What is the expected output? What do you see instead?
Compile errors:
In file included from ./generic/tcc.c:41:
./generic/i386/i386-gen.c: In function `gfunc_epilog':
./generic/i386/i386-gen.c:501: warning: passing arg 1 of `section_ptr_add' 
from incompatible pointer type
./generic/i386/i386-gen.c:501: warning: passing arg 2 of `section_ptr_add' 
makes pointer from integer without a cast
./generic/i386/i386-gen.c:501: error: too few arguments to function 
`section_ptr_add'
./generic/i386/i386-gen.c:507: warning: passing arg 1 of `get_sym_ref' 
from incompatible pointer type
./generic/i386/i386-gen.c:507: warning: passing arg 2 of `get_sym_ref' 
from incompatible pointer type
./generic/i386/i386-gen.c:507: warning: passing arg 3 of `get_sym_ref' 
makes pointer from integer without a cast
./generic/i386/i386-gen.c:507: error: too few arguments to function 
`get_sym_ref'
./generic/i386/i386-gen.c:522: error: `cst' undeclared (first use in this 
function)
./generic/i386/i386-gen.c:522: error: (Each undeclared identifier is 
reported only once
./generic/i386/i386-gen.c:522: error: for each function it appears in.)
./generic/i386/i386-gen.c:522: error: `ur_text_section' undeclared (first 
use in this function)
./generic/i386/i386-gen.c: In function `gen_bounded_ptr_add':
./generic/i386/i386-gen.c:969: error: `st' undeclared (first use in this 
function)
./generic/i386/i386-gen.c:976: warning: passing arg 1 of `greloc' from 
incompatible pointer type
./generic/i386/i386-gen.c:976: warning: passing arg 2 of `greloc' from 
incompatible pointer type
./generic/i386/i386-gen.c:976: warning: passing arg 3 of `greloc' makes 
pointer from integer without a cast
./generic/i386/i386-gen.c:976: error: too few arguments to function 
`greloc'
./generic/i386/i386-gen.c:977: warning: passing arg 1 of `oad' makes 
pointer from integer without a cast
./generic/i386/i386-gen.c:977: error: too few arguments to function `oad'
./generic/i386/i386-gen.c: In function `gen_bounded_ptr_deref':
./generic/i386/i386-gen.c:996: error: `st' undeclared (first use in this 
function)
./generic/i386/i386-gen.c:1012: warning: passing arg 1 of `error' from 
incompatible pointer type
./generic/i386/i386-gen.c:1012: error: too few arguments to function 
`error'
./generic/i386/i386-gen.c:1022: warning: passing arg 1 of `put_extern_sym' 
from incompatible pointer type
./generic/i386/i386-gen.c:1022: error: too few arguments to function 
`put_extern_sym'
./generic/tcc.c: In function `ieee_finite':
./generic/tcc.c:139: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
./generic/tcc.c: In function `gbound':
./generic/tcc.c:3904: error: too many arguments to function 
`gen_bounded_ptr_add'
./generic/tcc.c:3909: error: too many arguments to function 
`gen_bounded_ptr_deref'
./generic/tcc.c: In function `gen_op':
./generic/tcc.c:4791: error: too many arguments to function 
`gen_bounded_ptr_add'
In file included from ./generic/tcc.c:8699:
./generic/tccelf.c: In function `tcc_add_runtime':
./generic/tccelf.c:1012: error: `tcc_lib_path' undeclared (first use in 
this function)
./generic/tcc.c: In function `tcc_run':
./generic/tcc.c:8796: error: too many arguments to function
./generic/tcc.c: At top level:
./generic/tcc.c:9309: warning: 'tcc_basename' defined but not used
./generic/tcc.c:122: warning: 'num_callers' defined but not used
./generic/tcc.c:173: warning: 'strstart' defined but not used


What version of the product are you using? On what operating system?
Linux 2.6, gcc 3.4.6, tcltcc 0.2, tcl8.4

Please provide any additional information below.
I have compiled the standalone tcc under linux with no problems.

Original issue reported on code.google.com by [email protected] on 12 Oct 2007 at 9:48

Expose parser as tcl command.

Having the parser/frontend as a tcl command opens up the possibility of
using  it as the input for other code processing tools. Pretty-printing
would be a low thing among that, more important would be tools doing static
code analysis, static call graph generation, etc. Instead of doing their
own parsing they can process structured data in the form of an AST. And be
written in Tcl.

Original issue reported on code.google.com by [email protected] on 24 Oct 2007 at 11:42

Linking fails when building with gcc on windows against a Tcl built with VC

The following error is shown on link:

gcc -shared -o tcc02.dll tcc.o  /c/Tcl/lib/tclstub85.lib
Cannot export ??_C@_03KBFG@Tcl?$AA@: symbol not found
Cannot export ??_C@_03PFGM@?$CJ?3?5?$AA@: symbol not found
Cannot export ??_C@_0BC@JJNH@?0?5actual?5version?5?$AA@: symbol not found
Cannot export ??_C@_0BF@JNJI@?5?$CIrequested?5version?5?$AA@: symbol not 
found
Cannot export ??_C@_0BG@OGGF@epoch?5number?5mismatch?$AA@: symbol not found
Cannot export ??_C@_0BK@FBIJ@requires?5a?5later?5revision?$AA@: symbol not 
found

Cannot export ??_C@_0BL@BOCC@missing?5stub?5table?5pointer?$AA@: symbol 
not foun
d
Cannot export ??_C@_0DM@EBFE@This?5interpreter?5does?5not?5suppor@: symbol 
not f
ound
Cannot export ??_C@_0N@LHM@tcl?3?3tommath?$AA@: symbol not found
Cannot export ??_C@_0P@MJJE@error?5loading?5?$AA@: symbol not found
collect2: ld returned 1 exit status
make: *** [tcc02.dll] Error 1


Current workaround:

relink with:
gcc -shared -o tcc02.dll tcc.o  -L/c/Tcl/lib -ltclstub85 -Wl,--exclude-
libs,tclstub85



Original issue reported on code.google.com by [email protected] on 16 Oct 2007 at 6:31

tcc_lib_path string is leaking

The Tcl_Obj containing the string stored in s->tcc_lib_path is leaking on 
command deletion. Should store the Tcl_Obj * instead so the refcount can 
be decreased in  TccCCommandDeleteProc.


Original issue reported on code.google.com by [email protected] on 9 Oct 2007 at 11:09

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.