[llvm] r188524 - Fixing a warning about control reaching the end of a non-void function.
Reid Kleckner
rnk at google.com
Fri Aug 16 10:59:38 PDT 2013
I would expect clang to define __GNUC__ when targetting mingw. Also, that
bit of Compiler.h should use __has_attribute(). Not sure how I missed it.
On Fri, Aug 16, 2013 at 10:42 AM, Aaron Ballman <aaron at aaronballman.com>wrote:
> Clang does support __attribute__((noreturn)), so I don't see the harm
> in that. Would you like to make the change?
>
> ~Aaron
>
> On Fri, Aug 16, 2013 at 1:35 PM, Matt Beaumont-Gay <matthewbg at google.com>
> wrote:
> > On Thu, Aug 15, 2013 at 7:50 PM, Aaron Ballman <aaron at aaronballman.com>
> wrote:
> >> On Thu, Aug 15, 2013 at 10:46 PM, Matt Beaumont-Gay
> >> <matthewbg at google.com> wrote:
> >>> On Thu, Aug 15, 2013 at 6:43 PM, Aaron Ballman <aaron at aaronballman.com>
> wrote:
> >>>> Author: aaronballman
> >>>> Date: Thu Aug 15 20:43:31 2013
> >>>> New Revision: 188524
> >>>>
> >>>> URL: http://llvm.org/viewvc/llvm-project?rev=188524&view=rev
> >>>> Log:
> >>>> Fixing a warning about control reaching the end of a non-void
> function.
> >>>>
> >>>> Modified:
> >>>> llvm/trunk/utils/TableGen/CodeGenInstruction.cpp
> >>>>
> >>>> Modified: llvm/trunk/utils/TableGen/CodeGenInstruction.cpp
> >>>> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenInstruction.cpp?rev=188524&r1=188523&r2=188524&view=diff
> >>>>
> ==============================================================================
> >>>> --- llvm/trunk/utils/TableGen/CodeGenInstruction.cpp (original)
> >>>> +++ llvm/trunk/utils/TableGen/CodeGenInstruction.cpp Thu Aug 15
> 20:43:31 2013
> >>>> @@ -192,6 +192,7 @@ CGIOperandList::ParseOperandName(const s
> >>>>
> >>>> // Otherwise, didn't find it!
> >>>> PrintFatalError(TheDef->getName() + ": unknown suboperand name in
> '" + Op + "'");
> >>>> + return std::make_pair(0U, 0U);
> >>>
> >>> PrintFatalError is marked noreturn; what compiler complained about
> this?
> >>
> >> clang-x86_64-darwin11-self-mingw32
> >
> > From Compiler.h:
> >
> > #ifdef __GNUC__
> > #define LLVM_ATTRIBUTE_NORETURN __attribute__((noreturn))
> > #elif defined(_MSC_VER)
> > #define LLVM_ATTRIBUTE_NORETURN __declspec(noreturn)
> > #else
> > #define LLVM_ATTRIBUTE_NORETURN
> > #endif
> >
> > From InitPreprocessor.cpp:
> >
> > if (!LangOpts.MicrosoftMode) {
> > // Currently claim to be compatible with GCC 4.2.1-5621, but only if
> we're
> > // not compiling for MSVC compatibility
> > Builder.defineMacro("__GNUC_MINOR__", "2");
> > Builder.defineMacro("__GNUC_PATCHLEVEL__", "1");
> > Builder.defineMacro("__GNUC__", "4");
> > Builder.defineMacro("__GXX_ABI_VERSION", "1002");
> > }
> >
> > Maybe the first condition for LLVM_ATTRIBUTE_NORETURN should be "#if
> > defined(__GNUC__) || defined(__clang__)"?
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130816/2894b63c/attachment.html>
More information about the llvm-commits
mailing list