what doesn ORC stand for in llvm - llvm

For example in LLVM's doc:
https://llvm.org/docs/ORCv2.html
It mentions ORC JIT many times but doesn't explain ORC.

llvm.org/docs/tutorial/BuildingAJIT1.html "This tutorial runs through the implementation of a JIT compiler using LLVM’s On-Request-Compilation (ORC) APIs."
by Joe

Related

Two independent specs seem to interfere. Can someone tell me why?

I have two specs below:
spec/domain/cve/id_spec.cr
spec/domain/cwe/id_spec.cr
Only 'cve' and 'cwe' differ; the others are the same.
When I ran them one by one below,
crystal spec spec/domain/cve/id_spec.cr
crystal spec spec/domain/cwe/id_spec.cr
all examples passed.
However, when I did at a time below,
crystal spec spec/domain/cve/id_spec.cr spec/domain/cwe/id_spec.cr
examples in the 'cve' spec failed.
I've found crystal spec is doubtful, so posted an issue to the GitHub repository.
A set of reproducible minimum codes is in another repository.
The description below is obsolete.
Both Domain::CVE::ID and Domain::CWE::ID have the same methods, which are parse(string) and ==(other).
Did the crystal spec runner misread 'V' and 'W' as humans do? Really?
Now I've replaced the name ID with the fully qualified Domain::CVE::ID, and commented out include Domain::CVE, then I get all the examples passed.
Does someone tell me how to use include and not qualified constants?
The version I've used is:
Crystal 1.6.1 (2022-10-21)
LLVM: 14.0.6
Default target: aarch64-apple-darwin21.6.0
Thank you.

opencv c and c++ interface conversion table

i'l learning opencv with c++ and so i'm trying to use new c++ interface. but a lot of code i found on internet is based on old c interface.
for example i fond a lot of algorithm based on
IplImage, cvCvtPixToPlane, cvThreshold
and i have to translate them in
cv::Mat, cv::threshold, ..
in here (i think the official manual) i haven't find anything of really complete.
and each time i have to google for get the right conversion in the new c++ interface.
where can i find a conversion table?
Try OpenCV manuals, It seems they are the best way to find equivalent functions.
Version 2.1 : http://www.comp.nus.edu.sg/~cs4243/doc/opencv.pdf
All C,C++ and python API is available as single pdf, so you can just search for function names to find equivalent in C or C++
Version 2.3 : https://shimcv.googlecode.com/files/opencv2refman.pdf
Online version of 2.3 : http://opencv.itseez.com/
The cheatsheet doesn't have conversions but is the most useful documentation I've found and used!

Any Working code for cross platform message catalog without having to duplicate the message strings?

On linux, gencat works beautifully with .msg file with gencat, catopen, catgets and catclose
On Windows, mc or rc file's stringtable works beautifully with LoadString.
Just wondering if there is any working implementation of gencat on windows. I googled and found many copies from freebsd or apple implementation but it misses on equivalent catopen implementation or its its little old.
I dont want to use MingGW or Cigwin implementation in my project.
Please suggest if you know of any working cross platform implementations for message catalogs which helps to not duplicate the strings in 2 different formats.
Yes, gettext contains an implementation of the old catgets interface (as well as it's own newer and better interface you might want to consider).
Will the Resource Management features in the ICU project http://userguide.icu-project.org/locale/resources suffice?

How can I find out what functions have been called from what classes?

I'm using a Physics Toolkit (Geant4) which consists of several thousand C++ header and class files. In order to use the toolkit, you have to write a series of your own class files, that give the toolkit some basic information about what you are trying to model. You then write a main() file which registers these files with the toolkit, 'make' it and then execute the final program. I am using Ubuntu 10.10 as the platform to do this.
I'd like to better understand how the toolkit operates. Specifically, I'd like to find out what functions in what class files, throughout the toolkit, are called and in what order, when the program runs.
One, somewhat brute-force method would be to label each function in each file e.g. insert cout << "File Name, Function Name" << endl as the first statement in each function body and have this all output to a textfile. However, there are some 3000 files I'd need to go through, which would be somewhat... time-consuming.
Is there an easier way of finding out what functions have been called? I've searched through the toolkits manual and, unless I have missed something, I see no way there of doing this via the toolkit. I guess I would need some command at the terminal or an external program?!?
Any help, suggestions or advice would be greatly appreciated!
On ubuntu you'll have a choice of profilers.
I personally love
valgrind --tool=callgrind ./myprogram
kcachegrind
For this because it creates very good callgraphs and statistics (tree map visualizations).
The big FAQ profiler topic is here: How can I profile C++ code running in Linux?
Off the top off my head: gprof (needs instrumentation), oprofile and perf record -g are easy to get started with as well

Parsing iCal/vCal/Google calendar files in C++

Can anyone recommend a ready-to-use class/library compatible with C/C++/MFC/ATL that would parse iCal/vCal/Google calendar files (with recurrences)? It can be free or commercial.
there is a parser in PHP for iCal, you can downloaded and check the code to suit your language.
for vCal/vCard parsing there's a C Library.
for Google Calendar I couldn't find any exact answer, so, try to Google it.
For vCal you can try the CCard project on SourceForge:
http://sourceforge.net/projects/ccard
It's a C library but it states Windows as a supported platform.
*Edit: balexandre already linked to it :)
The only problem with the CCard project is that it's a generic parser (similar to what I already have implemented myself) - what would be really valuable to me is something that "understands" all varieties of recurrences and such. Those differ between vCal and iCal as well, adding to the complexity.