| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Sema] Introduce BuiltinAttr, per-declaration builtin-ness
Instead of relying on whether a certain identifier is a builtin,
introduce BuiltinAttr to specify a declaration as having builtin
semantics.
This fixes incompatible redeclarations of builtins, as reverting the
identifier as being builtin due to one incompatible redeclaration
would have broken rest of the builtin calls.
Mostly-compatible redeclarations of builtins also no longer have
builtin semantics. They don't call the builtin nor inherit their
attributes.
A long-standing FIXME regarding builtins inside a namespace enclosed
in extern "C" not being recognized is also addressed.
Due to the more correct handling attributes for builtin functions are
added in more places, resulting in more useful warnings.
Tests are updated to reflect that.
Intrinsics without an inline definition in intrin.h had `inline` and
`static` removed as they had no effect and caused them to no longer
be recognized as builtins otherwise.
A pthread_create() related test is XFAIL-ed, as it relied on it being
recognized as a builtin based on its name.
The builtin declaration syntax is too restrictive and doesn't allow
custom structs, function pointers, etc.
It seems to be the only case and fixing this would require reworking
the current builtin syntax, so this seems acceptable.
Fixes PR45410.
Reviewed By: rsmith, yutsumi
Differential Revision: https://reviews.llvm.org/D77491
This should fix 'Assertion failed: (i < getNumParams() && "Illegal
param #"), function getParamDecl, file
/usr/src/contrib/llvm-project/clang/include/clang/AST/Decl.h, line 2430'
when building the graphics/pgplot port.
Note that there may also have been other ports which triggered this
assertion, if they redeclare standard functions with incompatible
arguments.
Reported by: zeising
MFC after: 6 weeks
X-MFC-With: r364284
Notes:
svn path=/head/; revision=365848
|
|
|
|
|
|
|
|
|
|
| |
release/11.x llvmorg-11.0.0-rc2-91-g6e042866c30.
MFC after: 6 weeks
X-MFC-With: r364284
Notes:
svn path=/head/; revision=365807
|
|
|
|
|
|
|
|
|
|
| |
release/11.x llvmorg-11.0.0-rc2-0-g414f32a9e86.
MFC after: 6 weeks
X-MFC-With: r364284
Notes:
svn path=/head/; revision=364718
|
|
|
|
|
|
|
| |
release/11.x llvmorg-11.0.0-rc1-47-gff47911ddfc.
Notes:
svn path=/projects/clang1100-import/; revision=364253
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang: Reject %n for __attribute__((format(__freebsd_kprintf__)))
A follow-up to r360849.
Reported by: imp
Reviewed by: emaste, imp
Differential Revision: https://reviews.freebsd.org/D24786
Notes:
svn path=/projects/clang1100-import/; revision=363980
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[PowerPC] enable atomic.c in compiler_rt and do not check and forces
lock/lock_free decisions in compiled time
Summary:
Enables atomic.c in compiler_rt and forces clang to not emit a call for runtime
decision about lock/lock_free. At compiling time, if clang can't decide if
atomic operation can be lock free, it emits calls to external functions like
`__atomic_is_lock_free`, `__c11_atomic_is_lock_free` and
`__atomic_always_lock_free`, postponing decision to a runtime check. According
to LLVM code documentation, the mechanism exists due to differences between
x86_64 processors that can't be decided at runtime.
On PowerPC and PowerPCSPE (32 bits), we already know in advance it can't be lock
free, so we force the decision at compile time and avoid having to implement it
in an external library.
This patch was made after 32 bit users testing the PowePC32 bit ISO reported
llvm could not be compiled with in-base llvm due to `__atomic_load8` not
implemented.
Submitted by: alfredo.junior_eldorado.org.br
Reviewed by: jhibbits, dim
Differential Revision: https://reviews.freebsd.org/D22549
Notes:
svn path=/projects/clang1100-import/; revision=363977
|
|
|
|
|
|
|
| |
release/11.x llvmorg-11-init-20933-g3c1fca803bc.
Notes:
svn path=/projects/clang1100-import/; revision=363743
|
|
|
|
|
|
|
|
|
|
|
|
| |
master 2e10b7a39b9, the last commit before the llvmorg-12-init tag, from
which release/11.x was branched.
Note that for now, I rolled back all our local changes to make merging
easier, and I will reapply the still-relevant ones after updating to
11.0.0-rc1.
Notes:
svn path=/projects/clang1100-import/; revision=363742
|
|
|
|
|
|
|
|
|
| |
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).
MFC after: 3 weeks
Notes:
svn path=/head/; revision=361410
|
|
|
|
|
|
|
|
|
|
|
|
| |
A follow-up to r360849.
Reported by: imp
Reviewed by: emaste, imp
X-MFC-With: r360849
Differential Revision: https://reviews.freebsd.org/D24786
Notes:
svn path=/head/; revision=360852
|
|
|
|
|
|
|
|
|
|
|
| |
llvmorg-10.0.0-rc4-5-g52c365aa9ca. The actual release should follow Real
Soon Now.
PR: 244251
MFC after: 6 weeks
Notes:
svn path=/head/; revision=359082
|
|
|
|
|
|
|
| |
commit llvmorg-10.0.0-rc3-1-gc290cb61fdc), and bump versions.
Notes:
svn path=/projects/clang1000-import/; revision=358682
|
|
|
|
|
|
|
|
| |
commit llvmorg-10.0.0-rc2-0-g90c78073f73), bump versions, and update
build glue.
Notes:
svn path=/projects/clang1000-import/; revision=357964
|
|
|
|
|
|
|
| |
commit llvmorg-10-init-17538-gd11abddb32f).
Notes:
svn path=/projects/clang1000-import/; revision=357099
|
|
|
|
|
|
|
| |
e26a78e70), and resolve conflicts.
Notes:
svn path=/projects/clang1000-import/; revision=357095
|
|
|
|
| |
Notes:
svn path=/projects/clang1000-import/; revision=356998
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lock/lock_free decisions in compiled time
Summary:
Enables atomic.c in compiler_rt and forces clang to not emit a call for runtime
decision about lock/lock_free. At compiling time, if clang can't decide if
atomic operation can be lock free, it emits calls to external functions like
`__atomic_is_lock_free`, `__c11_atomic_is_lock_free` and
`__atomic_always_lock_free`, postponing decision to a runtime check. According
to LLVM code documentation, the mechanism exists due to differences between
x86_64 processors that can't be decided at runtime.
On PowerPC and PowerPCSPE (32 bits), we already know in advance it can't be lock
free, so we force the decision at compile time and avoid having to implement it
in an external library.
This patch was made after 32 bit users testing the PowePC32 bit ISO reported
llvm could not be compiled with in-base llvm due to `__atomic_load8` not
implemented.
Submitted by: alfredo.junior_eldorado.org.br
Reviewed by: jhibbits, dim
Differential Revision: https://reviews.freebsd.org/D22549
Notes:
svn path=/head/; revision=356104
|
|
This uses the new layout of the upstream repository, which was recently
migrated to GitHub, and converted into a "monorepo". That is, most of
the earlier separate sub-projects with their own branches and tags were
consolidated into one top-level directory, and are now branched and
tagged together.
Updating the vendor area to match this layout is next.
Notes:
svn path=/head/; revision=355940
|