On Thu, Mar 13, 2014 at 9:57 AM, Gurucharan Shetty <shet...@nicira.com> wrote:
> On Tue, Mar 11, 2014 at 1:56 PM, Ben Pfaff <b...@nicira.com> wrote:
>> This is broken out into a separate commit because it adds new MSVC
>> specific code and I don't have MSVC around to test whether it's correct.
>>
>> CC: Gurucharan Shetty <gshe...@nicira.com>
>> Signed-off-by: Ben Pfaff <b...@nicira.com>
>
> Looks good to me.
>
> I do not see any users of it though.

I do see the users (Hadn't refreshed by tags). The change looks good to me.
>
> The idea is to do something like this, right?
>
> #define OVS_ALIGNED_STRUCT(N, TAG) __declspec(align(N)) struct TAG
>
> struct test {
>     int a;
>     int b;
>     char c;
> };
> OVS_ALIGNED_STRUCT(64, test);
>
> Thanks,
> Guru
>
>
>> ---
>>  lib/compiler.h |   16 +++++++++++++++-
>>  1 file changed, 15 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/compiler.h b/lib/compiler.h
>> index e867d72..3b59813 100644
>> --- a/lib/compiler.h
>> +++ b/lib/compiler.h
>> @@ -1,5 +1,5 @@
>>  /*
>> - * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
>> + * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
>>   *
>>   * Licensed under the Apache License, Version 2.0 (the "License");
>>   * you may not use this file except in compliance with the License.
>> @@ -179,6 +179,20 @@
>>  #define OVS_PACKED(DECL) __pragma(pack(push, 1)) DECL __pragma(pack(pop))
>>  #endif
>>
>> +/* For defining a structure whose instances should aligned on an N-byte
>> + * boundary.
>> + *
>> + * e.g. The following:
>> + *     OVS_ALIGNED_STRUCT(64, mystruct) { ... };
>> + * is equivalent to the following except that it specifies 64-byte 
>> alignment:
>> + *     struct mystruct { ... };
>> + */
>> +#ifndef _MSC_VER
>> +#define OVS_ALIGNED_STRUCT(N, TAG) struct __attribute__((aligned(N))) TAG
>> +#else
>> +#define OVS_ALIGNED_STRUCT(N, TAG) __declspec(align(N)) struct TAG
>> +#endif
>> +
>>  #ifdef _MSC_VER
>>  #define CCALL __cdecl
>>  #pragma section(".CRT$XCU",read)
>> --
>> 1.7.10.4
>>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to