Commit Graph

212 Commits

Author SHA1 Message Date
Hong Chen
b7e541e02f
Updated not to add "friend class" to embedded private list so it can be accessed. ()
* Updated not to add "friend class" to embedded private list so it can be accessed.

* Added a list to hold all friends class decl so able to specifically make sure not to remove them from io source but not to allow is source for others.

* Added namespaces to class names for comparison as class name only needs to be unique within the same namespace.

* Added if NULL check before getting friend decl type string.
2023-12-14 13:28:16 -06:00
Hong Chen
9ead0a28be
Added case in ICG makefile to use C++17 for clang 16 as clang 16 or later builds C++ code according to the C++17 by default. () 2023-11-30 14:39:00 -06:00
Jacqueline Deans
479171f569
Fix c++20 flag for LLVM 10 () 2023-06-12 14:36:21 -05:00
Jacqueline Deans
506bac5de7
Move ICG parsing standard specification to separate flag () 2023-06-05 14:40:32 -05:00
Jacqueline Deans
9c356131bc
Add option to specify a C++ standard to ICG for parsing () 2023-06-01 13:43:23 -05:00
Alex Lin
a48b39bfc1
Make ICG compatible with clang/llvm 15 ()
Made a couple of changes in ICG source code to handle clang API differences.  Encapsulated
differences in ifdefs.  Added libclangSupport to ICG link line.
2023-02-07 12:46:34 -06:00
jmpenn
2a03ff5cf4
Replace sprintf with snprintf in all of Trick source. ()
* Replace sprintf with snprintf in all of Trick source. 

* Don't add -Werror for MacOS because of deprecated sprintf warnings which we cant get rid of because SWIG. 

* Fixed an unbalanced parenthesis in S_overrides.mk. 
2022-11-15 15:00:05 -06:00
Scott Fennell
3cd2a1606f
1308 gcc ver ()
* add correct GCC verno to ICG for llvm >= 10

Co-authored-by: Jacqueline Deans <jndeans@jslal0520121056.jsc.nasa.gov>
Co-authored-by: Deans <jdeans289@gmail.com>
2022-07-20 11:38:42 -05:00
Scott Fennell
ac79af0358
1283 apple silicon ()
* llvm assert fix   

* add UDUNITS link flags to DPX test  

closes 
closes 
closes 
2022-06-13 09:56:17 -05:00
Scott Fennell
33d2a53e12
1279 llvm 14 ()
* traverse enum type on llvm 14 
2022-06-09 09:42:06 -05:00
Scott Fennell
83652ad811
sanitize hyphen in attributes ()
closes 
2022-05-25 13:08:11 -05:00
Scott Fennell
5e987a8bd9
iss add new enum type description identifier 'unnamed' to strings to look for when identifying anonymous enum () 2022-04-25 16:02:17 -05:00
Scott Fennell
749d3db8ef
Add rpath for llvm ()
Co-authored-by: Fennell, Scott P 263712616 <scott.p.fennell@nasa.gov>
2022-04-14 10:53:16 -05:00
Scott Fennell
0d60ef0b6f
iss reference ignored in name from address ()
*  added code to check reference mod bit in ClassicCheckPointAgent::getCompositeSubReference, use reference width instead of size.

*  refactor getCompositeSubReference for readability

*  and  add reference width to mod bits in ICG

* check for mod bits in TRICK_STRUCTURED section, refactor function

*  adding MM_ref_name_from_address tests

*  fix logic for offset into arrayed struct

closes  closes  closes  

Co-authored-by: Fennell, Scott P 263712616 <scott.p.fennell@nasa.gov>
2022-02-08 09:59:26 -06:00
Scott Fennell
1315db14a4
1201 icg nocomment file and dir ()
*  make icg_nocomment variable work with files as well as dirs

closes 
2021-11-16 19:03:35 -06:00
Scott Fennell
4a9d9482ef
1194 trick system icg exclude ()
* Fix ICG errors while processing system header files closes 

Found an InitPreprocessor call and am using it.  Not sure which version
of clang it was added, just using for the version I'm on (10) and above.
Also found some GCC defines that are used during normal compilation.
Added these to our list of defines during ICG.  This clears up all of
the errors I've been seeing.

* Fix ICG errors while processing system header files 

OK, found the flag that activates the ATOMIC defines I was previously
hardcoding.

*  add trick-system-icg-exclude

Co-authored-by: Alex Lin <alexander.s.lin@nasa.gov>
2021-10-12 12:02:03 -05:00
Alex Lin
9f9fd7ca20
Fix ICG errors while processing system header files ()
* Fix ICG errors while processing system header files 

Found an InitPreprocessor call and am using it.  Not sure which version
of clang it was added, just using for the version I'm on (10) and above.
Also found some GCC defines that are used during normal compilation.
Added these to our list of defines during ICG.  This clears up all of
the errors I've been seeing.

* Fix ICG errors while processing system header files 

OK, found the flag that activates the ATOMIC defines I was previously
hardcoding.
2021-10-12 11:30:49 -05:00
Derek Bankieris
9b7e18af15 Create link_list files for Trickification
ICG and make_makefile_swig create py_link_list and io_link_list files
listing the files to be linked during sim builds. Trickified projects
require slightly altered lists.

Fixes 
2021-06-02 13:56:21 -05:00
Scott Fennell
b4d76559eb
edit call to setLangOpts in icg main.cpp to support llvm-12 interface ()
closes 
2021-04-30 11:15:38 -05:00
Scott Fennell
9589c1062c
in ICG: Add FileSkipped preprocessor callback to FindTrickICG ()
*  add implementation of FileSkipped callback to FindTrickICG to add include chains for headers that have already been preprocessed

*  add test SIM for FindTrickICG offsets SIM_test_icg_file_skipped
2021-04-19 19:34:17 -05:00
Derek Bankieris
10b16d9f31 Check paths against TRICK_HOME in HeaderSearchDirs
Closes 
2021-03-02 12:43:10 -06:00
Derek Bankieris
c428bce49d Add support for references in MM::ref_name
Add an AO_DEREFERENCE ADDRESS_NODE to R->address_path and dereference the
address for REF2->address
2021-02-11 17:36:43 -06:00
Derek Bankieris
8e3726eb98 Mark references as such in ICG 2021-02-11 17:36:43 -06:00
Scott Fennell
c0791b46d9
icg default constructor is deleted ()
* check if default constructor is deleted 

* unit test icg deleted default constructor 

* Update centos 7 swig version to 3.0 to support deleted function in SIM_deleted_default_constructor test

Co-authored-by: Fennell, Scott P 263712616 <scott.p.fennell@nasa.gov>

closes 
2021-02-05 19:32:36 -06:00
Scott Fennell
7277b16017
move sim service xml file ()
Co-authored-by: Fennell, Scott P 263712616 <scott.p.fennell@nasa.gov>
2020-10-23 15:45:32 -05:00
Scott Fennell
6618d09c15
issue 1065 llvm 11 support ()
* # 1065 all LLVM::StrRefs need to use str() to convert to std::string now

*  retain backwards compatibility for llvm 3.4.2 (RHEL 7)

closes 

Co-authored-by: Scott Fennell <sfennell@Scotts-MacBook-Pro.local>
2020-10-21 22:33:53 -05:00
Scott Fennell
5bb32279b5
1053, 1009, 1054 cmake update ()
*   cmake configure correct clang libs

*  fix sie-rework to be compatible with CMake build

closes   closes   closes 
2020-09-13 18:38:35 -05:00
Scott Fennell
c9f060c94f
1036 1007 only enable cpp11 in Makefile_io_src when needed ()
Enable c++11 flag only on GCC < 6. Also enable c++14 if Clang is being used.
2020-09-09 01:43:32 -05:00
Scott Fennell
f825dc00fc
Merge test branch into master ()
*  filter -W workaround for ICG linking to LLVM 10 libclang-cpp.so ()

* 1043 drg checkpoint memory leak ()

*  drg fix drg checkpoint memory leak

* 947 sie generation rework ()

generate  S_sie.resource at during build instead of runtime
2020-09-01 15:55:19 -05:00
Scott Fennell
3b89cbfdb2
iss ()
Link correct clang libs based on availability. ICG clang lib link flags are determined by trick/configure
2020-08-28 14:52:23 -05:00
Scott Fennell
ba94c8181d
filter -llibxml2.tbd from llvm-config --system-libs as temporary workaround for missing library () 2020-08-18 15:11:28 -05:00
Derek Bankieris
6613669989 Fix trick_exclude_typename
Closes 
2020-04-17 14:09:37 -05:00
Derek Bankieris
5f8a411538 Replace : in ConstructValues::mangle_template_param
Closes 
2020-04-17 09:48:52 -05:00
Alex Lin
67fd753736
ICG won't build with LLVM 10.0 ()
As usual a new LLVM version brings changes.  Found that ICG needs
to be built with c++14.  Also found a couple of API changes in main.
Enclosed the changes in ifdef statements.
2020-03-31 11:40:30 -05:00
Scott Fennell
03bcbfa119 add space for null char in buffer in ICG main 2020-02-11 10:41:09 -06:00
Alex Lin
83338c4957 cmake scripts do not work for CentOS7
Updated minimum cmake version to 3.1
Added checks in findllvm script to handle old 3.4 LLVM version
Added back include directories needed by old LLVM version in ICG.
2019-11-22 08:12:54 -06:00
Alex Lin
60a1a0558f Oops, didn't put the #endif in the right place 2019-11-19 10:59:28 -06:00
Alex Lin
ce0cdc9636
Cmake merge ()
* Merging changes from cmake branch to master

* Fixing includes for renamed header files

* still need build rule

* Adding warning for swig code for gcc8+

* Adding CMakeLists.txt for data products

* Cmake merge 

Making adjustments to get cmake working on the Mac (Mojave)

* Cmake merge 

Changing string append to list append
2019-11-19 09:01:16 -06:00
Derek Bankieris
1f33406c95 Don't trace TRICK_EXT_LIB_DIRS lib deps in CP
Refs 
2019-10-07 14:12:06 -05:00
sfennell
8ac5cf7a59 changes to support llvm 9.0 closes 2019-09-27 16:04:16 -05:00
sfennell
5004f95fdd changes to support llvm 9.0 closes 2019-09-27 14:58:54 -05:00
Scott Fennell
f10e4e8d93 remove deprecated std::ptr_fun and std::not1 closes 2019-09-23 14:25:27 -05:00
Scott Fennell
238b376b14 use almostRealPath instead of realpath closes 2019-09-10 11:13:57 -05:00
Scott Fennell
e798fde189 move misplaced parentheses to include enum headers closes 2019-09-05 14:47:10 -05:00
Derek Bankieris
67decaed24 Add support for -isystem
Closes 
2019-06-20 10:12:33 -05:00
Alex Lin
497f11f132
Make TRICK_CXX variable to specify c++ compiler ()
Changed all references of TRICK_CPPC to TRICK_CXX.  Added a
warning message that TRICK_CPPC has been deprecated.
2019-06-18 11:00:08 -05:00
Alex Lin
187fa37540
Remove suppression of units conversion warnings in 19 ()
Removed checks on dead units conversion messenger.  Units conversion
messages cannot be suppressed.  Added deprecated messages to the functions
that modified the message printouts.
2019-06-18 10:59:51 -05:00
Alex Lin
78b5a0c692 Optionally use 'cio' in place of 'trick_chkpnt_io' field
Added an alias to use cio for trick_chkpnt_io and io for trick_io.
2019-06-14 07:43:37 -05:00
Derek Bankieris
7b0e84e58e Clean up duplication in makefiles
Normalize behavior of TRICK_VERBOSE_BUILD

Closes 
2019-05-30 15:47:07 -05:00
Derek Bankieris
4611db2e92 Merge branch 'master' of https://github.com/nasa/trick 2019-04-09 13:20:01 -05:00