Hello again! It seems that the system failed to extract text from my
previous post. This is my first time using a mailing list, so please excuse
me for my mistakes. Here are the original contents of that post:

Hello,
>
> I’ve been trying to do some code generation using clang (not libclang),
> and want to find out if a class can be copy constructed.
>
> I’ve tried testing if the copy constructor is deleted, but this does not
> work well with templates. For example, I have a class that contains a
> std::vector<std::unique_ptr>, whose copy constructor will apparently fail
> to instantiate, but doesn’t cause the copy constructors of std::vector or
> my class to be marked as deleted. Also, isInvalidDecl() returns false,
> which (I think) means that the compiler didn’t even attempt to instantiate
> the constructor as it has never been used.
>
> I believe that my best bet is to try to manually check if the constructor
> can instantiate. I’ve looked at clang::Sema, but was overwhelmed by the
> large amount of functions. I also noticed that a lot of these functions
> seem to have side effects, which is undesired since I do not want this
> check to cause other parts of the code to not compile.
>
> Am I on the right path? If so, which functions in clang::Sema should I
> use, and how? If not, is there a better way?
>
> Thank you very much.
>
_______________________________________________
cfe-users mailing list
cfe-users@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users

Reply via email to