Skip to content

Not working for chromium #435

@GittyHarsha

Description

@GittyHarsha

Hi,
I really appreciate the tool which is very required for software engineering.
I want to apply clang-uml to obtain class diagram for components/content_settings present in Chromium.

I installed clang-uml 0.6.2 from the windows .exe installer.
Here is the .config-uml YAML file:

compilation_database_dir: Q:/Chromium/src
output_directory: Q:/Chromium/src/diagrams

query_driver: Q:/Chromium/src/third_party/llvm-build/Release+Asserts/bin/clang-cl.exe

add_compile_flags:
  - -I./out/debug_x64
  - -Wno-unknown-warning-option
  - -Wno-unknown-pragmas
remove_compile_flags:
  - -Werror
  - -Wunknown-pragmas

diagrams:
  content_settings_class_diagram:
    type: class
    glob:
      - components/content_settings/**/*.h
      - components/content_settings/**/*.cc
    include:
      namespaces: []
    exclude:
      namespaces:
       - base
    mermaid:
      before:
        - '%% Content Settings Class Diagram'


Well, it didnt work and gave me these errors after obtaining the translation unit:


ERROR: Failed to generate class diagram 'content_settings_class_diagram' due to following issues:
 - [WARNING] argument unused during compilation: '/c'
 - [ERROR] third_party/libc++/src/include/__memory_resource/memory_resource.h:30: reference to unresolved using declaration
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: using declaration annotated with 'using_if_exists' here
 - [ERROR] third_party/libc++/src/include/__memory_resource/memory_resource.h:30: reference to unresolved using declaration
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: using declaration annotated with 'using_if_exists' here
 - [ERROR] third_party/libc++/src/include/__memory_resource/polymorphic_allocator.h:86: reference to unresolved using declaration
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: using declaration annotated with 'using_if_exists' here
 - [ERROR] third_party/libc++/src/include/__memory_resource/polymorphic_allocator.h:86: reference to unresolved using declaration
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: using declaration annotated with 'using_if_exists' here
 - [ERROR] third_party/libc++/src/include/__memory_resource/polymorphic_allocator.h:90: reference to unresolved using declaration
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: using declaration annotated with 'using_if_exists' here
 - [ERROR] third_party/libc++/src/include/__memory_resource/polymorphic_allocator.h:90: reference to unresolved using declaration
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: using declaration annotated with 'using_if_exists' here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:38: use of undeclared identifier 'max_align_t'; did you mean 'std::max_align_t'?
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: 'std::max_align_t' declared here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:38: reference to unresolved using declaration
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: using declaration annotated with 'using_if_exists' here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:38: unknown type name 'max_align_t'
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:40: static assertion expression is not an integral constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:40: initializer of 'kAlignment' is unknown
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:37: declared here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:42: static assertion expression is not an integral constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:42: initializer of 'kAlignment' is unknown
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:37: declared here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:46: constexpr variable 'kAlignmentIndex' must be initialized by a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:46: initializer of 'kAlignment' is unknown
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:37: declared here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:47: static assertion expression is not an integral constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:47: initializer of 'kAlignment' is unknown
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:37: declared here
 - [ERROR] third_party/abseil-cpp/absl/functional/internal/any_invocable.h:85: reference to unresolved using declaration
 - [NOTE] third_party/libc++/src/include/__cstddef/max_align_t.h:22: using declaration annotated with 'using_if_exists' here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:55: constexpr variable 'kStep' must be initialized by a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:55: initializer of 'kAlignment' is unknown
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h:37: declared here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:63: constexpr function never produces a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:64: initializer of 'kStep' is not a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:55: declared here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:151: constexpr variable 'kMinExponential' must be initialized by a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:152: initializer of 'kStep' is not a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:55: declared here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:153: constexpr variable 'kMaxLinear' must be initialized by a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:154: initializer of 'kStep' is not a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:55: declared here
 - [ERROR] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:155: static assertion expression is not an integral constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:155: initializer of 'kMinExponential' is not a constant expression
 - [NOTE] base/allocator/partition_allocator/src/partition_alloc/bucket_lookup.h:151: declared here
 - [FATAL] too many errors emitted, stopping now

is it because of the mismatch of the clang version?
I see that chromium uses clang 22 git snapshot and clang-uml?

I even tried to build clang-uml using latest llvm version using CMAKE but it failed.

Please help me out!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions