This is an archive of the discontinued LLVM Phabricator instance.

PR20958: Allow __builtin_isnan to be declared.
AbandonedPublic

Authored by • chatur01 on Apr 23 2015, 5:31 AM.

Details

Reviewers
None
Summary

Before this patch, a builtin which takes only a variadic argument,
such as,

int __builtin_isnan(...);

Was actually getting declared as,

int __builtin_isnan();

Tis was causing several problem, one is described in PR20958. The
special-casing of this variadic argument has been removed. It
uncovered MS's __noop builtin was incorrectly handled. We don't care
about the semantics of those arguments, so the builtin definition for
it has been updated as such.

A further wart exposed here was the declaration of vfprintf to appease
autoconf. That has been reverted. What was once an error about
requiring inclusion of a header has now been downgraded to a warning,
so the reason for that fix is no longer valid. See PR4290 and r72760.

Diff Detail

Event Timeline

• chatur01 retitled this revision from to PR20958: Allow __builtin_isnan to be declared..
• chatur01 updated this object.
• chatur01 edited the test plan for this revision. (Show Details)
• chatur01 set the repository for this revision to rL LLVM.
• chatur01 updated this object.
• chatur01 added a subscriber: Unknown Object (MLST).
• chatur01 abandoned this revision.May 18 2015, 5:42 AM

I have a different approach to handling this behaviour that I will submit soon.