@@ -6,7 +6,7 @@
//
//===--===//
-// REQUIRES: target={{powerpc.*-ibm-aix.*}}
+// REQUIRES: target={{.+}}-aix{{.*}}
compnerd wrote:
But then we should be able to hoist these tests out of the
@@ -1982,7 +1982,7 @@ unsigned tools::ParseFunctionAlignment(const ToolChain
&TC,
return 0;
if (A->getOption().matches(options::OPT_falign_functions))
-return 0;
+return 4; // log2(16)
compnerd wrote:
This is not true. Quoting the documentation
@@ -1982,7 +1982,7 @@ unsigned tools::ParseFunctionAlignment(const ToolChain
&TC,
return 0;
if (A->getOption().matches(options::OPT_falign_functions))
-return 0;
+return 4; // log2(16)
compnerd wrote:
@pogo59 that is documented in the GCC docum
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/101257
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -286,6 +280,31 @@ inline bool operator==(const ContextTableKey &lhs, const
ContextTableKey &rhs) {
lhs.contextKind == rhs.contextKind && lhs.contextID == rhs.contextID;
}
+/// A stored Objective-C or C++ declaration, represented by the ID of its
parent
+/// conte
https://github.com/compnerd approved this pull request.
Interesting that we haven't had issues with storing the context kind instead of
the decl kind. Perhaps that was not being used?
https://github.com/llvm/llvm-project/pull/99358
___
cfe-commits mai
https://github.com/compnerd approved this pull request.
Minor nit on naming, don't think it matters.
https://github.com/llvm/llvm-project/pull/99512
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo
https://github.com/compnerd edited
https://github.com/llvm/llvm-project/pull/99512
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -794,6 +831,33 @@ void APINotesWriter::Implementation::writeObjCMethodBlock(
}
}
+void APINotesWriter::Implementation::writeCXXMethodBlock(
+llvm::BitstreamWriter &Stream) {
+ llvm::BCBlockRAII Scope(Stream, CXX_METHOD_BLOCK_ID, 3);
+
+ if (CXXMethods.empty())
+
@@ -958,12 +961,18 @@ class YAMLConverter {
ContextInfo CI;
auto TagCtxID = Writer.addContext(ParentContextID, T.Name,
ContextKind::Tag,
CI, SwiftVersion);
+Context TagCtx(TagCtxID, ContextKind::Tag);
for (const auto &CX
@@ -421,9 +424,8 @@ struct Tag {
std::optional EnumConvenienceKind;
std::optional SwiftCopyable;
FunctionsSeq Methods;
+ TagsSeq Tags;
compnerd wrote:
This would be confusing as the reader might expect all child tags to be here.
https://github.com/llvm
@@ -456,6 +458,7 @@ template <> struct MappingTraits {
IO.mapOptional("EnumKind", T.EnumConvenienceKind);
IO.mapOptional("SwiftCopyable", T.SwiftCopyable);
IO.mapOptional("Methods", T.Methods);
+IO.mapOptional("Tags", T.Tags);
compnerd wrote:
S
@@ -783,51 +783,76 @@ static void ProcessVersionedAPINotes(
}
}
+static std::optional
+UnwindNamespaceContext(DeclContext *DC, api_notes::APINotesManager &APINotes) {
+ if (auto NamespaceContext = dyn_cast(DC)) {
+for (auto Reader : APINotes.findAPINotes(NamespaceContex
@@ -899,6 +924,10 @@ void Sema::ProcessAPINotes(Decl *D) {
}
for (auto Reader : APINotes.findAPINotes(D->getLocation())) {
+if (Tag->getName() == "inner_char_box")
+ llvm::errs();
compnerd wrote:
Debugging left overs?
https://git
@@ -456,6 +458,7 @@ template <> struct MappingTraits {
IO.mapOptional("EnumKind", T.EnumConvenienceKind);
IO.mapOptional("SwiftCopyable", T.SwiftCopyable);
IO.mapOptional("Methods", T.Methods);
+IO.mapOptional("Tags", T.Tags);
compnerd wrote:
H
@@ -783,51 +783,76 @@ static void ProcessVersionedAPINotes(
}
}
+static std::optional
+UnwindNamespaceContext(DeclContext *DC, api_notes::APINotesManager &APINotes) {
+ if (auto NamespaceContext = dyn_cast(DC)) {
+for (auto Reader : APINotes.findAPINotes(NamespaceContex
@@ -783,51 +783,76 @@ static void ProcessVersionedAPINotes(
}
}
+static std::optional
+UnwindNamespaceContext(DeclContext *DC, api_notes::APINotesManager &APINotes) {
+ if (auto NamespaceContext = dyn_cast(DC)) {
+for (auto Reader : APINotes.findAPINotes(NamespaceContex
@@ -456,6 +458,7 @@ template <> struct MappingTraits {
IO.mapOptional("EnumKind", T.EnumConvenienceKind);
IO.mapOptional("SwiftCopyable", T.SwiftCopyable);
IO.mapOptional("Methods", T.Methods);
+IO.mapOptional("Tags", T.Tags);
compnerd wrote:
I
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/99655
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/compnerd edited
https://github.com/llvm/llvm-project/pull/90064
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -527,6 +527,13 @@ class TagTableInfo
Info.EnumExtensibility =
static_cast((Payload & 0x3) - 1);
+uint8_t Copyable =
+endian::readNext(Data);
+if (Copyable == 1)
+ Info.setSwiftCopyable(std::optional(false));
+else if (Copyable == 2)
@@ -1125,10 +1125,10 @@ class CommonTypeTableInfo
class TagTableInfo : public CommonTypeTableInfo {
public:
unsigned getUnversionedInfoSize(const TagInfo &TI) {
-return 2 + (TI.SwiftImportAs ? TI.SwiftImportAs->size() : 0) +
- 2 + (TI.SwiftRetainOp ? TI.SwiftRet
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/90064
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1146,6 +1146,12 @@ class TagTableInfo : public
CommonTypeTableInfo {
writer.write(Flags);
+if (auto Copyable = TI.isSwiftCopyable()) {
compnerd wrote:
Unnecessary braces and we should be able to use the named constants here.
https://github.com/
compnerd wrote:
> @compnerd I just realised I didn't respond to your concern. Apologies.
>
> > I think that the concern that I have is that do we have sufficient testing
> > for supporting line-ending dependent behaviour in the compiler?
>
> For the first part: I don't know that it matters, si
compnerd wrote:
> changes to `clang/test/CXX/lex/lex.literal/lex.string/p4.cpp` should be
> reverted (it's a CRLF related test)
This is the type of problems that I am concerned about. We certainly have some
tests which are line-ending sensitive, and each test should be audited before
we make
compnerd wrote:
> Also, it's a bit funny to have .bat files without CRLF endings given that
> they run on Windows.
I'm not sure about the funny bit - but certainly dangerous. I've had cmd
misinterpret batch files with LF vs CRLF.
https://github.com/llvm/llvm-project/pull/86318
___
@@ -322,6 +323,46 @@ static bool actionRequiresCodeGen(BackendAction Action) {
Action != Backend_EmitLL;
}
+static std::string flattenClangCommandLine(ArrayRef Args,
+ StringRef MainFilename) {
+ if (Args.empty())
+ {
---
@@ -2764,10 +2771,59 @@ void AsmPrinter::emitJumpTableInfo() {
for (const MachineBasicBlock *MBB : JTBBs)
emitJumpTableEntry(MJTI, MBB, JTI);
}
+
+ if (EmitJumpTableSizesSection)
+emitJumpTableSizesSection(MJTI, F);
+
if (!JTInDiffSection)
OutStreamer->
@@ -321,6 +322,41 @@ static bool actionRequiresCodeGen(BackendAction Action) {
Action != Backend_EmitLL;
}
+static std::string flattenClangCommandLine(ArrayRef Args,
+ StringRef MainFilename) {
+ std::string FlatCmdLine;
+ raw_st
@@ -2764,10 +2771,59 @@ void AsmPrinter::emitJumpTableInfo() {
for (const MachineBasicBlock *MBB : JTBBs)
emitJumpTableEntry(MJTI, MBB, JTI);
}
+
+ if (EmitJumpTableSizesSection)
+emitJumpTableSizesSection(MJTI, F);
+
if (!JTInDiffSection)
OutStreamer->
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/101962
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/98201
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/compnerd closed
https://github.com/llvm/llvm-project/pull/92291
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/compnerd approved this pull request.
Sounds good. I wonder if this was used at one point and we removed that?
https://github.com/llvm/llvm-project/pull/98943
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.
compnerd wrote:
The `.debug_` prefix is for DEARF content, is this being proposed to the DWARF
standard?
https://github.com/llvm/llvm-project/pull/101962
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/li
Author: Saleem Abdulrasool
Date: 2021-01-08T20:49:28Z
New Revision: 16fdc5da89068f646c153c6bd6c493b1d666bfbf
URL:
https://github.com/llvm/llvm-project/commit/16fdc5da89068f646c153c6bd6c493b1d666bfbf
DIFF:
https://github.com/llvm/llvm-project/commit/16fdc5da89068f646c153c6bd6c493b1d666bfbf.diff
Author: Saleem Abdulrasool
Date: 2021-09-14T08:12:10-07:00
New Revision: d0d9e6f0849b2e76e980e2edf365302f47f4e35f
URL:
https://github.com/llvm/llvm-project/commit/d0d9e6f0849b2e76e980e2edf365302f47f4e35f
DIFF:
https://github.com/llvm/llvm-project/commit/d0d9e6f0849b2e76e980e2edf365302f47f4e35f.
Author: Saleem Abdulrasool
Date: 2021-09-14T10:52:35-07:00
New Revision: 49992c04148e5327bef9bd2dff53a0d46004b4b4
URL:
https://github.com/llvm/llvm-project/commit/49992c04148e5327bef9bd2dff53a0d46004b4b4
DIFF:
https://github.com/llvm/llvm-project/commit/49992c04148e5327bef9bd2dff53a0d46004b4b4.
Author: Saleem Abdulrasool
Date: 2021-09-15T20:52:55Z
New Revision: d249200fa7d540fb0b3ddc065575293e1da11107
URL:
https://github.com/llvm/llvm-project/commit/d249200fa7d540fb0b3ddc065575293e1da11107
DIFF:
https://github.com/llvm/llvm-project/commit/d249200fa7d540fb0b3ddc065575293e1da11107.diff
@@ -2764,6 +2770,27 @@ void AsmPrinter::emitJumpTableInfo() {
for (const MachineBasicBlock *MBB : JTBBs)
emitJumpTableEntry(MJTI, MBB, JTI);
}
+
+ if (EmitJumpTableSizesSection && TM.getTargetTriple().isOSBinFormatELF() &&
compnerd wrote:
Outside
@@ -0,0 +1,97 @@
+; RUN: llc %s -o - -emit-jump-table-sizes-section -verify-machineinstrs
--relocation-model=pic | FileCheck --check-prefix=CHECK %s
+; RUN: llc %s -o - -verify-machineinstrs --relocation-model=pic | FileCheck
--check-prefix=NOFLAG %s
compnerd wr
@@ -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)
compnerd wrote:
This will ove
@@ -108,6 +108,10 @@ macro(add_clang_library name)
endif()
llvm_add_library(${name} ${LIBTYPE} ${ARG_UNPARSED_ARGUMENTS} ${srcs})
+ if(NOT ARG_SHARED AND NOT ARG_STATIC)
+target_compile_definitions("obj.${name}" PRIVATE CLANG_EXPORTS)
compnerd wrote:
https://github.com/compnerd commented:
Should the call be prior to the assert?
https://github.com/llvm/llvm-project/pull/112768
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,153 @@
+//===-- amdgpuintrin.h - AMDPGU intrinsic functions
---===//
+//
+// 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: Ap
@@ -0,0 +1,153 @@
+//===-- amdgpuintrin.h - AMDPGU intrinsic functions
---===//
+//
+// 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: Ap
@@ -1165,6 +1188,23 @@ void Writer::createMiscChunks() {
llvm::TimeTraceScope timeScope("Misc chunks");
Configuration *config = &ctx.config;
+ auto searchForPgoMagicSection = [this](char sectionName[]) {
+for (auto *obj : ctx.objFileInstances) {
+ for (auto &chun
compnerd wrote:
> pre-commit actions are expensive, but I think we could afford to do something
> here. It is not hard to set up a DLL build of an ELF DSO build that uses
> these annotations, and it's cheaper than a fully static build.
Having a fast incremental build for DLL-enabled LLVM/clang
compnerd wrote:
Thanks @AaronBallman - @egorzhdan was nice enough to reach out to me earlier
and I am fine with co-maintaining the APINotes.
https://github.com/llvm/llvm-project/pull/114981
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https
@@ -444,6 +454,16 @@ class ParamInfo : public VariableInfo {
NoEscape = Value.value_or(false);
}
+ std::optional isLifetimebound() const {
+if (!LifetimeboundSpecified)
+ return std::nullopt;
+return Lifetimebound;
compnerd wrote:
```sugge
@@ -860,13 +868,12 @@ void Sema::ProcessAPINotes(Decl *D) {
if (!D)
return;
+ auto *DC = D->getDeclContext();
// Globals.
- if (D->getDeclContext()->isFileContext() ||
- D->getDeclContext()->isNamespace() ||
- D->getDeclContext()->isExternCContext() ||
-
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/114830
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -730,7 +731,9 @@ class YAMLConverter {
}
}
- void convertParams(const ParamsSeq &Params, FunctionInfo &OutInfo) {
+ std::optional convertParams(const ParamsSeq &Params,
+ FunctionInfo &OutInfo) {
compnerd wrot
@@ -516,7 +524,17 @@ class CXXMethodTableInfo
static CXXMethodInfo readUnversioned(internal_key_type Key,
const uint8_t *&Data) {
CXXMethodInfo Info;
+
+uint8_t Payload = *Data++;
+bool HasThis = Payload & 0x01;
+Payload
@@ -926,11 +935,17 @@ class YAMLConverter {
TheNamespace.Items, SwiftVersion);
}
- void convertFunction(const Function &Function, FunctionInfo &FI) {
+ template
+ void convertFunction(const Function &Function, FuncOrMethodInfo &FI) {
convert
@@ -730,7 +731,9 @@ class YAMLConverter {
}
}
- void convertParams(const ParamsSeq &Params, FunctionInfo &OutInfo) {
+ std::optional convertParams(const ParamsSeq &Params,
+ FunctionInfo &OutInfo) {
+std::optional thisOrSelf;
@@ -793,12 +802,22 @@ class CXXMethodTableInfo
return static_cast(key.hashValue());
}
- unsigned getUnversionedInfoSize(const CXXMethodInfo &OMI) {
-return getFunctionInfoSize(OMI);
+ unsigned getUnversionedInfoSize(const CXXMethodInfo &CxxMI) {
+auto size = ge
@@ -739,10 +742,16 @@ class YAMLConverter {
PI.setLifetimebound(P.Lifetimebound);
PI.setType(std::string(P.Type));
PI.setRetainCountConvention(P.RetainCountConvention);
- if (OutInfo.Params.size() <= P.Position)
+ if (static_cast(OutInfo.Params.size(
@@ -396,12 +397,19 @@ class ObjCMethodTableInfo
const uint8_t *&Data) {
ObjCMethodInfo Info;
uint8_t Payload = *Data++;
+bool HasSelf = Payload & 0x01;
+Payload >>= 1;
Info.RequiredInit = Payload & 0x01;
Payload
https://github.com/compnerd edited
https://github.com/llvm/llvm-project/pull/115866
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -647,6 +647,13 @@ static void ProcessAPINotes(Sema &S, TagDecl *D, const
api_notes::TagInfo &Info,
D->addAttr(SwiftAttrAttr::Create(S.Context, "~Copyable"));
}
+ if (auto Escapable = Info.isSwiftEscapable()) {
+if (*Escapable)
+ D->addAttr(SwiftAttrAttr::
@@ -589,10 +589,16 @@ class TagTableInfo
uint8_t Copyable =
endian::readNext(Data);
-if (Copyable == kSwiftNonCopyable)
+if (Copyable == kSwiftDoesNotConform)
Info.setSwiftCopyable(std::optional(false));
-else if (Copyable == kSwiftCopyable)
+
@@ -757,6 +763,15 @@ class TagInfo : public CommonTypeInfo {
SwiftCopyable = Value.value_or(false);
}
+ std::optional isSwiftEscapable() const {
+return SwiftEscapableSpecified ? std::optional(SwiftEscapable)
+ : std::nullopt;
+ }
@@ -1266,11 +1266,11 @@ class CommonTypeTableInfo
class TagTableInfo : public CommonTypeTableInfo {
public:
unsigned getUnversionedInfoSize(const TagInfo &TI) {
-return 2 + (TI.SwiftImportAs ? TI.SwiftImportAs->size() : 0) +
- 2 + (TI.SwiftRetainOp ? TI.SwiftRet
https://github.com/compnerd approved this pull request.
Some minor comments left.
https://github.com/llvm/llvm-project/pull/115866
___
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
@@ -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
@@ -7,6 +7,7 @@
#
//======//
set(LLVM_LINK_COMPONENTS Support)
-add_clang_tool(nvptx-arch NVPTXArch.cpp)
+add_clang_tool(nvptx-arch DISABLE_CLANG_LINK_DYLIB
compnerd wrote:
Likewise
https:/
@@ -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
compnerd wrote:
Why is this not allowed? Can we add a note about this?
@@ -26,7 +26,7 @@ if(NOT CLANG_BUILT_STANDALONE)
set(tablegen_deps intrinsics_gen LinkerWrapperOpts)
endif()
-add_clang_tool(clang-linker-wrapper
+add_clang_tool(clang-linker-wrapper DISABLE_CLANG_LINK_DYLIB
compnerd wrote:
Similar
https://github.com/llvm/
@@ -1,3 +1,7 @@
+if(EXISTS ${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen AND CLANG_BUILT_STANDALONE)
compnerd wrote:
I think that I would rather have the cases mirrored here - the path should
always exist in general, it is only the standalone case that is special.
@@ -1,3 +1,7 @@
+if(EXISTS ${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen AND CLANG_BUILT_STANDALONE)
+ add_subdirectory(${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen llvm/lib/CodeGen)
+endif()
compnerd wrote:
IIRC, even in the standalone case, you need to identify the L
@@ -31,6 +31,7 @@ set(LLVM_LINK_COMPONENTS
Target
TargetParser
TransformUtils
+ CodeGenTypes
compnerd wrote:
This is duplicated (L6).
https://github.com/llvm/llvm-project/pull/109601
___
cfe-commits mailing l
@@ -31,6 +31,7 @@ set(LLVM_LINK_COMPONENTS
Target
TargetParser
TransformUtils
+ LLVMCodeGenTypes
compnerd wrote:
These are lexicographically sorted, please maintain that invariant.
https://github.com/llvm/llvm-project/pull/109601
__
compnerd wrote:
> @compnerd @etcwilde WDYT about conditionalizing the new dependency with an
> `if (TARGET vt_gen)` instead of doing the `add_subdirectory()` dance?
Ugh, I misread the change as `include_directories`. The `add_subdirectory` is
definitely odd and I'm not sure if that is a proper
@@ -1,3 +1,7 @@
+if(EXISTS ${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen AND CLANG_BUILT_STANDALONE)
+ add_subdirectory(${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen llvm/lib/CodeGen)
+endif()
compnerd wrote:
The issue is that the `vt_gen` target is undefined. This is _
https://github.com/compnerd edited
https://github.com/llvm/llvm-project/pull/109601
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/compnerd approved this pull request.
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
@@ -189,19 +190,23 @@
#define LLVM_TEMPLATE_ABI __declspec(dllimport)
#define LLVM_EXPORT_TEMPLATE
#endif
+#define LLVM_ABI_EXPORT __declspec(dllexport)
compnerd wrote:
Why is this being added? I'm weary of any macro that is always export only
because the val
@@ -165,4 +166,8 @@ const std::list>
&getAttributePluginInstances();
} // namespace clang
+namespace llvm {
+extern template class CLANG_TEMPLATE_ABI llvm::Registry;
compnerd wrote:
```suggestion
extern template class CLANG_TEMPLATE_ABI Registry;
```
This
compnerd 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.)
The symbol lookup in PE/COFF is two level and symmetr
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/109457
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/109306
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1,3 +1,7 @@
+if(EXISTS ${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen AND CLANG_BUILT_STANDALONE)
+ add_subdirectory(${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen llvm/lib/CodeGen)
+endif()
compnerd wrote:
No, `LLVM_DIR` is passed to the CMake configure step to locat
@@ -1,3 +1,7 @@
+if(EXISTS ${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen AND CLANG_BUILT_STANDALONE)
+ add_subdirectory(${LLVM_MAIN_SRC_DIR}/include/llvm/CodeGen llvm/lib/CodeGen)
+endif()
compnerd wrote:
https://github.com/llvm/llvm-project/blob/main/llvm/cmake/mod
https://github.com/compnerd edited
https://github.com/llvm/llvm-project/pull/109601
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
compnerd wrote:
> Looking at Format.h (the only file I'm interested in), there feels to me to
> be things in the ABI that I wouldn't expect to be called externally, I don't
> know enough about what's involved in creating a DLL ABI but I wouldn't want
> some of the clang-format functions to be
@@ -730,7 +731,9 @@ class YAMLConverter {
}
}
- void convertParams(const ParamsSeq &Params, FunctionInfo &OutInfo) {
+ std::optional convertParams(const ParamsSeq &Params,
+ FunctionInfo &OutInfo) {
compnerd wrot
https://github.com/compnerd approved this pull request.
https://github.com/llvm/llvm-project/pull/115021
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
compnerd wrote:
> > The default behaviour of `ids` is to assume that anything declared in the
> > header is public and it will ensure that anything added in the headers is
> > annotated properly to say it is exposed, making something private would be
> > an explicit decision that the developer
compnerd wrote:
> Well, we're currently approaching this from the angle of "expose everything
> and then the user can do whatever they want", but perhaps the discussion we
> should be having is "what use cases do we explicitly want to support?" and
> then we write plugins to demonstrate that w
@@ -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"
compnerd wrote:
We should document the option. Why is it specific to cl
@@ -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
@@ -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"
compnerd wrote:
It is unclear what this new option (`CLANG_IMPORT`) doe
@@ -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
compnerd 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 multipl
compnerd wrote:
> But this before we do that, we need to have some kind of mechanism in place
> so we can actually enumerate the AP However, we already expose everything in
> the API, and just adding the annotations doesn't change that (although I
> think it may slightly reduce the number of s
@@ -46,6 +46,9 @@ typedef struct {
/**
* Retrieve the character data associated with the given string.
+ *
+ * The caller shouldn't free the returned string data, and the returned string
+ * data shouldn't be accessed after the \c CXString disposed.
compnerd
https://github.com/compnerd edited
https://github.com/llvm/llvm-project/pull/119090
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
901 - 1000 of 1039 matches
Mail list logo