Bug #87358 Ambiguous include paths
Submitted: 9 Aug 2017 13:28 Modified: 5 Oct 2017 16:47
Reporter: Steinar Gunderson Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: CPU Architecture:Any

[9 Aug 2017 13:28] Steinar Gunderson
Description:
We have _lots_ of instances of things like

#include "table.h"

The problem is that we have five table.h files, four hash.h (used be five), and so on -- often with multiple in the path. The problem gets even worse with transitive #includes, where "table.h" for a .h file depends on the context it's being compiled in. We should force these to be

#include "sql/table.h"

(or whatever was meant) and then take sql/ out of the include path. The only elements that should be left in the include path are system #includes, the root directory and include/.

How to repeat:
N/A

Suggested fix:
N/A
[5 Oct 2017 16:47] Paul DuBois
Posted by developer:
 
Fixed in 8.0.4.

#include directives in source files were rewritten and reorganized to
be unambiguous.