fsfod wrote:
I guess I must of broke build for the MSVC MSBuild/vcxproj CMake generator as
well, maybe it can use the same kind checks as earlier code like this
``` cmake
if(NOT XCODE AND NOT MSVC_IDE)
target_compile_definitions("obj.${name}" PUBLIC CLANG_EXPORTS)
else()
target_compile_defin
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/112304
>From d41e927e0f437e09cb320b4594f958cb18e30116 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Tue, 15 Oct 2024 04:42:35 +0100
Subject: [PATCH 1/2] [clangd] Update clangDaemonTweaks to set symbol
visibility
fsfod wrote:
Yes I could rename it and make it the set symbol visibility macros to export
instead.
https://github.com/llvm/llvm-project/pull/112304
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo
fsfod wrote:
> I can absolutely see the value in the opposite - minimise the ABI surface.
> For many projects, there is a split of internal and external headers. The
> idea is that this tool is only run on the external headers, so those are
> meant to be ABI.
There were multiple internals hea
@@ -47,7 +47,7 @@ endmacro()
macro(add_clang_library name)
cmake_parse_arguments(ARG
-"SHARED;STATIC;INSTALL_WITH_TOOLCHAIN"
+"SHARED;STATIC;INSTALL_WITH_TOOLCHAIN;CLANG_IMPORT"
fsfod wrote:
Its not possible to infer if a OBJECT target should be imp
@@ -114,7 +114,7 @@ macro(add_clang_library name)
if(TARGET "obj.${name}")
target_compile_definitions("obj.${name}" PUBLIC CLANG_BUILD_STATIC)
endif()
- elseif(NOT ARG_SHARED AND NOT ARG_STATIC)
+ elseif(NOT ARG_SHARED AND NOT ARG_STATIC AND NOT ARG_CLANG_IMPORT
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109362
>From f4e51ecd076a73d1ebc7a439001d0ed22071b019 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Mon, 8 Jul 2024 01:48:46 +0100
Subject: [PATCH 1/2] [Clang][TableGen] Add explicit symbol visibility macros
to c
fsfod wrote:
The fix for the gn build system would be to unconditionally define
CLANG_BUILD_STATIC for the windows platform for now.
https://github.com/llvm/llvm-project/pull/112640
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists
fsfod wrote:
Its strange that visibility macros are enabled for windows but its not a shared
library build, idk if the gn build script need to be manually updated to define
the macros correctly to turn off visibility macros by default.
https://github.com/llvm/llvm-project/pull/112640
_
fsfod wrote:
> I'd like some answer about how we plan to ensure the macros remain correct.
> Short-term, "someone periodically runs the tool manually" might be good
> enough if we don't expect much churn, I guess.
Missing macros on some classes or functions shouldn't break any existing
config
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108051
>From 7761ab1ad8eee08fa86aba04e89f7aab5064cb4f Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Sat, 7 Sep 2024 15:53:09 +0100
Subject: [PATCH 1/8] [llvm] Support llvm::Any across shared libraries on
windows
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108051
>From 7761ab1ad8eee08fa86aba04e89f7aab5064cb4f Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Sat, 7 Sep 2024 15:53:09 +0100
Subject: [PATCH 1/7] [llvm] Support llvm::Any across shared libraries on
windows
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108051
>From 7761ab1ad8eee08fa86aba04e89f7aab5064cb4f Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Sat, 7 Sep 2024 15:53:09 +0100
Subject: [PATCH 1/6] [llvm] Support llvm::Any across shared libraries on
windows
fsfod wrote:
idk if this was kinda the explanation you were after or not
https://discourse.llvm.org/t/supporting-llvm-build-llvm-dylib-on-windows/58891
https://github.com/llvm/llvm-project/pull/108051
___
cfe-commits mailing list
cfe-commits@lists.llv
fsfod wrote:
> What are the implications/requirements for users of DataflowAnalysis? Every
> instance specifices it's own lattice, which is converted to/from llvm::Any.
> Will every lattice definition require these new declarations?
If you think they will be used from external from the llvm li
fsfod wrote:
> > @ymand, is your concern resolved?
>
> Sorry, it isn't -- a) we still need comments with at least minimal
> explanation and b) I'm not sure why the definition is now in
> TypeErasedDataflowAnalysis.cpp -- is this because we lack NoopAnalysis.cpp?
> If so, why is TypeErasedData
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108051
>From e39aee57ce8a98723f40f67ae33808bc6213c61d Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Sat, 7 Sep 2024 15:53:09 +0100
Subject: [PATCH 1/5] [llvm] Support llvm::Any across shared libraries on
windows
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/112640
Fix missing extern templates for llvm::Registry use in other projects of llvm
Windows doesn't implicitly import and merge exported symbols across shared
libraries
like Linux does so we need to explicitly export/i
https://github.com/fsfod ready_for_review
https://github.com/llvm/llvm-project/pull/109702
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
fsfod wrote:
It looks like that build bot has there own custom warning a errors set, but if
i put the template static variable definitions back in the header Linux will
have linker errors.
https://github.com/llvm/llvm-project/pull/109024
___
cfe-comm
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/112304
Update clangDaemonTweaks cmake target to set explicit symbol visibility macros
to correct mode for windows.
This will fix linker duplicate symbols errors from clangDaemonTweaks exporting
clang symbols instead of
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108051
>From e39aee57ce8a98723f40f67ae33808bc6213c61d Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Sat, 7 Sep 2024 15:53:09 +0100
Subject: [PATCH 1/4] [llvm] Support llvm::Any across shared libraries on
windows
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109024
>From beef0d9f53f05c31041677101577929281e908b1 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Wed, 28 Aug 2024 16:08:52 +0100
Subject: [PATCH 1/8] Update llvm::Registry to work for LLVM shared library
build
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108276
>From fff6064a63ddf85857ea5036333866317a156ffc Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Tue, 10 Sep 2024 02:22:18 +0100
Subject: [PATCH 1/9] [Clang] Add explicit visibility symbol macros and update
CM
@@ -0,0 +1,67 @@
+//===-- clang/Support/Compiler.h - Compiler abstraction support -*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -0,0 +1,67 @@
+//===-- clang/Support/Compiler.h - Compiler abstraction support -*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -0,0 +1,67 @@
+//===-- clang/Support/Compiler.h - Compiler abstraction support -*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
fsfod wrote:
> These changes LGTM but precommit CI was unable to run, so it would be nice if
> that could be re-run to ensure it comes back green before landing.
It won't be able to pass until https://github.com/llvm/llvm-project/pull/108276
is merged.
https://github.com/llvm/llvm-project/pul
@@ -0,0 +1,67 @@
+//===-- clang/Support/Compiler.h - Compiler abstraction support -*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108276
>From fff6064a63ddf85857ea5036333866317a156ffc Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Tue, 10 Sep 2024 02:22:18 +0100
Subject: [PATCH 1/8] [Clang] Add explicit visibility symbol macros and update
CM
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108276
>From fff6064a63ddf85857ea5036333866317a156ffc Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Tue, 10 Sep 2024 02:22:18 +0100
Subject: [PATCH 1/7] [Clang] Add explicit visibility symbol macros and update
CM
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109024
>From fcb6837e5c6ff48bf261bae9d3cedda55da89a7e Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Wed, 28 Aug 2024 16:08:52 +0100
Subject: [PATCH 1/7] Update llvm::Registry to work for LLVM shared library
build
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109024
>From fcb6837e5c6ff48bf261bae9d3cedda55da89a7e Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Wed, 28 Aug 2024 16:08:52 +0100
Subject: [PATCH 1/6] Update llvm::Registry to work for LLVM shared library
build
fsfod wrote:
Processing just header is also much faster than a full build and I think it
would only have to run on changed headers and source files for a PR.
https://github.com/llvm/llvm-project/pull/109702
___
cfe-commits mailing list
cfe-commits@li
fsfod wrote:
@john-brawn-arm This may be hard to remember, but this a path you've tread
before could the LLVM_INSTANTIATE_REGISTRY just be changed to a fulll class
explicit template instantiation?
https://github.com/llvm/llvm-project/pull/109024
___
fsfod wrote:
If your stuck with having to include a class or function it in a public header
there will be a macro you can add to it so the Clang tool skips adding
visibility attributes added to it. At the file or folder level they can be
excluded by adding them to the export config file used b
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/110154
>From e58b244f90c0d9863a41721b7c981d5d853b3d38 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Thu, 26 Sep 2024 18:59:33 +0100
Subject: [PATCH] [Clang] Update Interpreter tests to use
clang_target_link_libra
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/110154
>From 064bc85cea9bab0295c92aac3c73df8054b0a036 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Thu, 26 Sep 2024 18:59:33 +0100
Subject: [PATCH] [Clang] Update Interpreter tests to use
clang_target_link_libra
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/110206
This will fix missing symbols for ASTMatchersTests on windows when building
with CLANG_LINK_CLANG and explicit visibility macros are used. This PR depends
on macros that will be be added in #108276
This is part o
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/110154
This will fix duplicate and missing linker symbol errors when using
CLANG_LINK_CLANG_DYLIB on windows and explicit visibility macros are used.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and plugins o
https://github.com/fsfod ready_for_review
https://github.com/llvm/llvm-project/pull/108276
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108276
>From c842394a368fa51ddad78f9c0a7efe2026425b52 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Tue, 10 Sep 2024 02:22:18 +0100
Subject: [PATCH 1/6] [Clang] Add explicit visibility symbol macros and update
CM
@@ -0,0 +1,69 @@
+//===-- clang/Support/Compiler.h - Compiler abstraction support -*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -8,6 +8,7 @@
set(LLVM_LINK_COMPONENTS Support)
-add_clang_tool(amdgpu-arch AMDGPUArch.cpp AMDGPUArchByHSA.cpp
AMDGPUArchByHIP.cpp)
+add_clang_tool(amdgpu-arch DISABLE_CLANG_LINK_DYLIB
fsfod wrote:
There using target_link_libraries instead of clang_target
https://github.com/fsfod converted_to_draft
https://github.com/llvm/llvm-project/pull/109702
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fsfod edited https://github.com/llvm/llvm-project/pull/109702
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fsfod edited https://github.com/llvm/llvm-project/pull/109702
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fsfod edited https://github.com/llvm/llvm-project/pull/109702
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,69 @@
+//===-- clang/Support/Compiler.h - Compiler abstraction support -*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
https://github.com/fsfod edited https://github.com/llvm/llvm-project/pull/109702
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
fsfod wrote:
@AaronBallman I've added some missing extern template entries for Clang.
clang-tools-extra also needs some idk if you ok adding them to this PR as well.
https://github.com/llvm/llvm-project/pull/109024
___
cfe-commits mailing list
cfe-com
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/109457
Enable building clang-cpp shared library for windows when building with
explicit visibility macros enabled and LLVM is built as a shared
library(LLVM_BUILD_LLVM_DYLIB_VIS).
This is part of the effort to support f
https://github.com/fsfod edited https://github.com/llvm/llvm-project/pull/109362
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -189,19 +190,23 @@
#define LLVM_TEMPLATE_ABI __declspec(dllimport)
#define LLVM_EXPORT_TEMPLATE
#endif
+#define LLVM_ABI_EXPORT __declspec(dllexport)
fsfod wrote:
I added a comment to try and explains its use and behaviour.
https://github.com/llvm/llvm-pro
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108276
>From 35af05f255db5aef2841212ff35f04eb5e967d93 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Tue, 10 Sep 2024 02:22:18 +0100
Subject: [PATCH 1/4] [Clang] Add explicit visibility symbol macros and update
CM
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109024
>From fcb6837e5c6ff48bf261bae9d3cedda55da89a7e Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Wed, 28 Aug 2024 16:08:52 +0100
Subject: [PATCH 1/5] Update llvm::Registry to work for LLVM shared library
build
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109024
>From fcb6837e5c6ff48bf261bae9d3cedda55da89a7e Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Wed, 28 Aug 2024 16:08:52 +0100
Subject: [PATCH 1/4] Update llvm::Registry to work for LLVM shared library
build
https://github.com/fsfod edited https://github.com/llvm/llvm-project/pull/109362
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
fsfod wrote:
> One thing I don't understand about this PR is why we need Compiler.h in Clang
> -- wouldn't the LLVM definitions in their Compiler.h work for Clang as well?
> (This would probably be worth explaining in the patch summary.)
We could if we didn't need the visibility macros in diff
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109362
>From 363e96ba9ed442698c134f7f716a667e65ba3dbb Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Mon, 8 Jul 2024 01:48:46 +0100
Subject: [PATCH 1/2] [Clang][TableGen] Add explicit symbol visibility macros
to c
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/109362
Update ClangAttrEmitter TableGen to add explicit symbol visibility macros to
class declarations it creates.
Both AnnotateFunctions and Attribute example plugins require
clang::AnnotateAttr TableGen created functi
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109321
>From 41cfaf1dff9b47c3bb6755290aa23bedb80c9ef2 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Thu, 19 Sep 2024 16:53:20 +0100
Subject: [PATCH] [clang-tools-extra] Fix add_clang_library usage
If a add_clang_
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/109321
If a add_clang_library call doesn't specify building as static or shared
library they are implicitly added to the list static libraries that is linked
in to clang-cpp shared library here.
https://github.com/llvm/
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/109319
Change the Attribute example plugin to use clang_target_link_libraries instead
of target_link_libraries so libclang-cpp is linked when the
CLANG_LINK_CLANG_DYLIB CMake option is used.
This change will allow buil
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/109024
>From fcb6837e5c6ff48bf261bae9d3cedda55da89a7e Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Wed, 28 Aug 2024 16:08:52 +0100
Subject: [PATCH 1/3] Update llvm::Registry to work for LLVM shared library
build
@@ -189,19 +190,23 @@
#define LLVM_TEMPLATE_ABI __declspec(dllimport)
#define LLVM_EXPORT_TEMPLATE
#endif
+#define LLVM_ABI_EXPORT __declspec(dllexport)
fsfod wrote:
Its macro I mentioned earlier initial explanation about being used in Clang and
LLVM, it shou
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/109024
This is part of the effort to support for enabling plugins on windows by adding
better support for building llvm and clang as a DLL.
Since windows doesn't implicitly import and merge exported symbols across
shar
@@ -166,7 +166,7 @@ if(ENABLE_SHARED)
set_target_properties(libclang
PROPERTIES
VERSION ${LIBCLANG_LIBRARY_VERSION}
- DEFINE_SYMBOL _CINDEX_LIB_)
+ DEFINE_SYMBOL _CINDEX_LIB_ DEFINE_SYMBOL CLANG_EXPORTS)
fsfod wrote:
I've fixed this
https://github.com/fsfod updated
https://github.com/llvm/llvm-project/pull/108276
>From 35af05f255db5aef2841212ff35f04eb5e967d93 Mon Sep 17 00:00:00 2001
From: Thomas Fransham
Date: Tue, 10 Sep 2024 02:22:18 +0100
Subject: [PATCH 1/3] [Clang] Add explicit visibility symbol macros and update
CM
https://github.com/fsfod created
https://github.com/llvm/llvm-project/pull/108276
This is part of the effort to support for enabling plugins on windows by adding
better support for building llvm and clang as a DLL. These macros are similar
to the ones i added in #96630, but are for clang.
Add
70 matches
Mail list logo