1. [ELF] Initialize 2 fields of Symbol in SymbolTable::insert (details)
  2. Add __has_builtin support for builtin function-like type traits. (details)
Commit f1d538cce54b4a2ae06b07cf5323b0137f5385d3 by maskray
[ELF] Initialize 2 fields of Symbol in SymbolTable::insert
A new symbol is added to elf::symtab in 3 steps:
1) SymbolTable::insert creates a placeholder. 2) Symbol::mergeProperties
3) Symbol::replace
Fields referenced by steps 2) and 3) should be initialized in
SymbolTable::insert.  `traced` and `referenced` were missed previously.
This did not cause problems because compilers generated code that
initialized them (bit fields) to 0.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D66130
llvm-svn: 368784
The file was modifiedlld/ELF/SymbolTable.cpp (diff)
The file was modifiedlld/ELF/Symbols.h (diff)
Commit dac3ea4eb3f6fc75be4305b9b7ed1a861ea5993e by richard-llvm
Add __has_builtin support for builtin function-like type traits.
Summary: Previously __has_builtin(__builtin_*) would return false for
__builtin_*s that we modeled as keywords rather than as functions
(because they take type arguments). With this patch, all builtins that
are called with function-call-like syntax return true from
__has_builtin (covering __builtin_* and also the __is_* and __has_* type
traits and the handful of similar builtins without such a prefix).
Update the documentation on __has_builtin and on type traits to match.
While doing this I noticed the type trait documentation was out of date
and incomplete; that's fixed here too.
Reviewers: aaron.ballman
Subscribers: jfb, kristina, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66100
llvm-svn: 368785
The file was addedclang/test/Preprocessor/feature_tests.cpp
The file was modifiedclang/docs/LanguageExtensions.rst (diff)
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp (diff)
The file was modifiedclang/test/Preprocessor/feature_tests.c (diff)
The file was modifiedclang/include/clang/Basic/TokenKinds.def (diff)
The file was modifiedclang/include/clang/Basic/Features.def (diff)