Commit Graph

21 Commits

Author SHA1 Message Date
Alex Lin
aa58306cc0 Problems with io_src code std::string #352
Added a test for types matching std::__cxx11::basic_string in ICG.  If it
matches we use the type back to std::string.
2017-01-11 17:37:57 -06:00
Alex Lin
9604e019bf ICG not setting default checkpointing io correctly. #308
If a checkpoint_io field is found we were or'ing this in to bits already
set by default.  Clear the bits first.
2016-09-14 09:33:08 -05:00
Alex Lin
6dc3d85cd3 ICG not setting default checkpointing io correctly. #308
Changed the default io value from 3 which left out checkpointing to 15 which does
include checkpointing.
2016-09-13 16:33:24 -05:00
Alex Lin
16af60313f Add a printout when ICG parses header file with no Trick header comment #281
Added the printout.
2016-08-19 10:21:43 -05:00
Alex Lin
bb3a788c5f ICG still processing comments in files it is supposed to skip, one more time
Tested the name of the header file right when a class is starting processing.  If
the class is in a file that is in an ICG_EXCLUDE directory, we quit processing
right there.

refs #251
2016-06-15 17:41:39 -05:00
Alex Lin
9d840f334f Symbolic links are my nemesis
Found 2 more places where we should be using the absolute path.

refs #240
2016-05-24 13:30:56 -05:00
Alex Lin
15f677ec48 ICG still processing files it shouldn't
In comment handling we were not using the absolute path where we should
have been.  This was tagging comments coming from the wrong file.

refs #238
2016-05-18 17:04:35 -05:00
Alex Lin
3f7676a740 Invoking trick-ICG without any arguments results in a Segmentation fault
ICG dies on a strdup if the the input file is empty.  Added a check for
an empty input file name.  We exit with an error message if there is
no input file given.

refs #229
2016-04-27 11:34:47 -05:00
Alex Lin
c10d2897f9 Release 15.2.0
Backporting some changes in ICG that better supports clang/llvm installations in
Linux.

refs #228
2016-04-19 17:05:42 -05:00
Alex Lin
489737d34c Release 15.2.0
It's been a while since we tested 15.x on the mac.  The makefile
for ICG needed updating to what is essentially in 16.  Added the
one change required for clang 3.8.  Updated the version to 15.2.0
in trick_ver.txt.  Finally removed the check for libclang.a.  The
more recent clang releases are delivering libclang.dylib and I'm
too lazy to make big changes in the configure script to search
for it.  The header file check should be enough.

refs #228
2016-04-19 16:08:33 -05:00
Alex Lin
7a511fb236 15.2 will not compile under Centos 7 anymore
Copied the CXXFLAGS from 16 back to 15.

refs #222
2016-04-14 11:10:07 -05:00
Alex Lin
4ff8591b12 ATTRIBUTES for classes with non-locally typedef'd members is wrong
Interesting case.  I found that we should process the canonical type names where
we were not before.  This resolves all typedefs and should be be more
accurate in the future.  When we process the canonical type we need to ignore
the processing of the non-canonical type.  We set a flag after
the canonical type is processed to ignore any type that is processed after.

refs #198
2016-03-10 14:16:18 -06:00
Alex Lin
3b6adb01d0 Don't process header files installed by Homebrew
Added /usr/local/Cellar to ICG's list of system header locations.

refs #181
2016-02-22 09:43:31 -06:00
Alex Lin
2661835797 ICG processing files it is supposed to skip
We pull file names out of the clang infrastructure to match where
classes are defined.  We use the file name to pull comments and find
and process Trick header comments.  Up to now clang gave us the realpath
of files and when we looked up comments we already had the realpath and
everything worked.  In clang 3.6 in some places we are not getting the
realpath anymore which confuses ICG.  Added code to get the realpath of
any file name we use throughout the code.

refs #167

Conflicts:
	trick_source/codegen/Interface_Code_Gen/CommentSaver.cpp
	trick_source/codegen/Interface_Code_Gen/FieldVisitor.cpp
2016-02-18 14:06:47 -06:00
Alex Lin
634f25bee3 GUIs using sie file die on Windows quotation marks
We already parse the string character by character escaping newlines, tabs, and
other special characters.  In the case of these quotation marks, we replace them
with the ASCII single and double quotes.

refs #134
2015-10-06 15:20:50 -05:00
Alex Lin
94b2a4eff0 Checkpoints cannot handle overloaded names
I think I ran into this before.  The offsetof calls that use
fully qualified fields in classes is not compilable using clang
on the Mac.  So I've decided to only conditionally compile this
code for non Apple platforms.  So this fix will work in Linux,
but not on Macs.  We'll have to revisit this and see if we
can make it work for both.

refers to #31
2015-03-25 17:15:42 -05:00
Alex Lin
3e0abdddc5 Checkpoints cannot handle overloaded names
When a field is processed in a class it is added to a list.  This list
will contain the fields from base classes the current class inherits
from.  We check the list of fields we inherited, if we find that the
current field overloads the name of an inherited field we adjust the
inherited field's name to be shown as the fully qualified name in io_src
code.

Fixes #31
2015-03-25 15:58:33 -05:00
Alex Lin
ea085eb9ee Fixes io_src code for typedef structures.
Found that my check for embedded classes was also catching some typedef structures.
This was causing some io_src code not to be generated.  Changed the test so that
we can differentiate between embedded classes and the typedefs.

This change fixes #10 and fixes #23.
2015-03-24 11:01:31 -05:00
Alex Lin
14a75508a3 Cleaning up once include variables and copyright cleanup.
Changed all header file once include variables to follow the same naming
convention and not start with any underscores.  Also deleted old
incorrect copyright notices.  Also removed $Id: tags from all files.

Fixes #14.  Fixes #22.
2015-03-23 16:03:14 -05:00
Alex Lin
aecc0504fa Changed the calling argument to setASTConsumer.
The calling argument to setASTConsumer changed between clang 3.5
and 3.6.  Changed the code to create a std::unique_ptr that the
call now requires and call setASTConsumer with the unique pointer.

Fixes #15
2015-02-10 18:47:17 -06:00
Alex Lin
f0c594f841 Initial commit of everything. 2015-02-26 09:02:31 -06:00