1. ICC does not create a new type for type with this attribute. All
types are still the same.
2.
int n __attribute__((aligned(32)));
decltype(&n) - int*.
Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team
26.09.2014 4:28, Hal Finkel пишет:
----- Original Message -----
From: "Richard Smith" <[email protected]>
To: [email protected], "aaron ballman" <[email protected]>,
[email protected], [email protected], "a
bataev" <[email protected]>
Cc: [email protected]
Sent: Thursday, September 25, 2014 7:06:33 PM
Subject: Re: [PATCH] align_value attribute in Clang
I'd like some more information about how ICC treats this attribute.
Does it produce a new type? For instance:
I did a quick experiment with icc (ICC) 14.0.1 20131008 (with -Wall -O3
-pedantic):
typedef int *I32 __attribute__((align_value(32)));
typedef int *I64 __attribute__((align_value(64)));
typedef I32 X; typedef I64 X; // ill-formed?
No diagnostic.
template<typename> struct Y;
typedef Y<I32> Z; typedef Y<I64> Z; // ill-formed?
No diagnostic.
extern I32 i32;
I64 i64 = i32; // ill-formed? Is an explicit cast required?
No diagnostic.
I32 i32 = i64; // ill-formed? Is there an implicit conversion that
discards alignment?
No diagnostic.
Alexey, can you please comment on the specifics?
-Hal
... and if there's an implicit conversion that discards alignment,
what is its conversion rank?
If I have:
int n __attribute__((aligned(32)));
... then what is `decltype(&n)`? Is it `int*`, or `int*
__attribute__((align_value(32)))`?
http://reviews.llvm.org/D4635
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits