On Mon, Feb 8, 2016 at 8:15 AM, Jonathan Wakely wrote:
> On 8 February 2016 at 16:05, H.J. Lu wrote:
>> My understanding is
>>
>> A type that is standard-layout means that it orders and packs its
>> members in a way that is compatible with C.
>>
>> What is the corresponding
On Mon, Feb 8, 2016 at 7:02 AM, Jonathan Wakely wrote:
> On 8 February 2016 at 13:54, H.J. Lu wrote:
>> On Sun, Feb 7, 2016 at 12:52 PM, H.J. Lu wrote:
>>
>> The standard-layout POD is well defined:
>>
>>
On Mon, Feb 8, 2016 at 7:59 AM, Jonathan Wakely wrote:
> On 8 February 2016 at 15:42, H.J. Lu wrote:
>> On Mon, Feb 8, 2016 at 7:02 AM, Jonathan Wakely
>> wrote:
>>> On 8 February 2016 at 13:54, H.J. Lu
Empty struct value is passed differently in C and C++ on Intel386 and x86-64.
Different compilers use different calling conventions on the same platform:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60336
The same compiler behaves different on different platforms:
On Sun, Feb 7, 2016 at 11:36 AM, H.J. Lu wrote:
> On Sun, Feb 7, 2016 at 11:31 AM, Florian Weimer wrote:
>> * H. J. Lu:
>>
>>> I am proposing to update Intel386, x86-64 and IA MCU psABIs to specify
>>> how to pass/return empty struct:
>>>
>>> 1.
On Sun, Feb 7, 2016 at 12:08 PM, Florian Weimer wrote:
> * H. J. Lu:
>
>>> Any syntactical array argument (at the C level) is should be passed as
>>> a pointer. The language appears to change that.
>>
>> I didn't use aggregate so that array is excluded here.
>>
>>> For 2.,
On Sun, Feb 7, 2016 at 12:48 PM, Florian Weimer wrote:
> * H. J. Lu:
>
>>> I tested GCC 5.3.1 and Clang 3.5.0.
>>>
>>> GCC Clang
>>> s0 non-emptynon-empty
>>> s1 non-emptyempty
>>> s2 non-emptyempty
>>> s3 emptyempty
>>> s4 empty
On Sun, Feb 7, 2016 at 11:31 AM, Florian Weimer wrote:
> * H. J. Lu:
>
>> I am proposing to update Intel386, x86-64 and IA MCU psABIs to specify
>> how to pass/return empty struct:
>>
>> 1. "collection". A collection is a structure, union or C++ class.
>> 2. "empty
On Mon, Feb 8, 2016 at 3:08 PM, Joseph Myers wrote:
> On Mon, 8 Feb 2016, H.J. Lu wrote:
>
>> >> I was referring to program properties:
>> >>
>> >> https://groups.google.com/forum/#!topic/generic-abi/fyIXttIsYc8
>> >
>> > This looks more like an ELF topic to me, not
On Sun, Feb 7, 2016 at 12:52 PM, H.J. Lu wrote:
> On Sun, Feb 7, 2016 at 12:48 PM, Florian Weimer wrote:
>> * H. J. Lu:
>>
I tested GCC 5.3.1 and Clang 3.5.0.
GCC Clang
s0 non-emptynon-empty
s1 non-empty
On Mon, Feb 8, 2016 at 7:59 AM, Jonathan Wakely wrote:
>>> A type is a standard-layout type, or it isn't.
>>
>> How about "An empty record is standard-layout Plain Old Data (POD)
>> type and ..."?
>
> That's redundant, all POD types are standard-layout types.
>
Apparently,
On Mon, Feb 8, 2016 at 10:30 AM, Jonathan Wakely wrote:
> On 8 February 2016 at 18:26, Jonathan Wakely wrote:
>> On 8 February 2016 at 17:58, H.J. Lu wrote:
>>> On Mon, Feb 8, 2016 at 7:59 AM, Jonathan Wakely
>>> wrote:
On Mon, Feb 8, 2016 at 10:46 AM, Jonathan Wakely wrote:
> On 8 February 2016 at 18:31, H.J. Lu wrote:
>> On Mon, Feb 8, 2016 at 10:30 AM, Jonathan Wakely
>> wrote:
>>> On 8 February 2016 at 18:26, Jonathan Wakely
On Mon, Feb 8, 2016 at 11:33 AM, Jonathan Wakely wrote:
> On 8 February 2016 at 19:23, Richard Smith wrote:
>> "POD for the purpose of layout" is defined in the Itanium C++ ABI here:
>>
>> http://mentorembedded.github.io/cxx-abi/abi.html#definitions
>
> Thanks. So there's
On Mon, Feb 8, 2016 at 12:38 PM, Richard Smith wrote:
> On Mon, Feb 8, 2016 at 12:05 PM, H.J. Lu wrote:
>>
>> On Mon, Feb 8, 2016 at 11:33 AM, Jonathan Wakely
>> wrote:
>> > On 8 February 2016 at 19:23, Richard Smith wrote:
>>
On Mon, Feb 8, 2016 at 11:32 AM, Florian Weimer wrote:
> * H. J. Lu:
>
>> I created a mailing list to discuss Linux specific,.processor independent
>> modification and extension of generic System V Application Binary Interface:
>>
>> https://groups.google.com/d/forum/linux-abi
Hi,
I created a mailing list to discuss Linux specific,.processor independent
modification and extension of generic System V Application Binary Interface:
https://groups.google.com/d/forum/linux-abi
I will start to document existing Linux extensions, like STT_GNU_IFUNC.
I will propose some new
On Mon, Feb 8, 2016 at 11:33 AM, Szabolcs Nagy wrote:
> * H.J. Lu [2016-02-08 11:24:53 -0800]:
>> I created a mailing list to discuss Linux specific,.processor independent
>> modification and extension of generic System V Application Binary Interface:
>>
>>
On Mon, Feb 8, 2016 at 11:44 AM, Florian Weimer wrote:
> * H. J. Lu:
>
>> On Mon, Feb 8, 2016 at 11:32 AM, Florian Weimer wrote:
>>> * H. J. Lu:
>>>
I created a mailing list to discuss Linux specific,.processor independent
modification and
On Tue, Feb 9, 2016 at 6:45 AM, H.J. Lu wrote:
> On Mon, Feb 8, 2016 at 3:28 PM, Richard Smith wrote:
>> On Mon, Feb 8, 2016 at 3:01 PM, H.J. Lu wrote:
>>> On Mon, Feb 8, 2016 at 2:58 PM, Richard Smith
On Thu, Feb 11, 2016 at 2:47 AM, Matthijs van Duin
wrote:
> On 8 February 2016 at 22:40, H.J. Lu wrote:
>> "empty type". An empty type is either an array of empty types or a
>> class type where every member is of empty type.
>
> Note that the term
On Thu, Feb 11, 2016 at 6:30 AM, Michael Matz wrote:
> Hi,
>
> On Thu, 11 Feb 2016, Jonathan Wakely wrote:
>
>> On 11 February 2016 at 12:40, Matthijs van Duin wrote:
>> > You never define "POD for the purposes of layout", and I can only
>> > interpret it as being equivalent to
On Thu, Feb 11, 2016 at 4:40 AM, Matthijs van Duin
wrote:
> On 11 February 2016 at 11:53, H.J. Lu wrote:
>> Since this isn't Plain Old Data (POD) for the purposes of layout, it
>> isn't covered by my proposal for psABI. I leave this to C++ ABI.
>
On Thu, Feb 11, 2016 at 6:18 AM, Matthijs van Duin
wrote:
> On 11 February 2016 at 15:00, H.J. Lu wrote:
>> I intentionally exclude C++ specific features in my propose.
>
> Yet you use a definition from the Itanium C++ ABI which itself depends
> on
On Thu, Feb 11, 2016 at 2:26 AM, Suprateeka R Hegde
wrote:
> H.J,
>
> I think we are fragmenting with too many standards and mailing lists. This
> new discussion group and eventually the resulting standards, all might be
> put under LSB
On Thu, Feb 11, 2016 at 6:54 AM, Michael Matz wrote:
> Hi,
>
> On Thu, 11 Feb 2016, H.J. Lu wrote:
>
>> Any suggestions on new wording, something like
>>
>> 1. "class type". A class type is a structure, union or C++ class.
>> 2. "empty type". An empty type is a type where it and
On Thu, Feb 11, 2016 at 8:05 AM, Suprateeka R Hegde
wrote:
> On 11-Feb-2016 07:21 PM, H.J. Lu wrote:
>>
>> On Thu, Feb 11, 2016 at 2:26 AM, Suprateeka R Hegde
>> wrote:
>>>
>>> H.J,
>>>
>>> I think we are fragmenting with too many standards and
On Mon, Feb 8, 2016 at 2:42 PM, Richard Smith wrote:
> Do we really need an 'empty type' special case?
>
> The x86_64 psABI already seems clear that empty types with size <= 16
> are not passed at all. Following the algorithm in section 3.2.3, each
> eightbyte is classified
On Mon, Feb 8, 2016 at 2:51 PM, Richard Smith wrote:
> On Mon, Feb 8, 2016 at 2:46 PM, H.J. Lu wrote:
>> On Mon, Feb 8, 2016 at 2:35 PM, Richard Smith wrote:
>>> On Mon, Feb 8, 2016 at 1:40 PM, H.J. Lu
On Mon, Feb 8, 2016 at 2:35 PM, Richard Smith wrote:
> On Mon, Feb 8, 2016 at 1:40 PM, H.J. Lu wrote:
>>
>> On Mon, Feb 8, 2016 at 12:38 PM, Richard Smith wrote:
>> > On Mon, Feb 8, 2016 at 12:05 PM, H.J. Lu
On Mon, Feb 8, 2016 at 2:58 PM, Richard Smith wrote:
> On Mon, Feb 8, 2016 at 2:54 PM, H.J. Lu wrote:
>> On Mon, Feb 8, 2016 at 2:51 PM, Richard Smith wrote:
>>> On Mon, Feb 8, 2016 at 2:46 PM, H.J. Lu
On Mon, Feb 8, 2016 at 2:55 PM, Richard Smith wrote:
> On Mon, Feb 8, 2016 at 2:49 PM, H.J. Lu wrote:
>> On Mon, Feb 8, 2016 at 2:42 PM, Richard Smith wrote:
>>> Do we really need an 'empty type' special case?
>>>
>>> The x86_64
hjl.tools added a comment.
I am planning to update i386, x86-64 and IA MCU psABIs to address how to
pass and return C++ empty class after resolving:
https://llvm.org/bugs/show_bug.cgi?id=26337
by updating C++ ABI to explicitly pass and return C++ empty class like C empty
structure.
hjl.tools added a subscriber: hjl.tools.
hjl.tools added a comment.
Why should empty structs and unions) be return in memory? I don't remember
I called for it in MCU psABI.
http://reviews.llvm.org/D16808
___
cfe-commits mailing list
On Tue, Feb 23, 2016 at 8:15 AM, Michael Matz wrote:
> Hi,
>
> On Tue, 23 Feb 2016, H.J. Lu wrote:
>
>> I thought
>>
>> ---
>> An empty type is a type where it and all of its subobjects (recursively)
>> are of class, structure, union, or array type.
>> ---
>>
>> excluded
>>
>>
On Tue, Feb 23, 2016 at 5:14 PM, Richard Smith wrote:
> On Tue, Feb 23, 2016 at 8:28 AM, H.J. Lu wrote:
>> On Tue, Feb 23, 2016 at 8:15 AM, Michael Matz wrote:
>>> Hi,
>>>
>>> On Tue, 23 Feb 2016, H.J. Lu wrote:
>>>
I thought
On Tue, Feb 23, 2016 at 7:30 AM, Michael Matz wrote:
> Hi,
>
> On Tue, 23 Feb 2016, H.J. Lu wrote:
>
>> > ---
>> > An empty type is a type where it and all of its subobjects (recursively)
>> > are of class, structure, union, or array type. No memory slot nor
>> > register should be
On Mon, Feb 22, 2016 at 4:50 AM, Michael Matz wrote:
> Hi,
>
> On Sat, 20 Feb 2016, Richard Smith wrote:
>
>> > An empty type is a type where it and all of its subobjects
>> > (recursively) are of class, structure, union, or array type.
>> >
>> > doesn't cover "trivially-copyable".
hjl.tools created this revision.
hjl.tools added a reviewer: rsmith.
hjl.tools added a subscriber: cfe-commits.
From
https://gcc.gnu.org/ml/gcc-patches/2010-09/msg01807.html
-fsplit-stack should pass --wrap=pthread_create to linker for -fsplit-stack
It is needed to initialize the stack guard.
hjl.tools added a comment.
Can you check it in for me? Thanks.
http://reviews.llvm.org/D16469
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
On Fri, Feb 12, 2016 at 11:39 AM, H.J. Lu wrote:
> On Fri, Feb 12, 2016 at 6:58 AM, Matthijs van Duin
> wrote:
>> On 11 February 2016 at 16:31, H.J. Lu wrote:
>>> struct A {
>>> static void foo (void) ();
>>> static int xxx;
On Tue, Feb 16, 2016 at 12:22 PM, Richard Smith wrote:
> On Tue, Feb 16, 2016 at 10:24 AM, H.J. Lu wrote:
>>
>> On Fri, Feb 12, 2016 at 11:39 AM, H.J. Lu wrote:
>> > On Fri, Feb 12, 2016 at 6:58 AM, Matthijs van Duin
>> >
On Tue, Feb 16, 2016 at 1:02 PM, Richard Smith wrote:
> On Tue, Feb 16, 2016 at 12:25 PM, H.J. Lu wrote:
>> On Tue, Feb 16, 2016 at 12:22 PM, Richard Smith
>> wrote:
>>> On Tue, Feb 16, 2016 at 10:24 AM, H.J. Lu
On Tue, Feb 16, 2016 at 1:15 PM, Richard Smith wrote:
> On Tue, Feb 16, 2016 at 1:10 PM, H.J. Lu wrote:
>> On Tue, Feb 16, 2016 at 1:02 PM, Richard Smith wrote:
>>> On Tue, Feb 16, 2016 at 12:25 PM, H.J. Lu
On Tue, Feb 16, 2016 at 1:45 PM, Richard Smith wrote:
> On Tue, Feb 16, 2016 at 1:21 PM, H.J. Lu wrote:
>> On Tue, Feb 16, 2016 at 1:15 PM, Richard Smith wrote:
>>> On Tue, Feb 16, 2016 at 1:10 PM, H.J. Lu
On Tue, Feb 16, 2016 at 3:36 PM, Richard Smith wrote:
> On Tue, Feb 16, 2016 at 1:48 PM, H.J. Lu wrote:
>> On Tue, Feb 16, 2016 at 1:45 PM, Richard Smith wrote:
>>> On Tue, Feb 16, 2016 at 1:21 PM, H.J. Lu
On Thu, Feb 18, 2016 at 6:35 AM, Michael Matz wrote:
> Hi,
>
> On Tue, 16 Feb 2016, H.J. Lu wrote:
>
>> Here is the new definition:
>>
>> An empty type is a type where it and all of its subobjects (recursively)
>> are of class, structure, union, or array type. No memory slot nor
>>
On Fri, Feb 19, 2016 at 5:35 AM, Michael Matz wrote:
> Hi,
>
> On Thu, 18 Feb 2016, Richard Smith wrote:
>
>> >> An empty type is a type where it and all of its subobjects
>> >> (recursively) are of class, structure, union, or array type. No
>> >> memory slot nor register should be
On Fri, Feb 19, 2016 at 11:03 AM, Matthijs van Duin
wrote:
> On 19 February 2016 at 14:35, Michael Matz wrote:
>> struct S {
>> S() {something();}
>> };
>>
>> would be an empty type, and that's not what we want.
>
> Why not? The default constructor is
On Fri, Feb 19, 2016 at 1:07 PM, Richard Smith wrote:
> On Fri, Feb 19, 2016 at 5:35 AM, Michael Matz wrote:
>> Hi,
>>
>> On Thu, 18 Feb 2016, Richard Smith wrote:
>>
>>> >> An empty type is a type where it and all of its subobjects
>>> >> (recursively) are
On Sat, Feb 20, 2016 at 10:50 AM, Matthijs van Duin
wrote:
> On 20 February 2016 at 18:55, H.J. Lu wrote:
>> struct dummy0
>> {
>> };
>>
>> struct dummy
>> {
>> dummy0 d[20];
>>
>> dummy0 * foo (int i);
>> };
>>
>> dummy0 *
>> dummy::foo (int
On Sat, Feb 20, 2016 at 11:40 AM, Matthijs van Duin
wrote:
> On 20 February 2016 at 20:34, H.J. Lu wrote:
>> Is there a class, which meets the above definition, with a member function
>> which can't be passed without a memory slot or a register?
>
On Sat, Feb 20, 2016 at 9:47 PM, Richard Smith wrote:
> On 20 Feb 2016 6:54 p.m., "H.J. Lu" wrote:
>>
>> On Sat, Feb 20, 2016 at 4:57 PM, Matthijs van Duin
>> wrote:
>> > On 20 February 2016 at 23:35, H.J. Lu
On Sat, Feb 20, 2016 at 10:48 PM, Richard Smith wrote:
> On 20 Feb 2016 10:01 p.m., "H.J. Lu" wrote:
>>
>> On Sat, Feb 20, 2016 at 9:47 PM, Richard Smith
>> wrote:
>> > On 20 Feb 2016 6:54 p.m., "H.J. Lu"
hjl.tools created this revision.
hjl.tools added reviewers: rnk, rafael.
hjl.tools added a subscriber: cfe-commits.
```
typedef unsigned int gcc_word __attribute__((mode(word)));
```
and
```
typedef unsigned int gcc_unwind_word __attribute__((mode(unwind_word)));
```
define the largest unsigned
hjl.tools added a comment.
no_caller_saved_registers attribute can be used with any calling conventions.
https://reviews.llvm.org/D22045
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
hjl.tools added a comment.
In https://reviews.llvm.org/D22045#506996, @joerg wrote:
> For what it is worth, this certainly seems to be misnamed. By nature, if it
> doesn't preserve at least the stack pointer, there is no way to recover on
> return, right?
This is the best name we came up
On Thu, Aug 18, 2016 at 8:43 AM, Cameron Desrochers via cfe-commits
wrote:
> Author: cameron314
> Date: Thu Aug 18 10:43:55 2016
> New Revision: 279076
>
> URL: http://llvm.org/viewvc/llvm-project?rev=279076=rev
> Log:
> [libclang] Add clang_getAllSkippedRanges
58 matches
Mail list logo