mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 00:56:06 +00:00

Token pasted by the preprocessor (through ##) have a Spelling pointing to scratch buffer. As a result they are not recognized at system macro, even though the pasting happened in a system macro. Fix that by looking into the parent macro if the original lookup finds a scratch buffer. Differential Revision: https://reviews.llvm.org/D55782 This effectively fixes https://bugs.llvm.org/show_bug.cgi?id=35268, llvm-svn: 352838
10 lines
281 B
C++
10 lines
281 B
C++
extern int __isnanf(float f);
|
|
extern int __isnan(double f);
|
|
extern int __isnanl(long double f);
|
|
#define isnan(x) \
|
|
(sizeof (x) == sizeof (float) \
|
|
? __isnanf (x) \
|
|
: sizeof (x) == sizeof (double) \
|
|
? __isnan (x) : __isnanl (x))
|
|
|