- if (class1 == ir_sc_pointer) {
- if (class2 & ir_sc_modifier_nottaken) {
- /* a pointer and an object whose objects was never taken */
- return ir_no_alias;
+ class1 = GET_BASE_SC(mod1);
+ class2 = GET_BASE_SC(mod2);
+
+ if (class1 == ir_sc_pointer || class2 == ir_sc_pointer) {
+ /* swap pointer class to class1 */
+ if (class2 == ir_sc_pointer) {
+ ir_storage_class_class_t temp = mod1;
+ mod1 = mod2;
+ mod2 = temp;
+ class1 = GET_BASE_SC(mod1);
+ class2 = GET_BASE_SC(mod2);