-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test isolated headers #78
Test isolated headers #78
Conversation
283f293
to
e6bcace
Compare
capfd captures everything written to stdout rather than just to the python sys.stdout object.
48f2da8
to
73e1135
Compare
Replace it with two functions: one to get public flags such as the public include directory, and one to get private flags.
Addresses vector-of-bool's comments: - Removes file touching, as DDS doesn't care about file timestamps. - Clarifies library root's public/private compile flags as writing to the output parameter. - Simplifies code for writing syntax check file. - Uses better error handling for non-headers in include/ directory.
ca03539
to
1b7420c
Compare
I just remembered that there is another type of file that |
That made me realize that this PR is also not checking header templates (that is, the generated header file). I don't understand what the header templates are doing well enough to decide what I would do to implement checking the generated header file. And oof, if we do want this, then there's a |
You can ignore the header template stuff. It will be removed soon. |
.inl and .ipp are not required to be independent.
Header implementation files are expected to not compile in isolation.
66621c9
to
d1a7aee
Compare
I believe I implemented the fix. |
Implements #5
Some notes:
#include
the header. It would be possible to compile the header directly, but GCC and Clang warn on#pragma once
in the "main source file" and GCC has no way to disable that warning. MSVC has no such warning. It would be possible to special case some compilers to compile the header directly, but that seems like an unnecessary complication.c_source_type_flags
(-xc
in GCC/Clang),cxx_source_type_flags
(-xc++
in GCC/Clang), andsyntax_only_flags
.