Commit Graph

180 Commits

Author SHA1 Message Date
Alex Lin
4dad11bf45 Ignore privacy
Moved field offset calculations for inherited classes to when the inherited
classes are processed.  This removes the need to have to remember if fields
were inherited or not, the offset already reflects the correct offset.

refs #218
2016-04-13 16:07:14 -05:00
Alex Lin
7dcc65d0bd Ignore privacy
Mostly working.  This removes the use of offsetof from all I/O code.  This was
the only reason we needed friends.  In it's place we put the offset value that
clang has calculated for the field.  Still need to work on virtually inherited
classes and confirm bitfields.

refs #218
2016-04-13 16:07:14 -05:00
John M. Penn
fc98f6cf0a Fix address arithmetic in ClassicCheckPointerAgent::write_rvalue. Refs #221 2016-04-13 15:39:30 -05:00
Derek Bankieris
eee36193ea refs #219 Present a dialog that allows per-unit selection for multidimensional units 2016-04-11 10:06:51 -05:00
Hung Nguyen
0da1ba7653 Merge branch 'master' of https://github.com/nasa/trick 2016-04-04 17:20:58 -05:00
Hung Nguyen
5de28a360c Added the conversion capabilities between Euler angles and quaternions. Refs:#216 2016-04-04 17:07:04 -05:00
Alex Lin
fb7432d096 Add direct STL checkpointing
Modified ICG to save the non-canonical name for STLs.  This is typically more readable
because it is shorter.  Added code to the variable server to filter out requests accessing
STLs, because those accesses will not currently work.

refs #206
2016-04-04 15:07:57 -05:00
Alex Lin
0b7e3e2dc9 STLs may be in std::__cxx11 namespace
When we parse header files and find std::basic_string we change that to std::string.
Added a check for std::__cxx11::basic_string to do the same.  We also carry a
list of STL names, added std::__cxx11::[template_name] to the list of possilbe STL
names we are searching for.

refs #214
2016-04-01 21:35:53 -04:00
Alex Lin
b5b6dbe0bb Compiling with gcc 4.9 sometimes requires cstddef
It's the generated swig code that is missing cstddef.  Added some
includes to get cstdef in the swig code.

refs #212
2016-04-01 17:05:24 -05:00
Alex Lin
b1a69f2490 stack smash detected in add_recording_vars_for_frame
Changing size of char[256] to char[512] temporarily.  Will come back
to change all sprintf calls to use stringstreams.

refs #211
2016-04-01 09:02:46 -05:00
Alex Lin
617efa3a52 Merge pull request #210 from alexlin0/master
Merge STL checkpoint work
2016-04-01 08:18:37 -05:00
Alex Lin
ba6a00315e Add direct STL checkpointing
Fixing the unit tests that broke because of my changes.  Memory
Manager tests need to be compiled with c++11, and the STL unit test
was using a variable that did not exist anymore.

[Issue: x]
2016-03-31 17:30:00 -05:00
Alex Lin
c1eb4e6fc5 Add direct STL checkpointing
The typenames on the Mac need to be converted for strings.  The
templates are genererating the long form of the string type name.  I
wrote a function to catch test the template parameter types and
return std::string.

refs #206
2016-03-31 15:48:19 -05:00
Alex Lin
c8a39f4a44 Add direct STL checkpointing
Removed the previous attempts at STL checkpointing. Removed
the header files and sims.  Also simplified the names of some of
the templates.

refs #206
2016-03-31 14:50:27 -05:00
Derek Bankieris
52ff78ffa3 refs #209 Completely remove event in EventManager::remove_event 2016-03-31 12:36:05 -05:00
Alex Lin
06a405ef35 Add direct STL checkpointing
stl::stack code completed.

refs #206
2016-03-31 10:32:13 -05:00
Alex Lin
5368108723 Add direct STL checkpointing
Added queue and priority queue handling.

refs #206
2016-03-31 09:22:45 -05:00
Alex Lin
94febe62f2 Add direct STL checkpointing
Added the templates required for maps, multimaps, and pairs.

refs #206
2016-03-30 16:57:45 -05:00
John M. Penn
605ef1da0c fixed pointer declaration. Ooops! Refs #207 2016-03-30 16:48:10 -05:00
John M. Penn
145922667e In making reference attributes, set units to dash dash 2016-03-29 16:00:55 -05:00
Alex Lin
f7c74d7872 Add direct STL checkpointing
Removed saving the namespace of a variable it is in the std namespace.
Added a check for STLs residing in std::__1 as they do on Macs.

refs #206
2016-03-29 11:01:03 -05:00
Alex Lin
46aec08b80 Add direct STL checkpointing
Initial checkin of STL checkpointing.  This checkin only covers the sequential
STLs, vector, list, deque, set, and multiset.  This checkin does include the
changes in Trick header files to include/exclude our STLs properly to make a
restartable checkpoint.

refs #206
2016-03-29 09:26:49 -05:00
Alex Lin
7bbaac1223 ATTRIBUTES for a member whose type is a typedef of a template are wrong
Maybe this is the last time we visit this issue, probably not.  We were not
processing typedefs of templates correctly... I found a way to process
all templates whether they are the actual template, or a typedef of a template,
through the same code.  They were separate before.  Fixing this issue has
reduced the overall line count in FieldVisitor. That leads me to believe
we're on the right track.

refs #203
2016-03-21 15:18:53 -05:00
Alex Lin
bb6d7f0632 Math with temperature values is not as expected.
For addition and subtraction,  we created a new routine that
only scales second units to the first.  We apply it to all
conversions when adding and subtracting, but it only changes
the temperature results, because that is the only units that
has a bias factor. The comparision conversion routines were not
changed.

refs #202
2016-03-16 16:54:25 -05:00
Alex Lin
683763680b ATTRIBUTES for a member whose type is typedef'd in a template are wrong
Forgot I was experimenting with a short name... undid that.

refs #200
2016-03-16 13:55:38 -05:00
Alex Lin
ce3ae67633 ATTRIBUTES for a member whose type is typedef'd in a template are wrong
I found that in ICG I have access to the canonical type of a variable which
in most cases is the type I should process.  Doing this eliminates the
need for some of the code that resolved typedefs because the canonical type
has already done that.

refs #200
2016-03-16 13:24:59 -05:00
Alex Lin
26dfb3a000 Move the lock_memory function out of the Executive to RealtimeSync
Moved the lock memory function to the real time sync directory.  It doesn't need
to be part of the RealTimeSync class either so I left the lock/unlock code
in the C language calls for real time functions.

refs #195
2016-03-10 17:05:47 -06:00
Alex Lin
1754995396 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 10:42:59 -06:00
John M. Penn
0f76eec7a1 Include stdlib.h in MemoryManager_ref_name.cpp. 2016-03-09 11:26:31 -06:00
John M. Penn
ced68e24b2 Keep track of and free the reference attr created by ref_var. Refs #154 2016-03-08 17:47:09 -06:00
John M. Penn
9b652d0a11 Back out free of attributes in assignment production. refs #154 2016-03-07 12:32:16 -06:00
John M. Penn
ec37898fb1 Fix memory leaks in CheckpointAgent input parser. refs #154 2016-03-03 17:38:41 -06:00
Alex Lin
7d5e501012 Add option to validate pointer addresses in variable server clients
Added an option on the settings panel in TV to toggle validating
addresses.  Removed the now deprecated resolve_bad_refs button.

refs #193
2016-02-25 11:11:02 -06:00
Alex Lin
3abf0b31c4 Add option to validate pointer addresses in variable server clients
Forgot I left the validate_address on for testing.  Turned if off now.

refs #193
2016-02-25 10:09:49 -06:00
Alex Lin
51715a0650 trick-sniffer calls trick-simcontrol by old name
Changed the system call to use the new name.

refs #194
2016-02-25 09:02:23 -06:00
Alex Lin
543bbc0585 Add option to validate pointer addresses in variable server clients
Added a flag called validate_address to each variable server thread.  When
activated each pointer address will be tested to see if it is in memory
the memory manager is tracking.  If it is then everything proceeds normally.
If it does not, then an error return value is returned for the value of this
variable.

refs #193
2016-02-25 08:56:04 -06:00
Alex Lin
2c5a46a8bc Trick::MemoryManager::add_attr_info improperly removes the const keyword
Changed the search from "const" to "const " because we're intersted in
removing the const keyword preceding a type name.

refs #184
2016-02-22 09:52:28 -06:00
Derek Bankieris
912778423b Fix Sniffer to use the new binary names, which are prepended with trick- 2016-02-22 09:42:22 -06:00
Alex Lin
39868aba46 Functions with enumerated default arguments cause bad python code to be generated
OK, all the previous checkins were the wrong way to fix this issue.  The SWIG
compactdefaultargs feature and the shadow feature clash for our DRBinary class.
I turn off compactdefaultargs for the DRBinary class, leaving it on for
everything else.

refs #176
2016-02-18 11:04:07 -06:00
Alex Lin
4ab940a691 Revert "Functions with enumerated default arguments cause bad python code to be generated"
This reverts commit 30fbd682ee.
2016-02-18 10:59:36 -06:00
Alex Lin
30fbd682ee Functions with enumerated default arguments cause bad python code to be generated
Found a lot more data recording groups that have the same problem.

refs #176
2016-02-18 10:21:12 -06:00
Alex Lin
83572b20cb Print some timing statistics when the sim exits
Saved the timestamps on the default gettimeofday clock as close to
the beginning of the simulation, after initialization is finished and
at the end of shutdown.  Printed out the elapsed time as well as
the number of overruns counted by RealtimeSync.

refs #183
2016-02-17 16:27:37 -06:00
Alex Lin
b4f0906e03 Merge in the er7_utils integrators
Added .gitignore for created makefiles in er7_utils.

refs #180
2016-02-11 14:13:25 -06:00
Alex Lin
6eef449a1c Don't process header files installed by Homebrew
Added /usr/local/Cellar to ICG's list of system header locations.

refs #181
2016-02-11 09:33:53 -06:00
Alex Lin
8a535cc44f Merge in the er7_utils integrators
Wasn't supposed to add the CheckpointHelper.

refs #180
2016-02-10 11:21:54 -06:00
Alex Lin
4c3015851f Merge in the er7_utils integrators
Taking in the latest er7_utils directory and adding it into Trick in the
same location it was as an external repository.  Made one change to
the files_to_ICG.hh file in the repository to remove the CheckpointHelper
header files.  Those go in the Trick files_to_ICG.hh file.

refs #180
2016-02-10 09:32:53 -06:00
Alex Lin
6461b50d7d Setting framelog sample size does not work.
Setting the frame log size only resized the time line graph, not the normal
frame log groups.  Added code to change the size of the normal frame log
groups in addition to the time line.

refs #177
2016-02-04 16:13:05 -06:00
Alex Lin
447585ad16 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
2016-02-04 15:43:14 -06:00
Alex Lin
71dab9ed45 Introduce Open Dynamics Engine examples
I want Trick to parse and understand ODE header files.  The ODE header files
include some typedef constructs ICG was skipping.  Added code to handle the
typedefs we did not handle before.  Also made a small change the way
TRICK_ICG_EXCLDUE and TRICK_EXCLUDE are used so that they support excluding
individual files as well as directories.
2016-01-29 09:27:41 -06:00
Alex Lin
692d962b90 Sending the variable server a variable name that lists a composite type causes core dump
Duplicating change from 15.1.1.
If a variable resolves to a class/structure type the variable server tries to free the
attributes associated with that variable name.  But the attributes usually point to
a fixed place in memory that is not allocated.  I removed the free statement.  I don't
believe this will lead to a memory leak.

refs #165
2016-01-26 16:02:15 -06:00