Dear list,
We are preparing the next revision of P0194 for the meeting in
Issaquah and the implementation in clang is almost finished (it needs
some further minor changes, cleanup and polishing + it only fakes the
use of c++-concepts as they are not yet implemented in clang), but
it's already usable.
The forked repository can be found here: https://github.com/matus-chochlik/clang
To try it out, follow the instructions from here:
http://clang.llvm.org/get_started.html
but instead of the official clang repo use the fork.
The `-freflection` option needs to be specified to enable it and the
`__cpp_reflection` PP symbol is set to 1 if it is enabled.
There is also a set of higher level reflection libraries built on top
of reflexpr hosted here:
https://github.com/matus-chochlik/mirror
It is still work-in-progress and subject to changes, but it already
has some examples and docs:
http://matus-chochlik.github.io/mirror/doc/html/
Hi Matus,I wonder, should I use default master branch of your fork or mirror-reflection or reflexpr?
--
You received this message because you are subscribed to the Google Groups "SG 7 - Reflection" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reflection+unsubscribe@isocpp.org.
To post to this group, send email to refle...@isocpp.org.
Visit this group at https://groups.google.com/a/isocpp.org/group/reflection/.
For more options, visit https://groups.google.com/a/isocpp.org/d/optout.
struct Hello
{
int world;
};
int main()
{
using refl = reflexpr(Hello);
using refl1 = std::meta::get_member_types_m<refl>;
using refl2 = std::meta::get_element_m<refl1, 0u>;
};
1. 1.cc:13:30: at annotation token
2. 1.cc:10:1: parsing function body 'main'
3. 1.cc:10:1: in compound statement ('{}')
4. /usr/local/clang-meta/bin/../include/c++/v1/reflexpr:172:8: instantiating class definition 'std::meta::get_element<std::__metaobject<10018138037252073233>, 1>'
clang-4.0: error: unable to execute command: Abort trap: 6
clang-4.0: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 4.0.0 (https://github.com/matus-chochlik/clang 0dd8972883da9076a65bd4afc743d25e65eb1f8d) (llvm/trunk 289099)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /usr/local/clang-meta/bin
clang-4.0: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang-4.0: note: diagnostic msg:
********************
Hi Anton,
To unsubscribe from this group and stop receiving emails from it, send an email to reflection+...@isocpp.org.
To post to this group, send email to refle...@isocpp.org.
Visit this group at https://groups.google.com/a/isocpp.org/group/reflection/.
For more options, visit https://groups.google.com/a/isocpp.org/d/optout.
---- Matus Chochlik
Assertion failed: ((index == 0) && "Metaobject sequence index out of range"), function operator(), file /Users/bikineev/svn/clang-meta/llvm/tools/clang/lib/AST/ExprCXX.cpp, line 2737.
Sorry, I missed the main part - an assertion line:Assertion failed: ((index == 0) && "Metaobject sequence index out of range"), function operator(), file /Users/bikineev/svn/clang-meta/llvm/tools/clang/lib/AST/ExprCXX.cpp, line 2737.
--
You received this message because you are subscribed to the Google Groups "SG 7 - Reflection" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reflection+unsubscribe@isocpp.org.
To post to this group, send email to refle...@isocpp.org.
Visit this group at https://groups.google.com/a/isocpp.org/group/reflection/.
For more options, visit https://groups.google.com/a/isocpp.org/d/optout.
--
Em segunda-feira, 26 de dezembro de 2016, às 22:22:38 BRST, Matus Chochlik
escreveu:
> I've amended the previous commit and pushed it on github
DO NOT amend commits or otherwise rewrite history in Git branches other people
are tracking. This makes their life more difficult.