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.