Hi guys,

My name is Nataliia, I am a graduate student at University of Washington at
Computer Science (an Engineering) department. I am originally from Ukraine
and I have a master degree from Kiev Mohyla Academy. So I am doing my
second one :)

I am interested in warning control project. I have several ideas in mind.
So the project can be clearly separated into two parts:

1. command line based options to enable/disabling sets of warning. There
are at least two ways to implement this
1.1 by setting priority, like in c++ compiler. So we will set a warning
level and all the warnings which are lower or equal to the warning level
will fire.
1.2 the other approach is to add some tags to warnings and enable/disable
warnings based on that. For example we can add a tag "dead_code" which
might be associated with the warnings: unused variable, unused function,
condition is always true\false. etc. The tag based approach might make more
sense however it will be difficult to handle a tag conflicts. For example
one warning might have two tags associated with it and one might be set as
disabled, while the other one is enabled.

2. The second part of the project will be enabling\disabling warnings in
code. This will be a little bit more difficult as it is not clear for me
should we consider warning scope in this case or not, Just to illustrate my
example lets imagine the following peace of code:

...blah,blah,blah..,
SOME_LINE_THAT_GENERATES_A_SERIOUS_WARNING_BUT_THAT_IS_FINE_FOR_THIS_EXPRESSION
...blah,blah,blah...

It is clear that we would like to disable warning for the line of code
which is hacky, however we do not want that warning to be disabled in other
places, that is why the first thing that comes to my mind is C++ style
#pragma definitions. However based on the Vassily Litvinov feedback I will
probably need to look for something different. One of the suggestion was
Rust style warning handling. Will look deeper on that.

As for current project progress:
1. I was mostly looking at sub task #1 and I have figured how to add a
command line option (./compiler/main/driver.cpp and ./compiler/AST/build.cpp)
however I am yet to figure where are those options are used, based on my
quick grep it was not clear. Will attach a gdb tomorrow :)
2. I have compiled the compiler and was able to run some of the hello world
examples.
3. looked some slides about the language and the youtube video from Brad
Chamberlain(https://www.youtube.com/watch?v=0GBo_w2FO9c)

Open questions:
1. Are there any comments based on my current ideas?
2. Are there any slides/lectures/docs regarding chapel compiler
architecture? That might help me to get a better idea about where to put my
changes.
3. Any questions for me ?

Regards,
Nataliia
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to