Extending GCC with pragma directive

2006-11-13 Thread Ferad Zyulkyarov
Hi, May you point me out some sources about writing new #pragma directives in GCC. I looked at the internet for something to start from but unfortunately I could not find anything. Thanks, Ferad Zyulkyarov -- Ferad Zyulkyarov Barcelona Supercomputing Center

Re: Extending GCC with pragma directive

2006-11-14 Thread Ferad Zyulkyarov
Thanks a lot. This is going to be a good starting point. Ferad Zyulkyarov On 11/13/06, Sebastian Pop <[EMAIL PROTECTED]> wrote: On 11/13/06, Ferad Zyulkyarov <[EMAIL PROTECTED]> wrote: > Hi, > > May you point me out some sources about writing new #pragma directives >

About changing the tree structure in pragmas

2006-11-30 Thread Ferad Zyulkyarov
, "printf", param_list); Also, I would be very thankful for any resources about the API for manipulating the program's tree structure. Thanks, Ferad Zyulkyarov

Re: About changing the tree structure in pragmas

2006-12-02 Thread Ferad Zyulkyarov
ier("test_fn_call"); fn_decl = lookup_name(fn_id); fn_call = build_function_call_expr(fn_decl, NULL_TREE); add_stmt(fn_call); } /* End of void handle_pragma_test */ -- Ferad Zyulkyarov Barcelona Supercomputing Center On 11/30/06, Ferad Zyulkyarov <[EMAIL PROTECTED]> wrote:

Interface for manipulating the abstract syntax tree

2006-12-05 Thread Ferad Zyulkyarov
etion of a tree (i.e. statement, block, declaration). I am quite new to the gcc code and I could only find that the function add_stmt(tree) inserts a statement. I suppose that a lot of gcc developers here doing this routinely. I would appreciate your help and advices a lot. Thanks in advance, Ferad

Re: Interface for manipulating the abstract syntax tree

2006-12-05 Thread Ferad Zyulkyarov
declaration tree) or it would be enough to assign it as NULL (which does not seems to be a gentle solution). Thanks, Ferad Zyulkyarov On 12/5/06, Revital1 Eres <[EMAIL PROTECTED]> wrote: > I try to change the front-end tree structure of a c/c++ program as a > side effect of execution of a

Re: Interface for manipulating the abstract syntax tree

2006-12-06 Thread Ferad Zyulkyarov
urrent_function_decl); /* Crashes right here */ } I could not figure out what could be the problem. I would appreciate your help to make this run.. Thanks, Ferad Zyulkyarov On 12/5/06, Revital1 Eres <[EMAIL PROTECTED]> wrote: > I try to change the front-end tree structure of a c/c++ pro

Re: Interface for manipulating the abstract syntax tree

2006-12-07 Thread Ferad Zyulkyarov
ome statement to get the current tree node in the loop: tree stmt = bsi_stmt (bsi); and later recursively manipulate it with walk_tree (). The execution actually does not reach this part of the code. I had it written but, decided to remove them until solvin the problem with the correct initializa

Re: Interface for manipulating the abstract syntax tree

2006-12-07 Thread Ferad Zyulkyarov
more carefully. Revital, thank you very much once again. Ferad Zyulkyarov

Help with traversing block statements in pragma handler

2006-12-15 Thread Ferad Zyulkyarov
advices and comments on how to do that (traverse the statements in function). I also attach the c-pragma.c file and C source file "demo_pragma_usage.c" to test the pragma handler. Thanks, Ferad Zyulkyarov /* Handle #pragma, system V.4 style. Supports #pragma weak and #pragma pack. Cop

Re: Help with traversing block statements in pragma handler

2006-12-15 Thread Ferad Zyulkyarov
Thanks Diego, I will throw more precise look on OMP. And something more, what is the difference between c_register_pragma and cpp_register_deferred_pragma functions? Unfortunately, I couldn't fined a descriptive information about these two functions. Ferad Zyulkyarov On 12/15/06,

Re: distributing g++

2006-12-15 Thread Ferad Zyulkyarov
win it will not work.. What I mean is if you have gcc compiled to be hosted in linux it will not work under win and vice versa. For more details you can refer to the configuration documentation of gcc - http://gcc.gnu.org/install/configure.html. Hope it was useful, Ferad Zyulkyarov

Re: Getting declaration tree node using func. name

2006-12-19 Thread Ferad Zyulkyarov
, is it possible to get the declaration tree node of that function. e.g. using maybe_get_identifier("name"), i get the identifier node. similarly are there any functions or macros available to get the declaration tree node. Regards, Rohit -- Ferad Zyulkyarov Barcelona Supercomputing Center

Creating a variable declaration of custom type.

2007-01-15 Thread Ferad Zyulkyarov
l be appreciated very much. Thanks a lot. -- Ferad Zyulkyarov Barcelona Supercomputing Center

Re: Creating a variable declaration of custom type.

2007-01-15 Thread Ferad Zyulkyarov
Hi again, I think that the type of type_node is missing. Try to add TREE_TYPE (type_node); For example TREE_TYPE (type_node) = integer_type_node. (if MyType is int). "MyType" is a struct (of other again coumpound types) and will not work with already existing type nodes like integer_type_node

Re: Creating a variable declaration of custom type.

2007-01-16 Thread Ferad Zyulkyarov
r_decl = build(VAR_DECL, get_identifier("t"), type_ptr); I tried similar codes like the above, but I don't know how to retrieve the "type" from the type declaration. Any help, ideas are highly appreciated. Ferad Zyulkyarov

Re: Creating a variable declaration of custom type.

2007-01-16 Thread Ferad Zyulkyarov
w it works. On 1/16/07, Ferad Zyulkyarov <[EMAIL PROTECTED]> wrote: Hi, > Best way to figure this out is to write a simple 5 line testcase that > defines a structure type and also defines a pointer to that type, and > then step through gcc to see what it does. Try putting

Re: C Parser

2007-01-18 Thread Ferad Zyulkyarov
d not very logic given the parser generators in existence today. Can someone comment this? (which issues led to this decision?) Regards, -- Paulo Jorge Matos - pocm at soton.ac.uk http://www.personal.soton.ac.uk/pocm PhD Student @ ECS University of Southampton, UK -- Ferad Zyulkyarov Barcelon

Getting a tree node for a field of a variable

2007-01-18 Thread Ferad Zyulkyarov
lly is to modify "var->field", i.e. var->field = 10; but I couldn't find any useful functions to use for doing that. Any suggestions are welcome. Thanks a lot. -- Ferad Zyulkyarov

Re: Getting a tree node for a field of a variable

2007-01-19 Thread Ferad Zyulkyarov
kup_name(get_identifier("var")); And I suppose that, having "var_decl" I can get a tree to the "field1" field of "var". Is there any function e.g. lookup_decl_field that does it? Ferad Zyulkyarov

Re: Getting a tree node for a field of a variable

2007-01-22 Thread Ferad Zyulkyarov
1 = build_component_ref(build_indirect_ref(var_decl, "var"), get_identifier("field1")); "var_field1" is the "var->field1" tree node. -- Ferad Zyulkyarov Barcelona Supercomputing Center

About building conditional expressions

2007-01-23 Thread Ferad Zyulkyarov
t; is not maintained (used) by gcc any more. Instead build, what else may I use to create a conditional expression node? Thanks, for your advices. -- Ferad Zyulkyarov

Re: About building conditional expressions

2007-01-23 Thread Ferad Zyulkyarov
Thanks a lot, that's it On 1/23/07, Steven Bosscher <[EMAIL PROTECTED]> wrote: On 1/23/07, Ferad Zyulkyarov <[EMAIL PROTECTED]> wrote: > But, as I noticed this function "build" is not maintained (used) by > gcc any more. Instead build, what else may I use to

Re: About building conditional expressions

2007-01-23 Thread Ferad Zyulkyarov
ate if you can recommend me any tutorial about gcc. For the next months I will have to do some modifications for my project in fornt-end and back-end. Thanks a lot -- Ferad Zyulkyarov

Re: About Gcc tree tutorials

2007-01-24 Thread Ferad Zyulkyarov
an e-mail directly, why didn't you post this to GCC mailing list? In this case the other readers could be also helpful. -- Ferad Zyulkyarov

Re: Can C and C++ object files be linked into an executable?

2007-01-27 Thread Ferad Zyulkyarov
round your method declarations with extern "C" {...} This may help. If you don't have the c++ sources, create wrappers either to C object files or C++. For now I don't know any other alternative. -- Ferad Zyulkyarov Barcelona Supercomputing Center

Re: Build fail

2007-02-09 Thread Ferad Zyulkyarov
Stop. >> make[2]: Leaving directory `/home/sudheer/bhaskar/mtp/build386/gcc' >> make[1]: *** [all-gcc] Error 2 >> make[1]: Leaving directory `/home/sudheer/bhaskar/mtp/build386' >> make: *** [all] Error 2 >> >> >> How to fix it? >> >> thanks in advance. >> >> > > -- Bhaskar G. Reddy, Graduate Student, Department of CSE, IIT Bombay -- Ferad Zyulkyarov Barcelona Supercomputing Center

Re: Build fail

2007-02-09 Thread Ferad Zyulkyarov
rad On 2/9/07, Kai Ruottu <[EMAIL PROTECTED]> wrote: Ferad Zyulkyarov wrote : > To build a GCC corss compiler it would be good to use a specail tool > that is called "crosstool". You may look at the following links: > > 1. http://kegel.com/crosstool/ > 2. ht

About implementing new intrinsic

2007-02-14 Thread Ferad Zyulkyarov
uot;myintrinsics.h" int main(void) { myintrinsic(); printf("Hello world!\n"); } I got an error that __builtin_alspa_myintrinsic is not defined in this scope. I think that my implementaion does not work. I don't know where the problem is, but I am sure that I miss some

Re: About implementing new intrinsic

2007-02-18 Thread Ferad Zyulkyarov
Hi, I am not sure if this message is still relevant. Anyhow, I think following another built-in under zero_arg_builtins ("__builtin_alpha_rpcc" in alpha.c for example) could help in finding the missing part in this implementation. the message is still relevant. I tried to use as example the